~aw/flounder

6 2

Fwd: Handling IDN/IRI in proxy.flounder.online

Olivier Raggi
Details
Message ID
<CAOkQZ3eDfGzc5dZLH-xsMnAOHoMe70Pq=B1U0K8ERreTQdW=bA@mail.gmail.com>
DKIM signature
missing
Download raw message
Hello,

Just to gently point out that proxy.flounder.online does not handle
IDNs (domain names in Unicode, RFC 5890) / IRIs (Internationalized
Resource Identifiers, RFC 3987).
It falsely returns "Gateway error: dial tcp: <URL>: no such host" message.

For example: https://proxy.flounder.online/fran%C3%A7ais.lanterne.chilliet.eu

I have note that Vulpes as same behavior, but Mozz.us handle it well:

- https://proxy.vulpes.one/gemini/fran%C3%A7ais.lanterne.chilliet.eu
- https://portal.mozz.us/gemini/fran%C3%A7ais.lanterne.chilliet.eu/

More details on IRI in Gemini:
https://proxy.flounder.online/gemini.bortzmeyer.org/gemini/iri.gmi

I know it's not a straightforward question... it's just to raise
awareness on it.
Thanks.

--
Olivier Raggi
http://orx57.net/
Details
Message ID
<C954X8EI8BZ7.KFNFZC7AX5P1@localhost>
In-Reply-To
<CAOkQZ3eDfGzc5dZLH-xsMnAOHoMe70Pq=B1U0K8ERreTQdW=bA@mail.gmail.com> (view parent)
DKIM signature
pass
Download raw message
Messed up the email forwading (still getting used to sourcehut mailing
lists)

See this thread:

https://lists.sr.ht/~adnano/go-gemini-devel/%3CC954TC1N702O.DL7LPR5BLPMU%40localhost%3E
Details
Message ID
<C954N7E5A1HU.2N2SM5N8B9UNT@localhost>
In-Reply-To
<CAOkQZ3eDfGzc5dZLH-xsMnAOHoMe70Pq=B1U0K8ERreTQdW=bA@mail.gmail.com> (view parent)
DKIM signature
pass
Download raw message
On Tue Feb 9, 2021 at 2:24 AM PST, Olivier Raggi wrote:
> Hello,
>
> Just to gently point out that proxy.flounder.online does not handle
> IDNs (domain names in Unicode, RFC 5890) / IRIs (Internationalized
> Resource Identifiers, RFC 3987).
> It falsely returns "Gateway error: dial tcp: <URL>: no such host"
> message.
>
> For example:
> https://proxy.flounder.online/fran%C3%A7ais.lanterne.chilliet.eu
>
> I have note that Vulpes as same behavior, but Mozz.us handle it well:
>
> - https://proxy.vulpes.one/gemini/fran%C3%A7ais.lanterne.chilliet.eu
> - https://portal.mozz.us/gemini/fran%C3%A7ais.lanterne.chilliet.eu/
>
> More details on IRI in Gemini:
> https://proxy.flounder.online/gemini.bortzmeyer.org/gemini/iri.gmi
>
> I know it's not a straightforward question... it's just to raise
> awareness on it.
> Thanks.
>
> --
> Olivier Raggi
> http://orx57.net/

Hi Oliver. Thanks for making me aware of this. I know this has been a
contentious issue on the mailing list.  In my case, it has to do with
the go-gemini library I use. I am forwarding it to its mailing list for
visibility.

In my view, since this has not been finalized as part of the spec yet,
we should refrain from implementing it and wait until it is. I'll leave
it to Adnano to decide

All the best,
Alex

Re: Handling IDN/IRI in proxy.flounder.online

