[PATCH] Switch IDNA implementation to libidn2 [BZ #19728] [BZ #19729] [BZ #22247]

Florian Weimer fweimer@redhat.com
Mon Feb 5 08:41:00 GMT 2018


On 02/05/2018 08:42 AM, Rical Jasan wrote:
> On 02/04/2018 02:28 AM, Florian Weimer wrote:
>> On 02/04/2018 03:54 AM, Rical Jasan wrote:
>>> On 02/02/2018 04:41 AM, Florian Weimer wrote:
>>>> This is the patch rebased to 2.28.  It still depends on the
>>>> allocate_once patch (which has been reviewed).
>>>>
>>>> I'd especially appreciate a review of the makefile/build system changes.
>>>
>>> If the default is to build with an external libidn2 if possible,
>>> shouldn't there be a configure switch to build --without-libidn2 (or
>>> --en/disable-idn, etc.)?
>>
>> There is no build or mandatory run-time dependency on libidn2.  The
>> glibc implementation of AI_* merely assumes that libidn2 will not change
>> ABI without changing SONAME or symbol version.  I don't think a
>> configure flag is needed.
> 
> So libidn2 is optional, and glibc builds fine with or without it, but if
> it finds it, it will build against it, correct?  Because it's optional,
> I think we should have the ability to tell glibc not to build against
> libidn2 even if it's found.

Whether libidn2 is available at build time or not does not matter at 
all.  idna.c duplicates the four or so required declarations from the 
libidn2 header files, and dlopen and dlvsym are used at run time.

Thanks,
Florian



More information about the Libc-alpha mailing list