Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Cleaned up more things |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | wip-fix-io-layer |
| Files: | files | file ages | folders |
| SHA1: |
4579316443ead0f83eb3d01a2924e318 |
| User & Date: | rkeene 2016-12-13 03:35:25 |
Context
|
2016-12-13
| ||
| 03:40 | Fixed uninitialized use of variable check-in: 942e844672 user: rkeene tags: wip-fix-io-layer | |
| 03:35 | Cleaned up more things check-in: 4579316443 user: rkeene tags: wip-fix-io-layer | |
| 03:27 | Silence warnings about ignoring this return value by explicitly ignoring it check-in: 41f972bfbf user: rkeene tags: wip-fix-io-layer | |
Changes
Changes to tlsIO.c.
| ︙ | ︙ | |||
156 157 158 159 160 161 162 | * 0 if successful, the value of Tcl_GetErrno() if failed. * * Side effects: * Closes the socket of the channel. * *------------------------------------------------------------------- */ | < | < < | | | | | | > > > | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
* 0 if successful, the value of Tcl_GetErrno() if failed.
*
* Side effects:
* Closes the socket of the channel.
*
*-------------------------------------------------------------------
*/
static int TlsCloseProc(ClientData instanceData, Tcl_Interp *interp) {
State *statePtr = (State *) instanceData;
dprintf("TlsCloseProc(%p)", (void *) statePtr);
Tls_Clean(statePtr);
Tcl_EventuallyFree((ClientData)statePtr, Tls_Free);
dprintf("Returning TCL_OK");
return(TCL_OK);
/* Interp is unused. */
interp = interp;
}
/*
*-------------------------------------------------------------------
*
* TlsInputProc --
*
|
| ︙ | ︙ | |||
263 264 265 266 267 268 269 |
break;
case SSL_ERROR_SYSCALL:
dprintf("I/O error reading, treating it as EOF");
*errorCodePtr = 0;
bytesRead = 0;
break;
}
| | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 |
break;
case SSL_ERROR_SYSCALL:
dprintf("I/O error reading, treating it as EOF");
*errorCodePtr = 0;
bytesRead = 0;
break;
}
dprintf("Input(%d) -> %d [%d]", bufSize, bytesRead, *errorCodePtr);
return bytesRead;
}
/*
*-------------------------------------------------------------------
*
|
| ︙ | ︙ | |||
312 313 314 315 316 317 318 |
dprintf("Tls_WaitForConnect returned %i (err = %i)", written, *errorCodePtr);
return(-1);
}
if (toWrite == 0) {
dprintf("zero-write");
| | > > > > > > > > > | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 |
dprintf("Tls_WaitForConnect returned %i (err = %i)", written, *errorCodePtr);
return(-1);
}
if (toWrite == 0) {
dprintf("zero-write");
err = BIO_flush(statePtr->bio);
if (err <= 0) {
dprintf("Flushing failed");
*errorCodePtr = EIO;
written = 0;
return(-1);
}
written = 0;
*errorCodePtr = 0;
return(0);
}
/*
* We need to clear the SSL error stack now because we sometimes reach
|
| ︙ | ︙ | |||
367 368 369 370 371 372 373 |
*errorCodePtr = ECONNABORTED;
written = -1;
break;
default:
dprintf(" unknown err: %d", err);
break;
}
| | | 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 |
*errorCodePtr = ECONNABORTED;
written = -1;
break;
default:
dprintf(" unknown err: %d", err);
break;
}
dprintf("Output(%d) -> %d", toWrite, written);
return(written);
}
/*
*-------------------------------------------------------------------
*
|
| ︙ | ︙ | |||
773 774 775 776 777 778 779 |
err = SSL_connect(statePtr->ssl);
}
if (err > 0) {
dprintf("That seems to have gone okay");
| | > > > > | 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 |
err = SSL_connect(statePtr->ssl);
}
if (err > 0) {
dprintf("That seems to have gone okay");
err = BIO_flush(statePtr->bio);
if (err <= 0) {
dprintf("Flushing the lower layers failed, this will probably terminate this session");
}
}
rc = SSL_get_error(statePtr->ssl, err);
dprintf("Got error: %i (rc = %i)", err, rc);
bioShouldRetry = 0;
|
| ︙ | ︙ |