πŸ’Ύ Archived View for gem.benscraft.info β€Ί mailing-list β€Ί threads β€Ί 155 captured on 2021-12-05 at 23:47:19. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-03)

-=-=-=-=-=-=-

[spec] The updated speculative specification is now up

- Sean Conner <sean at conman.org>

@ Mon, 05 Apr 2021 22:19 -0400

In reply to

View Message

────────────────────────────────────────────────────────────────────────────────

The updated protocol (only) specification is now up and can be read at:

https://gitlab.com/gemini-specification/protocol/-/blob/master/specification.gmi

I haven't closed the issues related to this, but I did comment on each

issue:

https://gitlab.com/gemini-specification/protocol/-/issues

The specification has been run by Solderpunk and he had no major issues

with what has been written.

As a reminder---this is *just the protocol* itself. I have yet to finish

up on the text format.

-spc

════════════════════════════════════════════════════════════════════════════════

Re: [spec] The updated speculative specification is now up

- Jason McBrayer <jmcbray at carcosa.net>

@ Tue, 06 Apr 2021 08:09 -0400

In reply to Sean Conner <sean at conman.org>

View Message

────────────────────────────────────────────────────────────────────────────────

Sean Conner writes:

The updated protocol (only) specification is now up and can be read
at:

Thanks for all of your work on this. I haven't read it over yet, but I'm

sure I'll have comments when I'm able to.

--

Jason McBrayer | β€œStrange is the night where black stars rise,

jmcbray@carcosa.net | and strange moons circle through the skies,

| but stranger still is lost Carcosa.”

| ― Robert W. Chambers,The King in Yellow

════════════════════════════════════════════════════════════════════════════════

Re: [spec] The updated speculative specification is now up

- almaember <almaember at disroot.org>

@ Tue, 06 Apr 2021 15:10 +0200

In reply to Sean Conner <sean at conman.org>

View Message

────────────────────────────────────────────────────────────────────────────────

Thank you for your work on this! It's great to see this protocol mature!

~almaember

════════════════════════════════════════════════════════════════════════════════

Re: [spec] The updated speculative specification is now up

- nervuri <nervuri at disroot.org>

@ Tue, 06 Apr 2021 16:50 +0000

In reply to Sean Conner <sean at conman.org>

View Message

────────────────────────────────────────────────────────────────────────────────

On Mon, 2021-04-05, Sean Conner wrote:

The updated protocol (only) specification is now up and can be read at:
https://gitlab.com/gemini-specification/protocol/-/blob/master/specification.gmi

Thank you. A few thoughts:

I recommend making each change in a separate commit, to make it easier

to isolate and comment on. In a huge diff like this [1] it's easy to

miss small, but important changes.

[1] https://gitlab.com/gemini-specification/protocol/-/commit/0235100151b57d9f5c3384acdacb4ad9986f7ae4?expanded=1&view=inline

The use of an existing TLS library SHOULD be used, but because not all
existing TLS libraries support TLS 1.3, then at this time (2021),
implementations MUST support TLS version 1.2 or higher.

You probably meant to start with "An existing TLS library SHOULD be

used", but what does this actually mean? Existing as of when? If

someone makes a new TLS library, it will also exist. Also, many

libraries are abandoned, so it will never be the case that "all existing

TLS libraries" will support TLS 1.3, or even 1.2.

I don't think the final Gemini specification should mention libraries at

all. They may be ok as a temporary justification for why TLS 1.2 is in

the spec, but let's see if we can get more clarity on this: what exactly

are we waiting for before TLS 1.3 becomes the minimum version? Support

in BearSSL (which may never be added)? Support in X% of clients and Y%

of servers? Hard to say, isn't it?

TLS 1.2 will send the server name and the client certificate (if used)
in the clear

TLS 1.3 also sends the server name (SNI) in the clear, unless ECH/ESNI

is used. The issue here is that TLS 1.2 is not compatible with

ECH/ESNI. But even with TLS 1.3, public keys need to be put in DNS in

order for ECH/ESNI to work, so it will probably not be a mainstream

feature (although it should be encouraged).

A client MAY warn a user of a TLS 1.2 connection is established, and
SHOULD warn the user of a client certifiate will be transmitted via
TLS 1.2.

It's "if" rather than "of", right?

════════════════════════════════════════════════════════════════════════════════

Re: [spec] The updated speculative specification is now up

- Mansfield <mansfield at ondollo.com>

@ Wed, 07 Apr 2021 19:40 -0600

In reply to Sean Conner <sean at conman.org>

View Message

────────────────────────────────────────────────────────────────────────────────

On Mon, Apr 5, 2021 at 8:19 PM Sean Conner <sean@conman.org> wrote:

The updated protocol (only) specification is now up and can be read at:
https://gitlab.com/gemini-specification/protocol/-/blob/master/specification.gmi
I haven't closed the issues related to this, but I did comment on each
issue:
https://gitlab.com/gemini-specification/protocol/-/issues
The specification has been run by Solderpunk and he had no major issues
with what has been written.
As a reminder---this is *just the protocol* itself. I have yet to finish
up on the text format.
-spc

Thanks Sean. I love the progress... I have quite a lot of feedback and

adjustments.

I'm filing tickets as I see the adjustment while reading through the spec -

hopefully that's an acceptable way for me to help.

