[svn-upgrade] Integrating new upstream version, shadow (4.0.13)

This commit is contained in:
nekral-guest 2007-10-07 11:47:01 +00:00
parent e89f3546f2
commit 8451bed8b0
279 changed files with 12461 additions and 8086 deletions

755
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
depcomp install-sh ltmain.sh missing mkinstalldirs depcomp install-sh ltmain.sh missing mkinstalldirs
subdir = . subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@ -98,6 +99,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -109,6 +112,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -148,6 +152,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@

61
NEWS
View File

@ -1,4 +1,60 @@
$Id: NEWS,v 1.249 2005/08/21 12:42:51 kloczek Exp $ $Id: NEWS,v 1.281 2005/10/10 18:24:59 kloczek Exp $
shadow-4.0.12 -> shadow-4.0.13 10-10-2005
*** general:
- chage: removed duplicated pam_start(),
- chfn, chsh: finished PAM support usin pam_start() and co.,
- userdel: userdel should not remove the group which is primary for someone else
(fix by Nicolas François <nicolas.francois@centraliens.net>
http://bugs.debian.org/295416),
- login: use "%c" in strftime() output (based on patch from
http://bugs.debian.org/89902 by Christian Perrier <bubulle@debian.org>),
- fixedlib/commonio.c: don't assume selinux is enabled if is_selinux_enabled()
returns -1 (merge isSelinuxEnabled FC patch by Jeremy Katz <katzj@redhat.com>),
- login, su (non-PAM case): fixed setup max address space limits (added missing break
statement in case) spoted by Lasse Collin <lasse.collin@tukaani.org>,
- auditing support added. Patch prepared by Peter Vrabec <pvrabec@redhat.com> basing
on work by Steve Grubb from http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159215
Now auditing support have commands: chage, gpasswd, groupadd, groupdel, groupmod,
useradd, userdel, usermod.
- chage, chfn, chsh, passwd: change to use new selinux API for
selinux_check_passwd_access() (patch from Fedora by Dan Walsh <dwalsh@redhat.com>),
- use #ident preprocesor directive istead RCID macro with content similar
to example described in ident(1) man page (modern compilers like latest GCC
removes not used functions by global optimization).
So "ident /usr/bin/passwd" will show again some useable informations
- su: fixed twice copy enviroment which causes auth problems
(bug was introduced in 4.0.12; fix by Nicolas François <nicolas.francois@centraliens.net>),
- chage: differentiate the different failure causes by the exit value
This will permit to adduser Debian script to detect if chage failed because the
system doesn't have shadowed passwords (fix for http://bugs.debian.org/317012),
- merge 010_more-i18ned-messages Debian patch which adds i18n support for few
more messages (orginaly patch was prepared by Guillem Jover <guillem@debian.org>),
- lastlog: added handle -b option which allow print only lastlog records older than
specified DAYS (fix by <miles@lubin.us>),
- chpasswd, gpasswd, newusers: fixed libmisc/salt.c for use login.defs::MD5_CRYPT_ENAB
only if PAM support is disabled (fix by John Gatewood Ham <zappaman@buraphalinux.org>),
- passwd: rewrited for use getopt_long(),
- newgrp: when newgrp process sits between parent and child shells, it should
propagate STOPs from child to parent and CONTs from parent to child,
otherwise e.g. bash's "suspend" command won't work
Fixed Debian http://bugs.debian.org/314727
- updated translations: da, es, fr, pt, ro, ru.
*** documentation:
- chsh(1), groupadd(8), newusers(8), pwconv(8), useradd(8), userdel(8), usermod(8):
added missing references to /etc/login.defs and login.defs(5)
(Christian Perrier <bubulle@kheops.frmug.org>),
- passwd(5): rewrited based on work by Greg Wooledge <greg@wooledge.org>
http://bugs.debian.org/328113
- login(1): added securetty(5) to SEE ALSO section
(fixed Debian bug http://bugs.debian.org/325773),
- groupadd(8), useradd(8): fix regular expression describing alloved login/group
names (pointed by Nicolas François <nicolas.francois@centraliens.net>)
(correct is [a-z_][a-z0-9_-]*[$]),
- groupadd(8), useradd(8): documents in CAVEATS section the limitations shadow
places on user and group names (fix by Mike Frysinger <vapier@gentoo.org>).
- chage(1), groupadd(8): document -h,--help option.
shadow-4.0.11.1 -> shadow-4.0.12 22-08-2005 shadow-4.0.11.1 -> shadow-4.0.12 22-08-2005
@ -49,10 +105,11 @@ shadow-4.0.11.1 -> shadow-4.0.12 22-08-2005
on "passwd -e" (fix by Christian Perrier <bubulle@debian.org), on "passwd -e" (fix by Christian Perrier <bubulle@debian.org),
- updated translations: cs, de, fi, fr, nl, pl, pt, ru, sk. - updated translations: cs, de, fi, fr, nl, pl, pt, ru, sk.
*** documentation: *** documentation:
- regenerate all roff man pages using DocBook XSLT Stylesheets 1.69.1,
- usermod(8): give the correct range for system users (0-999 instead of 0-99), - usermod(8): give the correct range for system users (0-999 instead of 0-99),
(http://bugs.debian.org/286258) (http://bugs.debian.org/286258)
- chage(8): better description -1 value passwd in -E, -I and -M options, - chage(8): better description -1 value passwd in -E, -I and -M options,
- regenerate all roff man pages using DocBook XSL Stylesheets 1.69.0. - regenerate all roff man pages using DocBook XSLT Stylesheets 1.69.0.
shadow-4.0.11 -> shadow-4.0.11.1 21-07-2005 shadow-4.0.11 -> shadow-4.0.11.1 21-07-2005

54
acinclude.m4 Normal file
View File

@ -0,0 +1,54 @@
# Checks the location of the XML Catalog
# Usage:
# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
AC_DEFUN([JH_PATH_XML_CATALOG],
[
# check for the presence of the XML catalog
AC_ARG_WITH([xml-catalog],
AC_HELP_STRING([--with-xml-catalog=CATALOG],
[path to xml catalog to use]),,
[with_xml_catalog=/etc/xml/catalog])
jh_found_xmlcatalog=true
XML_CATALOG_FILE="$with_xml_catalog"
AC_SUBST([XML_CATALOG_FILE])
AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
if test -f "$XML_CATALOG_FILE"; then
AC_MSG_RESULT([found])
else
jh_found_xmlcatalog=false
AC_MSG_RESULT([not found])
fi
# check for the xmlcatalog program
AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
if test "x$XMLCATALOG" = xno; then
jh_found_xmlcatalog=false
fi
if $jh_found_xmlcatalog; then
ifelse([$1],,[:],[$1])
else
ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
fi
])
# Checks if a particular URI appears in the XML catalog
# Usage:
# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
if $jh_found_xmlcatalog && \
AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl
else
AC_MSG_RESULT([not found])
ifelse([$4],,
[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
[$4])
fi
])

181
aclocal.m4 vendored
View File

@ -11,7 +11,7 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
# gettext.m4 serial 36 (gettext-0.14.3) # gettext.m4 serial 37 (gettext-0.14.4)
dnl Copyright (C) 1995-2005 Free Software Foundation, Inc. dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@ -152,7 +152,7 @@ changequote([,])dnl
], [])[extern int _nl_msg_cat_cntr; ], [])[extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;], extern int *_nl_domain_bindings;],
[bindtextdomain ("", ""); [bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=yes,
gt_cv_func_gnugettext_libc=no)]) gt_cv_func_gnugettext_libc=no)])
@ -188,7 +188,7 @@ extern
#endif #endif
const char *_nl_expand_alias (const char *);], const char *_nl_expand_alias (const char *);],
[bindtextdomain ("", ""); [bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
gt_cv_func_gnugettext_libintl=yes, gt_cv_func_gnugettext_libintl=yes,
gt_cv_func_gnugettext_libintl=no) gt_cv_func_gnugettext_libintl=no)
dnl Now see whether libintl exists and depends on libiconv. dnl Now see whether libintl exists and depends on libiconv.
@ -209,7 +209,7 @@ extern
#endif #endif
const char *_nl_expand_alias (const char *);], const char *_nl_expand_alias (const char *);],
[bindtextdomain ("", ""); [bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
[LIBINTL="$LIBINTL $LIBICONV" [LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV"
gt_cv_func_gnugettext_libintl=yes gt_cv_func_gnugettext_libintl=yes
@ -1614,7 +1614,7 @@ rm="rm -f"
default_ofile=libtool default_ofile=libtool
can_build_shared=yes can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except M$VC, # All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib'). # which needs '.lib').
libext=a libext=a
ltmain="$ac_aux_dir/ltmain.sh" ltmain="$ac_aux_dir/ltmain.sh"
@ -1830,8 +1830,8 @@ if test "X${echo_test_string+set}" != Xset; then
# find a string as large as possible, as long as the shell can cope with it # find a string as large as possible, as long as the shell can cope with it
for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
if (echo_test_string="`eval $cmd`") 2>/dev/null && if (echo_test_string=`eval $cmd`) 2>/dev/null &&
echo_test_string="`eval $cmd`" && echo_test_string=`eval $cmd` &&
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
then then
break break
@ -2000,7 +2000,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using. # Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then if AC_TRY_EVAL(ac_compile); then
case "`/usr/bin/file conftest.o`" in case `/usr/bin/file conftest.o` in
*32-bit*) *32-bit*)
case $host in case $host in
x86_64-*linux*) x86_64-*linux*)
@ -2082,7 +2082,7 @@ AC_CACHE_CHECK([$1], [$2],
# with a dollar sign (not a hyphen), so the echo should work correctly. # with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed. # The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \ lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@ -2121,7 +2121,7 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
LDFLAGS="$LDFLAGS $3" LDFLAGS="$LDFLAGS $3"
printf "$lt_simple_link_test_code" > conftest.$ac_ext printf "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The compiler can only warn and ignore the option if not recognized # The linker can only warn and ignore the option if not recognized
# So say no if there are warnings # So say no if there are warnings
if test -s conftest.err; then if test -s conftest.err; then
# Append any errors to the config.log. # Append any errors to the config.log.
@ -2196,7 +2196,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
elif test -x /usr/sbin/sysctl; then elif test -x /usr/sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
else else
lt_cv_sys_max_cmd_len=65536 # usable default for *BSD lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
fi fi
# And add a safety zone # And add a safety zone
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 \/ 4`
@ -2208,7 +2208,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
# nice to cause kernel panics so lets avoid the loop below. # nice to cause kernel panics so lets avoid the loop below.
# First set a reasonable default. # First set a reasonable default.
lt_cv_sys_max_cmd_len=16384 lt_cv_sys_max_cmd_len=16384
# #
if test -x /sbin/sysconfig; then if test -x /sbin/sysconfig; then
case `/sbin/sysconfig -q proc exec_disable_arg_limit` in case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
*1*) lt_cv_sys_max_cmd_len=-1 ;; *1*) lt_cv_sys_max_cmd_len=-1 ;;
@ -2325,7 +2325,7 @@ int main ()
}] }]
EOF EOF
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) 2>/dev/null (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
lt_status=$? lt_status=$?
case x$lt_status in case x$lt_status in
x$lt_dlno_uscore) $1 ;; x$lt_dlno_uscore) $1 ;;
@ -2474,7 +2474,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
# Note that $ac_compile itself does not contain backslashes and begins # Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly. # with a dollar sign (not a hyphen), so the echo should work correctly.
lt_compile=`echo "$ac_compile" | $SED \ lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@ -2492,7 +2492,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
fi fi
fi fi
chmod u+w . chmod u+w . 2>&AS_MESSAGE_LOG_FD
$rm conftest* $rm conftest*
# SGI C++ compiler will create directory out/ii_files/ for # SGI C++ compiler will create directory out/ii_files/ for
# template instantiation # template instantiation
@ -2752,7 +2752,8 @@ cygwin* | mingw* | pw32*)
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~ dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~ test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname' $install_prog $dir/$dlname \$dldir/$dlname~
chmod a+x \$dldir/$dlname'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~ dlpath=$dir/\$dldll~
$rm \$dlpath' $rm \$dlpath'
@ -2805,7 +2806,7 @@ darwin* | rhapsody*)
soname_spec='${libname}${release}${major}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
# Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
if test "$GCC" = yes; then 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"` 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"`
@ -2843,7 +2844,14 @@ kfreebsd*-gnu)
freebsd* | dragonfly*) freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new # DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this. # versioning mechanism, adjust this.
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` if test -x /usr/bin/objformat; then
objformat=`/usr/bin/objformat`
else
case $host_os in
freebsd[[123]]*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
version_type=freebsd-$objformat version_type=freebsd-$objformat
case $version_type in case $version_type in
freebsd-elf*) freebsd-elf*)
@ -2888,7 +2896,7 @@ hpux9* | hpux10* | hpux11*)
version_type=sunos version_type=sunos
need_lib_prefix=no need_lib_prefix=no
need_version=no need_version=no
case "$host_cpu" in case $host_cpu in
ia64*) ia64*)
shrext_cmds='.so' shrext_cmds='.so'
hardcode_into_libs=yes hardcode_into_libs=yes
@ -3301,7 +3309,7 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN],
# AC_LIBTOOL_WIN32_DLL # AC_LIBTOOL_WIN32_DLL
# -------------------- # --------------------
# declare package support for building win32 dll's # declare package support for building win32 DLLs
AC_DEFUN([AC_LIBTOOL_WIN32_DLL], AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
])# AC_LIBTOOL_WIN32_DLL ])# AC_LIBTOOL_WIN32_DLL
@ -3475,7 +3483,7 @@ dnl not every word. This closes a longstanding sh security hole.
if test -n "$file_magic_test_file"; then if test -n "$file_magic_test_file"; then
case $deplibs_check_method in case $deplibs_check_method in
"file_magic "*) "file_magic "*)
file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
MAGIC_CMD="$lt_cv_path_MAGIC_CMD" MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then $EGREP "$file_magic_regex" > /dev/null; then
@ -3585,7 +3593,7 @@ AC_CACHE_VAL(lt_cv_path_LD,
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
lt_cv_path_LD="$ac_dir/$ac_prog" lt_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version, # Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some GNU ld's only accept -v. # but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer. # Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*) *GNU* | *'with BFD'*)
@ -3617,7 +3625,7 @@ AC_PROG_LD_GNU
AC_DEFUN([AC_PROG_LD_GNU], AC_DEFUN([AC_PROG_LD_GNU],
[AC_REQUIRE([AC_PROG_EGREP])dnl [AC_REQUIRE([AC_PROG_EGREP])dnl
AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
[# I'd rather use --version here, but apparently some GNU ld's only accept -v. [# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*) *GNU* | *'with BFD'*)
lt_cv_prog_gnu_ld=yes lt_cv_prog_gnu_ld=yes
@ -3731,7 +3739,7 @@ gnu*)
hpux10.20* | hpux11*) hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_cmd=/usr/bin/file
case "$host_cpu" in case $host_cpu in
ia64*) ia64*)
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
@ -3905,13 +3913,13 @@ esac
# ----------------------------------- # -----------------------------------
# sets LIBLTDL to the link flags for the libltdl convenience library and # sets LIBLTDL to the link flags for the libltdl convenience library and
# LTDLINCL to the include flags for the libltdl header and adds # LTDLINCL to the include flags for the libltdl header and adds
# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL # --enable-ltdl-convenience to the configure arguments. Note that
# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will # it is assumed to be `libltdl'. LIBLTDL will be prefixed with
# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with # '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
# '${top_srcdir}/' (note the single quotes!). If your package is not # (note the single quotes!). If your package is not flat and you're not
# flat and you're not using automake, define top_builddir and # using automake, define top_builddir and top_srcdir appropriately in
# top_srcdir appropriately in the Makefiles. # the Makefiles.
AC_DEFUN([AC_LIBLTDL_CONVENIENCE], AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
case $enable_ltdl_convenience in case $enable_ltdl_convenience in
@ -3930,13 +3938,13 @@ AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
# ----------------------------------- # -----------------------------------
# sets LIBLTDL to the link flags for the libltdl installable library and # sets LIBLTDL to the link flags for the libltdl installable library and
# LTDLINCL to the include flags for the libltdl header and adds # LTDLINCL to the include flags for the libltdl header and adds
# --enable-ltdl-install to the configure arguments. Note that LIBLTDL # --enable-ltdl-install to the configure arguments. Note that
# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
# DIRECTORY is not provided and an installed libltdl is not found, it is # and an installed libltdl is not found, it is assumed to be `libltdl'.
# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' # LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single # '${top_srcdir}/' (note the single quotes!). If your package is not
# quotes!). If your package is not flat and you're not using automake, # flat and you're not using automake, define top_builddir and top_srcdir
# define top_builddir and top_srcdir appropriately in the Makefiles. # appropriately in the Makefiles.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL. # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
AC_DEFUN([AC_LIBLTDL_INSTALLABLE], AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
@ -4115,7 +4123,7 @@ test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and # On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC. # are all built from PIC.
case "$host_os" in case $host_os in
aix3*) aix3*)
test "$enable_shared" = yes && enable_static=no test "$enable_shared" = yes && enable_static=no
if test -n "$RANLIB"; then if test -n "$RANLIB"; then
@ -4182,7 +4190,7 @@ _LT_AC_TAGVAR(postdeps, $1)=
_LT_AC_TAGVAR(compiler_lib_search_path, $1)= _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
# Source file extension for C++ test sources. # Source file extension for C++ test sources.
ac_ext=cc ac_ext=cpp
# Object file extension for compiled C++ test sources. # Object file extension for compiled C++ test sources.
objext=o objext=o
@ -4398,7 +4406,7 @@ case $host_os in
# Exported symbols can be pulled into shared objects from archives # Exported symbols can be pulled into shared objects from archives
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds it's shared libraries. # This is similar to how AIX traditionally builds its shared libraries.
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi fi
fi fi
@ -4437,7 +4445,7 @@ case $host_os in
fi fi
;; ;;
darwin* | rhapsody*) darwin* | rhapsody*)
case "$host_os" in case $host_os in
rhapsody* | darwin1.[[012]]) rhapsody* | darwin1.[[012]])
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
;; ;;
@ -4475,7 +4483,7 @@ case $host_os in
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
fi fi
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
if test "X$lt_int_apple_cc_single_mod" = Xyes ; then if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
else else
@ -4488,7 +4496,7 @@ case $host_os in
output_verbose_link_cmd='echo' 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` $verstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's # 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 $verstring~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}' _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}'
;; ;;
@ -4568,7 +4576,7 @@ case $host_os in
;; ;;
hpux10*|hpux11*) hpux10*|hpux11*)
if test $with_gnu_ld = no; then if test $with_gnu_ld = no; then
case "$host_cpu" in case $host_cpu in
hppa*64*) hppa*64*)
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
@ -4584,7 +4592,7 @@ case $host_os in
;; ;;
esac esac
fi fi
case "$host_cpu" in case $host_cpu in
hppa*64*) hppa*64*)
_LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@ -4610,7 +4618,7 @@ case $host_os in
_LT_AC_TAGVAR(ld_shlibs, $1)=no _LT_AC_TAGVAR(ld_shlibs, $1)=no
;; ;;
aCC*) aCC*)
case "$host_cpu" in case $host_cpu in
hppa*64*|ia64*) hppa*64*|ia64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
;; ;;
@ -4631,7 +4639,7 @@ case $host_os in
*) *)
if test "$GXX" = yes; then if test "$GXX" = yes; then
if test $with_gnu_ld = no; then if test $with_gnu_ld = no; then
case "$host_cpu" in case $host_cpu in
ia64*|hppa*64*) ia64*|hppa*64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
;; ;;
@ -4732,7 +4740,7 @@ case $host_os in
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
;; ;;
cxx*) cxx*)
# Compaq C++ # Compaq C++
@ -4964,10 +4972,11 @@ case $host_os in
case $cc_basename in case $cc_basename in
CC*) CC*)
# Sun C++ 4.2, 5.x and Centerline C++ # Sun C++ 4.2, 5.x and Centerline C++
_LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _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)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@ -4987,15 +4996,7 @@ case $host_os in
esac esac
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
# Commands to make compiler produce verbose output that lists output_verbose_link_cmd='echo'
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
#
# There doesn't appear to be a way to prevent this compiler from
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
# Archives containing C++ object files must be created using # Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is # "CC -xar", where "CC" is the Sun C++ compiler. This is
@ -5152,7 +5153,7 @@ if AC_TRY_EVAL(ac_compile); then
# The `*' in the case matches for architectures that use `case' in # The `*' in the case matches for architectures that use `case' in
# $output_verbose_cmd can trigger glob expansion during the loop # $output_verbose_cmd can trigger glob expansion during the loop
# eval without this substitution. # eval without this substitution.
output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
for p in `eval $output_verbose_link_cmd`; do for p in `eval $output_verbose_link_cmd`; do
case $p in case $p in
@ -5228,6 +5229,21 @@ fi
$rm -f confest.$objext $rm -f confest.$objext
# PORTME: override above test on systems where it is broken
ifelse([$1],[CXX],
[case $host_os in
solaris*)
case $cc_basename in
CC*)
# 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'
;;
esac
esac
])
case " $_LT_AC_TAGVAR(postdeps, $1) " in case " $_LT_AC_TAGVAR(postdeps, $1) " in
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
esac esac
@ -5297,7 +5313,7 @@ test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and # On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC. # are all built from PIC.
case "$host_os" in case $host_os in
aix3*) aix3*)
test "$enable_shared" = yes && enable_static=no test "$enable_shared" = yes && enable_static=no
if test -n "$RANLIB"; then if test -n "$RANLIB"; then
@ -6196,7 +6212,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
hpux*) hpux*)
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX. # not for PA HP-UX.
case "$host_cpu" in case $host_cpu in
hppa*64*|ia64*) hppa*64*|ia64*)
;; ;;
*) *)
@ -6265,7 +6281,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
aCC*) aCC*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
case "$host_cpu" in case $host_cpu in
hppa*64*|ia64*) hppa*64*|ia64*)
# +Z the default # +Z the default
;; ;;
@ -6306,7 +6322,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# Portland Group C++ compiler. # Portland Group C++ compiler.
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;; ;;
cxx*) cxx*)
# Compaq C++ # Compaq C++
@ -6470,7 +6486,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
hpux*) hpux*)
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX. # not for PA HP-UX.
case "$host_cpu" in case $host_cpu in
hppa*64*|ia64*) hppa*64*|ia64*)
# +Z the default # +Z the default
;; ;;
@ -6517,7 +6533,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX. # not for PA HP-UX.
case "$host_cpu" in case $host_cpu in
hppa*64*|ia64*) hppa*64*|ia64*)
# +Z the default # +Z the default
;; ;;
@ -6547,12 +6563,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
;; ;;
pgcc* | pgf77* | pgf90*) pgcc* | pgf77* | pgf90* | pgf95*)
# Portland Group compilers (*not* the Pentium gcc compiler, # Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project) # which looks to be a dead project)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;; ;;
ccc*) ccc*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@ -6635,7 +6651,7 @@ if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
fi fi
case "$host_os" in case $host_os in
# For platforms which do not support PIC, -DPIC is meaningless: # For platforms which do not support PIC, -DPIC is meaningless:
*djgpp*) *djgpp*)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
@ -6731,7 +6747,7 @@ ifelse([$1],[CXX],[
if test "$with_gnu_ld" = yes; then if test "$with_gnu_ld" = yes; then
# If archive_cmds runs LD, not CC, wlarc should be empty # If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='${wl}' wlarc='${wl}'
# Set some defaults for GNU ld with shared library support. These # Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them # are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary. # here allows them to be overridden if necessary.
@ -6752,7 +6768,7 @@ ifelse([$1],[CXX],[
*\ 2.11.*) ;; # other 2.11 versions *\ 2.11.*) ;; # other 2.11 versions
*) supports_anon_versioning=yes ;; *) supports_anon_versioning=yes ;;
esac esac
# See if GNU ld supports shared libraries. # See if GNU ld supports shared libraries.
case $host_os in case $host_os in
aix3* | aix4* | aix5*) aix3* | aix4* | aix5*)
@ -6826,11 +6842,11 @@ EOF
tmp_addflag= tmp_addflag=
case $cc_basename,$host_cpu in case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler pgcc*) # Portland Group C compiler
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag' tmp_addflag=' $pic_flag'
;; ;;
pgf77* | pgf90* ) # Portland Group f77 and f90 compilers pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;; tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;; tmp_addflag=' -i_dynamic' ;;
@ -7036,7 +7052,7 @@ EOF
# Exported symbols can be pulled into shared objects from archives # Exported symbols can be pulled into shared objects from archives
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds it's shared libraries. # This is similar to how AIX traditionally builds its shared libraries.
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi fi
fi fi
@ -7076,7 +7092,7 @@ EOF
;; ;;
darwin* | rhapsody*) darwin* | rhapsody*)
case "$host_os" in case $host_os in
rhapsody* | darwin1.[[012]]) rhapsody* | darwin1.[[012]])
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
;; ;;
@ -7105,7 +7121,7 @@ EOF
output_verbose_link_cmd='echo' output_verbose_link_cmd='echo'
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's # 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 -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -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}' _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
else else
@ -7114,7 +7130,7 @@ EOF
output_verbose_link_cmd='echo' 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` $verstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's # 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 $verstring~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}' _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}'
;; ;;
@ -7180,7 +7196,7 @@ EOF
hpux10* | hpux11*) hpux10* | hpux11*)
if test "$GCC" = yes -a "$with_gnu_ld" = no; then if test "$GCC" = yes -a "$with_gnu_ld" = no; then
case "$host_cpu" in case $host_cpu in
hppa*64*|ia64*) hppa*64*|ia64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;; ;;
@ -7189,7 +7205,7 @@ EOF
;; ;;
esac esac
else else
case "$host_cpu" in case $host_cpu in
hppa*64*|ia64*) hppa*64*|ia64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
;; ;;
@ -7199,7 +7215,7 @@ EOF
esac esac
fi fi
if test "$with_gnu_ld" = no; then if test "$with_gnu_ld" = no; then
case "$host_cpu" in case $host_cpu in
hppa*64*) hppa*64*)
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
@ -9113,3 +9129,4 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar]) AC_SUBST([am__untar])
]) # _AM_PROG_TAR ]) # _AM_PROG_TAR
m4_include([acinclude.m4])

View File

@ -347,6 +347,9 @@
/* Version number of package */ /* Version number of package */
#undef VERSION #undef VERSION
/* Define if you want to enable Audit messages */
#undef WITH_AUDIT
/* Build shadow with SELinux support */ /* Build shadow with SELinux support */
#undef WITH_SELINUX #undef WITH_SELINUX

827
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
AC_INIT AC_INIT
AM_INIT_AUTOMAKE(shadow, 4.0.12) AM_INIT_AUTOMAKE(shadow, 4.0.13)
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
dnl Some hacks... dnl Some hacks...
@ -202,7 +202,7 @@ AC_DEFINE(getpass, libshadow_getpass,
[Define to libshadow_getpass to use our own version of getpass().]) [Define to libshadow_getpass to use our own version of getpass().])
AC_ARG_ENABLE(shadowgrp, AC_ARG_ENABLE(shadowgrp,
[ --enable-shadowgrp enable shadow group support [default=yes]], [AC_HELP_STRING([--enable-shadowgrp], [enable shadow group support @<:@default=yes@:>@])],
[case "${enableval}" in [case "${enableval}" in
yes) enable_shadowgrp="yes" ;; yes) enable_shadowgrp="yes" ;;
no) enable_shadowgrp="no" ;; no) enable_shadowgrp="no" ;;
@ -211,10 +211,28 @@ AC_ARG_ENABLE(shadowgrp,
[enable_shadowgrp="yes"] [enable_shadowgrp="yes"]
) )
AC_ARG_WITH(libcrack, [ --with-libcrack try to use libcrack (default if found)]) AC_ARG_ENABLE(man,
AC_ARG_WITH(libpam, [ --with-libpam use libpam for PAM support]) [AC_HELP_STRING([--enable-man],
AC_ARG_WITH(selinux, [ --with-selinux use SELinux support]) [regenerate roff man pages from Docbook @<:@default=no@:>@])],
AC_ARG_WITH(skey, [ --with-skey use S/Key support]) [enable_man=yes],
[enable_man=no]
)
AC_ARG_WITH(audit,
[AC_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])],
[with_audit=$withval], [with_audit=yes])
AC_ARG_WITH(libpam,
[AC_HELP_STRING([--with-libpam], [use libpam for PAM support @<:@default=yes if found@:>@])],
[with_libpam=$withval], [with_libpam=yes])
AC_ARG_WITH(selinux,
[AC_HELP_STRING([--with-selinux], [use SELinux support @<:@default=autodetect@:>@])],
[with_selinux=$withval], [with_selinux=yes])
AC_ARG_WITH(skey,
[AC_HELP_STRING([--with-skey], [use S/Key support @<:@default=no@:>@])],
[with_skey=$withval], [with_skey=no])
AC_ARG_WITH(libcrack,
[AC_HELP_STRING([--with-libcrack], [use libcrack @<:@default=yes if found and if PAM not enabled@:>@])],
[with_libcrack=$withval], [with_libcrack=no])
dnl Check for some functions in libc first, only if not found check for dnl Check for some functions in libc first, only if not found check for
dnl other libraries. This should prevent linking libnsl if not really dnl other libraries. This should prevent linking libnsl if not really
@ -228,10 +246,37 @@ if test "$enable_shadowgrp" = "yes"; then
AC_DEFINE(SHADOWGRP, 1, [Define to support the shadow group file.]) AC_DEFINE(SHADOWGRP, 1, [Define to support the shadow group file.])
fi fi
if test "$enable_man" = "yes"; then
dnl
dnl Check for xsltproc
dnl
AC_PATH_PROG([XSLTPROC], [xsltproc])
if test -z "$XSLTPROC"; then
enable_man=no
fi
dnl check for DocBook DTD and stylesheets in the local catalog.
JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
[DocBook XML DTD V4.1.2], [], enable_man=no)
JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
[DocBook XSL Stylesheets], [], enable_man=no)
fi
AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test x$enable_man != xno)
AC_SUBST(LIBCRYPT) AC_SUBST(LIBCRYPT)
AC_CHECK_LIB(crypt, crypt, [LIBCRYPT=-lcrypt], AC_CHECK_LIB(crypt, crypt, [LIBCRYPT=-lcrypt],
[AC_MSG_ERROR([crypt() not found])]) [AC_MSG_ERROR([crypt() not found])])
AC_SUBST(LIBAUDIT)
if test "$with_audit" = "yes"; then
AC_CHECK_HEADER(libaudit.h, [audit_header="yes"], [audit_header="no"])
if test "$audit_header" = "yes"; then
AC_CHECK_LIB(audit, audit_send_message_if_enabled,
[AC_DEFINE(WITH_AUDIT, 1, [Define if you want to enable Audit messages])
LIBAUDIT="-laudit"])
fi
fi
AC_SUBST(LIBCRACK) AC_SUBST(LIBCRACK)
if test "$with_libcrack" = "yes"; then if test "$with_libcrack" = "yes"; then
echo "checking cracklib flavour, don't be surprised by the results" echo "checking cracklib flavour, don't be surprised by the results"
@ -244,7 +289,9 @@ if test "$with_libcrack" = "yes"; then
fi fi
if test "$with_selinux" = "yes"; then if test "$with_selinux" = "yes"; then
AC_CHECK_LIB(selinux, is_selinux_enabled, [LIBSELINUX="-lselinux"], [SELinux enabled but libselinux not found]) AC_CHECK_LIB(selinux, is_selinux_enabled,
[LIBSELINUX="-lselinux"],
[AC_MSG_ERROR([libselinux not found])])
AC_SUBST(LIBSELINUX) AC_SUBST(LIBSELINUX)
AC_CHECK_HEADERS(selinux/selinux.h, [], [selinux/selinux.h is missing]) AC_CHECK_HEADERS(selinux/selinux.h, [], [selinux/selinux.h is missing])
AC_DEFINE(WITH_SELINUX, 1, [Build shadow with SELinux support]) AC_DEFINE(WITH_SELINUX, 1, [Build shadow with SELinux support])
@ -272,7 +319,7 @@ fi
AC_SUBST(LIBSKEY) AC_SUBST(LIBSKEY)
AC_SUBST(LIBMD) AC_SUBST(LIBMD)
if test "$with_libskey" = "yes"; then if test "$with_skey" = "yes"; then
AC_CHECK_LIB(md, MD5Init, [LIBMD=-lmd]) AC_CHECK_LIB(md, MD5Init, [LIBMD=-lmd])
AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey], AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey],
[AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])]) [AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])])
@ -310,3 +357,14 @@ AC_CONFIG_FILES([
shadow.spec shadow.spec
]) ])
AC_OUTPUT AC_OUTPUT
echo
echo "shadow will be compiled with the followig feactures:"
echo
echo " auditing support: $with_audit"
echo " CrackLib support: $with_libcrack"
echo " PAM support: $with_libpam"
echo " SELinux support: $with_selinux"
echo " shadow group support: $enable_shadowgrp"
echo " S/Key support: $with_skey"
echo

View File

@ -41,7 +41,8 @@ host_triplet = @host@
subdir = contrib subdir = contrib
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -126,6 +130,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -186,9 +193,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu contrib/Makefile $(AUTOMAKE) --foreign contrib/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \

View File

@ -41,7 +41,8 @@ host_triplet = @host@
subdir = doc subdir = doc
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -126,6 +130,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -186,9 +193,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/Makefile $(AUTOMAKE) --foreign doc/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \

View File

@ -5,8 +5,6 @@ EXTRA_DIST = \
limits \ limits \
login.access \ login.access \
login.defs \ login.defs \
login.defs.hurd \
login.defs.linux \
useradd useradd
SUBDIRS = pam.d SUBDIRS = pam.d

View File

@ -41,7 +41,8 @@ host_triplet = @host@
subdir = etc subdir = etc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -85,6 +86,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -96,6 +99,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -135,6 +139,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -183,8 +190,6 @@ EXTRA_DIST = \
limits \ limits \
login.access \ login.access \
login.defs \ login.defs \
login.defs.hurd \
login.defs.linux \
useradd useradd
SUBDIRS = pam.d SUBDIRS = pam.d
@ -200,9 +205,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu etc/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign etc/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu etc/Makefile $(AUTOMAKE) --foreign etc/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \

View File

@ -1,20 +1,13 @@
# #
# /etc/login.defs - Configuration control definitions for the login package. # /etc/login.defs - Configuration control definitions for the shadow package.
# #
# $Id: login.defs,v 1.6 2005/03/07 10:09:06 kloczek Exp $ # $Id: login.defs,v 1.8 2005/09/01 19:57:45 kloczek Exp $
#
# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH.
# If unspecified, some arbitrary (and possibly incorrect) value will
# be assumed. All other items are optional - if not specified then
# the described action or option will be inhibited.
#
# Comment lines (lines beginning with "#") and blank lines are ignored.
# #
# #
# Delay in seconds before being allowed another attempt after a login failure # Delay in seconds before being allowed another attempt after a login failure
# #
FAIL_DELAY 5 FAIL_DELAY 3
# #
# Enable logging and display of /var/log/faillog login failure info. # Enable logging and display of /var/log/faillog login failure info.
@ -24,7 +17,12 @@ FAILLOG_ENAB yes
# #
# Enable display of unknown usernames when login failures are recorded. # Enable display of unknown usernames when login failures are recorded.
# #
LOG_UNKFAIL_ENAB yes LOG_UNKFAIL_ENAB no
#
# Enable logging of successful logins
#
LOG_OK_LOGINS no
# #
# Enable logging and display of /var/log/lastlog login time info. # Enable logging and display of /var/log/lastlog login time info.
@ -34,6 +32,9 @@ LASTLOG_ENAB yes
# #
# Enable checking and display of mailbox status upon login. # Enable checking and display of mailbox status upon login.
# #
# Disable if the shell startup files already check for mail
# ("mailx -e" or equivalent).
#
MAIL_CHECK_ENAB yes MAIL_CHECK_ENAB yes
# #
@ -55,21 +56,21 @@ QUOTAS_ENAB yes
# Enable "syslog" logging of su activity - in addition to sulog file logging. # Enable "syslog" logging of su activity - in addition to sulog file logging.
# SYSLOG_SG_ENAB does the same for newgrp and sg. # SYSLOG_SG_ENAB does the same for newgrp and sg.
# #
SYSLOG_SU_ENAB no SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB no SYSLOG_SG_ENAB yes
# #
# If defined, either full pathname of a file containing device names or # If defined, either full pathname of a file containing device names or
# a ":" delimited list of device names. Root logins will be allowed only # a ":" delimited list of device names. Root logins will be allowed only
# upon these devices. # upon these devices.
# #
CONSOLE /etc/consoles CONSOLE /etc/securetty
#CONSOLE console:tty01:tty02:tty03:tty04 #CONSOLE console:tty01:tty02:tty03:tty04
# #
# If defined, all su activity is logged to this file. # If defined, all su activity is logged to this file.
# #
SULOG_FILE /var/log/sulog #SULOG_FILE /var/log/sulog
# #
# If defined, ":" delimited list of "message of the day" files to # If defined, ":" delimited list of "message of the day" files to
@ -87,19 +88,20 @@ MOTD_FILE /etc/motd
# If defined, file which maps tty line to TERM environment parameter. # If defined, file which maps tty line to TERM environment parameter.
# Each line of the file is in a format something like "vt100 tty01". # Each line of the file is in a format something like "vt100 tty01".
# #
TTYTYPE_FILE /etc/ttytype #TTYTYPE_FILE /etc/ttytype
# #
# If defined, login failures will be logged here in a utmp format. # If defined, login failures will be logged here in a utmp format.
# last, when invoked as lastb, will read /var/log/btmp, so...
# #
FTMP_FILE /etc/ftmp FTMP_FILE /var/log/btmp
# #
# If defined, name of file whose presence which will inhibit non-root # If defined, name of file whose presence which will inhibit non-root
# logins. The contents of this file should be a message indicating # logins. The contents of this file should be a message indicating
# why logins are inhibited. # why logins are inhibited.
# #
NOLOGINS_FILE /etc/nologins NOLOGINS_FILE /etc/nologin
# #
# If defined, the command name to display when running "su -". For # If defined, the command name to display when running "su -". For
@ -113,10 +115,8 @@ SU_NAME su
# *REQUIRED* # *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the # Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence. # home directory. If you _do_ define both, MAIL_DIR takes precedence.
# MAILDIR is for Qmail
# #
#MAILDIR Maildir MAIL_DIR /var/spool/mail
MAIL_DIR /var/mail
#MAIL_FILE .mail #MAIL_FILE .mail
# #
@ -125,24 +125,28 @@ MAIL_DIR /var/mail
# user's name or shell are found in the file. If not a full pathname, then # user's name or shell are found in the file. If not a full pathname, then
# hushed mode will be enabled if the file exists in the user's home directory. # hushed mode will be enabled if the file exists in the user's home directory.
# #
#HUSHLOGIN_FILE .hushlogin HUSHLOGIN_FILE .hushlogin
HUSHLOGIN_FILE /etc/hushlogins #HUSHLOGIN_FILE /etc/hushlogins
# #
# If defined, either a TZ environment parameter spec or the # If defined, either a TZ environment parameter spec or the
# fully-rooted pathname of a file containing such a spec. # fully-rooted pathname of a file containing such a spec.
# #
ENV_TZ TZ=CST6CDT #ENV_TZ TZ=CST6CDT
#ENV_TZ /etc/tzname #ENV_TZ /etc/tzname
# #
# If defined, an HZ environment parameter spec. # If defined, an HZ environment parameter spec.
# #
ENV_HZ HZ=50 # for Linux/x86
ENV_HZ HZ=100
# For Linux/Alpha...
#ENV_HZ HZ=1024
# #
# *REQUIRED* The default PATH settings, for superuser and normal users. # *REQUIRED* The default PATH settings, for superuser and normal users.
# #
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin
ENV_PATH PATH=/bin:/usr/bin ENV_PATH PATH=/bin:/usr/bin
@ -157,9 +161,8 @@ ENV_PATH PATH=/bin:/usr/bin
# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign # TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign
# TTYPERM to either 622 or 600. # TTYPERM to either 622 or 600.
# #
#TTYGROUP 7 TTYGROUP tty
#TTYPERM 0620 TTYPERM 0600
TTYPERM 0622
# #
# Login configuration initializations: # Login configuration initializations:
@ -171,13 +174,14 @@ TTYPERM 0622
# #
# The ERASECHAR and KILLCHAR are used only on System V machines. # The ERASECHAR and KILLCHAR are used only on System V machines.
# The ULIMIT is used only if the system supports it. # The ULIMIT is used only if the system supports it.
# (now it works with setrlimit too; ulimit is in 512-byte units)
# #
# Prefix these values with "0" to get octal, "0x" to get hexadecimal. # Prefix these values with "0" to get octal, "0x" to get hexadecimal.
# #
ERASECHAR 010 ERASECHAR 0177
KILLCHAR 025 KILLCHAR 025
UMASK 022 UMASK 022
ULIMIT 2097152 #ULIMIT 2097152
# #
# Password aging controls: # Password aging controls:
@ -193,15 +197,144 @@ PASS_MIN_LEN 5
PASS_WARN_AGE 7 PASS_WARN_AGE 7
# #
# Only allow group 0 members to "su" to root. # If "yes", the user must be listed as a member of the first gid 0 group
# in /etc/group (called "root" on most Linux systems) to be able to "su"
# to uid 0 accounts. If the group doesn't exist or is empty, no one
# will be able to "su" to uid 0.
# #
SU_WHEEL_ONLY no SU_WHEEL_ONLY no
# #
# If compiled with cracklib support, where are the dictionaries # If compiled with cracklib support, where are the dictionaries
# #
#CRACKLIB_DICTPATH /usr/share/lib/pw_dict CRACKLIB_DICTPATH /var/cache/cracklib/cracklib_dict
# chkpasswd uses this one #
MD5_CRYPT_ENAB yes # Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 100
GID_MAX 60000
#
# Max number of login retries if password is bad
#
LOGIN_RETRIES 5
#
# Max time in seconds for login
#
LOGIN_TIMEOUT 60
#
# Maximum number of attempts to change password if rejected (too easy)
#
PASS_CHANGE_TRIES 5
#
# Warn about weak passwords (but still allow them) if you are root.
#
PASS_ALWAYS_WARN yes
#
# Number of significant characters in the password for crypt().
# Default is 8, don't change unless your crypt() is better.
# Ignored if MD5_CRYPT_ENAB set to "yes".
#
#PASS_MAX_LEN 8
#
# Require password before chfn/chsh can make any changes.
#
CHFN_AUTH yes
#
# Which fields may be changed by regular users using chfn - use
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
#
CHFN_RESTRICT rwh
#
# Password prompt (%s will be replaced by user name).
#
# XXX - it doesn't work correctly yet, for now leave it commented out
# to use the default which is just "Password: ".
#LOGIN_STRING "%s's Password: "
#
# Only works if compiled with MD5_CRYPT defined:
# If set to "yes", new passwords will be encrypted using the MD5-based
# algorithm compatible with the one used by recent releases of FreeBSD.
# It supports passwords of unlimited length and longer salt strings.
# Set to "no" if you need to copy encrypted passwords to other systems
# which don't understand the new algorithm. Default is "no".
#
#MD5_CRYPT_ENAB no
#
# List of groups to add to the user's supplementary group set
# when logging in on the console (as determined by the CONSOLE
# setting). Default is none.
#
# Use with caution - it is possible for users to gain permanent
# access to these groups, even when not logged in on the console.
# How to do it is left as an exercise for the reader...
#
#CONSOLE_GROUPS floppy:audio:cdrom
#
# Should login be allowed if we can't cd to the home directory?
# Default in no.
#
DEFAULT_HOME yes
#
# If this file exists and is readable, login environment will be
# read from it. Every line should be in the form name=value.
#
ENVIRON_FILE /etc/environment
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# When prompting for password without echo, getpass() can optionally
# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
# characters for each character typed. This feature is designed to
# confuse people looking over your shoulder when you enter a password :-).
# Also, the new getpass() accepts both Backspace (8) and Delete (127)
# keys to delete previous character (to cope with different terminal
# types), Control-U to delete all characters, and beeps when there are
# no more characters to delete, or too many characters entered.
#
# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
# exactly one '*' displayed for each character typed.
#
# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
# Delete, Control-U and beep continue to work as described above).
#
# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
# without any new features. This is the default.
#
#GETPASS_ASTERISKS 1
#
# Enable setting of the umask group bits to be the same as owner bits
# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
# the same as gid, and username is the same as the primary group name.
#
# This also enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes

View File

@ -1,141 +0,0 @@
#
# /etc/login.defs - Configuration control definitions for the login package.
#
# $Id: login.defs.hurd,v 1.3 2005/08/09 18:09:41 kloczek Exp $
#
# One item must be defined: MAIL_DIR.
# If unspecified, some arbitrary (and possibly incorrect) value will
# be assumed. All other items are optional - if not specified then
# the described action or option will be inhibited.
#
# Comment lines (lines beginning with "#") and blank lines are ignored.
#
# Modified for the Hurd. --brinkmd
#
# Enable additional checks upon password changes.
#
OBSCURE_CHECKS_ENAB yes
#
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
#
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail
#
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
#
# If compiled with cracklib support, where are the dictionaries
#
#CRACKLIB_DICTPATH /usr/lib/passwd/pw_dict
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 100
GID_MAX 60000
#
# Maximum number of attempts to change password if rejected (too easy)
#
PASS_CHANGE_TRIES 5
#
# Warn about weak passwords (but still allow them) if you are root.
#
PASS_ALWAYS_WARN yes
#
# Number of significant characters in the password for crypt().
# Default is 8, don't change unless your crypt() is better.
# Ignored if MD5_CRYPT_ENAB set to "yes".
#
#PASS_MAX_LEN 8
#
# Require password before chfn/chsh can make any changes.
#
CHFN_AUTH yes
#
# Which fields may be changed by regular users using chfn - use
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
#
CHFN_RESTRICT rwh
#
# Password prompt (%s will be replaced by user name).
#
# XXX - it doesn't work correctly yet, for now leave it commented out
# to use the default which is just "Password: ".
#LOGIN_STRING "%s's Password: "
#
# Only works if compiled with MD5_CRYPT defined:
# If set to "yes", new passwords will be encrypted using the MD5-based
# algorithm compatible with the one used by recent releases of FreeBSD.
# It supports passwords of unlimited length and longer salt strings.
# Set to "no" if you need to copy encrypted passwords to other systems
# which don't understand the new algorithm. Default is "no".
#
#MD5_CRYPT_ENAB no
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# When prompting for password without echo, getpass() can optionally
# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
# characters for each character typed. This feature is designed to
# confuse people looking over your shoulder when you enter a password :-).
# Also, the new getpass() accepts both Backspace (8) and Delete (127)
# keys to delete previous character (to cope with different terminal
# types), Control-U to delete all characters, and beeps when there are
# no more characters to delete, or too many characters entered.
#
# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
# exactly one '*' displayed for each character typed.
#
# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
# Delete, Control-U and beep continue to work as described above).
#
# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
# without any new features. This is the default.
#
#GETPASS_ASTERISKS 1
#
# Enable setting of the umask group bits to be the same as owner bits
# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
# the same as gid, and username is the same as the primary group name.
#
# This also enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes

View File

@ -1,348 +0,0 @@
#
# /etc/login.defs - Configuration control definitions for the login package.
#
# $Id: login.defs.linux,v 1.16 2005/08/09 18:09:41 kloczek Exp $
#
# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH.
# If unspecified, some arbitrary (and possibly incorrect) value will
# be assumed. All other items are optional - if not specified then
# the described action or option will be inhibited.
#
# Comment lines (lines beginning with "#") and blank lines are ignored.
#
# Modified for Linux. --marekm
#
# Delay in seconds before being allowed another attempt after a login failure
#
FAIL_DELAY 3
#
# Enable logging and display of /var/log/faillog login failure info.
#
FAILLOG_ENAB yes
#
# Enable display of unknown usernames when login failures are recorded.
#
LOG_UNKFAIL_ENAB no
#
# Enable logging of successful logins
#
LOG_OK_LOGINS no
#
# Enable logging and display of /var/log/lastlog login time info.
#
LASTLOG_ENAB yes
#
# Enable checking and display of mailbox status upon login.
#
# Disable if the shell startup files already check for mail
# ("mailx -e" or equivalent).
#
MAIL_CHECK_ENAB yes
#
# Enable additional checks upon password changes.
#
OBSCURE_CHECKS_ENAB yes
#
# Enable checking of time restrictions specified in /etc/porttime.
#
PORTTIME_CHECKS_ENAB yes
#
# Enable setting of ulimit, umask, and niceness from passwd gecos field.
#
QUOTAS_ENAB yes
#
# Enable "syslog" logging of su activity - in addition to sulog file logging.
# SYSLOG_SG_ENAB does the same for newgrp and sg.
#
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
#
# If defined, either full pathname of a file containing device names or
# a ":" delimited list of device names. Root logins will be allowed only
# upon these devices.
#
CONSOLE /etc/securetty
#CONSOLE console:tty01:tty02:tty03:tty04
#
# If defined, all su activity is logged to this file.
#
#SULOG_FILE /var/log/sulog
#
# If defined, ":" delimited list of "message of the day" files to
# be displayed upon login.
#
MOTD_FILE /etc/motd
#MOTD_FILE /etc/motd:/usr/lib/news/news-motd
#
# If defined, this file will be output before each login prompt.
#
#ISSUE_FILE /etc/issue
#
# If defined, file which maps tty line to TERM environment parameter.
# Each line of the file is in a format something like "vt100 tty01".
#
#TTYTYPE_FILE /etc/ttytype
#
# If defined, login failures will be logged here in a utmp format.
# last, when invoked as lastb, will read /var/log/btmp, so...
#
FTMP_FILE /var/log/btmp
#
# If defined, name of file whose presence which will inhibit non-root
# logins. The contents of this file should be a message indicating
# why logins are inhibited.
#
NOLOGINS_FILE /etc/nologin
#
# If defined, the command name to display when running "su -". For
# example, if this is defined as "su" then a "ps" will display the
# command is "-su". If not defined, then "ps" would display the
# name of the shell actually being run, e.g. something like "-sh".
#
SU_NAME su
#
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
#
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail
#
# If defined, file which inhibits all the usual chatter during the login
# sequence. If a full pathname, then hushed mode will be enabled if the
# user's name or shell are found in the file. If not a full pathname, then
# hushed mode will be enabled if the file exists in the user's home directory.
#
HUSHLOGIN_FILE .hushlogin
#HUSHLOGIN_FILE /etc/hushlogins
#
# If defined, either a TZ environment parameter spec or the
# fully-rooted pathname of a file containing such a spec.
#
#ENV_TZ TZ=CST6CDT
#ENV_TZ /etc/tzname
#
# If defined, an HZ environment parameter spec.
#
# for Linux/x86
ENV_HZ HZ=100
# For Linux/Alpha...
#ENV_HZ HZ=1024
#
# *REQUIRED* The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin
ENV_PATH PATH=/bin:/usr/bin
#
# Terminal permissions
#
# TTYGROUP Login tty will be assigned this group ownership.
# TTYPERM Login tty will be set to this permission.
#
# If you have a "write" program which is "setgid" to a special group
# which owns the terminals, define TTYGROUP to the group number and
# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign
# TTYPERM to either 622 or 600.
#
TTYGROUP tty
TTYPERM 0600
#
# Login configuration initializations:
#
# ERASECHAR Terminal ERASE character ('\010' = backspace).
# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
# UMASK Default "umask" value.
# ULIMIT Default "ulimit" value.
#
# The ERASECHAR and KILLCHAR are used only on System V machines.
# The ULIMIT is used only if the system supports it.
# (now it works with setrlimit too; ulimit is in 512-byte units)
#
# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
#
ERASECHAR 0177
KILLCHAR 025
UMASK 022
#ULIMIT 2097152
#
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
#
# If "yes", the user must be listed as a member of the first gid 0 group
# in /etc/group (called "root" on most Linux systems) to be able to "su"
# to uid 0 accounts. If the group doesn't exist or is empty, no one
# will be able to "su" to uid 0.
#
SU_WHEEL_ONLY no
#
# If compiled with cracklib support, where are the dictionaries
#
CRACKLIB_DICTPATH /var/cache/cracklib/cracklib_dict
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 100
GID_MAX 60000
#
# Max number of login retries if password is bad
#
LOGIN_RETRIES 5
#
# Max time in seconds for login
#
LOGIN_TIMEOUT 60
#
# Maximum number of attempts to change password if rejected (too easy)
#
PASS_CHANGE_TRIES 5
#
# Warn about weak passwords (but still allow them) if you are root.
#
PASS_ALWAYS_WARN yes
#
# Number of significant characters in the password for crypt().
# Default is 8, don't change unless your crypt() is better.
# Ignored if MD5_CRYPT_ENAB set to "yes".
#
#PASS_MAX_LEN 8
#
# Require password before chfn/chsh can make any changes.
#
CHFN_AUTH yes
#
# Which fields may be changed by regular users using chfn - use
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
#
CHFN_RESTRICT rwh
#
# Password prompt (%s will be replaced by user name).
#
# XXX - it doesn't work correctly yet, for now leave it commented out
# to use the default which is just "Password: ".
#LOGIN_STRING "%s's Password: "
#
# Only works if compiled with MD5_CRYPT defined:
# If set to "yes", new passwords will be encrypted using the MD5-based
# algorithm compatible with the one used by recent releases of FreeBSD.
# It supports passwords of unlimited length and longer salt strings.
# Set to "no" if you need to copy encrypted passwords to other systems
# which don't understand the new algorithm. Default is "no".
#
#MD5_CRYPT_ENAB no
#
# List of groups to add to the user's supplementary group set
# when logging in on the console (as determined by the CONSOLE
# setting). Default is none.
#
# Use with caution - it is possible for users to gain permanent
# access to these groups, even when not logged in on the console.
# How to do it is left as an exercise for the reader...
#
#CONSOLE_GROUPS floppy:audio:cdrom
#
# Should login be allowed if we can't cd to the home directory?
# Default in no.
#
DEFAULT_HOME yes
#
# If this file exists and is readable, login environment will be
# read from it. Every line should be in the form name=value.
#
ENVIRON_FILE /etc/environment
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# When prompting for password without echo, getpass() can optionally
# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
# characters for each character typed. This feature is designed to
# confuse people looking over your shoulder when you enter a password :-).
# Also, the new getpass() accepts both Backspace (8) and Delete (127)
# keys to delete previous character (to cope with different terminal
# types), Control-U to delete all characters, and beeps when there are
# no more characters to delete, or too many characters entered.
#
# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
# exactly one '*' displayed for each character typed.
#
# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
# Delete, Control-U and beep continue to work as described above).
#
# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
# without any new features. This is the default.
#
#GETPASS_ASTERISKS 1
#
# Enable setting of the umask group bits to be the same as owner bits
# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
# the same as gid, and username is the same as the primary group name.
#
# This also enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes

View File

@ -41,7 +41,8 @@ host_triplet = @host@
subdir = etc/pam.d subdir = etc/pam.d
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -76,6 +77,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -87,6 +90,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -126,6 +130,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -196,9 +203,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu etc/pam.d/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign etc/pam.d/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu etc/pam.d/Makefile $(AUTOMAKE) --foreign etc/pam.d/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \

View File

@ -33,7 +33,6 @@ libshadow_la_SOURCES = \
pwauth.h \ pwauth.h \
pwio.c \ pwio.c \
pwio.h \ pwio.h \
rcsid.h \
sgetgrent.c \ sgetgrent.c \
sgetpwent.c \ sgetpwent.c \
sgroupio.c \ sgroupio.c \

View File

@ -39,7 +39,8 @@ host_triplet = @host@
subdir = lib subdir = lib
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -105,6 +106,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -116,6 +119,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -155,6 +159,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -228,7 +235,6 @@ libshadow_la_SOURCES = \
pwauth.h \ pwauth.h \
pwio.c \ pwio.c \
pwio.h \ pwio.h \
rcsid.h \
sgetgrent.c \ sgetgrent.c \
sgetpwent.c \ sgetpwent.c \
sgroupio.c \ sgroupio.c \

View File

@ -1,8 +1,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: commonio.c,v 1.30 2005/09/24 12:22:50 kloczek Exp $"
RCSID ("$Id: commonio.c,v 1.28 2005/03/31 05:14:49 kloczek Exp $")
#include "defines.h" #include "defines.h"
#include <sys/stat.h> #include <sys/stat.h>
#include <utime.h> #include <utime.h>
@ -432,7 +432,7 @@ int commonio_open (struct commonio_db *db, int mode)
} }
#ifdef WITH_SELINUX #ifdef WITH_SELINUX
db->scontext = NULL; db->scontext = NULL;
if (is_selinux_enabled () && (!db->readonly)) { if ((is_selinux_enabled () > 0) && (!db->readonly)) {
if (fgetfilecon (fileno (db->fp), &db->scontext) < 0) { if (fgetfilecon (fileno (db->fp), &db->scontext) < 0) {
goto cleanup_errno; goto cleanup_errno;
} }

View File

@ -1,4 +1,4 @@
/* $Id: defines.h,v 1.27 2005/08/03 18:11:27 kloczek Exp $ */ /* $Id: defines.h,v 1.29 2005/09/05 16:22:03 kloczek Exp $ */
/* some useful defines */ /* some useful defines */
#ifndef _DEFINES_H_ #ifndef _DEFINES_H_
@ -331,4 +331,15 @@ extern char *strerror ();
#define SHADOW_PASSWD_STRING "x" #define SHADOW_PASSWD_STRING "x"
#endif #endif
#ifdef WITH_AUDIT
#ifdef __u8 /* in case we use pam < 0.80 */
#undef __u8
#endif
#ifdef __u32
#undef __u32
#endif
#include <libaudit.h>
#endif
#endif /* _DEFINES_H_ */ #endif /* _DEFINES_H_ */

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: encrypt.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: encrypt.c,v 1.13 2005/05/25 19:31:50 kloczek Exp $")
#include <unistd.h> #include <unistd.h>
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"

View File

@ -1,9 +1,13 @@
/* $Id: exitcodes.h,v 1.3 2005/07/27 10:10:31 kloczek Exp $ */ /* $Id: exitcodes.h,v 1.7 2005/08/31 17:36:11 kloczek Exp $ */
/* /*
* Exit codes used by shadow programs * Exit codes used by shadow programs
*/ */
#define E_SUCCESS 0 /* success */ #define E_SUCCESS 0 /* success */
#define E_NOPERM 1 /* permission denied */ #define E_NOPERM 1 /* permission denied */
#define E_USAGE 2 /* invalid command syntax */ #define E_USAGE 2 /* invalid command syntax */
#define E_BAD_ARG 3 /* invalid argument to option */ #define E_BAD_ARG 3 /* invalid argument to option */
#define E_PASSWD_NOTFOUND 14 /* not found password file */
#define E_SHADOW_NOTFOUND 15 /* not found shadow password file */
#define E_GROUP_NOTFOUND 16 /* not found group file */
#define E_GSHADOW_NOTFOUND 17 /* not found shadow group file */

View File

@ -32,8 +32,8 @@
#include <stdio.h> #include <stdio.h>
#include "defines.h" #include "defines.h"
#include "rcsid.h" #ident "$Id: fputsx.c,v 1.7 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: fputsx.c,v 1.6 2005/03/31 05:14:49 kloczek Exp $")
char *fgetsx (char *buf, int cnt, FILE * f) char *fgetsx (char *buf, int cnt, FILE * f)
{ {

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: getdef.c,v 1.36 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: getdef.c,v 1.35 2005/08/11 11:26:11 kloczek Exp $")
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
#include <stdio.h> #include <stdio.h>

View File

@ -30,8 +30,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: getpass.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: getpass.c,v 1.13 2005/03/31 05:14:49 kloczek Exp $")
#include "defines.h" #include "defines.h"
#include <signal.h> #include <signal.h>
#include <stdio.h> #include <stdio.h>

View File

@ -1,8 +1,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: groupio.c,v 1.13 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: groupio.c,v 1.12 2005/06/20 09:56:37 kloczek Exp $")
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
#include "commonio.h" #include "commonio.h"

View File

@ -32,8 +32,8 @@
/* Newer versions of Linux libc already have shadow support. */ /* Newer versions of Linux libc already have shadow support. */
#if defined(SHADOWGRP) && !defined(HAVE_SHADOWGRP) /*{ */ #if defined(SHADOWGRP) && !defined(HAVE_SHADOWGRP) /*{ */
#include "rcsid.h" #ident "$Id: gshadow.c,v 1.11 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: gshadow.c,v 1.10 2005/05/25 19:31:50 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"

View File

@ -31,8 +31,8 @@
#ifndef HAVE_LCKPWDF #ifndef HAVE_LCKPWDF
#include "rcsid.h" #ident "$Id: lockpw.c,v 1.7 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: lockpw.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $")
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
#include "pwio.h" #include "pwio.h"

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: port.c,v 1.5 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: port.c,v 1.4 2005/03/31 05:14:49 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include <ctype.h> #include <ctype.h>
#include <errno.h> #include <errno.h>

View File

@ -6,7 +6,7 @@
* Juha Virtanen, <jiivee@hut.fi>; November 1995 * Juha Virtanen, <jiivee@hut.fi>; November 1995
*/ */
/* /*
* $Id: prototypes.h,v 1.22 2005/08/02 10:50:51 kloczek Exp $ * $Id: prototypes.h,v 1.24 2005/09/05 16:22:03 kloczek Exp $
* *
* Added a macro to work around ancient (non-ANSI) compilers, just in case * Added a macro to work around ancient (non-ANSI) compilers, just in case
* someone ever tries to compile this with SunOS cc... --marekm * someone ever tries to compile this with SunOS cc... --marekm
@ -87,6 +87,18 @@ extern int putgrent (const struct group *, FILE *);
/* hushed.c */ /* hushed.c */
extern int hushed (const struct passwd *); extern int hushed (const struct passwd *);
/* audit_help.c */
#ifdef WITH_AUDIT
extern int audit_fd;
#endif
void audit_help_open (void);
void audit_help_log (const char *, ...)
#ifdef __GNUC__
__attribute__ ((format (printf, 1, 2)));
#else
;
#endif
/* limits.c */ /* limits.c */
extern void setup_limits (const struct passwd *); extern void setup_limits (const struct passwd *);

View File

@ -30,8 +30,8 @@
#include <config.h> #include <config.h>
#ifndef USE_PAM #ifndef USE_PAM
#include "rcsid.h" #ident "$Id: pwauth.c,v 1.19 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: pwauth.c,v 1.18 2005/07/07 18:53:14 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <signal.h> #include <signal.h>
#include <fcntl.h> #include <fcntl.h>

View File

@ -1,8 +1,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: pwio.c,v 1.16 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: pwio.c,v 1.15 2005/06/20 10:01:57 kloczek Exp $")
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
#include <pwd.h> #include <pwd.h>

View File

@ -1,23 +0,0 @@
/*
* $Id: rcsid.h,v 1.3 2005/03/31 05:14:49 kloczek Exp $
*/
#define PKG_VER " $Package: " PACKAGE " $ $Version: " VERSION " $ "
#if defined(NO_RCSID) || defined(lint)
#define RCSID(x) /* empty */
#else
#if __STDC__
/*
* This function is never called from anywhere, but it calls itself
* recursively only to fool gcc to not generate warnings :-).
*/
static const char *rcsid (const char *);
#define RCSID(x) \
static const char *rcsid(const char *s) { \
return rcsid(x); }
#else /* ! __STDC__ */
#define RCSID(x) \
static char *rcsid(s) char *s; { \
return rcsid(x); }
#endif /* ! __STDC__ */
#endif

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: sgetgrent.c,v 1.6 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: sgetgrent.c,v 1.5 2005/03/31 05:14:49 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include <grp.h> #include <grp.h>
#include "defines.h" #include "defines.h"

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: sgetpwent.c,v 1.8 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: sgetpwent.c,v 1.7 2005/03/31 05:14:49 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include "defines.h" #include "defines.h"
#include <stdio.h> #include <stdio.h>

View File

@ -3,8 +3,8 @@
#ifdef SHADOWGRP #ifdef SHADOWGRP
#include "rcsid.h" #ident "$Id: sgroupio.c,v 1.14 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: sgroupio.c,v 1.13 2005/03/31 05:14:49 kloczek Exp $")
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
#include "commonio.h" #include "commonio.h"

View File

@ -32,8 +32,8 @@
/* Newer versions of Linux libc already have shadow support. */ /* Newer versions of Linux libc already have shadow support. */
#ifndef HAVE_GETSPNAM #ifndef HAVE_GETSPNAM
#include "rcsid.h" #ident "$Id: shadow.c,v 1.12 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: shadow.c,v 1.11 2005/05/25 19:31:50 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"

View File

@ -1,8 +1,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: shadowio.c,v 1.16 2005/08/31 17:24:56 kloczek Exp $"
RCSID ("$Id: shadowio.c,v 1.15 2005/05/25 18:20:22 kloczek Exp $")
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
#ifdef HAVE_SHADOW_H #ifdef HAVE_SHADOW_H

View File

@ -8,6 +8,7 @@ noinst_LIBRARIES = libmisc.a
libmisc_a_SOURCES = \ libmisc_a_SOURCES = \
addgrps.c \ addgrps.c \
age.c \ age.c \
audit_help.c \
basename.c \ basename.c \
chkname.c \ chkname.c \
chkname.h \ chkname.h \
@ -20,8 +21,8 @@ libmisc_a_SOURCES = \
failure.c \ failure.c \
failure.h \ failure.h \
fields.c \ fields.c \
getdate.y \
getdate.h \ getdate.h \
getdate.y \
hushed.c \ hushed.c \
isexpired.c \ isexpired.c \
limits.c \ limits.c \

View File

@ -39,7 +39,8 @@ host_triplet = @host@
subdir = libmisc subdir = libmisc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in getdate.c DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in getdate.c
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -50,19 +51,20 @@ ARFLAGS = cru
libmisc_a_AR = $(AR) $(ARFLAGS) libmisc_a_AR = $(AR) $(ARFLAGS)
libmisc_a_LIBADD = libmisc_a_LIBADD =
am_libmisc_a_OBJECTS = addgrps.$(OBJEXT) age.$(OBJEXT) \ am_libmisc_a_OBJECTS = addgrps.$(OBJEXT) age.$(OBJEXT) \
basename.$(OBJEXT) chkname.$(OBJEXT) chowndir.$(OBJEXT) \ audit_help.$(OBJEXT) basename.$(OBJEXT) chkname.$(OBJEXT) \
chowntty.$(OBJEXT) console.$(OBJEXT) copydir.$(OBJEXT) \ chowndir.$(OBJEXT) chowntty.$(OBJEXT) console.$(OBJEXT) \
entry.$(OBJEXT) env.$(OBJEXT) failure.$(OBJEXT) \ copydir.$(OBJEXT) entry.$(OBJEXT) env.$(OBJEXT) \
fields.$(OBJEXT) getdate.$(OBJEXT) hushed.$(OBJEXT) \ failure.$(OBJEXT) fields.$(OBJEXT) getdate.$(OBJEXT) \
isexpired.$(OBJEXT) limits.$(OBJEXT) list.$(OBJEXT) \ hushed.$(OBJEXT) isexpired.$(OBJEXT) limits.$(OBJEXT) \
log.$(OBJEXT) loginprompt.$(OBJEXT) mail.$(OBJEXT) \ list.$(OBJEXT) log.$(OBJEXT) loginprompt.$(OBJEXT) \
motd.$(OBJEXT) myname.$(OBJEXT) obscure.$(OBJEXT) \ mail.$(OBJEXT) motd.$(OBJEXT) myname.$(OBJEXT) \
pam_pass.$(OBJEXT) pwd2spwd.$(OBJEXT) pwdcheck.$(OBJEXT) \ obscure.$(OBJEXT) pam_pass.$(OBJEXT) pwd2spwd.$(OBJEXT) \
pwd_init.$(OBJEXT) rlogin.$(OBJEXT) salt.$(OBJEXT) \ pwdcheck.$(OBJEXT) pwd_init.$(OBJEXT) rlogin.$(OBJEXT) \
setugid.$(OBJEXT) setupenv.$(OBJEXT) shell.$(OBJEXT) \ salt.$(OBJEXT) setugid.$(OBJEXT) setupenv.$(OBJEXT) \
strtoday.$(OBJEXT) sub.$(OBJEXT) sulog.$(OBJEXT) \ shell.$(OBJEXT) strtoday.$(OBJEXT) sub.$(OBJEXT) \
ttytype.$(OBJEXT) tz.$(OBJEXT) ulimit.$(OBJEXT) utmp.$(OBJEXT) \ sulog.$(OBJEXT) ttytype.$(OBJEXT) tz.$(OBJEXT) \
valid.$(OBJEXT) xmalloc.$(OBJEXT) ulimit.$(OBJEXT) utmp.$(OBJEXT) valid.$(OBJEXT) \
xmalloc.$(OBJEXT)
libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS) libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
@ -109,6 +111,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -120,6 +124,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -159,6 +164,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -209,6 +217,7 @@ noinst_LIBRARIES = libmisc.a
libmisc_a_SOURCES = \ libmisc_a_SOURCES = \
addgrps.c \ addgrps.c \
age.c \ age.c \
audit_help.c \
basename.c \ basename.c \
chkname.c \ chkname.c \
chkname.h \ chkname.h \
@ -221,8 +230,8 @@ libmisc_a_SOURCES = \
failure.c \ failure.c \
failure.h \ failure.h \
fields.c \ fields.c \
getdate.y \
getdate.h \ getdate.h \
getdate.y \
hushed.c \ hushed.c \
isexpired.c \ isexpired.c \
limits.c \ limits.c \
@ -264,9 +273,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libmisc/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libmisc/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu libmisc/Makefile $(AUTOMAKE) --foreign libmisc/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
@ -300,6 +309,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addgrps.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addgrps.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/age.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/age.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audit_help.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowndir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowndir.Po@am__quote@

View File

@ -9,8 +9,8 @@
#include <grp.h> #include <grp.h>
#include <errno.h> #include <errno.h>
#include "rcsid.h" #ident "$Id: addgrps.c,v 1.8 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: addgrps.c,v 1.7 2005/03/31 05:14:50 kloczek Exp $")
#define SEP ",:" #define SEP ",:"
/* /*
* Add groups with names from LIST (separated by commas or colons) * Add groups with names from LIST (separated by commas or colons)

View File

@ -38,8 +38,8 @@
#include <pwd.h> #include <pwd.h>
#include <grp.h> #include <grp.h>
#include "rcsid.h" #ident "$Id: age.c,v 1.12 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: age.c,v 1.11 2005/05/25 18:20:22 kloczek Exp $")
#ifndef PASSWD_PROGRAM #ifndef PASSWD_PROGRAM
#define PASSWD_PROGRAM "/bin/passwd" #define PASSWD_PROGRAM "/bin/passwd"
#endif #endif

96
libmisc/audit_help.c Normal file
View File

@ -0,0 +1,96 @@
/*
* Audit helper functions used throughout shadow
*
* Copyright (C) 2005, Red Hat, Inc.
*
* 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, this list of conditions and the following disclaimer.
* 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. Neither the name of Julianne F. Haugh nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``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 JULIE HAUGH OR CONTRIBUTORS 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.
*/
#include <config.h>
#ifdef WITH_AUDIT
#include <stdlib.h>
#include <syslog.h>
#include <stdarg.h>
#include <libaudit.h>
#include <errno.h>
#include <stdio.h>
int audit_fd;
void audit_help_open (void)
{
audit_fd = audit_open ();
if (audit_fd < 0) {
/* You get these only when the kernel doesn't have
* audit compiled in. */
if (errno == EINVAL || errno == EPROTONOSUPPORT ||
errno == EAFNOSUPPORT)
return;
fprintf (stderr, "Cannot open audit interface - aborting.\n");
exit (1);
}
}
/*
* This function will log a message to the audit system using a predefined
* message format. Parameter usage is as follows:
*
* type - type of message: AUDIT_USER_CHAUTHTOK for changing any account
* attributes.
* pgname - program's name
* op - operation. "adding user", "changing finger info", "deleting group"
* name - user's account or group name. If not available use NULL.
* id - uid or gid that the operation is being performed on. This is used
* only when user is NULL.
* result - 1 is "success" and 0 is "failed"
*/
void audit_logger (int type, const char *pgname, const char *op,
const char *name, unsigned int id, int result)
{
if (audit_fd < 0)
return;
else {
char buf[PATH_MAX];
const char *success;
if (result)
success = "success";
else
success = "failed";
if (name)
snprintf (buf, sizeof (buf), "%s: op=%s acct=%s res=%s",
pgname, op, name, success);
else
snprintf (buf, sizeof (buf), "%s: op=%s id=%u res=%s",
pgname, op, id, success);
audit_send_user_message (audit_fd, type, buf);
}
}
#endif /* WITH_AUDIT */

View File

@ -7,8 +7,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: basename.c,v 1.4 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: basename.c,v 1.3 2003/04/22 10:59:21 kloczek Exp $")
#include "defines.h" #include "defines.h"
#include "prototypes.h" #include "prototypes.h"
char *Basename (char *str) char *Basename (char *str)

View File

@ -5,8 +5,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: chkname.c,v 1.11 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: chkname.c,v 1.8 2003/05/12 05:29:14 kloczek Exp $")
#include <ctype.h> #include <ctype.h>
#include "defines.h" #include "defines.h"
#include "chkname.h" #include "chkname.h"
@ -18,7 +18,7 @@ RCSID ("$Id: chkname.c,v 1.8 2003/05/12 05:29:14 kloczek Exp $")
static int good_name (const char *name) static int good_name (const char *name)
{ {
/* /*
* User/group names must match [a-z_][a-z0-9_-]* * User/group names must match [a-z_][a-z0-9_-]*[$]
*/ */
if (!*name || !((*name >= 'a' && *name <= 'z') || *name == '_')) if (!*name || !((*name >= 'a' && *name <= 'z') || *name == '_'))
return 0; return 0;

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: chowndir.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: chowndir.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include "prototypes.h" #include "prototypes.h"

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: chowntty.c,v 1.13 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: chowntty.c,v 1.12 2005/08/09 18:03:15 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <stdio.h> #include <stdio.h>

View File

@ -32,8 +32,8 @@
#include <stdio.h> #include <stdio.h>
#include "getdef.h" #include "getdef.h"
#include "rcsid.h" #ident "$Id: console.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: console.c,v 1.6 2003/04/22 10:59:21 kloczek Exp $")
/* /*
* This is now rather generic function which decides if "tty" is listed * This is now rather generic function which decides if "tty" is listed

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: copydir.c,v 1.13 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: copydir.c,v 1.12 2005/03/31 05:14:50 kloczek Exp $")
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
#include <fcntl.h> #include <fcntl.h>

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: entry.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: entry.c,v 1.8 2005/06/20 09:18:50 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>
#include "prototypes.h" #include "prototypes.h"

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: env.c,v 1.12 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: env.c,v 1.11 2005/03/31 05:14:50 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: failure.c,v 1.17 2005/09/26 18:46:11 kloczek Exp $"
RCSID ("$Id: failure.c,v 1.15 2005/06/20 10:02:02 kloczek Exp $")
#include <fcntl.h> #include <fcntl.h>
#include <stdio.h> #include <stdio.h>
#include "defines.h" #include "defines.h"
@ -183,7 +183,6 @@ void failprint (const struct faillog *fail)
#if HAVE_STRFTIME #if HAVE_STRFTIME
char lasttimeb[256]; char lasttimeb[256];
char *lasttime = lasttimeb; char *lasttime = lasttimeb;
const char *fmt;
#else #else
char *lasttime; char *lasttime;
#endif #endif
@ -197,24 +196,15 @@ void failprint (const struct faillog *fail)
#if HAVE_STRFTIME #if HAVE_STRFTIME
/* /*
* Only print as much date and time info as it needed to * Print all information we have.
* know when the failure was.
*/ */
strftime (lasttimeb, sizeof lasttimeb, "%c", tp);
if (NOW - fail->fail_time >= YEAR)
fmt = "%Y";
else if (NOW - fail->fail_time >= DAY)
fmt = "%A %T";
else
fmt = "%T";
strftime (lasttimeb, sizeof lasttimeb, fmt, tp);
#else #else
/* /*
* Do the same thing, but don't use strftime since it * Do the same thing, but don't use strftime since it
* probably doesn't exist on this system * probably doesn't exist on this system
*/ */
lasttime = asctime (tp); lasttime = asctime (tp);
lasttime[24] = '\0'; lasttime[24] = '\0';

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: fields.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: fields.c,v 1.6 2003/04/22 10:59:22 kloczek Exp $")
#include <ctype.h> #include <ctype.h>
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: hushed.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: hushed.c,v 1.6 2005/03/31 05:14:50 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>
#include "defines.h" #include "defines.h"

View File

@ -39,9 +39,9 @@
#include "defines.h" #include "defines.h"
#include <pwd.h> #include <pwd.h>
#include <time.h> #include <time.h>
#include "rcsid.h"
RCSID ("$Id: isexpired.c,v 1.14 2005/05/25 19:31:50 kloczek Exp $") #ident "$Id: isexpired.c,v 1.15 2005/08/31 17:24:57 kloczek Exp $"
/* /*
* isexpired - determine if account is expired yet * isexpired - determine if account is expired yet

View File

@ -36,8 +36,8 @@
#ifndef USE_PAM #ifndef USE_PAM
#include "rcsid.h" #ident "$Id: limits.c,v 1.20 2005/09/05 17:32:17 kloczek Exp $"
RCSID ("$Id: limits.c,v 1.18 2005/06/20 10:02:02 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <stdio.h> #include <stdio.h>
@ -210,6 +210,7 @@ static int do_user_limits (const char *buf, const char *name)
case 'A': case 'A':
/* RLIMIT_AS - max address space (KB) */ /* RLIMIT_AS - max address space (KB) */
retval |= setrlimit_value (RLIMIT_AS, pp, 1024); retval |= setrlimit_value (RLIMIT_AS, pp, 1024);
break;
#endif #endif
#ifdef RLIMIT_CPU #ifdef RLIMIT_CPU
case 't': case 't':

View File

@ -32,8 +32,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: list.c,v 1.5 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: list.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $")
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
/* /*

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: log.c,v 1.10 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: log.c,v 1.9 2005/04/02 11:31:39 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
#include <fcntl.h> #include <fcntl.h>

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: loginprompt.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: loginprompt.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include <signal.h> #include <signal.h>
#include <ctype.h> #include <ctype.h>

View File

@ -36,8 +36,8 @@
#include "getdef.h" #include "getdef.h"
#include "rcsid.h" #ident "$Id: mail.c,v 1.9 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: mail.c,v 1.8 2003/04/22 10:59:22 kloczek Exp $")
void mailcheck (void) void mailcheck (void)
{ {

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: motd.c,v 1.6 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: motd.c,v 1.5 2005/03/31 05:14:50 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"

View File

@ -10,8 +10,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: myname.c,v 1.4 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: myname.c,v 1.3 2003/04/22 10:59:22 kloczek Exp $")
#include "defines.h" #include "defines.h"
#include <pwd.h> #include <pwd.h>
#include "prototypes.h" #include "prototypes.h"

View File

@ -31,8 +31,8 @@
#ifndef USE_PAM #ifndef USE_PAM
#include "rcsid.h" #ident "$Id: obscure.c,v 1.14 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: obscure.c,v 1.12 2005/03/24 04:29:23 kloczek Exp $")
/* /*
* This version of obscure.c contains modifications to support "cracklib" * This version of obscure.c contains modifications to support "cracklib"
@ -158,7 +158,7 @@ static const char *password_check (const char *old, const char *new,
#endif #endif
if (strcmp (new, old) == 0) if (strcmp (new, old) == 0)
return "no change"; return _("no change");
newmono = str_lower (xstrdup (new)); newmono = str_lower (xstrdup (new));
oldmono = str_lower (xstrdup (old)); oldmono = str_lower (xstrdup (old));
@ -167,19 +167,19 @@ static const char *password_check (const char *old, const char *new,
strcat (wrapped, oldmono); strcat (wrapped, oldmono);
if (palindrome (oldmono, newmono)) if (palindrome (oldmono, newmono))
msg = "a palindrome"; msg = _("a palindrome");
if (!msg && strcmp (oldmono, newmono) == 0) if (!msg && strcmp (oldmono, newmono) == 0)
msg = "case changes only"; msg = _("case changes only");
if (!msg && similar (oldmono, newmono)) if (!msg && similar (oldmono, newmono))
msg = "too similar"; msg = _("too similar");
if (!msg && simple (old, new)) if (!msg && simple (old, new))
msg = "too simple"; msg = _("too simple");
if (!msg && strstr (wrapped, newmono)) if (!msg && strstr (wrapped, newmono))
msg = "rotated"; msg = _("rotated");
#ifdef HAVE_LIBCRACK #ifdef HAVE_LIBCRACK
/* /*
@ -215,7 +215,7 @@ static const char *password_check (const char *old, const char *new,
newlen = strlen (new); newlen = strlen (new);
if (newlen < getdef_num ("PASS_MIN_LEN", 0)) if (newlen < getdef_num ("PASS_MIN_LEN", 0))
return "too short"; return _("too short");
/* /*
* Remaining checks are optional. * Remaining checks are optional.

View File

@ -2,8 +2,8 @@
#ifdef USE_PAM #ifdef USE_PAM
#include "rcsid.h" #ident "$Id: pam_pass.c,v 1.11 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: pam_pass.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $")
/* /*
* Change the user's password using PAM. Requires libpam and libpam_misc * Change the user's password using PAM. Requires libpam and libpam_misc

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: pwd2spwd.c,v 1.7 2005/08/31 17:24:57 kloczek Exp $"
RCSID ("$Id: pwd2spwd.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"

View File

@ -1,8 +1,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: pwd_init.c,v 1.3 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: pwd_init.c,v 1.2 2003/04/22 10:59:22 kloczek Exp $")
#include "defines.h" #include "defines.h"
#include <signal.h> #include <signal.h>
#include <sys/types.h> #include <sys/types.h>

View File

@ -1,7 +1,7 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: pwdcheck.c,v 1.8 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: pwdcheck.c,v 1.7 2005/07/18 12:55:36 kloczek Exp $")
#include <pwd.h> #include <pwd.h>
#include <stdio.h> #include <stdio.h>
#include "prototypes.h" #include "prototypes.h"

View File

@ -31,8 +31,8 @@
#ifdef RLOGIN #ifdef RLOGIN
#include "rcsid.h" #ident "$Id: rlogin.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: rlogin.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $")
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
#include <stdio.h> #include <stdio.h>

View File

@ -7,8 +7,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: salt.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: salt.c,v 1.8 2005/05/25 19:31:50 kloczek Exp $")
#include <sys/time.h> #include <sys/time.h>
#include <stdlib.h> #include <stdlib.h>
#include "prototypes.h" #include "prototypes.h"
@ -26,9 +26,11 @@ char *crypt_make_salt (void)
static char result[40]; static char result[40];
result[0] = '\0'; result[0] = '\0';
#ifndef USE_PAM
if (getdef_bool ("MD5_CRYPT_ENAB")) { if (getdef_bool ("MD5_CRYPT_ENAB")) {
strcpy (result, "$1$"); /* magic for the new MD5 crypt() */ strcpy (result, "$1$"); /* magic for the new MD5 crypt() */
} }
#endif
/* /*
* Generate 8 chars of salt, the old crypt() will use only first 2. * Generate 8 chars of salt, the old crypt() will use only first 2.

View File

@ -33,8 +33,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: setugid.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: setugid.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include <grp.h> #include <grp.h>
#include "prototypes.h" #include "prototypes.h"

View File

@ -33,8 +33,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: setupenv.c,v 1.20 2005/09/30 14:29:11 kloczek Exp $"
RCSID ("$Id: setupenv.c,v 1.18 2005/08/09 18:09:42 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <stdio.h> #include <stdio.h>
@ -234,10 +234,6 @@ void setup_env (struct passwd *info)
addenv ("SHELL", info->pw_shell); addenv ("SHELL", info->pw_shell);
/*
* Create the PATH environmental variable and export it.
*/
/* /*
* Export the user name. For BSD derived systems, it's "USER", for * Export the user name. For BSD derived systems, it's "USER", for
* all others it's "LOGNAME". We set both of them. * all others it's "LOGNAME". We set both of them.
@ -247,6 +243,10 @@ void setup_env (struct passwd *info)
addenv ("LOGNAME", info->pw_name); addenv ("LOGNAME", info->pw_name);
#ifndef USE_PAM #ifndef USE_PAM
/*
* Create the PATH environmental variable and export it.
*/
cp = getdef_str ((info->pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH"); cp = getdef_str ((info->pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH");
if (!cp) { if (!cp) {

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: shell.c,v 1.11 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: shell.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
#include "prototypes.h" #include "prototypes.h"

View File

@ -33,8 +33,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: strtoday.c,v 1.11 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: strtoday.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $")
#include "defines.h" #include "defines.h"
#ifndef USE_GETDATE #ifndef USE_GETDATE
#define USE_GETDATE 1 #define USE_GETDATE 1

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: sub.c,v 1.9 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: sub.c,v 1.8 2005/07/18 13:19:05 kloczek Exp $")
#include <pwd.h> #include <pwd.h>
#include <stdio.h> #include <stdio.h>
#include <sys/types.h> #include <sys/types.h>

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: sulog.c,v 1.9 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: sulog.c,v 1.8 2005/03/31 05:14:50 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <stdio.h> #include <stdio.h>

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: ttytype.c,v 1.10 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: ttytype.c,v 1.9 2005/03/31 05:14:50 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: tz.c,v 1.7 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: tz.c,v 1.6 2005/07/06 11:33:05 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "defines.h" #include "defines.h"

View File

@ -1,7 +1,7 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: ulimit.c,v 1.4 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: ulimit.c,v 1.3 2003/04/22 10:59:22 kloczek Exp $")
#if HAVE_ULIMIT_H #if HAVE_ULIMIT_H
#include <ulimit.h> #include <ulimit.h>
#ifndef UL_SETFSIZE #ifndef UL_SETFSIZE

View File

@ -40,8 +40,8 @@
#include <fcntl.h> #include <fcntl.h>
#include <stdio.h> #include <stdio.h>
#include "rcsid.h" #ident "$Id: utmp.c,v 1.18 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: utmp.c,v 1.16 2005/07/05 20:17:51 kloczek Exp $")
#if HAVE_UTMPX_H #if HAVE_UTMPX_H
struct utmpx utxent; struct utmpx utxent;
#endif #endif
@ -53,9 +53,9 @@ extern void setutent ();
extern void endutent (); extern void endutent ();
#define NO_UTENT \ #define NO_UTENT \
"No utmp entry. You must exec \"login\" from the lowest level \"sh\"" _("No utmp entry. You must exec \"login\" from the lowest level \"sh\"")
#define NO_TTY \ #define NO_TTY \
"Unable to determine your tty name." _("Unable to determine your tty name.")
/* /*
* checkutmp - see if utmp file is correct for this process * checkutmp - see if utmp file is correct for this process

View File

@ -29,8 +29,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: valid.c,v 1.6 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: valid.c,v 1.5 2003/04/22 10:59:22 kloczek Exp $")
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>
#include "prototypes.h" #include "prototypes.h"

View File

@ -9,8 +9,8 @@
#include <config.h> #include <config.h>
#include "rcsid.h" #ident "$Id: xmalloc.c,v 1.7 2005/08/31 17:24:58 kloczek Exp $"
RCSID ("$Id: xmalloc.c,v 1.6 2005/03/31 05:14:50 kloczek Exp $")
#include <stdio.h> #include <stdio.h>
#include "defines.h" #include "defines.h"
char *xmalloc (size_t size) char *xmalloc (size_t size)

196
ltmain.sh
View File

@ -43,8 +43,8 @@ EXIT_FAILURE=1
PROGRAM=ltmain.sh PROGRAM=ltmain.sh
PACKAGE=libtool PACKAGE=libtool
VERSION=1.5.18 VERSION=1.5.20
TIMESTAMP=" (1.1220.2.246 2005/05/16 10:00:18)" TIMESTAMP=" (1.1220.2.287 2005/08/31 18:54:15)"
# See if we are running on zsh, and set the options which allow our # See if we are running on zsh, and set the options which allow our
# commands through without removal of \ escapes. # commands through without removal of \ escapes.
@ -88,14 +88,15 @@ rm="rm -f"
Xsed="${SED}"' -e 1s/^X//' Xsed="${SED}"' -e 1s/^X//'
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
# test EBCDIC or ASCII # test EBCDIC or ASCII
case `echo A|tr A '\301'` in case `echo X|tr X '\101'` in
A) # EBCDIC based system A) # ASCII based system
SP2NL="tr '\100' '\n'" # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
NL2SP="tr '\r\n' '\100\100'" SP2NL='tr \040 \012'
NL2SP='tr \015\012 \040\040'
;; ;;
*) # Assume ASCII based system *) # EBCDIC based system
SP2NL="tr '\040' '\012'" SP2NL='tr \100 \n'
NL2SP="tr '\015\012' '\040\040'" NL2SP='tr \r\n \100\100'
;; ;;
esac esac
@ -133,7 +134,6 @@ show_help=
execute_dlfiles= execute_dlfiles=
lo2o="s/\\.lo\$/.${objext}/" lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/" o2lo="s/\\.${objext}\$/.lo/"
quote_scanset='[[~#^*{};<>?'"'"' ]'
##################################### #####################################
# Shell function definitions: # Shell function definitions:
@ -192,7 +192,7 @@ func_infer_tag ()
CC_quoted= CC_quoted=
for arg in $CC; do for arg in $CC; do
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -213,7 +213,7 @@ func_infer_tag ()
for arg in $CC; do for arg in $CC; do
# Double-quote args containing other shell metacharacters. # Double-quote args containing other shell metacharacters.
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -337,7 +337,7 @@ func_extract_archives ()
func_extract_an_archive "$my_xdir" "$my_xabs" func_extract_an_archive "$my_xdir" "$my_xabs"
fi # $darwin_arches fi # $darwin_arches
fi # $run fi # $run
;; ;;
*) *)
func_extract_an_archive "$my_xdir" "$my_xabs" func_extract_an_archive "$my_xdir" "$my_xabs"
;; ;;
@ -576,7 +576,7 @@ if test -z "$show_help"; then
for arg for arg
do do
case "$arg_mode" in case $arg_mode in
arg ) arg )
# do not "continue". Instead, add this to base_compile # do not "continue". Instead, add this to base_compile
lastarg="$arg" lastarg="$arg"
@ -627,7 +627,7 @@ if test -z "$show_help"; then
# Many Bourne shells cannot handle close brackets correctly # Many Bourne shells cannot handle close brackets correctly
# in scan sets, so we specify it separately. # in scan sets, so we specify it separately.
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -662,7 +662,7 @@ if test -z "$show_help"; then
# in scan sets (worked around with variable expansion), # in scan sets (worked around with variable expansion),
# and furthermore cannot handle '|' '&' '(' ')' in scan sets # and furthermore cannot handle '|' '&' '(' ')' in scan sets
# at all, so we specify them separately. # at all, so we specify them separately.
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
lastarg="\"$lastarg\"" lastarg="\"$lastarg\""
;; ;;
esac esac
@ -737,13 +737,12 @@ if test -z "$show_help"; then
qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
case $qlibobj in case $qlibobj in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
qlibobj="\"$qlibobj\"" ;; qlibobj="\"$qlibobj\"" ;;
esac esac
if test "X$libobj" != "X$qlibobj"; then test "X$libobj" != "X$qlibobj" \
$echo "$modename: libobj name \`$libobj' may not contain shell special characters." && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
exit $EXIT_FAILURE && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
fi
objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$obj"; then if test "X$xdir" = "X$obj"; then
@ -824,7 +823,7 @@ compiler."
fi fi
qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
case $qsrcfile in case $qsrcfile in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
qsrcfile="\"$qsrcfile\"" ;; qsrcfile="\"$qsrcfile\"" ;;
esac esac
@ -1111,7 +1110,7 @@ EOF
arg="$1" arg="$1"
shift shift
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
;; ;;
*) qarg=$arg ;; *) qarg=$arg ;;
@ -1420,7 +1419,7 @@ EOF
continue continue
;; ;;
-framework) -framework|-arch)
prev=darwin_framework prev=darwin_framework
compiler_flags="$compiler_flags $arg" compiler_flags="$compiler_flags $arg"
compile_command="$compile_command $arg" compile_command="$compile_command $arg"
@ -1543,7 +1542,7 @@ EOF
# to be aesthetically quoted because they are evaled later. # to be aesthetically quoted because they are evaled later.
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -1659,7 +1658,7 @@ EOF
for flag in $args; do for flag in $args; do
IFS="$save_ifs" IFS="$save_ifs"
case $flag in case $flag in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
flag="\"$flag\"" flag="\"$flag\""
;; ;;
esac esac
@ -1677,7 +1676,7 @@ EOF
for flag in $args; do for flag in $args; do
IFS="$save_ifs" IFS="$save_ifs"
case $flag in case $flag in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
flag="\"$flag\"" flag="\"$flag\""
;; ;;
esac esac
@ -1710,7 +1709,7 @@ EOF
# to be aesthetically quoted because they are evaled later. # to be aesthetically quoted because they are evaled later.
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -1844,7 +1843,7 @@ EOF
# to be aesthetically quoted because they are evaled later. # to be aesthetically quoted because they are evaled later.
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -2409,7 +2408,7 @@ EOF
case "$temp_rpath " in case "$temp_rpath " in
*" $dir "*) ;; *" $dir "*) ;;
*" $absdir "*) ;; *" $absdir "*) ;;
*) temp_rpath="$temp_rpath $dir" ;; *) temp_rpath="$temp_rpath $absdir" ;;
esac esac
fi fi
@ -2595,7 +2594,7 @@ EOF
add_dir="-L$dir" add_dir="-L$dir"
# Try looking first in the location we're being installed to. # Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then if test -n "$inst_prefix_dir"; then
case "$libdir" in case $libdir in
[\\/]*) [\\/]*)
add_dir="$add_dir -L$inst_prefix_dir$libdir" add_dir="$add_dir -L$inst_prefix_dir$libdir"
;; ;;
@ -2668,7 +2667,7 @@ EOF
add_dir="-L$libdir" add_dir="-L$libdir"
# Try looking first in the location we're being installed to. # Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then if test -n "$inst_prefix_dir"; then
case "$libdir" in case $libdir in
[\\/]*) [\\/]*)
add_dir="$add_dir -L$inst_prefix_dir$libdir" add_dir="$add_dir -L$inst_prefix_dir$libdir"
;; ;;
@ -2729,8 +2728,6 @@ EOF
fi fi
fi fi
else else
convenience="$convenience $dir/$old_library"
old_convenience="$old_convenience $dir/$old_library"
deplibs="$dir/$old_library $deplibs" deplibs="$dir/$old_library $deplibs"
link_static=yes link_static=yes
fi fi
@ -3420,7 +3417,7 @@ EOF
if test "$?" -eq 0 ; then if test "$?" -eq 0 ; then
ldd_output=`ldd conftest` ldd_output=`ldd conftest`
for i in $deplibs; do for i in $deplibs; do
name="`expr $i : '-l\(.*\)'`" name=`expr $i : '-l\(.*\)'`
# If $name is empty we are operating on a -L argument. # If $name is empty we are operating on a -L argument.
if test "$name" != "" && test "$name" -ne "0"; then if test "$name" != "" && test "$name" -ne "0"; then
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@ -3457,7 +3454,7 @@ EOF
# Error occurred in the first compile. Let's try to salvage # Error occurred in the first compile. Let's try to salvage
# the situation: Compile a separate program for each library. # the situation: Compile a separate program for each library.
for i in $deplibs; do for i in $deplibs; do
name="`expr $i : '-l\(.*\)'`" name=`expr $i : '-l\(.*\)'`
# If $name is empty we are operating on a -L argument. # If $name is empty we are operating on a -L argument.
if test "$name" != "" && test "$name" != "0"; then if test "$name" != "" && test "$name" != "0"; then
$rm conftest $rm conftest
@ -3509,7 +3506,7 @@ EOF
set dummy $deplibs_check_method set dummy $deplibs_check_method
file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
for a_deplib in $deplibs; do for a_deplib in $deplibs; do
name="`expr $a_deplib : '-l\(.*\)'`" name=`expr $a_deplib : '-l\(.*\)'`
# If $name is empty we are operating on a -L argument. # If $name is empty we are operating on a -L argument.
if test "$name" != "" && test "$name" != "0"; then if test "$name" != "" && test "$name" != "0"; then
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@ -3578,7 +3575,7 @@ EOF
set dummy $deplibs_check_method set dummy $deplibs_check_method
match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
for a_deplib in $deplibs; do for a_deplib in $deplibs; do
name="`expr $a_deplib : '-l\(.*\)'`" name=`expr $a_deplib : '-l\(.*\)'`
# If $name is empty we are operating on a -L argument. # If $name is empty we are operating on a -L argument.
if test -n "$name" && test "$name" != "0"; then if test -n "$name" && test "$name" != "0"; then
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@ -3819,6 +3816,9 @@ EOF
# The command line is too long to execute in one step. # The command line is too long to execute in one step.
$show "using reloadable object file for export list..." $show "using reloadable object file for export list..."
skipped_export=: skipped_export=:
# Break out early, otherwise skipped_export may be
# set to false by a later but shorter cmd.
break
fi fi
done done
IFS="$save_ifs" IFS="$save_ifs"
@ -3888,7 +3888,8 @@ EOF
fi fi
fi fi
if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` && if test "X$skipped_export" != "X:" &&
len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
: :
else else
@ -3923,7 +3924,7 @@ EOF
do do
eval test_cmds=\"$reload_cmds $objlist $last_robj\" eval test_cmds=\"$reload_cmds $objlist $last_robj\"
if test "X$objlist" = X || if test "X$objlist" = X ||
{ len=`expr "X$test_cmds" : ".*"` && { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
test "$len" -le "$max_cmd_len"; }; then test "$len" -le "$max_cmd_len"; }; then
objlist="$objlist $obj" objlist="$objlist $obj"
else else
@ -4013,13 +4014,30 @@ EOF
IFS="$save_ifs" IFS="$save_ifs"
eval cmd=\"$cmd\" eval cmd=\"$cmd\"
$show "$cmd" $show "$cmd"
$run eval "$cmd" || exit $? $run eval "$cmd" || {
lt_exit=$?
# Restore the uninstalled library and exit
if test "$mode" = relink; then
$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
fi
exit $lt_exit
}
done done
IFS="$save_ifs" IFS="$save_ifs"
# Restore the uninstalled library and exit # Restore the uninstalled library and exit
if test "$mode" = relink; then if test "$mode" = relink; then
$run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
if test -n "$convenience"; then
if test -z "$whole_archive_flag_spec"; then
$show "${rm}r $gentop"
$run ${rm}r "$gentop"
fi
fi
exit $EXIT_SUCCESS exit $EXIT_SUCCESS
fi fi
@ -4364,7 +4382,7 @@ extern \"C\" {
if test -z "$export_symbols"; then if test -z "$export_symbols"; then
export_symbols="$output_objdir/$outputname.exp" export_symbols="$output_objdir/$outputname.exp"
$run $rm $export_symbols $run $rm $export_symbols
$run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
else else
$run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
$run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
@ -4766,6 +4784,7 @@ EOF
EOF EOF
cat >> $cwrappersource <<"EOF" cat >> $cwrappersource <<"EOF"
return 127;
} }
void * void *
@ -5029,13 +5048,13 @@ else
# Backslashes separate directories on plain windows # Backslashes separate directories on plain windows
*-*-mingw | *-*-os2*) *-*-mingw | *-*-os2*)
$echo >> $output "\ $echo >> $output "\
exec \$progdir\\\\\$program \${1+\"\$@\"} exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
" "
;; ;;
*) *)
$echo >> $output "\ $echo >> $output "\
exec \$progdir/\$program \${1+\"\$@\"} exec \"\$progdir/\$program\" \${1+\"\$@\"}
" "
;; ;;
esac esac
@ -5045,7 +5064,7 @@ else
fi fi
else else
# The program doesn't exist. # The program doesn't exist.
\$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
\$echo \"This script is just a wrapper for \$program.\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2
$echo \"See the $PACKAGE documentation for more information.\" 1>&2 $echo \"See the $PACKAGE documentation for more information.\" 1>&2
exit $EXIT_FAILURE exit $EXIT_FAILURE
@ -5168,7 +5187,7 @@ fi\
oldobjs="$objlist $obj" oldobjs="$objlist $obj"
objlist="$objlist $obj" objlist="$objlist $obj"
eval test_cmds=\"$old_archive_cmds\" eval test_cmds=\"$old_archive_cmds\"
if len=`expr "X$test_cmds" : ".*"` && if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
test "$len" -le "$max_cmd_len"; then test "$len" -le "$max_cmd_len"; then
: :
else else
@ -5365,11 +5384,11 @@ relink_command=\"$relink_command\""
# install_prog (especially on Windows NT). # install_prog (especially on Windows NT).
if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
# Allow the use of GNU shtool's install command. # Allow the use of GNU shtool's install command.
$echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then $echo "X$nonopt" | grep shtool > /dev/null; then
# Aesthetically quote it. # Aesthetically quote it.
arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -5378,14 +5397,14 @@ relink_command=\"$relink_command\""
shift shift
else else
install_prog= install_prog=
arg="$nonopt" arg=$nonopt
fi fi
# The real first argument should be the name of the installation program. # The real first argument should be the name of the installation program.
# Aesthetically quote it. # Aesthetically quote it.
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -5403,28 +5422,31 @@ relink_command=\"$relink_command\""
do do
if test -n "$dest"; then if test -n "$dest"; then
files="$files $dest" files="$files $dest"
dest="$arg" dest=$arg
continue continue
fi fi
case $arg in case $arg in
-d) isdir=yes ;; -d) isdir=yes ;;
-f) prev="-f" ;; -f)
-g) prev="-g" ;; case " $install_prog " in
-m) prev="-m" ;; *[\\\ /]cp\ *) ;;
-o) prev="-o" ;; *) prev=$arg ;;
esac
;;
-g | -m | -o) prev=$arg ;;
-s) -s)
stripme=" -s" stripme=" -s"
continue continue
;; ;;
-*) ;; -*)
;;
*) *)
# If the previous option needed an argument, then skip it. # If the previous option needed an argument, then skip it.
if test -n "$prev"; then if test -n "$prev"; then
prev= prev=
else else
dest="$arg" dest=$arg
continue continue
fi fi
;; ;;
@ -5433,7 +5455,7 @@ relink_command=\"$relink_command\""
# Aesthetically quote the argument. # Aesthetically quote the argument.
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in case $arg in
*$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "") *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
arg="\"$arg\"" arg="\"$arg\""
;; ;;
esac esac
@ -5602,11 +5624,14 @@ relink_command=\"$relink_command\""
if test "$#" -gt 0; then if test "$#" -gt 0; then
# Delete the old symlinks, and create new ones. # Delete the old symlinks, and create new ones.
# Try `ln -sf' first, because the `ln' binary might depend on
# the symlink we replace! Solaris /bin/ln does not understand -f,
# so we also need to try rm && ln -s.
for linkname for linkname
do do
if test "$linkname" != "$realname"; then if test "$linkname" != "$realname"; then
$show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
$run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
fi fi
done done
fi fi
@ -5619,7 +5644,16 @@ relink_command=\"$relink_command\""
IFS="$save_ifs" IFS="$save_ifs"
eval cmd=\"$cmd\" eval cmd=\"$cmd\"
$show "$cmd" $show "$cmd"
$run eval "$cmd" || exit $? $run eval "$cmd" || {
lt_exit=$?
# Restore the uninstalled library and exit
if test "$mode" = relink; then
$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
fi
exit $lt_exit
}
done done
IFS="$save_ifs" IFS="$save_ifs"
fi fi
@ -5713,17 +5747,15 @@ relink_command=\"$relink_command\""
notinst_deplibs= notinst_deplibs=
relink_command= relink_command=
# To insure that "foo" is sourced, and not "foo.exe", # Note that it is not necessary on cygwin/mingw to append a dot to
# finese the cygwin/MSYS system by explicitly sourcing "foo." # foo even if both foo and FILE.exe exist: automatic-append-.exe
# which disallows the automatic-append-.exe behavior. # behavior happens only for exec(3), not for open(2)! Also, sourcing
case $build in # `FILE.' does not work on cygwin managed mounts.
*cygwin* | *mingw*) wrapperdot=${wrapper}. ;; #
*) wrapperdot=${wrapper} ;;
esac
# If there is no directory component, then add one. # If there is no directory component, then add one.
case $file in case $wrapper in
*/* | *\\*) . ${wrapperdot} ;; */* | *\\*) . ${wrapper} ;;
*) . ./${wrapperdot} ;; *) . ./${wrapper} ;;
esac esac
# Check the variables that should have been set. # Check the variables that should have been set.
@ -5751,17 +5783,15 @@ relink_command=\"$relink_command\""
done done
relink_command= relink_command=
# To insure that "foo" is sourced, and not "foo.exe", # Note that it is not necessary on cygwin/mingw to append a dot to
# finese the cygwin/MSYS system by explicitly sourcing "foo." # foo even if both foo and FILE.exe exist: automatic-append-.exe
# which disallows the automatic-append-.exe behavior. # behavior happens only for exec(3), not for open(2)! Also, sourcing
case $build in # `FILE.' does not work on cygwin managed mounts.
*cygwin* | *mingw*) wrapperdot=${wrapper}. ;; #
*) wrapperdot=${wrapper} ;;
esac
# If there is no directory component, then add one. # If there is no directory component, then add one.
case $file in case $wrapper in
*/* | *\\*) . ${wrapperdot} ;; */* | *\\*) . ${wrapper} ;;
*) . ./${wrapperdot} ;; *) . ./${wrapper} ;;
esac esac
outputname= outputname=
@ -5802,7 +5832,7 @@ relink_command=\"$relink_command\""
fi fi
# remove .exe since cygwin /usr/bin/install will append another # remove .exe since cygwin /usr/bin/install will append another
# one anyways # one anyway
case $install_prog,$host in case $install_prog,$host in
*/usr/bin/install*,*cygwin*) */usr/bin/install*,*cygwin*)
case $file:$destfile in case $file:$destfile in

