View Ticket
Bounty program for improvements to Tcl and certain Tcl packages.
2018-12-31
01:28 New ticket [3160b84294] Test tlsIO-8.1 fails, when built against 1.1.1a. artifact: 8db46b2f24 user: anonymous

Ticket Hash: 3160b84294c87d84dc96daba09a736a88fd33c4c
Title: Test tlsIO-8.1 fails, when built against 1.1.1a
Status: Open Type: Code Defect
Severity: Severe Priority:
Subsystem: Resolution:
Last Modified: 2018-12-31 01:28:05
Version Found In: 1.7.16
User Comments:
anonymous added on 2018-12-31 01:28:05:

Building and testing against the earlier OpenSSL-versions is fine. However, if one tries the 1.1.1, one of the tests fails:

==== tlsIO-8.1 testing -async flag on sockets FAILED
==== Contents of test case:

    # NOTE: This test may fail on some Solaris 2.4 systems.
    # See notes in Tcl's socket.test.
    set s [tls::socket  -certfile $serverCert -cafile $caCert -keyfile $serverKey  -server accept 8830]
    proc accept {s a p} {
        global x
        # when doing an in-process client/server test, both sides need
        # to be non-blocking for the TLS handshake.  Also make sure
        # to return the channel to line buffering mode.
        fconfigure $s -blocking 0 -buffering line
        puts $s bye
        # Only OpenSSL 0.9.5a on Windows seems to need the after (delayed)
        # close, but it works just the same for all others. -hobbs
        after 500 close $s
        set x done
    }
    set s1 [tls::socket  -certfile $clientCert -cafile $caCert -keyfile $clientKey  -async [info hostname] 8830]
    # when doing an in-process client/server test, both sides need
    # to be non-blocking for the TLS handshake  Also make sure to
    # return the channel to line buffering mode (TLS sets it to 'none').
    fconfigure $s1 -blocking 0 -buffering line
    vwait x
    # TLS handshaking needs one byte from the client...
    puts $s1 a
    # need update to complete TLS handshake in-process
    update
    set z [gets $s1]
    close $s
    close $s1
    set z

---- Result was:

---- Result should have been (exact matching):
bye
==== tlsIO-8.1 FAILED
Tests ended at Sun Dec 30 20:09:51 EST 2018
all.tcl:        Total   65      Passed  47      Skipped 17      Failed  1
Sourced 0 Test Files.
Files with failing tests: tlsIO.test
Number of tests skipped for each constraint:
        12      doTestsWithRemoteServer
        2       notRoot
        1       testthread
        2       unexplainedFailure

(P.S. Also, trying to login to Fossil with the account 'mi', which I created in 2013 - and last used in 2014 - fails. My browser still remember the password, but the server does not...)