Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
Expected behaviour of CURL_ALTSVC_HTTP and --proxy
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Fabian Keil via curl-library <curl-library_at_lists.haxx.se>
Date: Sat, 21 May 2022 14:31:00 +0200
The recently added tests 412 and 413 fail when using Privoxy as proxy.
Looking at the trace output it seems that curl is tunnelling
the requests when --proxy is being used even though it's vanilla
http:// and not https://:
fk_at_t520 ~/git/curl/tests $cat log/trace412
14:12:58.973024 == Info: STATE: INIT => CONNECT handle 0x8010f3808; line 1833 (connection #-5000)
14:12:58.974144 == Info: Alt-svc connecting from [h1]whohoo.:12345 to [h1]127.0.0.1:20000
14:12:58.974251 == Info: Added connection 0. The cache now contains 1 members
14:12:58.974347 == Info: family0 == v4, family1 == v6
14:12:58.974395 == Info: Trying 127.0.0.1:9119...
14:12:58.974541 == Info: STATE: CONNECT => CONNECTING handle 0x8010f3808; line 1894 (connection #0)
14:12:58.978205 == Info: Connected to 127.0.0.1 (127.0.0.1) port 9119 (#0)
14:12:58.978231 == Info: STATE: CONNECTING => TUNNELING handle 0x8010f3808; line 2028 (connection #0)
14:12:58.978292 == Info: allocate connect buffer
14:12:58.978308 == Info: Establish HTTP proxy tunnel to 127.0.0.1:20000
14:12:58.978464 => Send header, 118 bytes (0x76)
0000: CONNECT 127.0.0.1:20000 HTTP/1.1
0022: Host: 127.0.0.1:20000
0039: User-Agent: curl/7.84.0-DEV
0056: Proxy-Connection: Keep-Alive
0074:
14:12:58.980376 <= Recv header, 37 bytes (0x25)
0000: HTTP/1.1 200 Connection established
14:12:58.980691 <= Recv header, 2 bytes (0x2)
0000:
14:12:58.980757 == Info: Proxy replied 200 to CONNECT request
14:12:58.980780 == Info: CONNECT phase completed
14:12:58.980801 == Info: STATE: TUNNELING => PROTOCONNECT handle 0x8010f3808; line 2000 (connection #0)
14:12:58.980827 == Info: STATE: PROTOCONNECT => DO handle 0x8010f3808; line 2049 (connection #0)
14:12:58.980989 => Send header, 111 bytes (0x6f)
0000: GET /412 HTTP/1.1
0013: Host: whohoo.:12345
0028: User-Agent: curl/7.84.0-DEV
0045: Accept: */*
0052: Alt-Used: 127.0.0.1:20000
006d:
14:12:58.981111 == Info: STATE: DO => DID handle 0x8010f3808; line 2145 (connection #0)
14:12:58.981136 == Info: STATE: DID => PERFORMING handle 0x8010f3808; line 2264 (connection #0)
14:12:58.982792 == Info: Mark bundle as not supporting multiuse
14:12:58.982812 == Info: HTTP 1.1 or later with persistent connection
14:12:58.982829 <= Recv header, 16 bytes (0x10)
0000: HTTP/1.1 200 OK.
14:12:58.982909 <= Recv header, 36 bytes (0x24)
0000: Date: Tue, 09 Nov 2010 14:49:00 GMT.
14:12:58.982983 <= Recv header, 18 bytes (0x12)
0000: Content-Length: 6.
14:12:58.983033 <= Recv header, 18 bytes (0x12)
0000: Connection: close.
14:12:58.983088 <= Recv header, 24 bytes (0x18)
0000: Content-Type: text/html.
14:12:58.983136 <= Recv header, 19 bytes (0x13)
0000: Funny-head: yesyes.
14:12:58.983186 <= Recv header, 1 bytes (0x1)
0000: .
14:12:58.983220 <= Recv data, 6 bytes (0x6)
0000: -foo-.
14:12:58.983272 == Info: STATE: PERFORMING => DONE handle 0x8010f3808; line 2463 (connection #0)
14:12:58.983293 == Info: multi_done: status: 0 prem: 0 done: 0
14:12:58.984670 == Info: The cache now contains 0 members
14:12:58.984700 == Info: Closing connection 0
14:12:58.984829 == Info: Expire cleared (transfer 0x8010f3808)
Is that the expected behaviour or a bug?
Fabian
Received on 2022-05-21
Date: Sat, 21 May 2022 14:31:00 +0200
The recently added tests 412 and 413 fail when using Privoxy as proxy.
Looking at the trace output it seems that curl is tunnelling
the requests when --proxy is being used even though it's vanilla
http:// and not https://:
fk_at_t520 ~/git/curl/tests $cat log/trace412
14:12:58.973024 == Info: STATE: INIT => CONNECT handle 0x8010f3808; line 1833 (connection #-5000)
14:12:58.974144 == Info: Alt-svc connecting from [h1]whohoo.:12345 to [h1]127.0.0.1:20000
14:12:58.974251 == Info: Added connection 0. The cache now contains 1 members
14:12:58.974347 == Info: family0 == v4, family1 == v6
14:12:58.974395 == Info: Trying 127.0.0.1:9119...
14:12:58.974541 == Info: STATE: CONNECT => CONNECTING handle 0x8010f3808; line 1894 (connection #0)
14:12:58.978205 == Info: Connected to 127.0.0.1 (127.0.0.1) port 9119 (#0)
14:12:58.978231 == Info: STATE: CONNECTING => TUNNELING handle 0x8010f3808; line 2028 (connection #0)
14:12:58.978292 == Info: allocate connect buffer
14:12:58.978308 == Info: Establish HTTP proxy tunnel to 127.0.0.1:20000
14:12:58.978464 => Send header, 118 bytes (0x76)
0000: CONNECT 127.0.0.1:20000 HTTP/1.1
0022: Host: 127.0.0.1:20000
0039: User-Agent: curl/7.84.0-DEV
0056: Proxy-Connection: Keep-Alive
0074:
14:12:58.980376 <= Recv header, 37 bytes (0x25)
0000: HTTP/1.1 200 Connection established
14:12:58.980691 <= Recv header, 2 bytes (0x2)
0000:
14:12:58.980757 == Info: Proxy replied 200 to CONNECT request
14:12:58.980780 == Info: CONNECT phase completed
14:12:58.980801 == Info: STATE: TUNNELING => PROTOCONNECT handle 0x8010f3808; line 2000 (connection #0)
14:12:58.980827 == Info: STATE: PROTOCONNECT => DO handle 0x8010f3808; line 2049 (connection #0)
14:12:58.980989 => Send header, 111 bytes (0x6f)
0000: GET /412 HTTP/1.1
0013: Host: whohoo.:12345
0028: User-Agent: curl/7.84.0-DEV
0045: Accept: */*
0052: Alt-Used: 127.0.0.1:20000
006d:
14:12:58.981111 == Info: STATE: DO => DID handle 0x8010f3808; line 2145 (connection #0)
14:12:58.981136 == Info: STATE: DID => PERFORMING handle 0x8010f3808; line 2264 (connection #0)
14:12:58.982792 == Info: Mark bundle as not supporting multiuse
14:12:58.982812 == Info: HTTP 1.1 or later with persistent connection
14:12:58.982829 <= Recv header, 16 bytes (0x10)
0000: HTTP/1.1 200 OK.
14:12:58.982909 <= Recv header, 36 bytes (0x24)
0000: Date: Tue, 09 Nov 2010 14:49:00 GMT.
14:12:58.982983 <= Recv header, 18 bytes (0x12)
0000: Content-Length: 6.
14:12:58.983033 <= Recv header, 18 bytes (0x12)
0000: Connection: close.
14:12:58.983088 <= Recv header, 24 bytes (0x18)
0000: Content-Type: text/html.
14:12:58.983136 <= Recv header, 19 bytes (0x13)
0000: Funny-head: yesyes.
14:12:58.983186 <= Recv header, 1 bytes (0x1)
0000: .
14:12:58.983220 <= Recv data, 6 bytes (0x6)
0000: -foo-.
14:12:58.983272 == Info: STATE: PERFORMING => DONE handle 0x8010f3808; line 2463 (connection #0)
14:12:58.983293 == Info: multi_done: status: 0 prem: 0 done: 0
14:12:58.984670 == Info: The cache now contains 0 members
14:12:58.984700 == Info: Closing connection 0
14:12:58.984829 == Info: Expire cleared (transfer 0x8010f3808)
Is that the expected behaviour or a bug?
Fabian
-- Unsubscribe: https://lists.haxx.se/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html
- application/pgp-signature attachment: OpenPGP digital signature