[Pkg-tcltk-devel] Bug#1006587: tcltls: FTBFS with OpenSSL 3.0
Sebastian Andrzej Siewior
sebastian at breakpoint.cc
Sun Feb 27 23:00:33 GMT 2022
Source: tcltls
Version: 1.7.22-2
Severity: important
Tags: bookworm sid
User: pkg-openssl-devel at lists.alioth.debian.org
Usertags: ftbfs-3.0
Your package is failing to build using OpenSSL 3.0 with the
following error:
| Tests began at Tue Feb 15 07:16:51 UTC 2022
| ciphers.test
| tlsIO.test
|
| ==== tlsIO-2.2 tcp connection with client port specified FAILED
| ==== Contents of test case:
|
| removeFile script
| set f [open script w]
| puts $f [list set auto_path $auto_path]
| puts $f {
| package require tls
| set timer [after 2000 "set x done"]
| }
| puts $f "set f \[tls::socket -server accept -certfile $serverCert -cafile $caCert -keyfile $serverKey 8829 \]"
| puts $f {
| proc accept {sock addr port} {
| global x
| puts "[gets $sock] $port"
| close $sock
| set x done
| }
| puts ready
| vwait x
| after cancel $timer
| close $f
| }
| close $f
| set f [open "|[list $::tcltest::tcltest script] 2> /dev/null" r]
| gets $f x
| global port
| if {[catch {tls::socket -myport $port -certfile $clientCert -cafile $caCert -keyfile $clientKey 127.0.0.1 8829} sock]} {
| set x $sock
| catch {close [tls::socket 127.0.0.1 8829]}
| } else {
| puts $sock hello
| flush $sock
| lappend x [gets $f]
| close $sock
| }
| close $f
| set x
|
| ---- Test generated error; Return code was: 1
| ---- Return code should have been one of: 0 2
| ---- errorInfo: error flushing "sock55762fc1f490": software caused connection abort
| while executing
| "flush $sock"
| ("uplevel" body line 31)
| invoked from within
| "uplevel 1 $script"
| ---- errorCode: POSIX ECONNABORTED {software caused connection abort}
| ==== tlsIO-2.2 FAILED
|
|
|
| ==== tlsIO-2.3 tcp connection with client interface specified FAILED
| ==== Contents of test case:
|
| removeFile script
| set f [open script w]
| puts $f [list set auto_path $auto_path]
| puts $f {
| package require tls
| set timer [after 2000 "set x done"]
| }
| puts $f "set f \[tls::socket -server accept -certfile $serverCert -cafile $caCert -keyfile $serverKey 8830 \]"
| puts $f {
| proc accept {sock addr port} {
| global x
| puts "[gets $sock] $addr"
| close $sock
| set x done
| }
| puts ready
| vwait x
| after cancel $timer
| close $f
| }
| close $f
| set f [open "|[list $::tcltest::tcltest script] 2> /dev/null" r]
| gets $f x
| if {[catch {tls::socket -myaddr 127.0.0.1 -certfile $clientCert -cafile $caCert -keyfile $clientKey 127.0.0.1 8830} sock]} {
| set x $sock
| } else {
| puts $sock hello
| catch {flush $sock}
| lappend x [gets $f]
| close $sock
| }
| close $f
| set x
|
| ---- Result was:
| ready {}
| ---- Result should have been (exact matching):
| ready {hello 127.0.0.1}
| ==== tlsIO-2.3 FAILED
|
|
|
| ==== tlsIO-2.4 tcp connection with server interface specified FAILED
| ==== Contents of test case:
|
| removeFile script
| set f [open script w]
| puts $f [list set auto_path $auto_path]
| puts $f {
| package require tls
| set timer [after 2000 "set x done"]
| }
| puts $f "set f \[tls::socket -server accept -certfile $serverCert -cafile $caCert -keyfile $serverKey -myaddr localhost 8831 \]"
| puts $f {
| proc accept {sock addr port} {
| global x
| puts "[gets $sock]"
| close $sock
| set x done
| }
| puts ready
| vwait x
| after cancel $timer
| close $f
| }
| close $f
| set f [open "|[list $::tcltest::tcltest script] 2> /dev/null" r]
| gets $f x
| if {[catch {tls::socket -certfile $clientCert -cafile $caCert -keyfile $clientKey localhost 8831} sock]} {
| set x $sock
| } else {
| puts $sock hello
| flush $sock
| lappend x [gets $f]
| close $sock
| }
| close $f
| set x
|
| ---- Test generated error; Return code was: 1
| ---- Return code should have been one of: 0 2
| ---- errorInfo: error flushing "sock55762fcca440": software caused connection abort
| while executing
| "flush $sock"
| ("uplevel" body line 29)
| invoked from within
| "uplevel 1 $script"
| ---- errorCode: POSIX ECONNABORTED {software caused connection abort}
| ==== tlsIO-2.4 FAILED
|
|
|
| ==== tlsIO-2.5 tcp connection with redundant server port FAILED
| ==== Contents of test case:
|
| removeFile script
| set f [open script w]
| puts $f [list set auto_path $auto_path]
| puts $f {
| package require tls
| set timer [after 2000 "set x done"]
| }
| puts $f "set f \[tls::socket -server accept -certfile $serverCert -cafile $caCert -keyfile $serverKey 8832 \]"
| puts $f {
| proc accept {sock addr port} {
| global x
| puts "[gets $sock]"
| close $sock
| set x done
| }
| puts ready
| vwait x
| after cancel $timer
| close $f
| }
| close $f
| set f [open "|[list $::tcltest::tcltest script] 2> /dev/null" r]
| gets $f x
| if {[catch {tls::socket -certfile $clientCert -cafile $caCert -keyfile $clientKey 127.0.0.1 8832} sock]} {
| set x $sock
| } else {
| puts $sock hello
| flush $sock
| lappend x [gets $f]
| close $sock
| }
| close $f
| set x
|
| ---- Test generated error; Return code was: 1
| ---- Return code should have been one of: 0 2
| ---- errorInfo: error flushing "sock55762fccacc0": software caused connection abort
| while executing
| "flush $sock"
| ("uplevel" body line 29)
| invoked from within
| "uplevel 1 $script"
| ---- errorCode: POSIX ECONNABORTED {software caused connection abort}
| ==== tlsIO-2.5 FAILED
|
|
|
| ==== tlsIO-2.7 echo server, one line FAILED
| ==== Contents of test case:
|
| removeFile script
| set f [open script w]
| puts $f [list set auto_path $auto_path]
| puts $f {
| package require tls
| set timer [after 2000 "set x done"]
| }
| puts $f "set f \[tls::socket -server accept -certfile $serverCert -cafile $caCert -keyfile $serverKey 8834 \]"
| puts $f {
| proc accept {s a p} {
| fileevent $s readable [list echo $s]
| fconfigure $s -translation lf -buffering line
| }
| proc echo {s} {
| set l [gets $s]
| if {[eof $s]} {
| global x
| close $s
| set x done
| } else {
| puts $s $l
| }
| }
| puts ready
| vwait x
| after cancel $timer
| close $f
| puts done
| }
| close $f
| set f [open "|[list $::tcltest::tcltest script] 2> /dev/null" r]
| gets $f
| set s [tls::socket -certfile $clientCert -cafile $caCert -keyfile $clientKey 127.0.0.1 8834]
| fconfigure $s -buffering line -translation lf
| puts $s "hello abcdefghijklmnop"
| after 1000
| set x [gets $s]
| close $s
| set y [gets $f]
| close $f
| list $x $y
|
| ---- Test generated error; Return code was: 1
| ---- Return code should have been one of: 0 2
| ---- errorInfo: error writing "sock55762fccb440": software caused connection abort
| while executing
| "puts $s "hello abcdefghijklmnop""
| ("uplevel" body line 36)
| invoked from within
| "uplevel 1 $script"
| ---- errorCode: POSIX ECONNABORTED {software caused connection abort}
| ==== tlsIO-2.7 FAILED
|
|
|
| ==== tlsIO-2.8 echo server, loop 50 times, single connection FAILED
| ==== Contents of test case:
|
| set f [open script w]
| puts $f [list set auto_path $auto_path]
| puts $f {
| package require tls
| }
| puts $f "set f \[tls::socket -server accept -certfile $serverCert -cafile $caCert -keyfile $serverKey 8835 \]"
| puts $f {
| proc accept {s a p} {
| fileevent $s readable [list echo $s]
| fconfigure $s -buffering line
| }
| proc echo {s} {
| global i
| set l [gets $s]
| if {[eof $s]} {
| global x
| close $s
| set x done
| } else {
| incr i
| puts $s $l
| }
| }
| set i 0
| puts ready
| set timer [after 20000 "set x done"]
| vwait x
| after cancel $timer
| close $f
| puts "done $i"
| }
| close $f
| set f [open "|[list $::tcltest::tcltest script] 2> /dev/null" r]
| gets $f
| set s [tls::socket -certfile $clientCert -cafile $caCert -keyfile $clientKey 127.0.0.1 8835]
| fconfigure $s -buffering line
| catch {
| for {set x 0} {$x < 50} {incr x} {
| puts $s "hello abcdefghijklmnop"
| gets $s
| }
| }
| close $s
| catch {set x [gets $f]}
| close $f
| set x
|
| ---- Result was:
| done 0
| ---- Result should have been (exact matching):
| done 50
| ==== tlsIO-2.8 FAILED
|
| Terminated
| make[1]: *** [Makefile:76: test] Error 143
For more information see:
https://www.openssl.org/docs/man3.0/man7/migration_guide.html
Sebastian
More information about the Pkg-tcltk-devel
mailing list