Check-in [509dd7a9b6]
Bounty program for improvements to Tcl and certain Tcl packages.
Overview
Comment:Added password callback support and version command. Fixed memory leak.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 509dd7a9b6a16556114c4f770836ba50789ef14c
User & Date: razzell on 2003-05-15 21:02:10
Other Links: manifest | tags
Context
2003-05-16
17:33
Add missing config directory. check-in: 300cfce31a user: razzell tags: trunk
2003-05-15
21:02
Added password callback support and version command. Fixed memory leak. check-in: 509dd7a9b6 user: razzell tags: trunk
20:44
*** empty log message *** check-in: 3631274d64 user: razzell tags: trunk
Changes

Modified ChangeLog from [cccb98d8c7] to [6a52a80fcb].

     1         -2003-05-15  Dan Razzell	<[email protected]>
            1  +2003-05-15  Dan Razzell	<[email protected]> 
     2      2   
     3      3   	* tls.tcl:
     4      4   	* tlsInt.h:
     5      5   	* tls.c: add support for binding a password callback to the socket.
     6      6   	Now each socket can have its own command and password callbacks instead
     7      7   	of being forced to have all password management pass through a common
     8      8   	procedure.  The common password procedure is retained for compatibility

Modified README.txt from [5ce6323187] to [70db8f4bf4].

     1      1   Copyright (C) 1997-2000 Matt Newman <[email protected]>
     2      2   TLS 1.4.1 Copyright (C) 2000 Ajuba Solutions
     3      3   
     4         -$Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/README.txt,v 1.4 2003/05/15 20:44:46 razzell Exp $
            4  +$Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/README.txt,v 1.5 2003/05/15 21:02:10 razzell Exp $
     5      5   
     6      6   TLS (aka SSL) Channel - can be layered on any bi-directional Tcl_Channel.
     7      7   
     8      8   Both client and server-side sockets are possible, and this code should work
     9      9   on any platform as it uses a generic mechanism for layering on SSL and Tcl.
    10     10   
    11     11   The TLS 1.4 release requires Tcl 8.2.0+, with 8.3.2+ preferred.  The
................................................................................
    41     41   me that people need to be able to switch-to-encrypted mode part way
    42     42   through a conversation.
    43     43   
    44     44   Also I would like to acknowledge the kind support of Novadigm Inc, my
    45     45   current employer, which made this possible.
    46     46   
    47     47   
    48         -Matt Newman
           48  +Matt Newman 

Modified tls.c from [32f77b5e42] to [85e46e8624].

     1      1   /*
     2      2    * Copyright (C) 1997-1999 Matt Newman <[email protected]>
     3      3    * some modifications:
     4      4    *	Copyright (C) 2000 Ajuba Solutions
     5      5    *	Copyright (C) 2002 ActiveState Corporation
     6         - *	Copyright (C) 2003 Starfish Systems
            6  + *	Copyright (C) 2003 Starfish Systems 
     7      7    *
     8         - * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tls.c,v 1.15 2003/05/15 20:44:46 razzell Exp $
            8  + * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tls.c,v 1.16 2003/05/15 21:02:10 razzell Exp $
     9      9    *
    10     10    * TLS (aka SSL) Channel - can be layered on any bi-directional
    11     11    * Tcl_Channel (Note: Requires Trf Core Patch)
    12     12    *
    13     13    * This was built (almost) from scratch based upon observation of
    14     14    * OpenSSL 0.9.2B
    15     15    *

Modified tls.htm from [a3ee30595b] to [98ee02664f].

     1         -<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
            1  +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"> 
     2      2   
     3      3   <html>
     4      4   
     5      5   <head>
     6      6   <meta http-equiv="Content-Type"
     7      7   content="text/html; charset=iso-8859-1">
     8      8   <meta name="Author"

Modified tls.tcl from [3de2fbdab5] to [029ba515f3].

     1      1   #
     2         -# Copyright (C) 1997-2000 Matt Newman <[email protected]>
            2  +# Copyright (C) 1997-2000 Matt Newman <[email protected]> 
     3      3   #
     4         -# $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tls.tcl,v 1.4 2003/05/15 20:44:46 razzell Exp $
            4  +# $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tls.tcl,v 1.5 2003/05/15 21:02:10 razzell Exp $
     5      5   #
     6      6   namespace eval tls {
     7      7       variable logcmd tclLog
     8      8       variable debug 0
     9      9    
    10     10       # Default flags passed to tls::import
    11     11       variable defaults {}

Modified tlsInt.h from [3f35632d0e] to [fbfc578a79].

     1      1   /*
     2      2    * Copyright (C) 1997-2000 Matt Newman <[email protected]>
     3      3    *
     4         - * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tlsInt.h,v 1.9 2003/05/15 20:44:46 razzell Exp $
            4  + * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tlsInt.h,v 1.10 2003/05/15 21:02:10 razzell Exp $
     5      5    *
     6      6    * TLS (aka SSL) Channel - can be layered on any bi-directional
     7      7    * Tcl_Channel (Note: Requires Trf Core Patch)
     8      8    *
     9      9    * This was built from scratch based upon observation of OpenSSL 0.9.2B
    10     10    *
    11     11    * Addition credit is due for Andreas Kupries ([email protected]), for
................................................................................
    91     91   
    92     92       int flags;		/* currently only CHANNEL_ASYNC */
    93     93       int watchMask;	/* current WatchProc mask */
    94     94       int mode;		/* current mode of parent channel */
    95     95   
    96     96       Tcl_Interp *interp;	/* interpreter in which this resides */
    97     97       Tcl_Obj *callback;	/* script called for tracing, verifying and errors */
    98         -    Tcl_Obj *password;	/* script called for certificate password */
           98  +    Tcl_Obj *password;	/* script called for certificate password */ 
    99     99   
   100    100       int vflags;		/* verify flags */
   101    101       SSL *ssl;		/* Struct for SSL processing */
   102    102       SSL_CTX *ctx;	/* SSL Context */
   103    103       BIO *bio;		/* Struct for SSL processing */
   104    104       BIO *p_bio;		/* Parent BIO (that is layered on Tcl_Channel) */
   105    105