View File

@ -24,6 +24,7 @@ man_XMANS = \
login.access.5.xml \ login.access.5.xml \
login.defs.5.xml \ login.defs.5.xml \
logoutd.8.xml \ logoutd.8.xml \
newgrp.1.xml \
newusers.8.xml \ newusers.8.xml \
passwd.1.xml \ passwd.1.xml \
passwd.5.xml \ passwd.5.xml \
@ -32,6 +33,7 @@ man_XMANS = \
pwconv.8.xml \ pwconv.8.xml \
shadow.3.xml \ shadow.3.xml \
shadow.5.xml \ shadow.5.xml \
sg.1.xml \
su.1.xml \ su.1.xml \
suauth.5.xml \ suauth.5.xml \
useradd.8.xml \ useradd.8.xml \
@ -94,6 +96,131 @@ EXTRA_DIST = $(man_MANS) \
all: all:
shadow-man-pages.pot: shadow-man-pages.pot: $(man_XMANS)
xml2po -o $@ $(man_XMANS) xml2po -o $@ $(man_XMANS)
if ENABLE_REGENERATE_MAN
chage.1: chage.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
chfn.1: chfn.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
chpasswd.8: chpasswd.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
chsh.1: chsh.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
expiry.1: expiry.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
faillog.5: faillog.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
faillog.8: faillog.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
gpasswd.1: gpasswd.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
groupadd.8: groupadd.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
groupdel.8: groupdel.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
groupmems.8: groupmems.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
groupmod.8: groupmod.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
groups.1: groups.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
grpck.8: grpck.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
gshadow.5: gshadow.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
id.1: id.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
lastlog.8: lastlog.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
limits.5: limits.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
login.1: login.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
login.access.5: login.access.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
login.defs.5: login.defs.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
logoutd.8: logoutd.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
newgrp.1: newgrp.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
newusers.8: newusers.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
passwd.1: passwd.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
passwd.5: passwd.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
porttime.5: porttime.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
pw_auth.3: pw_auth.3.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
pwck.8: pwck.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
grpconv.8 grpunconv.8 pwconv.8 pwunconv.8: pwconv.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
shadow.3 getspnam.3: shadow.3.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
shadow.5: shadow.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
sg.1: sg.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
su.1: su.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
sulogin.8: sulogin.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
suauth.5: suauth.5.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
useradd.8: useradd.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
userdel.8: userdel.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
usermod.8: usermod.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
vigr.8 vipw.8: vipw.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
CLEANFILES = $(man_MANS)
endif

