diff options
197 files changed, 2895 insertions, 1689 deletions
diff --git a/Linux-PAM/ChangeLog b/Linux-PAM/ChangeLog index 79e8dc1f..ebef2ce3 100644 --- a/Linux-PAM/ChangeLog +++ b/Linux-PAM/ChangeLog @@ -1,3 +1,213 @@ +2007-10-09 Thorsten Kukuk <kukuk@thkukuk.de> + + * release version 0.99.9.0 + + * configure.in: Increase vesion number. + + * libpam/Makefile.am: Increase release number. + * libpam_misc/Makefile.am: Increase release number. + + * po/*.po: Regenerate. + +2007-10-08 Thorsten Kukuk <kukuk@thkukuk.de> + + * modules/pam_time/pam_time.c (is_same): Length of strings without + wildcard needs to be the same. + * modules/pam_group/pam_group.c (is_same): Likewise. + +2007-10-01 Thorsten Kukuk <kukuk@thkukuk.de> + + * xtests/tst-pam_group1.c: New test case for user compare in pam_group. + * xtests/tst-pam_group1.sh: Script to run test case. + * xtests/tst-pam_group1.pamd: Config for test case. + * xtests/Makefile.am: Add tst-pam_group1 test case. + * xtests/run-xtests.sh: Save/restore group.conf. + * xtests/group.conf: New. + + * modules/pam_xauth/pam_xauth.c (pam_sm_open_session): Don't + free arguments used for putenv(). + + * doc/man/pam_putenv.3.xml: Document that application has to free + the memory. + +2007-09-27 Tomas Mraz <t8m@centrum.cz> + + * modules/pam_succeed_if/pam_succeed_if.c (evaluate_inlist): Fix in + operator rhbz #295151. + * modules/pam_namespace/pam_namespace.c (poly_name): Do not try to + get context when SELinux is disabled. + +2007-09-27 Thorsten Kukuk <kukuk@thkukuk.de> + + * xtests/tst-pam_succeed_if1.c: New test case for + https://bugzilla.redhat.com/show_bug.cgi?id=295151 + * xtests/tst-pam_succeed_if1.sh: Script to run test case. + * xtests/tst-pam_succeed_if1.pamd: Config for test case. + * xtests/Makefile.am: Add tst-pam_succeed_if1 test case. + + * xtests/run-xtests.sh: Add support to skip tests. + * xtests/tst-pam_limits1.c: Skip test if RLIMIT_NICE is not + defined. + +2007-09-03 Steve Langasek <vorlon@debian.org> + + * modules/pam_limits/pam_limits.c: remove a number of unnecessary + string manipulations, including a strncpy() that was acting on + overlapping memory. + + * libpam_misc/misc_conv.c: don't block SIGINT in misc_conv; it's + perfectly valid to allow the user to interrupt at a prompt. If + an application wants prompts to not be interruptable, the + application should take responsibility for blocking SIGINT. + +2007-09-02 Thorsten Kukuk <kukuk@thkukuk.de> + + * examples/Makefile.am: Fix usage of LIBADD, LDADD and LDFLAGS. + * libpam/Makefile.am: Likewise. + * modules/pam_access/Makefile.am: Likewise. + * modules/pam_cracklib/Makefile.am: Likewise. + * modules/pam_debug/Makefile.am: Likewise. + * modules/pam_deny/Makefile.am: Likewise. + * modules/pam_echo/Makefile.am: Likewise. + * modules/pam_env/Makefile.am: Likewise. + * modules/pam_exec/Makefile.am: Likewise. + * modules/pam_faildelay/Makefile.am: Likewise. + * modules/pam_filter/Makefile.am: Likewise. + * modules/pam_filter/upperLOWER/Makefile.am: Likewise. + * modules/pam_ftp/Makefile.am: Likewise. + * modules/pam_group/Makefile.am: Likewise. + * modules/pam_issue/Makefile.am: Likewise. + * modules/pam_keyinit/Makefile.am: Likewise. + * modules/pam_lastlog/Makefile.am: Likewise. + * modules/pam_limits/Makefile.am: Likewise. + * modules/pam_listfile/Makefile.am: Likewise. + * modules/pam_localuser/Makefile.am: Likewise. + * modules/pam_loginuid/Makefile.am: Likewise. + * modules/pam_mail/Makefile.am: Likewise. + * modules/pam_mkhomedir/Makefile.am: Likewise. + * modules/pam_motd/Makefile.am: Likewise. + * modules/pam_namespace/Makefile.am: Likewise. + * modules/pam_nologin/Makefile.am: Likewise. + * modules/pam_permit/Makefile.am: Likewise. + * modules/pam_rhosts/Makefile.am: Likewise. + * modules/pam_rootok/Makefile.am: Likewise. + * modules/pam_securetty/Makefile.am: Likewise. + * modules/pam_selinux/Makefile.am: Likewise. + * modules/pam_shells/Makefile.am: Likewise. + * modules/pam_stress/Makefile.am: Likewise. + * modules/pam_succeed_if/Makefile.am: Likewise. + * modules/pam_tally/Makefile.am: Likewise. + * modules/pam_time/Makefile.am: Likewise. + * modules/pam_umask/Makefile.am: Likewise. + * modules/pam_unix/Makefile.am: Likewise. + * tests/Makefile.am: Likewise. + +2007-08-31 Steve Langasek <vorlon@debian.org> + + * modules/pam_group/group.conf: don't use "games" as an example + group, on some distros this is a pre-existing group that it would + be a security hole to give users access to. + +2007-08-30 Thorsten Kukuk <kukuk@thkukuk.de> + + * modules/pam_limits/limits.conf.5.xml: Document that maxlogins + is ignored for users with UID 0. + +2007-08-30 Steve Langasek <vorlon@debian.org> + + * modules/pam_unix/support.c, modules/pam_unix/unix_chkpwd.c: + A wrong username doesn't need to be logged at LOG_ALERT; + LOG_WARNING should be sufficient. + Patch from Sam Hartman <hartmans@debian.org>. + + * modules/pam_cracklib/pam_cracklib.c: + s/CRACKLIB_DICT/CRACKLIB_DICTS/, for consistency with existing + #define in pam_unix + +2007-08-29 Steve Langasek <vorlon@debian.org> + + * libpam/pam_modutil_getgrgid.c, libpam/pam_modutil_getgrnam.c, + libpam/pam_modutil_getpwnam.c, libpam/pam_modutil_getpwuid.c, + libpam/pam_modutil_getspnam.c: don't use pthread mutexes in libpam + unnecessarily; this avoids linking problems on non-Linux + platforms. + + * modules/pam_listfile/pam_listfile.c, modules/pam_listfile/README, + modules/pam_listfile/pam_listfile.8, + modules/pam_listfile/pam_listfile.8.xml: add a 'quiet' option to + avoid logging errors any time a user is refused service by this + module. + +2007-08-29 Thorsten Kukuk <kukuk@thkukuk.de> + + * modules/pam_rhosts/pam_rhosts_auth.c: buflen needs to be size_t. + (__icheckhost): Cast to int32_t to fix limited range error. + + * modules/pam_cracklib/pam_cracklib.c: Mark cracklib_dictpath + as const. + +2007-08-29 Steve Langasek <vorlon@debian.org> + + * modules/pam_rhosts/pam_rhosts_auth.c: getline returns -1 at + EOF, not 0. Check accordingly to fix an infinite loop. Thanks + to Stephan Springl <springl-rhosts@bfw-online.de> for catching + this. + +2007-08-28 Steve Langasek <vorlon@debian.org> + + * configure.in: call AC_CHECK_HEADERS instead of AC_CHECK_HEADER + for crack.h, so we get a HAVE_CRACK_H define. + * modules/pam_cracklib/pam_cracklib.c: don't copy around the + cracklib dictpath into a fixed-width buffer, when we can just + point at the existing strings; and allow users to override the + default cracklib path with -DCRACKLIB_DICT, required for + compatibility with cracklib 2.7. + +2007-08-27 Steve Langasek <vorlon@debian.org> + + * modules/pam_limits/pam_limits.c: when building on non-Linux + systems, give a warning only, not an error; no one seems to + remember why this error was here in the first place, but leave + something in that might still grab the attention of non-Linux + users. + Patch from Michal Suchanek <hramrach_l@centrum.cz>. + * configure.in, modules/pam_rhosts/pam_rhosts_auth.c: check for + the presence of net/if.h before using, required for Hurd + compatibility. + Patch from Igor Khavkine <i_khavki@alcor.concordia.ca>. + * modules/pam_limits/pam_limits.c: conditionalize the use of + RLIMIT_AS, which is not present on the Hurd. + Patch from Igor Khavkine <i_khavki@alcor.concordia.ca>. + * modules/pam_rhosts/pam_rhosts_auth.c: use getline() instead of + a static buffer when available; fixes the build on systems + without MAXHOSTNAMELEN (i.e., the Hurd). + * modules/pam_xauth/pam_xauth.c: make sure PATH_MAX is defined + before using it. + +2007-08-26 Andrew Morgan <morgan@kernel.org> + + * doc/man/pam.conf-syntax.xml + Minor fixes: '\[' -> '\]'. + +2007-08-25 Steve Langasek <vorlon@debian.org> + + * doc/man/pam.conf-syntax.xml, doc/man/pam.conf.5: + Document "new" control options conv_again and incomplete, supported + in pam.d's extended syntax. + Patch from Ben Collins <bcollins@debian.org>. + +2007-08-15 Tomas Mraz <t8m@centrum.cz> + + * modules/pam_access/pam_access.c (list_match): Add explicit + sptr argument for strtok_r, otherwise the code is not portable. + +2007-08-13 Olivier Blin <blino@mandriva.com> + + * doc/man/pam.3.xml: Fix typo. + * doc/man/pam.3: Likewise. + * doc/man/pam_end.3.xml: Likewise. + * doc/man/pam_end.3: Likewise. + 2007-07-18 Thorsten Kukuk <kukuk@thkukuk.de> * release version 0.99.8.1 diff --git a/Linux-PAM/Makefile.in b/Linux-PAM/Makefile.in index e61dff14..582bca49 100644 --- a/Linux-PAM/Makefile.in +++ b/Linux-PAM/Makefile.in @@ -171,6 +171,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/NEWS b/Linux-PAM/NEWS index 4432cf31..2b14fec9 100644 --- a/Linux-PAM/NEWS +++ b/Linux-PAM/NEWS @@ -1,6 +1,12 @@ Linux-PAM NEWS -- history of user-visible changes. +Release 0.99.9.0 +* misc_conv no longer blocks SIGINT; applications that don't want + user-interruptable prompts should block SIGINT themselves +* Merge fixes from Debian +* Fix parser for pam_group and pam_time + Release 0.99.8.1 * Fix a regression in audit code introduced with last release * Fix compiling with --disable-nls diff --git a/Linux-PAM/aclocal.m4 b/Linux-PAM/aclocal.m4 index 4cecc778..39ce276f 100644 --- a/Linux-PAM/aclocal.m4 +++ b/Linux-PAM/aclocal.m4 @@ -18,7 +18,7 @@ you should regenerate the build system entirely.], [63])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# serial 48 AC_PROG_LIBTOOL +# serial 51 AC_PROG_LIBTOOL # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) @@ -181,7 +181,7 @@ test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= @@ -268,8 +268,9 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext +[AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* @@ -281,8 +282,9 @@ $rm conftest* # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext +[AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* @@ -298,12 +300,20 @@ $rm conftest* # If we don't find anything, use the default library path according # to the aix ld manual. AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi],[]) +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_AC_SYS_LIBPATH_AIX @@ -534,13 +544,17 @@ ia64-*-hpux*) rm -rf conftest* ;; -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; @@ -557,6 +571,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) ;; *64-bit*) case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; @@ -628,7 +645,7 @@ AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], AC_CACHE_CHECK([$1], [$2], [$2=no ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. @@ -669,11 +686,12 @@ fi # ------------------------------------------------------------ # Check whether the given compiler option works AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_CACHE_CHECK([$1], [$2], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" - printf "$lt_simple_link_test_code" > conftest.$ac_ext + echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings @@ -787,24 +805,27 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl fi ;; *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi ;; esac ]) @@ -1031,7 +1052,8 @@ fi # --------------------------------- # Check to see if options -c and -o are simultaneously supported by compiler AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no @@ -1039,7 +1061,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], mkdir conftest cd conftest mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or @@ -1179,6 +1201,7 @@ else darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" + old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) @@ -1196,7 +1219,8 @@ fi # ----------------------------- # PORTME Fill in your ld.so characteristics AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_MSG_CHECKING([dynamic linker characteristics]) +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= @@ -1210,20 +1234,58 @@ shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" +m4_if($1,[],[ if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi +fi]) need_lib_prefix=unknown hardcode_into_libs=no @@ -1380,12 +1442,8 @@ darwin* | rhapsody*) shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; @@ -1402,18 +1460,6 @@ freebsd1*) dynamic_linker=no ;; -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -1451,7 +1497,7 @@ freebsd* | dragonfly*) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; - freebsd*) # from 4.6 on + *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -1514,7 +1560,7 @@ hpux9* | hpux10* | hpux11*) postinstall_cmds='chmod 555 $lib' ;; -interix3*) +interix[[3-9]]*) version_type=linux need_lib_prefix=no need_version=no @@ -1569,7 +1615,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -1585,7 +1631,7 @@ linux*) # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;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="/lib /usr/lib $lt_ld_extra" fi @@ -1598,18 +1644,6 @@ linux*) dynamic_linker='GNU/Linux ld.so' ;; -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - netbsd*) version_type=sunos need_lib_prefix=no @@ -1691,6 +1725,10 @@ osf3* | osf4* | osf5*) sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; +rdos*) + dynamic_linker=no + ;; + solaris*) version_type=linux need_lib_prefix=no @@ -1796,7 +1834,8 @@ fi # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_ARG_WITH([tags], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_ARG_WITH([tags], [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], [include additional configurations @<:@automatic@:>@])], [tagnames="$withval"]) @@ -2057,7 +2096,7 @@ m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], # AC_PATH_TOOL_PREFIX # ------------------- -# find a file program which can recognise shared library +# find a file program which can recognize shared library AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_MSG_CHECKING([for $1]) @@ -2120,7 +2159,7 @@ fi # AC_PATH_MAGIC # ------------- -# find a file program which can recognise a shared library +# find a file program which can recognize a shared library AC_DEFUN([AC_PATH_MAGIC], [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then @@ -2267,7 +2306,7 @@ esac # how to check for library dependencies # -- PORTME fill in with the dynamic library characteristics AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], -[AC_CACHE_CHECK([how to recognise dependent libraries], +[AC_CACHE_CHECK([how to recognize dependent libraries], lt_cv_deplibs_check_method, [lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= @@ -2306,16 +2345,22 @@ cygwin*) mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump'. - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | kfreebsd*-gnu | dragonfly*) +freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) @@ -2353,7 +2398,7 @@ hpux10.20* | hpux11*) esac ;; -interix3*) +interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; @@ -2369,7 +2414,7 @@ irix5* | irix6* | nonstopux*) ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -2403,6 +2448,10 @@ osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + solaris*) lt_cv_deplibs_check_method=pass_all ;; @@ -2455,7 +2504,7 @@ AC_DEFUN([AC_PROG_NM], lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do @@ -2671,10 +2720,10 @@ objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" +lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' +lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER @@ -2776,10 +2825,10 @@ objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" +lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER @@ -2925,7 +2974,7 @@ case $host_os in strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes + : else # We have old collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported @@ -3084,10 +3133,10 @@ case $host_os in case $cc_basename in xlc*) output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _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 - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _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}' ;; *) @@ -3121,7 +3170,7 @@ case $host_os in freebsd-elf*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_AC_TAGVAR(ld_shlibs, $1)=yes @@ -3170,9 +3219,7 @@ case $host_os in _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - ;; + hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; @@ -3240,7 +3287,7 @@ case $host_os in ;; esac ;; - interix3*) + interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' @@ -3280,7 +3327,7 @@ case $host_os in _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; - linux*) + linux* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -3360,6 +3407,29 @@ case $host_os in # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; esac ;; lynxos*) @@ -3398,16 +3468,20 @@ case $host_os in _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no fi - output_verbose_link_cmd='echo' ;; osf3*) case $cc_basename in @@ -3569,15 +3643,10 @@ case $host_os in case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes @@ -3624,6 +3693,12 @@ case $host_os in fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac fi ;; esac @@ -3867,7 +3942,7 @@ $rm -f confest.$objext # PORTME: override above test on systems where it is broken ifelse([$1],[CXX], [case $host_os in -interix3*) +interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_AC_TAGVAR(predep_objects,$1)= @@ -3875,13 +3950,46 @@ interix3*) _LT_AC_TAGVAR(postdeps,$1)= ;; +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + solaris*) case $cc_basename in CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. - _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun' + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi ;; esac ;; @@ -3930,10 +4038,17 @@ objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code=" subroutine t\n return\n end\n" +lt_simple_compile_test_code="\ + subroutine t + return + end +" # Code to be used in simple link tests -lt_simple_link_test_code=" program t\n end\n" +lt_simple_link_test_code="\ + program t + end +" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER @@ -4012,10 +4127,10 @@ objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}\n" +lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n' +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER @@ -4068,7 +4183,7 @@ objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" @@ -4157,6 +4272,7 @@ if test -f "$ltmain"; then _LT_AC_TAGVAR(module_cmds, $1) \ _LT_AC_TAGVAR(module_expsym_cmds, $1) \ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(fix_srcfile_path, $1) \ _LT_AC_TAGVAR(exclude_expsyms, $1) \ _LT_AC_TAGVAR(include_expsyms, $1); do @@ -4203,7 +4319,7 @@ ifelse([$1], [], # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: @@ -4528,7 +4644,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" +fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) @@ -4611,6 +4727,7 @@ fi # --------------------------------- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([LT_AC_PROG_SED]) AC_REQUIRE([AC_PROG_NM]) AC_REQUIRE([AC_OBJEXT]) # Check for command to grab the raw symbol name followed by C symbol from nm. @@ -4647,7 +4764,7 @@ hpux*) # Its linker distinguishes data from code symbols lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; -linux*) +linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" @@ -4837,12 +4954,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | os2* | pw32*) + mingw* | cygwin* | os2* | pw32*) # 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). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; darwin* | rhapsody*) @@ -4854,7 +4973,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) # DJGPP does not support shared libraries at all _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; - interix3*) + interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; @@ -4920,7 +5039,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) ;; esac ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -4963,7 +5082,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) ;; esac ;; - linux*) + linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler @@ -4990,6 +5109,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac ;; esac ;; @@ -5110,13 +5237,15 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # 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). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; @@ -5126,7 +5255,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; - interix3*) + interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; @@ -5184,7 +5313,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # 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). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' @@ -5217,7 +5346,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; - linux*) + linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' @@ -5236,6 +5365,22 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) # All Alpha code is PIC. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; esac ;; @@ -5245,6 +5390,10 @@ AC_MSG_CHECKING([for $compiler option to produce PIC]) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; + rdos*) + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -5339,7 +5488,8 @@ AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) ifelse([$1],[CXX],[ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in @@ -5356,7 +5506,7 @@ ifelse([$1],[CXX],[ _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; *) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -5495,7 +5645,7 @@ EOF _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -5513,7 +5663,7 @@ EOF fi ;; - interix3*) + interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' @@ -5528,7 +5678,7 @@ EOF _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; - linux*) + gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in @@ -5546,13 +5696,22 @@ EOF ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no @@ -5592,7 +5751,7 @@ EOF sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 @@ -5711,7 +5870,7 @@ _LT_EOF strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes + : else # We have old collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported @@ -5804,7 +5963,7 @@ _LT_EOF # The linker will automatically build a .lib file if we build a DLL. _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; @@ -5846,10 +6005,10 @@ _LT_EOF case $cc_basename in xlc*) output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _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 - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _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}' ;; *) @@ -5889,7 +6048,7 @@ _LT_EOF ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes @@ -6011,24 +6170,28 @@ _LT_EOF ;; openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac + _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; @@ -6087,17 +6250,16 @@ _LT_EOF case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + if test "$GCC" = yes; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; @@ -6154,7 +6316,7 @@ _LT_EOF fi ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -6229,7 +6391,7 @@ x|xyes) # to ld, don't add -lc before -lgcc. AC_MSG_CHECKING([whether -lc should be explicitly linked in]) $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest @@ -6332,6 +6494,30 @@ AC_DEFUN([LT_AC_PROG_RC], [AC_CHECK_TOOL(RC, windres, no) ]) + +# Cheap backport of AS_EXECUTABLE_P and required macros +# from Autoconf 2.59; we should not use $as_executable_p directly. + +# _AS_TEST_PREPARE +# ---------------- +m4_ifndef([_AS_TEST_PREPARE], +[m4_defun([_AS_TEST_PREPARE], +[if test -x / >/dev/null 2>&1; then + as_executable_p='test -x' +else + as_executable_p='test -f' +fi +])])# _AS_TEST_PREPARE + +# AS_EXECUTABLE_P +# --------------- +# Check whether a file is executable. +m4_ifndef([AS_EXECUTABLE_P], +[m4_defun([AS_EXECUTABLE_P], +[AS_REQUIRE([_AS_TEST_PREPARE])dnl +$as_executable_p $1[]dnl +])])# AS_EXECUTABLE_P + # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # @@ -6352,12 +6538,13 @@ do test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done +IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris @@ -6390,6 +6577,7 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do done ]) SED=$lt_cv_path_SED +AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) diff --git a/Linux-PAM/conf/Makefile.in b/Linux-PAM/conf/Makefile.in index 93ea88d9..324a77ba 100644 --- a/Linux-PAM/conf/Makefile.in +++ b/Linux-PAM/conf/Makefile.in @@ -150,6 +150,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/conf/pam_conv1/Makefile.in b/Linux-PAM/conf/pam_conv1/Makefile.in index 4ee8d046..21b68c9e 100644 --- a/Linux-PAM/conf/pam_conv1/Makefile.in +++ b/Linux-PAM/conf/pam_conv1/Makefile.in @@ -170,6 +170,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/config.h.in b/Linux-PAM/config.h.in index 5ee881b7..7f7f182e 100644 --- a/Linux-PAM/config.h.in +++ b/Linux-PAM/config.h.in @@ -19,6 +19,9 @@ the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE +/* Define to 1 if you have the <crack.h> header file. */ +#undef HAVE_CRACK_H + /* Define to 1 if you have the <crypt.h> header file. */ #undef HAVE_CRYPT_H @@ -126,6 +129,9 @@ /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ #undef HAVE_NDIR_H +/* Define to 1 if you have the <net/if.h> header file. */ +#undef HAVE_NET_IF_H + /* Define to 1 if you have the <paths.h> header file. */ #undef HAVE_PATHS_H diff --git a/Linux-PAM/configure b/Linux-PAM/configure index 16cf719a..80dda84f 100755 --- a/Linux-PAM/configure +++ b/Linux-PAM/configure @@ -859,6 +859,7 @@ LEX LEX_OUTPUT_ROOT LEXLIB LN_S +SED GREP EGREP ECHO @@ -2369,7 +2370,7 @@ fi # Define the identity of the package. PACKAGE="Linux-PAM" - VERSION=0.99.8.1 + VERSION=0.99.9.0 cat >>confdefs.h <<_ACEOF @@ -4259,12 +4260,13 @@ do test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done +IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris @@ -4299,6 +4301,7 @@ done fi SED=$lt_cv_path_SED + { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } @@ -4649,8 +4652,8 @@ fi echo "${ECHO_T}$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" -{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 -echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -4691,16 +4694,22 @@ cygwin*) mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump'. - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | kfreebsd*-gnu | dragonfly*) +freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) @@ -4738,7 +4747,7 @@ hpux10.20* | hpux11*) esac ;; -interix3*) +interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; @@ -4754,7 +4763,7 @@ irix5* | irix6* | nonstopux*) ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -4788,6 +4797,10 @@ osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + solaris*) lt_cv_deplibs_check_method=pass_all ;; @@ -4874,7 +4887,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4877 "configure"' > conftest.$ac_ext + echo '#line 4890 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -4909,7 +4922,8 @@ ia64-*-hpux*) rm -rf conftest* ;; -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 @@ -4920,6 +4934,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) case `/usr/bin/file conftest.o` in *32-bit*) case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; @@ -4936,6 +4953,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) ;; *64-bit*) case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; @@ -6723,24 +6743,27 @@ else fi ;; *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi ;; esac @@ -6757,6 +6780,7 @@ fi + # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } @@ -6794,7 +6818,7 @@ hpux*) # Its linker distinguishes data from code symbols lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; -linux*) +linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" @@ -7345,7 +7369,7 @@ test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= @@ -7545,10 +7569,10 @@ objext=o objext=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" +lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' +lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. @@ -7563,13 +7587,13 @@ compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext -printf "$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 _lt_linker_boilerplate=`cat conftest.err` $rm conftest* @@ -7589,7 +7613,7 @@ if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. @@ -7600,11 +7624,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7603: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7627: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7607: \$? = $ac_status" >&5 + echo "$as_me:7631: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7655,13 +7679,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # 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). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; @@ -7671,7 +7697,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_pic='-fno-common' ;; - interix3*) + interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; @@ -7729,7 +7755,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # 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). lt_prog_compiler_pic='-DDLL_EXPORT' @@ -7762,7 +7788,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_static='-Bstatic' ;; - linux*) + linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' @@ -7781,6 +7807,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; esac ;; @@ -7790,6 +7832,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_static='-non_shared' ;; + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' @@ -7857,7 +7903,7 @@ if test "${lt_prog_compiler_pic_works+set}" = set; then else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. @@ -7868,11 +7914,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7871: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7917: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7875: \$? = $ac_status" >&5 + echo "$as_me:7921: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7921,7 +7967,7 @@ else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext + echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings @@ -7961,7 +8007,7 @@ else mkdir conftest cd conftest mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or @@ -7972,11 +8018,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7975: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8021: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7979: \$? = $ac_status" >&5 + echo "$as_me:8025: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8168,7 +8214,7 @@ EOF allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -8186,7 +8232,7 @@ EOF fi ;; - interix3*) + interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' @@ -8201,7 +8247,7 @@ EOF archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; - linux*) + gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in @@ -8219,13 +8265,22 @@ EOF ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac - archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs=no @@ -8384,7 +8439,7 @@ _LT_EOF strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 - hardcode_direct=yes + : else # We have old collect2 hardcode_direct=unsupported @@ -8458,11 +8513,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8517,11 +8579,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8575,7 +8644,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; @@ -8617,10 +8686,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi case $cc_basename in xlc*) output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$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 - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='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}' ;; *) @@ -8660,7 +8729,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -8782,24 +8851,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac + ld_shlibs=no fi ;; @@ -8858,17 +8931,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; esac link_all_deplibs=yes ;; @@ -8925,7 +8997,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi fi ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no @@ -9002,7 +9074,7 @@ x|xyes) { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 @@ -9060,17 +9132,55 @@ shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" + if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi @@ -9230,12 +9340,8 @@ darwin* | rhapsody*) shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; @@ -9252,18 +9358,6 @@ freebsd1*) dynamic_linker=no ;; -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -9301,7 +9395,7 @@ freebsd* | dragonfly*) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; - freebsd*) # from 4.6 on + *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -9364,7 +9458,7 @@ hpux9* | hpux10* | hpux11*) postinstall_cmds='chmod 555 $lib' ;; -interix3*) +interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no @@ -9419,7 +9513,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -9435,7 +9529,7 @@ linux*) # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;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="/lib /usr/lib $lt_ld_extra" fi @@ -9448,18 +9542,6 @@ linux*) dynamic_linker='GNU/Linux ld.so' ;; -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - netbsd*) version_type=sunos need_lib_prefix=no @@ -9541,6 +9623,10 @@ osf3* | osf4* | osf5*) sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; +rdos*) + dynamic_linker=no + ;; + solaris*) version_type=linux need_lib_prefix=no @@ -9694,6 +9780,7 @@ else darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" + old_striplib="$STRIP -S" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else @@ -10280,7 +10367,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10283 "configure" +#line 10370 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10380,7 +10467,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10383 "configure" +#line 10470 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10578,6 +10665,7 @@ if test -f "$ltmain"; then module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ exclude_expsyms \ include_expsyms; do @@ -10622,7 +10710,7 @@ echo "$as_me: creating $ofile" >&6;} # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: @@ -10946,7 +11034,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" +fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols @@ -11115,10 +11203,10 @@ objext=o objext_CXX=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" +lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -11134,13 +11222,13 @@ compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext -printf "$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 _lt_linker_boilerplate=`cat conftest.err` $rm conftest* @@ -11399,7 +11487,7 @@ case $host_os in strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 - hardcode_direct_CXX=yes + : else # We have old collect2 hardcode_direct_CXX=unsupported @@ -11473,11 +11561,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11533,11 +11628,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11656,10 +11758,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi case $cc_basename in xlc*) output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$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 - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='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}' ;; *) @@ -11693,7 +11795,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi freebsd-elf*) archive_cmds_need_lc_CXX=no ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes @@ -11742,9 +11844,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_separator_CXX=: case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_CXX='+b $libdir' - ;; + hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; @@ -11812,7 +11912,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; esac ;; - interix3*) + interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' @@ -11852,7 +11952,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; - linux*) + linux* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -11932,6 +12032,29 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; esac ;; lynxos*) @@ -11970,16 +12093,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ld_shlibs_CXX=no ;; openbsd*) - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no fi - output_verbose_link_cmd='echo' ;; osf3*) case $cc_basename in @@ -12141,15 +12268,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes @@ -12196,6 +12318,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac fi ;; esac @@ -12387,7 +12515,7 @@ $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in -interix3*) +interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= @@ -12395,13 +12523,46 @@ interix3*) postdeps_CXX= ;; +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + solaris*) case $cc_basename in CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. - postdeps_CXX='-lCstd -lCrun' + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi ;; esac ;; @@ -12438,12 +12599,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | os2* | pw32*) + mingw* | cygwin* | os2* | pw32*) # 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). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) @@ -12455,7 +12618,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; - interix3*) + interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; @@ -12521,7 +12684,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } ;; esac ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -12564,7 +12727,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } ;; esac ;; - linux*) + linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler @@ -12591,6 +12754,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_static_CXX='-non_shared' ;; *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac ;; esac ;; @@ -12705,7 +12876,7 @@ if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. @@ -12716,11 +12887,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12719: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12890: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12723: \$? = $ac_status" >&5 + echo "$as_me:12894: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -12769,7 +12940,7 @@ else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext + echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings @@ -12809,7 +12980,7 @@ else mkdir conftest cd conftest mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or @@ -12820,11 +12991,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12823: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12994: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12827: \$? = $ac_status" >&5 + echo "$as_me:12998: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12890,7 +13061,7 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -12921,7 +13092,7 @@ x|xyes) { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 @@ -12979,20 +13150,7 @@ shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi + need_lib_prefix=unknown hardcode_into_libs=no @@ -13149,12 +13307,7 @@ darwin* | rhapsody*) shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; @@ -13171,18 +13324,6 @@ freebsd1*) dynamic_linker=no ;; -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -13220,7 +13361,7 @@ freebsd* | dragonfly*) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; - freebsd*) # from 4.6 on + *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -13283,7 +13424,7 @@ hpux9* | hpux10* | hpux11*) postinstall_cmds='chmod 555 $lib' ;; -interix3*) +interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no @@ -13338,7 +13479,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -13354,7 +13495,7 @@ linux*) # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;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="/lib /usr/lib $lt_ld_extra" fi @@ -13367,18 +13508,6 @@ linux*) dynamic_linker='GNU/Linux ld.so' ;; -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - netbsd*) version_type=sunos need_lib_prefix=no @@ -13460,6 +13589,10 @@ osf3* | osf4* | osf5*) sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; +rdos*) + dynamic_linker=no + ;; + solaris*) version_type=linux need_lib_prefix=no @@ -13654,6 +13787,7 @@ if test -f "$ltmain"; then module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do @@ -13974,7 +14108,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_CXX" +fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX @@ -14065,10 +14199,17 @@ objext=o objext_F77=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code=" subroutine t\n return\n end\n" +lt_simple_compile_test_code="\ + subroutine t + return + end +" # Code to be used in simple link tests -lt_simple_link_test_code=" program t\n end\n" +lt_simple_link_test_code="\ + program t + end +" # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -14084,13 +14225,13 @@ compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext -printf "$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 _lt_linker_boilerplate=`cat conftest.err` $rm conftest* @@ -14177,13 +14318,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # 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). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; @@ -14193,7 +14336,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_pic_F77='-fno-common' ;; - interix3*) + interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; @@ -14251,7 +14394,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # 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). lt_prog_compiler_pic_F77='-DDLL_EXPORT' @@ -14284,7 +14427,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_static_F77='-Bstatic' ;; - linux*) + linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' @@ -14303,6 +14446,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; esac ;; @@ -14312,6 +14471,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_static_F77='-non_shared' ;; + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' @@ -14379,7 +14542,7 @@ if test "${lt_prog_compiler_pic_works_F77+set}" = set; then else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. @@ -14390,11 +14553,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14393: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14556: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14397: \$? = $ac_status" >&5 + echo "$as_me:14560: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14443,7 +14606,7 @@ else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext + echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings @@ -14483,7 +14646,7 @@ else mkdir conftest cd conftest mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or @@ -14494,11 +14657,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14497: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14660: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14501: \$? = $ac_status" >&5 + echo "$as_me:14664: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14690,7 +14853,7 @@ EOF allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -14708,7 +14871,7 @@ EOF fi ;; - interix3*) + interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' @@ -14723,7 +14886,7 @@ EOF archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; - linux*) + gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in @@ -14741,13 +14904,22 @@ EOF ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac - archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs_F77=no @@ -14906,7 +15078,7 @@ _LT_EOF strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 - hardcode_direct_F77=yes + : else # We have old collect2 hardcode_direct_F77=unsupported @@ -14970,11 +15142,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -15019,11 +15198,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -15077,7 +15263,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; @@ -15119,10 +15305,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi case $cc_basename in xlc*) output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$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 - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='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}' ;; *) @@ -15162,7 +15348,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes @@ -15284,24 +15470,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; openbsd*) - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - ;; - esac + ld_shlibs_F77=no fi ;; @@ -15360,17 +15550,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; esac link_all_deplibs_F77=yes ;; @@ -15427,7 +15616,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi fi ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no @@ -15504,7 +15693,7 @@ x|xyes) { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 @@ -15562,20 +15751,7 @@ shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi + need_lib_prefix=unknown hardcode_into_libs=no @@ -15732,12 +15908,7 @@ darwin* | rhapsody*) shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; @@ -15754,18 +15925,6 @@ freebsd1*) dynamic_linker=no ;; -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -15803,7 +15962,7 @@ freebsd* | dragonfly*) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; - freebsd*) # from 4.6 on + *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -15866,7 +16025,7 @@ hpux9* | hpux10* | hpux11*) postinstall_cmds='chmod 555 $lib' ;; -interix3*) +interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no @@ -15921,7 +16080,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -15937,7 +16096,7 @@ linux*) # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;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="/lib /usr/lib $lt_ld_extra" fi @@ -15950,18 +16109,6 @@ linux*) dynamic_linker='GNU/Linux ld.so' ;; -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - netbsd*) version_type=sunos need_lib_prefix=no @@ -16043,6 +16190,10 @@ osf3* | osf4* | osf5*) sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; +rdos*) + dynamic_linker=no + ;; + solaris*) version_type=linux need_lib_prefix=no @@ -16237,6 +16388,7 @@ if test -f "$ltmain"; then module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do @@ -16557,7 +16709,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_F77" +fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 @@ -16615,10 +16767,10 @@ objext=o objext_GCJ=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}\n" +lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -16634,13 +16786,13 @@ compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext -printf "$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 _lt_linker_boilerplate=`cat conftest.err` $rm conftest* @@ -16681,7 +16833,7 @@ if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. @@ -16692,11 +16844,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16695: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16847: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16699: \$? = $ac_status" >&5 + echo "$as_me:16851: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16747,13 +16899,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # 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). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; @@ -16763,7 +16917,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_pic_GCJ='-fno-common' ;; - interix3*) + interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; @@ -16821,7 +16975,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # 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). lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' @@ -16854,7 +17008,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_static_GCJ='-Bstatic' ;; - linux*) + linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' @@ -16873,6 +17027,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; esac ;; @@ -16882,6 +17052,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_static_GCJ='-non_shared' ;; + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' @@ -16949,7 +17123,7 @@ if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. @@ -16960,11 +17134,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16963: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17137: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16967: \$? = $ac_status" >&5 + echo "$as_me:17141: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17013,7 +17187,7 @@ else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext + echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings @@ -17053,7 +17227,7 @@ else mkdir conftest cd conftest mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or @@ -17064,11 +17238,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17067: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17241: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17071: \$? = $ac_status" >&5 + echo "$as_me:17245: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17260,7 +17434,7 @@ EOF allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -17278,7 +17452,7 @@ EOF fi ;; - interix3*) + interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' @@ -17293,7 +17467,7 @@ EOF archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; - linux*) + gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in @@ -17311,13 +17485,22 @@ EOF ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac - archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs_GCJ=no @@ -17476,7 +17659,7 @@ _LT_EOF strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 - hardcode_direct_GCJ=yes + : else # We have old collect2 hardcode_direct_GCJ=unsupported @@ -17550,11 +17733,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -17609,11 +17799,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -17667,7 +17864,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; @@ -17709,10 +17906,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi case $cc_basename in xlc*) output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$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 - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='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}' ;; *) @@ -17752,7 +17949,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes @@ -17874,24 +18071,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; openbsd*) - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac + ld_shlibs_GCJ=no fi ;; @@ -17950,17 +18151,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; esac link_all_deplibs_GCJ=yes ;; @@ -18017,7 +18217,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi fi ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no @@ -18094,7 +18294,7 @@ x|xyes) { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 @@ -18152,20 +18352,7 @@ shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi + need_lib_prefix=unknown hardcode_into_libs=no @@ -18322,12 +18509,7 @@ darwin* | rhapsody*) shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; @@ -18344,18 +18526,6 @@ freebsd1*) dynamic_linker=no ;; -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -18393,7 +18563,7 @@ freebsd* | dragonfly*) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; - freebsd*) # from 4.6 on + *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -18456,7 +18626,7 @@ hpux9* | hpux10* | hpux11*) postinstall_cmds='chmod 555 $lib' ;; -interix3*) +interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no @@ -18511,7 +18681,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -18527,7 +18697,7 @@ linux*) # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;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="/lib /usr/lib $lt_ld_extra" fi @@ -18540,18 +18710,6 @@ linux*) dynamic_linker='GNU/Linux ld.so' ;; -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - netbsd*) version_type=sunos need_lib_prefix=no @@ -18633,6 +18791,10 @@ osf3* | osf4* | osf5*) sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; +rdos*) + dynamic_linker=no + ;; + solaris*) version_type=linux need_lib_prefix=no @@ -18827,6 +18989,7 @@ if test -f "$ltmain"; then module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do @@ -19147,7 +19310,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_GCJ" +fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ @@ -19204,7 +19367,7 @@ objext=o objext_RC=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" @@ -19223,13 +19386,13 @@ compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext -printf "$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 _lt_linker_boilerplate=`cat conftest.err` $rm conftest* @@ -19307,6 +19470,7 @@ if test -f "$ltmain"; then module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do @@ -19627,7 +19791,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_RC" +fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC @@ -21242,18 +21406,23 @@ else fi if test x"$WITH_CRACKLIB" != xno ; then - if test "${ac_cv_header_crack_h+set}" = set; then - { echo "$as_me:$LINENO: checking for crack.h" >&5 -echo $ECHO_N "checking for crack.h... $ECHO_C" >&6; } -if test "${ac_cv_header_crack_h+set}" = set; then + +for ac_header in crack.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_crack_h" >&5 -echo "${ECHO_T}$ac_cv_header_crack_h" >&6; } +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking crack.h usability" >&5 -echo $ECHO_N "checking crack.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -21261,7 +21430,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include <crack.h> +#include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -21293,15 +21462,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking crack.h presence" >&5 -echo $ECHO_N "checking crack.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include <crack.h> +#include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -21334,41 +21503,45 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: crack.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: crack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: crack.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: crack.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: crack.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: crack.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: crack.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: crack.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: crack.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: crack.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: crack.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: crack.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: crack.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: crack.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: crack.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: crack.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for crack.h" >&5 -echo $ECHO_N "checking for crack.h... $ECHO_C" >&6; } -if test "${ac_cv_header_crack_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_crack_h=$ac_header_preproc + eval "$as_ac_Header=\$ac_header_preproc" fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_crack_h" >&5 -echo "${ECHO_T}$ac_cv_header_crack_h" >&6; } +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } fi -if test $ac_cv_header_crack_h = yes; then - { echo "$as_me:$LINENO: checking for FascistCheck in -lcrack" >&5 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + { echo "$as_me:$LINENO: checking for FascistCheck in -lcrack" >&5 echo $ECHO_N "checking for FascistCheck in -lcrack... $ECHO_C" >&6; } if test "${ac_cv_lib_crack_FascistCheck+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21437,6 +21610,7 @@ fi fi +done else LIBCRACK="" @@ -23029,7 +23203,8 @@ fi -for ac_header in fcntl.h limits.h malloc.h sys/file.h sys/ioctl.h sys/time.h syslog.h termio.h unistd.h sys/fsuid.h inittypes.h + +for ac_header in fcntl.h limits.h malloc.h sys/file.h sys/ioctl.h sys/time.h syslog.h net/if.h termio.h unistd.h sys/fsuid.h inittypes.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -28425,12 +28600,12 @@ LEX!$LEX$ac_delim LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim LEXLIB!$LEXLIB$ac_delim LN_S!$LN_S$ac_delim +SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim -CPP!$CPP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -28472,6 +28647,7 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +CPP!$CPP$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim @@ -28549,7 +28725,7 @@ HAVE_KEY_MANAGEMENT_FALSE!$HAVE_KEY_MANAGEMENT_FALSE$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 75; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 76; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/Linux-PAM/configure.in b/Linux-PAM/configure.in index 4c6a4c81..db00a62b 100644 --- a/Linux-PAM/configure.in +++ b/Linux-PAM/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(conf/pam_conv1/pam_conv_y.y) -AM_INIT_AUTOMAKE("Linux-PAM", 0.99.8.1) +AM_INIT_AUTOMAKE("Linux-PAM", 0.99.9.0) AC_PREREQ([2.60]) AM_CONFIG_HEADER(config.h) AC_CANONICAL_HOST @@ -317,7 +317,7 @@ AC_ARG_ENABLE([cracklib], AC_HELP_STRING([--disable-cracklib],[do not use cracklib]), WITH_CRACKLIB=$enableval, WITH_CRACKLIB=yes) if test x"$WITH_CRACKLIB" != xno ; then - AC_CHECK_HEADER([crack.h], + AC_CHECK_HEADERS([crack.h], AC_CHECK_LIB([crack], [FascistCheck], LIBCRACK="-lcrack", LIBCRACK="")) else LIBCRACK="" @@ -396,7 +396,7 @@ dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/file.h sys/ioctl.h sys/time.h syslog.h termio.h unistd.h sys/fsuid.h inittypes.h) +AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/file.h sys/ioctl.h sys/time.h syslog.h net/if.h termio.h unistd.h sys/fsuid.h inittypes.h) AC_CHECK_HEADERS(crypt.h) diff --git a/Linux-PAM/doc/Makefile.in b/Linux-PAM/doc/Makefile.in index 6c3563ee..b7d7ee30 100644 --- a/Linux-PAM/doc/Makefile.in +++ b/Linux-PAM/doc/Makefile.in @@ -165,6 +165,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/doc/adg/Makefile.in b/Linux-PAM/doc/adg/Makefile.in index 7b770841..0620810e 100644 --- a/Linux-PAM/doc/adg/Makefile.in +++ b/Linux-PAM/doc/adg/Makefile.in @@ -142,6 +142,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/doc/man/Makefile.in b/Linux-PAM/doc/man/Makefile.in index ed2f5fdb..a2fb53a6 100644 --- a/Linux-PAM/doc/man/Makefile.in +++ b/Linux-PAM/doc/man/Makefile.in @@ -149,6 +149,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/doc/man/pam.3 b/Linux-PAM/doc/man/pam.3 index f1cd729c..a3582242 100644 --- a/Linux-PAM/doc/man/pam.3 +++ b/Linux-PAM/doc/man/pam.3 @@ -47,7 +47,7 @@ function creates the PAM context and initiates the PAM transaction. It is the fi .PP The \fBpam_end\fR(3) -function terminates the PAM transaction and is the last function an application should call in the PAM contenxt. Upon return the handle pamh is no longer valid and all memory associated with it will be invalid. It can be called at any time to terminate a PAM transaction. +function terminates the PAM transaction and is the last function an application should call in the PAM context. Upon return the handle pamh is no longer valid and all memory associated with it will be invalid. It can be called at any time to terminate a PAM transaction. .SS "Authentication" .PP The diff --git a/Linux-PAM/doc/man/pam.3.xml b/Linux-PAM/doc/man/pam.3.xml index 3ae2d343..3cf71b2d 100644 --- a/Linux-PAM/doc/man/pam.3.xml +++ b/Linux-PAM/doc/man/pam.3.xml @@ -57,7 +57,7 @@ <citerefentry> <refentrytitle>pam_end</refentrytitle><manvolnum>3</manvolnum> </citerefentry> function terminates the PAM transaction and is the last - function an application should call in the PAM contenxt. Upon return + function an application should call in the PAM context. Upon return the handle pamh is no longer valid and all memory associated with it will be invalid. It can be called at any time to terminate a PAM transaction. diff --git a/Linux-PAM/doc/man/pam.conf-syntax.xml b/Linux-PAM/doc/man/pam.conf-syntax.xml index 60c64b75..f098a26a 100644 --- a/Linux-PAM/doc/man/pam.conf-syntax.xml +++ b/Linux-PAM/doc/man/pam.conf-syntax.xml @@ -211,7 +211,8 @@ <emphasis>authtok_disable_aging</emphasis>, <emphasis>try_again</emphasis>, <emphasis>ignore</emphasis>, <emphasis>abort</emphasis>, <emphasis>authtok_expired</emphasis>, - <emphasis>module_unknown</emphasis>, <emphasis>bad_item</emphasis> + <emphasis>module_unknown</emphasis>, <emphasis>bad_item</emphasis>, + <emphasis>conv_again</emphasis>, <emphasis>incomplete</emphasis>, and <emphasis>default</emphasis>. </para> <para> @@ -221,7 +222,7 @@ <filename>/usr/include/security/_pam_types.h</filename>. The <emphasis>actionN</emphasis> can be: an unsigned integer, <emphasis>n</emphasis>, signifying an action of 'jump over the - next <emphasis>n</emphasis> modules in the stack', or take one + next <emphasis>n</emphasis> modules in the stack'; or take one of the following forms: </para> <variablelist> @@ -355,7 +356,7 @@ When using this convention, you can include `[' characters inside the string, and if you wish to include a `]' character inside the string that will survive the argument parsing, you - should use `\['. In other words: + should use `\]'. In other words: </para> <programlisting> [..[..\]..] --> ..[..].. diff --git a/Linux-PAM/doc/man/pam.conf.5 b/Linux-PAM/doc/man/pam.conf.5 index 3a76ba45..850a8fa1 100644 --- a/Linux-PAM/doc/man/pam.conf.5 +++ b/Linux-PAM/doc/man/pam.conf.5 @@ -175,7 +175,9 @@ corresponds to the return code from the function invoked in the module for which \fIabort\fR, \fIauthtok_expired\fR, \fImodule_unknown\fR, -\fIbad_item\fR +\fIbad_item\fR, +\fIconv_again\fR, +\fIincomplete\fR, and \fIdefault\fR. .PP diff --git a/Linux-PAM/doc/man/pam_end.3 b/Linux-PAM/doc/man/pam_end.3 index 27cf95d2..3b28a265 100644 --- a/Linux-PAM/doc/man/pam_end.3 +++ b/Linux-PAM/doc/man/pam_end.3 @@ -25,7 +25,7 @@ pam_end \- termination of PAM transaction .PP The \fBpam_end\fR -function terminates the PAM transaction and is the last function an application should call in the PAM contenxt. Upon return the handle +function terminates the PAM transaction and is the last function an application should call in the PAM context. Upon return the handle \fIpamh\fR is no longer valid and all memory associated with it will be invalid. .PP diff --git a/Linux-PAM/doc/man/pam_end.3.xml b/Linux-PAM/doc/man/pam_end.3.xml index fd4a4250..039bb3cd 100644 --- a/Linux-PAM/doc/man/pam_end.3.xml +++ b/Linux-PAM/doc/man/pam_end.3.xml @@ -34,7 +34,7 @@ <para> The <function>pam_end</function> function terminates the PAM transaction and is the last function an application should call - in the PAM contenxt. Upon return the handle <emphasis>pamh</emphasis> + in the PAM context. Upon return the handle <emphasis>pamh</emphasis> is no longer valid and all memory associated with it will be invalid. </para> diff --git a/Linux-PAM/doc/man/pam_putenv.3 b/Linux-PAM/doc/man/pam_putenv.3 index 60b49651..b0edc103 100644 --- a/Linux-PAM/doc/man/pam_putenv.3 +++ b/Linux-PAM/doc/man/pam_putenv.3 @@ -1,22 +1,22 @@ .\" Title: pam_putenv .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/> -.\" Date: 06/27/2006 -.\" Manual: Linux\-PAM Manual -.\" Source: Linux\-PAM Manual +.\" Generator: DocBook XSL Stylesheets v1.73.1 <http://docbook.sf.net/> +.\" Date: 09/28/2007 +.\" Manual: Linux-PAM Manual +.\" Source: Linux-PAM Manual .\" -.TH "PAM_PUTENV" "3" "06/27/2006" "Linux\-PAM Manual" "Linux\-PAM Manual" +.TH "PAM_PUTENV" "3" "09/28/2007" "Linux-PAM Manual" "Linux-PAM Manual" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" -pam_putenv \- set or change PAM environment variable +pam_putenv - set or change PAM environment variable .SH "SYNOPSIS" .sp .ft B .nf -#include <security/pam_appl.h> +#include <security/pam_appl\.h> .fi .ft .HP 15 @@ -27,43 +27,65 @@ The \fBpam_putenv\fR function is used to add or change the value of PAM environment variables as associated with the \fIpamh\fR -handle. +handle\. .PP The \fIpamh\fR -argument is an authentication handle obtained by a prior call to pam_start(). The +argument is an authentication handle obtained by a prior call to pam_start()\. The \fIname_value\fR argument is a single NUL terminated string of one of the following forms: -.TP 3n +.PP NAME=value of variable +.RS 4 In this case the environment variable of the given NAME is set to the indicated value: -\fIvalue of variable\fR. If this variable is already known, it is overwritten. Otherwise it is added to the PAM environment. -.TP 3n +\fIvalue of variable\fR\. If this variable is already known, it is overwritten\. Otherwise it is added to the PAM environment\. +.RE +.PP NAME= -This function sets the variable to an empty value. It is listed separately to indicate that this is the correct way to achieve such a setting. -.TP 3n +.RS 4 +This function sets the variable to an empty value\. It is listed separately to indicate that this is the correct way to achieve such a setting\. +.RE +.PP NAME -Without an '=' the pam_putenv() function will delete the corresponding variable from the PAM environment. +.RS 4 +Without an \'=\' the +\fBpam_putenv\fR() function will delete the corresponding variable from the PAM environment\. +.RE +.PP + +\fBpam_putenv\fR() operates on a copy of +\fIname_value\fR, which means in contrast to +\fBputenv\fR(3), the application is responsible to free the data\. .SH "RETURN VALUES" -.TP 3n +.PP PAM_PERM_DENIED +.RS 4 Argument \fIname_value\fR -given is a NULL pointer. -.TP 3n +given is a NULL pointer\. +.RE +.PP PAM_BAD_ITEM -Variable requested (for deletion) is not currently set. -.TP 3n +.RS 4 +Variable requested (for deletion) is not currently set\. +.RE +.PP PAM_ABORT +.RS 4 The \fIpamh\fR -handle is corrupt. -.TP 3n +handle is corrupt\. +.RE +.PP PAM_BUF_ERR -Memory buffer error. -.TP 3n +.RS 4 +Memory buffer error\. +.RE +.PP PAM_SUCCESS -The environment variable was successfully updated. +.RS 4 +The environment variable was successfully updated\. +.RE .SH "SEE ALSO" .PP diff --git a/Linux-PAM/doc/man/pam_putenv.3.xml b/Linux-PAM/doc/man/pam_putenv.3.xml index 5efef381..619b218a 100644 --- a/Linux-PAM/doc/man/pam_putenv.3.xml +++ b/Linux-PAM/doc/man/pam_putenv.3.xml @@ -67,12 +67,20 @@ <term>NAME</term> <listitem> <para> - Without an '=' the pam_putenv() function will delete the + Without an '=' the <function>pam_putenv</function>() function + will delete the corresponding variable from the PAM environment. </para> </listitem> </varlistentry> </variablelist> + <para> + <function>pam_putenv</function>() operates on a copy of + <emphasis>name_value</emphasis>, which means in contrast to + <citerefentry> + <refentrytitle>putenv</refentrytitle><manvolnum>3</manvolnum> + </citerefentry>, the application is responsible to free the data. + </para> </refsect1> <refsect1 id="pam_putenv-return_values"> diff --git a/Linux-PAM/doc/mwg/Makefile.in b/Linux-PAM/doc/mwg/Makefile.in index 891768fc..0881be40 100644 --- a/Linux-PAM/doc/mwg/Makefile.in +++ b/Linux-PAM/doc/mwg/Makefile.in @@ -142,6 +142,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/doc/sag/Makefile.in b/Linux-PAM/doc/sag/Makefile.in index 007316a4..d7e6f9d7 100644 --- a/Linux-PAM/doc/sag/Makefile.in +++ b/Linux-PAM/doc/sag/Makefile.in @@ -142,6 +142,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/doc/specs/Makefile.in b/Linux-PAM/doc/specs/Makefile.in index 7e6617a5..532a1164 100644 --- a/Linux-PAM/doc/specs/Makefile.in +++ b/Linux-PAM/doc/specs/Makefile.in @@ -180,6 +180,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/examples/Makefile.am b/Linux-PAM/examples/Makefile.am index f8b9f006..ac3f407a 100644 --- a/Linux-PAM/examples/Makefile.am +++ b/Linux-PAM/examples/Makefile.am @@ -8,7 +8,7 @@ EXTRA_DIST = README AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -I$(top_srcdir)/libpam_misc/include -AM_LDFLAGS = -L$(top_builddir)/libpam -lpam \ +LDADD = -L$(top_builddir)/libpam -lpam \ -L$(top_builddir)/libpam_misc -lpam_misc noinst_PROGRAMS = xsh vpass blank check_user diff --git a/Linux-PAM/examples/Makefile.in b/Linux-PAM/examples/Makefile.in index cc3c3f9f..5e752e4d 100644 --- a/Linux-PAM/examples/Makefile.in +++ b/Linux-PAM/examples/Makefile.in @@ -59,15 +59,19 @@ PROGRAMS = $(noinst_PROGRAMS) blank_SOURCES = blank.c blank_OBJECTS = blank.$(OBJEXT) blank_LDADD = $(LDADD) +blank_DEPENDENCIES = check_user_SOURCES = check_user.c check_user_OBJECTS = check_user.$(OBJEXT) check_user_LDADD = $(LDADD) +check_user_DEPENDENCIES = vpass_SOURCES = vpass.c vpass_OBJECTS = vpass.$(OBJEXT) vpass_LDADD = $(LDADD) +vpass_DEPENDENCIES = xsh_SOURCES = xsh.c xsh_OBJECTS = xsh.$(OBJEXT) xsh_LDADD = $(LDADD) +xsh_DEPENDENCIES = DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -172,6 +176,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -246,7 +251,7 @@ EXTRA_DIST = README AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -I$(top_srcdir)/libpam_misc/include -AM_LDFLAGS = -L$(top_builddir)/libpam -lpam \ +LDADD = -L$(top_builddir)/libpam -lpam \ -L$(top_builddir)/libpam_misc -lpam_misc all: all-am diff --git a/Linux-PAM/libpam/Makefile.am b/Linux-PAM/libpam/Makefile.am index 57a44935..a0955441 100644 --- a/Linux-PAM/libpam/Makefile.am +++ b/Linux-PAM/libpam/Makefile.am @@ -20,10 +20,11 @@ include_HEADERS = include/security/_pam_compat.h \ noinst_HEADERS = pam_prelude.h pam_private.h pam_tokens.h \ pam_modutil_private.h pam_static_modules.h -libpam_la_LDFLAGS = -no-undefined -version-info 81:8:81 \ - @LIBAUDIT@ $(LIBPRELUDE_LIBS) @LIBDL@ +libpam_la_LDFLAGS = -no-undefined -version-info 81:9:81 +libpam_la_LIBADD = @LIBAUDIT@ $(LIBPRELUDE_LIBS) @LIBDL@ + if STATIC_MODULES - libpam_la_LDFLAGS += `ls ../modules/pam_*/*.lo` \ + libpam_la_LIBADD += `ls ../modules/pam_*/*.lo` \ @LIBDB@ @LIBCRYPT@ @LIBNSL@ @LIBCRACK@ -lutil endif if HAVE_VERSIONING diff --git a/Linux-PAM/libpam/Makefile.in b/Linux-PAM/libpam/Makefile.in index 62aec633..60e66c0c 100644 --- a/Linux-PAM/libpam/Makefile.in +++ b/Linux-PAM/libpam/Makefile.in @@ -69,7 +69,9 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) -libpam_la_LIBADD = +am__DEPENDENCIES_1 = +@STATIC_MODULES_TRUE@am__DEPENDENCIES_2 = `ls ../modules/pam_*/*.lo` +libpam_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) am_libpam_la_OBJECTS = pam_account.lo pam_auth.lo pam_data.lo \ pam_delay.lo pam_dispatch.lo pam_end.lo pam_env.lo \ pam_handlers.lo pam_item.lo pam_misc.lo pam_password.lo \ @@ -190,6 +192,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -272,8 +275,10 @@ include_HEADERS = include/security/_pam_compat.h \ noinst_HEADERS = pam_prelude.h pam_private.h pam_tokens.h \ pam_modutil_private.h pam_static_modules.h -libpam_la_LDFLAGS = -no-undefined -version-info 81:8:81 @LIBAUDIT@ \ - $(LIBPRELUDE_LIBS) @LIBDL@ $(am__append_2) $(am__append_3) +libpam_la_LDFLAGS = -no-undefined -version-info 81:9:81 \ + $(am__append_3) +libpam_la_LIBADD = @LIBAUDIT@ $(LIBPRELUDE_LIBS) @LIBDL@ \ + $(am__append_2) lib_LTLIBRARIES = libpam.la libpam_la_SOURCES = pam_account.c pam_auth.c pam_data.c pam_delay.c \ pam_dispatch.c pam_end.c pam_env.c pam_handlers.c pam_item.c \ diff --git a/Linux-PAM/libpam/pam_modutil_getgrgid.c b/Linux-PAM/libpam/pam_modutil_getgrgid.c index ace5c9a6..420068f7 100644 --- a/Linux-PAM/libpam/pam_modutil_getgrgid.c +++ b/Linux-PAM/libpam/pam_modutil_getgrgid.c @@ -12,20 +12,9 @@ #include <errno.h> #include <limits.h> #include <grp.h> -#include <pthread.h> #include <stdio.h> #include <stdlib.h> -static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; -static void _pammodutil_lock(void) -{ - pthread_mutex_lock(&_pammodutil_mutex); -} -static void _pammodutil_unlock(void) -{ - pthread_mutex_unlock(&_pammodutil_mutex); -} - static int intlen(int number) { int len = 2; @@ -95,13 +84,11 @@ pam_modutil_getgrgid(pam_handle_t *pamh, gid_t gid) for (i = 0; i < INT_MAX; i++) { sprintf(data_name, "_pammodutil_getgrgid_%ld_%d", (long) gid, i); - _pammodutil_lock(); status = PAM_NO_MODULE_DATA; if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { status = pam_set_data(pamh, data_name, result, pam_modutil_cleanup); } - _pammodutil_unlock(); if (status == PAM_SUCCESS) { break; } diff --git a/Linux-PAM/libpam/pam_modutil_getgrnam.c b/Linux-PAM/libpam/pam_modutil_getgrnam.c index 85103a1c..908f816d 100644 --- a/Linux-PAM/libpam/pam_modutil_getgrnam.c +++ b/Linux-PAM/libpam/pam_modutil_getgrnam.c @@ -12,20 +12,9 @@ #include <errno.h> #include <limits.h> #include <grp.h> -#include <pthread.h> #include <stdio.h> #include <stdlib.h> -static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; -static void _pammodutil_lock(void) -{ - pthread_mutex_lock(&_pammodutil_mutex); -} -static void _pammodutil_unlock(void) -{ - pthread_mutex_unlock(&_pammodutil_mutex); -} - static int intlen(int number) { int len = 2; @@ -84,13 +73,11 @@ pam_modutil_getgrnam(pam_handle_t *pamh, const char *group) if (pamh != NULL) { for (i = 0; i < INT_MAX; i++) { sprintf(data_name, "_pammodutil_getgrnam_%s_%d", group, i); - _pammodutil_lock(); status = PAM_NO_MODULE_DATA; if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { status = pam_set_data(pamh, data_name, result, pam_modutil_cleanup); } - _pammodutil_unlock(); if (status == PAM_SUCCESS) { break; } diff --git a/Linux-PAM/libpam/pam_modutil_getpwnam.c b/Linux-PAM/libpam/pam_modutil_getpwnam.c index 61aafef0..6bb7d195 100644 --- a/Linux-PAM/libpam/pam_modutil_getpwnam.c +++ b/Linux-PAM/libpam/pam_modutil_getpwnam.c @@ -11,21 +11,10 @@ #include <errno.h> #include <limits.h> -#include <pthread.h> #include <pwd.h> #include <stdio.h> #include <stdlib.h> -static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; -static void _pammodutil_lock(void) -{ - pthread_mutex_lock(&_pammodutil_mutex); -} -static void _pammodutil_unlock(void) -{ - pthread_mutex_unlock(&_pammodutil_mutex); -} - static int intlen(int number) { int len = 2; @@ -84,13 +73,11 @@ pam_modutil_getpwnam(pam_handle_t *pamh, const char *user) if (pamh != NULL) { for (i = 0; i < INT_MAX; i++) { sprintf(data_name, "_pammodutil_getpwnam_%s_%d", user, i); - _pammodutil_lock(); status = PAM_NO_MODULE_DATA; if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { status = pam_set_data(pamh, data_name, result, pam_modutil_cleanup); } - _pammodutil_unlock(); if (status == PAM_SUCCESS) { break; } diff --git a/Linux-PAM/libpam/pam_modutil_getpwuid.c b/Linux-PAM/libpam/pam_modutil_getpwuid.c index 01bca564..15fe077c 100644 --- a/Linux-PAM/libpam/pam_modutil_getpwuid.c +++ b/Linux-PAM/libpam/pam_modutil_getpwuid.c @@ -11,21 +11,10 @@ #include <errno.h> #include <limits.h> -#include <pthread.h> #include <pwd.h> #include <stdio.h> #include <stdlib.h> -static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; -static void _pammodutil_lock(void) -{ - pthread_mutex_lock(&_pammodutil_mutex); -} -static void _pammodutil_unlock(void) -{ - pthread_mutex_unlock(&_pammodutil_mutex); -} - static int intlen(int number) { int len = 2; @@ -95,13 +84,11 @@ pam_modutil_getpwuid(pam_handle_t *pamh, uid_t uid) for (i = 0; i < INT_MAX; i++) { sprintf(data_name, "_pammodutil_getpwuid_%ld_%d", (long) uid, i); - _pammodutil_lock(); status = PAM_NO_MODULE_DATA; if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { status = pam_set_data(pamh, data_name, result, pam_modutil_cleanup); } - _pammodutil_unlock(); if (status == PAM_SUCCESS) { break; } diff --git a/Linux-PAM/libpam/pam_modutil_getspnam.c b/Linux-PAM/libpam/pam_modutil_getspnam.c index 2433795e..1c926063 100644 --- a/Linux-PAM/libpam/pam_modutil_getspnam.c +++ b/Linux-PAM/libpam/pam_modutil_getspnam.c @@ -11,21 +11,10 @@ #include <errno.h> #include <limits.h> -#include <pthread.h> #include <shadow.h> #include <stdio.h> #include <stdlib.h> -static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; -static void _pammodutil_lock(void) -{ - pthread_mutex_lock(&_pammodutil_mutex); -} -static void _pammodutil_unlock(void) -{ - pthread_mutex_unlock(&_pammodutil_mutex); -} - static int intlen(int number) { int len = 2; @@ -84,13 +73,11 @@ pam_modutil_getspnam(pam_handle_t *pamh, const char *user) if (pamh != NULL) { for (i = 0; i < INT_MAX; i++) { sprintf(data_name, "_pammodutil_getspnam_%s_%d", user, i); - _pammodutil_lock(); status = PAM_NO_MODULE_DATA; if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { status = pam_set_data(pamh, data_name, result, pam_modutil_cleanup); } - _pammodutil_unlock(); if (status == PAM_SUCCESS) { break; } diff --git a/Linux-PAM/libpam_misc/Makefile.am b/Linux-PAM/libpam_misc/Makefile.am index 787f11bf..592c73e4 100644 --- a/Linux-PAM/libpam_misc/Makefile.am +++ b/Linux-PAM/libpam_misc/Makefile.am @@ -11,7 +11,7 @@ include_HEADERS = include/security/pam_misc.h AM_CFLAGS = -I$(top_srcdir)/libpam/include \ -I$(top_srcdir)/libpamc/include -I$(srcdir)/include -libpam_misc_la_LDFLAGS = -no-undefined -version-info 81:2:81 +libpam_misc_la_LDFLAGS = -no-undefined -version-info 81:3:81 if HAVE_VERSIONING libpam_misc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libpam_misc.map endif diff --git a/Linux-PAM/libpam_misc/Makefile.in b/Linux-PAM/libpam_misc/Makefile.in index 53abe00f..c59e120a 100644 --- a/Linux-PAM/libpam_misc/Makefile.in +++ b/Linux-PAM/libpam_misc/Makefile.in @@ -177,6 +177,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,7 +253,7 @@ include_HEADERS = include/security/pam_misc.h AM_CFLAGS = -I$(top_srcdir)/libpam/include \ -I$(top_srcdir)/libpamc/include -I$(srcdir)/include -libpam_misc_la_LDFLAGS = -no-undefined -version-info 81:2:81 \ +libpam_misc_la_LDFLAGS = -no-undefined -version-info 81:3:81 \ $(am__append_1) libpam_misc_la_LIBADD = $(top_builddir)/libpam/libpam.la lib_LTLIBRARIES = libpam_misc.la diff --git a/Linux-PAM/libpam_misc/misc_conv.c b/Linux-PAM/libpam_misc/misc_conv.c index 8db24d74..3f82de1b 100644 --- a/Linux-PAM/libpam_misc/misc_conv.c +++ b/Linux-PAM/libpam_misc/misc_conv.c @@ -150,12 +150,11 @@ static int read_string(int echo, const char *prompt, char **retstr) have_term = 1; /* - * We make a simple attempt to block TTY signals from terminating + * We make a simple attempt to block TTY signals from suspending * the conversation without giving PAM a chance to clean up. */ sigemptyset(&nset); - sigaddset(&nset, SIGINT); sigaddset(&nset, SIGTSTP); (void) sigprocmask(SIG_BLOCK, &nset, &oset); diff --git a/Linux-PAM/libpamc/Makefile.in b/Linux-PAM/libpamc/Makefile.in index 57c9b408..3efeead1 100644 --- a/Linux-PAM/libpamc/Makefile.in +++ b/Linux-PAM/libpamc/Makefile.in @@ -187,6 +187,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/libpamc/test/Makefile.in b/Linux-PAM/libpamc/test/Makefile.in index 000f6d91..8accd033 100644 --- a/Linux-PAM/libpamc/test/Makefile.in +++ b/Linux-PAM/libpamc/test/Makefile.in @@ -142,6 +142,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/ltmain.sh b/Linux-PAM/ltmain.sh index 06823e05..4598ec61 100644 --- a/Linux-PAM/ltmain.sh +++ b/Linux-PAM/ltmain.sh @@ -1,8 +1,8 @@ # ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun configure. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, +# 2007 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This program is free software; you can redistribute it and/or modify @@ -43,14 +43,22 @@ EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=1.5.22 -TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes. -if test -n "${ZSH_VERSION+set}" ; then +VERSION=1.5.24 +TIMESTAMP=" (1.1220.2.455 2007/06/24 02:13:29)" + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh # Check that we have a working $echo. if test "X$1" = X--no-reexec; then @@ -105,12 +113,14 @@ esac # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). # We save the old values to restore during execute mode. -if test "${LC_ALL+set}" = set; then - save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL -fi -if test "${LANG+set}" = set; then - save_LANG="$LANG"; LANG=C; export LANG -fi +for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test \"\${$lt_var+set}\" = set; then + save_$lt_var=\$$lt_var + $lt_var=C + export $lt_var + fi" +done # Make sure IFS has a sensible default lt_nl=' @@ -136,6 +146,8 @@ duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 ##################################### # Shell function definitions: @@ -196,7 +208,13 @@ func_win32_libid () if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + $SED -n -e '1,100{ + / I /{ + s,.*,import, + p + q + } + }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; @@ -327,7 +345,17 @@ func_extract_archives () *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xdir="$my_gentop/$my_xlib" + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + extracted_serial=`expr $extracted_serial + 1` + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" @@ -454,11 +482,12 @@ do ;; --version) - $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - $echo - $echo "Copyright (C) 2005 Free Software Foundation, Inc." - $echo "This is free software; see the source for copying conditions. There is NO" - $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + echo "\ +$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP + +Copyright (C) 2007 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." exit $? ;; @@ -755,9 +784,10 @@ if test -z "$show_help"; then *.class) xform=class ;; *.cpp) xform=cpp ;; *.cxx) xform=cxx ;; - *.f90) xform=f90 ;; + *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; + *.obj) xform=obj ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` @@ -1138,8 +1168,9 @@ EOF for arg do case $arg in - -all-static | -static) - if test "X$arg" = "X-all-static"; then + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 fi @@ -1147,12 +1178,20 @@ EOF dlopen_self=$dlopen_self_static fi prefer_static_libs=yes - else + ;; + -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built - fi + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac build_libtool_libs=no build_old_libs=yes break @@ -1600,7 +1639,7 @@ EOF continue ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" @@ -1620,10 +1659,11 @@ EOF # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC - # -pg pass through profiling flag for GCC + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ - -t[45]*|-txscale*|@*) + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. @@ -1651,9 +1691,9 @@ EOF -no-install) case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows - # in order for the loader to find any dlls it needs. + # and Darwin in order for the loader to find any dlls it needs. $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 fast_install=no @@ -1712,7 +1752,7 @@ EOF continue ;; - -static) + -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects @@ -2094,7 +2134,7 @@ EOF lib= found=no case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" @@ -2490,7 +2530,9 @@ EOF if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. @@ -3186,7 +3228,7 @@ EOF # which has an extra 1 added just for fun # case $version_type in - darwin|linux|osf|windows) + darwin|linux|osf|windows|none) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_revision" @@ -3197,9 +3239,10 @@ EOF age="0" ;; irix|nonstopux) - current=`expr $number_major + $number_minor - 1` + current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_minor" + lt_irix_increment=no ;; esac ;; @@ -3258,7 +3301,8 @@ EOF versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... minor_current=`expr $current + 1` - verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) @@ -3272,8 +3316,11 @@ EOF ;; irix | nonstopux) - major=`expr $current - $age + 1` - + if test "X$lt_irix_increment" = "Xno"; then + major=`expr $current - $age` + else + major=`expr $current - $age + 1` + fi case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; @@ -3410,11 +3457,11 @@ EOF fi # Eliminate all temporary directories. - for path in $notinst_path; do - lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - done + #for path in $notinst_path; do + # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. @@ -3515,13 +3562,12 @@ EOF int main() { return 0; } EOF $rm conftest - $LTCC $LTCFLAGS -o conftest conftest.c $deplibs - if test "$?" -eq 0 ; then + if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then ldd_output=`ldd conftest` for i in $deplibs; do name=`expr $i : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" -ne "0"; then + if test "$name" != "" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $i "*) @@ -3560,9 +3606,7 @@ EOF # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then $rm conftest - $LTCC $LTCFLAGS -o conftest conftest.c $i - # Did it work? - if test "$?" -eq 0 ; then + if $LTCC $LTCFLAGS -o conftest conftest.c $i; then ldd_output=`ldd conftest` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in @@ -3594,7 +3638,7 @@ EOF droppeddeps=yes $echo $echo "*** Warning! Library $i is needed by this library but I was not able to" - $echo "*** make it link in! You will probably need to install it or some" + $echo "*** make it link in! You will probably need to install it or some" $echo "*** library that it depends on before this library will be fully" $echo "*** functional. Installing it before continuing would be even better." fi @@ -3880,7 +3924,10 @@ EOF test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + case $archive_cmds in + *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; + *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; + esac else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi @@ -4239,12 +4286,14 @@ EOF reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" @@ -4692,16 +4741,16 @@ static const void *lt_preloaded_setup() { case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; @@ -4716,13 +4765,13 @@ static const void *lt_preloaded_setup() { # really was required. # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. @@ -4809,7 +4858,7 @@ static const void *lt_preloaded_setup() { if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` else # fast_install is set to needless relink_command= @@ -4846,7 +4895,7 @@ static const void *lt_preloaded_setup() { fi done relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. @@ -5253,6 +5302,20 @@ EOF Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH @@ -5395,7 +5458,7 @@ else ;; esac $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE fi else @@ -5581,7 +5644,7 @@ fi\ done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` if test "$hardcode_automatic" = yes ; then relink_command= fi @@ -5926,9 +5989,9 @@ relink_command=\"$relink_command\"" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` fi $echo "$modename: warning: relinking \`$file'" 1>&2 @@ -6137,7 +6200,7 @@ relink_command=\"$relink_command\"" file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $show "$relink_command" if $run eval "$relink_command"; then : @@ -6348,8 +6411,10 @@ relink_command=\"$relink_command\"" if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE + if test ! -f "$dir/$dlname"; then + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi fi ;; @@ -6413,12 +6478,12 @@ relink_command=\"$relink_command\"" fi # Restore saved environment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi + for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + fi" + done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" @@ -6775,9 +6840,9 @@ The following components of LINK-COMMAND are treated specially: -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE + try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX - try to export only the symbols matching REGEX + try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened @@ -6791,9 +6856,11 @@ The following components of LINK-COMMAND are treated specially: -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] + specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. diff --git a/Linux-PAM/modules/Makefile.in b/Linux-PAM/modules/Makefile.in index ea167a5c..112f5a94 100644 --- a/Linux-PAM/modules/Makefile.in +++ b/Linux-PAM/modules/Makefile.in @@ -154,6 +154,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/modules/pam_access/Makefile.am b/Linux-PAM/modules/pam_access/Makefile.am index 8641b97c..9b58e81e 100644 --- a/Linux-PAM/modules/pam_access/Makefile.am +++ b/Linux-PAM/modules/pam_access/Makefile.am @@ -15,13 +15,13 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DPAM_ACCESS_CONFIG=\"$(SCONFIGDIR)/access.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam @LIBNSL@ +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_access.la +pam_access_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBNSL@ secureconf_DATA = access.conf diff --git a/Linux-PAM/modules/pam_access/Makefile.in b/Linux-PAM/modules/pam_access/Makefile.in index 86303308..9b9febc2 100644 --- a/Linux-PAM/modules/pam_access/Makefile.in +++ b/Linux-PAM/modules/pam_access/Makefile.in @@ -65,7 +65,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man5dir)" \ "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(secureconfdir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_access_la_LIBADD = +pam_access_la_DEPENDENCIES = pam_access_la_SOURCES = pam_access.c pam_access_la_OBJECTS = pam_access.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -178,6 +178,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -256,9 +257,9 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DPAM_ACCESS_CONFIG=\"$(SCONFIGDIR)/access.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam @LIBNSL@ $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_access.la +pam_access_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBNSL@ secureconf_DATA = access.conf @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README TESTS = tst-pam_access diff --git a/Linux-PAM/modules/pam_access/pam_access.c b/Linux-PAM/modules/pam_access/pam_access.c index 29a1606c..e12bc721 100644 --- a/Linux-PAM/modules/pam_access/pam_access.c +++ b/Linux-PAM/modules/pam_access/pam_access.c @@ -153,7 +153,7 @@ parse_args(pam_handle_t *pamh, struct login_info *loginfo, typedef int match_func (pam_handle_t *, char *, struct login_info *); -static int list_match (pam_handle_t *, char *, struct login_info *, +static int list_match (pam_handle_t *, char *, char *, struct login_info *, match_func *); static int user_match (pam_handle_t *, char *, struct login_info *); static int group_match (pam_handle_t *, const char *, const char *); @@ -376,11 +376,11 @@ login_access (pam_handle_t *pamh, struct login_info *item) if (pam_access_debug) pam_syslog (pamh, LOG_DEBUG, "line %d: %s : %s : %s", lineno, perm, users, froms); - match = list_match(pamh, froms, item, from_match); + match = list_match(pamh, froms, NULL, item, from_match); if (pam_access_debug) pam_syslog (pamh, LOG_DEBUG, "from_match=%d, \"%s\"", match, item->from); - match = match && list_match (pamh, users, item, user_match); + match = match && list_match (pamh, users, NULL, item, user_match); if (pam_access_debug) pam_syslog (pamh, LOG_DEBUG, "user_match=%d, \"%s\"", match, item->user->pw_name); @@ -400,14 +400,14 @@ login_access (pam_handle_t *pamh, struct login_info *item) /* list_match - match an item against a list of tokens with exceptions */ -static int list_match(pam_handle_t *pamh, - char *list, struct login_info *item, match_func *match_fn) +static int +list_match(pam_handle_t *pamh, char *list, char *sptr, + struct login_info *item, match_func *match_fn) { char *tok; int match = NO; - char *sptr; - if (pam_access_debug) + if (pam_access_debug && list != NULL) pam_syslog (pamh, LOG_DEBUG, "list_match: list=%s, item=%s", list, item->user->pw_name); @@ -430,7 +430,7 @@ static int list_match(pam_handle_t *pamh, if (match != NO) { while ((tok = strtok_r(NULL, sep, &sptr)) && strcasecmp(tok, "EXCEPT")) /* VOID */ ; - if (tok == 0 || list_match(pamh, sptr, item, match_fn) == NO) + if (tok == 0 || list_match(pamh, NULL, sptr, item, match_fn) == NO) return (match); } return (NO); diff --git a/Linux-PAM/modules/pam_cracklib/Makefile.am b/Linux-PAM/modules/pam_cracklib/Makefile.am index cc8d6ff9..619ffc93 100644 --- a/Linux-PAM/modules/pam_cracklib/Makefile.am +++ b/Linux-PAM/modules/pam_cracklib/Makefile.am @@ -14,8 +14,7 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif @@ -26,7 +25,8 @@ securelib_LTLIBRARIES = pam_cracklib.la TESTS = tst-pam_cracklib endif -pam_cracklib_la_LIBADD = @LIBCRACK@ @LIBCRYPT@ +pam_cracklib_la_LIBADD = -L$(top_builddir)/libpam -lpam \ + @LIBCRACK@ @LIBCRYPT@ if ENABLE_REGENERATE_MAN diff --git a/Linux-PAM/modules/pam_cracklib/Makefile.in b/Linux-PAM/modules/pam_cracklib/Makefile.in index bda59695..5ce6f91f 100644 --- a/Linux-PAM/modules/pam_cracklib/Makefile.in +++ b/Linux-PAM/modules/pam_cracklib/Makefile.in @@ -176,6 +176,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,11 +253,12 @@ XMLS = README.xml pam_cracklib.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) @HAVE_LIBCRACK_TRUE@securelib_LTLIBRARIES = pam_cracklib.la @HAVE_LIBCRACK_TRUE@TESTS = tst-pam_cracklib -pam_cracklib_la_LIBADD = @LIBCRACK@ @LIBCRYPT@ +pam_cracklib_la_LIBADD = -L$(top_builddir)/libpam -lpam \ + @LIBCRACK@ @LIBCRYPT@ + @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_cracklib/pam_cracklib.c b/Linux-PAM/modules/pam_cracklib/pam_cracklib.c index 6decf2bf..532a72b2 100644 --- a/Linux-PAM/modules/pam_cracklib/pam_cracklib.c +++ b/Linux-PAM/modules/pam_cracklib/pam_cracklib.c @@ -56,6 +56,10 @@ extern char *FascistCheck(char *pw, const char *dictpath); #endif +#ifndef CRACKLIB_DICTS +#define CRACKLIB_DICTS NULL +#endif + /* For Translators: "%s%s" could be replaced with "<service> " or "". */ #define PROMPT1 _("New %s%spassword: ") /* For Translators: "%s%s" could be replaced with "<service> " or "". */ @@ -95,7 +99,7 @@ struct cracklib_options { int min_class; int use_authtok; char prompt_type[BUFSIZ]; - char cracklib_dictpath[PATH_MAX]; + const char *cracklib_dictpath; }; #define CO_RETRY_TIMES 1 @@ -166,14 +170,15 @@ _pam_parse (pam_handle_t *pamh, struct cracklib_options *opt, } else if (!strncmp(*argv,"use_authtok",11)) { opt->use_authtok = 1; } else if (!strncmp(*argv,"dictpath=",9)) { - strncpy(opt->cracklib_dictpath, *argv+9, - sizeof(opt->cracklib_dictpath) - 1); + opt->cracklib_dictpath = *argv+9; + if (!*(opt->cracklib_dictpath)) { + opt->cracklib_dictpath = CRACKLIB_DICTS; + } } else { pam_syslog(pamh,LOG_ERR,"pam_parse: unknown option; %s",*argv); } } opt->prompt_type[sizeof(opt->prompt_type) - 1] = '\0'; - opt->cracklib_dictpath[sizeof(opt->cracklib_dictpath) - 1] = '\0'; return ctrl; } @@ -571,8 +576,7 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, options.use_authtok = CO_USE_AUTHTOK; memset(options.prompt_type, 0, BUFSIZ); strcpy(options.prompt_type,"UNIX"); - memset(options.cracklib_dictpath, 0, - sizeof (options.cracklib_dictpath)); + options.cracklib_dictpath = CRACKLIB_DICTS; ctrl = _pam_parse(pamh, &options, argc, argv); @@ -666,7 +670,7 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, const char *crack_msg; D(("against cracklib")); - if ((crack_msg = FascistCheck(token1,options.cracklib_dictpath[0] == '\0'?NULL:options.cracklib_dictpath))) { + if ((crack_msg = FascistCheck(token1,options.cracklib_dictpath))) { if (ctrl & PAM_DEBUG_ARG) pam_syslog(pamh,LOG_DEBUG,"bad password: %s",crack_msg); pam_error(pamh, _("BAD PASSWORD: %s"), crack_msg); diff --git a/Linux-PAM/modules/pam_debug/Makefile.am b/Linux-PAM/modules/pam_debug/Makefile.am index 889d7877..0b798516 100644 --- a/Linux-PAM/modules/pam_debug/Makefile.am +++ b/Linux-PAM/modules/pam_debug/Makefile.am @@ -13,13 +13,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_debug.la +pam_debug_la_LIBADD = -L$(top_builddir)/libpam -lpam TESTS = tst-pam_debug diff --git a/Linux-PAM/modules/pam_debug/Makefile.in b/Linux-PAM/modules/pam_debug/Makefile.in index b2d11867..e99f25ba 100644 --- a/Linux-PAM/modules/pam_debug/Makefile.in +++ b/Linux-PAM/modules/pam_debug/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_debug_la_LIBADD = +pam_debug_la_DEPENDENCIES = pam_debug_la_SOURCES = pam_debug.c pam_debug_la_OBJECTS = pam_debug.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -251,9 +252,9 @@ XMLS = README.xml pam_debug.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_debug.la +pam_debug_la_LIBADD = -L$(top_builddir)/libpam -lpam TESTS = tst-pam_debug @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_deny/Makefile.am b/Linux-PAM/modules/pam_deny/Makefile.am index 9837f880..94b5f0f6 100644 --- a/Linux-PAM/modules/pam_deny/Makefile.am +++ b/Linux-PAM/modules/pam_deny/Makefile.am @@ -14,13 +14,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_deny.la +pam_deny_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN diff --git a/Linux-PAM/modules/pam_deny/Makefile.in b/Linux-PAM/modules/pam_deny/Makefile.in index 3fcee127..da6046e4 100644 --- a/Linux-PAM/modules/pam_deny/Makefile.in +++ b/Linux-PAM/modules/pam_deny/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_deny_la_LIBADD = +pam_deny_la_DEPENDENCIES = pam_deny_la_SOURCES = pam_deny.c pam_deny_la_OBJECTS = pam_deny.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -251,9 +252,9 @@ XMLS = README.xml pam_deny.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_deny.la +pam_deny_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README TESTS = tst-pam_deny all: all-am diff --git a/Linux-PAM/modules/pam_echo/Makefile.am b/Linux-PAM/modules/pam_echo/Makefile.am index 40415c7b..d004e8f4 100644 --- a/Linux-PAM/modules/pam_echo/Makefile.am +++ b/Linux-PAM/modules/pam_echo/Makefile.am @@ -14,13 +14,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_echo.la +pam_echo_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_echo/Makefile.in b/Linux-PAM/modules/pam_echo/Makefile.in index b584cfdd..60d814e4 100644 --- a/Linux-PAM/modules/pam_echo/Makefile.in +++ b/Linux-PAM/modules/pam_echo/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_echo_la_LIBADD = +pam_echo_la_DEPENDENCIES = pam_echo_la_SOURCES = pam_echo.c pam_echo_la_OBJECTS = pam_echo.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -251,9 +252,9 @@ XMLS = README.xml pam_echo.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_echo.la +pam_echo_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README TESTS = tst-pam_echo all: all-am diff --git a/Linux-PAM/modules/pam_env/Makefile.am b/Linux-PAM/modules/pam_env/Makefile.am index 83236e9b..87813688 100644 --- a/Linux-PAM/modules/pam_env/Makefile.am +++ b/Linux-PAM/modules/pam_env/Makefile.am @@ -15,13 +15,13 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DDEFAULT_CONF_FILE=\"$(SCONFIGDIR)/pam_env.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_env.la +pam_env_la_LIBADD = -L$(top_builddir)/libpam -lpam secureconf_DATA = pam_env.conf sysconf_DATA = environment diff --git a/Linux-PAM/modules/pam_env/Makefile.in b/Linux-PAM/modules/pam_env/Makefile.in index 7bd1e9a3..46abe640 100644 --- a/Linux-PAM/modules/pam_env/Makefile.in +++ b/Linux-PAM/modules/pam_env/Makefile.in @@ -66,7 +66,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man5dir)" \ "$(DESTDIR)$(sysconfdir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_env_la_LIBADD = +pam_env_la_DEPENDENCIES = pam_env_la_SOURCES = pam_env.c pam_env_la_OBJECTS = pam_env.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -180,6 +180,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -258,9 +259,9 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DDEFAULT_CONF_FILE=\"$(SCONFIGDIR)/pam_env.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_env.la +pam_env_la_LIBADD = -L$(top_builddir)/libpam -lpam secureconf_DATA = pam_env.conf sysconf_DATA = environment @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README diff --git a/Linux-PAM/modules/pam_exec/Makefile.am b/Linux-PAM/modules/pam_exec/Makefile.am index 4fc28b28..55fe9297 100644 --- a/Linux-PAM/modules/pam_exec/Makefile.am +++ b/Linux-PAM/modules/pam_exec/Makefile.am @@ -14,13 +14,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_exec.la +pam_exec_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN diff --git a/Linux-PAM/modules/pam_exec/Makefile.in b/Linux-PAM/modules/pam_exec/Makefile.in index 34f7ac51..e78b00b9 100644 --- a/Linux-PAM/modules/pam_exec/Makefile.in +++ b/Linux-PAM/modules/pam_exec/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_exec_la_LIBADD = +pam_exec_la_DEPENDENCIES = pam_exec_la_SOURCES = pam_exec.c pam_exec_la_OBJECTS = pam_exec.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -251,9 +252,9 @@ XMLS = README.xml pam_exec.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_exec.la +pam_exec_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README TESTS = tst-pam_exec all: all-am diff --git a/Linux-PAM/modules/pam_faildelay/Makefile.am b/Linux-PAM/modules/pam_faildelay/Makefile.am index ac1bc1d3..2796018c 100644 --- a/Linux-PAM/modules/pam_faildelay/Makefile.am +++ b/Linux-PAM/modules/pam_faildelay/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_faildelay.la +pam_faildelay_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_faildelay/Makefile.in b/Linux-PAM/modules/pam_faildelay/Makefile.in index 02c94322..94cc110d 100644 --- a/Linux-PAM/modules/pam_faildelay/Makefile.in +++ b/Linux-PAM/modules/pam_faildelay/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_faildelay_la_LIBADD = +pam_faildelay_la_DEPENDENCIES = pam_faildelay_la_SOURCES = pam_faildelay.c pam_faildelay_la_OBJECTS = pam_faildelay.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ TESTS = tst-pam_faildelay securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_faildelay.la +pam_faildelay_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_filter/Makefile.am b/Linux-PAM/modules/pam_filter/Makefile.am index b218bffb..ab2ceee9 100644 --- a/Linux-PAM/modules/pam_filter/Makefile.am +++ b/Linux-PAM/modules/pam_filter/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2006 Thorsten Kukuk <kukuk@suse.de> +# Copyright (c) 2005, 2006, 2007 Thorsten Kukuk <kukuk@thkukuk.de> # SUBDIRS = upperLOWER @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif include_HEADERS=pam_filter.h +pam_filter_la_LIBADD = -L$(top_builddir)/libpam -lpam securelib_LTLIBRARIES = pam_filter.la TESTS = tst-pam_filter diff --git a/Linux-PAM/modules/pam_filter/Makefile.in b/Linux-PAM/modules/pam_filter/Makefile.in index 03b39bcd..d45b8d4a 100644 --- a/Linux-PAM/modules/pam_filter/Makefile.in +++ b/Linux-PAM/modules/pam_filter/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ # -# Copyright (c) 2005, 2006 Thorsten Kukuk <kukuk@suse.de> +# Copyright (c) 2005, 2006, 2007 Thorsten Kukuk <kukuk@thkukuk.de> # @@ -67,7 +67,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" \ "$(DESTDIR)$(includedir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_filter_la_LIBADD = +pam_filter_la_DEPENDENCIES = pam_filter_la_SOURCES = pam_filter.c pam_filter_la_OBJECTS = pam_filter.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -190,6 +190,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -267,9 +268,9 @@ XMLS = README.xml pam_filter.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) include_HEADERS = pam_filter.h +pam_filter_la_LIBADD = -L$(top_builddir)/libpam -lpam securelib_LTLIBRARIES = pam_filter.la TESTS = tst-pam_filter @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README diff --git a/Linux-PAM/modules/pam_filter/upperLOWER/Makefile.am b/Linux-PAM/modules/pam_filter/upperLOWER/Makefile.am index 205429c8..93d24ff5 100644 --- a/Linux-PAM/modules/pam_filter/upperLOWER/Makefile.am +++ b/Linux-PAM/modules/pam_filter/upperLOWER/Makefile.am @@ -9,6 +9,7 @@ securelibfilterdir = $(SECUREDIR)/pam_filter AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -I$(srcdir)/.. @PIE_CFLAGS@ -AM_LDFLAGS = @PIE_LDFLAGS@ -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = @PIE_LDFLAGS@ +LDADD = -L$(top_builddir)/libpam -lpam securelibfilter_PROGRAMS = upperLOWER diff --git a/Linux-PAM/modules/pam_filter/upperLOWER/Makefile.in b/Linux-PAM/modules/pam_filter/upperLOWER/Makefile.in index e2d799f4..21145056 100644 --- a/Linux-PAM/modules/pam_filter/upperLOWER/Makefile.in +++ b/Linux-PAM/modules/pam_filter/upperLOWER/Makefile.in @@ -60,6 +60,7 @@ PROGRAMS = $(securelibfilter_PROGRAMS) upperLOWER_SOURCES = upperLOWER.c upperLOWER_OBJECTS = upperLOWER.$(OBJEXT) upperLOWER_LDADD = $(LDADD) +upperLOWER_DEPENDENCIES = DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -164,6 +165,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -238,7 +240,8 @@ securelibfilterdir = $(SECUREDIR)/pam_filter AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -I$(srcdir)/.. @PIE_CFLAGS@ -AM_LDFLAGS = @PIE_LDFLAGS@ -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = @PIE_LDFLAGS@ +LDADD = -L$(top_builddir)/libpam -lpam all: all-am .SUFFIXES: diff --git a/Linux-PAM/modules/pam_ftp/Makefile.am b/Linux-PAM/modules/pam_ftp/Makefile.am index e6d510a1..a4ce03df 100644 --- a/Linux-PAM/modules/pam_ftp/Makefile.am +++ b/Linux-PAM/modules/pam_ftp/Makefile.am @@ -13,13 +13,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_ftp.la +pam_ftp_la_LIBADD = -L$(top_builddir)/libpam -lpam TESTS = tst-pam_ftp diff --git a/Linux-PAM/modules/pam_ftp/Makefile.in b/Linux-PAM/modules/pam_ftp/Makefile.in index 875a71a1..77e9b3e9 100644 --- a/Linux-PAM/modules/pam_ftp/Makefile.in +++ b/Linux-PAM/modules/pam_ftp/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_ftp_la_LIBADD = +pam_ftp_la_DEPENDENCIES = pam_ftp_la_SOURCES = pam_ftp.c pam_ftp_la_OBJECTS = pam_ftp.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -251,9 +252,9 @@ XMLS = README.xml pam_ftp.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_ftp.la +pam_ftp_la_LIBADD = -L$(top_builddir)/libpam -lpam TESTS = tst-pam_ftp @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_group/Makefile.am b/Linux-PAM/modules/pam_group/Makefile.am index 544fa12f..22dc831b 100644 --- a/Linux-PAM/modules/pam_group/Makefile.am +++ b/Linux-PAM/modules/pam_group/Makefile.am @@ -14,13 +14,13 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DPAM_GROUP_CONF=\"$(SCONFIGDIR)/group.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_group.la +pam_group_la_LIBADD = -L$(top_builddir)/libpam -lpam secureconf_DATA = group.conf diff --git a/Linux-PAM/modules/pam_group/Makefile.in b/Linux-PAM/modules/pam_group/Makefile.in index 7deca09c..48fcfe47 100644 --- a/Linux-PAM/modules/pam_group/Makefile.in +++ b/Linux-PAM/modules/pam_group/Makefile.in @@ -65,7 +65,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man5dir)" \ "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(secureconfdir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_group_la_LIBADD = +pam_group_la_DEPENDENCIES = pam_group_la_SOURCES = pam_group.c pam_group_la_OBJECTS = pam_group.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -178,6 +178,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -256,9 +257,9 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DPAM_GROUP_CONF=\"$(SCONFIGDIR)/group.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_group.la +pam_group_la_LIBADD = -L$(top_builddir)/libpam -lpam secureconf_DATA = group.conf TESTS = tst-pam_group @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README diff --git a/Linux-PAM/modules/pam_group/group.conf b/Linux-PAM/modules/pam_group/group.conf index d4a10672..b766becb 100644 --- a/Linux-PAM/modules/pam_group/group.conf +++ b/Linux-PAM/modules/pam_group/group.conf @@ -10,7 +10,7 @@ # *** like. Example: games are allowed between the hours of 6pm and 6am # *** user joe logs in at 7pm writes a small C-program toplay.c that # *** invokes their favorite shell, compiles it and does -# *** "chgrp games toplay; chmod g+s toplay". They are basically able +# *** "chgrp play toplay; chmod g+s toplay". They are basically able # *** to play games any time... You have been warned. AGM # @@ -74,7 +74,7 @@ # # 1. to run an application as root # 2. add the following groups to the /etc/group file: -# floppy, games, sound +# floppy, play, sound # # @@ -88,10 +88,10 @@ # # another example: running 'xsh' on tty* (any ttyXXX device), # the user 'sword' is given access to games (through membership of -# the floppy group) after work hours +# the sound and play group) after work hours. # -#xsh; tty* ;sword;!Wk0900-1800;games, sound +#xsh; tty* ;sword;!Wk0900-1800;sound, play #xsh; tty* ;*;Al0900-1800;floppy # diff --git a/Linux-PAM/modules/pam_group/pam_group.c b/Linux-PAM/modules/pam_group/pam_group.c index 1dc329ef..4a54da14 100644 --- a/Linux-PAM/modules/pam_group/pam_group.c +++ b/Linux-PAM/modules/pam_group/pam_group.c @@ -329,6 +329,13 @@ is_same (const pam_handle_t *pamh UNUSED, return FALSE; } } + + /* Ok, we know that b is a substring from A and does not contain + wildcards, but now the length of both strings must be the same, + too. */ + if (strlen (a) != strlen(b)) + return FALSE; + return ( !len ); } diff --git a/Linux-PAM/modules/pam_issue/Makefile.am b/Linux-PAM/modules/pam_issue/Makefile.am index 4e43bd05..8161fd81 100644 --- a/Linux-PAM/modules/pam_issue/Makefile.am +++ b/Linux-PAM/modules/pam_issue/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_issue.la +pam_issue_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_issue/Makefile.in b/Linux-PAM/modules/pam_issue/Makefile.in index 9cec3a85..af10757f 100644 --- a/Linux-PAM/modules/pam_issue/Makefile.in +++ b/Linux-PAM/modules/pam_issue/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_issue_la_LIBADD = +pam_issue_la_DEPENDENCIES = pam_issue_la_SOURCES = pam_issue.c pam_issue_la_OBJECTS = pam_issue.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ TESTS = tst-pam_issue securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_issue.la +pam_issue_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_keyinit/Makefile.am b/Linux-PAM/modules/pam_keyinit/Makefile.am index 49e34d75..5039705a 100644 --- a/Linux-PAM/modules/pam_keyinit/Makefile.am +++ b/Linux-PAM/modules/pam_keyinit/Makefile.am @@ -22,8 +22,7 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif @@ -31,3 +30,4 @@ endif if HAVE_KEY_MANAGEMENT securelib_LTLIBRARIES = pam_keyinit.la endif +pam_keyinit_la_LIBADD = -L$(top_builddir)/libpam -lpam diff --git a/Linux-PAM/modules/pam_keyinit/Makefile.in b/Linux-PAM/modules/pam_keyinit/Makefile.in index 401c09b6..5ea2133d 100644 --- a/Linux-PAM/modules/pam_keyinit/Makefile.in +++ b/Linux-PAM/modules/pam_keyinit/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_keyinit_la_LIBADD = +pam_keyinit_la_DEPENDENCIES = pam_keyinit_la_SOURCES = pam_keyinit.c pam_keyinit_la_OBJECTS = pam_keyinit.lo @HAVE_KEY_MANAGEMENT_TRUE@am_pam_keyinit_la_rpath = -rpath \ @@ -177,6 +177,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -255,9 +256,9 @@ XMLS = README.xml pam_keyinit.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) @HAVE_KEY_MANAGEMENT_TRUE@securelib_LTLIBRARIES = pam_keyinit.la +pam_keyinit_la_LIBADD = -L$(top_builddir)/libpam -lpam all: all-am .SUFFIXES: diff --git a/Linux-PAM/modules/pam_lastlog/Makefile.am b/Linux-PAM/modules/pam_lastlog/Makefile.am index e81e7833..899bda7b 100644 --- a/Linux-PAM/modules/pam_lastlog/Makefile.am +++ b/Linux-PAM/modules/pam_lastlog/Makefile.am @@ -15,13 +15,13 @@ XMLS = README.xml pam_lastlog.8.xml TESTS = tst-pam_lastlog AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam -lutil +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_lastlog.la +pam_lastlog_la_LIBADD = -L$(top_builddir)/libpam -lpam -lutil if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_lastlog/Makefile.in b/Linux-PAM/modules/pam_lastlog/Makefile.in index 6f19ba1f..12448a34 100644 --- a/Linux-PAM/modules/pam_lastlog/Makefile.in +++ b/Linux-PAM/modules/pam_lastlog/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_lastlog_la_LIBADD = +pam_lastlog_la_DEPENDENCIES = pam_lastlog_la_SOURCES = pam_lastlog.c pam_lastlog_la_OBJECTS = pam_lastlog.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ man_MANS = pam_lastlog.8 XMLS = README.xml pam_lastlog.8.xml TESTS = tst-pam_lastlog AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam -lutil $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_lastlog.la +pam_lastlog_la_LIBADD = -L$(top_builddir)/libpam -lpam -lutil @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_limits/Makefile.am b/Linux-PAM/modules/pam_limits/Makefile.am index 60256a7c..13232ea6 100644 --- a/Linux-PAM/modules/pam_limits/Makefile.am +++ b/Linux-PAM/modules/pam_limits/Makefile.am @@ -18,13 +18,13 @@ limits_conf_dir = $(SCONFIGDIR)/limits.d AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DLIMITS_FILE_DIR=\"$(limits_conf_dir)/*.conf\" \ -DLIMITS_FILE=\"$(SCONFIGDIR)/limits.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_limits.la +pam_limits_la_LIBADD = -L$(top_builddir)/libpam -lpam secureconf_DATA = limits.conf diff --git a/Linux-PAM/modules/pam_limits/Makefile.in b/Linux-PAM/modules/pam_limits/Makefile.in index 4ae28dea..b01b88a3 100644 --- a/Linux-PAM/modules/pam_limits/Makefile.in +++ b/Linux-PAM/modules/pam_limits/Makefile.in @@ -65,7 +65,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man5dir)" \ "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(secureconfdir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_limits_la_LIBADD = +pam_limits_la_DEPENDENCIES = pam_limits_la_SOURCES = pam_limits.c pam_limits_la_OBJECTS = pam_limits.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -178,6 +178,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -259,9 +260,9 @@ AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DLIMITS_FILE_DIR=\"$(limits_conf_dir)/*.conf\" \ -DLIMITS_FILE=\"$(SCONFIGDIR)/limits.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_limits.la +pam_limits_la_LIBADD = -L$(top_builddir)/libpam -lpam secureconf_DATA = limits.conf @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_limits/limits.conf.5 b/Linux-PAM/modules/pam_limits/limits.conf.5 index 3cf62f26..9fef98d7 100644 --- a/Linux-PAM/modules/pam_limits/limits.conf.5 +++ b/Linux-PAM/modules/pam_limits/limits.conf.5 @@ -1,11 +1,11 @@ .\" Title: limits.conf .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/> -.\" Date: 04/30/2007 -.\" Manual: Linux\-PAM Manual -.\" Source: Linux\-PAM Manual +.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/> +.\" Date: 08/30/2007 +.\" Manual: Linux-PAM Manual +.\" Source: Linux-PAM Manual .\" -.TH "LIMITS.CONF" "5" "04/30/2007" "Linux\-PAM Manual" "Linux\-PAM Manual" +.TH "LIMITS.CONF" "5" "08/30/2007" "Linux\-PAM Manual" "Linux\-PAM Manual" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -27,21 +27,19 @@ The fields listed above should be filled as follows: \fB<domain>\fR .RS 4 .RS 4 -.TP 4 -\(bu -a username -.TP 4 -\(bu -a groupname, with +\h'-04'\(bu\h'+03'a username +.RE +.RS 4 +\h'-04'\(bu\h'+03'a groupname, with \fB@group\fR syntax. This should not be confused with netgroups. -.TP 4 -\(bu -the wildcard +.RE +.RS 4 +\h'-04'\(bu\h'+03'the wildcard \fB*\fR, for default entry. -.TP 4 -\(bu -the wildcard +.RE +.RS 4 +\h'-04'\(bu\h'+03'the wildcard \fB%\fR, for maxlogins limit only, can also be used with \fI%group\fR syntax. @@ -139,7 +137,8 @@ address space limit (KB) .PP \fBmaxlogins\fR .RS 4 -maximum number of logins for this user +maximum number of logins for this user except for this with +\fIuid=0\fR .RE .PP \fBmaxsyslogins\fR diff --git a/Linux-PAM/modules/pam_limits/limits.conf.5.xml b/Linux-PAM/modules/pam_limits/limits.conf.5.xml index 830aa022..48798470 100644 --- a/Linux-PAM/modules/pam_limits/limits.conf.5.xml +++ b/Linux-PAM/modules/pam_limits/limits.conf.5.xml @@ -175,7 +175,8 @@ <varlistentry> <term><option>maxlogins</option></term> <listitem> - <para>maximum number of logins for this user</para> + <para>maximum number of logins for this user except + for this with <emphasis>uid=0</emphasis></para> </listitem> </varlistentry> <varlistentry> diff --git a/Linux-PAM/modules/pam_limits/pam_limits.c b/Linux-PAM/modules/pam_limits/pam_limits.c index a4bc727f..d65e64bf 100644 --- a/Linux-PAM/modules/pam_limits/pam_limits.c +++ b/Linux-PAM/modules/pam_limits/pam_limits.c @@ -14,7 +14,7 @@ */ #if !defined(linux) && !defined(__linux) -#error THIS CODE IS KNOWN TO WORK ONLY ON LINUX !!! +#warning THIS CODE IS KNOWN TO WORK ONLY ON LINUX !!! #endif #include "config.h" @@ -281,8 +281,10 @@ process_limit (const pam_handle_t *pamh, int source, const char *lim_type, limit_item = RLIMIT_NOFILE; else if (strcmp(lim_item, "memlock") == 0) limit_item = RLIMIT_MEMLOCK; +#ifdef RLIMIT_AS else if (strcmp(lim_item, "as") == 0) limit_item = RLIMIT_AS; +#endif /*RLIMIT_AS*/ #ifdef RLIMIT_LOCKS else if (strcmp(lim_item, "locks") == 0) limit_item = RLIMIT_LOCKS; @@ -389,7 +391,9 @@ process_limit (const pam_handle_t *pamh, int source, const char *lim_type, case RLIMIT_CORE: case RLIMIT_RSS: case RLIMIT_MEMLOCK: +#ifdef RLIMIT_AS case RLIMIT_AS: +#endif if (rlimit_value != RLIM_INFINITY) { if (rlimit_value >= RLIM_INFINITY/1024) @@ -461,8 +465,6 @@ static int parse_config_file(pam_handle_t *pamh, const char *uname, int ctrl, return PAM_SERVICE_ERR; } - /* init things */ - memset(buf, 0, sizeof(buf)); /* start the show */ while (fgets(buf, LINE_LENGTH, fil) != NULL) { char domain[LINE_LENGTH]; @@ -471,46 +473,40 @@ static int parse_config_file(pam_handle_t *pamh, const char *uname, int ctrl, char value[LINE_LENGTH]; int i; size_t j; - char *tptr; + char *tptr,*line; - tptr = buf; + line = buf; /* skip the leading white space */ - while (*tptr && isspace(*tptr)) - tptr++; - strncpy(buf, tptr, sizeof(buf)-1); - buf[sizeof(buf)-1] = '\0'; + while (*line && isspace(*line)) + line++; /* Rip off the comments */ - tptr = strchr(buf,'#'); + tptr = strchr(line,'#'); if (tptr) *tptr = '\0'; /* Rip off the newline char */ - tptr = strchr(buf,'\n'); + tptr = strchr(line,'\n'); if (tptr) *tptr = '\0'; /* Anything left ? */ - if (!strlen(buf)) { - memset(buf, 0, sizeof(buf)); + if (!strlen(line)) continue; - } - memset(domain, 0, sizeof(domain)); - memset(ltype, 0, sizeof(ltype)); - memset(item, 0, sizeof(item)); - memset(value, 0, sizeof(value)); + domain[0] = ltype[0] = item[0] = value[0] = '\0'; - i = sscanf(buf,"%s%s%s%s", domain, ltype, item, value); + i = sscanf(line,"%s%s%s%s", domain, ltype, item, value); D(("scanned line[%d]: domain[%s], ltype[%s], item[%s], value[%s]", i, domain, ltype, item, value)); for(j=0; j < strlen(ltype); j++) ltype[j]=tolower(ltype[j]); - for(j=0; j < strlen(item); j++) - item[j]=tolower(item[j]); - for(j=0; j < strlen(value); j++) - value[j]=tolower(value[j]); if (i == 4) { /* a complete line */ + for(j=0; j < strlen(item); j++) + item[j]=tolower(item[j]); + for(j=0; j < strlen(value); j++) + value[j]=tolower(value[j]); + if (strcmp(uname, domain) == 0) /* this user have a limit */ process_limit(pamh, LIMITS_DEF_USER, ltype, item, value, ctrl, pl); else if (domain[0]=='@') { @@ -556,7 +552,7 @@ static int parse_config_file(pam_handle_t *pamh, const char *uname, int ctrl, return PAM_IGNORE; } } else { - pam_syslog(pamh, LOG_WARNING, "invalid line '%s' - skipped", buf); + pam_syslog(pamh, LOG_WARNING, "invalid line '%s' - skipped", line); } } fclose(fil); diff --git a/Linux-PAM/modules/pam_listfile/Makefile.am b/Linux-PAM/modules/pam_listfile/Makefile.am index 5eb5c75c..2f211320 100644 --- a/Linux-PAM/modules/pam_listfile/Makefile.am +++ b/Linux-PAM/modules/pam_listfile/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_listfile.la +pam_listfile_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_listfile/Makefile.in b/Linux-PAM/modules/pam_listfile/Makefile.in index bf08192d..8e12f5d9 100644 --- a/Linux-PAM/modules/pam_listfile/Makefile.in +++ b/Linux-PAM/modules/pam_listfile/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_listfile_la_LIBADD = +pam_listfile_la_DEPENDENCIES = pam_listfile_la_SOURCES = pam_listfile.c pam_listfile_la_OBJECTS = pam_listfile.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ TESTS = tst-pam_listfile securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_listfile.la +pam_listfile_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_listfile/README b/Linux-PAM/modules/pam_listfile/README index f0aaaf7f..51bb13d2 100644 --- a/Linux-PAM/modules/pam_listfile/README +++ b/Linux-PAM/modules/pam_listfile/README @@ -58,6 +58,11 @@ apply=[user|@group] item=[user|ruser|group] this oes not make sense, but for item=[tty|rhost| shell] it have a meaning. +quiet + + Do not treat service refusals or missing list files as errors that need to + be logged. + EXAMPLES Classic 'ftpusers' authentication can be implemented with this entry in /etc/ diff --git a/Linux-PAM/modules/pam_listfile/pam_listfile.8 b/Linux-PAM/modules/pam_listfile/pam_listfile.8 index 2ccecd4b..0103aa5e 100644 --- a/Linux-PAM/modules/pam_listfile/pam_listfile.8 +++ b/Linux-PAM/modules/pam_listfile/pam_listfile.8 @@ -1,11 +1,11 @@ .\" Title: pam_listfile .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/> -.\" Date: 06/22/2006 -.\" Manual: Linux\-PAM Manual -.\" Source: Linux\-PAM Manual +.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/> +.\" Date: 08/25/2007 +.\" Manual: Linux-PAM Manual +.\" Source: Linux-PAM Manual .\" -.TH "PAM_LISTFILE" "8" "06/22/2006" "Linux\-PAM Manual" "Linux\-PAM Manual" +.TH "PAM_LISTFILE" "8" "08/25/2007" "Linux\-PAM Manual" "Linux\-PAM Manual" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -14,7 +14,7 @@ pam_listfile \- deny or allow services based on an arbitrary file .SH "SYNOPSIS" .HP 16 -\fBpam_listfile.so\fR item=[tty|user|rhost|ruser|group|shell] sense=[allow|deny] file=\fI/path/filename\fR onerr=[succeed|fail] [apply=[\fIuser\fR|\fI@group\fR]] +\fBpam_listfile.so\fR item=[tty|user|rhost|ruser|group|shell] sense=[allow|deny] file=\fI/path/filename\fR onerr=[succeed|fail] [apply=[\fIuser\fR|\fI@group\fR]] [quiet] .SH "DESCRIPTION" .PP pam_listfile is a PAM module which provides a way to deny or allow services based on an arbitrary file. @@ -64,25 +64,40 @@ Besides this last one, all arguments should be specified; do not count on any de No credentials are awarded by this module. .SH "OPTIONS" .PP -.TP 3n +.PP \fBitem=[tty|user|rhost|ruser|group|shell]\fR +.RS 4 What is listed in the file and should be checked for. -.TP 3n +.RE +.PP \fBsense=[allow|deny]\fR +.RS 4 Action to take if found in file, if the item is NOT found in the file, then the opposite action is requested. -.TP 3n +.RE +.PP \fBfile=\fR\fB\fI/path/filename\fR\fR +.RS 4 File containing one item per line. The file needs to be a plain file and not world writeable. -.TP 3n +.RE +.PP \fBonerr=[succeed|fail]\fR +.RS 4 What to do if something weird happens like being unable to open the file. -.TP 3n +.RE +.PP \fBapply=[\fR\fB\fIuser\fR\fR\fB|\fR\fB\fI@group\fR\fR\fB]\fR +.RS 4 Restrict the user class for which the restriction apply. Note that with \fBitem=[user|ruser|group]\fR this oes not make sense, but for \fBitem=[tty|rhost|shell]\fR it have a meaning. +.RE +.PP +\fBquiet\fR +.RS 4 +Do not treat service refusals or missing list files as errors that need to be logged. +.RE .SH "MODULE SERVICES PROVIDED" .PP The services @@ -94,34 +109,44 @@ and are supported. .SH "RETURN VALUES" .PP -.TP 3n +.PP PAM_AUTH_ERR +.RS 4 Authentication failure. -.TP 3n +.RE +.PP PAM_BUF_ERR +.RS 4 Memory buffer error. -.TP 3n +.RE +.PP PAM_IGNORE +.RS 4 The rule does not apply to the \fBapply\fR option. -.TP 3n +.RE +.PP PAM_SERVICE_ERR +.RS 4 Error in service module. -.TP 3n +.RE +.PP PAM_SUCCESS +.RS 4 Success. +.RE .SH "EXAMPLES" .PP Classic 'ftpusers' authentication can be implemented with this entry in \fI/etc/pam.d/ftpd\fR: .sp -.RS 3n +.RS 4 .nf # # deny ftp\-access to users listed in the /etc/ftpusers file # -auth required pam_listfile.so \\ +auth required pam_listfile.so \e onerr=succeed item=user sense=deny file=/etc/ftpusers .fi @@ -137,12 +162,12 @@ To allow login access only for certain users, you can use a \fI/etc/pam.d/login\fR entry like this: .sp -.RS 3n +.RS 4 .nf # # permit login to users listed in /etc/loginusers # -auth required pam_listfile.so \\ +auth required pam_listfile.so \e onerr=fail item=user sense=allow file=/etc/loginusers .fi diff --git a/Linux-PAM/modules/pam_listfile/pam_listfile.8.xml b/Linux-PAM/modules/pam_listfile/pam_listfile.8.xml index 0e90414a..2aab4962 100644 --- a/Linux-PAM/modules/pam_listfile/pam_listfile.8.xml +++ b/Linux-PAM/modules/pam_listfile/pam_listfile.8.xml @@ -33,6 +33,9 @@ <arg choice="opt"> apply=[<replaceable>user</replaceable>|<replaceable>@group</replaceable>] </arg> + <arg choice="opt"> + quiet + </arg> </cmdsynopsis> </refsynopsisdiv> @@ -155,6 +158,18 @@ </para> </listitem> </varlistentry> + + <varlistentry> + <term> + <option>quiet</option> + </term> + <listitem> + <para> + Do not treat service refusals or missing list files as + errors that need to be logged. + </para> + </listitem> + </varlistentry> </variablelist> </para> diff --git a/Linux-PAM/modules/pam_listfile/pam_listfile.c b/Linux-PAM/modules/pam_listfile/pam_listfile.c index 1545fe03..f276e5b8 100644 --- a/Linux-PAM/modules/pam_listfile/pam_listfile.c +++ b/Linux-PAM/modules/pam_listfile/pam_listfile.c @@ -68,7 +68,7 @@ PAM_EXTERN int pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, int argc, const char **argv) { - int retval, i, citem=0, extitem=0, onerr=PAM_SERVICE_ERR, sense=2; + int retval, i, citem=0, extitem=0, onerr=PAM_SERVICE_ERR, sense=2, quiet=0; const void *void_citemp; const char *citemp; char *ifname=NULL; @@ -155,6 +155,8 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, apply_type=APPLY_TYPE_USER; strncpy(apply_val,myval,sizeof(apply_val)-1); } + } else if (!strcmp(mybuf,"quiet")) { + quiet = 1; } else { free(ifname); pam_syslog(pamh,LOG_ERR, "Unknown option: %s",mybuf); @@ -399,8 +401,9 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, #endif (void) pam_get_item(pamh, PAM_SERVICE, &service); (void) pam_get_user(pamh, &user_name, NULL); - pam_syslog (pamh, LOG_ALERT, "Refused user %s for service %s", - user_name, (const char *)service); + if (!quiet) + pam_syslog (pamh, LOG_ALERT, "Refused user %s for service %s", + user_name, (const char *)service); return PAM_AUTH_ERR; } } diff --git a/Linux-PAM/modules/pam_localuser/Makefile.am b/Linux-PAM/modules/pam_localuser/Makefile.am index ae331755..d4e47937 100644 --- a/Linux-PAM/modules/pam_localuser/Makefile.am +++ b/Linux-PAM/modules/pam_localuser/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_localuser.la +pam_localuser_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_localuser/Makefile.in b/Linux-PAM/modules/pam_localuser/Makefile.in index 24daef1f..f70ab2e8 100644 --- a/Linux-PAM/modules/pam_localuser/Makefile.in +++ b/Linux-PAM/modules/pam_localuser/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_localuser_la_LIBADD = +pam_localuser_la_DEPENDENCIES = pam_localuser_la_SOURCES = pam_localuser.c pam_localuser_la_OBJECTS = pam_localuser.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ XMLS = README.xml pam_localuser.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_localuser.la +pam_localuser_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_loginuid/Makefile.am b/Linux-PAM/modules/pam_loginuid/Makefile.am index 6f2d84b0..636db963 100644 --- a/Linux-PAM/modules/pam_loginuid/Makefile.am +++ b/Linux-PAM/modules/pam_loginuid/Makefile.am @@ -14,13 +14,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam @LIBAUDIT@ +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_loginuid.la +pam_loginuid_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBAUDIT@ if ENABLE_REGENERATE_MAN diff --git a/Linux-PAM/modules/pam_loginuid/Makefile.in b/Linux-PAM/modules/pam_loginuid/Makefile.in index 4a4edd3c..956286ed 100644 --- a/Linux-PAM/modules/pam_loginuid/Makefile.in +++ b/Linux-PAM/modules/pam_loginuid/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_loginuid_la_LIBADD = +pam_loginuid_la_DEPENDENCIES = pam_loginuid_la_SOURCES = pam_loginuid.c pam_loginuid_la_OBJECTS = pam_loginuid.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -251,9 +252,9 @@ XMLS = README.xml pam_loginuid.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam @LIBAUDIT@ $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_loginuid.la +pam_loginuid_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBAUDIT@ @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README TESTS = tst-pam_loginuid all: all-am diff --git a/Linux-PAM/modules/pam_mail/Makefile.am b/Linux-PAM/modules/pam_mail/Makefile.am index 95a25a61..0b5d2d70 100644 --- a/Linux-PAM/modules/pam_mail/Makefile.am +++ b/Linux-PAM/modules/pam_mail/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_mail.la +pam_mail_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_mail/Makefile.in b/Linux-PAM/modules/pam_mail/Makefile.in index bacd62ca..c4bfb4a4 100644 --- a/Linux-PAM/modules/pam_mail/Makefile.in +++ b/Linux-PAM/modules/pam_mail/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_mail_la_LIBADD = +pam_mail_la_DEPENDENCIES = pam_mail_la_SOURCES = pam_mail.c pam_mail_la_OBJECTS = pam_mail.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ TESTS = tst-pam_mail securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_mail.la +pam_mail_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_mkhomedir/Makefile.am b/Linux-PAM/modules/pam_mkhomedir/Makefile.am index 1feea688..7ed3a9f0 100644 --- a/Linux-PAM/modules/pam_mkhomedir/Makefile.am +++ b/Linux-PAM/modules/pam_mkhomedir/Makefile.am @@ -16,14 +16,14 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_mkhomedir.la pam_mkhomedir_la_SOURCES = pam_mkhomedir.c +pam_mkhomedir_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_mkhomedir/Makefile.in b/Linux-PAM/modules/pam_mkhomedir/Makefile.in index 2d4a5fc3..5562821c 100644 --- a/Linux-PAM/modules/pam_mkhomedir/Makefile.in +++ b/Linux-PAM/modules/pam_mkhomedir/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_mkhomedir_la_LIBADD = +pam_mkhomedir_la_DEPENDENCIES = am_pam_mkhomedir_la_OBJECTS = pam_mkhomedir.lo pam_mkhomedir_la_OBJECTS = $(am_pam_mkhomedir_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,10 +253,10 @@ TESTS = tst-pam_mkhomedir securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_mkhomedir.la pam_mkhomedir_la_SOURCES = pam_mkhomedir.c +pam_mkhomedir_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_motd/Makefile.am b/Linux-PAM/modules/pam_motd/Makefile.am index d6e1bafa..872e5d37 100644 --- a/Linux-PAM/modules/pam_motd/Makefile.am +++ b/Linux-PAM/modules/pam_motd/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_motd.la +pam_motd_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_motd/Makefile.in b/Linux-PAM/modules/pam_motd/Makefile.in index 24235722..670ef5e4 100644 --- a/Linux-PAM/modules/pam_motd/Makefile.in +++ b/Linux-PAM/modules/pam_motd/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_motd_la_LIBADD = +pam_motd_la_DEPENDENCIES = pam_motd_la_SOURCES = pam_motd.c pam_motd_la_OBJECTS = pam_motd.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ TESTS = tst-pam_motd securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_motd.la +pam_motd_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_namespace/Makefile.am b/Linux-PAM/modules/pam_namespace/Makefile.am index bbcb2f70..002678ba 100644 --- a/Linux-PAM/modules/pam_namespace/Makefile.am +++ b/Linux-PAM/modules/pam_namespace/Makefile.am @@ -22,8 +22,7 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DPAM_NAMESPACE_CONFIG=\"$(SCONFIGDIR)/namespace.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam @LIBSELINUX@ +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif @@ -31,6 +30,7 @@ endif if HAVE_UNSHARE securelib_LTLIBRARIES = pam_namespace.la pam_namespace_la_SOURCES = pam_namespace.c pam_namespace.h md5.c md5.h +pam_namespace_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBSELINUX@ secureconf_DATA = namespace.conf secureconf_SCRIPTS = namespace.init diff --git a/Linux-PAM/modules/pam_namespace/Makefile.in b/Linux-PAM/modules/pam_namespace/Makefile.in index 8beee4ce..89244535 100644 --- a/Linux-PAM/modules/pam_namespace/Makefile.in +++ b/Linux-PAM/modules/pam_namespace/Makefile.in @@ -69,7 +69,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" \ "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(secureconfdir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_namespace_la_LIBADD = +pam_namespace_la_DEPENDENCIES = am__pam_namespace_la_SOURCES_DIST = pam_namespace.c pam_namespace.h \ md5.c md5.h @HAVE_UNSHARE_TRUE@am_pam_namespace_la_OBJECTS = pam_namespace.lo \ @@ -189,6 +189,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -270,10 +271,10 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DPAM_NAMESPACE_CONFIG=\"$(SCONFIGDIR)/namespace.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam @LIBSELINUX@ $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) @HAVE_UNSHARE_TRUE@securelib_LTLIBRARIES = pam_namespace.la @HAVE_UNSHARE_TRUE@pam_namespace_la_SOURCES = pam_namespace.c pam_namespace.h md5.c md5.h +@HAVE_UNSHARE_TRUE@pam_namespace_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBSELINUX@ @HAVE_UNSHARE_TRUE@secureconf_DATA = namespace.conf @HAVE_UNSHARE_TRUE@secureconf_SCRIPTS = namespace.init @HAVE_UNSHARE_TRUE@TESTS = tst-pam_namespace diff --git a/Linux-PAM/modules/pam_namespace/pam_namespace.c b/Linux-PAM/modules/pam_namespace/pam_namespace.c index 73d8e591..d3612f59 100644 --- a/Linux-PAM/modules/pam_namespace/pam_namespace.c +++ b/Linux-PAM/modules/pam_namespace/pam_namespace.c @@ -589,8 +589,9 @@ static int poly_name(const struct polydir_s *polyptr, char **i_name, #ifdef WITH_SELINUX *i_context = NULL; *origcon = NULL; - if ((rc=form_context(polyptr, i_context, origcon, idata)) != PAM_SUCCESS) { - return rc; + if ((idata->flags & PAMNS_SELINUX_ENABLED) && + (rc=form_context(polyptr, i_context, origcon, idata)) != PAM_SUCCESS) { + return rc; } #endif diff --git a/Linux-PAM/modules/pam_nologin/Makefile.am b/Linux-PAM/modules/pam_nologin/Makefile.am index dc5fe58f..02840dde 100644 --- a/Linux-PAM/modules/pam_nologin/Makefile.am +++ b/Linux-PAM/modules/pam_nologin/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_nologin.la +pam_nologin_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_nologin/Makefile.in b/Linux-PAM/modules/pam_nologin/Makefile.in index 162e0f49..2733b3e1 100644 --- a/Linux-PAM/modules/pam_nologin/Makefile.in +++ b/Linux-PAM/modules/pam_nologin/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_nologin_la_LIBADD = +pam_nologin_la_DEPENDENCIES = pam_nologin_la_SOURCES = pam_nologin.c pam_nologin_la_OBJECTS = pam_nologin.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ XMLS = README.xml pam_nologin.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_nologin.la +pam_nologin_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_permit/Makefile.am b/Linux-PAM/modules/pam_permit/Makefile.am index 76e24472..aa6db7a1 100644 --- a/Linux-PAM/modules/pam_permit/Makefile.am +++ b/Linux-PAM/modules/pam_permit/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_permit.la +pam_permit_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_permit/Makefile.in b/Linux-PAM/modules/pam_permit/Makefile.in index 43df7fdb..25fa67e5 100644 --- a/Linux-PAM/modules/pam_permit/Makefile.in +++ b/Linux-PAM/modules/pam_permit/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_permit_la_LIBADD = +pam_permit_la_DEPENDENCIES = pam_permit_la_SOURCES = pam_permit.c pam_permit_la_OBJECTS = pam_permit.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ TESTS = tst-pam_permit securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_permit.la +pam_permit_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_rhosts/Makefile.am b/Linux-PAM/modules/pam_rhosts/Makefile.am index d4ca7578..26fdf9c6 100644 --- a/Linux-PAM/modules/pam_rhosts/Makefile.am +++ b/Linux-PAM/modules/pam_rhosts/Makefile.am @@ -16,13 +16,14 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_rhosts_auth.la pam_rhosts.la +pam_rhosts_auth_la_LIBADD = -L$(top_builddir)/libpam -lpam +pam_rhosts_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_rhosts/Makefile.in b/Linux-PAM/modules/pam_rhosts/Makefile.in index 138a1195..99415320 100644 --- a/Linux-PAM/modules/pam_rhosts/Makefile.in +++ b/Linux-PAM/modules/pam_rhosts/Makefile.in @@ -64,10 +64,10 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_rhosts_la_LIBADD = +pam_rhosts_la_DEPENDENCIES = pam_rhosts_la_SOURCES = pam_rhosts.c pam_rhosts_la_OBJECTS = pam_rhosts.lo -pam_rhosts_auth_la_LIBADD = +pam_rhosts_auth_la_DEPENDENCIES = pam_rhosts_auth_la_SOURCES = pam_rhosts_auth.c pam_rhosts_auth_la_OBJECTS = pam_rhosts_auth.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -178,6 +178,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -255,9 +256,10 @@ XMLS = README.xml pam_rhosts.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_rhosts_auth.la pam_rhosts.la +pam_rhosts_auth_la_LIBADD = -L$(top_builddir)/libpam -lpam +pam_rhosts_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_rhosts/pam_rhosts_auth.c b/Linux-PAM/modules/pam_rhosts/pam_rhosts_auth.c index b2248ccb..48fdeced 100644 --- a/Linux-PAM/modules/pam_rhosts/pam_rhosts_auth.c +++ b/Linux-PAM/modules/pam_rhosts/pam_rhosts_auth.c @@ -64,11 +64,10 @@ #include <sys/fsuid.h> #endif /* HAVE_SYS_FSUID_H */ #ifdef HAVE_NET_IF_H -#include <sys/if.h> +#include <net/if.h> #endif #include <sys/types.h> #include <sys/uio.h> -#include <net/if.h> #include <netinet/in.h> #ifndef MAXDNAME @@ -268,7 +267,7 @@ __icheckhost (pam_handle_t *pamh, struct _options *opts, u_int32_t raddr /* Try for raw ip address first. */ - if (isdigit(*lhost) && (long)(laddr = inet_addr(lhost)) != -1) + if (isdigit(*lhost) && (int32_t)(laddr = inet_addr(lhost) != -1)) return (negate*(! (raddr ^ laddr))); /* Better be a hostname. */ @@ -294,7 +293,6 @@ __icheckuser (pam_handle_t *pamh, struct _options *opts, /* luser is user entry from .rhosts/hosts.equiv file ruser is user id on remote host - rhost is the remote host name */ const void *user; @@ -349,11 +347,17 @@ __ivaliduser (pam_handle_t *pamh, struct _options *opts, register const char *user; register char *p; int hcheck, ucheck; - char buf[MAXHOSTNAMELEN + 128]; /* host + login */ + int retval = 1; +#ifdef HAVE_GETLINE + char *buf=NULL; + size_t buflen=0; - buf[sizeof (buf)-1] = '\0'; /* terminate line */ + while (getline(&buf,&buflen,hostf) > 0) { +#else + char buf[MAXHOSTNAMELEN + 128]; /* host + login */ while (fgets(buf, sizeof(buf), hostf) != NULL) { /* hostf file line */ +#endif p = buf; /* from beginning of file.. */ /* Skip empty or comment lines */ @@ -402,7 +406,7 @@ __ivaliduser (pam_handle_t *pamh, struct _options *opts, hcheck=__icheckhost(pamh, opts, raddr, buf, rhost); if (hcheck<0) - return(1); + break; if (hcheck) { /* Then check user part */ @@ -412,18 +416,23 @@ __ivaliduser (pam_handle_t *pamh, struct _options *opts, ucheck=__icheckuser(pamh, opts, user, ruser); /* Positive 'host user' match? */ - if (ucheck>0) - return(0); + if (ucheck>0) { + retval = 0; + break; + } /* Negative 'host -user' match? */ if (ucheck<0) - return(1); + break; /* Neither, go on looking for match */ } } +#ifdef HAVE_GETLINE + if(buf)free(buf); +#endif - return (1); + return retval; } /* diff --git a/Linux-PAM/modules/pam_rootok/Makefile.am b/Linux-PAM/modules/pam_rootok/Makefile.am index 7a97f20f..54fe2720 100644 --- a/Linux-PAM/modules/pam_rootok/Makefile.am +++ b/Linux-PAM/modules/pam_rootok/Makefile.am @@ -18,13 +18,13 @@ AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include if HAVE_LIBSELINUX AM_CFLAGS += -DWITH_SELINUX endif -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam @LIBSELINUX@ +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_rootok.la +pam_rootok_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBSELINUX@ if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_rootok/Makefile.in b/Linux-PAM/modules/pam_rootok/Makefile.in index 03128f8d..21fd8438 100644 --- a/Linux-PAM/modules/pam_rootok/Makefile.in +++ b/Linux-PAM/modules/pam_rootok/Makefile.in @@ -65,7 +65,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_rootok_la_LIBADD = +pam_rootok_la_DEPENDENCIES = pam_rootok_la_SOURCES = pam_rootok.c pam_rootok_la_OBJECTS = pam_rootok.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -176,6 +176,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -254,9 +255,9 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include \ -I$(top_srcdir)/libpamc/include $(am__append_1) -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam @LIBSELINUX@ $(am__append_2) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_2) securelib_LTLIBRARIES = pam_rootok.la +pam_rootok_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBSELINUX@ @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_securetty/Makefile.am b/Linux-PAM/modules/pam_securetty/Makefile.am index ca97ef4d..dd8d9473 100644 --- a/Linux-PAM/modules/pam_securetty/Makefile.am +++ b/Linux-PAM/modules/pam_securetty/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_securetty.la +pam_securetty_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_securetty/Makefile.in b/Linux-PAM/modules/pam_securetty/Makefile.in index 763404f5..9c67545e 100644 --- a/Linux-PAM/modules/pam_securetty/Makefile.in +++ b/Linux-PAM/modules/pam_securetty/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_securetty_la_LIBADD = +pam_securetty_la_DEPENDENCIES = pam_securetty_la_SOURCES = pam_securetty.c pam_securetty_la_OBJECTS = pam_securetty.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ XMLS = README.xml pam_securetty.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_securetty.la +pam_securetty_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_selinux/Makefile.am b/Linux-PAM/modules/pam_selinux/Makefile.am index ee2773e9..d11b507c 100644 --- a/Linux-PAM/modules/pam_selinux/Makefile.am +++ b/Linux-PAM/modules/pam_selinux/Makefile.am @@ -19,15 +19,15 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -I$(top_srcdir)/libpam_misc/include -AM_LDFLAGS = -no-undefined \ - -L$(top_builddir)/libpam -lpam @LIBSELINUX@ -pam_selinux_check_LDFLAGS = $(AM_LDFLAGS) -L$(top_builddir)/libpam_misc -lpam_misc +pam_selinux_check_LDFLAGS = $(AM_LDFLAGS) \ + -L$(top_builddir)/libpam -lpam \ + -L$(top_builddir)/libpam_misc -lpam_misc -pam_selinux_la_LDFLAGS = $(AM_LDFLAGS) +pam_selinux_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBSELINUX@ +pam_selinux_la_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING - pam_selinux_la_LDFLAGS += -avoid-version -module \ - -Wl,--version-script=$(srcdir)/../modules.map + pam_selinux_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif if HAVE_LIBSELINUX diff --git a/Linux-PAM/modules/pam_selinux/Makefile.in b/Linux-PAM/modules/pam_selinux/Makefile.in index 05321ab8..5868eb56 100644 --- a/Linux-PAM/modules/pam_selinux/Makefile.in +++ b/Linux-PAM/modules/pam_selinux/Makefile.in @@ -38,9 +38,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@HAVE_VERSIONING_TRUE@am__append_1 = -avoid-version -module \ -@HAVE_VERSIONING_TRUE@ -Wl,--version-script=$(srcdir)/../modules.map - +@HAVE_VERSIONING_TRUE@am__append_1 = -Wl,--version-script=$(srcdir)/../modules.map @HAVE_LIBSELINUX_TRUE@noinst_PROGRAMS = pam_selinux_check$(EXEEXT) subdir = modules/pam_selinux DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in @@ -68,7 +66,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_selinux_la_LIBADD = +pam_selinux_la_DEPENDENCIES = pam_selinux_la_SOURCES = pam_selinux.c pam_selinux_la_OBJECTS = pam_selinux.lo pam_selinux_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ @@ -190,6 +188,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -271,11 +270,13 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -I$(top_srcdir)/libpam_misc/include -AM_LDFLAGS = -no-undefined \ - -L$(top_builddir)/libpam -lpam @LIBSELINUX@ +pam_selinux_check_LDFLAGS = $(AM_LDFLAGS) \ + -L$(top_builddir)/libpam -lpam \ + -L$(top_builddir)/libpam_misc -lpam_misc -pam_selinux_check_LDFLAGS = $(AM_LDFLAGS) -L$(top_builddir)/libpam_misc -lpam_misc -pam_selinux_la_LDFLAGS = $(AM_LDFLAGS) $(am__append_1) +pam_selinux_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBSELINUX@ +pam_selinux_la_LDFLAGS = -no-undefined -avoid-version -module \ + $(am__append_1) @HAVE_LIBSELINUX_TRUE@securelib_LTLIBRARIES = pam_selinux.la @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README pam_selinux.8 all: all-am diff --git a/Linux-PAM/modules/pam_shells/Makefile.am b/Linux-PAM/modules/pam_shells/Makefile.am index 03ac8b15..543e01b4 100644 --- a/Linux-PAM/modules/pam_shells/Makefile.am +++ b/Linux-PAM/modules/pam_shells/Makefile.am @@ -15,13 +15,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_shells.la +pam_shells_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_shells/Makefile.in b/Linux-PAM/modules/pam_shells/Makefile.in index f8779d1a..2faa7c54 100644 --- a/Linux-PAM/modules/pam_shells/Makefile.in +++ b/Linux-PAM/modules/pam_shells/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_shells_la_LIBADD = +pam_shells_la_DEPENDENCIES = pam_shells_la_SOURCES = pam_shells.c pam_shells_la_OBJECTS = pam_shells.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ TESTS = tst-pam_shells securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_shells.la +pam_shells_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_stress/Makefile.am b/Linux-PAM/modules/pam_stress/Makefile.am index 64fe516f..b5f80938 100644 --- a/Linux-PAM/modules/pam_stress/Makefile.am +++ b/Linux-PAM/modules/pam_stress/Makefile.am @@ -12,9 +12,9 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_stress.la +pam_stress_la_LIBADD = -L$(top_builddir)/libpam -lpam diff --git a/Linux-PAM/modules/pam_stress/Makefile.in b/Linux-PAM/modules/pam_stress/Makefile.in index d1dca7bc..85580760 100644 --- a/Linux-PAM/modules/pam_stress/Makefile.in +++ b/Linux-PAM/modules/pam_stress/Makefile.in @@ -63,7 +63,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_stress_la_LIBADD = +pam_stress_la_DEPENDENCIES = pam_stress_la_SOURCES = pam_stress.c pam_stress_la_OBJECTS = pam_stress.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -170,6 +170,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -245,9 +246,9 @@ TESTS = tst-pam_stress securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_stress.la +pam_stress_la_LIBADD = -L$(top_builddir)/libpam -lpam all: all-am .SUFFIXES: diff --git a/Linux-PAM/modules/pam_succeed_if/Makefile.am b/Linux-PAM/modules/pam_succeed_if/Makefile.am index d97f4c1d..0394f42d 100644 --- a/Linux-PAM/modules/pam_succeed_if/Makefile.am +++ b/Linux-PAM/modules/pam_succeed_if/Makefile.am @@ -16,13 +16,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_succeed_if.la +pam_succeed_if_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_succeed_if/Makefile.in b/Linux-PAM/modules/pam_succeed_if/Makefile.in index a5090537..890024cb 100644 --- a/Linux-PAM/modules/pam_succeed_if/Makefile.in +++ b/Linux-PAM/modules/pam_succeed_if/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_succeed_if_la_LIBADD = +pam_succeed_if_la_DEPENDENCIES = pam_succeed_if_la_SOURCES = pam_succeed_if.c pam_succeed_if_la_OBJECTS = pam_succeed_if.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ XMLS = README.xml pam_succeed_if.8.xml securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_succeed_if.la +pam_succeed_if_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_succeed_if/pam_succeed_if.c b/Linux-PAM/modules/pam_succeed_if/pam_succeed_if.c index 4f33ba2e..06cb5d6a 100644 --- a/Linux-PAM/modules/pam_succeed_if/pam_succeed_if.c +++ b/Linux-PAM/modules/pam_succeed_if/pam_succeed_if.c @@ -191,13 +191,19 @@ static int evaluate_inlist(const char *left, const char *right) { char *p; - if ((p=strstr(right, left)) == NULL) - return PAM_AUTH_ERR; - if (p == right || *(p-1) == ':') { /* ':' is a list separator */ - p += strlen(left); - if (*p == '\0' || *p == ':') { - return PAM_SUCCESS; + /* Don't care about left containing ':'. */ + while ((p=strstr(right, left)) != NULL) { + if (p == right || *(p-1) == ':') { /* ':' is a list separator */ + p += strlen(left); + if (*p == '\0' || *p == ':') { + return PAM_SUCCESS; + } } + right = strchr(p, ':'); + if (right == NULL) + break; + else + ++right; } return PAM_AUTH_ERR; } diff --git a/Linux-PAM/modules/pam_tally/Makefile.am b/Linux-PAM/modules/pam_tally/Makefile.am index ffb88886..4fad738f 100644 --- a/Linux-PAM/modules/pam_tally/Makefile.am +++ b/Linux-PAM/modules/pam_tally/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2006 Thorsten Kukuk <kukuk@suse.de> +# Copyright (c) 2005, 2006, 2007 Thorsten Kukuk <kukuk@thkukuk.de> # CLEANFILES = *~ @@ -18,8 +18,8 @@ noinst_HEADERS = faillog.h AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -pam_tally_la_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +pam_tally_la_LDFLAGS = -no-undefined -avoid-version -module +pam_tally_la_LIBADD = -L$(top_builddir)/libpam -lpam if HAVE_VERSIONING pam_tally_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif @@ -28,7 +28,7 @@ securelib_LTLIBRARIES = pam_tally.la sbin_PROGRAMS = pam_tally pam_tally_SOURCES = pam_tally_app.c -pam_tally_LDFLAGS = -L$(top_builddir)/libpam -lpam +pam_tally_LDADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_tally/Makefile.in b/Linux-PAM/modules/pam_tally/Makefile.in index 631d79c4..b3ee2698 100644 --- a/Linux-PAM/modules/pam_tally/Makefile.in +++ b/Linux-PAM/modules/pam_tally/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ # -# Copyright (c) 2005, 2006 Thorsten Kukuk <kukuk@suse.de> +# Copyright (c) 2005, 2006, 2007 Thorsten Kukuk <kukuk@thkukuk.de> # @@ -69,7 +69,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(sbindir)" \ "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_tally_la_LIBADD = +pam_tally_la_DEPENDENCIES = pam_tally_la_SOURCES = pam_tally.c pam_tally_la_OBJECTS = pam_tally.lo pam_tally_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ @@ -79,10 +79,7 @@ sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(sbin_PROGRAMS) am_pam_tally_OBJECTS = pam_tally_app.$(OBJEXT) pam_tally_OBJECTS = $(am_pam_tally_OBJECTS) -pam_tally_LDADD = $(LDADD) -pam_tally_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(pam_tally_LDFLAGS) $(LDFLAGS) -o $@ +pam_tally_DEPENDENCIES = DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -192,6 +189,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -271,10 +269,11 @@ secureconfdir = $(SCONFIGDIR) noinst_HEADERS = faillog.h AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include pam_tally_la_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) + $(am__append_1) +pam_tally_la_LIBADD = -L$(top_builddir)/libpam -lpam securelib_LTLIBRARIES = pam_tally.la pam_tally_SOURCES = pam_tally_app.c -pam_tally_LDFLAGS = -L$(top_builddir)/libpam -lpam +pam_tally_LDADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am @@ -368,7 +367,7 @@ clean-sbinPROGRAMS: done pam_tally$(EXEEXT): $(pam_tally_OBJECTS) $(pam_tally_DEPENDENCIES) @rm -f pam_tally$(EXEEXT) - $(pam_tally_LINK) $(pam_tally_OBJECTS) $(pam_tally_LDADD) $(LIBS) + $(LINK) $(pam_tally_OBJECTS) $(pam_tally_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) diff --git a/Linux-PAM/modules/pam_time/Makefile.am b/Linux-PAM/modules/pam_time/Makefile.am index 6c5ae3a2..9c63ee5e 100644 --- a/Linux-PAM/modules/pam_time/Makefile.am +++ b/Linux-PAM/modules/pam_time/Makefile.am @@ -16,11 +16,11 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DPAM_TIME_CONF=\"$(SCONFIGDIR)/time.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif +pam_time_la_LIBADD = -L$(top_builddir)/libpam -lpam securelib_LTLIBRARIES = pam_time.la secureconf_DATA = time.conf diff --git a/Linux-PAM/modules/pam_time/Makefile.in b/Linux-PAM/modules/pam_time/Makefile.in index 9e3810bf..5058d1a8 100644 --- a/Linux-PAM/modules/pam_time/Makefile.in +++ b/Linux-PAM/modules/pam_time/Makefile.in @@ -65,7 +65,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man5dir)" \ "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(secureconfdir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_time_la_LIBADD = +pam_time_la_DEPENDENCIES = pam_time_la_SOURCES = pam_time.c pam_time_la_OBJECTS = pam_time.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -178,6 +178,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -257,8 +258,8 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DPAM_TIME_CONF=\"$(SCONFIGDIR)/time.conf\" -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) +pam_time_la_LIBADD = -L$(top_builddir)/libpam -lpam securelib_LTLIBRARIES = pam_time.la secureconf_DATA = time.conf @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README diff --git a/Linux-PAM/modules/pam_time/pam_time.c b/Linux-PAM/modules/pam_time/pam_time.c index 43b716f0..56b418f4 100644 --- a/Linux-PAM/modules/pam_time/pam_time.c +++ b/Linux-PAM/modules/pam_time/pam_time.c @@ -59,7 +59,7 @@ shift_bytes(char *mem, int from, int by) } static int -read_field(pam_handle_t *pamh, int fd, char **buf, int *from, int *to) +read_field(const pam_handle_t *pamh, int fd, char **buf, int *from, int *to) { /* is buf set ? */ @@ -137,6 +137,7 @@ read_field(pam_handle_t *pamh, int fd, char **buf, int *from, int *to) switch ((*buf)[i]) { int j,c; case '#': + c = 0; for (j=i; j < *to && (c = (*buf)[j]) != '\n'; ++j); if (j >= *to) { (*buf)[*to = ++i] = '\0'; @@ -324,6 +325,13 @@ is_same(pam_handle_t *pamh UNUSED, const void *A, const char *b, return FALSE; } } + + /* Ok, we know that b is a substring from A and does not contain + wildcards, but now the length of both strings must be the same, + too. */ + if (strlen (a) != strlen(b)) + return FALSE; + return ( !len ); } diff --git a/Linux-PAM/modules/pam_umask/Makefile.am b/Linux-PAM/modules/pam_umask/Makefile.am index 56fa63b4..53a666aa 100644 --- a/Linux-PAM/modules/pam_umask/Makefile.am +++ b/Linux-PAM/modules/pam_umask/Makefile.am @@ -16,13 +16,13 @@ securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam +AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_umask.la +pam_umask_la_LIBADD = -L$(top_builddir)/libpam -lpam if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_umask/Makefile.in b/Linux-PAM/modules/pam_umask/Makefile.in index 45dd9509..54e8868f 100644 --- a/Linux-PAM/modules/pam_umask/Makefile.in +++ b/Linux-PAM/modules/pam_umask/Makefile.in @@ -64,7 +64,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_umask_la_LIBADD = +pam_umask_la_DEPENDENCIES = pam_umask_la_SOURCES = pam_umask.c pam_umask_la_OBJECTS = pam_umask.lo DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -252,9 +253,9 @@ TESTS = tst-pam_umask securelibdir = $(SECUREDIR) secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include -AM_LDFLAGS = -no-undefined -avoid-version -module \ - -L$(top_builddir)/libpam -lpam $(am__append_1) +AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1) securelib_LTLIBRARIES = pam_umask.la +pam_umask_la_LIBADD = -L$(top_builddir)/libpam -lpam @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_unix/Makefile.am b/Linux-PAM/modules/pam_unix/Makefile.am index 83b6c0b3..f9d77f4c 100644 --- a/Linux-PAM/modules/pam_unix/Makefile.am +++ b/Linux-PAM/modules/pam_unix/Makefile.am @@ -25,12 +25,12 @@ if HAVE_LIBCRACK AM_CFLAGS += -D"USE_CRACKLIB" endif -pam_unix_la_LDFLAGS = -no-undefined -avoid-version -module \ - @LIBCRACK@ @LIBNSL@ -L$(top_builddir)/libpam -lpam \ - @LIBCRYPT@ @LIBSELINUX@ +pam_unix_la_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING pam_unix_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif +pam_unix_la_LIBADD = @LIBCRACK@ @LIBNSL@ -L$(top_builddir)/libpam -lpam \ + @LIBCRYPT@ @LIBSELINUX@ securelib_LTLIBRARIES = pam_unix.la @@ -46,12 +46,12 @@ pam_unix_la_SOURCES = bigcrypt.c pam_unix_acct.c \ bigcrypt_SOURCES = bigcrypt.c bigcrypt_main.c bigcrypt_CFLAGS = $(AM_CFLAGS) -bigcrypt_LDFLAGS = @LIBCRYPT@ +bigcrypt_LDADD = @LIBCRYPT@ unix_chkpwd_SOURCES = unix_chkpwd.c md5_good.c md5_broken.c bigcrypt.c unix_chkpwd_CFLAGS = $(AM_CFLAGS) @PIE_CFLAGS@ -unix_chkpwd_LDFLAGS = @PIE_LDFLAGS@ -L$(top_builddir)/libpam -lpam \ - @LIBCRYPT@ @LIBSELINUX@ +unix_chkpwd_LDFLAGS = @PIE_LDFLAGS@ +unix_chkpwd_LDADD = -L$(top_builddir)/libpam -lpam @LIBCRYPT@ @LIBSELINUX@ if ENABLE_REGENERATE_MAN noinst_DATA = README diff --git a/Linux-PAM/modules/pam_unix/Makefile.in b/Linux-PAM/modules/pam_unix/Makefile.in index e3b34afb..c566522c 100644 --- a/Linux-PAM/modules/pam_unix/Makefile.in +++ b/Linux-PAM/modules/pam_unix/Makefile.in @@ -72,7 +72,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(sbindir)" \ "$(DESTDIR)$(man8dir)" securelibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(securelib_LTLIBRARIES) -pam_unix_la_LIBADD = +pam_unix_la_DEPENDENCIES = am_pam_unix_la_OBJECTS = bigcrypt.lo pam_unix_acct.lo pam_unix_auth.lo \ pam_unix_passwd.lo pam_unix_sess.lo support.lo yppasswd_xdr.lo \ md5_good.lo md5_broken.lo @@ -85,16 +85,16 @@ PROGRAMS = $(noinst_PROGRAMS) $(sbin_PROGRAMS) am_bigcrypt_OBJECTS = bigcrypt-bigcrypt.$(OBJEXT) \ bigcrypt-bigcrypt_main.$(OBJEXT) bigcrypt_OBJECTS = $(am_bigcrypt_OBJECTS) -bigcrypt_LDADD = $(LDADD) +bigcrypt_DEPENDENCIES = bigcrypt_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(bigcrypt_CFLAGS) $(CFLAGS) \ - $(bigcrypt_LDFLAGS) $(LDFLAGS) -o $@ + --mode=link $(CCLD) $(bigcrypt_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ am_unix_chkpwd_OBJECTS = unix_chkpwd-unix_chkpwd.$(OBJEXT) \ unix_chkpwd-md5_good.$(OBJEXT) \ unix_chkpwd-md5_broken.$(OBJEXT) \ unix_chkpwd-bigcrypt.$(OBJEXT) unix_chkpwd_OBJECTS = $(am_unix_chkpwd_OBJECTS) -unix_chkpwd_LDADD = $(LDADD) +unix_chkpwd_DEPENDENCIES = unix_chkpwd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(unix_chkpwd_CFLAGS) \ $(CFLAGS) $(unix_chkpwd_LDFLAGS) $(LDFLAGS) -o $@ @@ -209,6 +209,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -291,9 +292,11 @@ AM_CFLAGS = -I$(top_srcdir)/libpam/include \ -I$(top_srcdir)/libpamc/include \ -DCHKPWD_HELPER=\"$(sbindir)/unix_chkpwd\" $(am__append_1) \ $(am__append_2) -pam_unix_la_LDFLAGS = -no-undefined -avoid-version -module @LIBCRACK@ \ - @LIBNSL@ -L$(top_builddir)/libpam -lpam @LIBCRYPT@ \ - @LIBSELINUX@ $(am__append_3) +pam_unix_la_LDFLAGS = -no-undefined -avoid-version -module \ + $(am__append_3) +pam_unix_la_LIBADD = @LIBCRACK@ @LIBNSL@ -L$(top_builddir)/libpam -lpam \ + @LIBCRYPT@ @LIBSELINUX@ + securelib_LTLIBRARIES = pam_unix.la noinst_HEADERS = md5.h support.h yppasswd.h bigcrypt.h pam_unix_la_SOURCES = bigcrypt.c pam_unix_acct.c \ @@ -302,12 +305,11 @@ pam_unix_la_SOURCES = bigcrypt.c pam_unix_acct.c \ bigcrypt_SOURCES = bigcrypt.c bigcrypt_main.c bigcrypt_CFLAGS = $(AM_CFLAGS) -bigcrypt_LDFLAGS = @LIBCRYPT@ +bigcrypt_LDADD = @LIBCRYPT@ unix_chkpwd_SOURCES = unix_chkpwd.c md5_good.c md5_broken.c bigcrypt.c unix_chkpwd_CFLAGS = $(AM_CFLAGS) @PIE_CFLAGS@ -unix_chkpwd_LDFLAGS = @PIE_LDFLAGS@ -L$(top_builddir)/libpam -lpam \ - @LIBCRYPT@ @LIBSELINUX@ - +unix_chkpwd_LDFLAGS = @PIE_LDFLAGS@ +unix_chkpwd_LDADD = -L$(top_builddir)/libpam -lpam @LIBCRYPT@ @LIBSELINUX@ @ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README all: all-am diff --git a/Linux-PAM/modules/pam_unix/support.c b/Linux-PAM/modules/pam_unix/support.c index fc95f2c0..1472b966 100644 --- a/Linux-PAM/modules/pam_unix/support.c +++ b/Linux-PAM/modules/pam_unix/support.c @@ -665,12 +665,12 @@ int _unix_verify_password(pam_handle_t * pamh, const char *name if (on(UNIX_AUDIT, ctrl)) { /* this might be a typo and the user has given a password instead of a username. Careful with this. */ - pam_syslog(pamh, LOG_ALERT, + pam_syslog(pamh, LOG_WARNING, "check pass; user (%s) unknown", name); } else { name = NULL; if (on(UNIX_DEBUG, ctrl) || pwd == NULL) { - pam_syslog(pamh, LOG_ALERT, + pam_syslog(pamh, LOG_WARNING, "check pass; user unknown"); } else { /* don't log failure as another pam module can succeed */ diff --git a/Linux-PAM/modules/pam_unix/unix_chkpwd.c b/Linux-PAM/modules/pam_unix/unix_chkpwd.c index 236ad5c2..486a8498 100644 --- a/Linux-PAM/modules/pam_unix/unix_chkpwd.c +++ b/Linux-PAM/modules/pam_unix/unix_chkpwd.c @@ -179,7 +179,7 @@ static int _unix_verify_password(const char *name, const char *p, int nullok) } } if (pwd == NULL || salt == NULL) { - _log_err(LOG_ALERT, "check pass; user unknown"); + _log_err(LOG_WARNING, "check pass; user unknown"); p = NULL; return PAM_USER_UNKNOWN; } diff --git a/Linux-PAM/modules/pam_userdb/Makefile.in b/Linux-PAM/modules/pam_userdb/Makefile.in index 1c439359..2698b22b 100644 --- a/Linux-PAM/modules/pam_userdb/Makefile.in +++ b/Linux-PAM/modules/pam_userdb/Makefile.in @@ -179,6 +179,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/modules/pam_warn/Makefile.in b/Linux-PAM/modules/pam_warn/Makefile.in index aa0c0adf..f2a3d051 100644 --- a/Linux-PAM/modules/pam_warn/Makefile.in +++ b/Linux-PAM/modules/pam_warn/Makefile.in @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/modules/pam_wheel/Makefile.in b/Linux-PAM/modules/pam_wheel/Makefile.in index 2dd057d3..0f7b9db6 100644 --- a/Linux-PAM/modules/pam_wheel/Makefile.in +++ b/Linux-PAM/modules/pam_wheel/Makefile.in @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/modules/pam_xauth/Makefile.in b/Linux-PAM/modules/pam_xauth/Makefile.in index 944d6778..6e5ea64e 100644 --- a/Linux-PAM/modules/pam_xauth/Makefile.in +++ b/Linux-PAM/modules/pam_xauth/Makefile.in @@ -175,6 +175,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ diff --git a/Linux-PAM/modules/pam_xauth/pam_xauth.c b/Linux-PAM/modules/pam_xauth/pam_xauth.c index 3772bd06..1135d4b7 100644 --- a/Linux-PAM/modules/pam_xauth/pam_xauth.c +++ b/Linux-PAM/modules/pam_xauth/pam_xauth.c @@ -63,6 +63,11 @@ #define XAUTHDEF ".Xauthority" #define XAUTHTMP ".xauthXXXXXX" +/* Hurd compatibility */ +#ifndef PATH_MAX +#define PATH_MAX 4096 +#endif + /* Possible paths to xauth executable */ static const char * const xauthpaths[] = { #ifdef PAM_PATH_XAUTH @@ -573,6 +578,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED, "can't set environment variable '%s'", xauthority); putenv (xauthority); /* The environment owns this string now. */ + xauthority = NULL; /* Don't free environment variables. */ /* set $DISPLAY in pam handle to make su - work */ { diff --git a/Linux-PAM/po/Linux-PAM.pot b/Linux-PAM/po/Linux-PAM.pot index 093b77f2..d0b7760a 100644 --- a/Linux-PAM/po/Linux-PAM.pot +++ b/Linux-PAM/po/Linux-PAM.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -25,7 +25,7 @@ msgstr "" msgid "...Sorry, your time is up!\n" msgstr "" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "" @@ -166,64 +166,64 @@ msgstr "" msgid "Unknown PAM error" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "" @@ -270,7 +270,7 @@ msgstr "" msgid "Welcome to your new account!" msgstr "" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "" diff --git a/Linux-PAM/po/ar.gmo b/Linux-PAM/po/ar.gmo Binary files differindex c3bafbf2..28d1e780 100644 --- a/Linux-PAM/po/ar.gmo +++ b/Linux-PAM/po/ar.gmo diff --git a/Linux-PAM/po/ar.po b/Linux-PAM/po/ar.po index 75759354..47543914 100644 --- a/Linux-PAM/po/ar.po +++ b/Linux-PAM/po/ar.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: @PACKAGE@\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2001-07-13 15:36+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -24,7 +24,7 @@ msgstr "...الوقت ينفد...\n" msgid "...Sorry, your time is up!\n" msgstr "...عذرًا، انتهى الوقت!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "محادثة خاطئة (%d)\n" @@ -165,64 +165,64 @@ msgstr "يحتاج التطبيق إلى استدعاء libpam مرة أخرى" msgid "Unknown PAM error" msgstr "خطأ PAM غير معروف" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "كلمة سر %s%s الجديدة: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "أعد كتابة كلمة سر %s%s الجديدة: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "عذرًا، يوجد عدم تطابق بين كلمات السر." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "لا يوجد اختلاف عن كلمة السر القديمة" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "كلمة سر يمكن قراءتها من الجهتين" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "لم يتم سوى تغيير حالة الأحرف" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "كلمة السر الجديدة شديدة الشبه بكلمة السر القديمة" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "كلمة السر شديدة البساطة" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "كلمة مرور ملتفة" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "كلمة السر مستخدمة بالفعل" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "لم يتم إدخال كلمة السر" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "لم يتم تغيير كلمة السر" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "كلمة سر سيئة: %s" @@ -269,7 +269,7 @@ msgstr "تسجيل الدخول الأخير:%s%s%s" msgid "Welcome to your new account!" msgstr "مرحبًا بك في حسابك الجديد!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "مرات تسجيل دخول كثيرة جدًا لـ '%s'." diff --git a/Linux-PAM/po/ca.gmo b/Linux-PAM/po/ca.gmo Binary files differindex be7fc585..9b93a7b6 100644 --- a/Linux-PAM/po/ca.gmo +++ b/Linux-PAM/po/ca.gmo diff --git a/Linux-PAM/po/ca.po b/Linux-PAM/po/ca.po index e50482dc..f5f5d247 100644 --- a/Linux-PAM/po/ca.po +++ b/Linux-PAM/po/ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: @PACKAGE@\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2007-02-22 20:57+0100\n" "Last-Translator: Anna <blabla@blabla.es>\n" "Language-Team: Catalan\n" @@ -25,7 +25,7 @@ msgstr "...S'acaba el temps...\n" msgid "...Sorry, your time is up!\n" msgstr "...S'ha acabat el temps.\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "conversa errònia (%d)\n" @@ -167,64 +167,64 @@ msgstr "L'aplicació necessita cridar novament libpam" msgid "Unknown PAM error" msgstr "Error de PAM desconegut" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nova contrasenya de %s%s: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Torneu a escriure la nova contrasenya de %s%s: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Les contrasenyes no coincideixen." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "és la mateixa que l'antiga" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "és un palíndrom" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "només canvien les majúscules i minúscules" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "és massa semblant a l'antiga" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "és massa senzilla" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "està girada" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "ja s'ha fet servir" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "No s'ha proporcionat cap contrasenya" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "No s'ha canviat la contrasenya" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "CONTRASENYA INCORRECTA: %s" @@ -271,7 +271,7 @@ msgstr "Darrera entrada:%s%s%s" msgid "Welcome to your new account!" msgstr "Benvingut al vostre nou compte." -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Massa entrades per a '%s'." diff --git a/Linux-PAM/po/cs.gmo b/Linux-PAM/po/cs.gmo Binary files differindex 54679ecb..c21ae68a 100644 --- a/Linux-PAM/po/cs.gmo +++ b/Linux-PAM/po/cs.gmo diff --git a/Linux-PAM/po/cs.po b/Linux-PAM/po/cs.po index fea9c755..a6430727 100644 --- a/Linux-PAM/po/cs.po +++ b/Linux-PAM/po/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2007-01-17 11:54+0100\n" "Last-Translator: Tomas Mraz <t8m@centrum.cz>\n" "Language-Team: cs_CZ <cs@li.org>\n" @@ -25,7 +25,7 @@ msgstr "..Odpočet byl spuštěn...\n" msgid "...Sorry, your time is up!\n" msgstr "...Čas vypršel!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "nesprávná konverzace (%d)\n" @@ -166,64 +166,64 @@ msgstr "Aplikace musí znovu zavolat libpam" msgid "Unknown PAM error" msgstr "Neznámá chyba PAM" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nové %s%sheslo: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Opakujte nové %s%sheslo: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Hesla se neshodují." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "je stejné jako předcházející" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "je palindrom" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "pouze mění velikost" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "je příliš podobné předcházejícímu" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "je příliš jednoduché" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "je posunuté" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "již bylo použito" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Nezadáno heslo" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Heslo nebylo změněno" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ŠPATNÉ HESLO: %s" @@ -270,7 +270,7 @@ msgstr "Poslední přihlášení:%s%s%s" msgid "Welcome to your new account!" msgstr "Vítejte na vašem novém účtu!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Příliš mnoho přihlášení pro '%s'." diff --git a/Linux-PAM/po/da.gmo b/Linux-PAM/po/da.gmo Binary files differindex c50020e2..ccd78491 100644 --- a/Linux-PAM/po/da.gmo +++ b/Linux-PAM/po/da.gmo diff --git a/Linux-PAM/po/da.po b/Linux-PAM/po/da.po index b9a44d5b..57adba98 100644 --- a/Linux-PAM/po/da.po +++ b/Linux-PAM/po/da.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: @PACKAGE@\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2005-08-16 20:00+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -26,7 +26,7 @@ msgstr "...Tiden er ved at udløbe...\n" msgid "...Sorry, your time is up!\n" msgstr "...Din tid er desværre gået!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "konversationsfejl (%d)\n" @@ -170,64 +170,64 @@ msgstr "Programmet skal kalde libpam igen" msgid "Unknown PAM error" msgstr "Ukendt PAM-fejl" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Ny %s%sadgangskode: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Genindtast ny %s%sadgangskode: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Adgangskoderne stemmer desværre ikke overens." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "er den samme som den gamle" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "det staves ens forfra og bagfra" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "kun forskel i store/små bogstaver" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "ligner for meget den gamle" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "er for enkel" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "er roteret" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "er allerede blevet brugt" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Der er ikke angivet nogen adgangskode" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Adgangskoden er uændret" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "DÅRLIG ADGANGSKODE: %s" @@ -274,7 +274,7 @@ msgstr "Sidste login:%s%s%s" msgid "Welcome to your new account!" msgstr "Velkommen til din nye konto!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Der er for mange logins til '%s'." diff --git a/Linux-PAM/po/de.gmo b/Linux-PAM/po/de.gmo Binary files differindex cdee7aac..8e89864b 100644 --- a/Linux-PAM/po/de.gmo +++ b/Linux-PAM/po/de.gmo diff --git a/Linux-PAM/po/de.po b/Linux-PAM/po/de.po index 3f22f8fb..709fbb0a 100644 --- a/Linux-PAM/po/de.po +++ b/Linux-PAM/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-12-18 15:50+01:00\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -24,7 +24,7 @@ msgstr "...Time läuft ab...\n" msgid "...Sorry, your time is up!\n" msgstr "...Ihre Zeit ist abgelaufen.\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "fehlerhafte Kommunikation (%d)\n" @@ -169,64 +169,64 @@ msgstr "Anwendung muss libpam wieder aufrufen" msgid "Unknown PAM error" msgstr "Unbekannter PAM-Fehler" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Geben sie ein neues %s%sPasswort ein: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Geben sie das neue %s%sPasswort erneut ein: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Die Passwörter stimmen nicht überein." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "ist das gleiche wie das Alte" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "ist ein Palindrome" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "nur Änderungen bei der Groß-/Kleinschreibung" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "ist dem alten zu ähnlich" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "ist zu einfach" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "wurde gedreht" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "Nicht genug unterschiedliche Arten von Zeichen" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "es wurde bereits verwendet" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Kein Passwort angegeben" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Passwort nicht geändert" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "Schlechtes Passwort: %s" @@ -273,7 +273,7 @@ msgstr "Letzte Anmeldung:%s%s%s" msgid "Welcome to your new account!" msgstr "Willkommen in Ihrem neuen Account!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Zu viele Anmeldungen für '%s'." diff --git a/Linux-PAM/po/es.gmo b/Linux-PAM/po/es.gmo Binary files differindex c3a7ac02..f10f341f 100644 --- a/Linux-PAM/po/es.gmo +++ b/Linux-PAM/po/es.gmo diff --git a/Linux-PAM/po/es.po b/Linux-PAM/po/es.po index 520c8169..a065c70f 100644 --- a/Linux-PAM/po/es.po +++ b/Linux-PAM/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-04 08:32+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -23,7 +23,7 @@ msgstr "...El tiempo se está agotando...\n" msgid "...Sorry, your time is up!\n" msgstr "...Lo sentimos, el tiempo se ha agotado.\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "conversación incorrecta (%d)\n" @@ -167,64 +167,64 @@ msgstr "La aplicación debe llamar a libpam de nuevo" msgid "Unknown PAM error" msgstr "Error desconocido de PAM" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nueva %s%scontraseña:" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Vuelva a escribir la nueva %s%scontraseña:" -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Las contraseñas no coinciden." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "es igual que la antigua" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "es un palíndromo" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "sólo hay cambios de minúsculas y mayúsculas" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "es demasiado similar a la antigua" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "es demasiado sencilla" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "es igual pero al revés" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "ya se ha utilizado" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "No se ha proporcionado ninguna contraseña" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "La contraseña no ha cambiado" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "CONTRASEÑA INCORRECTA: %s" @@ -271,7 +271,7 @@ msgstr "Último inicio de sesión:%s%s%s" msgid "Welcome to your new account!" msgstr "¡Bienvenido a su nueva cuenta!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Hay demasiados inicios de sesión para \"%s\"." diff --git a/Linux-PAM/po/fi.gmo b/Linux-PAM/po/fi.gmo Binary files differindex aed23f77..0e0d6d64 100644 --- a/Linux-PAM/po/fi.gmo +++ b/Linux-PAM/po/fi.gmo diff --git a/Linux-PAM/po/fi.po b/Linux-PAM/po/fi.po index a7438e27..3582e3d9 100644 --- a/Linux-PAM/po/fi.po +++ b/Linux-PAM/po/fi.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-04 08:30+0200\n" "Last-Translator: Jyri Palokangas <jmp@netti.fi>\n" "Language-Team: <yast-trans-fi@kotoistaminen.novell.fi>\n" @@ -27,7 +27,7 @@ msgstr "...Aika on loppumassa...\n" msgid "...Sorry, your time is up!\n" msgstr "...Aikasi on loppunut!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "virheellinen keskustelu (%d)\n" @@ -168,64 +168,64 @@ msgstr "Sovelluksen tarvitsee kutsua uudelleen libpam:ia" msgid "Unknown PAM error" msgstr "Tuntematon PAM-virhe" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Uusi %s%ssalasana: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Anna uudelleen uusi %s%ssalasana: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Salasanat eivät täsmää." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "on sama kuin vanha" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "on palindromi" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "vain kirjainkoko muutos" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "on liian samankaltainen vanhan kanssa" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "on liian yksinkertainen" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "on kierrätetty" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "on jo käytetty" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Et antanut salasanaa" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Salasanaa ei vaihdettu" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "HUONO SALASANA: %s" @@ -272,7 +272,7 @@ msgstr "Viimeinen kirjautuminen:%s%s%s" msgid "Welcome to your new account!" msgstr "Tervetuloa uudella käyttäjätilillä!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Liian monta kirjautumista '%s'." diff --git a/Linux-PAM/po/fr.gmo b/Linux-PAM/po/fr.gmo Binary files differindex 963bf867..38eda410 100644 --- a/Linux-PAM/po/fr.gmo +++ b/Linux-PAM/po/fr.gmo diff --git a/Linux-PAM/po/fr.po b/Linux-PAM/po/fr.po index e21b4ef0..f6158657 100644 --- a/Linux-PAM/po/fr.po +++ b/Linux-PAM/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-04 08:29+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -23,7 +23,7 @@ msgstr "...Temps bientôt écoulé...\n" msgid "...Sorry, your time is up!\n" msgstr "...Votre temps est épuisé !\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "erreurs de conversation (%d)\n" @@ -172,64 +172,64 @@ msgstr "L'application doit appeler à nouveau libpam" msgid "Unknown PAM error" msgstr "Erreur PAM inconnue" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nouveau %s%smot de passe : " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Retapez le nouveau %s%smot de passe : " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Les mots de passe ne correspondent pas." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "est identique à l'ancien" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "est un palindrome" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "changement de casse uniquement" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "ressemble trop à l'ancien" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "est trop simple" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "est inversé" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "a déjà été utilisé" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Aucun mot de passe fourni" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Mot de passe inchangé" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "MOT DE PASSE INCORRECT : %s" @@ -276,7 +276,7 @@ msgstr "Dernière connexion :%s%s%s" msgid "Welcome to your new account!" msgstr "Bienvenue sur votre nouveau compte !" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Trop de connexions pour '%s'." diff --git a/Linux-PAM/po/hu.gmo b/Linux-PAM/po/hu.gmo Binary files differindex 9e4a9d22..a98e9404 100644 --- a/Linux-PAM/po/hu.gmo +++ b/Linux-PAM/po/hu.gmo diff --git a/Linux-PAM/po/hu.po b/Linux-PAM/po/hu.po index eafd0d6c..cc066b85 100644 --- a/Linux-PAM/po/hu.po +++ b/Linux-PAM/po/hu.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: hu.new\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2007-02-15 17:40+0100\n" "Last-Translator: Kalman Kemenczy <kkemenczy@novell.com>\n" "Language-Team: <hu@li.org>\n" @@ -29,7 +29,7 @@ msgstr "...Kifut az időből...\n" msgid "...Sorry, your time is up!\n" msgstr "...Elnézést, de az idő lejárt!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "hibás beszélgetés (%d)\n" @@ -173,64 +173,64 @@ msgstr "Az alkalmazásnak újra meg kell hívnia a libpam modult" msgid "Unknown PAM error" msgstr "Ismeretlen PAM-hiba" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Az új %s%sjelszó: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Írja be újra az új %s%sjelszót: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Sajnálom, de a jelszavak nem egyeznek." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "ugyanaz, mint a régi" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "A jelszó egy palindrom" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "A jelszó csak a kis/nagybetűkben változott" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "A jelszó túl hasonló a régihez" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "A jelszó túl egyszerű" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "A jelszó át lett forgatva" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "A jelszót már használta. Válasszon egy másikat." -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Nem lett megadva jelszó" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "A jelszó nem változott" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ROSSZ JELSZÓ: %s" @@ -277,7 +277,7 @@ msgstr "Utolsó belépés:%s%s%s" msgid "Welcome to your new account!" msgstr "Üdvözöljük az új fiókjában!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Túl sok belépés '%s' részéről." diff --git a/Linux-PAM/po/it.gmo b/Linux-PAM/po/it.gmo Binary files differindex 751f03ea..9689c241 100644 --- a/Linux-PAM/po/it.gmo +++ b/Linux-PAM/po/it.gmo diff --git a/Linux-PAM/po/it.po b/Linux-PAM/po/it.po index f2889d4d..6ee6f0ce 100644 --- a/Linux-PAM/po/it.po +++ b/Linux-PAM/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 22:05+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -23,7 +23,7 @@ msgstr "...Il tempo sta per scadere...\n" msgid "...Sorry, your time is up!\n" msgstr "...Tempo scaduto!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "conversazione errata (%d)\n" @@ -169,64 +169,64 @@ msgstr "L'applicazione richiede chiamata a libpam" msgid "Unknown PAM error" msgstr "Errore PAM sconosciuto" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nuova parola d'ordine%s%s:" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Reimmettere la nuova parola d'ordine%s%s:" -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Le parole d'ordine non corrispondono." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "è la stessa di quella precedente" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "è un palindromo" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "cambiano solo le maiuscole/minuscole" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "è troppo simile alla precedente" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "è troppo semplice" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "è alternata" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "è già stata utilizzata" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Nessuna parola d'ordine fornita" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Parola d'ordine non modificata" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "PAROLA D'ORDINE ERRTATA: %s" @@ -273,7 +273,7 @@ msgstr "Ultimo login:%s%s%s" msgid "Welcome to your new account!" msgstr "Nuovo conto." -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Ci sono troppi login per '%s'." diff --git a/Linux-PAM/po/ja.gmo b/Linux-PAM/po/ja.gmo Binary files differindex fe96be73..019e05b3 100644 --- a/Linux-PAM/po/ja.gmo +++ b/Linux-PAM/po/ja.gmo diff --git a/Linux-PAM/po/ja.po b/Linux-PAM/po/ja.po index 080d8b01..04abc750 100644 --- a/Linux-PAM/po/ja.po +++ b/Linux-PAM/po/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 22:00+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -23,7 +23,7 @@ msgstr "...時間が切れかかっています...\n" msgid "...Sorry, your time is up!\n" msgstr "...時間切れです。\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "誤った会話(%d)\n" @@ -164,64 +164,64 @@ msgstr "アプリケーションはlibpamを再び呼び出す必要がありま msgid "Unknown PAM error" msgstr "不明なPAMエラー" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "新しい%s%sパスワード:" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "新しい%s%sパスワードを再入力してください:" -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "パスワードが一致しません。" -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "パスワードが古いものと同じです。" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "前後どちらから読んでも同じパスワードです。" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "大文字小文字を変えただけのパスワード" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "古いものと似ています" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "簡単すぎます" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "回転しています" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "パスワードはすでに使用されています。" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "パスワードが与えられていません" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "パスワードが変更されていません" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "よくないパスワード: %s" @@ -268,7 +268,7 @@ msgstr "最終ログイン:%s%s%s" msgid "Welcome to your new account!" msgstr "新しいアカウントへようこそ。" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "'%s'のログイン数が多すぎます。" diff --git a/Linux-PAM/po/km.gmo b/Linux-PAM/po/km.gmo Binary files differindex 87624791..2a592ce3 100644 --- a/Linux-PAM/po/km.gmo +++ b/Linux-PAM/po/km.gmo diff --git a/Linux-PAM/po/km.po b/Linux-PAM/po/km.po index c186a093..54f3ffb9 100644 --- a/Linux-PAM/po/km.po +++ b/Linux-PAM/po/km.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-03-17 10:32+0700\n" "Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n" "Language-Team: Khmer <support@khmeros.info>\n" @@ -25,7 +25,7 @@ msgstr "...អស់ពេល...\n" msgid "...Sorry, your time is up!\n" msgstr "...សូមទោស អ្នកអស់ពេលហើយ !\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "សន្ទនាច្រឡំ (%d)\n" @@ -169,64 +169,64 @@ msgstr "កម្មវិធីត្រូវតែហៅ libpam ម msgid "Unknown PAM error" msgstr "មិនស្គាល់កំហុស PAM" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "ពាក្យសម្ងាត់ %s%s ថ្មី ៖" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "វាយពាក្យសម្ងាត់ %s%s ថ្មីឡើងវិញ ៖" -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "សូមទោស ពាក្យសម្ងាត់មិនដូចគ្នាឡើយ ។" -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "ដូចគ្នានឹងពាក្យសម្ងាត់ចាស់" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "ត្រឡប់ចុះឡើង" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "គ្រាន់តែផ្លាស់ប្ដូរលក្ខណៈអក្សរប៉ុណ្ណោះ" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "ស្រដៀងគ្នាណាស់នឹងពាក្យសម្ងាត់ចាស់" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "សាមញ្ញពេក" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "បានបង្វិល" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "បានប្រើរួចហើយ" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "មិនបានផ្ដល់ពាក្យសម្ងាត់" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "ពាក្យសម្ងាត់មិនបានផ្លាស់ប្ដូរឡើយ" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ពាក្យសម្ងាត់មិនល្អ ៖ %s" @@ -273,7 +273,7 @@ msgstr "ចូលចុងក្រោយ ៖%s%s%s" msgid "Welcome to your new account!" msgstr "សូមស្វាគមន៍មកកាន់គណនីថ្មីរបស់អ្នក !" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "មានការចូលច្រើនពេកសម្រាប់ '%s' ។" diff --git a/Linux-PAM/po/nb.gmo b/Linux-PAM/po/nb.gmo Binary files differindex 770b5854..2e48b717 100644 --- a/Linux-PAM/po/nb.gmo +++ b/Linux-PAM/po/nb.gmo diff --git a/Linux-PAM/po/nb.po b/Linux-PAM/po/nb.po index 004c71bc..cdf9e728 100644 --- a/Linux-PAM/po/nb.po +++ b/Linux-PAM/po/nb.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 22:04+0200\n" "Last-Translator: Olav Pettershagen <olav.pet@online.no>\n" "Language-Team: <nb@li.org>\n" @@ -23,7 +23,7 @@ msgstr "...Tiden er i ferd med utløpe..\n" msgid "...Sorry, your time is up!\n" msgstr "...Beklager, tiden er utløpt!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "mislykket dialog (%d)\n" @@ -164,64 +164,64 @@ msgstr "Programmet må spørre libpam på nytt" msgid "Unknown PAM error" msgstr "Ukjent PAM-feil" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nytt %s%spassord: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Bekreft nytt %s%s-passord: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Beklager, ikke samsvar mellom passord." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "er det samme som det gamle" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "er et palindrom" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "kun endring av små/store bokstaver" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "er for likt det gamle" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "er for enkelt" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "er rotert" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "er allerede benyttet" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Passord ikke angitt" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Passord uendret" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "SVAKT PASSORD: %s" @@ -268,7 +268,7 @@ msgstr "Siste innlogging:%s%s%s" msgid "Welcome to your new account!" msgstr "Velkommen til din nye konto!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "For mange innlogginger for '%s'." diff --git a/Linux-PAM/po/nl.gmo b/Linux-PAM/po/nl.gmo Binary files differindex 9fe82d7a..04da1d0a 100644 --- a/Linux-PAM/po/nl.gmo +++ b/Linux-PAM/po/nl.gmo diff --git a/Linux-PAM/po/nl.po b/Linux-PAM/po/nl.po index b4caac18..61c325b9 100644 --- a/Linux-PAM/po/nl.po +++ b/Linux-PAM/po/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.nl\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 22:02+0200\n" "Last-Translator: Rinse de Vries <rinsedevries@kde.nl>\n" "Language-Team: Dutch <kde-i18n-nl@kde.org>\n" @@ -26,7 +26,7 @@ msgstr "...De tijd is aan het verlopen...\n" msgid "...Sorry, your time is up!\n" msgstr "...Helaas, uw tijd is verlopen!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "foute conversatie (%d)\n" @@ -167,64 +167,64 @@ msgstr "Toepassing dient libpam nogmaals aan te roepen" msgid "Unknown PAM error" msgstr "Onbekende PAM-fout" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nieuw %s%s-wachtwoord: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Nieuw %s%s-wachtwoord herhalen: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Helaas, wachtwoorden komen niet overeen." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "is hetzelfde als het oude wachtwoord." -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "is een palindrome" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "alleen gebruik hoofd/kleine letters gewijzigd" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "lijkt teveel op oud wachtwoord" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "is te eenvoudig" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "is omgedraaid" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "is al gebruikt" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Geen wachtwoord opgegeven" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Wachtwoord is niet gewijzigd" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "SLECHT WACHTWOORD: %s" @@ -271,7 +271,7 @@ msgstr "Laatste keer aangemeld: %s%s%s" msgid "Welcome to your new account!" msgstr "Welkom bij uw nieuwe account!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Te vaak aangemeld met '%s'." diff --git a/Linux-PAM/po/pa.gmo b/Linux-PAM/po/pa.gmo Binary files differindex 8d81b6cc..7188fb13 100644 --- a/Linux-PAM/po/pa.gmo +++ b/Linux-PAM/po/pa.gmo diff --git a/Linux-PAM/po/pa.po b/Linux-PAM/po/pa.po index 3bf63135..28bf5408 100644 --- a/Linux-PAM/po/pa.po +++ b/Linux-PAM/po/pa.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.pa\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2005-08-06 08:34+0530\n" "Last-Translator: Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>\n" "Language-Team: Panjabi <pa@li.org>\n" @@ -26,7 +26,7 @@ msgstr "...ਸਮਾਂ ਸਮਾਪਤ ਹੋ ਰਿਹਾ ਹੈ...\n" msgid "...Sorry, your time is up!\n" msgstr "...ਅਫ਼ਸੋਸ, ਤੁਹਾਡਾ ਸਮਾਂ ਸਮਾਪਤ ਹੋ ਗਿਆ ਹੈ!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "" @@ -168,66 +168,66 @@ msgstr "" msgid "Unknown PAM error" msgstr "ਅਣਜਾਣ PAM ਗਲਤੀ" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, fuzzy, c-format msgid "New %s%spassword: " msgstr "ਗੁਪਤ-ਕੋਡ ਨਾ-ਤਬਦੀਲ ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, fuzzy, c-format msgid "Retype new %s%spassword: " msgstr "ਨਵਾਂ STRESS ਗੁਪਤ-ਕੋਡ ਮੁੜ-ਲਿਖੋ: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 #, fuzzy msgid "Sorry, passwords do not match." msgstr "NIS ਗੁਪਤ-ਕੋਡ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ ਹੈ।" -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 #, fuzzy msgid "has been already used" msgstr "ਗੁਪਤ-ਕੋਡ ਪਹਿਲਾਂ ਵੀ ਵਰਤਿਆ ਗਿਆ ਹੈ। ਵੱਖਰਾ ਚੁਣੋ।" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "ਕੋਈ ਗੁਪਤ-ਕੋਡ ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "ਗੁਪਤ-ਕੋਡ ਨਾ-ਤਬਦੀਲ ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "" @@ -274,7 +274,7 @@ msgstr "" msgid "Welcome to your new account!" msgstr "" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "" diff --git a/Linux-PAM/po/pl.gmo b/Linux-PAM/po/pl.gmo Binary files differindex 3cc42eb7..3d01daae 100644 --- a/Linux-PAM/po/pl.gmo +++ b/Linux-PAM/po/pl.gmo diff --git a/Linux-PAM/po/pl.po b/Linux-PAM/po/pl.po index ecf522d9..6b8a8f01 100644 --- a/Linux-PAM/po/pl.po +++ b/Linux-PAM/po/pl.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 21:58+0200\n" "Last-Translator: Wojciech Kapusta <wojciech@aviary.pl>\n" "Language-Team: <pl@li.org>\n" @@ -28,7 +28,7 @@ msgstr "...czas mija...\n" msgid "...Sorry, your time is up!\n" msgstr "... czas minął.\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "błędna konwersacja (%d)\n" @@ -169,64 +169,64 @@ msgstr "Aplikacja musi jeszcze raz wywołać libpam" msgid "Unknown PAM error" msgstr "Nieznany błąd PAM" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nowe hasło %s%s: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Powtórzenie nowego hasła %s%s: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Podane hasła nie są zgodne." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "jest identyczne ze starym" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "jest palindromem" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "ma zmienioną tylko wielkość znaków" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "jest zbyt podobne do poprzedniego" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "jest zbyt proste" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "jest obrócone" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "było już używane" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Nie podano hasła" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Hasło nie zmienione" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ZŁE HASŁO: %s" @@ -273,7 +273,7 @@ msgstr "Ostatnie logowanie:%s%s%s" msgid "Welcome to your new account!" msgstr "Witaj na swoim nowym koncie!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Zbyt wiele prób zalogowania na '%s'." diff --git a/Linux-PAM/po/pt.gmo b/Linux-PAM/po/pt.gmo Binary files differindex 1a7914e1..d61de5a9 100644 --- a/Linux-PAM/po/pt.gmo +++ b/Linux-PAM/po/pt.gmo diff --git a/Linux-PAM/po/pt.po b/Linux-PAM/po/pt.po index 932b0878..aed050f1 100644 --- a/Linux-PAM/po/pt.po +++ b/Linux-PAM/po/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.pt\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 21:54+0200\n" "Last-Translator: Antonio Cardoso Martins <digiplan@netvisao.pt>\n" "Language-Team: portuguese\n" @@ -24,7 +24,7 @@ msgstr "...O tempo está a esgotar-se...\n" msgid "...Sorry, your time is up!\n" msgstr "...Lamento, o seu tempo esgotou-se!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "conversação errónea (%d)\n" @@ -166,64 +166,64 @@ msgstr "A aplicação necessita de invocar o libpam novamente" msgid "Unknown PAM error" msgstr "Erro PAM desconhecido" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nova %s%spalavra passe: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Digite novamente a nova %s%spalavra passe: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Lamento, as palavras passe não coincidem." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "é igual à anterior" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "é um palíndrome" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "apenas muda a capitulação" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "é demasiado similar à anterior" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "é demasiado simples" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "é rodada" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "já foi utilizada" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Não foi fornecida uma palavra passe" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Palavra passe inalterada" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "MÁ PALAVRA PASSE: %s" @@ -270,7 +270,7 @@ msgstr "Último início de sessão: %s%s%s" msgid "Welcome to your new account!" msgstr "Bemvindo à sua nova conta!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Demasiados inícios de sessão para '%s'." diff --git a/Linux-PAM/po/pt_BR.gmo b/Linux-PAM/po/pt_BR.gmo Binary files differindex f8a9e214..bc7b2563 100644 --- a/Linux-PAM/po/pt_BR.gmo +++ b/Linux-PAM/po/pt_BR.gmo diff --git a/Linux-PAM/po/pt_BR.po b/Linux-PAM/po/pt_BR.po index d47fd147..8fff4eef 100644 --- a/Linux-PAM/po/pt_BR.po +++ b/Linux-PAM/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 21:55+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -23,7 +23,7 @@ msgstr "...Tempo acabando...\n" msgid "...Sorry, your time is up!\n" msgstr "...Tempo contando.\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "conversação errônea (%d)\n" @@ -164,64 +164,64 @@ msgstr "O aplicativo precisa chamar libpam novamente" msgid "Unknown PAM error" msgstr "Erro desconhecido no PAM" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nova %s%ssenha:" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Redigite a nova %s%ssenha:" -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "As senhas não são iguais." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "é igual à antiga senha" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "é um palíndromo" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "mudou apenas maiúsculas/minúsculas" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "é muito semelhante à antiga" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "é simples demais" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "foi invertida" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "já foi usada" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Nenhuma senha informada" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Senha inalterada" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "SENHA INCORRETA: %s" @@ -268,7 +268,7 @@ msgstr "Último login:%s%s%s" msgid "Welcome to your new account!" msgstr "Bem-vindo à sua nova conta!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Há logins demais para '%s'." diff --git a/Linux-PAM/po/ru.gmo b/Linux-PAM/po/ru.gmo Binary files differindex de6ea1e0..91d36c12 100644 --- a/Linux-PAM/po/ru.gmo +++ b/Linux-PAM/po/ru.gmo diff --git a/Linux-PAM/po/ru.po b/Linux-PAM/po/ru.po index aa18bccb..fc3a1b7d 100644 --- a/Linux-PAM/po/ru.po +++ b/Linux-PAM/po/ru.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: @PACKAGE@\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-01-04 08:58+0100\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -26,7 +26,7 @@ msgstr "...Время истекает...\n" msgid "...Sorry, your time is up!\n" msgstr "...Извините, ваше время истекло!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "ошибочный диалог (%d)\n" @@ -172,66 +172,66 @@ msgstr "Приложение должно повторно вызвать libpam msgid "Unknown PAM error" msgstr "Неизвестная ошибка PAM" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Новый пароль %s%s: " # Keep the newlines and spaces after ':'! -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Повторите ввод нового пароля %s%s: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Извините, но пароли не совпадают." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "совпадает со старым" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "является палиндромом" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "изменения только в регистре" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "слишком похож на старый" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "слишком простой" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "является результатом чередования" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "уже был использован" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Пароль не указан" # password dialog title -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Пароль не изменен" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "НЕВЕРНЫЙ ПАРОЛЬ: %s" @@ -278,7 +278,7 @@ msgstr "Последний вход в систему:%s%s%s" msgid "Welcome to your new account!" msgstr "Добро пожаловать в новую учетную запись!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Слишком много регистраций в системе для '%s'." diff --git a/Linux-PAM/po/sv.gmo b/Linux-PAM/po/sv.gmo Binary files differindex 29cf6a0b..20cb4ab3 100644 --- a/Linux-PAM/po/sv.gmo +++ b/Linux-PAM/po/sv.gmo diff --git a/Linux-PAM/po/sv.po b/Linux-PAM/po/sv.po index ce7df15d..44223348 100644 --- a/Linux-PAM/po/sv.po +++ b/Linux-PAM/po/sv.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: @PACKAGE@\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2005-09-18 19:09+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -26,7 +26,7 @@ msgstr "...Tiden är nästan slut...\n" msgid "...Sorry, your time is up!\n" msgstr "...Tiden är ute!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "felaktigt samtal (%d)\n" @@ -169,65 +169,65 @@ msgstr "Programmet måste anropa libpam på nytt" msgid "Unknown PAM error" msgstr "Okänt PAM-fel" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Nytt lösenord för %s%s: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Ange det nya %s%s-lösenordet igen: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Lösenorden stämmer inte överens." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "är identiskt med det gamla" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "är en palindrom" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "endast ändringar i skiftläget" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "är för likt det gamla" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "är för enkelt" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "är roterat" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "har redan använts" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Inget lösenord har angetts" # password dialog title -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Lösenordet har inte ändrats" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "DÅLIGT LÖSENORD: %s" @@ -274,7 +274,7 @@ msgstr "Senaste inloggningen:%s%s%s" msgid "Welcome to your new account!" msgstr "Välkommen till ditt nya konto!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "För många inloggningar för %s." diff --git a/Linux-PAM/po/tr.gmo b/Linux-PAM/po/tr.gmo Binary files differindex dc1cdd32..a47b164c 100644 --- a/Linux-PAM/po/tr.gmo +++ b/Linux-PAM/po/tr.gmo diff --git a/Linux-PAM/po/tr.po b/Linux-PAM/po/tr.po index 1a13389f..3c8c77ed 100644 --- a/Linux-PAM/po/tr.po +++ b/Linux-PAM/po/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 19:00+0200\n" "Last-Translator: Koray Löker <loker@pardus.org.tr>\n" "Language-Team: Türkçe <tr@li.org>\n" @@ -25,7 +25,7 @@ msgstr "...Zaman geçiyor...\n" msgid "...Sorry, your time is up!\n" msgstr "...Üzgünüm, süreniz doldu!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "hatalı etkileşim (%d)\n" @@ -166,64 +166,64 @@ msgstr "Uygulamanın libpam kütüphanesini yeniden çağırması gerekiyor" msgid "Unknown PAM error" msgstr "Bilinmeyen PAM hatası" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Yeni %s%sparolası: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Yeni %s%sparolasını tekrar girin: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Üzgünüm, parolalar birbirine uymuyor." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "eskisi ile aynı" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "bir palindrom (iki yönden aynı şekilde okunuyor)" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "sadece büyük-küçük harf değişimi" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "eskisi ile çok benziyor" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "çok basit" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "çevrilmiş" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "daha önce kullanıldı" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Parola girilmedi" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Parola değiştirilmedi" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "YANLIŞ PAROLA: %s" @@ -270,7 +270,7 @@ msgstr "Son giriş: %s%s%s" msgid "Welcome to your new account!" msgstr "Yeni hesabınıza hoşgeldiniz" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "%s için fazla giriş " diff --git a/Linux-PAM/po/uk.gmo b/Linux-PAM/po/uk.gmo Binary files differindex 71afe095..7566c77b 100644 --- a/Linux-PAM/po/uk.gmo +++ b/Linux-PAM/po/uk.gmo diff --git a/Linux-PAM/po/uk.po b/Linux-PAM/po/uk.po index 23c47344..d10ef61d 100644 --- a/Linux-PAM/po/uk.po +++ b/Linux-PAM/po/uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.uk\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 18:59+0200\n" "Last-Translator: Ivan Petrouchtchak <ivanpetrouchtchak@yahoo.com>\n" "Language-Team: Ukrainian <translation@linux.org.ua>\n" @@ -26,7 +26,7 @@ msgstr "...Час закінчується...\n" msgid "...Sorry, your time is up!\n" msgstr "...Вибачте, ваш час закінчився!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "помилкова розмова (%d)\n" @@ -167,64 +167,64 @@ msgstr "Програмі потрібно знов викликати libpam" msgid "Unknown PAM error" msgstr "Невідома помилка PAM" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "Новий пароль %s%s:" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Повторіть новий пароль %s%s: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Ваші нові паролі не співпадають." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "такий самий як і старий" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "- це паліндром" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "тільки зміни в регістрі" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "занадто подібний до старого" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "занадто простий" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "чергується" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "вже вживався" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Не встановлений пароль" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Пароль не змінено" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ПОГАНИЙ ПАРОЛЬ: %s" @@ -271,7 +271,7 @@ msgstr "Останній вхід: %s%s%s" msgid "Welcome to your new account!" msgstr "Ласкаво просимо до вашого нового рахунку!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Забагато входів в для \"%s\"." diff --git a/Linux-PAM/po/zh_CN.gmo b/Linux-PAM/po/zh_CN.gmo Binary files differindex 4a2aa230..6a02a47a 100644 --- a/Linux-PAM/po/zh_CN.gmo +++ b/Linux-PAM/po/zh_CN.gmo diff --git a/Linux-PAM/po/zh_CN.po b/Linux-PAM/po/zh_CN.po index dffd7bfa..b3c9af8b 100644 --- a/Linux-PAM/po/zh_CN.po +++ b/Linux-PAM/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux_PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 18:59+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -23,7 +23,7 @@ msgstr "...时间即将耗尽...\n" msgid "...Sorry, your time is up!\n" msgstr "...对不起,您的时间已经耗尽!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "有错误的转换 (%d)\n" @@ -164,64 +164,64 @@ msgstr "应用程序需要再次调用 libpam" msgid "Unknown PAM error" msgstr "未知的 PAM 错误" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "新的 %s%s口令:" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "重新输入新的 %s%s口令:" -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "抱歉,口令不匹配。" -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "与旧口令相同" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "是回文" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "仅更改了大小写" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "与旧口令过于相似" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "过于简单" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "是旧口令的循环" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "已使用" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "口令未提供" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "口令未更改" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "无效的口令: %s" @@ -268,7 +268,7 @@ msgstr "上一次登录:%s%s%s" msgid "Welcome to your new account!" msgstr "欢迎使用新帐户!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "'%s'登录过多。" diff --git a/Linux-PAM/po/zh_TW.gmo b/Linux-PAM/po/zh_TW.gmo Binary files differindex 8d4478f4..13a5d6f0 100644 --- a/Linux-PAM/po/zh_TW.gmo +++ b/Linux-PAM/po/zh_TW.gmo diff --git a/Linux-PAM/po/zh_TW.po b/Linux-PAM/po/zh_TW.po index 30886a94..f42f8669 100644 --- a/Linux-PAM/po/zh_TW.po +++ b/Linux-PAM/po/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux_PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-05-03 18:55+0200\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -23,7 +23,7 @@ msgstr "...時間已經超過...\n" msgid "...Sorry, your time is up!\n" msgstr "...抱歉,您的時間已到!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "錯誤的交談 (%d)\n" @@ -164,64 +164,64 @@ msgstr "應用程式需要再次呼叫 libpam" msgid "Unknown PAM error" msgstr "未知的 PAM 錯誤" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "新 %s%s密碼:" -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "再次輸入新的 %s%s密碼:" -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "抱歉,密碼不符合。" -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "與舊的密碼相同" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "是一個回文" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "僅變更大小寫" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "與舊的密碼太相似" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "太簡單" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "已旋轉" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "已經由其他使用者使用" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "未提供密碼" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "密碼未變更" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "不良的密碼: %s" @@ -268,7 +268,7 @@ msgstr "上一次登入:%s%s%s" msgid "Welcome to your new account!" msgstr "歡迎使用您的新帳號!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "對 '%s' 進行太多次登入。" diff --git a/Linux-PAM/po/zu.gmo b/Linux-PAM/po/zu.gmo Binary files differindex 6e304625..95782894 100644 --- a/Linux-PAM/po/zu.gmo +++ b/Linux-PAM/po/zu.gmo diff --git a/Linux-PAM/po/zu.po b/Linux-PAM/po/zu.po index d6582be2..19ebf440 100644 --- a/Linux-PAM/po/zu.po +++ b/Linux-PAM/po/zu.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2007-07-18 10:59+0200\n" +"POT-Creation-Date: 2007-10-01 12:19+0200\n" "PO-Revision-Date: 2006-11-03 12:03\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" @@ -21,7 +21,7 @@ msgstr "...Isikhathi siyaphela...\n" msgid "...Sorry, your time is up!\n" msgstr "...Uxolo, isikhathi sakho sesiphelile!\n" -#: libpam_misc/misc_conv.c:343 +#: libpam_misc/misc_conv.c:342 #, c-format msgid "erroneous conversation (%d)\n" msgstr "ingxoxo enephutha (%d)\n" @@ -162,64 +162,64 @@ msgstr "Uhlelo ludinga ukubiza i-libpam futhi" msgid "Unknown PAM error" msgstr "Iphutha le-PAM elingaziwa" -#: modules/pam_cracklib/pam_cracklib.c:60 +#: modules/pam_cracklib/pam_cracklib.c:64 #, c-format msgid "New %s%spassword: " msgstr "%s%siphasiwedi entsha: " -#: modules/pam_cracklib/pam_cracklib.c:62 +#: modules/pam_cracklib/pam_cracklib.c:66 #, c-format msgid "Retype new %s%spassword: " msgstr "Thayipha kabusha %s%siphasiwedi entsha: " -#: modules/pam_cracklib/pam_cracklib.c:63 +#: modules/pam_cracklib/pam_cracklib.c:67 msgid "Sorry, passwords do not match." msgstr "Uxolo, amaphasiwedi awahambelani." -#: modules/pam_cracklib/pam_cracklib.c:427 +#: modules/pam_cracklib/pam_cracklib.c:432 msgid "is the same as the old one" msgstr "iyafana nendala" -#: modules/pam_cracklib/pam_cracklib.c:440 +#: modules/pam_cracklib/pam_cracklib.c:445 msgid "is a palindrome" msgstr "iyi-palindrome" -#: modules/pam_cracklib/pam_cracklib.c:443 +#: modules/pam_cracklib/pam_cracklib.c:448 msgid "case changes only" msgstr "kushintshe onobumba kuphela" -#: modules/pam_cracklib/pam_cracklib.c:446 +#: modules/pam_cracklib/pam_cracklib.c:451 msgid "is too similar to the old one" msgstr "ifana kakhulu nendala" -#: modules/pam_cracklib/pam_cracklib.c:449 +#: modules/pam_cracklib/pam_cracklib.c:454 msgid "is too simple" msgstr "ilula kakhulu" -#: modules/pam_cracklib/pam_cracklib.c:452 +#: modules/pam_cracklib/pam_cracklib.c:457 msgid "is rotated" msgstr "ijikelezisiwe" -#: modules/pam_cracklib/pam_cracklib.c:455 +#: modules/pam_cracklib/pam_cracklib.c:460 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:493 +#: modules/pam_cracklib/pam_cracklib.c:498 msgid "has been already used" msgstr "isisetshenziswe ngothile." -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "No password supplied" msgstr "Ayikho iphasiwedi enikeziwe" -#: modules/pam_cracklib/pam_cracklib.c:521 +#: modules/pam_cracklib/pam_cracklib.c:526 #: modules/pam_unix/pam_unix_passwd.c:977 msgid "Password unchanged" msgstr "Iphasiwedi ayishintshwanga" -#: modules/pam_cracklib/pam_cracklib.c:544 -#: modules/pam_cracklib/pam_cracklib.c:672 +#: modules/pam_cracklib/pam_cracklib.c:549 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "IPHASIWEDI ENGASEBENZI: %s" @@ -266,7 +266,7 @@ msgstr "Ukungena kokugcina:%s%s%s" msgid "Welcome to your new account!" msgstr "Uyamukelwa kwi-akhawunti yakho entsha!" -#: modules/pam_limits/pam_limits.c:702 +#: modules/pam_limits/pam_limits.c:698 #, c-format msgid "Too many logins for '%s'." msgstr "Kuningi kakhulu ukungena kwi- '%s' osekwenziwe." diff --git a/Linux-PAM/tests/Makefile.am b/Linux-PAM/tests/Makefile.am index a5b8d08b..de1594bd 100644 --- a/Linux-PAM/tests/Makefile.am +++ b/Linux-PAM/tests/Makefile.am @@ -4,7 +4,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_srcdir)/libpam/include \ -I$(top_srcdir)/libpam -AM_LDFLAGS = -L$(top_builddir)/libpam -lpam +LDADD = -L$(top_builddir)/libpam -lpam CLEANFILES = *~ @@ -15,5 +15,5 @@ TESTS = tst-pam_start tst-pam_end tst-pam_fail_delay tst-pam_open_session \ check_PROGRAMS = ${TESTS} tst-dlopen -tst_dlopen_LDADD = -L$(top_builddir)/libpam -lpam -ldl +tst_dlopen_LDADD = -ldl diff --git a/Linux-PAM/tests/Makefile.in b/Linux-PAM/tests/Makefile.in index e7e0d193..f2aad1a7 100644 --- a/Linux-PAM/tests/Makefile.in +++ b/Linux-PAM/tests/Makefile.in @@ -73,45 +73,59 @@ tst_dlopen_DEPENDENCIES = tst_pam_acct_mgmt_SOURCES = tst-pam_acct_mgmt.c tst_pam_acct_mgmt_OBJECTS = tst-pam_acct_mgmt.$(OBJEXT) tst_pam_acct_mgmt_LDADD = $(LDADD) +tst_pam_acct_mgmt_DEPENDENCIES = tst_pam_authenticate_SOURCES = tst-pam_authenticate.c tst_pam_authenticate_OBJECTS = tst-pam_authenticate.$(OBJEXT) tst_pam_authenticate_LDADD = $(LDADD) +tst_pam_authenticate_DEPENDENCIES = tst_pam_chauthtok_SOURCES = tst-pam_chauthtok.c tst_pam_chauthtok_OBJECTS = tst-pam_chauthtok.$(OBJEXT) tst_pam_chauthtok_LDADD = $(LDADD) +tst_pam_chauthtok_DEPENDENCIES = tst_pam_close_session_SOURCES = tst-pam_close_session.c tst_pam_close_session_OBJECTS = tst-pam_close_session.$(OBJEXT) tst_pam_close_session_LDADD = $(LDADD) +tst_pam_close_session_DEPENDENCIES = tst_pam_end_SOURCES = tst-pam_end.c tst_pam_end_OBJECTS = tst-pam_end.$(OBJEXT) tst_pam_end_LDADD = $(LDADD) +tst_pam_end_DEPENDENCIES = tst_pam_fail_delay_SOURCES = tst-pam_fail_delay.c tst_pam_fail_delay_OBJECTS = tst-pam_fail_delay.$(OBJEXT) tst_pam_fail_delay_LDADD = $(LDADD) +tst_pam_fail_delay_DEPENDENCIES = tst_pam_get_item_SOURCES = tst-pam_get_item.c tst_pam_get_item_OBJECTS = tst-pam_get_item.$(OBJEXT) tst_pam_get_item_LDADD = $(LDADD) +tst_pam_get_item_DEPENDENCIES = tst_pam_get_user_SOURCES = tst-pam_get_user.c tst_pam_get_user_OBJECTS = tst-pam_get_user.$(OBJEXT) tst_pam_get_user_LDADD = $(LDADD) +tst_pam_get_user_DEPENDENCIES = tst_pam_getenvlist_SOURCES = tst-pam_getenvlist.c tst_pam_getenvlist_OBJECTS = tst-pam_getenvlist.$(OBJEXT) tst_pam_getenvlist_LDADD = $(LDADD) +tst_pam_getenvlist_DEPENDENCIES = tst_pam_open_session_SOURCES = tst-pam_open_session.c tst_pam_open_session_OBJECTS = tst-pam_open_session.$(OBJEXT) tst_pam_open_session_LDADD = $(LDADD) +tst_pam_open_session_DEPENDENCIES = tst_pam_set_data_SOURCES = tst-pam_set_data.c tst_pam_set_data_OBJECTS = tst-pam_set_data.$(OBJEXT) tst_pam_set_data_LDADD = $(LDADD) +tst_pam_set_data_DEPENDENCIES = tst_pam_set_item_SOURCES = tst-pam_set_item.c tst_pam_set_item_OBJECTS = tst-pam_set_item.$(OBJEXT) tst_pam_set_item_LDADD = $(LDADD) +tst_pam_set_item_DEPENDENCIES = tst_pam_setcred_SOURCES = tst-pam_setcred.c tst_pam_setcred_OBJECTS = tst-pam_setcred.$(OBJEXT) tst_pam_setcred_LDADD = $(LDADD) +tst_pam_setcred_DEPENDENCIES = tst_pam_start_SOURCES = tst-pam_start.c tst_pam_start_OBJECTS = tst-pam_start.$(OBJEXT) tst_pam_start_LDADD = $(LDADD) +tst_pam_start_DEPENDENCIES = DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -224,6 +238,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -296,9 +311,9 @@ top_srcdir = @top_srcdir@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_srcdir)/libpam/include \ -I$(top_srcdir)/libpam -AM_LDFLAGS = -L$(top_builddir)/libpam -lpam +LDADD = -L$(top_builddir)/libpam -lpam CLEANFILES = *~ -tst_dlopen_LDADD = -L$(top_builddir)/libpam -lpam -ldl +tst_dlopen_LDADD = -ldl all: all-am .SUFFIXES: diff --git a/Linux-PAM/xtests/Makefile.am b/Linux-PAM/xtests/Makefile.am index f2e48c5e..b32ba76b 100644 --- a/Linux-PAM/xtests/Makefile.am +++ b/Linux-PAM/xtests/Makefile.am @@ -18,13 +18,16 @@ EXTRA_DIST = run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd \ tst-pam_access2.pamd tst-pam_access2.sh \ tst-pam_access3.pamd tst-pam_access3.sh \ tst-pam_access4.pamd tst-pam_access4.sh \ - limits.conf tst-pam_limits1.pamd tst-pam_limits1.sh + limits.conf tst-pam_limits1.pamd tst-pam_limits1.sh \ + tst-pam_succeed_if1.pamd tst-pam_succeed_if1.sh \ + group.conf tst-pam_group1.pamd tst-pam_group1.sh XTESTS = tst-pam_dispatch1 tst-pam_dispatch2 tst-pam_dispatch3 \ tst-pam_dispatch4 tst-pam_cracklib1 tst-pam_cracklib2 \ tst-pam_unix1 tst-pam_unix2 tst-pam_unix3 \ tst-pam_access1 tst-pam_access2 tst-pam_access3 \ - tst-pam_access4 tst-pam_limits1 + tst-pam_access4 tst-pam_limits1 tst-pam_succeed_if1 \ + tst-pam_group1 noinst_PROGRAMS = $(XTESTS) diff --git a/Linux-PAM/xtests/Makefile.in b/Linux-PAM/xtests/Makefile.in index 2c858a96..8019b1aa 100644 --- a/Linux-PAM/xtests/Makefile.in +++ b/Linux-PAM/xtests/Makefile.in @@ -60,7 +60,8 @@ am__EXEEXT_1 = tst-pam_dispatch1$(EXEEXT) tst-pam_dispatch2$(EXEEXT) \ tst-pam_unix1$(EXEEXT) tst-pam_unix2$(EXEEXT) \ tst-pam_unix3$(EXEEXT) tst-pam_access1$(EXEEXT) \ tst-pam_access2$(EXEEXT) tst-pam_access3$(EXEEXT) \ - tst-pam_access4$(EXEEXT) tst-pam_limits1$(EXEEXT) + tst-pam_access4$(EXEEXT) tst-pam_limits1$(EXEEXT) \ + tst-pam_succeed_if1$(EXEEXT) tst-pam_group1$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) tst_pam_access1_SOURCES = tst-pam_access1.c tst_pam_access1_OBJECTS = tst-pam_access1.$(OBJEXT) @@ -92,9 +93,15 @@ tst_pam_dispatch3_LDADD = $(LDADD) tst_pam_dispatch4_SOURCES = tst-pam_dispatch4.c tst_pam_dispatch4_OBJECTS = tst-pam_dispatch4.$(OBJEXT) tst_pam_dispatch4_LDADD = $(LDADD) +tst_pam_group1_SOURCES = tst-pam_group1.c +tst_pam_group1_OBJECTS = tst-pam_group1.$(OBJEXT) +tst_pam_group1_LDADD = $(LDADD) tst_pam_limits1_SOURCES = tst-pam_limits1.c tst_pam_limits1_OBJECTS = tst-pam_limits1.$(OBJEXT) tst_pam_limits1_LDADD = $(LDADD) +tst_pam_succeed_if1_SOURCES = tst-pam_succeed_if1.c +tst_pam_succeed_if1_OBJECTS = tst-pam_succeed_if1.$(OBJEXT) +tst_pam_succeed_if1_LDADD = $(LDADD) tst_pam_unix1_SOURCES = tst-pam_unix1.c tst_pam_unix1_OBJECTS = tst-pam_unix1.$(OBJEXT) tst_pam_unix1_LDADD = $(LDADD) @@ -119,13 +126,15 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ SOURCES = tst-pam_access1.c tst-pam_access2.c tst-pam_access3.c \ tst-pam_access4.c tst-pam_cracklib1.c tst-pam_cracklib2.c \ tst-pam_dispatch1.c tst-pam_dispatch2.c tst-pam_dispatch3.c \ - tst-pam_dispatch4.c tst-pam_limits1.c tst-pam_unix1.c \ - tst-pam_unix2.c tst-pam_unix3.c + tst-pam_dispatch4.c tst-pam_group1.c tst-pam_limits1.c \ + tst-pam_succeed_if1.c tst-pam_unix1.c tst-pam_unix2.c \ + tst-pam_unix3.c DIST_SOURCES = tst-pam_access1.c tst-pam_access2.c tst-pam_access3.c \ tst-pam_access4.c tst-pam_cracklib1.c tst-pam_cracklib2.c \ tst-pam_dispatch1.c tst-pam_dispatch2.c tst-pam_dispatch3.c \ - tst-pam_dispatch4.c tst-pam_limits1.c tst-pam_unix1.c \ - tst-pam_unix2.c tst-pam_unix3.c + tst-pam_dispatch4.c tst-pam_group1.c tst-pam_limits1.c \ + tst-pam_succeed_if1.c tst-pam_unix1.c tst-pam_unix2.c \ + tst-pam_unix3.c ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -216,6 +225,7 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCONFIGDIR = @SCONFIGDIR@ SECUREDIR = @SECUREDIR@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -301,13 +311,16 @@ EXTRA_DIST = run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd \ tst-pam_access2.pamd tst-pam_access2.sh \ tst-pam_access3.pamd tst-pam_access3.sh \ tst-pam_access4.pamd tst-pam_access4.sh \ - limits.conf tst-pam_limits1.pamd tst-pam_limits1.sh + limits.conf tst-pam_limits1.pamd tst-pam_limits1.sh \ + tst-pam_succeed_if1.pamd tst-pam_succeed_if1.sh \ + group.conf tst-pam_group1.pamd tst-pam_group1.sh XTESTS = tst-pam_dispatch1 tst-pam_dispatch2 tst-pam_dispatch3 \ tst-pam_dispatch4 tst-pam_cracklib1 tst-pam_cracklib2 \ tst-pam_unix1 tst-pam_unix2 tst-pam_unix3 \ tst-pam_access1 tst-pam_access2 tst-pam_access3 \ - tst-pam_access4 tst-pam_limits1 + tst-pam_access4 tst-pam_limits1 tst-pam_succeed_if1 \ + tst-pam_group1 all: all-am @@ -379,9 +392,15 @@ tst-pam_dispatch3$(EXEEXT): $(tst_pam_dispatch3_OBJECTS) $(tst_pam_dispatch3_DEP tst-pam_dispatch4$(EXEEXT): $(tst_pam_dispatch4_OBJECTS) $(tst_pam_dispatch4_DEPENDENCIES) @rm -f tst-pam_dispatch4$(EXEEXT) $(LINK) $(tst_pam_dispatch4_OBJECTS) $(tst_pam_dispatch4_LDADD) $(LIBS) +tst-pam_group1$(EXEEXT): $(tst_pam_group1_OBJECTS) $(tst_pam_group1_DEPENDENCIES) + @rm -f tst-pam_group1$(EXEEXT) + $(LINK) $(tst_pam_group1_OBJECTS) $(tst_pam_group1_LDADD) $(LIBS) tst-pam_limits1$(EXEEXT): $(tst_pam_limits1_OBJECTS) $(tst_pam_limits1_DEPENDENCIES) @rm -f tst-pam_limits1$(EXEEXT) $(LINK) $(tst_pam_limits1_OBJECTS) $(tst_pam_limits1_LDADD) $(LIBS) +tst-pam_succeed_if1$(EXEEXT): $(tst_pam_succeed_if1_OBJECTS) $(tst_pam_succeed_if1_DEPENDENCIES) + @rm -f tst-pam_succeed_if1$(EXEEXT) + $(LINK) $(tst_pam_succeed_if1_OBJECTS) $(tst_pam_succeed_if1_LDADD) $(LIBS) tst-pam_unix1$(EXEEXT): $(tst_pam_unix1_OBJECTS) $(tst_pam_unix1_DEPENDENCIES) @rm -f tst-pam_unix1$(EXEEXT) $(LINK) $(tst_pam_unix1_OBJECTS) $(tst_pam_unix1_LDADD) $(LIBS) @@ -408,7 +427,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_dispatch2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_dispatch3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_dispatch4.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_group1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_limits1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_succeed_if1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_unix1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_unix2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pam_unix3.Po@am__quote@ diff --git a/Linux-PAM/xtests/group.conf b/Linux-PAM/xtests/group.conf new file mode 100644 index 00000000..bcfe3755 --- /dev/null +++ b/Linux-PAM/xtests/group.conf @@ -0,0 +1,3 @@ + +tst-pam_group1;tty1;tstpamgrp;Al0000-2400;tstpamgrp + diff --git a/Linux-PAM/xtests/run-xtests.sh b/Linux-PAM/xtests/run-xtests.sh index 76daba22..53dbdf06 100755 --- a/Linux-PAM/xtests/run-xtests.sh +++ b/Linux-PAM/xtests/run-xtests.sh @@ -13,11 +13,14 @@ XTESTS="$@" failed=0 pass=0 +skiped=0 all=0 mkdir -p /etc/security cp /etc/security/access.conf /etc/security/access.conf-pam-xtests install -m 644 "${SRCDIR}"/access.conf /etc/security/access.conf +cp /etc/security/group.conf /etc/security/group.conf-pam-xtests +install -m 644 "${SRCDIR}"/group.conf /etc/security/group.conf cp /etc/security/limits.conf /etc/security/limits.conf-pam-xtests install -m 644 "${SRCDIR}"/limits.conf /etc/security/limits.conf for testname in $XTESTS ; do @@ -27,7 +30,11 @@ for testname in $XTESTS ; do else ./$testname > /dev/null fi - if test $? -ne 0 ; then + RETVAL=$? + if test $RETVAL -eq 77 ; then + echo "SKIP: $testname" + skiped=`expr $skiped + 1` + elif test $RETVAL -ne 0 ; then echo "FAIL: $testname" failed=`expr $failed + 1` else @@ -38,15 +45,18 @@ for testname in $XTESTS ; do rm -f /etc/pam.d/$testname done mv /etc/security/access.conf-pam-xtests /etc/security/access.conf +mv /etc/security/group.conf-pam-xtests /etc/security/group.conf mv /etc/security/limits.conf-pam-xtests /etc/security/limits.conf if test "$failed" -ne 0; then echo "===================" echo "$failed of $all tests failed" + echo "$skiped tests not run" echo "===================" exit 1 else echo "==================" - echo "All $all tests passed" + echo "$all tests passed" + echo "$skiped tests not run" echo "==================" fi exit 0 diff --git a/Linux-PAM/xtests/tst-pam_group1.c b/Linux-PAM/xtests/tst-pam_group1.c new file mode 100644 index 00000000..e4e3ca48 --- /dev/null +++ b/Linux-PAM/xtests/tst-pam_group1.c @@ -0,0 +1,207 @@ +/* + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, and the entire permission notice in its entirety, + * including the disclaimer of warranties. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior + * written permission. + * + * ALTERNATIVELY, this product may be distributed under the terms of + * the GNU Public License, in which case the provisions of the GPL are + * required INSTEAD OF the above restrictions. (This clause is + * necessary due to a potential bad interaction between the GPL and + * the restrictions contained in a BSD-style copyright.) + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + test case: + + Check the following line in group.conf: + + tst-pam_group1;*;tstpamgrp;Al0000-2400;tstpamgrp + + + pam_group should add group tstpamgrp to user tstpamgrp, but not + to tstpamgrp2. +*/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <grp.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> +#include <sys/types.h> +#include <security/pam_appl.h> + +#define GROUP_BLK 10 +#define blk_size(len) (((len-1 + GROUP_BLK)/GROUP_BLK)*GROUP_BLK) + +/* A conversation function which uses an internally-stored value for + the responses. */ +static int +fake_conv (int num_msg, const struct pam_message **msgm UNUSED, + struct pam_response **response, void *appdata_ptr UNUSED) +{ + struct pam_response *reply; + int count; + + /* Sanity test. */ + if (num_msg <= 0) + return PAM_CONV_ERR; + + /* Allocate memory for the responses. */ + reply = calloc (num_msg, sizeof (struct pam_response)); + if (reply == NULL) + return PAM_CONV_ERR; + + /* Each prompt elicits the same response. */ + for (count = 0; count < num_msg; ++count) + { + reply[count].resp_retcode = 0; + reply[count].resp = strdup ("!!"); + } + + /* Set the pointers in the response structure and return. */ + *response = reply; + return PAM_SUCCESS; +} + +static struct pam_conv conv = { + fake_conv, + NULL +}; + +static int debug = 0; + +static int +run_test (const char *user, gid_t groupid, int needit) +{ + pam_handle_t *pamh = NULL; + int retval; + + retval = pam_start("tst-pam_group1", user, &conv, &pamh); + if (retval != PAM_SUCCESS) + { + if (debug) + fprintf (stderr, "pam_group1: pam_start returned %d\n", retval); + return 1; + } + + retval = pam_set_item (pamh, PAM_TTY, "/dev/tty1"); + if (retval != PAM_SUCCESS) + { + if (debug) + fprintf (stderr, + "pam_group1: pam_set_item(PAM_TTY) returned %d\n", + retval); + return 1; + } + + retval = pam_authenticate (pamh, 0); + if (retval != PAM_SUCCESS) + { + if (debug) + fprintf (stderr, "pam_group1: pam_authenticate returned %d\n", retval); + return 1; + } + + retval = pam_setcred (pamh, PAM_ESTABLISH_CRED); + if (retval != PAM_SUCCESS) + { + if (debug) + fprintf (stderr, "pam_group1: pam_setcred returned %d\n", retval); + return 1; + } + + + int no_grps = getgroups(0, NULL); /* find the current number of groups */ + if (no_grps > 0) + { + int i, found; + gid_t *grps = calloc (blk_size (no_grps), sizeof(gid_t)); + + if (getgroups(no_grps, grps) < 0) + { + if (debug) + fprintf (stderr, "pam_group1: getroups returned error: %m\n"); + pam_end (pamh, PAM_SYSTEM_ERR); + return 1; + } + + found = 0; + for (i = 0; i < no_grps; ++i) + { +#if 0 + if (debug) + fprintf (stderr, "gid[%d]=%d\n", i, grps[i]); +#endif + if (grps[i] == groupid) + found = 1; + } + if ((needit && found) || (!needit && !found)) + { + /* everything is ok */ + } + else + { + pam_end (pamh, PAM_SYSTEM_ERR); + if (debug) + fprintf (stderr, + "pam_group1: unexpected result for %s: needit=%d, found=%d\n", + user, needit, found); + return 1; + } + } + + retval = pam_end (pamh,retval); + if (retval != PAM_SUCCESS) + { + if (debug) + fprintf (stderr, "pam_group1: pam_end returned %d\n", retval); + return 1; + } + return 0; +} + +int +main(int argc, char *argv[]) +{ + struct group *grp; + gid_t grpid; + + if (argc > 1 && strcmp (argv[1], "-d") == 0) + debug = 1; + + grp = getgrnam ("tstpamgrp"); + if (grp == NULL) + return 1; + grpid = grp->gr_gid; + + if (run_test ("root", grpid, 0) != 0 || + run_test ("tstpamgrp2", grpid, 0) != 0 || + run_test ("tstpamgrp", grpid, 1) != 0) + return 1; + + return 0; +} diff --git a/Linux-PAM/xtests/tst-pam_group1.pamd b/Linux-PAM/xtests/tst-pam_group1.pamd new file mode 100644 index 00000000..d78f3a6c --- /dev/null +++ b/Linux-PAM/xtests/tst-pam_group1.pamd @@ -0,0 +1,7 @@ +#%PAM-1.0 +auth required pam_group.so +auth required pam_permit.so +account required pam_permit.so +password required pam_permit.so +session required pam_permit.so + diff --git a/Linux-PAM/xtests/tst-pam_group1.sh b/Linux-PAM/xtests/tst-pam_group1.sh new file mode 100755 index 00000000..2d38a6ad --- /dev/null +++ b/Linux-PAM/xtests/tst-pam_group1.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +/usr/sbin/groupadd -p '!!' tstpamgrp +/usr/sbin/useradd -p '!!' tstpamgrp +/usr/sbin/useradd -p '!!' tstpamgrp2 +./tst-pam_group1 +RET=$? +/usr/sbin/userdel -r tstpamgrp 2> /dev/null +/usr/sbin/userdel -r tstpamgrp2 2> /dev/null +/usr/sbin/groupdel tstpamgrp 2> /dev/null +exit $RET diff --git a/Linux-PAM/xtests/tst-pam_limits1.c b/Linux-PAM/xtests/tst-pam_limits1.c index cf025d3d..ed3d3679 100644 --- a/Linux-PAM/xtests/tst-pam_limits1.c +++ b/Linux-PAM/xtests/tst-pam_limits1.c @@ -98,6 +98,7 @@ main(int argc, char *argv[]) if (argc > 1 && strcmp (argv[1], "-d") == 0) debug = 1; +#ifdef RLIMIT_NICE retval = pam_start("tst-pam_limits1", user, &conv, &pamh); if (retval != PAM_SUCCESS) { @@ -145,4 +146,10 @@ main(int argc, char *argv[]) return 1; } return 0; +#else + if (debug) + fprintf (stderr, "pam_limits1: RLIMIT_NICE does not exist)\n"); + + return 77; +#endif } diff --git a/Linux-PAM/xtests/tst-pam_succeed_if1.c b/Linux-PAM/xtests/tst-pam_succeed_if1.c new file mode 100644 index 00000000..24f42302 --- /dev/null +++ b/Linux-PAM/xtests/tst-pam_succeed_if1.c @@ -0,0 +1,137 @@ +/* + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, and the entire permission notice in its entirety, + * including the disclaimer of warranties. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior + * written permission. + * + * ALTERNATIVELY, this product may be distributed under the terms of + * the GNU Public License, in which case the provisions of the GPL are + * required INSTEAD OF the above restrictions. (This clause is + * necessary due to a potential bad interaction between the GPL and + * the restrictions contained in a BSD-style copyright.) + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + test case: + + Check the following line in PAM config file: + + auth required pam_succeed_if.so user in tstpamtest:pamtest + + User is pamtest or tstpamtest, both should succeed. +*/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <stdio.h> +#include <string.h> +#include <security/pam_appl.h> + +/* A conversation function which uses an internally-stored value for + the responses. */ +static int +fake_conv (int num_msg, const struct pam_message **msgm UNUSED, + struct pam_response **response, void *appdata_ptr UNUSED) +{ + struct pam_response *reply; + int count; + + /* Sanity test. */ + if (num_msg <= 0) + return PAM_CONV_ERR; + + /* Allocate memory for the responses. */ + reply = calloc (num_msg, sizeof (struct pam_response)); + if (reply == NULL) + return PAM_CONV_ERR; + + /* Each prompt elicits the same response. */ + for (count = 0; count < num_msg; ++count) + { + reply[count].resp_retcode = 0; + reply[count].resp = strdup ("!!"); + } + + /* Set the pointers in the response structure and return. */ + *response = reply; + return PAM_SUCCESS; +} + +static struct pam_conv conv = { + fake_conv, + NULL +}; + +static int debug = 0; + +static int +test_with_user (const char *user) +{ + pam_handle_t *pamh = NULL; + int retval; + + retval = pam_start("tst-pam_succeed_if1", user, &conv, &pamh); + if (retval != PAM_SUCCESS) + { + if (debug) + fprintf (stderr, "pam_succeed_if1: pam_start returned %d\n", retval); + return 1; + } + + retval = pam_authenticate (pamh, 0); + if (retval != PAM_SUCCESS) + { + if (debug) + fprintf (stderr, "pam_access1: pam_authenticate(%s) returned %d\n", + user, retval); + return 1; + } + + retval = pam_end (pamh, retval); + if (retval != PAM_SUCCESS) + { + if (debug) + fprintf (stderr, "pam_access1: pam_end returned %d\n", retval); + return 1; + } + return 0; +} + +int +main(int argc, char *argv[]) +{ + const char *user1 = "tstpamtest"; + const char *user2 = "pamtest"; + int retval; + + if (argc > 1 && strcmp (argv[1], "-d") == 0) + debug = 1; + + retval = test_with_user (user1); + if (retval == 0) + retval = test_with_user (user2); + + return retval; +} diff --git a/Linux-PAM/xtests/tst-pam_succeed_if1.pamd b/Linux-PAM/xtests/tst-pam_succeed_if1.pamd new file mode 100644 index 00000000..f9cbd5a7 --- /dev/null +++ b/Linux-PAM/xtests/tst-pam_succeed_if1.pamd @@ -0,0 +1,2 @@ +#%PAM-1.0 +auth required pam_succeed_if.so user in tstpamtest:pamtest diff --git a/Linux-PAM/xtests/tst-pam_succeed_if1.sh b/Linux-PAM/xtests/tst-pam_succeed_if1.sh new file mode 100755 index 00000000..a643b2e8 --- /dev/null +++ b/Linux-PAM/xtests/tst-pam_succeed_if1.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +/usr/sbin/useradd -p '!!' tstpamtest +/usr/sbin/useradd -p '!!' pamtest +./tst-pam_succeed_if1 +RET=$? +/usr/sbin/userdel -r tstpamtest 2> /dev/null +/usr/sbin/userdel -r pamtest 2> /dev/null +exit $RET |