Overview
Context
Changes
Modified generic/tls.c
from [87532f6227]
to [99b0260693].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
|
/*
* TLS Channel - This extension provides a encrypted communication channel
* using the TLS or SSL protocols. It can be layered on top of any
* bi-directional Tcl_Channel.
*
* This was initially built (almost) from scratch based upon observation of
* OpenSSL 0.9.2B.
*
* Copyright (C) 1997-1999 Matt Newman <[email protected]>
* some modifications:
* Copyright (C) 2000 Ajuba Solutions
* Copyright (C) 2002 ActiveState Corporation
* Copyright (C) 2004 Starfish Systems
* Copyright (C) 2023 Brian O'Hagan
*
* 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 ([email protected]), for
* Additional credit is due for Andreas Kupries ([email protected]), for
* providing the Tcl_ReplaceChannel mechanism and working closely with me
* to enhance it to support full fileevent semantics.
*
* Also work done by the follow people provided the impetus to do this "right":
* tclSSL (Colin McCormack, Shared Technology)
* SSLtcl (Peter Antman)
*
|
︙ | | |
Modified generic/tls.h
from [5524cb9711]
to [5d17597cda].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
-
+
-
-
-
+
+
-
+
|
/*
* Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com>
* TLS Channel - This extension provides a encrypted communication channel
*
* TLS (aka SSL) Channel - can be layered on any bi-directional
* Tcl_Channel (Note: Requires Trf Core Patch)
* using the TLS or SSL protocols. It can be layered on top of any
* bi-directional Tcl_Channel.
*
* This was built from scratch based upon observation of OpenSSL 0.9.2B
* Copyright (C) 1997-2000 Matt Newman <[email protected]>
*
* Addition credit is due for Andreas Kupries ([email protected]), for
* providing the Tcl_ReplaceChannel mechanism and working closely with me
* to enhance it to support full fileevent semantics.
*
* Also work done by the follow people provided the impetus to do this "right":-
* tclSSL (Colin McCormack, Shared Technology)
|
︙ | | |
Modified generic/tlsBIO.c
from [8197456eb7]
to [f962f31c62].
1
2
3
4
5
6
7
8
9
10
|
1
2
3
4
5
6
7
8
9
10
|
-
-
+
+
|
/*
* Provides Custom BIO layer to interface OpenSSL with TCL. These
* functions directly interface between the IO channel and BIO buffers.
* Provides Custom BIO layer to interface OpenSSL with TCL. These functions
* directly interface between the TCL IO channel and BIO buffers.
*
* Copyright (C) 1997-2000 Matt Newman <[email protected]>
* Copyright (C) 2024 Brian O'Hagan
*
*/
/*
|
︙ | | |
Modified generic/tlsIO.c
from [5434dce8b9]
to [28f229b1c5].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
-
-
-
-
-
-
+
|
/*
* Provides IO functions to interface between the BIO buffers and TCL
* applications when using stacked channels.
*
* Copyright (C) 1997-2000 Matt Newman <[email protected]>
* Copyright (C) 2000 Ajuba Solutions
* Copyright (C) 2024 Brian O'Hagan
*
* 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
* Additional credit is due for Andreas Kupries ([email protected]), for
* providing the Tcl_ReplaceChannel mechanism and working closely with me
* to enhance it to support full fileevent semantics.
*
* Also work done by the follow people provided the impetus to do this "right":
* tclSSL (Colin McCormack, Shared Technology)
* SSLtcl (Peter Antman)
*
|
︙ | | |
Modified generic/tlsInt.h
from [683e0380e9]
to [50ff8aa0e5].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
-
+
+
-
-
-
+
-
+
+
|
/*
*----------------------------------------------------------------------
* Macro and structure definitions for TLS extension
*
* Copyright (C) 1997-2000 Matt Newman <[email protected]>
*
* Macro and structure definitions
*
* Addition credit is due for Andreas Kupries ([email protected]), for
* Additional credit is due for Andreas Kupries ([email protected]), for
* providing the Tcl_ReplaceChannel mechanism and working closely with me
* to enhance it to support full fileevent semantics.
*
* Also work done by the follow people provided the impetus to do this "right":-
* tclSSL (Colin McCormack, Shared Technology)
* SSLtcl (Peter Antman)
*----------------------------------------------------------------------
*
*/
#ifndef _TLSINT_H
#define _TLSINT_H
/* Platform unique definitions */
#if ((defined(_WIN32)) || (defined(__MINGW32__)) || (defined(__MINGW64__)))
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
|
︙ | | |
Modified generic/tlsX509.c
from [d88846a73e]
to [6d1eaaa465].
1
2
3
4
5
6
7
8
9
|
1
2
3
4
5
6
7
8
9
|
-
+
|
/*
* Parse X.509 certificate and return contents as a TCL key-value list.
* Parse X.509 certificates and return contents as a TCL key-value list.
*
* Copyright (C) 1997-2000 Sensus Consulting Ltd.
* Matt Newman <[email protected]>
* Copyright (C) 2023 Brian O'Hagan
*/
#include <tcl.h>
#include <stdio.h>
|
︙ | | |
Modified library/tls.tcl
from [852d83e8d6]
to [c206365201].
1
2
3
4
5
6
7
|
1
2
3
4
5
6
7
8
9
|
+
+
|
#
# Support functions for the TLS extension
#
# Copyright (C) 1997-2000 Matt Newman <[email protected]>
#
namespace eval tls {
variable logcmd tclLog
variable debug 0
|
︙ | | |
| |
Modified tests/all.tcl
from [7643c0fdf5]
to [eb707ec865].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
-
|
# all.tcl --
#
# This file contains a top-level script to run all of the Tcl
# tests. Execute it by invoking "source all.test" when running tcltest
# in this directory.
#
# Copyright (c) 1998-2000 by Ajuba Solutions.
# All rights reserved.
#
# RCS: @(#) $Id: all.tcl,v 1.5 2000/08/15 18:45:01 hobbs Exp $
set path [file normalize [file dirname [file join [pwd] [info script]]]]
#set auto_path [linsert $auto_path 0 [file normalize [file join [file dirname [info script]] ..]]]
set auto_path [linsert $auto_path 0 [file dirname $path] [file normalize [pwd]]]
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest
|
︙ | | |
Modified tests/remote.tcl
from [ef6ea299d6]
to [39da907de3].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+
-
|
#!/usr/bin/env tclsh
#
# This file contains Tcl code to implement a remote server that can be
# used during testing of Tcl socket code. This server is used by some
# of the tests in socket.test.
#
# Source this file in the remote server you are using to test Tcl against.
#
# Copyright (c) 1995-1996 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: remote.tcl,v 1.6 2004/02/11 22:41:25 razzell Exp $
# load tls package
package require tls
# Initialize message delimitor
# Initialize command array
|
︙ | | |
Modified tests/tlsIO.test
from [2979185eed]
to [fe4b8588ad].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
-
|
# Commands tested in this file: socket. -*- tcl -*-
#
# This file contains a collection of tests for one or more of the Tcl
# built-in commands. Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
# Copyright (c) 1994-1996 Sun Microsystems, Inc.
# Copyright (c) 1998-2000 Ajuba Solutions.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: tlsIO.test,v 1.24 2015/06/06 09:07:08 apnadkarni Exp $
# Running socket tests with a remote server:
# ------------------------------------------
#
# Some tests in socket.test depend on the existence of a remote server to
# which they connect. The remote server must be an instance of tcltest and it
# must run the script found in the file "remote.tcl" in this directory. You
|
︙ | | |