View File

@ -38,7 +38,8 @@ host_triplet = @host@
subdir = man subdir = man
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -90,6 +91,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -101,6 +104,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -140,6 +144,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -209,6 +216,7 @@ man_XMANS = \
login.access.5.xml \ login.access.5.xml \
login.defs.5.xml \ login.defs.5.xml \
logoutd.8.xml \ logoutd.8.xml \
newgrp.1.xml \
newusers.8.xml \ newusers.8.xml \
passwd.1.xml \ passwd.1.xml \
passwd.5.xml \ passwd.5.xml \
@ -217,6 +225,7 @@ man_XMANS = \
pwconv.8.xml \ pwconv.8.xml \
shadow.3.xml \ shadow.3.xml \
shadow.5.xml \ shadow.5.xml \
sg.1.xml \
su.1.xml \ su.1.xml \
suauth.5.xml \ suauth.5.xml \
useradd.8.xml \ useradd.8.xml \
@ -277,6 +286,7 @@ EXTRA_DIST = $(man_MANS) \
sulogin.8.xml \ sulogin.8.xml \
sulogin.8.xml sulogin.8.xml
@ENABLE_REGENERATE_MAN_TRUE@CLEANFILES = $(man_MANS)
all: all-recursive all: all-recursive
.SUFFIXES: .SUFFIXES:
@ -289,9 +299,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu man/Makefile $(AUTOMAKE) --foreign man/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
@ -699,6 +709,7 @@ install-strip:
mostlyclean-generic: mostlyclean-generic:
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@ -776,8 +787,128 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \
all: all:
shadow-man-pages.pot: shadow-man-pages.pot: $(man_XMANS)
xml2po -o $@ $(man_XMANS) xml2po -o $@ $(man_XMANS)
@ENABLE_REGENERATE_MAN_TRUE@chage.1: chage.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@chfn.1: chfn.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@chpasswd.8: chpasswd.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@chsh.1: chsh.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@expiry.1: expiry.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@faillog.5: faillog.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@faillog.8: faillog.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@gpasswd.1: gpasswd.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@groupadd.8: groupadd.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@groupdel.8: groupdel.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@groupmems.8: groupmems.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@groupmod.8: groupmod.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@groups.1: groups.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@grpck.8: grpck.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@gshadow.5: gshadow.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@id.1: id.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@lastlog.8: lastlog.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@limits.5: limits.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@login.1: login.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@login.access.5: login.access.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@login.defs.5: login.defs.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@logoutd.8: logoutd.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@newgrp.1: newgrp.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@newusers.8: newusers.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@passwd.1: passwd.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@passwd.5: passwd.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@porttime.5: porttime.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@pw_auth.3: pw_auth.3.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@pwck.8: pwck.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@grpconv.8 grpunconv.8 pwconv.8 pwunconv.8: pwconv.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@shadow.3 getspnam.3: shadow.3.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@shadow.5: shadow.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@sg.1: sg.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@su.1: su.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@sulogin.8: sulogin.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@suauth.5: suauth.5.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@useradd.8: useradd.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@userdel.8: userdel.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@usermod.8: usermod.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@vigr.8 vipw.8: vipw.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:

