Search
Items tagged with: Curl
http: In alt-svc negotiation only allow supported HTTP versions by nmeum · Pull Request #17037 · curl/curl
Without this patch, the handling of the alt-svc header added via 279a477 (CC: @icing) in curl-8.13.0 attempts to connect to alternative services via different HTTP versions, even if the target HTTP...GitHub
curl_get_line: handle lines ending on the buffer boundary by cole-h · Pull Request #17036 · curl/curl
Very similar to 9f8bdd0, but affects e.g. netrc file parsing. Suggested-by: Graham Christensen graham@grahamc.com I opted to write a Perl test for this, since I didn't know how dynamic the %HO...GitHub
"Hello Daniel,
I see that libcurl has been used in several scraping builds — I’m hiring for a freelance job that relies on custom session handling and API scraping logic."
Oh dear. I know I talk about getting people to pay for #curl, but I think this taking is it a little too far... 🤠
curl HTTP/3 with OpenSSL 3.5 may be coming you way soon. Tatsuhiro, the maintainer of ngtcp2, did the (unnecessarly) heavy lifting to adapt and I did the comparatively few changes for it in curl.
Once ngtcp2 releases, we can merge that hopefully for the next curl release. If you want to test, see:
https://github.com/curl/curl/pull/17027
#curl #http3
ngtcp2+openssl support by icing · Pull Request #17027 · curl/curl
With the new addition of QUIC support and the support in ngtcp2 main branch, make the necessary adjustments in curl to support this combination. add support in configure.ac to detect the feature O...GitHub
Summing up the #curl distro 2025 meet
https://daniel.haxx.se/blog/2025/04/10/summing-up-the-curl-distro-2025-meet/
My kind of meeting.
Summing up the curl distro 2025 meet
On April 10 we ran the curl distro meeting 2025. A, by now, annual open meeting where maintainers from the curl project hang out with curl package maintainers for distros and other people who are interested.daniel.haxx.se
The annual #curl distro meeting happened. Thanks everyone who participated. Good discussions. Excellent feedback. I have some action items.
curl might just get yet a little better as a result of this!
It looks like the #OpenSSL QUIC API might be supported in the coming #ngtcp2 1.12.0 release:
https://github.com/ngtcp2/ngtcp2/pull/1582
This could be exciting for #curl users building with #OpenSSL ...
Add libngtcp2_crypto_ossl, osslclient and osslserver by tatsuhiro-t · Pull Request #1582 · ngtcp2/ngtcp2
Add libngtcp2_crypto_ossl, osslclient and osslserver libngtcp2_crypto_ossl is an ngtcp2 crypto helper library for OpenSSL >= 3.5. If libngtcp2_crypto_ossl is used, an application must make sur...GitHub
MSFT should be tried in the Hague for silently overloading #curl with Invoke-WebRequest in PowerShell. Just tell me cURL isn't installed!
Edit: Thanks! curl.exe *is*, but still, justice for `curl`
docs: fix incorrect shell substitution in docker run example command by jeliasson · Pull Request #16990 · curl/curl
Corrected the volume mount path in the Docker run example by replacing (pwd) with the shell substitution syntax $(pwd). This ensures the current working directory is properly mounted into the conta...GitHub
Reminder: we do the #curl distro meeting 2025 this Thursday!
https://github.com/curl/curl/wiki/curl-distro-discussion-2025
curl distro discussion 2025
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP...GitHub
The blog post from yday brought back this question: why aren't we using C99 in #curl? Here's my past response:
https://daniel.haxx.se/blog/2022/11/17/considering-c99-for-curl/
Considering C99 for curl
tldr: we stick to C89 for now. The curl project builds on foundations that started in late 1996 with the tool named httpget.daniel.haxx.se
Remember, if you just take this day as a weekend, your #curl rewrite could be finished
(from the collection at https://daniel.haxx.se/blog/2021/05/20/i-could-rewrite-curl/)
“I could rewrite curl”
Collected quotes and snippets from people publicly sneezing off or belittling what curl is, explaining how easy it would be to make a replacement in no time with no effort or generally not being very helpful. These are statements made seriously.daniel.haxx.se
Writing C for #curl
https://daniel.haxx.se/blog/2025/04/07/writing-c-for-curl/
Writing C for curl
It is a somewhat common question to me: how do we write C in curl to make it safe and secure for billions of installations? Some precautions we take and decisions we make. There is no silver bullet, just guidelines.daniel.haxx.se
It's been six years now since #curl dropped support for HTTP/1 pipelining.
https://daniel.haxx.se/blog/2019/04/06/curl-says-bye-bye-to-pipelining/
I have never regretted it.
curl says bye bye to pipelining
HTTP/1.1 Pipelining is the protocol feature where the client sends off a second HTTP/1.1 request already before the answer to the previous request has arrived (completely) from the server. It is defined in the original HTTP/1.daniel.haxx.se
The #curl repository now contains more than 100,000 lines of documentation.
100,002 lines to be exact. 😁
http_aws_sigv4: add additional verbose log statements to sigv4 calculation by nbaws · Pull Request #16952 · curl/curl
To use curl as a tool for troubleshooting SigV4 signing, it is useful to have the 'Canonical Request', 'String To Sign' and 'Signature' calculations output. This trivial pat...GitHub
You maintain a 5,000+ line configure.ac file? Holy fuck. You poor man.
Folks, please help this guy get the therapy he needs:
#curl's configure script has 75(!) different --disable options to disable specific things in the build.
That's 37778931862957161709568 build combinations only there. Tricky to test.
I'll speak at Joy of Coding in Rotterdam in June: https://joyofcoding.org/speakers.html
I'll bring #curl stickers. It could be fun!
Joy of Coding 2025 - June 27, 2025
A one-day conference that celebrates the art, craft, science but foremost the joy of software developmentjoyofcoding.org
amusing stat: in #curl 8.13.0 we have "surviving" code lines from 622 authors. (who has at least one production code line with their name in git blame)
That's 11 *fewer* than in the previous release.
In fact, we peaked at 636 unique authors in version 8.10.1 and it has gone down since.
No, I don't have any conclusion to make based on this. It's just variations over time.
Remember the #curl distro meeting 2025 next week! https://github.com/curl/curl/wiki/curl-distro-discussion-2025
To make #curl better in distros. To make distros ship better #curl. To make everyone happier and the world a little nicer.
curl distro discussion 2025
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP...GitHub
A fun problem with having done 266 releases: documentation that refers to specific past releases sometimes accidentally mention a release that actually doesn't exist, and it's not that easy to spot...
I'm now adding tests to #curl that verifies that all mentioned versions in docs actually are legit past versions!
#curl 8.13.0
https://daniel.haxx.se/blog/2025/04/02/curl-8-13-0/
curl 8.13.0
Welcome to another curl release. Download it here. Release presentation I will do a live-streamed curl 8.13.daniel.haxx.se
in what way should #curl change or adapt to the coming Resumable Uploads for HTTP spec?
https://www.ietf.org/archive/id/draft-ietf-httpbis-resumable-upload-07.html
Resumable Uploads for HTTP
Data transfer using the Hypertext Transfer Protocol ( ) is often interrupted by canceled requests or dropped connections.www.ietf.org
running random #curl command lines for 60 seconds in CI for every commit.
Fail the test on unexpected exit codes or crashes.
======
4755 command lines
5203 config line uses
Recorded exit codes:
0: 1781 times
1: 86 times
26: 4244 times
2: 3847 times
Number or command lines tested:
9958 (166.0/second)
Number or command line options tested:
244381 (average 24.5 per command line)
Number or different options tested:
326 out of 326
HTTPS RR in #curl
https://daniel.haxx.se/blog/2025/03/31/https-rr-in-curl/
HTTPS RR in curl
RFC 9460 describes a DNS Resource Record (RR) named HTTPS. To highlight that it is exactly this DNS record called HTTPS we speak of, we try to always call it HTTPS RR using both words next to each other.daniel.haxx.se
We have at least 290(!) logged bugfixes queued up for the #curl release coming in four days. That's more than 6 bugs squashed per day on average during this release cycle.
Just imagine how many bugs we must be adding! 😉