@@ -3,11 +3,11 @@ * some modifications: * Copyright (C) 2000 Ajuba Solutions * Copyright (C) 2002 ActiveState Corporation * Copyright (C) 2004 Starfish Systems * - * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tls.c,v 1.23 2004/06/29 11:07:08 patthoyts Exp $ + * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tls.c,v 1.24 2004/12/17 16:01:44 patthoyts Exp $ * * TLS (aka SSL) Channel - can be layered on any bi-directional * Tcl_Channel (Note: Requires Trf Core Patch) * * This was built (almost) from scratch based upon observation of @@ -37,10 +37,12 @@ #define F2N( key, dsp) \ (((key) == NULL) ? (char *) NULL : \ Tcl_TranslateFileName(interp, (key), (dsp))) #define REASON() ERR_reason_error_string(ERR_get_error()) + +static void InfoCallback _ANSI_ARGS_ ((CONST SSL *ssl, int where, int ret)); static int CiphersObjCmd _ANSI_ARGS_ ((ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); static int HandshakeObjCmd _ANSI_ARGS_ ((ClientData clientData, @@ -114,11 +116,11 @@ #ifdef BSAFE #define PRE_OPENSSL_0_9_4 1 #endif /* - * Per OpenSSL 0.9.4 Compat + * Pre OpenSSL 0.9.4 Compat */ #ifndef STACK_OF #define STACK_OF(x) STACK #define sk_SSL_CIPHER_num(sk) sk_num((sk)) @@ -139,13 +141,13 @@ * Side effects: * Calls callback (if defined) *------------------------------------------------------------------- */ static void -InfoCallback(SSL *ssl, int where, int ret) +InfoCallback(CONST SSL *ssl, int where, int ret) { - State *statePtr = (State*)SSL_get_app_data(ssl); + State *statePtr = (State*)SSL_get_app_data((SSL *)ssl); Tcl_Obj *cmdPtr; char *major; char *minor; if (statePtr->callback == (Tcl_Obj*)NULL) return; @@ -734,11 +736,11 @@ if (ciphers && !*ciphers) ciphers = NULL; if (CAfile && !*CAfile) CAfile = NULL; if (CAdir && !*CAdir) CAdir = NULL; /* new SSL state */ - statePtr = (State *) Tcl_Alloc((unsigned) sizeof(State)); + statePtr = (State *) ckalloc((unsigned) sizeof(State)); statePtr->self = (Tcl_Channel)NULL; statePtr->timer = (Tcl_TimerToken)NULL; statePtr->flags = flags; statePtr->watchMask = 0; @@ -851,11 +853,11 @@ SSL_set_app_data(statePtr->ssl, (VOID *)statePtr); /* point back to us */ SSL_set_verify(statePtr->ssl, verify, VerifyCallback); - SSL_CTX_set_info_callback(statePtr->ctx, (void (*)())InfoCallback); + SSL_CTX_set_info_callback(statePtr->ctx, InfoCallback); /* Create Tcl_Channel BIO Handler */ statePtr->p_bio = BIO_new_tcl(statePtr, BIO_CLOSE); statePtr->bio = BIO_new(BIO_f_ssl()); @@ -1330,11 +1332,11 @@ Tls_Free( char *blockPtr ) { State *statePtr = (State *)blockPtr; Tls_Clean(statePtr); - Tcl_Free(blockPtr); + ckfree(blockPtr); } /* *------------------------------------------------------------------- *