[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Failure with libidn2 on OpenBSD.
From: |
Simon Josefsson |
Subject: |
Re: Failure with libidn2 on OpenBSD. |
Date: |
Mon, 25 Jan 2021 12:43:37 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Mats Erik Andersson <mats.andersson@gisladisker.se> writes:
> MÃ¥ndag den 25:e januari 2021, klockan 08:47, skrev simon--- via Bug
> reports for the GNU Internet utilities detta:
>> Indeed, on a modern system with glibc, everything works via getaddrinfo
>> without need to link with libidn/libidn2. The code in inetutils is
>> buggy today (it passes on non-domains to IDNA functions), and if anyone
>> wants IDN-enabled applications on non-GNU systems, the best place to fix
>> this would be in gnulib's getaddrinfo. Then it would work automatically
>> in inetutils too. Fixing the bugs and supporting the build complexity
>> just to cater for non-GNU platforms is not worth the maintainence cost
>> for us, IMHO.
>>
>> Given the discussion above, I propose to remove all uses of
>> libidn/libidn2 from inetutils, and place a note in gnulib's getaddrinfo
>> that it is missing IDN-functionality to mimic glibc's IDN behaviour. I
>> might even get around to adding IDN-functionality to gnulib, but no
>> promises.
>>
>> Any objections? I'll test the rest of the apps in InetUtils and remove
>> this code if there aren't any objections.
>
> As can be expected, I do object to the removal of our IDN-code, as long
> as no other provider of the corresponding functionality is present.
> My Sisyphos task of keeping Inetutils useful beyond glibc-systems is
> truely a never ending mission, expected to last until my demise or to
> my retirement, whichever comes first.
>
> Why is the action simply to disable IDN-linkage for glibc-systems so
> repulsive that you want to cripple all other users?
Hi Mats! Please re-read the thread to see the original problem -- the
current InetUtils IDN-related code is problematic, in two ways:
1) Linking directly to libidn/libidn2 by simple applications is not
recommended any more and few applications ended up doing so. Simple
applications should use getaddrinfo() which is IDN-enabled on
glibc-systems (via libidn2). By having libidn/libidn2-specific code
in InetUtils we will trigger bugs that we wouldn't otherwise
have... such as:
2) The current IDN-related code in InetUtils is buggy: it shouldn't
pass strings such as ::1 that aren't domain names to IDNA functions.
Solving 2) may sound like a step forward, but it will hide all other
problems stemming from 1) and it adds even more complexity, which will
in all likelyhood introduce a new set of bugs.
The place to add portability improvements that cater to non-GNU systems
should be in gnulib, in my opinion.
I'll avoid committing anything here to not upset the status quo and
focus on getting an alpha out. I think getting the release out has
priority over any particular improvement or bugfix right now, including
my own pet issues.
/Simon
signature.asc
Description: PGP signature