Goings-on in the Gemini-verse

Just a quick status update on what I can see going on in the Gemini-verse lately.

Tomasino has taken the time to write up his first impressions[1].

[1] Gemini First Impressions

Solderpunk has two new notes out, one on inputs (searches) and the use of client

certs[2], and one on two options for extending the range of Gemini result codes[3].

[2] Inputs and Client Certs

[3] Two Proposed Status Schemes

I'm gratified to see that Solderpunk's commentary on the use of disposable

client certs refers back to my "Gopher and the Lynx Web"[4] article. I'm not

super excited about implementing client cert handling in Germinal. Partly

because of just the basic complexity of it, partly because I've kind of painted

myself into a corner concerning configuration, and I need to either make big

changes, or rethink things.

One side conversation regarding client certs led to the suggestion that we limit

Gemini to TLS 1.3 (or, in the future, higher), since we don't have to worry

about backward compatibility. I'm in favor of this, and I've been trying to

implement it in Germinal, but it's not working yet.

[4] Gopher and the Lynx Web

As for the response status schemes, I'm slightly in favor of the two-byte

response codes, as they seem a bit semantically richer, as well as easier to

program for. I don't have a really strong preference, though.

Germinal has a small update. It can now be configured to a limited extent

through its environment or command-line switches. You can configure the

interface to listen on, the port to listen on, and the root directory to serve.

I need to update the systemd unit file to take advantage of this, and I need to

also add configuration of the cert and key locations in the same way.

When I add support for client certs, I need to provide some way for authors to

signal to the server that a cert is required, and what criteria the cert has to

meet. I'm either going to have to add a config file, which I don't want to do,

or have it controlled by files in the document root.

Germinal also supports the updated (final) link syntax when generating directory

index pages.

The best place to follow Gemini development seems to be on the Fediverse, on the

Gemini tag.