curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support. 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 Daniel himself.

HTTP PUT from file with weird letters through proxy

From: Fabian Keil via curl-library <curl-library_at_lists.haxx.se>
Date: Wed, 13 May 2026 15:13:04 +0200

I recently noticed that test58 fails when using Privoxy as proxy.

The test expects the letters used for the percent-encoding to
be upper-case but they are lower-case when using a proxy.

The patch at [0] adds a test that can be used to reproduce the
"issue" without using Privoxy:

    fk_at_t520 ~/git/curl/tests $./runtests.pl -n 1628
    Using curl: ../src/curl
    ********* System characteristics ********
    * curl 8.21.0-DEV (amd64-unknown-freebsd15.1)
    * libcurl/8.21.0-DEV OpenSSL/3.0.19 zlib/1.3.2 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.5 nghttp2/1.68.1
    * Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s smtp smtps telnet tftp ws wss
    * Features: alt-svc AsynchDNS brotli Debug HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz PSL SSL threadsafe TLS-SRP UnixSockets zstd
    * Disabled: win32-ca-searchpath, win32-ca-search-safe, override-dns, ssl-sessions
    * Host: t520.local
    * System: ElectroBSD t520.local 15.1-STABLE ElectroBSD 15.1-STABLE #64 electrobsd-15-n283851-9c91bf3b2a6e: 2026-05-13 00:59:16 +0000 fk_at_t520.local:/usr/obj/usr/src/amd64.amd64/sys/ELECTRO_BEER amd64
    * OS: freebsd
    * Perl: v5.42.2 (/usr/local/bin/perl)
    * Args: -n 1628
    * Seed: 260565
    * Servers: SSL HTTP-IPv6 HTTP-unix FTP-IPv6
    *****************************************
    test 1628...[HTTP PUT from file with weird letters through proxy]

     1628: protocol FAILED:
    --- log/check-expected 2026-05-13 15:02:52.009053000 +0200
    +++ log/check-generated 2026-05-13 15:02:52.008898000 +0200
    _at__at_ -1,4 +1,4 _at__at_
    -PUT http://www.example.org/we/want/1628te%5B%5Dst.txt HTTP/1.1[CR][LF]
    +PUT http://www.example.org/we/want/1628te%5b%5dst.txt HTTP/1.1[CR][LF]
     Host: www.example.org[CR][LF]
     User-Agent: curl/8.21.0-DEV[CR][LF]
     Accept: */*[CR][LF]

     - abort tests
    TESTDONE: 1 tests were considered during 1 seconds.
    TESTDONE: 0 tests out of 1 reported OK: 0%

    FAIL 1628: 'HTTP PUT from file with weird letters through proxy' HTTP, HTTP PUT, HTTP proxy

    TESTFAIL: These test cases failed: 1628

Any opinions on whether or not this difference in libcurl's
behaviour is intentional?

Fabian

[0]: <https://www.fabiankeil.de/sourcecode/curl-Add-test1628-HTTP-PUT-from-file-with-weird-letters.diff>
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2026-05-13