Details
Message ID
<C9558FQ1SI1J.18TPV1VES2BUM@nitro>
In-Reply-To
<C954N7E5A1HU.2N2SM5N8B9UNT@localhost> (view parent)
DKIM signature
pass
Download raw message
On Tue Feb 9, 2021 at 11:06 AM EST, alex wennerberg wrote:
> Hi Oliver. Thanks for making me aware of this. I know this has been a
> contentious issue on the mailing list. In my case, it has to do with
> the go-gemini library I use. I am forwarding it to its mailing list for
> visibility.
>
> In my view, since this has not been finalized as part of the spec yet,
> we should refrain from implementing it and wait until it is. I'll leave
> it to Adnano to decide
>
> All the best,
> Alex

I am expirimenting to see what it takes to add support for IRIs to
go-gemini.

The Go URL library can parse URLs with non-ASCII characters in them, but
percent encodes those characters upon printing them. This means that
servers and clients that use the Go URL library should be able to handle
URLs with non-ASCII characters in them. However, the URLs will still be
sent percent-encoded across the wire. This should not be a problem.
Eventually we might write our own URL printing function to transmit URLs
without percent-encoding non-ASCII characters.

The only thing left to do is to punycode the domain name before
performing a DNS lookup. I may end up implementing this in go-gemini,
but it would be nice if an official decision regarding IRIs would come
before that.

Re: Handling IDN/IRI in proxy.flounder.online

Details
Message ID
<C95C7DLA66DV.H8FI8ET0OW9P@nitro>
In-Reply-To
<C9558FQ1SI1J.18TPV1VES2BUM@nitro> (view parent)
DKIM signature
pass
Download raw message
go-gemini now punycodes IDNs before performing a DNS lookup, and sends
the punycoded IDN to the server as part of the request URL. So IDNs
are now supported without any changes to existing code that uses
go-gemini.

Since go-gemini uses the Go URL library, it supports parsing IRIs, but
it will always percent-encode non-ASCII characters when sending them to
the server. This shouldn't really be a problem.

Should the Gemini specification be updated to require the use of IRIs,
go-gemini will need to be updated to send the non-punycoded IDN to the
server.

Re: Handling IDN/IRI in proxy.flounder.online

Details
Message ID
<C95FIDTA8R41.IA51Q47NVOZ9@localhost>
In-Reply-To
<C95C7DLA66DV.H8FI8ET0OW9P@nitro> (view parent)
DKIM signature
pass
Download raw message
This has been added to Flounder!

On Tue Feb 9, 2021 at 2:01 PM PST, Adnan Maolood wrote:
> go-gemini now punycodes IDNs before performing a DNS lookup, and sends
> the punycoded IDN to the server as part of the request URL. So IDNs
> are now supported without any changes to existing code that uses
> go-gemini.
>
> Since go-gemini uses the Go URL library, it supports parsing IRIs, but
> it will always percent-encode non-ASCII characters when sending them to
> the server. This shouldn't really be a problem.
>
> Should the Gemini specification be updated to require the use of IRIs,
> go-gemini will need to be updated to send the non-punycoded IDN to the
> server.

Re: Handling IDN/IRI in proxy.flounder.online

Details
Message ID
<C95FFLBKH3XA.1WMRMZJR5G3T3@localhost>
In-Reply-To
<C95C7DLA66DV.H8FI8ET0OW9P@nitro> (view parent)
DKIM signature
pass
Download raw message
Thank you Adnan! I have upgraded my dependency. Olivier, the link you
provided now works :)

Alex

On Tue Feb 9, 2021 at 2:01 PM PST, Adnan Maolood wrote:
> go-gemini now punycodes IDNs before performing a DNS lookup, and sends
> the punycoded IDN to the server as part of the request URL. So IDNs
> are now supported without any changes to existing code that uses
> go-gemini.
>
> Since go-gemini uses the Go URL library, it supports parsing IRIs, but
> it will always percent-encode non-ASCII characters when sending them to
> the server. This shouldn't really be a problem.
>
> Should the Gemini specification be updated to require the use of IRIs,
> go-gemini will need to be updated to send the non-punycoded IDN to the
> server.
Reply to thread Export thread (mbox)