View File

@ -1,8 +1,8 @@
.\" ** You probably do not want to edit this file directly ** .\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "CHAGE" "1" "08/09/2005" "User Commands" "User Commands" .TH "CHAGE" "1" "10/10/2005" "User Commands" "User Commands"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -14,37 +14,38 @@ chage \- change user password expiry information
\fBchage\fR [\fIoptions\fR] \fIuser\fR \fBchage\fR [\fIoptions\fR] \fIuser\fR
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fBchage\fR \fBchage\fR
command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change her password. command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change her password.
.SH "OPTIONS" .SH "OPTIONS"
.PP .PP
The options which apply to the The options which apply to the
\fBchage\fR \fBchage\fR
command are: command are:
.TP .TP
\fB\-d\fR, \fB\-\-lastday\fR \fILAST_DAY\fR \fB\-d\fR, \fB\-\-lastday\fR \fILAST_DAY\fR
Set the number of days since January 1st, 1970 when the password was last changed. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area). Set the number of days since January 1st, 1970 when the password was last changed. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area).
.TP .TP
\fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR \fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR
Set the date on which the user's account will no longer be accessible. The Set the date number of days since January 1, 1970 on which the user's account will no longer be accessible. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area). A user whose account is locked must contact the system administrator before being able to use the system again.
\fIEXPIRE_DATE\fR .sp
option is the number of days since January 1, 1970 on which the accounted is locked. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area). A user whose account is locked must contact the system administrator before being able to use the system again. Passing the number
\fI\-1\fR
Passing the number as the
\fI\-1\fR \fIEXPIRE_DATE\fR
as the
\fIEXPIRE_DATE\fR
will remove an account expiration date. will remove an account expiration date.
.TP .TP
\fB\-h\fR, \fB\-\-help\fR
Display help message and exit.
.TP
\fB\-I\fR, \fB\-\-inactive\fR \fIINACTIVE\fR \fB\-I\fR, \fB\-\-inactive\fR \fIINACTIVE\fR
Set the number of days of inactivity after a password has expired before the account is locked. The Set the number of days of inactivity after a password has expired before the account is locked. The
\fIINACTIVE\fR \fIINACTIVE\fR
option is the number of days of inactivity. A user whose account is locked must contact the system administrator before being able to use the system again. option is the number of days of inactivity. A user whose account is locked must contact the system administrator before being able to use the system again.
.sp
Passing the number Passing the number
\fI\-1\fR \fI\-1\fR
as the as the
\fIINACTIVE\fR \fIINACTIVE\fR
will remove an accounts inactivity. will remove an accounts inactivity.
.TP .TP
\fB\-l\fR, \fB\-\-list\fR \fB\-l\fR, \fB\-\-list\fR
@ -54,40 +55,40 @@ Show account aging information.
Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change her password at any time. Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change her password at any time.
.TP .TP
\fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR \fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR
Set maximum number of days during which a password is valid. When Set maximum number of days during which a password is valid. When
\fIMAX_DAYS\fR \fIMAX_DAYS\fR
plus plus
\fILAST_DAY\fR \fILAST_DAY\fR
is less than the current day, the user will be required to change her password before being able to use her account. This occurence can be planned for in advance by use of the is less than the current day, the user will be required to change her password before being able to use her account. This occurence can be planned for in advance by use of the
\fB\-W\fR \fB\-W\fR
option, which provides the user with advance warning. option, which provides the user with advance warning.
.sp
Passing the number Passing the number
\fI\-1\fR \fI\-1\fR
as the as the
\fIMAX_DAYS\fR \fIMAX_DAYS\fR
will remove checking a password validation. will remove checking a password validation.
.TP .TP
\fB\-W\fR, \fBwarndays\fR \fIWARN_DAYS\fR \fB\-W\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR
Set the number of days of warning before a password change is required. The Set the number of days of warning before a password change is required. The
\fIWARN_DAYS\fR \fIWARN_DAYS\fR
option is the number of days prior to the password expiring that a user will be warned her password is about to expire. option is the number of days prior to the password expiring that a user will be warned her password is about to expire.
.PP .PP
If none of the options are selected, If none of the options are selected,
\fBchage\fR \fBchage\fR
operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of
\fI[ ]\fR \fI[ ]\fR
marks. marks.
.SH "NOTE" .SH "NOTE"
.PP .PP
The The
\fBchage\fR \fBchage\fR
program requires shadow password file to be available. Its functionality is not available when passwords are stored in the passwd file. program requires shadow password file to be available. Its functionality is not available when passwords are stored in the passwd file.
.PP .PP
The The
\fBchage\fR \fBchage\fR
command is restricted to the root user, except for the command is restricted to the root user, except for the
\fB\-l\fR \fB\-l\fR
option, which may be used by an unprivileged user to determine when her password or account is due to expire. option, which may be used by an unprivileged user to determine when her password or account is due to expire.
.SH "FILES" .SH "FILES"
.TP .TP
@ -96,9 +97,26 @@ user account information
.TP .TP
\fI/etc/shadow\fR \fI/etc/shadow\fR
secure user account information secure user account information
.SH "EXIT VALUES"
.PP
The
\fBchage\fR
command exits with the following values:
.TP
\fI0\fR
success
.TP
\fI1\fR
permission denied
.TP
\fI2\fR
invalid command syntax
.TP
\fI15\fR
can't find the shadow password file
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBpasswd\fR(5), \fBpasswd\fR(5),
\fBshadow\fR(5). \fBshadow\fR(5).
.SH "AUTHOR" .SH "AUTHOR"
.PP .PP

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='chage.1'> <refentry id='chage.1'>
<!-- $Id: chage.1.xml,v 1.15 2005/08/10 08:25:00 kloczek Exp $ --> <!-- $Id: chage.1.xml,v 1.27 2005/10/10 17:11:22 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>chage</refentrytitle> <refentrytitle>chage</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
@ -21,16 +21,17 @@
<arg choice='plain'><replaceable>user</replaceable></arg> <arg choice='plain'><replaceable>user</replaceable></arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1 id='description'> <refsect1 id='description'>
<title>DESCRIPTION</title> <title>DESCRIPTION</title>
<para><command>chage</command> command changes the number of days <para>
between password changes and the date of the last password change. <command>chage</command> command changes the number of days between
This information is used by the system to determine when a user must password changes and the date of the last password change. This
change her password. information is used by the system to determine when a user must change
her password.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='options'> <refsect1 id='options'>
<title>OPTIONS</title> <title>OPTIONS</title>
<para> <para>
@ -38,108 +39,117 @@
</para> </para>
<variablelist remap='IP'> <variablelist remap='IP'>
<varlistentry> <varlistentry>
<term> <term>
<option>-d</option>, <option>--lastday</option> <replaceable>LAST_DAY</replaceable> <option>-d</option>, <option>--lastday</option> <replaceable>LAST_DAY</replaceable>
</term> </term>
<listitem> <listitem>
<para> <para>
Set the number of days since January 1st, 1970 when the password Set the number of days since January 1st, 1970 when the password
was last changed. The date may also be expressed in the format was last changed. The date may also be expressed in the format
YYYY-MM-DD (or the format more commonly used in your area). YYYY-MM-DD (or the format more commonly used in your area).
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>-E</option>, <option>--expiredate</option> <replaceable>EXPIRE_DATE</replaceable> <option>-E</option>, <option>--expiredate</option> <replaceable>EXPIRE_DATE</replaceable>
</term> </term>
<listitem> <listitem>
<para>Set the date on which the user's account will no longer be <para>
accessible. The <emphasis remap='I'>EXPIRE_DATE</emphasis> option Set the date number of days since January 1, 1970 on which the
is the number of days since January 1, 1970 on which the user's account will no longer be accessible. The date may also
accounted is locked. The date may also be expressed in the be expressed in the format YYYY-MM-DD (or the format more
format YYYY-MM-DD (or the format more commonly used in your commonly used in your area). A user whose account is locked must
area). A user whose account is locked must contact the system contact the system administrator before being able to use the
administrator before being able to use the system again. system again.
</para> </para>
<para> <para>
Passing the number <emphasis remap='I'>-1</emphasis> as the <emphasis Passing the number <emphasis remap='I'>-1</emphasis> as the
remap='I'>EXPIRE_DATE</emphasis> will remove an account expiration date. <replaceable>EXPIRE_DATE</replaceable> will remove an account
</para> expiration date.
</listitem> </para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term><option>-h</option>, <option>--help</option></term>
<option>-I</option>, <option>--inactive</option> <replaceable>INACTIVE</replaceable> <listitem>
</term> <para>Display help message and exit.</para>
<listitem> </listitem>
<para> </varlistentry>
Set the number of days of inactivity after a password has <varlistentry>
expired before the account is locked. The <emphasis <term>
remap='I'>INACTIVE</emphasis> option is the number of days of <option>-I</option>, <option>--inactive</option> <replaceable>INACTIVE</replaceable>
inactivity. A user whose account is locked must contact the system </term>
administrator before being able to use the system again. <listitem>
<para>
Set the number of days of inactivity after a password has
expired before the account is locked. The
<replaceable>INACTIVE</replaceable> option is the number of days
of inactivity. A user whose account is locked must contact the
system administrator before being able to use the system again.
</para> </para>
<para> <para>
Passing the number <emphasis remap='I'>-1</emphasis> as the <emphasis Passing the number <emphasis remap='I'>-1</emphasis> as the
remap='I'>INACTIVE</emphasis> will remove an accounts inactivity. <replaceable>INACTIVE</replaceable> will remove an accounts
</para> inactivity.
</listitem> </para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>-l</option>, <option>--list</option> <option>-l</option>, <option>--list</option>
</term> </term>
<listitem> <listitem>
<para> <para>
Show account aging information. Show account aging information.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>-m</option>, <option>--mindays</option> <replaceable>MIN_DAYS</replaceable> <option>-m</option>, <option>--mindays</option> <replaceable>MIN_DAYS</replaceable>
</term> </term>
<listitem> <listitem>
<para>
Set the minimum number of days between password changes. A value
of zero for this field indicates that the user may change her
password at any time.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-M</option>, <option>--maxdays</option> <replaceable>MAX_DAYS</replaceable>
</term>
<listitem>
<para>
Set maximum number of days during which a password is valid.
When <emphasis remap='I'>MAX_DAYS</emphasis> plus <emphasis
remap='I'>LAST_DAY</emphasis> is less than the current day, the
user will be required to change her password before being able
to use her account. This occurence can be planned for in
advance by use of the <option>-W</option> option, which provides
the user with advance warning.
</para>
<para> <para>
Passing the number <emphasis remap='I'>-1</emphasis> as the <emphasis Set the minimum number of days between password changes. A value
remap='I'>MAX_DAYS</emphasis> will remove checking a password validation. of zero for this field indicates that the user may change her
</para> password at any time.
</listitem> </para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>-W</option>, <option>warndays</option> <replaceable>WARN_DAYS</replaceable> <option>-M</option>, <option>--maxdays</option> <replaceable>MAX_DAYS</replaceable>
</term> </term>
<listitem> <listitem>
<para> <para>
Set the number of days of warning before a password change is Set maximum number of days during which a password is valid.
required. The <emphasis remap='I'>WARN_DAYS</emphasis> option is When <replaceable>MAX_DAYS</replaceable> plus
the number of days prior to the password expiring that a user <replaceable>LAST_DAY</replaceable> is less than the current
will be warned her password is about to expire. day, the user will be required to change her password before
</para> being able to use her account. This occurence can be planned for
</listitem> in advance by use of the <option>-W</option> option, which
provides the user with advance warning.
</para>
<para>
Passing the number <emphasis remap='I'>-1</emphasis> as the
<replaceable>MAX_DAYS</replaceable> will remove checking a
password validation.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-W</option>, <option>--warndays</option> <replaceable>WARN_DAYS</replaceable>
</term>
<listitem>
<para>
Set the number of days of warning before a password change is
required. The <replaceable>WARN_DAYS</replaceable> option is the
number of days prior to the password expiring that a user will
be warned her password is about to expire.
</para>
</listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
<para> <para>
@ -147,7 +157,7 @@
in an interactive fashion, prompting the user with the current values in an interactive fashion, prompting the user with the current values
for all of the fields. Enter the new value to change the field, or for all of the fields. Enter the new value to change the field, or
leave the line blank to use the current value. The current value is leave the line blank to use the current value. The current value is
displayed between a pair of <emphasis remap='B'>[ ]</emphasis> marks. displayed between a pair of <emphasis>[ ]</emphasis> marks.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='note'> <refsect1 id='note'>
@ -163,37 +173,74 @@
to expire. to expire.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='files'> <refsect1 id='files'>
<title>FILES</title> <title>FILES</title>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term> <term>
<filename>/etc/passwd</filename> <filename>/etc/passwd</filename>
</term> </term>
<listitem>user account information</listitem> <listitem>
<para>user account information</para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<filename>/etc/shadow</filename> <filename>/etc/shadow</filename>
</term> </term>
<listitem>secure user account information</listitem> <listitem>
<para>secure user account information</para>
</listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</refsect1> </refsect1>
<refsect1 id='exit_values'>
<title>EXIT VALUES</title>
<para>
The <command>chage</command> command exits with the following values:
<variablelist>
<varlistentry>
<term><replaceable>0</replaceable></term>
<listitem>
<para>success</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>1</replaceable></term>
<listitem>
<para>permission denied</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>2</replaceable></term>
<listitem>
<para>invalid command syntax</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>15</replaceable></term>
<listitem>
<para>can't find the shadow password file</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 id='see_also'> <refsect1 id='see_also'>
<title>SEE ALSO</title> <title>SEE ALSO</title>
<para><citerefentry> <para>
<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum> <citerefentry>
<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>, </citerefentry>,
<citerefentry> <citerefentry>
<refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum> <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>. </citerefentry>.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='author'> <refsect1 id='author'>
<title>AUTHOR</title> <title>AUTHOR</title>
<para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para> <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>

