IceCat shows ACE/Punycode instead of IDN

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Mark H Weaver
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 24 Mar 2021 12:46
(address . bug-guix@gnu.org)
87czvog4g4.fsf@inria.fr
IceCat shows ASCII-compatible encoding (ACE, roughly Punycode) for
so-called internationalized domain names (IDNs) instead of displaying
them properly—e.g., https://xn--drivation-b4a.fr/ instead of
<https://dérivation.fr/>.

I believe it purposefully has a white list of the kind of IDNs it
accepts to display properly (to avoid phishing). In ‘about:config’
there’s a set of ‘network.IDN.whitelist’ Booleans, which suggest the
example above should work, but for some reason it doesn’t.

Ideas?

Ludo’.
M
M
Mark H Weaver wrote on 4 Apr 2021 22:49
87wnth7p19.fsf@netris.org
Hi Ludovic,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (5 lines)
> IceCat shows ASCII-compatible encoding (ACE, roughly Punycode) for
> so-called internationalized domain names (IDNs) instead of displaying
> them properly—e.g., <https://xn--drivation-b4a.fr/> instead of
> <https://dérivation.fr/>.

I see the same behavior, which does not happen on 'firefox-esr' on
Debian.

Toggle quote (7 lines)
> I believe it purposefully has a white list of the kind of IDNs it
> accepts to display properly (to avoid phishing). In ‘about:config’
> there’s a set of ‘network.IDN.whitelist’ Booleans, which suggest the
> example above should work, but for some reason it doesn’t.
>
> Ideas?

My first guess is that it has something to do with the fact that support
for language packs is currently broken. Perhaps some data from the
language pack is needed to make decisions about which IDNs to display.

The problem with language packs is that they must now be digitally
signed by Mozilla, and obviously we cannot do that. I guess we need to
find the code that performs those signature checks, and disable it for
language packs found in trusted system directories.

Regards,
Mark
L
L
Ludovic Courtès wrote on 5 Apr 2021 21:57
(name . Mark H Weaver)(address . mhw@netris.org)(address . 47359@debbugs.gnu.org)
87tuokqzbc.fsf@gnu.org
Hi Mark,

Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (10 lines)
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> IceCat shows ASCII-compatible encoding (ACE, roughly Punycode) for
>> so-called internationalized domain names (IDNs) instead of displaying
>> them properly—e.g., <https://xn--drivation-b4a.fr/> instead of
>> <https://dérivation.fr/>.
>
> I see the same behavior, which does not happen on 'firefox-esr' on
> Debian.

Epiphany displays the accented letter, too.

Toggle quote (16 lines)
>> I believe it purposefully has a white list of the kind of IDNs it
>> accepts to display properly (to avoid phishing). In ‘about:config’
>> there’s a set of ‘network.IDN.whitelist’ Booleans, which suggest the
>> example above should work, but for some reason it doesn’t.
>>
>> Ideas?
>
> My first guess is that it has something to do with the fact that support
> for language packs is currently broken. Perhaps some data from the
> language pack is needed to make decisions about which IDNs to display.
>
> The problem with language packs is that they must now be digitally
> signed by Mozilla, and obviously we cannot do that. I guess we need to
> find the code that performs those signature checks, and disable it for
> language packs found in trusted system directories.

Oh, I see. Would be nice if we could achieve that.

Thanks for checking!

Ludo’.
?