Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demo client and server don't close resumed connection #1995

Open
larseggert opened this issue Jul 19, 2024 · 2 comments
Open

Demo client and server don't close resumed connection #1995

larseggert opened this issue Jul 19, 2024 · 2 comments

Comments

@larseggert
Copy link
Collaborator

I used the following patch to test/test.sh to introduce a 0-RTT resumption (in order to debug the QNS failures, see #1874).

diff --git a/test/test.sh b/test/test.sh
index 99286a19..a3068834 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -16,14 +16,14 @@ cargo build --bin neqo-client --bin neqo-server
 addr=127.0.0.1
 port=4433
 path=/20000
-flags="--verbose --verbose --verbose --qlog-dir $tmp --use-old-http --alpn hq-interop --quic-version 1"
+flags="--verbose --verbose --verbose --idle 2 --qlog-dir $tmp --use-old-http --alpn hq-interop --quic-version 1"
 if [ "$(uname -s)" != "Linux" ]; then
         iface=lo0
 else
         iface=lo
 fi
 
-client="./target/debug/neqo-client $flags --output-dir $tmp --stats https://$addr:$port$path"
+client="./target/debug/neqo-client $flags --output-dir $tmp --stats --resume https://$addr:$port$path https://$addr:$port/1 https://$addr:$port/2 https://$addr:$port/3"
 server="SSLKEYLOGFILE=$tmp/test.tlskey ./target/debug/neqo-server $flags $addr:$port"
 
 tcpdump -U -i "$iface" -w "$tmp/test.pcap" host $addr and port $port >/dev/null 2>&1 &

Now when I run test/test.sh, the second connection seems to run into idle timeouts on both client and server.

@mxinden any thoughts?

@mxinden
Copy link
Collaborator

mxinden commented Jul 19, 2024

the second connection seems to run into idle timeouts on both client and server.

I am assuming that you are basing this on the following log line?

0s269ms INFO Closing timer expired

I can reproduce locally. That said, the timer (log line above) does not seem to correlate with the --idle flag. Setting the --idle flag to 10 still has the client terminate immediately, not wait for 10s, but still print the line above.

I can debug further on Monday.

@larseggert
Copy link
Collaborator Author

larseggert commented Jul 20, 2024

0-RTT resumption via --resume seems to not work at all. At least I only see one handshake in the pcap when I run the test. Also, the client prints [Client ba48fde68c1e6a18] 0-RTT rejected and the files for objects requested over 0-RTT are empty.

(It does seem to work when passing --qns-test zerortt to the client.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants