Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Merge tls-1.7 |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | nijtmans |
| Files: | files | file ages | folders |
| SHA3-256: |
8e0be2f6e9033d83549e53f6ddedac7a |
| User & Date: | jan.nijtmans 2024-02-19 20:16:57.656 |
Context
|
2024-02-19
| ||
| 21:55 | Less compiler warnings check-in: 0cfe6dfb3c user: jan.nijtmans tags: nijtmans | |
| 20:16 | Merge tls-1.7 check-in: 8e0be2f6e9 user: jan.nijtmans tags: nijtmans | |
| 19:23 | No need to allocate a Tcl_ChannelType Leaf check-in: 7af51313f8 user: jan.nijtmans tags: tls-1.7 | |
|
2024-02-16
| ||
| 13:54 | Merge 1.7 check-in: b8b1970122 user: jan.nijtmans tags: nijtmans | |
Changes
Changes to tests/oldTests/tlsHttp.tcl.
| ︙ | ︙ | |||
8 9 10 11 12 13 14 | source tls.tcl package require http # # Initialize context # #tls::init -certfile client.pem -cafile server.pem -ssl2 1 -ssl3 1 -tls1 0 ;#-cipher RC4-MD5 | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | source tls.tcl package require http # # Initialize context # #tls::init -certfile client.pem -cafile server.pem -ssl2 1 -ssl3 1 -tls1 0 ;#-cipher RC4-MD5 tls::init -cafile server.pem # # Register with http module # http::register https 443 [list ::tls::socket -require 1] set user novadigm\\matt set pass sensus |
| ︙ | ︙ |
Changes to tls.c.
| ︙ | ︙ | |||
919 920 921 922 923 924 925 |
Tcl_GetChannelOption(interp, chan, "-eofchar", &upperChannelEOFChar);
Tcl_GetChannelOption(interp, chan, "-encoding", &upperChannelEncoding);
Tcl_GetChannelOption(interp, chan, "-translation", &upperChannelTranslation);
Tcl_GetChannelOption(interp, chan, "-blocking", &upperChannelBlocking);
Tcl_SetChannelOption(interp, chan, "-translation", "binary");
Tcl_SetChannelOption(interp, chan, "-blocking", "true");
dprintf("Consuming Tcl channel %s", Tcl_GetChannelName(chan));
| | | 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 |
Tcl_GetChannelOption(interp, chan, "-eofchar", &upperChannelEOFChar);
Tcl_GetChannelOption(interp, chan, "-encoding", &upperChannelEncoding);
Tcl_GetChannelOption(interp, chan, "-translation", &upperChannelTranslation);
Tcl_GetChannelOption(interp, chan, "-blocking", &upperChannelBlocking);
Tcl_SetChannelOption(interp, chan, "-translation", "binary");
Tcl_SetChannelOption(interp, chan, "-blocking", "true");
dprintf("Consuming Tcl channel %s", Tcl_GetChannelName(chan));
statePtr->self = Tcl_StackChannel(interp, Tls_ChannelType(), statePtr, (TCL_READABLE | TCL_WRITABLE), chan);
dprintf("Created channel named %s", Tcl_GetChannelName(statePtr->self));
if (statePtr->self == (Tcl_Channel) NULL) {
/*
* No use of Tcl_EventuallyFree because no possible Tcl_Preserve.
*/
Tls_Free((char *) statePtr);
return TCL_ERROR;
|
| ︙ | ︙ |
Changes to tlsIO.c.
| ︙ | ︙ | |||
26 27 28 29 30 31 32 | static int TlsCloseProc (ClientData instanceData, Tcl_Interp *interp); static int TlsInputProc (ClientData instanceData, char *buf, int bufSize, int *errorCodePtr); static int TlsOutputProc (ClientData instanceData, const char *buf, int toWrite, int *errorCodePtr); static int TlsGetOptionProc (ClientData instanceData, Tcl_Interp *interp, const char *optionName, Tcl_DString *dsPtr); static void TlsWatchProc (ClientData instanceData, int mask); static int TlsGetHandleProc (ClientData instanceData, int direction, ClientData *handlePtr); static int TlsNotifyProc (ClientData instanceData, int mask); | < < < | > > > > > > > > > > > > > > > > | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
static int TlsCloseProc (ClientData instanceData, Tcl_Interp *interp);
static int TlsInputProc (ClientData instanceData, char *buf, int bufSize, int *errorCodePtr);
static int TlsOutputProc (ClientData instanceData, const char *buf, int toWrite, int *errorCodePtr);
static int TlsGetOptionProc (ClientData instanceData, Tcl_Interp *interp, const char *optionName, Tcl_DString *dsPtr);
static void TlsWatchProc (ClientData instanceData, int mask);
static int TlsGetHandleProc (ClientData instanceData, int direction, ClientData *handlePtr);
static int TlsNotifyProc (ClientData instanceData, int mask);
static void TlsChannelHandlerTimer (ClientData clientData);
/*
* TLS Channel Type
*/
static const Tcl_ChannelType tlsChannelType = {
"tls", /* typeName */
TCL_CHANNEL_VERSION_5, /* version */
TlsCloseProc, /* closeProc */
TlsInputProc, /* inputProc */
TlsOutputProc, /* outputProc */
0, /* seekProc */
0, /* setOptionProc */
TlsGetOptionProc, /* getOptionProc */
TlsWatchProc, /* watchProc */
TlsGetHandleProc, /* getHandleProc */
NULL, /* close2Proc */
TlsBlockModeProc, /* blockModeProc */
0, /* flushProc */
TlsNotifyProc /* handlerProc */
};
/*
*-------------------------------------------------------------------
*
* Tls_ChannelType --
*
* Return the correct TLS channel driver info
*
* Results:
* The correct channel driver for the current version of Tcl.
*
* Side effects:
* None.
*
*-------------------------------------------------------------------
*/
const Tcl_ChannelType *Tls_ChannelType(void) {
return &tlsChannelType;
}
/*
*-------------------------------------------------------------------
*
* TlsBlockModeProc --
*
|
| ︙ | ︙ |
Changes to tlsInt.h.
| ︙ | ︙ | |||
155 156 157 158 159 160 161 | #error "Unable to compile on this version of Tcl" #endif /* Tcl_GetStackedChannel */ #endif /* USE_TCL_STUBS */ /* * Forward declarations */ | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | #error "Unable to compile on this version of Tcl" #endif /* Tcl_GetStackedChannel */ #endif /* USE_TCL_STUBS */ /* * Forward declarations */ const Tcl_ChannelType *Tls_ChannelType(void); Tcl_Channel Tls_GetParent(State *statePtr, int maskFlags); Tcl_Obj *Tls_NewX509Obj(Tcl_Interp *interp, X509 *cert); void Tls_Error(State *statePtr, char *msg); void Tls_Free(char *blockPtr); void Tls_Clean(State *statePtr); int Tls_WaitForConnect(State *statePtr, int *errorCodePtr, int handshakeFailureIsPermanent); |
| ︙ | ︙ |