curl / Mailing Lists / curl-library / Single Mail
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.

Test 1543 failing when run through proxy

From: Fabian Keil via curl-library <>
Date: Wed, 3 Aug 2022 09:24:55 +0200

I recently noticed that test 1543 fails when
Privoxy is being used as proxy.

It's not a big deal and I can simply skip the test,
however the failure looks interesting:

test 1543...[CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL]

 1543: stdout FAILED:
Unprocessed headers:
--- log/check-expected 2022-06-15 19:09:48.214336000 +0200
+++ log/check-generated 2022-06-15 19:09:48.214108000 +0200
_at__at_ -1,5 +1,6 _at__at_
+Invalid header received from client.[LF]
 res 0[LF]
-status 200[LF]
-redirects 1[LF]
+status 400[LF]
+redirects 0[LF]
+effectiveurl /with/ space/ /file[LF]
 redirecturl blank[LF]

fk_at_t520 ~/git/privoxy/tests/cts $tail -n 8 logs/upstream-tests.log
2022-06-15 19:09:48.208 800e12000 Connect: Waiting for the next client connection. Currently active threads: 1
2022-06-15 19:09:48.208 800e12e00 Connect: Accepted connection from on socket 4
2022-06-15 19:09:48.208 800e12e00 Received: from socket 4: GET /with/ space/ /file HTTP/1.1\x0d\x0aHost:\x0d\x0aAccept: */*\x0d\x0aProxy-Connection: Keep-Alive\x0d\x0a\x0d\x0a
2022-06-15 19:09:48.208 800e12e00 Writing: to socket 4: HTTP/1.1 400 Invalid header received from client\x0d\x0aContent-Type: text/plain\x0d\x0aConnection: close\x0d\x0a\x0d\x0aInvalid header received from client.\x0a - - [15/Jun/2022:19:09:48 +0200] "Invalid request" 400 0
2022-06-15 19:09:48.208 800e12e00 Error: Couldn't parse request line received from Parse error
2022-06-15 19:09:48.208 800e12e00 Connect: Closing client socket 4. Keep-alive: 0. Socket alive: 1. Data available: 0. Configuration file change detected: 0. Requests received: 1.
2022-06-15 19:09:53.596 800e12000 Info: exiting by signal 15 .. bye

My interpretation is that libcurl encodes the spaces in the
URL when run without proxy (and the test's <protocol> section
seems to indicate that this is expected) but not when a proxy
is being used.


Received on 2022-08-03