View File

@ -1,8 +1,8 @@
.\" ** You probably do not want to edit this file directly ** .\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "CHFN" "1" "08/10/2005" "User Commands" "User Commands" .TH "CHFN" "1" "10/03/2005" "User Commands" "User Commands"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -14,33 +14,35 @@ chfn \- change real user name and information
\fBchfn\fR [\-f\ \fIfull_name\fR] [\-r\ \fIroom_no\fR] [\-w\ \fIwork_ph\fR] [\-h\ \fIhome_ph\fR] [\-o\ \fIother\fR] [\fIuser\fR] \fBchfn\fR [\-f\ \fIfull_name\fR] [\-r\ \fIroom_no\fR] [\-w\ \fIwork_ph\fR] [\-h\ \fIhome_ph\fR] [\-o\ \fIother\fR] [\fIuser\fR]
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fBchfn\fR \fBchfn\fR
changes user fullname, office number, office extension, and home phone number information for a user's account. This information is typically printed by changes user fullname, office number, office extension, and home phone number information for a user's account. This information is typically printed by
\fBfinger\fR(1) \fBfinger\fR(1)
and similar programs. A normal user may only change the fields for her own account, subject to the restrictions in and similar programs. A normal user may only change the fields for her own account, subject to the restrictions in
\fI/etc/login.defs\fR. (The default configuration is to prevent users from changing their fullname.) The super user may change any field for any account. Additionally, only the super user may use the \fI/etc/login.defs\fR. (The default configuration is to prevent users from changing their fullname.) The super user may change any field for any account. Additionally, only the super user may use the
\fB\-o\fR \fB\-o\fR
option to change the undefined portions of the GECOS field. option to change the undefined portions of the GECOS field.
.PP .PP
The only restriction placed on the contents of the fields is that no control characters may be present, nor any of comma, colon, or equal sign. The The only restriction placed on the contents of the fields is that no control characters may be present, nor any of comma, colon, or equal sign. The
\fIother\fR \fIother\fR
field does not have this restriction, and is used to store accounting information used by other applications. field does not have this restriction, and is used to store accounting information used by other applications.
.PP .PP
If none of the options are selected, If none of the options are selected,
\fBchfn\fR \fBchfn\fR
operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of
\fI[ ]\fR \fI[ ]\fR
marks. Without options, chfn prompts for the current user account. marks. Without options, chfn prompts for the current user account.
.SH "FILES" .SH "FILES"
.TP .TP
\fI/etc/login.defs\fR
shadow password suite configuration
.TP
\fI/etc/passwd\fR \fI/etc/passwd\fR
user account information user account information
.TP
\fI/etc/login.defs\fR
runtime configuration
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBpasswd\fR(5) \fBchsh\fR(1),
\fBlogin.defs\fR(5),
\fBpasswd\fR(5).
.SH "AUTHOR" .SH "AUTHOR"
.PP .PP
Julianne Frances Haugh <jockgrrl@ix.netcom.com> Julianne Frances Haugh <jockgrrl@ix.netcom.com>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='chfn.1'> <refentry id='chfn.1'>
<!-- $Id: chfn.1.xml,v 1.12 2005/08/10 08:23:18 kloczek Exp $ --> <!-- $Id: chfn.1.xml,v 1.17 2005/10/03 17:49:41 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>chfn</refentrytitle> <refentrytitle>chfn</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
@ -15,7 +15,7 @@
<refsynopsisdiv id='synopsis'> <refsynopsisdiv id='synopsis'>
<cmdsynopsis> <cmdsynopsis>
<command>chfn</command> <command>chfn</command>
<arg choice='opt'>-f <replaceable>full_name</replaceable></arg> <arg choice='opt'>-f <replaceable>full_name</replaceable></arg>
<arg choice='opt'>-r <replaceable>room_no</replaceable></arg> <arg choice='opt'>-r <replaceable>room_no</replaceable></arg>
<arg choice='opt'>-w <replaceable>work_ph</replaceable></arg> <arg choice='opt'>-w <replaceable>work_ph</replaceable></arg>
@ -24,7 +24,7 @@
<arg choice='opt'><replaceable>user</replaceable></arg> <arg choice='opt'><replaceable>user</replaceable></arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1 id='description'> <refsect1 id='description'>
<title>DESCRIPTION</title> <title>DESCRIPTION</title>
<para><command>chfn</command> changes user fullname, office number, <para><command>chfn</command> changes user fullname, office number,
@ -39,46 +39,57 @@
the <option>-o</option> option to change the undefined portions of the the <option>-o</option> option to change the undefined portions of the
GECOS field. GECOS field.
</para> </para>
<para>The only restriction placed on the contents of the fields is that <para>The only restriction placed on the contents of the fields is that
no control characters may be present, nor any of comma, colon, or no control characters may be present, nor any of comma, colon, or
equal sign. The <emphasis remap='I'>other</emphasis> field does not equal sign. The <emphasis remap='I'>other</emphasis> field does not
have this restriction, and is used to store accounting information have this restriction, and is used to store accounting information
used by other applications. used by other applications.
</para> </para>
<para> If none of the options are selected, <command>chfn</command> <para> If none of the options are selected, <command>chfn</command>
operates in an interactive fashion, prompting the user with the operates in an interactive fashion, prompting the user with the
current values for all of the fields. Enter the new value to change current values for all of the fields. Enter the new value to change
the field, or leave the line blank to use the current value. The the field, or leave the line blank to use the current value. The
current value is displayed between a pair of <emphasis remap='B'>[ current value is displayed between a pair of <emphasis remap='B'>[
]</emphasis> marks. Without options, chfn prompts for the current ]</emphasis> marks. Without options, chfn prompts for the current
user account. user account.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='files'> <refsect1 id='files'>
<title>FILES</title> <title>FILES</title>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><filename>/etc/passwd</filename></term> <term><filename>/etc/login.defs</filename></term>
<listitem>user account information</listitem> <listitem>
<para>shadow password suite configuration</para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>/etc/login.defs</filename></term> <term><filename>/etc/passwd</filename></term>
<listitem>runtime configuration</listitem> <listitem>
<para>user account information</para>
</listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</refsect1> </refsect1>
<refsect1 id='see_also'> <refsect1 id='see_also'>
<title>SEE ALSO</title> <title>SEE ALSO</title>
<para><citerefentry> <para>
<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum> <citerefentry>
</citerefentry> <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='author'> <refsect1 id='author'>
<title>AUTHOR</title> <title>AUTHOR</title>
<para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para> <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>

