daniel:// stenberg://
banner
bagder.mastodon.social.ap.brid.gy
daniel:// stenberg://
@bagder.mastodon.social.ap.brid.gy
I write curl. I don't know anything.

[bridged from https://mastodon.social/@bagder on the fediverse by https://fed.brid.gy/ ]
With less than seven hours from sunrise to sunset, Stockholm Sweden qualifies. A black Friday.
November 28, 2025 at 10:43 PM
My week: https://lists.haxx.se/pipermail/daniel/2025-November/000136.html

strict torture, backtrace, tiny curl, slop graph, stdint, AI tooling
November 28, 2025 at 10:29 PM
"Hi Daniel,

cURL is an awesome tool and based on your website, you seem like an awesome guy!

Thank you,
[name]"
November 28, 2025 at 8:20 AM
On Thursday next week (Dec 5) I will do a tiny #curl webinar. Sign up for it here: https://us02web.zoom.us/webinar/register/2616747721343/WN_4Q1yoktwQJGJ8snjywnmAw#/registration

It will be made available on video after the fact.

tiny-curl is a libcurl flavor designed for the smaller devices […]
Original post on mastodon.social
mastodon.social
November 27, 2025 at 9:09 AM
Someone invoked #curl on Windows powershell, saw a problem and reported it to us.

Yes. It was the dreaded alias. Again. Not a problem in "the real curl". I tried to get rid of this sorry thing, remember?

https://daniel.haxx.se/blog/2016/08/19/removing-the-powershell-curl-alias/
Removing the PowerShell curl alias?
PowerShell is a spiced up command line shell made by Microsoft. According to some people, it is a really useful and good shell alternative. Already a long time ago, we got bug reports from confused users who couldn’t use curl from their PowerShell prompts and it didn’t take long until we figured out that Microsoft had added aliases for both curl and wget. The alias had the shell instead invoke its own command called “Invoke-WebRequest” whenever curl or wget was entered. Invoke-WebRequest being PowerShell’s own version of a command line tool for fiddling with URLs. Invoke-WebRequest is of course not anywhere near similar to neither curl nor wget and it doesn’t support any of the command line options or anything. The aliases really don’t help users. No user who would want the actual curl or wget is helped by these aliases, and users who don’t know about the real curl and wget won’t use the aliases. **They were and remain pointless.** But they’ve remained a thorn in my side ever since. Me knowing that they are there and confusing users every now and then – not me personally, since I’m not really a Windows guy. Fast forward to modern days: Microsoft released PowerShell as open source on github yesterday. Without much further ado, I filed a Pull-Request, asking the aliases to be removed. It is a minuscule, 4 line patch. It took way longer to git clone the repo than to make the actual patch and submit the pull request! It took 34 minutes for them to close the pull request: > “Those aliases have existed for multiple releases, so removing them would be a breaking change.” To be honest, I didn’t expect them to merge it easily. I figure they added those aliases for a reason back in the day and it seems unlikely that I as an outsider would just make them change that decision just like this out of the blue. But the story didn’t end there. Obviously more Microsoft people gave the PR some attention and more comments were added. Like this: > “You bring up a great point. We added a number of aliases for Unix commands but if someone has installed those commands on WIndows, those aliases screw them up. > > We need to fix this.” So, maybe it will trigger a change anyway? The story is ongoing…
daniel.haxx.se
November 26, 2025 at 8:17 AM
Interesting numbers.

#curl on my Linux machine can download a large file from http://localhost at 5.0GiB/sec. Pointing to the file:// version of the exact same file "only" increases the speed to .8.8GiB/sec.
November 25, 2025 at 3:35 PM
A sentence that makes me all warm and happy inside?

"220 CI jobs completed green within twenty minutes"
November 25, 2025 at 8:15 AM
Welcome Sunny as #curl commit author 1420: https://github.com/curl/curl/pull/19683
examples: fix minor typo by TheLastZombie · Pull Request #19683 · curl/curl
github.com
November 25, 2025 at 7:59 AM
If you have an idea for a <500 line stand-alone example C code using #libcurl, tell us!

https://curl.se/libcurl/c/example.html
libcurl - source code examples
curl.se
November 24, 2025 at 10:40 PM
When a user closes an issue in an open source project with a snide remark after I propose they do a bit of debugging and research on their own is not the evil comeback the user probably thinks it is.

It is not *my* problem.
November 24, 2025 at 10:22 PM
On Linux, if I want a library that can produce a nice stack trace on demand with function name + line number in my C code, which is your recommended choice?
November 23, 2025 at 12:28 PM
On this day nine years ago, #curl received its first security audit report.

https://daniel.haxx.se/blog/2016/11/23/curl-security-audit/
curl security audit
> “the overall impression of the state of security and robustness > of the cURL library was positive.” I asked for, and we were granted a security audit of curl from the Mozilla Secure Open Source program a while ago. This was done by Mozilla getting a 3rd party company involved to do the job and footing the bill for it. The auditing company is called Cure53. I applied for the security audit because I feel that we’ve had some security related issues lately and I’ve had the feeling that we might be missing something so it would be really good to get some experts’ eyes on the code. Also, as curl is one of the most used software components in the world a serious problem in curl could have a serious impact on tools, devices and applications everywhere. We don’t want that to happen. ## Scans and tests and all We run static analyzers on the code frequently with a zero warnings tolerance. The daily clang-analyzer scan hasn’t found a problem in a long time and the Coverity once-every-few-weeks occasionally finds something suspicious but we always fix those immediately. We have thousands of tests and unit tests that we run non-stop on the code on multiple platforms running multiple build combinations. We also use valgrind when running tests to verify memory use and check for potential memory leaks. ## Secrecy The audit itself. The report and the work on fixing the issues were all done on closed mailing lists without revealing to the world what was really going on. All as our fine security process describes. There are several downsides with fixing things secretly. One of the primary ones is that we get much fewer eyes on the fixes and there aren’t that many people involved when discussing solutions or approaches to the issues at hand. Another is that our test infrastructure is made for and runs only public code so the code can’t really be fully tested until it is merged into the public git repository. ## The report We got the report on September 23, 2016 and it certainly gave us a lot of work. The audit report has now been made public and is a very interesting work if you’re into security, C code and curl hacking. I find the report very clear, well written and it spells out each problem very accurately and even shows proof of concept code snippets and exploit examples to drive the points home. Quoted from the report intro: > As for the approach, the test was rooted in the public availability of the source code belonging to the cURL software and the investigation involved five testers of the Cure53 team. The tool was tested over the course of twenty days in August and September of 2016 and main efforts were focused on examining cURL 7.50.1. and later versions of cURL. It has to be noted that rather than employ fuzzing or similar approaches to validate the robustness of the build of the application and library, the latter goal was pursued through a classic source code audit. Sources covering authentication, various protocols, and, partly, SSL/TLS, were analyzed in considerable detail. A rationale behind this type of scoping pointed to these parts of the cURL tool that were most likely to be prone and exposed to real-life attack scenarios. Rounding up the methodology of the classic code audit, Cure53 benefited from certain tools, which included ASAN targeted with detecting memory errors, as well as Helgrind, which was tasked with pinpointing synchronization errors with the threading model. They identified no less than twenty-three (23) potential problems in the code, out of which nine were deemed security vulnerabilities. But I’d also like to emphasize that they did also actually say this: > **At the same time, the overall impression of the state of security and robustness of the cURL library was positive.** ## Resolving problems In the curl security team we decided to downgrade one of the 9 vulnerabilities to a “plain bug” since the required attack scenario was very complicated and the risk deemed small, and two of the issues we squashed into treating them as a single one. That left us with 7 security vulnerabilities. Whoa, that’s a lot. The largest amount we’ve ever fixed in a single release before was 4. I consider handling security issues in the project to be one of my most important tasks; pretty much all other jobs are down-prioritized in comparison. So with a large queue of security work, a lot of bug fixing and work on features basically had to halt. You can get a fairly detailed description of our work on fixing the issues in the fix and validation log. The report, the log and the advisories we’ve already posted should cover enough details about these problems and associated fixes that I don’t feel a need to write about them much further. ## More problems Just because we got our hands full with an audit report doesn’t mean that the world stops, right? While working on the issues one by one to have them fixed we also ended up getting an additional 4 security issues to add to the set, by three independent individuals. All these issues gave me a **really** busy period and it felt great when we finally shipped 7.51.0 and announced all those eleven fixes to the world and I could get a short period of relief until the next tsunami hits.
daniel.haxx.se
November 22, 2025 at 11:17 PM
The known risks when using #curl document is now available on the website: https://curl.se/docs/knownrisks.html
curl - Known risks
curl.se
November 22, 2025 at 12:15 PM
My week: https://lists.haxx.se/pipermail/daniel/2025-November/000135.html

strict torture, 3,000, Hackerone, Known risks, QUERY, Daniel uses, AI tooling
November 21, 2025 at 9:53 PM
How AI help us build higher bar charts in the #curl project
November 21, 2025 at 4:21 PM
One of the mysteries of the world. People sending made up reports about a service on a URL that doesn't exist...
November 21, 2025 at 1:46 PM
We crank it up to over 3,000 this year. #curl
November 21, 2025 at 8:13 AM
Reposted by daniel:// stenberg://
Help us tweak this new document: KNOWN_RISKS.

Known risks when running and using #curl and libcurl

https://github.com/curl/curl/pull/19631
KNOWN_RISKS: known risks when running and using curl and libcurl by bagder · Pull Request #19631 · curl/curl
github.com
November 20, 2025 at 11:08 PM
Help us tweak this new document: KNOWN_RISKS.

Known risks when running and using #curl and libcurl

https://github.com/curl/curl/pull/19631
KNOWN_RISKS: known risks when running and using curl and libcurl by bagder · Pull Request #19631 · curl/curl
github.com
November 20, 2025 at 11:08 PM
The European Union Agency for Cybersecurity (ENISA) is now a Root in the CVE Program

https://www.cve.org/PartnerInformation/ListofPartners/partner/ENISA
November 20, 2025 at 6:08 PM
First Open Source project to get a commit by a sitting monarch?
November 19, 2025 at 3:45 PM
In 2007 I did a talk about #curl at the FSCONS conference. The video is lost in time but today I realized that FSF Europe is still hosting the torrent file.

Not too many seeders of that content left though... 😎 […]
Original post on mastodon.social
mastodon.social
November 18, 2025 at 11:12 PM
I know, you didn't ask for this but nonetheless, these are things I use:

https://daniel.haxx.se/uses.html
November 18, 2025 at 10:48 PM
Friends don't let friends disable TLS server verification. (#curl is used, but the check is explicitly disabled by the app)

https://www.ush.it/2025/11/14/multiple-vulnerabilities-gosign-desktop-remote-code-execution/
ush.it - a beautiful place
www.ush.it
November 18, 2025 at 3:08 PM