Changes In Branch tls-1-7 Through [4a2c0df32c] Excluding Merge-Ins
This is equivalent to a diff from 6aedc8c1b5 to 4a2c0df32c
2016-12-08
| ||
04:26 | Merged in work for TclTLS 1.7 to trunk check-in: 0409513536 user: rkeene tags: trunk | |
2016-11-24
| ||
04:45 | Fixed rule for building C-ified Tcl script check-in: ff3a5954e8 user: rkeene tags: tls-1-7 | |
04:44 | Added comments to Makefile check-in: 4a2c0df32c user: rkeene tags: tls-1-7 | |
04:38 | Updated to support a static and shared build check-in: e58c3fc866 user: rkeene tags: tls-1-7 | |
2016-11-22
| ||
22:07 | Create new branch named "tcltls-2" check-in: ae164b967d user: rkeene tags: tls-1-7 | |
21:43 | Merged in several outstanding patches check-in: 6aedc8c1b5 user: rkeene tags: trunk | |
21:36 | Applied patch Closed-Leaf check-in: 4ec3fe7449 user: rkeene tags: rkeene-eoffix | |
17:58 | Applied patch Closed-Leaf check-in: db95f55e95 user: rkeene tags: rkeene-unthreaded | |
17:58 | Applied patch Closed-Leaf check-in: a141858eec user: rkeene tags: rkeene-fixcrosscompile | |
17:58 | Applied patch Closed-Leaf check-in: 0c7fd93cac user: rkeene tags: rkeene-peercertificate | |
2015-07-07
| ||
17:16 | Updated with dhparam.2.patch for tls ticket #59. check-in: 2aadaa4c28 user: andreas_kupries tags: trunk | |
Added .fossil-settings/ignore-glob version [d00754fbc4].
Added HEADER version [786e922403].
Modified Makefile.in
from [de778baab4]
to [d487d4dbb0].
|
| < < < < < < < < < < < < < < < | | < < < < | < < < | < < < < | < | < < < | < | < < < | < < < < < | < < < < < < | < < < | < < < | < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < | < < < < < < < < | < | < < < | < | < < < < < | < < < | < < < < < < > < < | < < < < < < | < | < | < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < | < < < < < < < < < | < < < < < < < < < < < < < < < < < < | < < < < < < | < < < < < < < | < < < < < < < < < < < < < < < | < < < | < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < | < < | < | < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < | < | < < < | | < | < < < | < < < < < | < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 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 | CC = @CC@ AR = @AR@ CFLAGS = @CFLAGS@ @SHOBJFLAGS@ CPPFLAGS = @CPPFLAGS@ -I@srcdir@ @DEFS@ LDFLAGS = @LDFLAGS@ @SHOBJLDFLAGS@ LIBS = @LIBS@ INSTALL = @INSTALL@ PACKAGE_VERSION = @PACKAGE_VERSION@ TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ PACKAGE_INSTALL_DIR = $(TCL_PACKAGE_PATH)/tcltls$(PACKAGE_VERSION) all: @EXTENSION_TARGET@ # The shared object target tcltls.@SHOBJEXT@: tls.o tlsBIO.o tlsIO.o tlsX509.o $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o tcltls.@SHOBJEXT@ tls.o tlsBIO.o tlsIO.o tlsX509.o $(LIBS) # The static target tcltls.a: tls.o tlsBIO.o tlsIO.o tlsX509.o $(AR) rcu tcltls.a.new tls.o tlsBIO.o tlsIO.o tlsX509.o mv tcltls.a.new tcltls.a # Dependencies for all our targets tls.o: @srcdir@/tls.c @srcdir@/tlsInt.h @srcdir@/tclOpts.h @srcdir@/tls.tcl.h tlsBIO.o: @srcdir@/tlsBIO.c @srcdir@/tlsInt.h tlsIO.o: @srcdir@/tlsIO.c @srcdir@/tlsInt.h tlsX509.o: @srcdir@/tlsX509.c @srcdir@/tlsInt.h # Create a C-source-ified version of the script resources # for TclTLS so that we only need a single file to enable # this extension @srcdir@/tls.tcl.h: tls.tcl xxd -i < tls.tcl > '@srcdir@/tls.tcl.h.new' mv '@srcdir@/tls.tcl.h.new' '@srcdir@/tls.tcl.h' # Generic target for building files from the "srcdir" # tree -- the default target will not match paths %.o: @srcdir@/%.c $(CC) $(CPPFLAGS) $(CFLAGS) -o "$@" -c "$<" # Install the extension install: @EXTENSION_TARGET@ pkgIndex.tcl # Clean the local build directory for rebuild against the same configuration clean: rm -f tls.o tlsBIO.o tlsIO.o tlsX509.o rm -f tcltls.@SHOBJEXT@ rm -f tcltls.a.new tcltls.a # Clean the local build directory back to what it was after unpacking the # distribution tarball distclean: clean rm -f config.log config.status rm -f Makefile pkgIndex.tcl # Clean the local build directory back to only thing things that exist in # version control system mrproper: distclean rm -f @srcdir@/tls.tcl.h rm -f @srcdir@/configure @srcdir@/config.sub @srcdir@/config.guess @srcdir@/install-sh rm -f @srcdir@/aclocal.m4 rm -rf @srcdir@/aclocal @srcdir@/autom4te.cache .PHONY: all install clean distclean mrproper |
Modified README.txt
from [a2f4c7f22f]
to [98035f2af2].
1 2 3 4 | Original TLS Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> TLS 1.4.1 Copyright (C) 2000 Ajuba Solutions TLS 1.6 Copyright (C) 2008 ActiveState Software Inc. | < < | 1 2 3 4 5 6 7 8 9 10 11 | Original TLS Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> TLS 1.4.1 Copyright (C) 2000 Ajuba Solutions TLS 1.6 Copyright (C) 2008 ActiveState Software Inc. TLS (aka SSL) Channel - can be layered on any bi-directional Tcl_Channel. Both client and server-side sockets are possible, and this code should work on any platform as it uses a generic mechanism for layering on SSL and Tcl. Full filevent sematics should also be intact - see tests directory for blocking and non-blocking examples. |
︙ | ︙ |
Deleted aclocal.m4 version [9e0a6d21b1].
Added autogen.sh version [c6e14774e1].
Added build/makearch.info version [b142ee826c].
Added build/post.sh version [b845836733].
Added build/pre.sh version [a8f310fb41].
Deleted configure version [c1aa70d493].
Modified configure.in
from [8e59f65b56]
to [00e446188b].
|
| < < < < < < < < < < < < < < | | < < < < | < | < | < < < < < < < < < < < < < < < < < | < < | < < < < < < < < < < < < < < < < < < | < < > | < < < < < < | < < < < < | < < < < < < < < < < < < < < < | < | < < < < | < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < | < < < < | | < | < < < < < < < | < | < < < < < < < < < | < < < < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | dnl Define ourselves AC_INIT(tcltls, @@VERS@@) dnl Checks for programs. AC_PROG_CC AC_PROG_MAKE_SET AC_PROG_INSTALL AC_GNU_SOURCE dnl Determine system information DC_CHK_OS_INFO dnl Look for appropriate headers AC_CHECK_HEADERS(unistd.h stdlib.h string.h strings.h) dnl Perform Tcl Extension required stuff TCLEXT_INIT if test "$TCLEXT_BUILD" != 'static'; then dnl Determine how to make shared objects DC_GET_SHOBJFLAGS EXTENSION_TARGET="tcltls.${SHOBJEXT}" else AC_CHECK_TOOL([AR], [ar], [false]) AC_CHECK_TOOL([RANLIB], [ranlib], [:]) EXTENSION_TARGET="tcltls.a" fi AC_SUBST(EXTENSION_TARGET) dnl Produce output AC_OUTPUT(Makefile pkgIndex.tcl) |
Added pkgIndex.tcl.in version [7bd775e1dc].
Modified tclOpts.h
from [4e3c2a8397]
to [aff9aa3b9c].
1 2 3 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * | < < | 1 2 3 4 5 6 7 8 9 10 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * * Stylized option processing - requires consitent * external vars: opt, idx, objc, objv */ #ifndef _TCL_OPTS_H #define _TCL_OPTS_H #define OPT_PROLOG(option) \ |
︙ | ︙ |
Deleted tclconfig/README.txt version [180f4215d5].
Deleted tclconfig/install-sh version [b087e5c4b9].
Deleted tclconfig/tcl.m4 version [1cb6792ef2].
Modified tests/oldTests/tls.tcl
from [d3ab0f3fc4]
to [3ec4a78d72].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # set dir [file dirname [info script]] regsub {\.} [info tclversion] {} vshort if {$tcl_platform(platform) == "windows"} { if {[info exists tcl_platform(debug)]} { load $dir/../win/Debug$vshort/tls.dll } else { load $dir/../win/Release$vshort/tls.dll |
︙ | ︙ |
Modified tests/oldTests/tlsAuto.tcl
from [af559bc2dc]
to [c6f69ae9dc].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # set dir [file dirname [info script]] cd $dir source tls.tcl proc fromServer {chan} { if {[catch {read $chan 10} data]} { |
︙ | ︙ |
Modified tests/oldTests/tlsBlocking.tcl
from [10a9ce36e6]
to [272e10e79e].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # set dir [file dirname [info script]] cd $dir source tls.tcl proc bgerror {msg} {tclLog "BG: $msg"} |
︙ | ︙ |
Modified tests/oldTests/tlsCiphers.tcl
from [015cebb2a4]
to [fc1b7f572b].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # set dir [file dirname [info script]] cd $dir source tls.tcl if {[llength $argv] == 0} { puts stderr "Usage: ciphers protocol ?verbose?" |
︙ | ︙ |
Modified tests/oldTests/tlsHttp.tcl
from [a70dbb3194]
to [a53b6ea2fa].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # package require base64 set dir [file dirname [info script]] cd $dir source tls.tcl package require http |
︙ | ︙ |
Modified tests/oldTests/tlsSrv.tcl
from [94376e17c0]
to [03126ed641].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # # Sample Tls-enabled server # set dir [file dirname [info script]] cd $dir source tls.tcl #lappend auto_path d:/tcl80/lib #package require tls |
︙ | ︙ |
Modified tests/oldTests/tlsSrv2.tcl
from [55ffa72ce8]
to [26eb405e56].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # # Sample Tls-enabled server # set dir [file dirname [info script]] cd $dir source tls.tcl #lappend auto_path d:/tcl80/lib #package require tls |
︙ | ︙ |
Modified tests/oldTests/tlsUpload.tcl
from [82c9e6c118]
to [7d5a3a1baa].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # set dir [file dirname [info script]] cd $dir source tls.tcl proc fromServer {chan} { if {[catch {read $chan 10} data]} { |
︙ | ︙ |
Modified tls.c
from [15a7d7809d]
to [a38b0196bb].
1 2 3 4 5 6 7 | /* * Copyright (C) 1997-1999 Matt Newman <matt@novadigm.com> * some modifications: * Copyright (C) 2000 Ajuba Solutions * Copyright (C) 2002 ActiveState Corporation * Copyright (C) 2004 Starfish Systems * | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /* * Copyright (C) 1997-1999 Matt Newman <matt@novadigm.com> * some modifications: * Copyright (C) 2000 Ajuba Solutions * Copyright (C) 2002 ActiveState Corporation * Copyright (C) 2004 Starfish Systems * * 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 * OpenSSL 0.9.2B * * Addition credit is due for Andreas Kupries (a.kupries@westend.com), for |
︙ | ︙ | |||
1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 | *------------------------------------------------------------------- */ int Tls_Init(Tcl_Interp *interp) /* Interpreter in which the package is * to be made available. */ { int major, minor, patchlevel, release; /* * The original 8.2.0 stacked channel implementation (and the patch * that preceded it) had problems with scalability and robustness. * These were address in 8.3.2 / 8.4a2, so we now require that as a * minimum for TLS 1.4+. We only support 8.2+ now (8.3.2+ preferred). | > > > > | 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 | *------------------------------------------------------------------- */ int Tls_Init(Tcl_Interp *interp) /* Interpreter in which the package is * to be made available. */ { const unsigned char tlsTclInitScript[] = { #include "tls.tcl.h" }; int major, minor, patchlevel, release; /* * The original 8.2.0 stacked channel implementation (and the patch * that preceded it) had problems with scalability and robustness. * These were address in 8.3.2 / 8.4a2, so we now require that as a * minimum for TLS 1.4+. We only support 8.2+ now (8.3.2+ preferred). |
︙ | ︙ | |||
1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 | (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); Tcl_CreateObjCommand(interp, "tls::version", VersionObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); Tcl_CreateObjCommand(interp, "tls::misc", MiscObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); return Tcl_PkgProvide(interp, PACKAGE_NAME, PACKAGE_VERSION); } /* *------------------------------------------------------* * | > > > > | 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 | (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); Tcl_CreateObjCommand(interp, "tls::version", VersionObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); Tcl_CreateObjCommand(interp, "tls::misc", MiscObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); if (interp) { Tcl_Eval(interp, tlsTclInitScript); } return Tcl_PkgProvide(interp, PACKAGE_NAME, PACKAGE_VERSION); } /* *------------------------------------------------------* * |
︙ | ︙ | |||
1772 1773 1774 1775 1776 1777 1778 | { int i; char rnd_seed[16] = "GrzSlplKqUdnnzP!"; /* 16 bytes */ int status=TCL_OK; #if defined(OPENSSL_THREADS) && defined(TCL_THREADS) size_t num_locks; | | > > > > | 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 | { int i; char rnd_seed[16] = "GrzSlplKqUdnnzP!"; /* 16 bytes */ int status=TCL_OK; #if defined(OPENSSL_THREADS) && defined(TCL_THREADS) size_t num_locks; if (initialized) { return status; } Tcl_MutexLock(&init_mx); if (!initialized) { initialized = 1; #else { #endif if (CRYPTO_set_mem_functions((void *(*)(size_t))Tcl_Alloc, (void *(*)(void *, size_t))Tcl_Realloc, (void(*)(void *))Tcl_Free) == 0) { /* Not using Tcl's mem functions ... not critical */ } |
︙ | ︙ | |||
1821 1822 1823 1824 1825 1826 1827 | do { for (i = 0; i < 16; i++) { rnd_seed[i] = 1 + (char) (255.0 * rand()/(RAND_MAX+1.0)); } RAND_seed(rnd_seed, sizeof(rnd_seed)); } while (RAND_status() != 1); } | > | < | 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 | do { for (i = 0; i < 16; i++) { rnd_seed[i] = 1 + (char) (255.0 * rand()/(RAND_MAX+1.0)); } RAND_seed(rnd_seed, sizeof(rnd_seed)); } while (RAND_status() != 1); } done: #if defined(OPENSSL_THREADS) && defined(TCL_THREADS) Tcl_MutexUnlock(&init_mx); #endif return status; } |
Modified tls.h
from [dc96a1623e]
to [6362c4c989].
1 2 3 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * | < < | 1 2 3 4 5 6 7 8 9 10 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * * 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 (a.kupries@westend.com), for * providing the Tcl_ReplaceChannel mechanism and working closely with me |
︙ | ︙ |
Modified tls.tcl
from [3192efd07b]
to [90f08f912e].
1 2 3 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # | < < | 1 2 3 4 5 6 7 8 9 10 | # # Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> # namespace eval tls { variable logcmd tclLog variable debug 0 # Default flags passed to tls::import variable defaults {} |
︙ | ︙ |
Modified tlsBIO.c
from [66eac232ea]
to [b90d32218c].
1 2 3 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * | < < | 1 2 3 4 5 6 7 8 9 10 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * * Provides BIO layer to interface openssl to Tcl. */ #include "tlsInt.h" /* * Forward declarations |
︙ | ︙ |
Modified tlsIO.c
from [ed5e46f5ea]
to [d9df3786b9].
1 2 3 4 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * Copyright (C) 2000 Ajuba Solutions * | < < | 1 2 3 4 5 6 7 8 9 10 11 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * Copyright (C) 2000 Ajuba Solutions * * 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 (a.kupries@westend.com), for * providing the Tcl_ReplaceChannel mechanism and working closely with me |
︙ | ︙ |
Modified tlsInt.h
from [aca790a765]
to [337abc57f7].
1 2 3 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * | < < | 1 2 3 4 5 6 7 8 9 10 | /* * Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> * * 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 (a.kupries@westend.com), for * providing the Tcl_ReplaceChannel mechanism and working closely with me |
︙ | ︙ |
Modified tlsX509.c
from [24e0063023]
to [a24085972c].
1 2 3 | /* * Copyright (C) 1997-2000 Sensus Consulting Ltd. * Matt Newman <matt@sensus.org> | < < | 1 2 3 4 5 6 7 8 9 10 | /* * Copyright (C) 1997-2000 Sensus Consulting Ltd. * Matt Newman <matt@sensus.org> */ #include "tlsInt.h" /* * Ensure these are not macros - known to be defined on Win32 */ #ifdef min |
︙ | ︙ |
Deleted win/makefile.vc version [91ee39841d].
Deleted win/nmakehlp.c version [892a643209].
Deleted win/rules.vc version [ead277b0fc].
Deleted win/tls.rc version [93d9423ff3].