View File

@ -1,8 +1,8 @@
.\" ** You probably do not want to edit this file directly ** .\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "CHPASSWD" "8" "08/03/2005" "" "" .TH "CHPASSWD" "8" "10/01/2005" "" ""
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -14,18 +14,18 @@ chpasswd \- update passwords in batch mode
\fBchpasswd\fR [\fIoptions\fR] \fBchpasswd\fR [\fIoptions\fR]
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fBchpasswd\fR \fBchpasswd\fR
reads a list of user name and password pairs from standard input and uses this information to update a group of existing users. Each line is of the format: reads a list of user name and password pairs from standard input and uses this information to update a group of existing users. Each line is of the format:
.PP .PP
\fIuser_name\fR:\fIpassword\fR \fIuser_name\fR:\fIpassword\fR
.PP .PP
By default the supplied password must be in clear\-text. Default encription algoritm is DES. Also the password age will be updated, if present. By default the supplied password must be in clear\-text. Default encription algoritm is DES. Also the password age will be updated, if present.
.PP .PP
This command is intended to be used in a large system environment where many accounts are created at a single time. This command is intended to be used in a large system environment where many accounts are created at a single time.
.SH "OPTIONS" .SH "OPTIONS"
.PP .PP
The options which apply to the The options which apply to the
\fBchpasswd\fR \fBchpasswd\fR
command are: command are:
.TP .TP
\fB\-e\fR, \fB\-\-encrypted\fR \fB\-e\fR, \fB\-\-encrypted\fR
@ -38,14 +38,14 @@ Display help message and exit.
Use MD5 encryption instead DES when the supplied passwords are not encrypted. Use MD5 encryption instead DES when the supplied passwords are not encrypted.
.SH "CAVEATS" .SH "CAVEATS"
.PP .PP
Remember keep protected for reading by others fille passed to standard input Remember keep protected for reading by others fille passed to standard input
\fBchpasswd\fR \fBchpasswd\fR
command if it contains unencrypted passwords. command if it contains unencrypted passwords.
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBpasswd\fR(1), \fBpasswd\fR(1),
\fBnewusers\fR(8), \fBnewusers\fR(8),
\fBuseradd\fR(8) \fBuseradd\fR(8).
.SH "AUTHOR" .SH "AUTHOR"
.PP .PP
Julianne Frances Haugh (jockgrrl@ix.netcom.com) Julianne Frances Haugh (jockgrrl@ix.netcom.com)

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='chpasswd.8'> <refentry id='chpasswd.8'>
<!-- $Id: chpasswd.8.xml,v 1.8 2005/06/16 15:42:19 kloczek Exp $ --> <!-- $Id: chpasswd.8.xml,v 1.12 2005/10/01 15:01:45 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>chpasswd</refentrytitle> <refentrytitle>chpasswd</refentrytitle>
<manvolnum>8</manvolnum> <manvolnum>8</manvolnum>
@ -16,14 +16,15 @@
<cmdsynopsis> <cmdsynopsis>
<command>chpasswd</command> <command>chpasswd</command>
<arg choice='opt'> <arg choice='opt'>
<replaceable>options</replaceable> <replaceable>options</replaceable>
</arg> </arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1 id='description'> <refsect1 id='description'>
<title>DESCRIPTION</title> <title>DESCRIPTION</title>
<para><command>chpasswd</command> reads a list of user name and password <para>
<command>chpasswd</command> reads a list of user name and password
pairs from standard input and uses this information to update a group pairs from standard input and uses this information to update a group
of existing users. Each line is of the format: of existing users. Each line is of the format:
</para> </para>
@ -31,15 +32,17 @@
<emphasis remap='I'>user_name</emphasis>:<emphasis <emphasis remap='I'>user_name</emphasis>:<emphasis
remap='I'>password</emphasis> remap='I'>password</emphasis>
</para> </para>
<para>By default the supplied password must be in clear-text. Default <para>
By default the supplied password must be in clear-text. Default
encription algoritm is DES. Also the password age will be updated, if encription algoritm is DES. Also the password age will be updated, if
present. present.
</para> </para>
<para>This command is intended to be used in a large system environment <para>
This command is intended to be used in a large system environment
where many accounts are created at a single time. where many accounts are created at a single time.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='options'> <refsect1 id='options'>
<title>OPTIONS</title> <title>OPTIONS</title>
<para> <para>
@ -48,50 +51,53 @@
</para> </para>
<variablelist remap='IP'> <variablelist remap='IP'>
<varlistentry> <varlistentry>
<term><option>-e</option>, <option>--encrypted</option></term> <term><option>-e</option>, <option>--encrypted</option></term>
<listitem> <listitem>
<para>Supplied passwords are in encrypted form.</para> <para>Supplied passwords are in encrypted form.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><option>-h</option>, <option>--help</option></term> <term><option>-h</option>, <option>--help</option></term>
<listitem> <listitem>
<para>Display help message and exit.</para> <para>Display help message and exit.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><option>-m</option>, <option>--md5</option></term> <term><option>-m</option>, <option>--md5</option></term>
<listitem> <listitem>
<para>Use MD5 encryption instead DES when the supplied passwords <para>
are not encrypted. Use MD5 encryption instead DES when the supplied passwords are
</para> not encrypted.
</listitem> </para>
</listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</refsect1> </refsect1>
<refsect1 id='caveats'> <refsect1 id='caveats'>
<title>CAVEATS</title> <title>CAVEATS</title>
<para>Remember keep protected for reading by others fille passed to <para>
standard input <command>chpasswd</command> command if it contains Remember keep protected for reading by others fille passed to standard
unencrypted passwords. input <command>chpasswd</command> command if it contains unencrypted
passwords.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='see_also'> <refsect1 id='see_also'>
<title>SEE ALSO</title> <title>SEE ALSO</title>
<para><citerefentry> <para>
<refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum> <citerefentry>
<refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>, </citerefentry>,
<citerefentry> <citerefentry>
<refentrytitle>newusers</refentrytitle><manvolnum>8</manvolnum> <refentrytitle>newusers</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>, </citerefentry>,
<citerefentry> <citerefentry>
<refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum> <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
</citerefentry> </citerefentry>.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='author'> <refsect1 id='author'>
<title>AUTHOR</title> <title>AUTHOR</title>
<para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para> <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>

