This is the mail archive of the
mailing list for the glibc project.
Re: RFC: IDN support in getaddrinfo().
Simon Josefsson <email@example.com> writes:
>>> The approach I'm considering is to take the current libc libidn
>>> "add-on" package but change the Versions file so it only export the
>>> necessary APIs in a GLIBC_PRIVATE block. Any problems with this? The
>>> alternative approach I see is to move everything into sysdeps/posix
>>> (or somewhere), but that doesn't seem as clean.
>> We could keep it as a separate add-on. This would be of benefit if you
>> want to continue distributing the same code base separately. I'm no big
>> fan of this. I'd prefer an integration into glibc proper. Maybe adding
>> the code in a subdir (posix/idn, no need to more it to sysdeps).
> Libidn will definitely continue to be distributed, because a
> getaddrinfo API is not enough for many programs (especially for
> non-IDN programs). But I doubt I will be able to re-use the exact
> same files in libidn that goes into libc, so for me add-on vs
> posix/idn doesn't matter much, I think. So I'll integrate it into
On second thought, this might be too short sighted. It would be
beneficial if it was possible to update the libc files (to solve bugs
or improve something) by copying the original files from libidn into
libc. To achieve that, I could add #ifdef _LIBC checks to my code
(although I rather dislike CPP pollution) around stuff that isn't
needed by libc, to make direct copy possible. Is this workable, or do
you want the code actually removed from the files? In that case, I
guess it would be a real fork, and someone would have to carefully
port bug fixes and improvements made to libidn into libc.
I'm currently building as add-on because I started out that way and
re-building libc would take quite some time on my machine. The
current status is that libc with the libidn add-on works, and I'm now
going to make it read the large symbols from file. I won't add
support for the AI_CANONIDN flag now, but leave that for later once
the core functionality has been installed, I hope that's OK.