[Daniel's week] January 19, 2024

Daniel Stenberg daniel at haxx.se
Fri Jan 19 23:33:01 CET 2024


Hi friends.

Apparently it was another packed week. Here is some of the stuff that went 
down:

## curldown

I have been pondering about this for a long time but this week I finally
grabbed this thing and ran with it: I am introducing a new document format for
libcurl man pages [1]. I call it curldown, because it is basically a subset of
markdown with some curl specific twists.

The idea behind it is that it introduces a document format that is easier to
read, easier to edit and more familiar to more contributors than what we
previously used. It is basically markdown. Ideally, this makes it easier for
more people contribute on documentation and even to read the docs already in
its source format.

There are additional benefits in writing the docs in a different format than
nroff, the actual format man pages use, as this allows our tooling to generate
them and clean them up, format them and otherwise polish the output in ways we
previously could not.

I decided to write my own tooling for this instead of using one of the many
capable markdown-to-manpage converters that exist out there for a few reasons:
I want the highest possible degree of integration into the rest of the
documentation infrastructure and total control of the output. The man page
format should ideally be very similar to the previous versions as we have
*numerous* test cases that verify formatting, linking and language of
those. We also have a lot of website infrastructure that parses and converts
those man pages so it is important that they don't change too much, as that
would cause way too many ripple effects on other things.

Once I decided to use a format that is a markdown subset and decided to even
use `.md` file extensions, I realized a fun side-effect: our CI jobs that run
lots of language checks, proselint etc suddenly then also verified another 500
markdown pages and that gave me an additional set of tasks to complete for
this PR....

The PR adds and deletes around 47,000 lines and is almost done. Unfortunately
I also have to fix the cmake build system to render the man pages correctly
and as I don't like cmake I don't know it, so now I'm sitting here a late
Friday evening trying to figure out how to do it. It is basically the last
remaining step before I can merge this beast.

## OpenSSL QUIC

Stefan Eissing has been doing good progress on his work on adapting the curl
HTTP/3 support to use the OpenSSL QUIC API [4]. He has a first PR for curl [2]
and there is a big discussion thread over at OpenSSL [3] about API details and
functionality (possibly) missing in their API.

Based on what it looks like right now, it might take a while until we can ship
HTTP/3 non-experimental using the OpenSSL QUIC.

As a Friday bonus, I posted an updated image of how the curl HTTP/3 backend
situation looks like with the newly added OpenSSL QUIC option added to the mix
[5].

## emails

I improved my emails collection site [6] a little further, and now there are
"prev" and "next" links on every single email to make it easier for readers to
scan through them.

## everything curl

The single-HTML version was improved [8], the PDF version has fewer too-wide
sections and I rearranged it quite a lot to make sections appear in (to me) a
more logical order and fashion [9].

## CVE management

I did a video presentation on the Tuesday for an Australian user group and
talked about "CVE management in curl". There is a lot to say. I got lots of
good questions and it was fun to do a talk to people on the other side of the
globe who walked around in shorts in the evening when I had -15C in a dark
Swedish winter morning...

## CNA

The curl project was eventually accepted as a CNA (CVE Numbering Authority)
[7]. Coming CVE Ids for curl will be managed by ourselves. The timing was a
little amusing as this announcement came basically hours after I did that CVE
management talk where I mentioned this CNA plan of ours...

## curl up

I have been postponing this for too long already. By next week I mean to set a
date for the 2024 curl up physical meetup [10]. The curl developers and fans
conference were we join a weekend and talk curl related subjects for two full
days, hang out and push the project and ourselves forward. It will be in the
April/May period.

Once a day is set, the next step will be to decide on a location. A European
city with a venue that suits.

Also: I plan on working on a funding plan and pay for core contributors to
show up. Travel and lodging.

## distro meeting

I have been talking to some people and I will try to talk some more and try to
setup a longer video meeting/conference later on in the 2024 spring, bringing
"curl distributors" and curl contributors together. The people who work on
distributions like Debian, Fedora, Red Hat and all the other Linux distros and
other distributions and discuss what we can do to improve curl and the curl
experience to end users. Collboration, tests, features, everything.

I will post more details and thoughts soonish on a fixed URL, and also decide
on a date and how you can sign up if you think this sounds interesting.

## Coming up

- Landing my curldown PR
- Merging Stefan's first OpenSSL QUIC PR
- Getting more QNX work done
- Figuring out the details of me going to Canada in May
- Deciding on a curl up date
- Deciding on a curl distro meeting date
- Reading and working with Dan Fanrich's proposal on test infra work
- Start putting together the material for my coming FOSDEM talks

## Links

[1] = https://github.com/curl/curl/pull/12730
[2] = https://github.com/curl/curl/pull/12734
[3] = https://github.com/openssl/openssl/discussions/23339
[4] = https://daniel.haxx.se/blog/2024/01/09/funding-stefans-curl-work/
[5] = https://mastodon.social/@bagder/111783529411961288
[6] = https://bagder.github.io/emails/
[7] = https://daniel.haxx.se/blog/2024/01/16/curl-is-a-cna/
[8] = https://daniel.haxx.se/everything-curl/
[9] = https://everything.curl.dev/
[10] = https://github.com/curl/curl-up/wiki

-- 

  / daniel.haxx.se



More information about the daniel mailing list