View File

@ -1,8 +1,8 @@
.\" ** You probably do not want to edit this file directly ** .\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "CHSH" "1" "08/03/2005" "User Commands" "User Commands" .TH "CHSH" "1" "10/03/2005" "User Commands" "User Commands"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -14,23 +14,23 @@ chsh \- change login shell
\fBchsh\fR [\-s\ \fIlogin_shell\fR] [\fIuser\fR] \fBchsh\fR [\-s\ \fIlogin_shell\fR] [\fIuser\fR]
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fBchsh\fR \fBchsh\fR
changes the user login shell. This determines the name of the user's initial login command. A normal user may only change the login shell for her own account, the super user may change the login shell for any account. changes the user login shell. This determines the name of the user's initial login command. A normal user may only change the login shell for her own account, the super user may change the login shell for any account.
.PP .PP
The only restrictions placed on the login shell is that the command name must be listed in The only restriction placed on the login shell is that the command name must be listed in
\fI/etc/shells\fR, unless the invoker is the super\-user, and then any value may be added. An account with a restricted login shell may not change her login shell. For this reason, placing \fI/etc/shells\fR, unless the invoker is the super\-user, and then any value may be added. An account with a restricted login shell may not change her login shell. For this reason, placing
\fI/bin/rsh\fR \fI/bin/rsh\fR
in in
\fI/etc/shells\fR \fI/etc/shells\fR
is discouraged since accidentally changing to a restricted shell would prevent the user from every changing her login shell back to its original value. is discouraged since accidentally changing to a restricted shell would prevent the user from ever changing her login shell back to its original value.
.SH "OPTIONS" .SH "OPTIONS"
.PP .PP
If the If the
\fB\-s\fR \fB\-s\fR
option is not selected, option is not selected,
\fBchsh\fR \fBchsh\fR
operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the shell, or leave the line blank to use the current one. The current shell is displayed between a pair of operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the shell, or leave the line blank to use the current one. The current shell is displayed between a pair of
\fI[ ]\fR \fI[ ]\fR
marks. marks.
.SH "FILES" .SH "FILES"
.TP .TP
@ -39,10 +39,14 @@ user account information
.TP .TP
\fI/etc/shells\fR \fI/etc/shells\fR
list of valid login shells list of valid login shells
.TP
\fI/etc/login.defs\fR
shadow password suite configuration
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBchfn\fR(1), \fBchfn\fR(1),
\fBpasswd\fR(5) \fBlogin.defs\fR(5),
\fBpasswd\fR(5).
.SH "AUTHOR" .SH "AUTHOR"
.PP .PP
Julianne Frances Haugh <jockgrrl@ix.netcom.com> Julianne Frances Haugh <jockgrrl@ix.netcom.com>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='chsh1'> <refentry id='chsh.1'>
<!-- $Id: chsh.1.xml,v 1.8 2005/06/16 15:43:48 kloczek Exp $ --> <!-- $Id: chsh.1.xml,v 1.18 2005/10/03 17:49:41 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>chsh</refentrytitle> <refentrytitle>chsh</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
@ -15,68 +15,84 @@
<refsynopsisdiv id='synopsis'> <refsynopsisdiv id='synopsis'>
<cmdsynopsis> <cmdsynopsis>
<command>chsh</command> <command>chsh</command>
<arg choice='opt'>-s <replaceable>login_shell</replaceable></arg> <arg choice='opt'>-s <replaceable>login_shell</replaceable></arg>
<arg choice='opt'><replaceable>user</replaceable> <arg choice='opt'><replaceable>user</replaceable>
</arg> </arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1 id='description'> <refsect1 id='description'>
<title>DESCRIPTION</title> <title>DESCRIPTION</title>
<para><command>chsh</command> changes the user login shell. This determines <para>
<command>chsh</command> changes the user login shell. This determines
the name of the user's initial login command. A normal user may only the name of the user's initial login command. A normal user may only
change the login shell for her own account, the super user may change change the login shell for her own account, the super user may change
the login shell for any account. the login shell for any account.
</para> </para>
<para>The only restrictions placed on the login shell is that the <para>
command name must be listed in <filename>/etc/shells</filename>, The only restriction placed on the login shell is that the command
unless the invoker is the super-user, and then any value may be added. name must be listed in <filename>/etc/shells</filename>, unless the
An account with a restricted login shell may not change her login invoker is the super-user, and then any value may be added. An
shell. For this reason, placing <filename>/bin/rsh</filename> in account with a restricted login shell may not change her login shell.
For this reason, placing <filename>/bin/rsh</filename> in
<filename>/etc/shells</filename> is discouraged since accidentally <filename>/etc/shells</filename> is discouraged since accidentally
changing to a restricted shell would prevent the user from every changing to a restricted shell would prevent the user from ever
changing her login shell back to its original value. changing her login shell back to its original value.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='options'> <refsect1 id='options'>
<title>OPTIONS</title> <title>OPTIONS</title>
<para>If the <option>-s</option> option is not selected, <para>
If the <option>-s</option> option is not selected,
<command>chsh</command> operates in an interactive fashion, prompting <command>chsh</command> operates in an interactive fashion, prompting
the user with the current login shell. Enter the new value to change the user with the current login shell. Enter the new value to change
the shell, or leave the line blank to use the current one. The current the shell, or leave the line blank to use the current one. The current
shell is displayed between a pair of <emphasis remap='B'>[ ]</emphasis> shell is displayed between a pair of <emphasis>[ ]</emphasis> marks.
marks.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='files'> <refsect1 id='files'>
<title>FILES</title> <title>FILES</title>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><filename>/etc/passwd</filename></term> <term><filename>/etc/passwd</filename></term>
<listitem>user account information</listitem> <listitem>
<para>user account information</para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>/etc/shells</filename></term> <term><filename>/etc/shells</filename></term>
<listitem>list of valid login shells</listitem> <listitem>
<para>list of valid login shells</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>/etc/login.defs</filename></term>
<listitem>
<para>shadow password suite configuration</para>
</listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</refsect1> </refsect1>
<refsect1 id='see_also'> <refsect1 id='see_also'>
<title>SEE ALSO</title> <title>SEE ALSO</title>
<para><citerefentry> <para>
<refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum> <citerefentry>
<refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>, </citerefentry>,
<citerefentry> <citerefentry>
<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum> <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
</citerefentry> </citerefentry>,
<citerefentry>
<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='author'> <refsect1 id='author'>
<title>AUTHOR</title> <title>AUTHOR</title>
<para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para> <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>

