Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Sep 2022 09:31:08 +0200
From:      Stefan Esser <se@FreeBSD.org>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: domain names and internationalization?
Message-ID:  <a96f60e8-89dc-3593-15a0-df483467e570@FreeBSD.org>
In-Reply-To: <YQXPR01MB415077A8BEABF94DB0B0F300DD4D9@YQXPR01MB4150.CANPRD01.PROD.OUTLOOK.COM>

index | next in thread | previous in thread | raw e-mail

Am 19.09.22 um 22:27 schrieb Rick Macklem:
> Hi,
> 
> Recently there has been discussion on the NFSv4 IETF working
> group email list w.r.t. internationalization for the domain name
> it uses for users/groups.

Hi Rick,

I do assume that you know about RFC 3492 (Punycode):

	https://datatracker.ietf.org/doc/html/rfc3492

> Right now, I am pretty sure the FreeBSD nfsuserd(8) only works
> for ascii domain names, but...

You can manually translate domain names into their Punycode
representation. The NFS code could work with them and only
translate them back to UTF-8 (or whatever) for display purposes.

For pure ASCII this is an identity transformation, for names
that actually represent UTF-8 strings, the value to send to
DNS servers (and to locally store in the daemon) could be the
internally stored Punycode representation.

> I am hoping someone knows what DNS does in this area (the
> working group list uses terms like umlaut, which I have never
> even heard of;-).

That's the contraction of "ae", "oe", "ue" that has long ago
been introduced into the German writing system, with the "e"
abbreviated to two dots above the vocal, e.g. "ae" --> "รค".
Just a convenience rule to speed up manually copying the bible
in monasteries in medieval times ;-)

But there are many other accented letters in other languages,
that can be used in internationalized domain names, and the
whole set of Unicode characters can be represented using
Punycode.

> I know essentially nothing about internationalization, so any hints
> will be appreciated.

For a start:

	https://en.wikipedia.org/wiki/Internationalized_domain_name
	https://en.wikipedia.org/wiki/Punycode

There are C implementations of the transformations, e.g. in the
dns/libidn2 port.

We do not seem to have equivalent library functions in the
FreeBSD base system yet, but probably should provide them.

Best regards, STefan


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a96f60e8-89dc-3593-15a0-df483467e570>