diff options
-rw-r--r-- | CANCEL-FCT-WAIVE | 495 | ||||
-rw-r--r-- | CANCEL-FILE-WAIVE | 15 | ||||
-rw-r--r-- | libidn/ChangeLog | 6 | ||||
-rw-r--r-- | libidn/idn-stub.c | 28 | ||||
-rw-r--r-- | libidn/shlib-versions | 1 | ||||
-rw-r--r-- | libidn/toutf8.c | 1 |
6 files changed, 538 insertions, 8 deletions
diff --git a/CANCEL-FCT-WAIVE b/CANCEL-FCT-WAIVE new file mode 100644 index 0000000000..5d3fed1883 --- /dev/null +++ b/CANCEL-FCT-WAIVE @@ -0,0 +1,495 @@ +_IO_default_finish +_IO_default_pbackfail +_IO_default_xsgetn +_IO_fgets +_IO_file_open +_IO_file_read +_IO_fprintf +_IO_free_backup_area +_IO_free_wbackup_area +_IO_ftell +_IO_getc +_IO_getline +_IO_getline_info +_IO_gets +_IO_peekc_locked +_IO_printf +_IO_seekoff +_IO_seekpos +_IO_sprintf +_IO_sscanf +_IO_str_pbackfail +_IO_unsave_markers +_IO_unsave_wmarkers +_IO_vfprintf +_IO_vfscanf +_IO_vsprintf +_IO_wdefault_finish +_IO_wdefault_pbackfail +_IO_wdefault_xsgetn +_IO_wfile_seekoff +_IO_wfile_underflow +__asprintf +__assert +__assert_fail +__assert_perror_fail +__backtrace_symbols +__backtrace_symbols_fd +__close +__connect +__dcgettext +__deregister_frame +__deregister_frame_info +__deregister_frame_info_bases +__dgettext +__endmntent +__fork +__fpurge +__freelocale +__getdelim +__getmntent_r +__gmtime_r +__internal_endnetgrent +__internal_getnetgrent_r +__libc_accept +__libc_close +__libc_connect +__libc_fork +__libc_free +__libc_freeres +__libc_fsync +__libc_memalign +__libc_msgrcv +__libc_msgsnd +__libc_msync +__libc_nanosleep +__libc_open +__libc_pause +__libc_pread +__libc_pwrite +__libc_read +__libc_readv +__libc_realloc +__libc_recv +__libc_recvfrom +__libc_recvmsg +__libc_send +__libc_sendmsg +__libc_sendto +__libc_start_main +__libc_system +__libc_tcdrain +__libc_valloc +__libc_wait +__libc_waitpid +__libc_write +__libc_writev +__mbrlen +__mbrtowc +__nanosleep +__newlocale +__nss_group_lookup +__nss_hostname_digits_dots +__nss_hosts_lookup +__nss_lookup_function +__nss_next +__nss_passwd_lookup +__open +__open_catalog +__poll +__printf_fp +__pselect +__read +__res_init +__res_ninit +__select +__send +__setmntent +__sigsuspend +__sigtimedwait +__sigwait +__sigwaitinfo +__strcoll_l +__strerror_r +__strfmon_l +__strftime_l +__strxfrm_l +__uflow +__underflow +__vfscanf +__vsnprintf +__vsscanf +__wait +__waitid +__waitpid +__wcscoll_l +__wcsftime_l +__wcsxfrm_l +__write +__wuflow +__wunderflow +_dl_close +_dl_open +accept +addmntent +addseverity +alphasort +argp_error +argp_failure +argp_state_help +argp_usage +argz_add +argz_add_sep +argz_append +argz_create_sep +argz_delete +argz_insert +argz_replace +asctime +asctime_r +asprintf +backtrace_symbols +backtrace_symbols_fd +btowc +canonicalize_file_name +catclose +catopen +cfree +clearenv +close +closedir +connect +creat +ctime +ctime_r +cuserid +dcgettext +dcngettext +dgettext +dngettext +dprintf +ecvt +ecvt_r +endaliasent +endfsent +endgrent +endhostent +endmntent +endmntent +endnetent +endprotoent +endpwent +endrpcent +endservent +endspent +endttyent +endusershell +envz_add +envz_merge +envz_remove +err +error +error_at_line +errx +ether_hostton +ether_ntoa +ether_ntoa_r +ether_ntohost +exit +fcvt +fcvt_r +fexecve +fgetc +fgetc_unlocked +fgetgrent +fgetgrent_r +fgetpwent +fgetpwent_r +fgets +fgets_unlocked +fgetspent +fgetspent_r +fgetwc +fgetwc_unlocked +fgetws +fgetws_unlocked +fmemopen +fmtmsg +fopen64 +fork +fprintf +free +freelocale +freopen +freopen64 +fscanf +fseek +fseeko +fseeko64 +fstatvfs +fstatvfs64 +fsync +ftell +ftello +ftello64 +fts_children +fts_close +fts_open +fts_read +fwprintf +fwscanf +gcvt +get_current_dir_name +get_nprocs +get_nprocs_conf +getaliasbyname +getaliasent +getc +getc_unlocked +getchar +getchar_unlocked +getcwd +getdate +getdate_r +getdelim +getgrent +getgrgid +getgrnam +getgrouplist +gethostbyaddr +gethostbyname +gethostbyname2 +gethostent +gethostid +getline +getmntent +getmntent_r +getnameinfo +getnetbyaddr +getnetbyname +getnetent +getopt +getopt_long +getopt_long_only +getprotobyname +getprotobynumber +getprotoent +getpt +getpw +getpwent +getpwnam +getpwuid +getrpcbyname +getrpcbynumber +getrpcent +gets +getservbyname +getservbyport +getservent +getspent +getspnam +gettext +getttyent +getttynam +getwc +getwc_unlocked +getwchar +getwchar_unlocked +getwd +glob +globfree +globfree64 +gmtime +gmtime_r +hdestroy +hdestroy_r +herror +hstrerror +iconv +iconv_close +iconv_open +if_freenameindex +if_indextoname +if_nameindex +if_nametoindex +inet6_option_alloc +inet6_option_append +inet_ntoa +initgroups +lckpwdf +localtime +localtime_r +lockf +makecontext +mblen +mbrlen +mbrtowc +mbsnrtowcs +mbsrtowcs +mbstowcs +mbtowc +mcheck +mcheck_pedantic +memalign +mkdtemp +mkstemp +mkstemp64 +mktemp +mktime +msgrcv +msgsnd +msync +mtrace +mtrace +muntrace +nanosleep +newlocale +ngettext +obstack_printf +obstack_vprintf +open +open_memstream +parse_printf_format +pause +perror +poll +posix_fallocate +posix_memalign +posix_openpt +posix_spawn +posix_spawn_file_actions_addclose +posix_spawn_file_actions_adddup2 +posix_spawn_file_actions_addopen +posix_spawn_file_actions_destroy +posix_spawnp +pread +printf +printf_size +pselect +psignal +pthread_exit +putenv +putgrent +putpwent +putspent +pwrite +qecvt +qecvt_r +qfcvt +qfcvt_r +qgcvt +qsort +re_comp +re_compile_pattern +read +readv +realloc +recv +recvfrom +recvmsg +regcomp +regerror +regfree +rewind +scandir +scanf +select +send +send +sendmsg +sendto +setaliasent +setenv +setgrent +sethostent +setlocale +setmntent +setnetent +setprotoent +setpwent +setrpcent +setservent +setspent +setttyent +sgetspent +sigpause +sigsuspend +sigtimedwait +sigwait +sigwaitinfo +sleep +snprintf +sprintf +sprofil +sscanf +statvfs +statvfs64 +strcoll +strcoll_l +strerror +strerror_r +strfmon +strfmon_l +strftime +strftime_l +strsignal +strxfrm +strxfrm_l +swprintf +swscanf +system +tcdrain +tdelete +tempnam +textdomain +timegm +timelocal +tmpfile64 +tmpnam +tmpnam_r +ttyslot +ulckpwdf +usleep +valloc +vasprintf +vdprintf +verr +verrx +vfprintf +vfscanf +vfwprintf +vfwscanf +vprintf +vscanf +vsnprintf +vsprintf +vsscanf +vswprintf +vswscanf +vwarn +vwarnx +vwprintf +vwscanf +wait +waitid +waitpid +warn +warnx +wcrtomb +wcscoll +wcscoll_l +wcsftime +wcsftime_l +wcsnrtombs +wcsrtombs +wcstombs +wcsxfrm +wcsxfrm_l +wctob +wctomb +wordexp +wordfree +wprintf +write +writev +wscanf diff --git a/CANCEL-FILE-WAIVE b/CANCEL-FILE-WAIVE index be1f37aac2..1b209ec914 100644 --- a/CANCEL-FILE-WAIVE +++ b/CANCEL-FILE-WAIVE @@ -1,6 +1,8 @@ mkdtemp.os +mktemp.os tmpnam.os tmpnam_r.os +tempnam.os __assert.os assert.os assert-perr.os @@ -31,3 +33,16 @@ fmemopen.os closedir.os hsearch.os hsearch_r.os +catgets.os +digits_dots.os +localealias.os +gconv_conf.os +mtrace.os +tzfile.os +tzset.os +ruserpass.os +mntent_r.os +fstab.os +getttyent.os +nsswitch.os +res_init.os diff --git a/libidn/ChangeLog b/libidn/ChangeLog index e5c052966b..73211970e6 100644 --- a/libidn/ChangeLog +++ b/libidn/ChangeLog @@ -1,3 +1,9 @@ +2004-03-07 Ulrich Drepper <drepper@redhat.com> + + * idn-stub.c: Include <gnu/lib-names.h>. Use LIBCIDN_SO for dlopen. + * shlib-versions: New file. + * toutf8.c: Include <sys/param.h>. + 2004-03-07 Simon Josefsson <jas@extundo.com> * Banner: New file. diff --git a/libidn/idn-stub.c b/libidn/idn-stub.c index f2a11611ef..1e5cc1f6f9 100644 --- a/libidn/idn-stub.c +++ b/libidn/idn-stub.c @@ -23,6 +23,8 @@ #include <stdio.h> #include <string.h> #include <dlfcn.h> +#include <gnu/lib-names.h> +#include <bits/libc-lock.h> /* Get specification for idna_to_ascii_lz. */ #include "idna.h" @@ -53,20 +55,30 @@ __idna_to_ascii_lz (const char *input, char **output, int flags) if (h == NULL) { - h = __libc_dlopen ("libcidn.so"); + __libc_lock_define_initialized (static, lock); + __libc_lock_lock (lock); + + /* Retest in case some other thread arrived here at the same time. */ if (h == NULL) - h = (void *) 1l; - else { - /* Get the function we are interested in. */ - to_ascii_lz = __libc_dlsym (h, "idna_to_ascii_lz"); - if (to_ascii_lz == NULL) + h = __libc_dlopen (LIBCIDN_SO); + + if (h == NULL) + h = (void *) 1l; + else { - __libc_dlclose (h); - h = (void *) 1l; + /* Get the function we are interested in. */ + to_ascii_lz = __libc_dlsym (h, "idna_to_ascii_lz"); + if (to_ascii_lz == NULL) + { + __libc_dlclose (h); + h = (void *) 1l; + } } } + + __libc_lock_unlock (lock); } if (h == (void *) 1l) diff --git a/libidn/shlib-versions b/libidn/shlib-versions new file mode 100644 index 0000000000..9b27e5196b --- /dev/null +++ b/libidn/shlib-versions @@ -0,0 +1 @@ +.*-.*-.* libcidn=1 diff --git a/libidn/toutf8.c b/libidn/toutf8.c index 450cb6db50..d16efdb5b9 100644 --- a/libidn/toutf8.c +++ b/libidn/toutf8.c @@ -27,6 +27,7 @@ #include <stdlib.h> #include <string.h> #include <errno.h> +#include <sys/param.h> #include "stringprep.h" |