Overview
Comment: | * tlsBIO.c: * tlsIO.c: corrected pedantic cast errors. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5bc402b4bf6d02a7a982121a00bef6a4 |
User & Date: | hobbs on 2000-08-18 19:17:36 |
Other Links: | manifest | tags |
Context
2000-08-18
| ||
19:17 | * configure.in (OPENSSL): added NO_IDEA and NO_RC5 defines by default when compiling with OpenSSL. check-in: a0a17d252a user: hobbs tags: trunk | |
19:17 | * tlsBIO.c: * tlsIO.c: corrected pedantic cast errors. check-in: 5bc402b4bf user: hobbs tags: trunk | |
19:17 | * tlsInt.h: added err.h include check-in: 32a23903b7 user: hobbs tags: trunk | |
Changes
Modified tlsBIO.c from [c6f920b02f] to [61828ed639].
1 2 3 | /* * Copyright (C) 1997-2000 Matt Newman <[email protected]> * | | | 1 2 3 4 5 6 7 8 9 10 11 | /* * Copyright (C) 1997-2000 Matt Newman <[email protected]> * * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tlsBIO.c,v 1.5 2000/08/18 19:17:36 hobbs Exp $ * * Provides BIO layer to interface openssl to Tcl. */ #include "tlsInt.h" /* |
︙ | ︙ | |||
57 58 59 60 61 62 63 | BIO *bio; char *buf; int bufLen; { Tcl_Channel chan = Tls_GetParent((State*)(bio->ptr)); int ret; | | > | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | BIO *bio; char *buf; int bufLen; { Tcl_Channel chan = Tls_GetParent((State*)(bio->ptr)); int ret; dprintf(stderr,"\nBioWrite(0x%x, <buf>, %d) [0x%x]", (unsigned int) bio, bufLen, (unsigned int) chan); if (channelTypeVersion == TLS_CHANNEL_VERSION_2) { ret = Tcl_WriteRaw(chan, buf, bufLen); } else { ret = Tcl_Write(chan, buf, bufLen); } dprintf(stderr,"\n[0x%x] BioWrite(%d) -> %d [%d.%d]", (unsigned int) chan, bufLen, ret, Tcl_Eof(chan), Tcl_GetErrno()); BIO_clear_flags(bio, BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY); if (ret == 0) { if (!Tcl_Eof(chan)) { BIO_set_retry_write(bio); ret = -1; |
︙ | ︙ | |||
91 92 93 94 95 96 97 | BIO *bio; char *buf; int bufLen; { Tcl_Channel chan = Tls_GetParent((State*)bio->ptr); int ret = 0; | | > | | | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | BIO *bio; char *buf; int bufLen; { Tcl_Channel chan = Tls_GetParent((State*)bio->ptr); int ret = 0; dprintf(stderr,"\nBioRead(0x%x, <buf>, %d) [0x%x]", (unsigned int) bio, bufLen, (unsigned int) chan); if (buf == NULL) return 0; if (channelTypeVersion == TLS_CHANNEL_VERSION_2) { ret = Tcl_ReadRaw(chan, buf, bufLen); } else { ret = Tcl_Read(chan, buf, bufLen); } dprintf(stderr,"\n[0x%x] BioRead(%d) -> %d [%d.%d]", (unsigned int) chan, bufLen, ret, Tcl_Eof(chan), Tcl_GetErrno()); BIO_clear_flags(bio, BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY); if (ret == 0) { if (!Tcl_Eof(chan)) { BIO_set_retry_read(bio); ret = -1; |
︙ | ︙ | |||
137 138 139 140 141 142 143 | long num; char *ptr; { Tcl_Channel chan = Tls_GetParent((State*)bio->ptr); long ret = 1; int *ip; | | > > | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | long num; char *ptr; { Tcl_Channel chan = Tls_GetParent((State*)bio->ptr); long ret = 1; int *ip; dprintf(stderr,"\nBioCtrl(0x%x, 0x%x, 0x%x, 0x%x)", (unsigned int) bio, (unsigned int) cmd, (unsigned int) num, (unsigned int) ptr); switch (cmd) { case BIO_CTRL_RESET: num = 0; case BIO_C_FILE_SEEK: case BIO_C_FILE_TELL: ret = 0; |
︙ | ︙ | |||
179 180 181 182 183 184 185 | break; case BIO_CTRL_EOF: dprintf(stderr, "BIO_CTRL_EOF\n"); ret = Tcl_Eof(chan); break; case BIO_CTRL_PENDING: ret = (Tcl_InputBuffered(chan) ? 1 : 0); | | | 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | break; case BIO_CTRL_EOF: dprintf(stderr, "BIO_CTRL_EOF\n"); ret = Tcl_Eof(chan); break; case BIO_CTRL_PENDING: ret = (Tcl_InputBuffered(chan) ? 1 : 0); dprintf(stderr, "BIO_CTRL_PENDING(%d)\n", (int) ret); break; case BIO_CTRL_WPENDING: ret = 0; break; case BIO_CTRL_DUP: break; case BIO_CTRL_FLUSH: |
︙ | ︙ |
Modified tlsIO.c from [76eadcab80] to [dc69f109fa].
1 2 3 4 | /* * Copyright (C) 1997-2000 Matt Newman <[email protected]> * Copyright (C) 2000 Ajuba Solutions * | | | 1 2 3 4 5 6 7 8 9 10 11 12 | /* * Copyright (C) 1997-2000 Matt Newman <[email protected]> * Copyright (C) 2000 Ajuba Solutions * * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tlsIO.c,v 1.11 2000/08/18 19:17:36 hobbs Exp $ * * TLS (aka SSL) Channel - can be layered on any bi-directional * Tcl_Channel (Note: Requires Trf Core Patch) * * This was built from scratch based upon observation of OpenSSL 0.9.2B * * Addition credit is due for Andreas Kupries ([email protected]), for |
︙ | ︙ | |||
281 282 283 284 285 286 287 | */ static int TlsCloseProc(ClientData instanceData, /* The socket to close. */ Tcl_Interp *interp) /* For error reporting - unused. */ { State *statePtr = (State *) instanceData; | | | 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 | */ static int TlsCloseProc(ClientData instanceData, /* The socket to close. */ Tcl_Interp *interp) /* For error reporting - unused. */ { State *statePtr = (State *) instanceData; dprintf(stderr,"\nTlsCloseProc(0x%x)", (unsigned int) statePtr); if (channelTypeVersion == TLS_CHANNEL_VERSION_1) { /* * Remove event handler to underlying channel, this could * be because we are closing for real, or being "unstacked". */ |
︙ | ︙ | |||
407 408 409 410 411 412 413 | int *errorCodePtr) /* Where to store error code. */ { State *statePtr = (State *) instanceData; int written, err; *errorCodePtr = 0; | | | 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 | int *errorCodePtr) /* Where to store error code. */ { State *statePtr = (State *) instanceData; int written, err; *errorCodePtr = 0; dprintf(stderr,"\nBIO_write(0x%x, %d)", (unsigned int) statePtr, toWrite); if (!SSL_is_init_finished(statePtr->ssl)) { written = Tls_WaitForConnect(statePtr, errorCodePtr); if (written <= 0) { goto output; } } |
︙ | ︙ | |||
438 439 440 441 442 443 444 | * BIO_write specially (as advised in the RSA docs). TLS's lower level * BIO functions play with the retry flags though, and this seems to * work correctly. Similar fix in TlsInputProc. - hobbs */ ERR_clear_error(); written = BIO_write(statePtr->bio, buf, toWrite); dprintf(stderr,"\nBIO_write(0x%x, %d) -> [%d]", | | | 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 | * BIO_write specially (as advised in the RSA docs). TLS's lower level * BIO functions play with the retry flags though, and this seems to * work correctly. Similar fix in TlsInputProc. - hobbs */ ERR_clear_error(); written = BIO_write(statePtr->bio, buf, toWrite); dprintf(stderr,"\nBIO_write(0x%x, %d) -> [%d]", (unsigned int) statePtr, toWrite, written); } if (written <= 0) { switch ((err = SSL_get_error(statePtr->ssl, written))) { case SSL_ERROR_NONE: if (written < 0) { written = 0; } |
︙ | ︙ | |||
845 846 847 848 849 850 851 | int Tls_WaitForConnect( statePtr, errorCodePtr) State *statePtr; int *errorCodePtr; /* Where to store error code. */ { int err; | | | 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 | int Tls_WaitForConnect( statePtr, errorCodePtr) State *statePtr; int *errorCodePtr; /* Where to store error code. */ { int err; dprintf(stderr,"\nWaitForConnect(0x%x)", (unsigned int) statePtr); for (;;) { /* Not initialized yet! */ if (statePtr->flags & TLS_TCL_SERVER) { err = SSL_accept(statePtr->ssl); } else { err = SSL_connect(statePtr->ssl); |
︙ | ︙ |