98 lines
4.4 KiB
Diff
98 lines
4.4 KiB
Diff
|
From c9a1d18e5f8f28b90c1b2fcc1f15699327067e59 Mon Sep 17 00:00:00 2001
|
||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||
|
Date: Fri, 21 Apr 2023 17:44:10 +0200
|
||
|
Subject: [PATCH] tests/runtests.pl: attempt to fix a conflict on port numbers
|
||
|
|
||
|
... where stunnel listens for legacy HTTPS and HTTP/2, which manifests
|
||
|
as a hard-to-explain failure of the following tests: 1630 1631 1632 1904
|
||
|
1941 1945 2050 2055 3028
|
||
|
```
|
||
|
[...]
|
||
|
startnew: perl -I../../tests ../../tests/secureserver.pl --pidfile ".https_server.pid" --logfile "log/https_stunnel.log" --ipv4 --proto https --stunnel "/usr/bin/stunnel" --srcdir "../../tests" --connect 42917 --accept 24642
|
||
|
RUN: HTTPS server is PID 114398 port 24642
|
||
|
* pid https => 114398 114402
|
||
|
[...]
|
||
|
startnew: perl -I../../tests ../../tests/secureserver.pl --pidfile ".https2_server.pid" --logfile "log/https2_stunnel.log" --id 2 --ipv4 --proto https --stunnel "/usr/bin/stunnel" --srcdir "../../tests" --connect 36763 --accept 24642
|
||
|
startnew: child process has died, server might start up
|
||
|
Warning: http2 server unexpectedly alive
|
||
|
RUN: Process with pid 73992 signalled to die
|
||
|
RUN: Process with pid 73992 forced to die with SIGKILL
|
||
|
== Contents of files in the log/ dir after test 1630
|
||
|
=== Start of file http2_server.log
|
||
|
14:01:21.881018 exit_signal_handler: 15
|
||
|
14:01:21.881372 signalled to die
|
||
|
14:01:21.881511 ========> IPv4 sws (port 36763 pid: 73992) exits with signal (15)
|
||
|
=== End of file http2_server.log
|
||
|
=== Start of file https2_stunnel.log
|
||
|
[ ] Initializing inetd mode configuration
|
||
|
[ ] Clients allowed=500
|
||
|
[.] stunnel 5.69 on x86_64-redhat-linux-gnu platform
|
||
|
[.] Compiled/running with OpenSSL 3.0.8 7 Feb 2023
|
||
|
[.] Threading:PTHREAD Sockets:POLL,IPv6 TLS:ENGINE,FIPS,OCSP,PSK,SNI
|
||
|
[ ] errno: (*__errno_location ())
|
||
|
[ ] Initializing inetd mode configuration
|
||
|
[.] Reading configuration from file /builddir/build/BUILD/curl-8.0.1/build-minimal/tests/https_stunnel.conf
|
||
|
[.] UTF-8 byte order mark not detected
|
||
|
[.] FIPS mode disabled
|
||
|
[ ] Compression disabled
|
||
|
[ ] No PRNG seeding was required
|
||
|
[ ] Initializing service [curltest]
|
||
|
[ ] Using the default TLS minimum version as specified in crypto policies. Not setting explicitly.
|
||
|
[ ] Using the default TLS maximum version as specified in crypto policies. Not setting explicitly
|
||
|
[ ] stunnel default security level set: 2
|
||
|
[ ] Ciphers: PROFILE=SYSTEM
|
||
|
[ ] TLSv1.3 ciphersuites: TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256
|
||
|
[ ] TLS options: 0x2100000 (+0x0, -0x0)
|
||
|
[ ] Session resumption enabled
|
||
|
[ ] Loading certificate from file: /builddir/build/BUILD/curl-8.0.1/tests/stunnel.pem
|
||
|
[ ] Certificate loaded from file: /builddir/build/BUILD/curl-8.0.1/tests/stunnel.pem
|
||
|
[ ] Loading private key from file: /builddir/build/BUILD/curl-8.0.1/tests/stunnel.pem
|
||
|
[ ] Private key loaded from file: /builddir/build/BUILD/curl-8.0.1/tests/stunnel.pem
|
||
|
[ ] Private key check succeeded
|
||
|
[!] No trusted certificates found
|
||
|
[ ] DH initialization needed for DHE-RSA-AES256-GCM-SHA384
|
||
|
[ ] DH initialization
|
||
|
[ ] Could not load DH parameters from /builddir/build/BUILD/curl-8.0.1/tests/stunnel.pem
|
||
|
[ ] Using dynamic DH parameters
|
||
|
[ ] ECDH initialization
|
||
|
[ ] ECDH initialized with curves X25519:P-256:X448:P-521:P-384
|
||
|
[.] Configuration successful
|
||
|
[ ] Deallocating deployed section defaults
|
||
|
[ ] Binding service [curltest]
|
||
|
[ ] Listening file descriptor created (FD=8)
|
||
|
[ ] Setting accept socket options (FD=8)
|
||
|
[ ] Option SO_REUSEADDR set on accept socket
|
||
|
[.] Binding service [curltest] to 0.0.0.0:24642: Address already in use (98)
|
||
|
[ ] Listening file descriptor created (FD=8)
|
||
|
[ ] Setting accept socket options (FD=8)
|
||
|
[ ] Option SO_REUSEADDR set on accept socket
|
||
|
[.] Binding service [curltest] to :::24642: Address already in use (98)
|
||
|
[!] Binding service [curltest] failed
|
||
|
[ ] Unbinding service [curltest]
|
||
|
[ ] Service [curltest] closed
|
||
|
[ ] Deallocating deployed section defaults
|
||
|
[ ] Deallocating section [curltest]
|
||
|
[ ] Initializing inetd mode configuration
|
||
|
=== End of file https2_stunnel.log
|
||
|
```
|
||
|
---
|
||
|
tests/runtests.pl | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/tests/runtests.pl b/tests/runtests.pl
|
||
|
index 54f6923..bb362c9 100755
|
||
|
--- a/tests/runtests.pl
|
||
|
+++ b/tests/runtests.pl
|
||
|
@@ -1802,7 +1802,7 @@ sub runhttpsserver {
|
||
|
|
||
|
my $pid2;
|
||
|
my $httpspid;
|
||
|
- my $port = 24512; # start attempt
|
||
|
+ my $port = 24512 * $idnum; # start attempt
|
||
|
for (1 .. 10) {
|
||
|
$port += int(rand(600));
|
||
|
my $options = "$flags --accept $port";
|
||
|
--
|
||
|
2.39.2
|
||
|
|