Re: Gopher TLS support in curl

John Goerzen <[email protected]> Mon, 21 Dec 2020 11:40:09 -0600
Newsgroups gmane.network.gopher.general
Message-ID <[email protected]>
On Mon, Dec 21 2020, Christoph Lohmann wrote:

> Geomyidae uses  a simple  probing, which can  be easily 
> implemented in
> every server.
>
> 	if (recv(sock, &byte0, 1, MSG_PEEK) < )
> 		return 1;
>
> 	if (byte0 == 0x16) {
> 		do_tls();
> 	}

That is a FANTASTIC trick!  Actually it could be expanded to 
simply do plaintext for a non-TLS-capable client.  I personally 
would prefer that, if only because I still want to use UMN gopher 
client sometimes.  There is something about its lovely 90s feel...

> A separate port  will lead to a bifurcated gopher,  because 
> there is no
> support in  gopher menus. Extending  gopher menus leads to  less 
> legacy
> support, which is what makes gopher so much fun.

Well, the gopher menu type does have a spot for port number, and a 
well-known TLS port could be a signal.  But you're right, then 
we're back to the problem of what to do with non-TLS clients.

If the server could auto-detect TLS and hand out plaintext for 
those that don't do it, then hey, port 70 all the way.

- John