]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Hide internal idna functions [BZ #18822]
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 2 Oct 2017 00:33:08 +0000 (17:33 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 2 Oct 2017 00:33:22 +0000 (17:33 -0700)
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.

ChangeLog
include/idna.h [new file with mode: 0644]
inet/getnameinfo.c
sysdeps/posix/getaddrinfo.c

index dd228bc2f2cbf7f53868f66371490c185406af68..ad10a7a1350da0046879daceff2e8c34f4b8d60a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+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]
diff --git a/include/idna.h b/include/idna.h
new file mode 100644 (file)
index 0000000..dcb271d
--- /dev/null
@@ -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
index b41e555f3cec99be9c2a5285911e03e1d44700bd..292e087362d4954f97b00c87abc346e3ae5794c6 100644 (file)
@@ -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
index ce099bdf9cc5585c4c4f0f7ef55d7f6b91b4811c..c58d54dff508d2edb2cd23e1a8d7653743c4d0a1 100644 (file)
@@ -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