From 43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 1 Oct 2017 17:33:08 -0700 Subject: [PATCH] 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 instead of . (__idna_to_unicode_lzlz): Removed. * sysdeps/posix/getaddrinfo.c: Include instead of . (__idna_to_ascii_lz): Removed. (__idna_to_unicode_lzlz): Likewise. --- ChangeLog | 12 ++++++++++++ include/idna.h | 8 ++++++++ inet/getnameinfo.c | 4 +--- sysdeps/posix/getaddrinfo.c | 5 +---- 4 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 include/idna.h diff --git a/ChangeLog b/ChangeLog index dd228bc2f2..ad10a7a135 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2017-10-01 H.J. Lu + + [BZ #18822] + * include/idna.h: New file. + * inet/getnameinfo.c: Include instead of + . + (__idna_to_unicode_lzlz): Removed. + * sysdeps/posix/getaddrinfo.c: Include instead of + . + (__idna_to_ascii_lz): Removed. + (__idna_to_unicode_lzlz): Likewise. + 2017-10-01 H.J. Lu [BZ #18822] 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 + +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 #ifdef HAVE_LIBIDN -# include -extern int __idna_to_unicode_lzlz (const char *input, char **output, - int flags); +# include #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 #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 +# include #endif struct gaih_service