mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-23 16:20:26 -05:00
b32 compat stuff.
git-svn-id: file:///svn/unbound/trunk@1241 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
62fc91f7f1
commit
144978d633
8 changed files with 6072 additions and 3131 deletions
222
aclocal.m4
vendored
222
aclocal.m4
vendored
|
|
@ -1,7 +1,7 @@
|
||||||
# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
|
# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||||
# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2005 Free Software Foundation, Inc.
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
|
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
|
||||||
|
|
||||||
# serial 51 AC_PROG_LIBTOOL
|
# serial 52 AC_PROG_LIBTOOL
|
||||||
|
|
||||||
|
|
||||||
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
|
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
|
||||||
|
|
@ -101,7 +101,6 @@ AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
|
||||||
AC_REQUIRE([AC_OBJEXT])dnl
|
AC_REQUIRE([AC_OBJEXT])dnl
|
||||||
AC_REQUIRE([AC_EXEEXT])dnl
|
AC_REQUIRE([AC_EXEEXT])dnl
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
AC_LIBTOOL_SYS_MAX_CMD_LEN
|
AC_LIBTOOL_SYS_MAX_CMD_LEN
|
||||||
AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
|
AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
|
||||||
AC_LIBTOOL_OBJDIR
|
AC_LIBTOOL_OBJDIR
|
||||||
|
|
@ -203,6 +202,8 @@ file_magic*)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
_LT_REQUIRED_DARWIN_CHECKS
|
||||||
|
|
||||||
AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
|
AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
|
||||||
AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
|
AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
|
||||||
enable_win32_dll=yes, enable_win32_dll=no)
|
enable_win32_dll=yes, enable_win32_dll=no)
|
||||||
|
|
@ -282,9 +283,80 @@ ac_outfile=conftest.$ac_objext
|
||||||
echo "$lt_simple_link_test_code" >conftest.$ac_ext
|
echo "$lt_simple_link_test_code" >conftest.$ac_ext
|
||||||
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
|
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
|
||||||
_lt_linker_boilerplate=`cat conftest.err`
|
_lt_linker_boilerplate=`cat conftest.err`
|
||||||
$rm conftest*
|
$rm -r conftest*
|
||||||
])# _LT_LINKER_BOILERPLATE
|
])# _LT_LINKER_BOILERPLATE
|
||||||
|
|
||||||
|
# _LT_REQUIRED_DARWIN_CHECKS
|
||||||
|
# --------------------------
|
||||||
|
# Check for some things on darwin
|
||||||
|
AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
|
||||||
|
case $host_os in
|
||||||
|
rhapsody* | darwin*)
|
||||||
|
AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
|
||||||
|
AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
|
||||||
|
[lt_cv_apple_cc_single_mod=no
|
||||||
|
if test -z "${LT_MULTI_MODULE}"; then
|
||||||
|
# By default we will add the -single_module flag. You can override
|
||||||
|
# by either setting the environment variable LT_MULTI_MODULE
|
||||||
|
# non-empty at configure time, or by adding -multi_module to the
|
||||||
|
# link flags.
|
||||||
|
echo "int foo(void){return 1;}" > conftest.c
|
||||||
|
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
|
||||||
|
-dynamiclib ${wl}-single_module conftest.c
|
||||||
|
if test -f libconftest.dylib; then
|
||||||
|
lt_cv_apple_cc_single_mod=yes
|
||||||
|
rm -rf libconftest.dylib*
|
||||||
|
fi
|
||||||
|
rm conftest.c
|
||||||
|
fi])
|
||||||
|
AC_CACHE_CHECK([for -exported_symbols_list linker flag],
|
||||||
|
[lt_cv_ld_exported_symbols_list],
|
||||||
|
[lt_cv_ld_exported_symbols_list=no
|
||||||
|
save_LDFLAGS=$LDFLAGS
|
||||||
|
echo "_main" > conftest.sym
|
||||||
|
LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
|
||||||
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
|
||||||
|
[lt_cv_ld_exported_symbols_list=yes],
|
||||||
|
[lt_cv_ld_exported_symbols_list=no])
|
||||||
|
LDFLAGS="$save_LDFLAGS"
|
||||||
|
])
|
||||||
|
case $host_os in
|
||||||
|
rhapsody* | darwin1.[[0123]])
|
||||||
|
_lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
|
||||||
|
darwin1.*)
|
||||||
|
_lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
|
||||||
|
darwin*)
|
||||||
|
# if running on 10.5 or later, the deployment target defaults
|
||||||
|
# to the OS version, if on x86, and 10.4, the deployment
|
||||||
|
# target defaults to 10.4. Don't you love it?
|
||||||
|
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
|
||||||
|
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
|
||||||
|
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
|
||||||
|
10.[[012]]*)
|
||||||
|
_lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
|
||||||
|
10.*)
|
||||||
|
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test "$lt_cv_apple_cc_single_mod" = "yes"; then
|
||||||
|
_lt_dar_single_mod='$single_module'
|
||||||
|
fi
|
||||||
|
if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
|
||||||
|
_lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
|
||||||
|
else
|
||||||
|
_lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
|
||||||
|
fi
|
||||||
|
if test "$DSYMUTIL" != ":"; then
|
||||||
|
_lt_dsymutil="~$DSYMUTIL \$lib || :"
|
||||||
|
else
|
||||||
|
_lt_dsymutil=
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
|
||||||
# _LT_AC_SYS_LIBPATH_AIX
|
# _LT_AC_SYS_LIBPATH_AIX
|
||||||
# ----------------------
|
# ----------------------
|
||||||
|
|
@ -565,7 +637,6 @@ s390*-*linux*|sparc*-*linux*)
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
*64-bit*)
|
*64-bit*)
|
||||||
libsuff=64
|
|
||||||
case $host in
|
case $host in
|
||||||
x86_64-*kfreebsd*-gnu)
|
x86_64-*kfreebsd*-gnu)
|
||||||
LD="${LD-ld} -m elf_x86_64_fbsd"
|
LD="${LD-ld} -m elf_x86_64_fbsd"
|
||||||
|
|
@ -610,7 +681,11 @@ sparc*-*solaris*)
|
||||||
*64-bit*)
|
*64-bit*)
|
||||||
case $lt_cv_prog_gnu_ld in
|
case $lt_cv_prog_gnu_ld in
|
||||||
yes*) LD="${LD-ld} -m elf64_sparc" ;;
|
yes*) LD="${LD-ld} -m elf64_sparc" ;;
|
||||||
*) LD="${LD-ld} -64" ;;
|
*)
|
||||||
|
if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
|
||||||
|
LD="${LD-ld} -64"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -703,7 +778,7 @@ AC_CACHE_CHECK([$1], [$2],
|
||||||
$2=yes
|
$2=yes
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
$rm conftest*
|
$rm -r conftest*
|
||||||
LDFLAGS="$save_LDFLAGS"
|
LDFLAGS="$save_LDFLAGS"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
@ -974,7 +1049,7 @@ else
|
||||||
AC_CHECK_FUNC([shl_load],
|
AC_CHECK_FUNC([shl_load],
|
||||||
[lt_cv_dlopen="shl_load"],
|
[lt_cv_dlopen="shl_load"],
|
||||||
[AC_CHECK_LIB([dld], [shl_load],
|
[AC_CHECK_LIB([dld], [shl_load],
|
||||||
[lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
|
[lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
|
||||||
[AC_CHECK_FUNC([dlopen],
|
[AC_CHECK_FUNC([dlopen],
|
||||||
[lt_cv_dlopen="dlopen"],
|
[lt_cv_dlopen="dlopen"],
|
||||||
[AC_CHECK_LIB([dl], [dlopen],
|
[AC_CHECK_LIB([dl], [dlopen],
|
||||||
|
|
@ -982,7 +1057,7 @@ else
|
||||||
[AC_CHECK_LIB([svld], [dlopen],
|
[AC_CHECK_LIB([svld], [dlopen],
|
||||||
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
|
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
|
||||||
[AC_CHECK_LIB([dld], [dld_link],
|
[AC_CHECK_LIB([dld], [dld_link],
|
||||||
[lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
|
[lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
|
|
@ -1299,7 +1374,7 @@ aix3*)
|
||||||
soname_spec='${libname}${release}${shared_ext}$major'
|
soname_spec='${libname}${release}${shared_ext}$major'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
aix4* | aix5*)
|
aix[[4-9]]*)
|
||||||
version_type=linux
|
version_type=linux
|
||||||
need_lib_prefix=no
|
need_lib_prefix=no
|
||||||
need_version=no
|
need_version=no
|
||||||
|
|
@ -1624,13 +1699,11 @@ linux* | k*bsd*-gnu)
|
||||||
# Some rework will be needed to allow for fast_install
|
# Some rework will be needed to allow for fast_install
|
||||||
# before this can be enabled.
|
# before this can be enabled.
|
||||||
hardcode_into_libs=yes
|
hardcode_into_libs=yes
|
||||||
sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
|
|
||||||
sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
|
|
||||||
|
|
||||||
# Append ld.so.conf contents to the search path
|
# Append ld.so.conf contents to the search path
|
||||||
if test -f /etc/ld.so.conf; then
|
if test -f /etc/ld.so.conf; then
|
||||||
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
|
|
@ -1822,6 +1895,13 @@ esac
|
||||||
AC_MSG_RESULT([$dynamic_linker])
|
AC_MSG_RESULT([$dynamic_linker])
|
||||||
test "$dynamic_linker" = no && can_build_shared=no
|
test "$dynamic_linker" = no && can_build_shared=no
|
||||||
|
|
||||||
|
AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
|
||||||
|
[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
|
||||||
|
sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
|
||||||
|
AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
|
||||||
|
[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
|
||||||
|
sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
|
||||||
|
|
||||||
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
|
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
|
||||||
if test "$GCC" = yes; then
|
if test "$GCC" = yes; then
|
||||||
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
|
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
|
||||||
|
|
@ -2321,7 +2401,7 @@ lt_cv_deplibs_check_method='unknown'
|
||||||
# whether `pass_all' will *always* work, you probably want this one.
|
# whether `pass_all' will *always* work, you probably want this one.
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
aix4* | aix5*)
|
aix[[4-9]]*)
|
||||||
lt_cv_deplibs_check_method=pass_all
|
lt_cv_deplibs_check_method=pass_all
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|
@ -2757,7 +2837,7 @@ aix3*)
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
aix4* | aix5*)
|
aix[[4-9]]*)
|
||||||
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
|
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
|
||||||
test "$enable_shared" = yes && enable_static=no
|
test "$enable_shared" = yes && enable_static=no
|
||||||
fi
|
fi
|
||||||
|
|
@ -2814,6 +2894,7 @@ _LT_AC_TAGVAR(postdep_objects, $1)=
|
||||||
_LT_AC_TAGVAR(predeps, $1)=
|
_LT_AC_TAGVAR(predeps, $1)=
|
||||||
_LT_AC_TAGVAR(postdeps, $1)=
|
_LT_AC_TAGVAR(postdeps, $1)=
|
||||||
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
|
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
|
||||||
|
_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
|
||||||
|
|
||||||
# Source file extension for C++ test sources.
|
# Source file extension for C++ test sources.
|
||||||
ac_ext=cpp
|
ac_ext=cpp
|
||||||
|
|
@ -2923,7 +3004,7 @@ case $host_os in
|
||||||
# FIXME: insert proper C++ library support
|
# FIXME: insert proper C++ library support
|
||||||
_LT_AC_TAGVAR(ld_shlibs, $1)=no
|
_LT_AC_TAGVAR(ld_shlibs, $1)=no
|
||||||
;;
|
;;
|
||||||
aix4* | aix5*)
|
aix[[4-9]]*)
|
||||||
if test "$host_cpu" = ia64; then
|
if test "$host_cpu" = ia64; then
|
||||||
# On IA64, the linker does run time linking by default, so we don't
|
# On IA64, the linker does run time linking by default, so we don't
|
||||||
# have to do anything special.
|
# have to do anything special.
|
||||||
|
|
@ -2936,7 +3017,7 @@ case $host_os in
|
||||||
# Test if we are trying to use run time linking or normal
|
# Test if we are trying to use run time linking or normal
|
||||||
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||||
# need to do runtime linking.
|
# need to do runtime linking.
|
||||||
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
|
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
|
||||||
for ld_flag in $LDFLAGS; do
|
for ld_flag in $LDFLAGS; do
|
||||||
case $ld_flag in
|
case $ld_flag in
|
||||||
*-brtl*)
|
*-brtl*)
|
||||||
|
|
@ -3082,51 +3163,23 @@ case $host_os in
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
darwin* | rhapsody*)
|
darwin* | rhapsody*)
|
||||||
case $host_os in
|
|
||||||
rhapsody* | darwin1.[[012]])
|
|
||||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
|
|
||||||
;;
|
|
||||||
*) # Darwin 1.3 on
|
|
||||||
if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
|
|
||||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
|
|
||||||
else
|
|
||||||
case ${MACOSX_DEPLOYMENT_TARGET} in
|
|
||||||
10.[[012]])
|
|
||||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
|
|
||||||
;;
|
|
||||||
10.*)
|
|
||||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
|
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
|
||||||
_LT_AC_TAGVAR(hardcode_direct, $1)=no
|
_LT_AC_TAGVAR(hardcode_direct, $1)=no
|
||||||
_LT_AC_TAGVAR(hardcode_automatic, $1)=yes
|
_LT_AC_TAGVAR(hardcode_automatic, $1)=yes
|
||||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
|
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
|
||||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
|
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
|
||||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
||||||
|
_LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
|
||||||
if test "$GXX" = yes ; then
|
if test "$GXX" = yes ; then
|
||||||
lt_int_apple_cc_single_mod=no
|
|
||||||
output_verbose_link_cmd='echo'
|
output_verbose_link_cmd='echo'
|
||||||
if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
|
_LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
|
||||||
lt_int_apple_cc_single_mod=yes
|
_LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
|
||||||
|
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
|
||||||
|
_LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
|
||||||
|
if test "$lt_cv_apple_cc_single_mod" != "yes"; then
|
||||||
|
_LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
|
||||||
|
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
|
||||||
fi
|
fi
|
||||||
if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
|
|
||||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
|
|
||||||
else
|
|
||||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
|
|
||||||
fi
|
|
||||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
|
||||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
|
||||||
if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
|
|
||||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
|
||||||
else
|
|
||||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
|
||||||
fi
|
|
||||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
|
||||||
else
|
else
|
||||||
case $cc_basename in
|
case $cc_basename in
|
||||||
xlc*)
|
xlc*)
|
||||||
|
|
@ -3377,7 +3430,7 @@ case $host_os in
|
||||||
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
|
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
|
||||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
|
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
|
||||||
;;
|
;;
|
||||||
pgCC*)
|
pgCC* | pgcpp*)
|
||||||
# Portland Group C++ compiler
|
# Portland Group C++ compiler
|
||||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
|
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
|
||||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
|
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
|
||||||
|
|
@ -3812,7 +3865,8 @@ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
|
||||||
# compiler output when linking a shared library.
|
# compiler output when linking a shared library.
|
||||||
# Parse the compiler output and extract the necessary
|
# Parse the compiler output and extract the necessary
|
||||||
# objects, libraries and library flags.
|
# objects, libraries and library flags.
|
||||||
AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
|
AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
|
||||||
|
[AC_REQUIRE([LT_AC_PROG_SED])dnl
|
||||||
dnl we can't use the lt_simple_compile_test_code here,
|
dnl we can't use the lt_simple_compile_test_code here,
|
||||||
dnl because it contains code intended for an executable,
|
dnl because it contains code intended for an executable,
|
||||||
dnl not a library. It's possible we should let each
|
dnl not a library. It's possible we should let each
|
||||||
|
|
@ -3937,6 +3991,11 @@ fi
|
||||||
|
|
||||||
$rm -f confest.$objext
|
$rm -f confest.$objext
|
||||||
|
|
||||||
|
_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
|
||||||
|
if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
|
||||||
|
_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
|
||||||
|
fi
|
||||||
|
|
||||||
# PORTME: override above test on systems where it is broken
|
# PORTME: override above test on systems where it is broken
|
||||||
ifelse([$1],[CXX],
|
ifelse([$1],[CXX],
|
||||||
[case $host_os in
|
[case $host_os in
|
||||||
|
|
@ -3993,7 +4052,6 @@ solaris*)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
])
|
])
|
||||||
|
|
||||||
case " $_LT_AC_TAGVAR(postdeps, $1) " in
|
case " $_LT_AC_TAGVAR(postdeps, $1) " in
|
||||||
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
|
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -4078,7 +4136,7 @@ aix3*)
|
||||||
postinstall_cmds='$RANLIB $lib'
|
postinstall_cmds='$RANLIB $lib'
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
aix4* | aix5*)
|
aix[[4-9]]*)
|
||||||
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
|
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
|
||||||
test "$enable_shared" = yes && enable_static=no
|
test "$enable_shared" = yes && enable_static=no
|
||||||
fi
|
fi
|
||||||
|
|
@ -4255,6 +4313,7 @@ if test -f "$ltmain"; then
|
||||||
_LT_AC_TAGVAR(predeps, $1) \
|
_LT_AC_TAGVAR(predeps, $1) \
|
||||||
_LT_AC_TAGVAR(postdeps, $1) \
|
_LT_AC_TAGVAR(postdeps, $1) \
|
||||||
_LT_AC_TAGVAR(compiler_lib_search_path, $1) \
|
_LT_AC_TAGVAR(compiler_lib_search_path, $1) \
|
||||||
|
_LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
|
||||||
_LT_AC_TAGVAR(archive_cmds, $1) \
|
_LT_AC_TAGVAR(archive_cmds, $1) \
|
||||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1) \
|
_LT_AC_TAGVAR(archive_expsym_cmds, $1) \
|
||||||
_LT_AC_TAGVAR(postinstall_cmds, $1) \
|
_LT_AC_TAGVAR(postinstall_cmds, $1) \
|
||||||
|
|
@ -4317,7 +4376,7 @@ ifelse([$1], [],
|
||||||
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
|
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
|
||||||
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
|
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
|
||||||
#
|
#
|
||||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Libtool:
|
# This file is part of GNU Libtool:
|
||||||
|
|
@ -4554,6 +4613,10 @@ predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
|
||||||
# shared library.
|
# shared library.
|
||||||
postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
|
postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
|
||||||
|
|
||||||
|
# The directories searched by this compiler when creating a shared
|
||||||
|
# library
|
||||||
|
compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
|
||||||
|
|
||||||
# The library search path used internally by the compiler when linking
|
# The library search path used internally by the compiler when linking
|
||||||
# a shared library.
|
# a shared library.
|
||||||
compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
|
compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
|
||||||
|
|
@ -4903,7 +4966,7 @@ EOF
|
||||||
echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
|
echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
|
||||||
cat conftest.$ac_ext >&5
|
cat conftest.$ac_ext >&5
|
||||||
fi
|
fi
|
||||||
rm -f conftest* conftst*
|
rm -rf conftest* conftst*
|
||||||
|
|
||||||
# Do not use the global_symbol_pipe unless it works.
|
# Do not use the global_symbol_pipe unless it works.
|
||||||
if test "$pipe_works" = yes; then
|
if test "$pipe_works" = yes; then
|
||||||
|
|
@ -4960,7 +5023,8 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
||||||
# (--disable-auto-import) libraries
|
# (--disable-auto-import) libraries
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
|
m4_if([$1], [GCJ], [],
|
||||||
|
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
|
||||||
;;
|
;;
|
||||||
darwin* | rhapsody*)
|
darwin* | rhapsody*)
|
||||||
# PIC is the default on this platform
|
# PIC is the default on this platform
|
||||||
|
|
@ -4997,7 +5061,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
case $host_os in
|
case $host_os in
|
||||||
aix4* | aix5*)
|
aix[[4-9]]*)
|
||||||
# All AIX code is PIC.
|
# All AIX code is PIC.
|
||||||
if test "$host_cpu" = ia64; then
|
if test "$host_cpu" = ia64; then
|
||||||
# AIX 5 now supports IA64 processor
|
# AIX 5 now supports IA64 processor
|
||||||
|
|
@ -5093,7 +5157,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
|
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
|
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
|
||||||
;;
|
;;
|
||||||
pgCC*)
|
pgCC* | pgcpp*)
|
||||||
# Portland Group C++ compiler.
|
# Portland Group C++ compiler.
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
|
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
|
||||||
|
|
@ -5244,7 +5308,8 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
||||||
# (--disable-auto-import) libraries
|
# (--disable-auto-import) libraries
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
|
m4_if([$1], [GCJ], [],
|
||||||
|
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
|
||||||
;;
|
;;
|
||||||
|
|
||||||
darwin* | rhapsody*)
|
darwin* | rhapsody*)
|
||||||
|
|
@ -5314,7 +5379,8 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||||
mingw* | cygwin* | pw32* | os2*)
|
mingw* | cygwin* | pw32* | os2*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
|
m4_if([$1], [GCJ], [],
|
||||||
|
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
|
||||||
;;
|
;;
|
||||||
|
|
||||||
hpux9* | hpux10* | hpux11*)
|
hpux9* | hpux10* | hpux11*)
|
||||||
|
|
@ -5451,7 +5517,7 @@ AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
|
||||||
#
|
#
|
||||||
if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
|
if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
|
||||||
AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
|
AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
|
_LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
|
||||||
[$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
|
[$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
|
||||||
[case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
|
[case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
|
||||||
"" | " "*) ;;
|
"" | " "*) ;;
|
||||||
|
|
@ -5475,7 +5541,7 @@ esac
|
||||||
#
|
#
|
||||||
wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
|
wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
|
||||||
AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
|
AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
|
||||||
_LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
|
_LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
|
||||||
$lt_tmp_static_flag,
|
$lt_tmp_static_flag,
|
||||||
[],
|
[],
|
||||||
[_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
|
[_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
|
||||||
|
|
@ -5491,7 +5557,7 @@ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
|
||||||
ifelse([$1],[CXX],[
|
ifelse([$1],[CXX],[
|
||||||
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
||||||
case $host_os in
|
case $host_os in
|
||||||
aix4* | aix5*)
|
aix[[4-9]]*)
|
||||||
# If we're using GNU nm, then we don't want the "-C" option.
|
# If we're using GNU nm, then we don't want the "-C" option.
|
||||||
# -C means demangle to AIX nm, but means don't demangle with GNU nm
|
# -C means demangle to AIX nm, but means don't demangle with GNU nm
|
||||||
if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
|
if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
|
||||||
|
|
@ -5510,6 +5576,7 @@ ifelse([$1],[CXX],[
|
||||||
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
_LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
|
||||||
],[
|
],[
|
||||||
runpath_var=
|
runpath_var=
|
||||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
|
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
|
||||||
|
|
@ -5540,12 +5607,14 @@ ifelse([$1],[CXX],[
|
||||||
# it will be wrapped by ` (' and `)$', so one must not match beginning or
|
# it will be wrapped by ` (' and `)$', so one must not match beginning or
|
||||||
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
|
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
|
||||||
# as well as any symbol that contains `d'.
|
# as well as any symbol that contains `d'.
|
||||||
_LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
|
_LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
|
||||||
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
|
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
|
||||||
# platforms (ab)use it in PIC code, but their linkers get confused if
|
# platforms (ab)use it in PIC code, but their linkers get confused if
|
||||||
# the symbol is explicitly referenced. Since portable code cannot
|
# the symbol is explicitly referenced. Since portable code cannot
|
||||||
# rely on this symbol name, it's probably fine to never include it in
|
# rely on this symbol name, it's probably fine to never include it in
|
||||||
# preloaded symbol tables.
|
# preloaded symbol tables.
|
||||||
|
# Exclude shared library initialization/finalization symbols.
|
||||||
|
dnl Note also adjust exclude_expsyms for C++ above.
|
||||||
extract_expsyms_cmds=
|
extract_expsyms_cmds=
|
||||||
# Just being paranoid about ensuring that cc_basename is set.
|
# Just being paranoid about ensuring that cc_basename is set.
|
||||||
_LT_CC_BASENAME([$compiler])
|
_LT_CC_BASENAME([$compiler])
|
||||||
|
|
@ -5595,7 +5664,7 @@ ifelse([$1],[CXX],[
|
||||||
|
|
||||||
# See if GNU ld supports shared libraries.
|
# See if GNU ld supports shared libraries.
|
||||||
case $host_os in
|
case $host_os in
|
||||||
aix3* | aix4* | aix5*)
|
aix[[3-9]]*)
|
||||||
# On AIX/PPC, the GNU linker is very broken
|
# On AIX/PPC, the GNU linker is very broken
|
||||||
if test "$host_cpu" != ia64; then
|
if test "$host_cpu" != ia64; then
|
||||||
_LT_AC_TAGVAR(ld_shlibs, $1)=no
|
_LT_AC_TAGVAR(ld_shlibs, $1)=no
|
||||||
|
|
@ -5814,7 +5883,7 @@ _LT_EOF
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
aix4* | aix5*)
|
aix[[4-9]]*)
|
||||||
if test "$host_cpu" = ia64; then
|
if test "$host_cpu" = ia64; then
|
||||||
# On IA64, the linker does run time linking by default, so we don't
|
# On IA64, the linker does run time linking by default, so we don't
|
||||||
# have to do anything special.
|
# have to do anything special.
|
||||||
|
|
@ -5834,7 +5903,7 @@ _LT_EOF
|
||||||
# Test if we are trying to use run time linking or normal
|
# Test if we are trying to use run time linking or normal
|
||||||
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||||
# need to do runtime linking.
|
# need to do runtime linking.
|
||||||
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
|
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
|
||||||
for ld_flag in $LDFLAGS; do
|
for ld_flag in $LDFLAGS; do
|
||||||
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
||||||
aix_use_runtimelinking=yes
|
aix_use_runtimelinking=yes
|
||||||
|
|
@ -5994,11 +6063,10 @@ _LT_EOF
|
||||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
||||||
if test "$GCC" = yes ; then
|
if test "$GCC" = yes ; then
|
||||||
output_verbose_link_cmd='echo'
|
output_verbose_link_cmd='echo'
|
||||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
|
_LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
|
||||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
_LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
|
||||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
|
||||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
_LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
|
||||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
|
||||||
else
|
else
|
||||||
case $cc_basename in
|
case $cc_basename in
|
||||||
xlc*)
|
xlc*)
|
||||||
|
|
|
||||||
314
compat/b32_ntop.c
Normal file
314
compat/b32_ntop.c
Normal file
|
|
@ -0,0 +1,314 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1996, 1998 by Internet Software Consortium.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
|
||||||
|
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||||
|
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
|
||||||
|
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||||
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
||||||
|
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||||
|
* SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Portions Copyright (c) 1995 by International Business Machines, Inc.
|
||||||
|
*
|
||||||
|
* International Business Machines, Inc. (hereinafter called IBM) grants
|
||||||
|
* permission under its copyrights to use, copy, modify, and distribute this
|
||||||
|
* Software with or without fee, provided that the above copyright notice and
|
||||||
|
* all paragraphs of this notice appear in all copies, and that the name of IBM
|
||||||
|
* not be used in connection with the marketing of any product incorporating
|
||||||
|
* the Software or modifications thereof, without specific, written prior
|
||||||
|
* permission.
|
||||||
|
*
|
||||||
|
* To the extent it has a right to do so, IBM grants an immunity from suit
|
||||||
|
* under its patents, if any, for the use, sale or manufacture of products to
|
||||||
|
* the extent that such products are used for performing Domain Name System
|
||||||
|
* dynamic updates in TCP/IP networks by means of the Software. No immunity is
|
||||||
|
* granted for any product per se or for any other function of any product.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES,
|
||||||
|
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL,
|
||||||
|
* DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN
|
||||||
|
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
*/
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#ifdef HAVE_SYS_SOCKET_H
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_NETINET_IN_H
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_ARPA_INET_H
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
static const char Base32[] =
|
||||||
|
"abcdefghijklmnopqrstuvwxyz234567";
|
||||||
|
/* "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";*/
|
||||||
|
/* 00000000001111111111222222222233
|
||||||
|
01234567890123456789012345678901*/
|
||||||
|
static const char Base32_extended_hex[] =
|
||||||
|
/* "0123456789ABCDEFGHIJKLMNOPQRSTUV";*/
|
||||||
|
"0123456789abcdefghijklmnopqrstuv";
|
||||||
|
static const char Pad32 = '=';
|
||||||
|
|
||||||
|
/* (From RFC3548 and draft-josefsson-rfc3548bis-00.txt)
|
||||||
|
5. Base 32 Encoding
|
||||||
|
|
||||||
|
The Base 32 encoding is designed to represent arbitrary sequences of
|
||||||
|
octets in a form that needs to be case insensitive but need not be
|
||||||
|
humanly readable.
|
||||||
|
|
||||||
|
A 33-character subset of US-ASCII is used, enabling 5 bits to be
|
||||||
|
represented per printable character. (The extra 33rd character, "=",
|
||||||
|
is used to signify a special processing function.)
|
||||||
|
|
||||||
|
The encoding process represents 40-bit groups of input bits as output
|
||||||
|
strings of 8 encoded characters. Proceeding from left to right, a
|
||||||
|
40-bit input group is formed by concatenating 5 8bit input groups.
|
||||||
|
These 40 bits are then treated as 8 concatenated 5-bit groups, each
|
||||||
|
of which is translated into a single digit in the base 32 alphabet.
|
||||||
|
When encoding a bit stream via the base 32 encoding, the bit stream
|
||||||
|
must be presumed to be ordered with the most-significant-bit first.
|
||||||
|
That is, the first bit in the stream will be the high-order bit in
|
||||||
|
the first 8bit byte, and the eighth bit will be the low-order bit in
|
||||||
|
the first 8bit byte, and so on.
|
||||||
|
|
||||||
|
Each 5-bit group is used as an index into an array of 32 printable
|
||||||
|
characters. The character referenced by the index is placed in the
|
||||||
|
output string. These characters, identified in Table 3, below, are
|
||||||
|
selected from US-ASCII digits and uppercase letters.
|
||||||
|
|
||||||
|
Table 3: The Base 32 Alphabet
|
||||||
|
|
||||||
|
Value Encoding Value Encoding Value Encoding Value Encoding
|
||||||
|
0 A 9 J 18 S 27 3
|
||||||
|
1 B 10 K 19 T 28 4
|
||||||
|
2 C 11 L 20 U 29 5
|
||||||
|
3 D 12 M 21 V 30 6
|
||||||
|
4 E 13 N 22 W 31 7
|
||||||
|
5 F 14 O 23 X
|
||||||
|
6 G 15 P 24 Y (pad) =
|
||||||
|
7 H 16 Q 25 Z
|
||||||
|
8 I 17 R 26 2
|
||||||
|
|
||||||
|
|
||||||
|
Special processing is performed if fewer than 40 bits are available
|
||||||
|
at the end of the data being encoded. A full encoding quantum is
|
||||||
|
always completed at the end of a body. When fewer than 40 input bits
|
||||||
|
are available in an input group, zero bits are added (on the right)
|
||||||
|
to form an integral number of 5-bit groups. Padding at the end of
|
||||||
|
the data is performed using the "=" character. Since all base 32
|
||||||
|
input is an integral number of octets, only the following cases can
|
||||||
|
arise:
|
||||||
|
|
||||||
|
(1) the final quantum of encoding input is an integral multiple of 40
|
||||||
|
bits; here, the final unit of encoded output will be an integral
|
||||||
|
multiple of 8 characters with no "=" padding,
|
||||||
|
|
||||||
|
(2) the final quantum of encoding input is exactly 8 bits; here, the
|
||||||
|
final unit of encoded output will be two characters followed by six
|
||||||
|
"=" padding characters,
|
||||||
|
|
||||||
|
(3) the final quantum of encoding input is exactly 16 bits; here, the
|
||||||
|
final unit of encoded output will be four characters followed by four
|
||||||
|
"=" padding characters,
|
||||||
|
|
||||||
|
(4) the final quantum of encoding input is exactly 24 bits; here, the
|
||||||
|
final unit of encoded output will be five characters followed by
|
||||||
|
three "=" padding characters, or
|
||||||
|
|
||||||
|
(5) the final quantum of encoding input is exactly 32 bits; here, the
|
||||||
|
final unit of encoded output will be seven characters followed by one
|
||||||
|
"=" padding character.
|
||||||
|
|
||||||
|
|
||||||
|
6. Base 32 Encoding with Extended Hex Alphabet
|
||||||
|
|
||||||
|
The following description of base 32 is due to [7]. This encoding
|
||||||
|
should not be regarded as the same as the "base32" encoding, and
|
||||||
|
should not be referred to as only "base32".
|
||||||
|
|
||||||
|
One property with this alphabet, that the base64 and base32 alphabet
|
||||||
|
lack, is that encoded data maintain its sort order when the encoded
|
||||||
|
data is compared bit-wise.
|
||||||
|
|
||||||
|
This encoding is identical to the previous one, except for the
|
||||||
|
alphabet. The new alphabet is found in table 4.
|
||||||
|
|
||||||
|
Table 4: The "Extended Hex" Base 32 Alphabet
|
||||||
|
|
||||||
|
Value Encoding Value Encoding Value Encoding Value Encoding
|
||||||
|
0 0 9 9 18 I 27 R
|
||||||
|
1 1 10 A 19 J 28 S
|
||||||
|
2 2 11 B 20 K 29 T
|
||||||
|
3 3 12 C 21 L 30 U
|
||||||
|
4 4 13 D 22 M 31 V
|
||||||
|
5 5 14 E 23 N
|
||||||
|
6 6 15 F 24 O (pad) =
|
||||||
|
7 7 16 G 25 P
|
||||||
|
8 8 17 H 26 Q
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
b32_ntop_ar(uint8_t const *src, size_t srclength, char *target, size_t targsize, const char B32_ar[]) {
|
||||||
|
size_t datalength = 0;
|
||||||
|
uint8_t input[5];
|
||||||
|
uint8_t output[8];
|
||||||
|
size_t i;
|
||||||
|
memset(output, 0, 8);
|
||||||
|
|
||||||
|
while (4 < srclength) {
|
||||||
|
input[0] = *src++;
|
||||||
|
input[1] = *src++;
|
||||||
|
input[2] = *src++;
|
||||||
|
input[3] = *src++;
|
||||||
|
input[4] = *src++;
|
||||||
|
srclength -= 5;
|
||||||
|
|
||||||
|
output[0] = (input[0] & 0xf8) >> 3;
|
||||||
|
output[1] = ((input[0] & 0x07) << 2) + ((input[1] & 0xc0) >> 6);
|
||||||
|
output[2] = (input[1] & 0x3e) >> 1;
|
||||||
|
output[3] = ((input[1] & 0x01) << 4) + ((input[2] & 0xf0) >> 4);
|
||||||
|
output[4] = ((input[2] & 0x0f) << 1) + ((input[3] & 0x80) >> 7);
|
||||||
|
output[5] = (input[3] & 0x7c) >> 2;
|
||||||
|
output[6] = ((input[3] & 0x03) << 3) + ((input[4] & 0xe0) >> 5);
|
||||||
|
output[7] = (input[4] & 0x1f);
|
||||||
|
|
||||||
|
assert(output[0] < 32);
|
||||||
|
assert(output[1] < 32);
|
||||||
|
assert(output[2] < 32);
|
||||||
|
assert(output[3] < 32);
|
||||||
|
assert(output[4] < 32);
|
||||||
|
assert(output[5] < 32);
|
||||||
|
assert(output[6] < 32);
|
||||||
|
assert(output[7] < 32);
|
||||||
|
|
||||||
|
if (datalength + 8 > targsize) {
|
||||||
|
return (-1);
|
||||||
|
}
|
||||||
|
target[datalength++] = B32_ar[output[0]];
|
||||||
|
target[datalength++] = B32_ar[output[1]];
|
||||||
|
target[datalength++] = B32_ar[output[2]];
|
||||||
|
target[datalength++] = B32_ar[output[3]];
|
||||||
|
target[datalength++] = B32_ar[output[4]];
|
||||||
|
target[datalength++] = B32_ar[output[5]];
|
||||||
|
target[datalength++] = B32_ar[output[6]];
|
||||||
|
target[datalength++] = B32_ar[output[7]];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Now we worry about padding. */
|
||||||
|
if (0 != srclength) {
|
||||||
|
/* Get what's left. */
|
||||||
|
input[0] = input[1] = input[2] = input[3] = input[4] = (uint8_t) '\0';
|
||||||
|
for (i = 0; i < srclength; i++)
|
||||||
|
input[i] = *src++;
|
||||||
|
|
||||||
|
output[0] = (input[0] & 0xf8) >> 3;
|
||||||
|
assert(output[0] < 32);
|
||||||
|
if (srclength >= 1) {
|
||||||
|
output[1] = ((input[0] & 0x07) << 2) + ((input[1] & 0xc0) >> 6);
|
||||||
|
assert(output[1] < 32);
|
||||||
|
output[2] = (input[1] & 0x3e) >> 1;
|
||||||
|
assert(output[2] < 32);
|
||||||
|
}
|
||||||
|
if (srclength >= 2) {
|
||||||
|
output[3] = ((input[1] & 0x01) << 4) + ((input[2] & 0xf0) >> 4);
|
||||||
|
assert(output[3] < 32);
|
||||||
|
}
|
||||||
|
if (srclength >= 3) {
|
||||||
|
output[4] = ((input[2] & 0x0f) << 1) + ((input[3] & 0x80) >> 7);
|
||||||
|
assert(output[4] < 32);
|
||||||
|
output[5] = (input[3] & 0x7c) >> 2;
|
||||||
|
assert(output[5] < 32);
|
||||||
|
}
|
||||||
|
if (srclength >= 4) {
|
||||||
|
output[6] = ((input[3] & 0x03) << 3) + ((input[4] & 0xe0) >> 5);
|
||||||
|
assert(output[6] < 32);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (datalength + 1 > targsize) {
|
||||||
|
return (-2);
|
||||||
|
}
|
||||||
|
target[datalength++] = B32_ar[output[0]];
|
||||||
|
if (srclength >= 1) {
|
||||||
|
target[datalength++] = B32_ar[output[1]];
|
||||||
|
if (srclength == 1 && output[2] == 0) {
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
} else {
|
||||||
|
target[datalength++] = B32_ar[output[2]];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
}
|
||||||
|
if (srclength >= 2) {
|
||||||
|
target[datalength++] = B32_ar[output[3]];
|
||||||
|
} else {
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
}
|
||||||
|
if (srclength >= 3) {
|
||||||
|
target[datalength++] = B32_ar[output[4]];
|
||||||
|
if (srclength == 3 && output[5] == 0) {
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
} else {
|
||||||
|
target[datalength++] = B32_ar[output[5]];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
}
|
||||||
|
if (srclength >= 4) {
|
||||||
|
target[datalength++] = B32_ar[output[6]];
|
||||||
|
} else {
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
}
|
||||||
|
target[datalength++] = Pad32;
|
||||||
|
}
|
||||||
|
if (datalength > targsize) {
|
||||||
|
return (-3);
|
||||||
|
}
|
||||||
|
target[datalength] = '\0'; /* Returned value doesn't count \0. */
|
||||||
|
return (int) (datalength);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
b32_ntop(uint8_t const *src, size_t srclength, char *target, size_t targsize) {
|
||||||
|
return b32_ntop_ar(src, srclength, target, targsize, Base32);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
b32_ntop_extended_hex(uint8_t const *src, size_t srclength, char *target, size_t targsize) {
|
||||||
|
return b32_ntop_ar(src, srclength, target, targsize, Base32_extended_hex);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* calculates the size needed to store the result of b32_ntop
|
||||||
|
*/
|
||||||
|
size_t b32_ntop_calculate_size(size_t srcsize)
|
||||||
|
{
|
||||||
|
size_t result = ((((srcsize / 5) * 8) - 2) + 2);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
382
compat/b32_pton.c
Normal file
382
compat/b32_pton.c
Normal file
|
|
@ -0,0 +1,382 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1996, 1998 by Internet Software Consortium.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
|
||||||
|
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||||
|
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
|
||||||
|
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||||
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
||||||
|
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||||
|
* SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Portions Copyright (c) 1995 by International Business Machines, Inc.
|
||||||
|
*
|
||||||
|
* International Business Machines, Inc. (hereinafter called IBM) grants
|
||||||
|
* permission under its copyrights to use, copy, modify, and distribute this
|
||||||
|
* Software with or without fee, provided that the above copyright notice and
|
||||||
|
* all paragraphs of this notice appear in all copies, and that the name of IBM
|
||||||
|
* not be used in connection with the marketing of any product incorporating
|
||||||
|
* the Software or modifications thereof, without specific, written prior
|
||||||
|
* permission.
|
||||||
|
*
|
||||||
|
* To the extent it has a right to do so, IBM grants an immunity from suit
|
||||||
|
* under its patents, if any, for the use, sale or manufacture of products to
|
||||||
|
* the extent that such products are used for performing Domain Name System
|
||||||
|
* dynamic updates in TCP/IP networks by means of the Software. No immunity is
|
||||||
|
* granted for any product per se or for any other function of any product.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES,
|
||||||
|
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL,
|
||||||
|
* DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN
|
||||||
|
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
*/
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#ifdef HAVE_SYS_SOCKET_H
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_NETINET_IN_H
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_ARPA_INET_H
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
/* "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";*/
|
||||||
|
static const char Base32[] =
|
||||||
|
"abcdefghijklmnopqrstuvwxyz234567";
|
||||||
|
/* "0123456789ABCDEFGHIJKLMNOPQRSTUV";*/
|
||||||
|
static const char Base32_extended_hex[] =
|
||||||
|
"0123456789abcdefghijklmnopqrstuv";
|
||||||
|
static const char Pad32 = '=';
|
||||||
|
|
||||||
|
/* (From RFC1521 and draft-ietf-dnssec-secext-03.txt)
|
||||||
|
5. Base 32 Encoding
|
||||||
|
|
||||||
|
The Base 32 encoding is designed to represent arbitrary sequences of
|
||||||
|
octets in a form that needs to be case insensitive but need not be
|
||||||
|
humanly readable.
|
||||||
|
|
||||||
|
A 33-character subset of US-ASCII is used, enabling 5 bits to be
|
||||||
|
represented per printable character. (The extra 33rd character, "=",
|
||||||
|
is used to signify a special processing function.)
|
||||||
|
|
||||||
|
The encoding process represents 40-bit groups of input bits as output
|
||||||
|
strings of 8 encoded characters. Proceeding from left to right, a
|
||||||
|
40-bit input group is formed by concatenating 5 8bit input groups.
|
||||||
|
These 40 bits are then treated as 8 concatenated 5-bit groups, each
|
||||||
|
of which is translated into a single digit in the base 32 alphabet.
|
||||||
|
When encoding a bit stream via the base 32 encoding, the bit stream
|
||||||
|
must be presumed to be ordered with the most-significant-bit first.
|
||||||
|
That is, the first bit in the stream will be the high-order bit in
|
||||||
|
the first 8bit byte, and the eighth bit will be the low-order bit in
|
||||||
|
the first 8bit byte, and so on.
|
||||||
|
|
||||||
|
Each 5-bit group is used as an index into an array of 32 printable
|
||||||
|
characters. The character referenced by the index is placed in the
|
||||||
|
output string. These characters, identified in Table 3, below, are
|
||||||
|
selected from US-ASCII digits and uppercase letters.
|
||||||
|
|
||||||
|
Table 3: The Base 32 Alphabet
|
||||||
|
|
||||||
|
Value Encoding Value Encoding Value Encoding Value Encoding
|
||||||
|
0 A 9 J 18 S 27 3
|
||||||
|
1 B 10 K 19 T 28 4
|
||||||
|
2 C 11 L 20 U 29 5
|
||||||
|
3 D 12 M 21 V 30 6
|
||||||
|
4 E 13 N 22 W 31 7
|
||||||
|
5 F 14 O 23 X
|
||||||
|
6 G 15 P 24 Y (pad) =
|
||||||
|
7 H 16 Q 25 Z
|
||||||
|
8 I 17 R 26 2
|
||||||
|
|
||||||
|
|
||||||
|
Special processing is performed if fewer than 40 bits are available
|
||||||
|
at the end of the data being encoded. A full encoding quantum is
|
||||||
|
always completed at the end of a body. When fewer than 40 input bits
|
||||||
|
are available in an input group, zero bits are added (on the right)
|
||||||
|
to form an integral number of 5-bit groups. Padding at the end of
|
||||||
|
the data is performed using the "=" character. Since all base 32
|
||||||
|
input is an integral number of octets, only the following cases can
|
||||||
|
arise:
|
||||||
|
|
||||||
|
(1) the final quantum of encoding input is an integral multiple of 40
|
||||||
|
bits; here, the final unit of encoded output will be an integral
|
||||||
|
multiple of 8 characters with no "=" padding,
|
||||||
|
|
||||||
|
(2) the final quantum of encoding input is exactly 8 bits; here, the
|
||||||
|
final unit of encoded output will be two characters followed by six
|
||||||
|
"=" padding characters,
|
||||||
|
|
||||||
|
(3) the final quantum of encoding input is exactly 16 bits; here, the
|
||||||
|
final unit of encoded output will be four characters followed by four
|
||||||
|
"=" padding characters,
|
||||||
|
|
||||||
|
(4) the final quantum of encoding input is exactly 24 bits; here, the
|
||||||
|
final unit of encoded output will be five characters followed by
|
||||||
|
three "=" padding characters, or
|
||||||
|
|
||||||
|
(5) the final quantum of encoding input is exactly 32 bits; here, the
|
||||||
|
final unit of encoded output will be seven characters followed by one
|
||||||
|
"=" padding character.
|
||||||
|
|
||||||
|
|
||||||
|
6. Base 32 Encoding with Extended Hex Alphabet
|
||||||
|
|
||||||
|
The following description of base 32 is due to [7]. This encoding
|
||||||
|
should not be regarded as the same as the "base32" encoding, and
|
||||||
|
should not be referred to as only "base32".
|
||||||
|
|
||||||
|
One property with this alphabet, that the base32 and base32 alphabet
|
||||||
|
lack, is that encoded data maintain its sort order when the encoded
|
||||||
|
data is compared bit-wise.
|
||||||
|
|
||||||
|
This encoding is identical to the previous one, except for the
|
||||||
|
alphabet. The new alphabet is found in table 4.
|
||||||
|
|
||||||
|
Table 4: The "Extended Hex" Base 32 Alphabet
|
||||||
|
|
||||||
|
Value Encoding Value Encoding Value Encoding Value Encoding
|
||||||
|
0 0 9 9 18 I 27 R
|
||||||
|
1 1 10 A 19 J 28 S
|
||||||
|
2 2 11 B 20 K 29 T
|
||||||
|
3 3 12 C 21 L 30 U
|
||||||
|
4 4 13 D 22 M 31 V
|
||||||
|
5 5 14 E 23 N
|
||||||
|
6 6 15 F 24 O (pad) =
|
||||||
|
7 7 16 G 25 P
|
||||||
|
8 8 17 H 26 Q
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
/* skips all whitespace anywhere.
|
||||||
|
converts characters, four at a time, starting at (or after)
|
||||||
|
src from base - 32 numbers into three 8 bit bytes in the target area.
|
||||||
|
it returns the number of data bytes stored at the target, or -1 on error.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int
|
||||||
|
b32_pton_ar(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize, const char B32_ar[])
|
||||||
|
{
|
||||||
|
int tarindex, state, ch;
|
||||||
|
char *pos;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
state = 0;
|
||||||
|
tarindex = 0;
|
||||||
|
|
||||||
|
while ((ch = *src++) != '\0' && (i == 0 || i < (int) hashed_owner_str_len)) {
|
||||||
|
i++;
|
||||||
|
ch = tolower(ch);
|
||||||
|
if (isspace((unsigned char)ch)) /* Skip whitespace anywhere. */
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (ch == Pad32)
|
||||||
|
break;
|
||||||
|
|
||||||
|
pos = strchr(B32_ar, ch);
|
||||||
|
if (pos == 0) {
|
||||||
|
/* A non-base32 character. */
|
||||||
|
return (-ch);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (state) {
|
||||||
|
case 0:
|
||||||
|
if (target) {
|
||||||
|
if ((size_t)tarindex >= targsize) {
|
||||||
|
return (-2);
|
||||||
|
}
|
||||||
|
target[tarindex] = (pos - B32_ar) << 3;
|
||||||
|
}
|
||||||
|
state = 1;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (target) {
|
||||||
|
if ((size_t)tarindex + 1 >= targsize) {
|
||||||
|
return (-3);
|
||||||
|
}
|
||||||
|
target[tarindex] |= (pos - B32_ar) >> 2;
|
||||||
|
target[tarindex+1] = ((pos - B32_ar) & 0x03)
|
||||||
|
<< 6 ;
|
||||||
|
}
|
||||||
|
tarindex++;
|
||||||
|
state = 2;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (target) {
|
||||||
|
if ((size_t)tarindex + 1 >= targsize) {
|
||||||
|
return (-4);
|
||||||
|
}
|
||||||
|
target[tarindex] |= (pos - B32_ar) << 1;
|
||||||
|
}
|
||||||
|
/*tarindex++;*/
|
||||||
|
state = 3;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (target) {
|
||||||
|
if ((size_t)tarindex + 1 >= targsize) {
|
||||||
|
return (-5);
|
||||||
|
}
|
||||||
|
target[tarindex] |= (pos - B32_ar) >> 4;
|
||||||
|
target[tarindex+1] = ((pos - B32_ar) & 0x0f) << 4 ;
|
||||||
|
}
|
||||||
|
tarindex++;
|
||||||
|
state = 4;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if (target) {
|
||||||
|
if ((size_t)tarindex + 1 >= targsize) {
|
||||||
|
return (-6);
|
||||||
|
}
|
||||||
|
target[tarindex] |= (pos - B32_ar) >> 1;
|
||||||
|
target[tarindex+1] = ((pos - B32_ar) & 0x01)
|
||||||
|
<< 7 ;
|
||||||
|
}
|
||||||
|
tarindex++;
|
||||||
|
state = 5;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
if (target) {
|
||||||
|
if ((size_t)tarindex + 1 >= targsize) {
|
||||||
|
return (-7);
|
||||||
|
}
|
||||||
|
target[tarindex] |= (pos - B32_ar) << 2;
|
||||||
|
}
|
||||||
|
state = 6;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
if (target) {
|
||||||
|
if ((size_t)tarindex + 1 >= targsize) {
|
||||||
|
return (-8);
|
||||||
|
}
|
||||||
|
target[tarindex] |= (pos - B32_ar) >> 3;
|
||||||
|
target[tarindex+1] = ((pos - B32_ar) & 0x07)
|
||||||
|
<< 5 ;
|
||||||
|
}
|
||||||
|
tarindex++;
|
||||||
|
state = 7;
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
if (target) {
|
||||||
|
if ((size_t)tarindex + 1 >= targsize) {
|
||||||
|
return (-9);
|
||||||
|
}
|
||||||
|
target[tarindex] |= (pos - B32_ar);
|
||||||
|
}
|
||||||
|
tarindex++;
|
||||||
|
state = 0;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We are done decoding Base-32 chars. Let's see if we ended
|
||||||
|
* on a byte boundary, and/or with erroneous trailing characters.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (ch == Pad32) { /* We got a pad char. */
|
||||||
|
ch = *src++; /* Skip it, get next. */
|
||||||
|
switch (state) {
|
||||||
|
case 0: /* Invalid = in first position */
|
||||||
|
case 1: /* Invalid = in second position */
|
||||||
|
return (-10);
|
||||||
|
|
||||||
|
case 2: /* Valid, means one byte of info */
|
||||||
|
case 3:
|
||||||
|
/* Skip any number of spaces. */
|
||||||
|
for ((void)NULL; ch != '\0'; ch = *src++)
|
||||||
|
if (!isspace((unsigned char)ch))
|
||||||
|
break;
|
||||||
|
/* Make sure there is another trailing = sign. */
|
||||||
|
if (ch != Pad32) {
|
||||||
|
return (-11);
|
||||||
|
}
|
||||||
|
ch = *src++; /* Skip the = */
|
||||||
|
/* Fall through to "single trailing =" case. */
|
||||||
|
/* FALLTHROUGH */
|
||||||
|
|
||||||
|
case 4: /* Valid, means two bytes of info */
|
||||||
|
case 5:
|
||||||
|
case 6:
|
||||||
|
/*
|
||||||
|
* We know this char is an =. Is there anything but
|
||||||
|
* whitespace after it?
|
||||||
|
*/
|
||||||
|
for ((void)NULL; ch != '\0'; ch = *src++)
|
||||||
|
if (!(isspace((unsigned char)ch) || ch == '=')) {
|
||||||
|
return (-12);
|
||||||
|
}
|
||||||
|
|
||||||
|
case 7: /* Valid, means three bytes of info */
|
||||||
|
/*
|
||||||
|
* We know this char is an =. Is there anything but
|
||||||
|
* whitespace after it?
|
||||||
|
*/
|
||||||
|
for ((void)NULL; ch != '\0'; ch = *src++)
|
||||||
|
if (!isspace((unsigned char)ch)) {
|
||||||
|
return (-13);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Now make sure for cases 2 and 3 that the "extra"
|
||||||
|
* bits that slopped past the last full byte were
|
||||||
|
* zeros. If we don't check them, they become a
|
||||||
|
* subliminal channel.
|
||||||
|
*/
|
||||||
|
if (target && target[tarindex] != 0) {
|
||||||
|
return (-14);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* We ended by seeing the end of the string. Make sure we
|
||||||
|
* have no partial bytes lying around.
|
||||||
|
*/
|
||||||
|
if (state != 0)
|
||||||
|
return (-15);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (tarindex);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
b32_pton(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)
|
||||||
|
{
|
||||||
|
return b32_pton_ar(src, hashed_owner_str_len, target, targsize, Base32);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
b32_pton_extended_hex(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)
|
||||||
|
{
|
||||||
|
return b32_pton_ar(src, hashed_owner_str_len, target, targsize, Base32_extended_hex);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* calculates the size needed to store the result of b32_pton
|
||||||
|
*/
|
||||||
|
size_t b32_pton_calculate_size(size_t srcsize)
|
||||||
|
{
|
||||||
|
size_t result = ((((srcsize) / 8) * 5));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
59
config.h.in
59
config.h.in
|
|
@ -18,6 +18,12 @@
|
||||||
/* Whether the C compiler accepts the "unused" attribute */
|
/* Whether the C compiler accepts the "unused" attribute */
|
||||||
#undef HAVE_ATTR_UNUSED
|
#undef HAVE_ATTR_UNUSED
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `b32_ntop' function. */
|
||||||
|
#undef HAVE_B32_NTOP
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `b32_pton' function. */
|
||||||
|
#undef HAVE_B32_PTON
|
||||||
|
|
||||||
/* Define to 1 if your system has a working `chown' function. */
|
/* Define to 1 if your system has a working `chown' function. */
|
||||||
#undef HAVE_CHOWN
|
#undef HAVE_CHOWN
|
||||||
|
|
||||||
|
|
@ -312,13 +318,6 @@
|
||||||
`char[]'. */
|
`char[]'. */
|
||||||
#undef YYTEXT_POINTER
|
#undef YYTEXT_POINTER
|
||||||
|
|
||||||
/* Define to 1 if on AIX 3.
|
|
||||||
System headers sometimes define this.
|
|
||||||
We just want to avoid a redefinition error message. */
|
|
||||||
#ifndef _ALL_SOURCE
|
|
||||||
# undef _ALL_SOURCE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||||
#undef _FILE_OFFSET_BITS
|
#undef _FILE_OFFSET_BITS
|
||||||
|
|
||||||
|
|
@ -328,6 +327,38 @@
|
||||||
/* Define for large files, on AIX-style hosts. */
|
/* Define for large files, on AIX-style hosts. */
|
||||||
#undef _LARGE_FILES
|
#undef _LARGE_FILES
|
||||||
|
|
||||||
|
/* Define to 1 if on MINIX. */
|
||||||
|
#undef _MINIX
|
||||||
|
|
||||||
|
/* Define to 2 if the system does not provide POSIX.1 features except with
|
||||||
|
this defined. */
|
||||||
|
#undef _POSIX_1_SOURCE
|
||||||
|
|
||||||
|
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
||||||
|
#undef _POSIX_SOURCE
|
||||||
|
|
||||||
|
/* Enable extensions on AIX 3, Interix. */
|
||||||
|
#ifndef _ALL_SOURCE
|
||||||
|
# undef _ALL_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable GNU extensions on systems that have them. */
|
||||||
|
#ifndef _GNU_SOURCE
|
||||||
|
# undef _GNU_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable threading extensions on Solaris. */
|
||||||
|
#ifndef _POSIX_PTHREAD_SEMANTICS
|
||||||
|
# undef _POSIX_PTHREAD_SEMANTICS
|
||||||
|
#endif
|
||||||
|
/* Enable extensions on HP NonStop. */
|
||||||
|
#ifndef _TANDEM_SOURCE
|
||||||
|
# undef _TANDEM_SOURCE
|
||||||
|
#endif
|
||||||
|
/* Enable general extensions on Solaris. */
|
||||||
|
#ifndef __EXTENSIONS__
|
||||||
|
# undef __EXTENSIONS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Define to empty if `const' does not conform to ANSI C. */
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
#undef const
|
#undef const
|
||||||
|
|
||||||
|
|
@ -548,6 +579,20 @@ struct tm *gmtime_r(const time_t *timep, struct tm *result);
|
||||||
struct sockaddr_storage;
|
struct sockaddr_storage;
|
||||||
#include "compat/fake-rfc2553.h"
|
#include "compat/fake-rfc2553.h"
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef B32_NTOP
|
||||||
|
int b32_ntop(uint8_t const *src, size_t srclength,
|
||||||
|
char *target, size_t targsize);
|
||||||
|
int b32_ntop_extended_hex(uint8_t const *src, size_t srclength,
|
||||||
|
char *target, size_t targsize);
|
||||||
|
size_t b32_ntop_calculate_size(size_t srcsize);
|
||||||
|
#endif /* !B32_NTOP */
|
||||||
|
#ifndef B32_PTON
|
||||||
|
int b32_pton(char const *src, size_t hashed_owner_str_len,
|
||||||
|
uint8_t *target, size_t targsize);
|
||||||
|
int b32_pton_extended_hex(char const *src, size_t hashed_owner_str_len,
|
||||||
|
uint8_t *target, size_t targsize);
|
||||||
|
size_t b32_pton_calculate_size(size_t srcsize);
|
||||||
|
#endif /* !B32_PTON */
|
||||||
|
|
||||||
#ifndef HAVE_SLEEP
|
#ifndef HAVE_SLEEP
|
||||||
#define sleep(x) Sleep((x)*1000) /* on win32 */
|
#define sleep(x) Sleep((x)*1000) /* on win32 */
|
||||||
|
|
|
||||||
18
configure.ac
18
configure.ac
|
|
@ -860,6 +860,10 @@ AC_SUBST(ldnsdir)
|
||||||
])
|
])
|
||||||
LDFLAGS="$LATE_LDFLAGS $LDFLAGS"
|
LDFLAGS="$LATE_LDFLAGS $LDFLAGS"
|
||||||
|
|
||||||
|
# after ldns, check if b32 is needed (might be exported by ldns ...)
|
||||||
|
AC_REPLACE_FUNCS(b32_pton)
|
||||||
|
AC_REPLACE_FUNCS(b32_ntop)
|
||||||
|
|
||||||
AC_DEFINE_UNQUOTED([MAXSYSLOGMSGLEN], [5120], [Define to the maximum message length to pass to syslog.])
|
AC_DEFINE_UNQUOTED([MAXSYSLOGMSGLEN], [5120], [Define to the maximum message length to pass to syslog.])
|
||||||
|
|
||||||
AH_BOTTOM([
|
AH_BOTTOM([
|
||||||
|
|
@ -1010,6 +1014,20 @@ struct tm *gmtime_r(const time_t *timep, struct tm *result);
|
||||||
struct sockaddr_storage;
|
struct sockaddr_storage;
|
||||||
#include "compat/fake-rfc2553.h"
|
#include "compat/fake-rfc2553.h"
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef B32_NTOP
|
||||||
|
int b32_ntop(uint8_t const *src, size_t srclength,
|
||||||
|
char *target, size_t targsize);
|
||||||
|
int b32_ntop_extended_hex(uint8_t const *src, size_t srclength,
|
||||||
|
char *target, size_t targsize);
|
||||||
|
size_t b32_ntop_calculate_size(size_t srcsize);
|
||||||
|
#endif /* !B32_NTOP */
|
||||||
|
#ifndef B32_PTON
|
||||||
|
int b32_pton(char const *src, size_t hashed_owner_str_len,
|
||||||
|
uint8_t *target, size_t targsize);
|
||||||
|
int b32_pton_extended_hex(char const *src, size_t hashed_owner_str_len,
|
||||||
|
uint8_t *target, size_t targsize);
|
||||||
|
size_t b32_pton_calculate_size(size_t srcsize);
|
||||||
|
#endif /* !B32_PTON */
|
||||||
|
|
||||||
#ifndef HAVE_SLEEP
|
#ifndef HAVE_SLEEP
|
||||||
#define sleep(x) Sleep((x)*1000) /* on win32 */
|
#define sleep(x) Sleep((x)*1000) /* on win32 */
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
17 September 2008: Wouter
|
17 September 2008: Wouter
|
||||||
- locking for threadsafe bogus rrset counter.
|
- locking for threadsafe bogus rrset counter.
|
||||||
|
- ldns trunk no longer exports b32 functions, provide compat.
|
||||||
|
|
||||||
16 September 2008: Wouter
|
16 September 2008: Wouter
|
||||||
- extended-statistics: yesno config option.
|
- extended-statistics: yesno config option.
|
||||||
|
|
|
||||||
BIN
ldns-src.tar.gz
BIN
ldns-src.tar.gz
Binary file not shown.
Loading…
Reference in a new issue