-
-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Description
I did this
I have a multi-handle into which I add easy handles duphandle()d from a common configured handle. I make a request to localhost, which completes as a keepalive response requesting authentication. From that I get * Connection #1 to host localhost left intact. The easy handle
is thence cleaned up, but the multi handle persists.
Then my client attempts to make another request to the same place and instead of it reusing that connection it ends up attempting to make a fresh connection. I get * Found bundle for host localhost: 0x556e73066cf0 [can pipeline] and * Hostname localhost was found in DNS cache but eventually * Connected to localhost (127.0.0.1) port 2345 (#2)
I expected the following
I expected to see connection 1 reused.
curl/libcurl version
somniloquy% curl -V
curl 7.64.0 (x86_64-pc-linux-gnu) libcurl/7.64.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Release-Date: 2019-02-06
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
somniloquy%
operating system
Debian/Buster
Additional notes
The code driving cURL can be found at https://git.netsurf-browser.org/netsurf.git/tree/content/fetchers/curl.c though I appreciate that's a lot of code to look through, if you want me to point you at particular parts, just let me know.