Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Updated EOF while reading from the BIO to map to soft EOF |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
24ce678ecdb2307bda85c7aba9a9fe2d |
| User & Date: | rkeene 2016-12-14 14:40:45 |
Context
|
2016-12-14
| ||
| 14:45 | Made trunk builds identify as TclTLS 1.8.0 check-in: f625a3272a user: rkeene tags: trunk | |
| 14:42 | Merged in trunk check-in: a87c836d6c user: rkeene tags: tls-1-7 | |
| 14:40 | Updated EOF while reading from the BIO to map to soft EOF check-in: 24ce678ecd user: rkeene tags: trunk | |
| 01:10 | Minor update to the README check-in: c920627e0b user: rkeene tags: trunk | |
Changes
Changes to tlsBIO.c.
| ︙ | ︙ | |||
125 126 127 128 129 130 131 |
tclErrno = Tcl_GetErrno();
dprintf("[chan=%p] BioWrite(%d) -> %d [tclEof=%d; tclErrno=%d]", (void *) chan, bufLen, ret, tclEofChan, Tcl_GetErrno());
BIO_clear_flags(bio, BIO_FLAGS_WRITE | BIO_FLAGS_SHOULD_RETRY);
if (tclEofChan && ret <= 0) {
| | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
tclErrno = Tcl_GetErrno();
dprintf("[chan=%p] BioWrite(%d) -> %d [tclEof=%d; tclErrno=%d]", (void *) chan, bufLen, ret, tclEofChan, Tcl_GetErrno());
BIO_clear_flags(bio, BIO_FLAGS_WRITE | BIO_FLAGS_SHOULD_RETRY);
if (tclEofChan && ret <= 0) {
dprintf("Got EOF while reading, returning a Connection Reset error which maps to Soft EOF");
Tcl_SetErrno(ECONNRESET);
ret = 0;
} else if (ret == 0) {
dprintf("Got 0 from Tcl_WriteRaw, and EOF is not set; ret = 0");
dprintf("Setting retry read flag");
BIO_set_retry_read(bio);
} else if (ret < 0) {
dprintf("We got some kind of I/O error");
|
| ︙ | ︙ | |||
178 179 180 181 182 183 184 |
tclErrno = Tcl_GetErrno();
dprintf("[chan=%p] BioRead(%d) -> %d [tclEof=%d; tclErrno=%d]", (void *) chan, bufLen, ret, tclEofChan, tclErrno);
BIO_clear_flags(bio, BIO_FLAGS_READ | BIO_FLAGS_SHOULD_RETRY);
if (tclEofChan && ret <= 0) {
| | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
tclErrno = Tcl_GetErrno();
dprintf("[chan=%p] BioRead(%d) -> %d [tclEof=%d; tclErrno=%d]", (void *) chan, bufLen, ret, tclEofChan, tclErrno);
BIO_clear_flags(bio, BIO_FLAGS_READ | BIO_FLAGS_SHOULD_RETRY);
if (tclEofChan && ret <= 0) {
dprintf("Got EOF while reading, returning a Connection Reset error which maps to Soft EOF");
Tcl_SetErrno(ECONNRESET);
ret = 0;
} else if (ret == 0) {
dprintf("Got 0 from Tcl_Read or Tcl_ReadRaw, and EOF is not set; ret = 0");
dprintf("Setting retry read flag");
BIO_set_retry_read(bio);
} else if (ret < 0) {
dprintf("We got some kind of I/O error");
|
| ︙ | ︙ |