aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CANCEL-FCT-WAIVE495
-rw-r--r--CANCEL-FILE-WAIVE15
-rw-r--r--libidn/ChangeLog6
-rw-r--r--libidn/idn-stub.c28
-rw-r--r--libidn/shlib-versions1
-rw-r--r--libidn/toutf8.c1
6 files changed, 538 insertions, 8 deletions
diff --git a/CANCEL-FCT-WAIVE b/CANCEL-FCT-WAIVE
new file mode 100644
index 0000000..5d3fed1
--- /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 be1f37a..1b209ec 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 e5c0529..7321197 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 f2a1161..1e5cc1f 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 0000000..9b27e51
--- /dev/null
+++ b/libidn/shlib-versions
@@ -0,0 +1 @@
+.*-.*-.* libcidn=1
diff --git a/libidn/toutf8.c b/libidn/toutf8.c
index 450cb6d..d16efdb 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"