════════════════════════════════════════════════════════════════════════════════

Re: [spec] The updated speculative specification is now up

- Sean Conner <sean at conman.org>

@ Wed, 07 Apr 2021 22:35 -0400

In reply to nervuri <nervuri at disroot.org>

View Message

────────────────────────────────────────────────────────────────────────────────

It was thus said that the Great nervuri once stated:

On Mon, 2021-04-05, Sean Conner wrote:
>
> The updated protocol (only) specification is now up and can be read at:
>
> https://gitlab.com/gemini-specification/protocol/-/blob/master/specification.gmi
Thank you. A few thoughts:
I recommend making each change in a separate commit, to make it easier
to isolate and comment on. In a huge diff like this [1] it's easy to
miss small, but important changes.

Further changes should be less massive. I know this change is large, but

only because I felt it easier to just rewrite the document from scratch than

try to adjust the existing one.

[1]
https://gitlab.com/gemini-specification/protocol/-/commit/0235100151b57d9f5c3384acdacb4ad9986f7ae4?expanded=1&view=inline
>The use of an existing TLS library SHOULD be used, but because not all
>existing TLS libraries support TLS 1.3, then at this time (2021),
>implementations MUST support TLS version 1.2 or higher.
You probably meant to start with "An existing TLS library SHOULD be
used", but what does this actually mean? Existing as of when? If
someone makes a new TLS library, it will also exist. Also, many
libraries are abandoned, so it will never be the case that "all existing
TLS libraries" will support TLS 1.3, or even 1.2.

Okay, I reworked this paragraph:

At the time of writing (2021), not all existing TLS libraries

support TLS 1.3, but a majority (all?) do support TLS 1.2, thus TLS

1.2 is the minimum required version. Implementations MUST support

TLS SNI (Server Name Indication), and servers MUST use the TLS

close_notify implementation to close the connection. Clients SHOULD

NOT close a connection by default, but MAY in case the content

exceeds constraints set by the user.

I don't think the final Gemini specification should mention libraries at
all. They may be ok as a temporary justification for why TLS 1.2 is in
the spec, but let's see if we can get more clarity on this: what exactly
are we waiting for before TLS 1.3 becomes the minimum version? Support
in BearSSL (which may never be added)? Support in X% of clients and Y%
of servers? Hard to say, isn't it?

One reason was the use of LibreSSL, which (until relatively recently) only

support TLS 1.2, and there were several large sites using LibreSSL

(including mine, until I switched to using OpenSSL and libretls). Also,

stats [1] show that some 21% of Gemini sites still use TLS 1.2. Personally,

I think that once this falls below 5% (or greater than 95% of all sites

support TLS 1.3) we can revisit this decision.

>TLS 1.2 will send the server name and the client certificate (if used)
>in the clear
TLS 1.3 also sends the server name (SNI) in the clear, unless ECH/ESNI
is used. The issue here is that TLS 1.2 is not compatible with
ECH/ESNI. But even with TLS 1.3, public keys need to be put in DNS in
order for ECH/ESNI to work, so it will probably not be a mainstream
feature (although it should be encouraged).

This, I did not know. I'm not sure what to say about this.

>A client MAY warn a user of a TLS 1.2 connection is established, and
>SHOULD warn the user of a client certifiate will be transmitted via
>TLS 1.2.
It's "if" rather than "of", right?

Yes, fixed. Thanks.

-spc

[1] gemini://gemini.bortzmeyer.org/software/lupa/stats.gmi

════════════════════════════════════════════════════════════════════════════════

Re: [spec] The updated speculative specification is now up

- Sean Conner <sean at conman.org>

@ Wed, 07 Apr 2021 22:36 -0400

In reply to Mansfield <mansfield at ondollo.com>

View Message

────────────────────────────────────────────────────────────────────────────────

It was thus said that the Great Mansfield once stated:

Thanks Sean. I love the progress... I have quite a lot of feedback and
adjustments.
I'm filing tickets as I see the adjustment while reading through the spec -
hopefully that's an acceptable way for me to help.

Yes, that's great! I kept the existing tickets open for this reason.

-spc

════════════════════════════════════════════════════════════════════════════════

Re: [spec] The updated speculative specification is now up

- nervuri <nervuri at disroot.org>

@ Thu, 08 Apr 2021 16:59 +0000

In reply to Sean Conner <sean at conman.org>

View Message

────────────────────────────────────────────────────────────────────────────────

On Wed, 2021-04-07, Sean Conner wrote:

Also, stats [1] show that some 21% of Gemini sites still use TLS 1.2.
Personally, I think that once this falls below 5% (or greater than 95%
of all sites support TLS 1.3) we can revisit this decision.

Ok. We should also test clients. I was working on that, but other

things took priority.

Also, if the actual blocker is the percentage of servers and clients

supporting TLS 1.3, then that's what the specification should say,

rather than referring to libraries. It can be vague, like:

TLS 1.2 is reluctantly permitted until TLS 1.3 support is more
widespread among Gemini servers and clients. The minimum required TLS
version is 1.2, but clients who wish to be "ahead of the curve" MAY
refuse to connect to servers using TLS version 1.2.
Implementations MUST support TLS SNI...

This would be closer to Solderpunk's original text.

════════════════════════════════════════════════════════════════════════════════