Skip to content
main
Switch branches/tags
Code

Daniel's weekly report

April 8, 2022

Happened this week

Uncurled

I have had a few pending blog posts about doing Open Source in draft state for a few years by now and this week I finally made up my mind: instead of making these blog posts, I am going to convert them and gather other notes, thoughts and documents of mine into a book about my experiences and lessons from a life (well, three decades at least) with Open Source. I've started the work without yet announcing where/how the work in progress can be seen, although lots of good people of course have found it and started to provide feedback and help me out. I am blessed with the best friends.

I am happy with what I have managed to blurt together already the first few days (at 8,500 words and counting), and there is still more to write and expand on. I really need to consider how to properly put it all together in a comprehensible way. To make the result approachable and decently readable. But I am not in hurry.

If you have ideas of what you would like to see me cover, let me know.

I asked for title suggestions on Twitter and I got a flood of good suggestions back. I have decided to go with:

Uncurled - everything I know and learned about running and maintaining Open Source projects for three decades.

Rate limit curl

I grabbed another old outstanding bullet point from the TODO document in the curl repository and put together a new command line option proposal for curl. Using this, tentatively called --rate, option you can ask curl to do transfers/requests no faster than N transfers per M time units when you ask curl to do multiple transfers in a serial manner.

Very early days still for it, but I'm open for your criticism and feedback on how it planned to work.

Deprecate RANDOM_FILE and EGDSOCKET

In one of my passes of the curl source code, it struck me that we have two setopt options for libcurl that are not in effective use anymore. The CURLOPT_RANDOM_FILE and CURLOPT_EGDSOCKET options were only supported with older OpenSSL versions that mostly are extinct now.

I'm moving forward to deprecate them and their command line option companions.

Android debugging

I had a productive meeting with customer S and their somewhat strange problems with curl_multi_wakeup() on Android. We have some ideas on further debugging, logging and analyzing strategies that should help us continue to narrow down and understand when and why the problem appears...

WinCE

Meanwhile, customer W had virtually no issues at all building and running a recent libcurl version for WinCE 5.0.

curl up

At our weekly curl meeting yesterday at wolfSSL we decided to move forward and try to organize something curl up - like in San Francisco. We are now investigating the venue situation. More details to follow soon if things just line up as we hope to.

User survey

I started to go over the questions in the annual curl user survey to freshen them up and also edit them based on feedback we got last year - add/remove answer alternatives, maybe remove some questions and see if we should add something. Right now, I aim at making the survey go live on Monday May 16th.

Blog posts

  • no posts this week

Coming up

  • I will be off next week, going somewhere a few days in search of spring

Feedback

Comment here

April 1, 2022

Happened this week

New CVE coming

We've worked a little on a pending new CVE for curl that has been reported and confirmed. It is a security vulnerability and we have a patch done already. Left to do is to write up a thorough and complete advisory and soon to apply for a CVE id for it. This is going to be first security vulnerability in curl that is eligible for a reward via the Internet Bug Bounty, which curl is a part of since last year.

We will publish the CVE details in sync with the next release, planned to happen on April 27.

busy-loop

An separate issue filed as a suspected security vulnerability was the MQTT busy-loop I blogged about. It was one of those tricky problems that took me a few days to make up my mind about before I landed on not a security issue.

The reporter, Jenny Heino, wrote a blog post about the finding from her point of view.

h2-bugs

You would like to believe that the HTTP/2 logic in libcurl would be fairly stable by now, but... there are always more polish to be done. We fixed several minor issues, in what are probably edge cases but still.

Generic TLS (ALPN) messaging

I did some tidying up among the TLS backends and have introduced common strings for some ALPN related verbose messages. The point would be to make curl output the same messages about TLS related things, independent of which backend that is used. I started doing this for ALPN related texts but I figured this is a good idea in general so hopefully I will get to making more strings identical this way.

Feature freeze

On March 30 we closed the feature window for this cycle. Now we will only merge bug-fixes till the next release.

Podcast

My podcast appearance on software engineering radio went up this week. An compact hour of me talking a lot about curl, development, releases, production, success and more.

Everything curl

The book grew over 700 lines this week and is now more than 90,000 words and 13,000 lines.

I added new pages about caches, alt-svc and the curl_easy_option API etc.

I've cleaned up the language use on words like runtime, wildcard, "an HTTP" (as compared to "a HTTP") and use of uppercase URL. Consistency is king.

Blog posts

Coming up

  • curl on Win CE for customer
  • customer meeting talking deep libcurl debugging in mobile phone apps

Feedback

Comment here

Older weekly reports