View File

@ -38,7 +38,8 @@ host_triplet = @host@
subdir = man/cs subdir = man/cs
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -130,6 +134,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -195,9 +202,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/cs/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/cs/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu man/cs/Makefile $(AUTOMAKE) --foreign man/cs/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \

View File

@ -38,7 +38,8 @@ host_triplet = @host@
subdir = man/de subdir = man/de
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -80,6 +81,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -91,6 +94,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -130,6 +134,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -197,9 +204,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/de/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/de/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu man/de/Makefile $(AUTOMAKE) --foreign man/de/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \

View File

@ -38,7 +38,8 @@ host_triplet = @host@
subdir = man/es subdir = man/es
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -77,6 +78,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ENABLE_REGENERATE_MAN_FALSE = @ENABLE_REGENERATE_MAN_FALSE@
ENABLE_REGENERATE_MAN_TRUE = @ENABLE_REGENERATE_MAN_TRUE@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ F77 = @F77@
FFLAGS = @FFLAGS@ FFLAGS = @FFLAGS@
@ -88,6 +91,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBAUDIT = @LIBAUDIT@
LIBCRACK = @LIBCRACK@ LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
@ -127,6 +131,9 @@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
YACC = @YACC@ YACC = @YACC@
ac_ct_AR = @ac_ct_AR@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
@ -189,9 +196,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/es/Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/es/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu man/es/Makefile $(AUTOMAKE) --foreign man/es/Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \

View File

@ -1,8 +1,8 @@
.\" ** You probably do not want to edit this file directly ** .\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "EXPIRY" "1" "08/03/2005" "User Commands" "User Commands" .TH "EXPIRY" "1" "09/30/2005" "User Commands" "User Commands"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -14,7 +14,7 @@ expiry \- check and enforce password expiration policy
\fBexpiry\fR [\-c] [\-f] \fBexpiry\fR [\-c] [\-f]
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fBexpiry\fR \fBexpiry\fR
checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required. It is callable as a normal user command. checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required. It is callable as a normal user command.
.SH "FILES" .SH "FILES"
.TP .TP
@ -25,8 +25,8 @@ user account information
secure user account information secure user account information
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBpasswd\fR(5), \fBpasswd\fR(5),
\fBshadow\fR(5) \fBshadow\fR(5).
.SH "AUTHOR" .SH "AUTHOR"
.PP .PP
Ben Collins <bcollins@debian.org> Ben Collins <bcollins@debian.org>

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='expiry.1'> <refentry id='expiry.1'>
<!-- $Id: expiry.1.xml,v 1.8 2005/06/14 20:18:17 kloczek Exp $ --> <!-- $Id: expiry.1.xml,v 1.12 2005/09/30 15:41:20 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>expiry</refentrytitle> <refentrytitle>expiry</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
@ -20,40 +20,46 @@
<arg choice='opt'>-f </arg> <arg choice='opt'>-f </arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1 id='description'> <refsect1 id='description'>
<title>DESCRIPTION</title> <title>DESCRIPTION</title>
<para><command>expiry</command> checks (<option>-c</option>) the current <para>
<command>expiry</command> checks (<option>-c</option>) the current
password expiration and forces (<option>-f</option>) changes when password expiration and forces (<option>-f</option>) changes when
required. It is callable as a normal user command. required. It is callable as a normal user command.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='files'> <refsect1 id='files'>
<title>FILES</title> <title>FILES</title>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><filename>/etc/passwd</filename></term> <term><filename>/etc/passwd</filename></term>
<listitem>user account information</listitem> <listitem>
<para>user account information</para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>/etc/shadow</filename></term> <term><filename>/etc/shadow</filename></term>
<listitem>secure user account information</listitem> <listitem>
<para>secure user account information</para>
</listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</refsect1> </refsect1>
<refsect1 id='see_also'> <refsect1 id='see_also'>
<title>SEE ALSO</title> <title>SEE ALSO</title>
<para><citerefentry> <para>
<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum> <citerefentry>
<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>, </citerefentry>,
<citerefentry> <citerefentry>
<refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum> <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
</citerefentry> </citerefentry>.
</para> </para>
</refsect1> </refsect1>
<refsect1 id='author'> <refsect1 id='author'>
<title>AUTHOR</title> <title>AUTHOR</title>
<para>Ben Collins &lt;bcollins@debian.org&gt;</para> <para>Ben Collins &lt;bcollins@debian.org&gt;</para>

View File

@ -1,8 +1,8 @@
.\" ** You probably do not want to edit this file directly ** .\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "FAILLOG" "5" "08/03/2005" "" "" .TH "FAILLOG" "5" "09/20/2005" "" ""
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -11,13 +11,12 @@
faillog \- Login failure logging file faillog \- Login failure logging file
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fI/var/log/faillog\fR \fI/var/log/faillog\fR
maintains a count of login failures and the limits for each account. The file is fixed length record, indexed by numerical UID. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line the last login failure occured on; and the date the last login failure occured. maintains a count of login failures and the limits for each account. The file is fixed length record, indexed by numerical UID. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line the last login failure occured on; and the date the last login failure occured.
.PP .PP
The structure of the file is: The structure of the file is:
.sp
.nf .nf
struct faillog { struct faillog {
short fail_cnt; short fail_cnt;
short fail_max; short fail_max;

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='faillog.5'> <refentry id='faillog.5'>
<!-- $Id: faillog.5.xml,v 1.7 2005/06/16 15:49:42 kloczek Exp $ --> <!-- $Id: faillog.5.xml,v 1.10 2005/09/20 15:22:24 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>faillog</refentrytitle> <refentrytitle>faillog</refentrytitle>
<manvolnum>5</manvolnum> <manvolnum>5</manvolnum>
@ -11,7 +11,7 @@
<refname>faillog</refname> <refname>faillog</refname>
<refpurpose>Login failure logging file</refpurpose> <refpurpose>Login failure logging file</refpurpose>
</refnamediv> </refnamediv>
<refsect1 id='description'> <refsect1 id='description'>
<title>DESCRIPTION</title> <title>DESCRIPTION</title>
<para><filename>/var/log/faillog</filename> maintains a count of login <para><filename>/var/log/faillog</filename> maintains a count of login
@ -21,7 +21,7 @@
failures before the account is disabled; the line the last login failures before the account is disabled; the line the last login
failure occured on; and the date the last login failure occured. failure occured on; and the date the last login failure occured.
</para> </para>
<para>The structure of the file is:</para> <para>The structure of the file is:</para>
<programlisting> <programlisting>
struct faillog { struct faillog {
@ -31,25 +31,28 @@ struct faillog {
time_t fail_time; time_t fail_time;
};</programlisting> };</programlisting>
</refsect1> </refsect1>
<refsect1 id='files'> <refsect1 id='files'>
<title>FILES</title> <title>FILES</title>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><filename>/var/log/faillog</filename></term> <term><filename>/var/log/faillog</filename></term>
<listitem>login failure log</listitem> <listitem>
<para>login failure log</para>
</listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</refsect1> </refsect1>
<refsect1 id='see_also'> <refsect1 id='see_also'>
<title>SEE ALSO</title> <title>SEE ALSO</title>
<para><citerefentry> <para>
<refentrytitle>faillog</refentrytitle><manvolnum>8</manvolnum> <citerefentry>
<refentrytitle>faillog</refentrytitle><manvolnum>8</manvolnum>
</citerefentry> </citerefentry>
</para> </para>
</refsect1> </refsect1>
<refsect1 id='author'> <refsect1 id='author'>
<title>AUTHOR</title> <title>AUTHOR</title>
<para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para> <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>

View File

@ -1,8 +1,8 @@
.\" ** You probably do not want to edit this file directly ** .\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.0). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "FAILLOG" "8" "08/03/2005" "" "" .TH "FAILLOG" "8" "10/01/2005" "" ""
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -14,16 +14,16 @@ faillog \- display faillog records or set login failure limits
\fBfaillog\fR [\fIoptions\fR] \fBfaillog\fR [\fIoptions\fR]
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fBfaillog\fR \fBfaillog\fR
formats the contents of the failure log from formats the contents of the failure log from
\fI/var/log/faillog\fR \fI/var/log/faillog\fR
database. It also can be used for maintains failure counters and limits. Run database. It also can be used for maintains failure counters and limits. Run
\fBfaillog\fR \fBfaillog\fR
without arguments display only list of user faillog records who have ever had a login failure. without arguments display only list of user faillog records who have ever had a login failure.
.SH "OPTIONS" .SH "OPTIONS"
.PP .PP
The options which apply to the The options which apply to the
\fBfaillog\fR \fBfaillog\fR
command are: command are:
.TP .TP
\fB\-a\fR, \fB\-\-all\fR \fB\-a\fR, \fB\-\-all\fR
@ -33,47 +33,47 @@ Display faillog records for all users.
Display help message and exit. Display help message and exit.
.TP .TP
\fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR \fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR
Lock accout to Lock account to
\fISEC\fR \fISEC\fR
seconds after failed login. seconds after failed login.
.TP .TP
\fB\-m\fR, \fB\-\-maximum\fR \fIMAX\fR \fB\-m\fR, \fB\-\-maximum\fR \fIMAX\fR
Set maiximum number of login failures after the account is disabled to Set maximum number of login failures after the account is disabled to
\fIMAX\fR. Selecting \fIMAX\fR. Selecting
\fIMAX\fR \fIMAX\fR
value of 0 has the effect of not placing a limit on the number of failed logins. The maximum failure count should always be 0 for value of 0 has the effect of not placing a limit on the number of failed logins. The maximum failure count should always be 0 for
\fIroot\fR \fIroot\fR
to prevent a denial of services attack against the system. to prevent a denial of services attack against the system.
.TP .TP
\fB\-r\fR, \fB\-\-reset\fR \fB\-r\fR, \fB\-\-reset\fR
Reset the counters of login failures or one recor if used with \-u Reset the counters of login failures or one record if used with the \-u
\fILOGIN\fR \fILOGIN\fR
option. Write access to option. Write access to
\fI/var/log/faillog\fR \fI/var/log/faillog\fR
is required for this option. is required for this option.
.TP .TP
\fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR \fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR
Display faillog records more recent than Display faillog records more recent than
\fIDAYS\fR. The \fIDAYS\fR. The
\fB\-t\fR \fB\-t\fR
flag overrides the use of flag overrides the use of
\fB\-u\fR. \fB\-u\fR.
.TP .TP
\fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR \fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR
Display faillog record or maintains failure counters and limits (if used with Display faillog record or maintains failure counters and limits (if used with
\fB\-l\fR, \fB\-l\fR,
\fB\-m\fR \fB\-m\fR
or or
\fB\-r\fR \fB\-r\fR
options) only for user with options) only for user with
\fILOGIN\fR. \fILOGIN\fR.
.SH "CAVEATS" .SH "CAVEATS"
.PP .PP
\fBfaillog\fR \fBfaillog\fR
only prints out users with no successful login since the last failure. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the only prints out users with no successful login since the last failure. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the
\fB\-u\fR \fB\-u\fR
flag, or print out all users with the flag, or print out all users with the
\fB\-a\fR \fB\-a\fR
flag. flag.
.SH "FILES" .SH "FILES"
.TP .TP
@ -81,8 +81,8 @@ flag.
failure logging file failure logging file
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBlogin\fR(1), \fBlogin\fR(1),
\fBfaillog\fR(5) \fBfaillog\fR(5).
.SH "AUTHOR" .SH "AUTHOR"
.PP .PP
Julianne Frances Haugh (jockgrrl@ix.netcom.com) Julianne Frances Haugh (jockgrrl@ix.netcom.com)

Some files were not shown because too many files have changed in this diff Show More