diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-01 17:33:08 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-01 17:33:22 -0700 |
commit | 43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13 (patch) | |
tree | e40743a1f237bf407c3daa742b2ad9b6254cb0f1 | |
parent | 2c0cd8f81fee4d9dc8e34254f4f6ed56d5bb6f59 (diff) | |
download | glibc-43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13.tar.gz glibc-43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13.tar.xz glibc-43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13.zip |
Hide internal idna functions [BZ #18822]
Hide internal idna functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/idna.h: New file. * inet/getnameinfo.c: Include <idna.h> instead of <libidn/idna.h>. (__idna_to_unicode_lzlz): Removed. * sysdeps/posix/getaddrinfo.c: Include <idna.h> instead of <libidn/idna.h>. (__idna_to_ascii_lz): Removed. (__idna_to_unicode_lzlz): Likewise.
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | include/idna.h | 8 | ||||
-rw-r--r-- | inet/getnameinfo.c | 4 | ||||
-rw-r--r-- | sysdeps/posix/getaddrinfo.c | 5 |
4 files changed, 22 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index dd228bc2f2..ad10a7a135 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,18 @@ 2017-10-01 H.J. Lu <hongjiu.lu@intel.com> [BZ #18822] + * include/idna.h: New file. + * inet/getnameinfo.c: Include <idna.h> instead of + <libidn/idna.h>. + (__idna_to_unicode_lzlz): Removed. + * sysdeps/posix/getaddrinfo.c: Include <idna.h> instead of + <libidn/idna.h>. + (__idna_to_ascii_lz): Removed. + (__idna_to_unicode_lzlz): Likewise. + +2017-10-01 H.J. Lu <hongjiu.lu@intel.com> + + [BZ #18822] * include/plural-exp.h: New file. * intl/plural-exp.c: Include <plural-exp.h> instead of "plural-exp.h". diff --git a/include/idna.h b/include/idna.h new file mode 100644 index 0000000000..dcb271d575 --- /dev/null +++ b/include/idna.h @@ -0,0 +1,8 @@ +#ifndef _IDNA_H +#include <libidn/idna.h> + +extern __typeof (idna_to_ascii_lz) __idna_to_ascii_lz attribute_hidden; +extern __typeof (idna_to_unicode_lzlz ) __idna_to_unicode_lzlz + attribute_hidden; + +#endif diff --git a/inet/getnameinfo.c b/inet/getnameinfo.c index b41e555f3c..292e087362 100644 --- a/inet/getnameinfo.c +++ b/inet/getnameinfo.c @@ -73,9 +73,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <scratch_buffer.h> #ifdef HAVE_LIBIDN -# include <libidn/idna.h> -extern int __idna_to_unicode_lzlz (const char *input, char **output, - int flags); +# include <idna.h> #endif #ifndef min diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index ce099bdf9c..c58d54dff5 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -86,10 +86,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <inet/net-internal.h> #ifdef HAVE_LIBIDN -extern int __idna_to_ascii_lz (const char *input, char **output, int flags); -extern int __idna_to_unicode_lzlz (const char *input, char **output, - int flags); -# include <libidn/idna.h> +# include <idna.h> #endif struct gaih_service |