This is the mail archive of the
mailing list for the glibc project.
Re: RFC: IDN support in getaddrinfo().
- From: Ulrich Drepper <drepper at redhat dot com>
- To: Simon Josefsson <jas at extundo dot com>
- Cc: libc-alpha at sources dot redhat dot com
- Date: Sun, 07 Mar 2004 20:17:51 -0800
- Subject: Re: RFC: IDN support in getaddrinfo().
- Organization: Red Hat, Inc.
- References: <email@example.com> <3FC41F79.firstname.lastname@example.org> <email@example.com> <3FC47A3B.firstname.lastname@example.org> <email@example.com> <3FC4E691.firstname.lastname@example.org> <email@example.com> <3FC4F244.firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <3FC50672.email@example.com> <firstname.lastname@example.org> <email@example.com>
-----BEGIN PGP SIGNED MESSAGE-----
Simon Josefsson wrote:
> Here's a patch that implement the dlopen approach for loading libidn.
> Not exactly the way I originally intended, but it seem rather simple.
Believe it or not, an hour before your patch arrived I started working
on this myself.
Well, I took your update code but had to make a number changes:
~ several files were missing. I've added them from the old version.
~ the toutf8 code supports glibc now correctly. Note, the non-glibc
code isn't really right. You cannot use setlocale() if the program
hasn't done it by itself. And I don't think using the CHARSET envvar
is wise either. Just require the application to chose the right
locale. This is what the glibc code now does.
~ various cleanups. So far only warnings. The only other file I looked
at more then briefly is toutf8. Note the changes I've made, e.g., to
prevent memory leaks or handle memory allocation errors. Also, the
memory allocation is more likely to allocate an output buffer which is
~ in the libc stub, I've added code to prevent using libcidn from being
used if the entire name is ASCII. This is a valid assumption since
all locale encodings must be ASCII safe.
~ also, libcidn gets loaded only once. There is no reason to unload the
object except when the process terminates and complete cleanup is
requested. Look at the file.
~ since libidn is an add-on the use in getaddrinfo() is conditional.
I've added the appropriate configure magic.
Let's get the CANONIDN stuff implemented so that we're done.
â Ulrich Drepper â Red Hat, Inc. â 444 Castro St â Mountain View, CA â
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
-----END PGP SIGNATURE-----