aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 17:33:08 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 17:33:22 -0700
commit43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13 (patch)
treee40743a1f237bf407c3daa742b2ad9b6254cb0f1
parent2c0cd8f81fee4d9dc8e34254f4f6ed56d5bb6f59 (diff)
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--ChangeLog12
-rw-r--r--include/idna.h8
-rw-r--r--inet/getnameinfo.c4
-rw-r--r--sysdeps/posix/getaddrinfo.c5
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