Changes On Branch release-2-branch
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch release-2-branch Excluding Merge-Ins

This is equivalent to a diff from 99fea512e2 to ad845b9acd

2021-03-24 16:40
Embedded.tcl 2.7.2 Fix bug: pfx subject had added ")". Ticket [bbfbe4faa6] Leaf check-in: ad845b9acd user: oehhar tags: release-2-branch
2021-03-23 14:22
Embedded.tcl 3.3.1 Fix bug: pfx subject had added ")". Ticket [bbfbe4faa6] check-in: aa19d1e7ed user: oehhar tags: trunk
2020-10-27 12:51
Ticket [53f35f55f7]: fix memory leak in embedded server. check-in: 2aff37215d user: oehhar tags: release-2-branch, Release_2.7.1
2020-10-26 16:52
Ticket [f614f366c9]: Changes: - add -timeout parameter to any geturl call - add option queryTimeout to client and utility package - trap timeout http status - start to use TCL 8.6 only feature {*} and require TCL 8.6 check-in: fdd9042a38 user: oehhar tags: trunk
2020-10-26 08:57
For embedded server, use https for location when TLS is used. Ticket [70a5c5c435] partly resolved. check-in: 99fea512e2 user: oehhar tags: trunk, Release_2.7.0
2020-10-24 16:42
Embedded server: Ticket [36a1bc3c8d]: introduced error corrected: method get has no request Content-Type header field. In addition, TWAPI TLS support was added to the embedded server. check-in: dae721d01c user: oehhar tags: trunk

Changes to Embedded.tcl.

51
52
53
54
55
56
57
58

59
60
61
62
63
64
65
51
52
53
54
55
56
57

58
59
60
61
62
63
64
65







-
+







		if {[::log::lvIsSuppressed $level]} {
			return
		}
		::log::log $level [uplevel 1 [list subst $text]]
	}
}

package provide WS::Embeded 2.7.0
package provide WS::Embeded 2.7.2

namespace eval ::WS::Embeded {

    array set portInfo {}

    set portList [list]
    set forever {}
257
258
259
260
261
262
263

264
265
266
267
268
269
270
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271







+







# Maintenance History - as this file is modified, please be sure that you
#                       update this segment of the file header block by
#                       adding a complete entry at the bottom of the list.
#
# Version     Date     Programmer   Comments / Changes / Reasons
# -------  ----------  ----------   -------------------------------------------
#       1  03/28/2008  G.Lester     Initial version
# 2.7.2    2021-03-23  H.Oehlmann   Fix bug: pfx subject had added ")".
#
#
###########################################################################
proc ::WS::Embeded::Listen {port {certfile {}} {keyfile {}} {userpwds {}} {realm {}}} {
    variable portInfo
    variable portList

308
309
310
311
312
313
314
315

316
317
318
319
320
321
322
309
310
311
312
313
314
315

316
317
318
319
320
321
322
323







-
+







            if {[llength $keyfile] > 2} {
                set pfxsubject [lindex $keyfile 2]
            }
            # Create certificate selection tring
            if {$pfxsubject eq ""} {
                set pfxselection any
            } else {
                set pfxselection [list subject_substring $pfxsubject)]
                set pfxselection [list subject_substring $pfxsubject]
            }
            
            set hFile [open $certfile rb]
            set PFXCur [read $hFile]
            close $hFile
            # Set up the store containing the certificates
            # Import the PFX file and search the certificate.
353
354
355
356
357
358
359
360

361
362
363
364
365
366
367
354
355
356
357
358
359
360

361
362
363
364
365
366
367
368







-
+







            if {[info exists errormsg]} {
                dict unset errordict -level
                return -options  $errordict $errormsg
            }
        } else {
            
            ##
            ## Use TCL Package
            ## Use TLS Package
            ##
            
            package require tls
    
            ::tls::init \
                -certfile $certfile \
                -keyfile  $keyfile \
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
727
728
729
730
731
732
733

734
735
736
737
738
739
740







-







###########################################################################
proc ::WS::Embeded::accept {port sock ip clientport} {
    variable portInfo

    upvar #0 ::WS::Embeded::Httpd$sock dataArray
    ::log::logsubst info {Receviced request on $port for $ip:$clientport}

    array unset dataArray reply
    chan configure $sock -translation crlf
    if {1 == [catch {
        gets $sock line
        ::log::logsubst debug {Request is: $line}
        set auth {}
        set request {}
        while {[gets $sock temp] > 0 && ![eof $sock]} {
804
805
806
807
808
809
810

811
812
813
814
815
816
817
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818







+







        ::log::log error "Error: $msg"
        # catch this against an eventual closed socket
        catch {respond $sock 500 "Server Error"}
    }

    catch {flush $sock}
    catch {close $sock}
    array unset dataArray
    return
}




###########################################################################

Changes to pkgIndex.tcl.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
16
17
18
1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16
17
18













-
+




# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex -direct" command
# and sourced either when an application starts up or
# by a "package unknown" script.  It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands.  When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.

package ifneeded WS::AOLserver 2.4.0 [list source [file join $dir AOLserver.tcl]]
package ifneeded WS::Channel 2.4.0 [list source [file join $dir ChannelServer.tcl]]
package ifneeded WS::Client 2.6.3 [list source [file join $dir ClientSide.tcl]]
package ifneeded WS::Embeded 2.7.0 [list source [file join $dir Embedded.tcl]]
package ifneeded WS::Embeded 2.7.2 [list source [file join $dir Embedded.tcl]]
package ifneeded WS::Server 2.7.0 [list source [file join $dir ServerSide.tcl]]
package ifneeded WS::Utils 2.6.2 [list source [file join $dir Utilities.tcl]]
package ifneeded WS::Wub 2.4.0 [list source [file join $dir WubServer.tcl]]
package ifneeded Wsdl 2.4.0 [list source [file join $dir WubServer.tcl]]