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.
This commit is contained in:
H.J. Lu 2017-10-01 17:33:08 -07:00
parent 2c0cd8f81f
commit 43b7dfd1b6
4 changed files with 22 additions and 7 deletions

View File

@ -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]

8
include/idna.h Normal file
View File

@ -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

View 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

View 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