Compare commits

..

2 Commits

Author SHA1 Message Date
Chris Hofstaedtler 1f240237fc New upstream version 4.19.3 2026-02-02 07:32:15 +01:00
Chris Hofstaedtler c5f795a54a New upstream version 4.19.2 2026-01-25 14:17:08 +01:00
424 changed files with 22566 additions and 4889 deletions
+41 -20
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -181,8 +183,8 @@ distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir) top_distdir = $(distdir)
am__remove_distdir = \ am__remove_distdir = \
if test -d "$(distdir)"; then \ if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ find "$(distdir)" -type d ! -perm -700 -exec chmod u+rwx {} ';' \
&& rm -rf "$(distdir)" \ ; rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \ || { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi else :; fi
am__post_remove_distdir = $(am__remove_distdir) am__post_remove_distdir = $(am__remove_distdir)
@@ -212,14 +214,16 @@ am__relativize = \
done; \ done; \
reldir="$$dir2" reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
GZIP_ENV = --best GZIP_ENV = -9
DIST_TARGETS = dist-xz dist-gzip DIST_TARGETS = dist-xz dist-gzip
# Exists only to be overridden by the user if desired. # Exists only to be overridden by the user if desired.
AM_DISTCHECK_DVI_TARGET = dvi AM_DISTCHECK_DVI_TARGET = dvi
distuninstallcheck_listfiles = find . -type f -print distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print distcleancheck_listfiles = \
find . \( -type f -a \! \
\( -name .nfs* -o -name .smb* -o -name .__afs* \) \) -print
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
@@ -252,6 +256,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -351,8 +356,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -443,12 +450,12 @@ config.h: stamp-h1
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1 $(AM_V_at)rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h $(AM_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER)) $(AM_V_GEN)($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1 $(AM_V_at)rm -f stamp-h1
touch $@ $(AM_V_at)touch $@
distclean-hdr: distclean-hdr:
-rm -f config.h stamp-h1 -rm -f config.h stamp-h1
@@ -569,12 +576,13 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES) distdir-am: $(DISTFILES)
$(am__remove_distdir) $(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)" $(AM_V_at)$(MKDIR_P) "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \ list='$(DISTFILES)'; \
@@ -647,6 +655,10 @@ dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir) $(am__post_remove_distdir)
dist-bzip3: distdir
tardir=$(distdir) && $(am__tar) | bzip3 -c >$(distdir).tar.bz3
$(am__post_remove_distdir)
dist-lzip: distdir dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir) $(am__post_remove_distdir)
@@ -687,9 +699,11 @@ dist dist-all:
distcheck: dist distcheck: dist
case '$(DIST_ARCHIVES)' in \ case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \ *.tar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ eval GZIP= gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \ *.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.bz3*) \
bzip3 -dc $(distdir).tar.bz3 | $(am__untar) ;;\
*.tar.lz*) \ *.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \ *.tar.xz*) \
@@ -697,7 +711,7 @@ distcheck: dist
*.tar.Z*) \ *.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \ *.shar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ eval GZIP= gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \ *.zip*) \
unzip $(distdir).zip ;;\ unzip $(distdir).zip ;;\
*.tar.zst*) \ *.tar.zst*) \
@@ -795,11 +809,11 @@ install-strip:
mostlyclean-generic: mostlyclean-generic:
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -$(am__rm_f) $(CLEANFILES)
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -879,9 +893,9 @@ uninstall-am:
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \ am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \ clean-libtool cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \ dist-all dist-bzip2 dist-bzip3 dist-gzip dist-hook dist-lzip \
dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \ dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \
distclean-generic distclean-hdr distclean-libtool \ distclean distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \ distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \ dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \ install-data install-data-am install-dvi install-dvi-am \
@@ -909,3 +923,10 @@ dist-hook:
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
Vendored
+330 -161
View File
@@ -1,6 +1,6 @@
# generated automatically by aclocal 1.16.5 -*- Autoconf -*- # generated automatically by aclocal 1.18.1 -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Copyright (C) 1996-2025 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -14,22 +14,23 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],,
[m4_warning([this file was generated for autoconf 2.71. [m4_warning([this file was generated for autoconf 2.72.
You have another version of autoconf. It may work, but is not guaranteed to. You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely. If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])]) To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
# #
# Copyright (C) 1999-2008, 2011-2015 Free Software Foundation, Inc. # Copyright (C) 1999-2008, 2011-2019, 2021-2024 Free Software
# Foundation, Inc.
# Written by Thomas Tanner, 1999 # Written by Thomas Tanner, 1999
# #
# This file is free software; the Free Software Foundation gives # This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without # unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved. # modifications, as long as this notice is preserved.
# serial 20 LTDL_INIT # serial 24 LTDL_INIT
# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
# ------------------------------------------ # ------------------------------------------
@@ -357,7 +358,7 @@ AC_CONFIG_COMMANDS_PRE([
if test -n "$_LT_LIBOBJS"; then if test -n "$_LT_LIBOBJS"; then
# Remove the extension. # Remove the extension.
_lt_sed_drop_objext='s/\.o$//;s/\.obj$//' _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do
_ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
_ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
done done
@@ -456,7 +457,8 @@ esac
m4_ifdef([AM_CONDITIONAL], m4_ifdef([AM_CONDITIONAL],
[AM_CONDITIONAL(INSTALL_LTDL, test no != "${enable_ltdl_install-no}") [AM_CONDITIONAL(INSTALL_LTDL, test no != "${enable_ltdl_install-no}")
AM_CONDITIONAL(CONVENIENCE_LTDL, test no != "${enable_ltdl_convenience-no}")]) AM_CONDITIONAL(CONVENIENCE_LTDL, test no != "${enable_ltdl_convenience-no}")
AM_CONDITIONAL(LTARGZH_EXISTS, test -n "$LT_ARGZ_H")])
])# _LT_ENABLE_INSTALL ])# _LT_ENABLE_INSTALL
@@ -487,15 +489,12 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
;; ;;
esac esac
;; ;;
bitrig*)
lt_cv_sys_dlopen_deplibs=yes
;;
darwin*) darwin*)
# Assuming the user has installed a libdl from somewhere, this is true # Assuming the user has installed a libdl from somewhere, this is true
# If you are looking for one http://www.opendarwin.org/projects/dlcompat # If you are looking for one http://www.opendarwin.org/projects/dlcompat
lt_cv_sys_dlopen_deplibs=yes lt_cv_sys_dlopen_deplibs=yes
;; ;;
freebsd* | dragonfly*) freebsd* | dragonfly* | midnightbsd*)
lt_cv_sys_dlopen_deplibs=yes lt_cv_sys_dlopen_deplibs=yes
;; ;;
gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu)
@@ -518,6 +517,9 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
# at 6.2 and later dlopen does load deplibs. # at 6.2 and later dlopen does load deplibs.
lt_cv_sys_dlopen_deplibs=yes lt_cv_sys_dlopen_deplibs=yes
;; ;;
*-mlibc)
lt_cv_sys_dlopen_deplibs=yes
;;
netbsd* | netbsdelf*-gnu) netbsd* | netbsdelf*-gnu)
lt_cv_sys_dlopen_deplibs=yes lt_cv_sys_dlopen_deplibs=yes
;; ;;
@@ -734,7 +736,7 @@ darwin[[1567]].*)
beos*) beos*)
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
;; ;;
cygwin* | mingw* | pw32*) cygwin* | mingw* | windows* | pw32*)
AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]]) AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
;; ;;
@@ -782,7 +784,7 @@ AC_CACHE_CHECK([for _ prefix in compiled symbols],
[lt_cv_sys_symbol_underscore=no [lt_cv_sys_symbol_underscore=no
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
void nm_test_func(){} void nm_test_func(){}
int main(){nm_test_func;return 0;} int main(void){nm_test_func;return 0;}
_LT_EOF _LT_EOF
if AC_TRY_EVAL(ac_compile); then if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols. # Now try to grab the symbols.
@@ -886,7 +888,7 @@ _LT_EOF
# define RTLD_NOW 0 # define RTLD_NOW 0
# endif # endif
#endif #endif
int main () { int main (void) {
void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW);
int status = $libltdl_dlunknown; int status = $libltdl_dlunknown;
if (handle) { if (handle) {
@@ -930,8 +932,8 @@ AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
dnl aclocal-1.4 backwards compatibility: dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], []) dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*-
# serial 11 (pkg-config-0.29.1) # serial 12 (pkg-config-0.29.2)
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>. dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com> dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
@@ -973,7 +975,7 @@ dnl
dnl See the "Since" comment for each macro you use to see what version dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require. dnl of the macros you require.
m4_defun([PKG_PREREQ], m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29.1]) [m4_define([PKG_MACROS_VERSION], [0.29.2])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ ])dnl PKG_PREREQ
@@ -1018,7 +1020,7 @@ dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place dnl only at the first occurrence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS], AC_DEFUN([PKG_CHECK_EXISTS],
@@ -1074,7 +1076,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no pkg_failed=no
AC_MSG_CHECKING([for $1]) AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2])
@@ -1084,17 +1086,17 @@ and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.]) See the pkg-config man page for more details.])
if test $pkg_failed = yes; then if test $pkg_failed = yes; then
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED _PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi fi
# Put the nasty error message in config.log where it belongs # Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
m4_default([$4], [AC_MSG_ERROR( m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met: [Package requirements ($2) were not met:
$$1_PKG_ERRORS $$1_PKG_ERRORS
@@ -1105,8 +1107,8 @@ installed software in a non-standard prefix.
_PKG_TEXT])[]dnl _PKG_TEXT])[]dnl
]) ])
elif test $pkg_failed = untried; then elif test $pkg_failed = untried; then
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE( m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it [The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config. path to pkg-config.
@@ -1116,10 +1118,10 @@ _PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
]) ])
else else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
$3 $3
fi[]dnl fi[]dnl
])dnl PKG_CHECK_MODULES ])dnl PKG_CHECK_MODULES
@@ -1274,7 +1276,7 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
[AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
])dnl PKG_HAVE_DEFINE_WITH_MODULES ])dnl PKG_HAVE_DEFINE_WITH_MODULES
# Copyright (C) 2002-2021 Free Software Foundation, Inc. # Copyright (C) 2002-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1286,10 +1288,10 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
# generated from the m4 files accompanying Automake X.Y. # generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.) # (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION], AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.16' [am__api_version='1.18'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro. dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.16.5], [], m4_if([$1], [1.18.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
]) ])
@@ -1305,14 +1307,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.16.5])dnl [AM_AUTOMAKE_VERSION([1.18.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*- # AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001-2021 Free Software Foundation, Inc. # Copyright (C) 2001-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1364,7 +1366,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*- # AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997-2021 Free Software Foundation, Inc. # Copyright (C) 1997-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1395,7 +1397,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]]) Usually this means the macro was only invoked conditionally.]])
fi])]) fi])])
# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Copyright (C) 1999-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1527,7 +1529,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
# icc doesn't choke on unknown options, it will just issue warnings # icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message # or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported. # that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly: # When given -MP, icc 7.0 and 7.1 complain thus:
# icc: Command line warning: ignoring option '-M'; no argument required # icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0: # The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported # icc: Command line remark: option '-MP' not supported
@@ -1586,7 +1588,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*- # Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Copyright (C) 1999-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1654,7 +1656,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*- # Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Copyright (C) 1996-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1754,8 +1756,9 @@ AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
[_AM_PROG_TAR([v7])])]) [_AM_IF_OPTION([tar-v7], [_AM_PROG_TAR([v7])],
[_AM_PROG_TAR([ustar])])])])
_AM_IF_OPTION([no-dependencies],, _AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC], [AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES([CC])], [_AM_DEPENDENCIES([CC])],
@@ -1788,7 +1791,7 @@ if test -z "$CSCOPE"; then
fi fi
AC_SUBST([CSCOPE]) AC_SUBST([CSCOPE])
AC_REQUIRE([AM_SILENT_RULES])dnl AC_REQUIRE([_AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
@@ -1796,47 +1799,9 @@ AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT], [m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
# POSIX will say in a future version that running "rm -f" with no argument AC_REQUIRE([_AM_PROG_RM_F])
# is OK; and we want to be able to make that assumption in our Makefile AC_REQUIRE([_AM_PROG_XARGS_N])
# recipes. So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
cat >&2 <<'END'
Oops!
Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present. This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
Please tell bug-automake@gnu.org about your system, including the value
of your $PATH and any error possibly output before this message. This
can help us improve future automake versions.
END
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
echo 'Configuration will proceed anyway, since you have set the' >&2
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
echo >&2
else
cat >&2 <<'END'
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: <https://www.gnu.org/software/coreutils/>.
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
to "yes", and re-run configure.
END
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
fi
dnl The trailing newline in this macro's definition is deliberate, for dnl The trailing newline in this macro's definition is deliberate, for
dnl backward compatibility and to allow trailing 'dnl'-style comments dnl backward compatibility and to allow trailing 'dnl'-style comments
dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
@@ -1869,7 +1834,7 @@ for _am_header in $config_headers :; do
done done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001-2021 Free Software Foundation, Inc. # Copyright (C) 2001-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1890,7 +1855,7 @@ if test x"${install_sh+set}" != xset; then
fi fi
AC_SUBST([install_sh])]) AC_SUBST([install_sh])])
# Copyright (C) 2003-2021 Free Software Foundation, Inc. # Copyright (C) 2003-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1912,7 +1877,7 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering # From Jim Meyering
# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Copyright (C) 1996-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1947,7 +1912,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# Check to see how 'make' treats includes. -*- Autoconf -*- # Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2021 Free Software Foundation, Inc. # Copyright (C) 2001-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -1990,7 +1955,7 @@ AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2021 Free Software Foundation, Inc. # Copyright (C) 1997-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -2024,7 +1989,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*- # Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2021 Free Software Foundation, Inc. # Copyright (C) 2001-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -2053,7 +2018,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION], AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Copyright (C) 1999-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -2085,7 +2050,10 @@ AC_CACHE_CHECK(
break break
fi fi
done done
rm -f core conftest* # aligned with autoconf, so not including core; see bug#72225.
rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
unset am_i]) unset am_i])
if test "$am_cv_prog_cc_c_o" != yes; then if test "$am_cv_prog_cc_c_o" != yes; then
# Losing compiler, so override with the script. # Losing compiler, so override with the script.
@@ -2100,7 +2068,23 @@ AC_LANG_POP([C])])
# For backward compatibility. # For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 2001-2021 Free Software Foundation, Inc. # Copyright (C) 2022-2025 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_PROG_RM_F
# ---------------
# Check whether 'rm -f' without any arguments works.
# https://bugs.gnu.org/10828
AC_DEFUN([_AM_PROG_RM_F],
[am__rm_f_notfound=
AS_IF([(rm -f && rm -fr && rm -rf) 2>/dev/null], [], [am__rm_f_notfound='""'])
AC_SUBST(am__rm_f_notfound)
])
# Copyright (C) 2001-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -2119,26 +2103,181 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*- # Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Copyright (C) 1996-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# _AM_SLEEP_FRACTIONAL_SECONDS
# ----------------------------
AC_DEFUN([_AM_SLEEP_FRACTIONAL_SECONDS], [dnl
AC_CACHE_CHECK([whether sleep supports fractional seconds],
am_cv_sleep_fractional_seconds, [dnl
AS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=yes],
[am_cv_sleep_fractional_seconds=no])
])])
# _AM_FILESYSTEM_TIMESTAMP_RESOLUTION
# -----------------------------------
# Determine the filesystem's resolution for file modification
# timestamps. The coarsest we know of is FAT, with a resolution
# of only two seconds, even with the most recent "exFAT" extensions.
# The finest (e.g. ext4 with large inodes, XFS, ZFS) is one
# nanosecond, matching clock_gettime. However, it is probably not
# possible to delay execution of a shell script for less than one
# millisecond, due to process creation overhead and scheduling
# granularity, so we don't check for anything finer than that. (See below.)
AC_DEFUN([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION], [dnl
AC_REQUIRE([_AM_SLEEP_FRACTIONAL_SECONDS])
AC_CACHE_CHECK([filesystem timestamp resolution],
am_cv_filesystem_timestamp_resolution, [dnl
# Default to the worst case.
am_cv_filesystem_timestamp_resolution=2
# Only try to go finer than 1 sec if sleep can do it.
# Don't try 1 sec, because if 0.01 sec and 0.1 sec don't work,
# - 1 sec is not much of a win compared to 2 sec, and
# - it takes 2 seconds to perform the test whether 1 sec works.
#
# Instead, just use the default 2s on platforms that have 1s resolution,
# accept the extra 1s delay when using $sleep in the Automake tests, in
# exchange for not incurring the 2s delay for running the test for all
# packages.
#
am_try_resolutions=
if test "$am_cv_sleep_fractional_seconds" = yes; then
# Even a millisecond often causes a bunch of false positives,
# so just try a hundredth of a second. The time saved between .001 and
# .01 is not terribly consequential.
am_try_resolutions="0.01 0.1 $am_try_resolutions"
fi
# In order to catch current-generation FAT out, we must *modify* files
# that already exist; the *creation* timestamp is finer. Use names
# that make ls -t sort them differently when they have equal
# timestamps than when they have distinct timestamps, keeping
# in mind that ls -t prints the *newest* file first.
rm -f conftest.ts?
: > conftest.ts1
: > conftest.ts2
: > conftest.ts3
# Make sure ls -t actually works. Do 'set' in a subshell so we don't
# clobber the current shell's arguments. (Outer-level square brackets
# are removed by m4; they're present so that m4 does not expand
# <dollar><star>; be careful, easy to get confused.)
if (
set X `[ls -t conftest.ts[12]]` &&
{
test "$[]*" != "X conftest.ts1 conftest.ts2" ||
test "$[]*" != "X conftest.ts2 conftest.ts1";
}
); then :; else
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
_AS_ECHO_UNQUOTED(
["Bad output from ls -t: \"`[ls -t conftest.ts[12]]`\""],
[AS_MESSAGE_LOG_FD])
AC_MSG_FAILURE([ls -t produces unexpected output.
Make sure there is not a broken ls alias in your environment.])
fi
for am_try_res in $am_try_resolutions; do
# Any one fine-grained sleep might happen to cross the boundary
# between two values of a coarser actual resolution, but if we do
# two fine-grained sleeps in a row, at least one of them will fall
# entirely within a coarse interval.
echo alpha > conftest.ts1
sleep $am_try_res
echo beta > conftest.ts2
sleep $am_try_res
echo gamma > conftest.ts3
# We assume that 'ls -t' will make use of high-resolution
# timestamps if the operating system supports them at all.
if (set X `ls -t conftest.ts?` &&
test "$[]2" = conftest.ts3 &&
test "$[]3" = conftest.ts2 &&
test "$[]4" = conftest.ts1); then
#
# Ok, ls -t worked. If we're at a resolution of 1 second, we're done,
# because we don't need to test make.
make_ok=true
if test $am_try_res != 1; then
# But if we've succeeded so far with a subsecond resolution, we
# have one more thing to check: make. It can happen that
# everything else supports the subsecond mtimes, but make doesn't;
# notably on macOS, which ships make 3.81 from 2006 (the last one
# released under GPLv2). https://bugs.gnu.org/68808
#
# We test $MAKE if it is defined in the environment, else "make".
# It might get overridden later, but our hope is that in practice
# it does not matter: it is the system "make" which is (by far)
# the most likely to be broken, whereas if the user overrides it,
# probably they did so with a better, or at least not worse, make.
# https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html
#
# Create a Makefile (real tab character here):
rm -f conftest.mk
echo 'conftest.ts1: conftest.ts2' >conftest.mk
echo ' touch conftest.ts2' >>conftest.mk
#
# Now, running
# touch conftest.ts1; touch conftest.ts2; make
# should touch ts1 because ts2 is newer. This could happen by luck,
# but most often, it will fail if make's support is insufficient. So
# test for several consecutive successes.
#
# (We reuse conftest.ts[12] because we still want to modify existing
# files, not create new ones, per above.)
n=0
make=${MAKE-make}
until test $n -eq 3; do
echo one > conftest.ts1
sleep $am_try_res
echo two > conftest.ts2 # ts2 should now be newer than ts1
if $make -f conftest.mk | grep 'up to date' >/dev/null; then
make_ok=false
break # out of $n loop
fi
n=`expr $n + 1`
done
fi
#
if $make_ok; then
# Everything we know to check worked out, so call this resolution good.
am_cv_filesystem_timestamp_resolution=$am_try_res
break # out of $am_try_res loop
fi
# Otherwise, we'll go on to check the next resolution.
fi
done
rm -f conftest.ts?
# (end _am_filesystem_timestamp_resolution)
])])
# AM_SANITY_CHECK # AM_SANITY_CHECK
# --------------- # ---------------
AC_DEFUN([AM_SANITY_CHECK], AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane]) [AC_REQUIRE([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION])
# This check should not be cached, as it may vary across builds of
# different projects.
AC_MSG_CHECKING([whether build environment is sane])
# Reject unsafe characters in $srcdir or the absolute working directory # Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter. # name. Accept space and tab only in the latter.
am_lf=' am_lf='
' '
case `pwd` in case `pwd` in
*[[\\\"\#\$\&\'\`$am_lf]]*) *[[\\\"\#\$\&\'\`$am_lf]]*)
AC_MSG_RESULT([no])
AC_MSG_ERROR([unsafe absolute working directory name]);; AC_MSG_ERROR([unsafe absolute working directory name]);;
esac esac
case $srcdir in case $srcdir in
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
AC_MSG_RESULT([no])
AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac esac
@@ -2147,49 +2286,40 @@ esac
# symlink; some systems play weird games with the mod time of symlinks # symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing # (eg FreeBSD returns the mod time of the symlink's containing
# directory). # directory).
if ( am_build_env_is_sane=no
am_has_slept=no am_has_slept=no
for am_try in 1 2; do rm -f conftest.file
echo "timestamp, slept: $am_has_slept" > conftest.file for am_try in 1 2; do
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` echo "timestamp, slept: $am_has_slept" > conftest.file
if test "$[*]" = "X"; then if (
# -L didn't work. set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
set X `ls -t "$srcdir/configure" conftest.file` if test "$[]*" = "X"; then
fi # -L didn't work.
if test "$[*]" != "X $srcdir/configure conftest.file" \ set X `ls -t "$srcdir/configure" conftest.file`
&& test "$[*]" != "X conftest.file $srcdir/configure"; then fi
test "$[]2" = conftest.file
); then
am_build_env_is_sane=yes
break
fi
# Just in case.
sleep "$am_cv_filesystem_timestamp_resolution"
am_has_slept=yes
done
# If neither matched, then we have a broken ls. This can happen AC_MSG_RESULT([$am_build_env_is_sane])
# if, for instance, CONFIG_SHELL is bash and it inherits a if test "$am_build_env_is_sane" = no; then
# broken ls alias from the environment. This has actually AC_MSG_ERROR([newly created file is older than distributed files!
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
if test "$[2]" = conftest.file || test $am_try -eq 2; then
break
fi
# Just in case.
sleep 1
am_has_slept=yes
done
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock]) Check your system clock])
fi fi
AC_MSG_RESULT([yes])
# If we didn't sleep, we still need to ensure time stamps of config.status and # If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer. # generated files are strictly newer.
am_sleep_pid= am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then AS_IF([test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1],, [dnl
( sleep 1 ) & ( sleep "$am_cv_filesystem_timestamp_resolution" ) &
am_sleep_pid=$! am_sleep_pid=$!
fi ])
AC_CONFIG_COMMANDS_PRE( AC_CONFIG_COMMANDS_PRE(
[AC_MSG_CHECKING([that generated files are newer than configure]) [AC_MSG_CHECKING([that generated files are newer than configure])
if test -n "$am_sleep_pid"; then if test -n "$am_sleep_pid"; then
@@ -2200,18 +2330,18 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file rm -f conftest.file
]) ])
# Copyright (C) 2009-2021 Free Software Foundation, Inc. # Copyright (C) 2009-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# AM_SILENT_RULES([DEFAULT]) # _AM_SILENT_RULES
# -------------------------- # ----------------
# Enable less verbose build rules; with the default set to DEFAULT # Enable less verbose build rules support.
# ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([_AM_SILENT_RULES],
AC_DEFUN([AM_SILENT_RULES], [AM_DEFAULT_VERBOSITY=1
[AC_ARG_ENABLE([silent-rules], [dnl AC_ARG_ENABLE([silent-rules], [dnl
AS_HELP_STRING( AS_HELP_STRING(
[--enable-silent-rules], [--enable-silent-rules],
[less verbose build output (undo: "make V=1")]) [less verbose build output (undo: "make V=1")])
@@ -2219,11 +2349,6 @@ AS_HELP_STRING(
[--disable-silent-rules], [--disable-silent-rules],
[verbose build output (undo: "make V=0")])dnl [verbose build output (undo: "make V=0")])dnl
]) ])
case $enable_silent_rules in @%:@ (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
dnl dnl
dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
dnl do not support nested variable expansions. dnl do not support nested variable expansions.
@@ -2242,14 +2367,6 @@ am__doit:
else else
am_cv_make_support_nested_variables=no am_cv_make_support_nested_variables=no
fi]) fi])
if test $am_cv_make_support_nested_variables = yes; then
dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AC_SUBST([AM_V])dnl AC_SUBST([AM_V])dnl
AM_SUBST_NOTMAKE([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl
AC_SUBST([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_V])dnl
@@ -2258,9 +2375,37 @@ AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\' AM_BACKSLASH='\'
AC_SUBST([AM_BACKSLASH])dnl AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
dnl Delay evaluation of AM_DEFAULT_VERBOSITY to the end to allow multiple calls
dnl to AM_SILENT_RULES to change the default value.
AC_CONFIG_COMMANDS_PRE([dnl
case $enable_silent_rules in @%:@ (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
esac
if test $am_cv_make_support_nested_variables = yes; then
dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
])dnl
]) ])
# Copyright (C) 2001-2021 Free Software Foundation, Inc. # AM_SILENT_RULES([DEFAULT])
# --------------------------
# Set the default verbosity level to DEFAULT ("yes" being less verbose, "no" or
# empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
[AC_REQUIRE([_AM_SILENT_RULES])
AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline
dnl We intentionally force a newline after the assignment, since a) nothing
dnl good can come of more text following, and b) that was the behavior
dnl before 1.17. See https://bugs.gnu.org/72267.
])
# Copyright (C) 2001-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -2288,7 +2433,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])]) AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006-2021 Free Software Foundation, Inc. # Copyright (C) 2006-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -2307,7 +2452,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*- # Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004-2021 Free Software Foundation, Inc. # Copyright (C) 2004-2025 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -2353,15 +2498,19 @@ m4_if([$1], [v7],
am_uid=`id -u || echo unknown` am_uid=`id -u || echo unknown`
am_gid=`id -g || echo unknown` am_gid=`id -g || echo unknown`
AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
if test $am_uid -le $am_max_uid; then if test x$am_uid = xunknown; then
AC_MSG_RESULT([yes]) AC_MSG_WARN([ancient id detected; assuming current UID is ok, but dist-ustar might not work])
elif test $am_uid -le $am_max_uid; then
AC_MSG_RESULT([yes])
else else
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
_am_tools=none _am_tools=none
fi fi
AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
if test $am_gid -le $am_max_gid; then if test x$gm_gid = xunknown; then
AC_MSG_RESULT([yes]) AC_MSG_WARN([ancient id detected; assuming current GID is ok, but dist-ustar might not work])
elif test $am_gid -le $am_max_gid; then
AC_MSG_RESULT([yes])
else else
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
_am_tools=none _am_tools=none
@@ -2438,6 +2587,26 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar]) AC_SUBST([am__untar])
]) # _AM_PROG_TAR ]) # _AM_PROG_TAR
# Copyright (C) 2022-2025 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_PROG_XARGS_N
# ----------------
# Check whether 'xargs -n' works. It should work everywhere, so the fallback
# is not optimized at all as we never expect to use it.
AC_DEFUN([_AM_PROG_XARGS_N],
[AC_CACHE_CHECK([xargs -n works], am_cv_xargs_n_works, [dnl
AS_IF([test "`echo 1 2 3 | xargs -n2 echo`" = "1 2
3"], [am_cv_xargs_n_works=yes], [am_cv_xargs_n_works=no])])
AS_IF([test "$am_cv_xargs_n_works" = yes], [am__xargs_n='xargs -n'], [dnl
am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "$@" "$am__xargs_n_arg"; done; }'
])dnl
AC_SUBST(am__xargs_n)
])
m4_include([m4/gettext.m4]) m4_include([m4/gettext.m4])
m4_include([m4/iconv.m4]) m4_include([m4/iconv.m4])
m4_include([m4/intlmacosx.m4]) m4_include([m4/intlmacosx.m4])
+29 -13
View File
@@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# Wrapper for compilers which do not understand '-c -o'. # Wrapper for compilers which do not understand '-c -o'.
scriptversion=2018-03-07.03; # UTC scriptversion=2025-06-18.21; # UTC
# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Copyright (C) 1999-2025 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>. # Written by Tom Tromey <tromey@cygnus.com>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@@ -37,11 +37,11 @@ IFS=" "" $nl"
file_conv= file_conv=
# func_file_conv build_file lazy # func_file_conv build_file unneeded_conversions
# Convert a $build file to $host form and store it in $file # Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion # Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will # type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
# take place. # conversion will take place.
func_file_conv () func_file_conv ()
{ {
file=$1 file=$1
@@ -51,9 +51,20 @@ func_file_conv ()
# lazily determine how to convert abs files # lazily determine how to convert abs files
case `uname -s` in case `uname -s` in
MINGW*) MINGW*)
file_conv=mingw if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
# MSYS2 environment.
file_conv=cygwin
else
# Original MinGW environment.
file_conv=mingw
fi
;; ;;
CYGWIN* | MSYS*) MSYS*)
# Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
file_conv=cygwin
;;
CYGWIN*)
# Cygwin environment.
file_conv=cygwin file_conv=cygwin
;; ;;
*) *)
@@ -63,12 +74,14 @@ func_file_conv ()
fi fi
case $file_conv/,$2, in case $file_conv/,$2, in
*,$file_conv,*) *,$file_conv,*)
# This is the optimization mentioned above:
# If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
;; ;;
mingw/*) mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;; ;;
cygwin/* | msys/*) cygwin/*)
file=`cygpath -m "$file" || echo "$file"` file=`cygpath -w "$file" || echo "$file"`
;; ;;
wine/*) wine/*)
file=`winepath -w "$file" || echo "$file"` file=`winepath -w "$file" || echo "$file"`
@@ -143,7 +156,7 @@ func_cl_wrapper ()
# configure might choose to run compile as 'compile cc -o foo foo.c'. # configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1 eat=1
case $2 in case $2 in
*.o | *.[oO][bB][jJ]) *.o | *.lo | *.[oO][bB][jJ])
func_file_conv "$2" func_file_conv "$2"
set x "$@" -Fo"$file" set x "$@" -Fo"$file"
shift shift
@@ -248,14 +261,17 @@ If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'. right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>. Report bugs to <bug-automake@gnu.org>.
GNU Automake home page: <https://www.gnu.org/software/automake/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
EOF EOF
exit $? exit $?
;; ;;
-v | --v*) -v | --v*)
echo "compile $scriptversion" echo "compile (GNU Automake) $scriptversion"
exit $? exit $?
;; ;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return... func_cl_wrapper "$@" # Doesn't return...
;; ;;
@@ -340,9 +356,9 @@ exit $ret
# Local Variables: # Local Variables:
# mode: shell-script # mode: shell-script
# sh-indentation: 2 # sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%Y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:
+86 -25
View File
@@ -1,10 +1,10 @@
#! /bin/sh #! /bin/sh
# Attempt to guess a canonical system name. # Attempt to guess a canonical system name.
# Copyright 1992-2022 Free Software Foundation, Inc. # Copyright 1992-2024 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale # shellcheck disable=SC2006,SC2268 # see below for rationale
timestamp='2022-01-09' timestamp='2024-07-27'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
usage="\ usage="\
Usage: $0 [OPTION] Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on. Output the configuration name of the system '$me' is run on.
Options: Options:
-h, --help print this help, then exit -h, --help print this help, then exit
@@ -60,13 +60,13 @@ version="\
GNU config.guess ($timestamp) GNU config.guess ($timestamp)
Originally written by Per Bothner. Originally written by Per Bothner.
Copyright 1992-2022 Free Software Foundation, Inc. Copyright 1992-2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help=" help="
Try \`$me --help' for more information." Try '$me --help' for more information."
# Parse command line # Parse command line
while test $# -gt 0 ; do while test $# -gt 0 ; do
@@ -102,8 +102,8 @@ GUESS=
# temporary files to be created and, as you can see below, it is a # temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion. # headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated. # use 'HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team. # Portable tmp directory creation inspired by the Autoconf team.
@@ -123,7 +123,7 @@ set_cc_for_build() {
dummy=$tmp/dummy dummy=$tmp/dummy
case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
,,) echo "int x;" > "$dummy.c" ,,) echo "int x;" > "$dummy.c"
for driver in cc gcc c89 c99 ; do for driver in cc gcc c17 c99 c89 ; do
if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
CC_FOR_BUILD=$driver CC_FOR_BUILD=$driver
break break
@@ -155,6 +155,9 @@ Linux|GNU|GNU/*)
set_cc_for_build set_cc_for_build
cat <<-EOF > "$dummy.c" cat <<-EOF > "$dummy.c"
#if defined(__ANDROID__)
LIBC=android
#else
#include <features.h> #include <features.h>
#if defined(__UCLIBC__) #if defined(__UCLIBC__)
LIBC=uclibc LIBC=uclibc
@@ -162,6 +165,8 @@ Linux|GNU|GNU/*)
LIBC=dietlibc LIBC=dietlibc
#elif defined(__GLIBC__) #elif defined(__GLIBC__)
LIBC=gnu LIBC=gnu
#elif defined(__LLVM_LIBC__)
LIBC=llvm
#else #else
#include <stdarg.h> #include <stdarg.h>
/* First heuristic to detect musl libc. */ /* First heuristic to detect musl libc. */
@@ -169,6 +174,7 @@ Linux|GNU|GNU/*)
LIBC=musl LIBC=musl
#endif #endif
#endif #endif
#endif
EOF EOF
cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
eval "$cc_set_libc" eval "$cc_set_libc"
@@ -459,7 +465,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
UNAME_RELEASE=`uname -v` UNAME_RELEASE=`uname -v`
;; ;;
esac esac
# Japanese Language versions have a version number like `4.1.3-JL'. # Japanese Language versions have a version number like '4.1.3-JL'.
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
GUESS=sparc-sun-sunos$SUN_REL GUESS=sparc-sun-sunos$SUN_REL
;; ;;
@@ -628,7 +634,8 @@ EOF
sed 's/^ //' << EOF > "$dummy.c" sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h> #include <sys/systemcfg.h>
main() int
main ()
{ {
if (!__power_pc()) if (!__power_pc())
exit(1); exit(1);
@@ -712,7 +719,8 @@ EOF
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
int main () int
main ()
{ {
#if defined(_SC_KERNEL_BITS) #if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS); long bits = sysconf(_SC_KERNEL_BITS);
@@ -904,7 +912,7 @@ EOF
fi fi
;; ;;
*:FreeBSD:*:*) *:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p` UNAME_PROCESSOR=`uname -p`
case $UNAME_PROCESSOR in case $UNAME_PROCESSOR in
amd64) amd64)
UNAME_PROCESSOR=x86_64 ;; UNAME_PROCESSOR=x86_64 ;;
@@ -966,11 +974,37 @@ EOF
GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
;; ;;
x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
;;
*:[Mm]anagarm:*:*)
GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
;;
*:Minix:*:*) *:Minix:*:*)
GUESS=$UNAME_MACHINE-unknown-minix GUESS=$UNAME_MACHINE-unknown-minix
;; ;;
aarch64:Linux:*:*) aarch64:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC set_cc_for_build
CPU=$UNAME_MACHINE
LIBCABI=$LIBC
if test "$CC_FOR_BUILD" != no_compiler_found; then
ABI=64
sed 's/^ //' << EOF > "$dummy.c"
#ifdef __ARM_EABI__
#ifdef __ARM_PCS_VFP
ABI=eabihf
#else
ABI=eabi
#endif
#endif
EOF
cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
eval "$cc_set_abi"
case $ABI in
eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
esac
fi
GUESS=$CPU-unknown-linux-$LIBCABI
;; ;;
aarch64_be:Linux:*:*) aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be UNAME_MACHINE=aarch64_be
@@ -1036,7 +1070,16 @@ EOF
k1om:Linux:*:*) k1om:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;; ;;
loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) kvx:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
kvx:cos:*:*)
GUESS=$UNAME_MACHINE-unknown-cos
;;
kvx:mbr:*:*)
GUESS=$UNAME_MACHINE-unknown-mbr
;;
loongarch32:Linux:*:* | loongarch64:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;; ;;
m32r*:Linux:*:*) m32r*:Linux:*:*)
@@ -1151,16 +1194,27 @@ EOF
;; ;;
x86_64:Linux:*:*) x86_64:Linux:*:*)
set_cc_for_build set_cc_for_build
CPU=$UNAME_MACHINE
LIBCABI=$LIBC LIBCABI=$LIBC
if test "$CC_FOR_BUILD" != no_compiler_found; then if test "$CC_FOR_BUILD" != no_compiler_found; then
if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ ABI=64
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ sed 's/^ //' << EOF > "$dummy.c"
grep IS_X32 >/dev/null #ifdef __i386__
then ABI=x86
LIBCABI=${LIBC}x32 #else
fi #ifdef __ILP32__
ABI=x32
#endif
#endif
EOF
cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
eval "$cc_set_abi"
case $ABI in
x86) CPU=i686 ;;
x32) LIBCABI=${LIBC}x32 ;;
esac
fi fi
GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI GUESS=$CPU-pc-linux-$LIBCABI
;; ;;
xtensa*:Linux:*:*) xtensa*:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
@@ -1180,7 +1234,7 @@ EOF
GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
;; ;;
i*86:OS/2:*:*) i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility # If we were able to find 'uname', then EMX Unix compatibility
# is probably installed. # is probably installed.
GUESS=$UNAME_MACHINE-pc-os2-emx GUESS=$UNAME_MACHINE-pc-os2-emx
;; ;;
@@ -1321,7 +1375,7 @@ EOF
GUESS=ns32k-sni-sysv GUESS=ns32k-sni-sysv
fi fi
;; ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV> # says <Richard.M.Bartel@ccMail.Census.GOV>
GUESS=i586-unisys-sysv4 GUESS=i586-unisys-sysv4
;; ;;
@@ -1367,8 +1421,11 @@ EOF
BePC:Haiku:*:*) # Haiku running on Intel PC compatible. BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
GUESS=i586-pc-haiku GUESS=i586-pc-haiku
;; ;;
x86_64:Haiku:*:*) ppc:Haiku:*:*) # Haiku running on Apple PowerPC
GUESS=x86_64-unknown-haiku GUESS=powerpc-apple-haiku
;;
*:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
GUESS=$UNAME_MACHINE-unknown-haiku
;; ;;
SX-4:SUPER-UX:*:*) SX-4:SUPER-UX:*:*)
GUESS=sx4-nec-superux$UNAME_RELEASE GUESS=sx4-nec-superux$UNAME_RELEASE
@@ -1540,6 +1597,9 @@ EOF
*:Unleashed:*:*) *:Unleashed:*:*)
GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
;; ;;
*:Ironclad:*:*)
GUESS=$UNAME_MACHINE-unknown-ironclad
;;
esac esac
# Do we have a guess based on uname results? # Do we have a guess based on uname results?
@@ -1563,6 +1623,7 @@ cat > "$dummy.c" <<EOF
#endif #endif
#endif #endif
#endif #endif
int
main () main ()
{ {
#if defined (sony) #if defined (sony)
+703 -239
View File
File diff suppressed because it is too large Load Diff
+10 -9
View File
@@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects # depcomp - compile a program generating dependencies as side-effects
scriptversion=2018-03-07.03; # UTC scriptversion=2025-06-18.21; # UTC
# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Copyright (C) 1999-2025 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -47,11 +47,13 @@ Environment variables:
libtool Whether libtool is used (yes/no). libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>. Report bugs to <bug-automake@gnu.org>.
GNU Automake home page: <https://www.gnu.org/software/automake/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
EOF EOF
exit $? exit $?
;; ;;
-v | --v*) -v | --v*)
echo "depcomp $scriptversion" echo "depcomp (GNU Automake) $scriptversion"
exit $? exit $?
;; ;;
esac esac
@@ -113,7 +115,6 @@ nl='
# These definitions help. # These definitions help.
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
lower=abcdefghijklmnopqrstuvwxyz lower=abcdefghijklmnopqrstuvwxyz
digits=0123456789
alpha=${upper}${lower} alpha=${upper}${lower}
if test -z "$depmode" || test -z "$source" || test -z "$object"; then if test -z "$depmode" || test -z "$source" || test -z "$object"; then
@@ -128,7 +129,7 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
# Avoid interferences from the environment. # Avoid interference from the environment.
gccflag= dashmflag= gccflag= dashmflag=
# Some modes work just like other modes, but use different flags. We # Some modes work just like other modes, but use different flags. We
@@ -198,8 +199,8 @@ gcc3)
;; ;;
gcc) gcc)
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## Note that this doesn't just cater to obsolete pre-3.x GCC compilers.
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## but also to in-use compilers like IBM xlc/xlC and the HP C compiler.
## (see the conditional assignment to $gccflag above). ## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's ## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method: ## why we pick this rather obscure method:
@@ -783,9 +784,9 @@ exit 0
# Local Variables: # Local Variables:
# mode: shell-script # mode: shell-script
# sh-indentation: 2 # sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%Y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:
+9 -9
View File
@@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# install - install a program, script, or datafile # install - install a program, script, or datafile
scriptversion=2020-11-14.01; # UTC scriptversion=2025-06-18.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was # This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the # later released in X11R6 (xc/config/util/install.sh) with the
@@ -124,9 +124,9 @@ it's up to you to specify -f if you want it.
If -S is not specified, no backups are attempted. If -S is not specified, no backups are attempted.
Email bug reports to bug-automake@gnu.org. Report bugs to <bug-automake@gnu.org>.
Automake home page: https://www.gnu.org/software/automake/ GNU Automake home page: <https://www.gnu.org/software/automake/>.
" General help using GNU software: <https://www.gnu.org/gethelp/>."
while test $# -ne 0; do while test $# -ne 0; do
case $1 in case $1 in
@@ -170,7 +170,7 @@ while test $# -ne 0; do
-T) is_target_a_directory=never;; -T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;; --version) echo "$0 (GNU Automake) $scriptversion"; exit $?;;
--) shift --) shift
break;; break;;
@@ -345,7 +345,7 @@ do
' 0 ' 0
# Because "mkdir -p" follows existing symlinks and we likely work # Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir' # directly in world-writable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test # directory is successfully created first before we actually test
# 'mkdir -p'. # 'mkdir -p'.
if (umask $mkdir_umask && if (umask $mkdir_umask &&
@@ -353,7 +353,7 @@ do
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then then
if test -z "$dir_arg" || { if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m. # Check for POSIX incompatibility with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't. # other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
@@ -533,9 +533,9 @@ do
done done
# Local variables: # Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%Y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:
+914 -642
View File
File diff suppressed because it is too large Load Diff
+50 -29
View File
@@ -1,9 +1,11 @@
#! /bin/sh #! /bin/sh
# Common wrapper for a few potentially missing GNU programs. # Common wrapper for a few potentially missing GNU and other programs.
scriptversion=2018-03-07.03; # UTC scriptversion=2025-06-18.21; # UTC
# Copyright (C) 1996-2021 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
# Copyright (C) 1996-2025 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@@ -54,18 +56,20 @@ Options:
-v, --version output version information and exit -v, --version output version information and exit
Supported PROGRAM values: Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo aclocal autoconf autogen autoheader autom4te automake autoreconf
bison yacc flex lex help2man bison flex help2man lex makeinfo perl yacc
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name. 'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>." Report bugs to <bug-automake@gnu.org>.
GNU Automake home page: <https://www.gnu.org/software/automake/>.
General help using GNU software: <https://www.gnu.org/gethelp/>."
exit $? exit $?
;; ;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version) -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)" echo "missing (GNU Automake) $scriptversion"
exit $? exit $?
;; ;;
@@ -108,7 +112,7 @@ gnu_software_URL=https://www.gnu.org/software
program_details () program_details ()
{ {
case $1 in case $1 in
aclocal|automake) aclocal|automake|autoreconf)
echo "The '$1' program is part of the GNU Automake package:" echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>" echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
@@ -123,6 +127,9 @@ program_details ()
echo "<$gnu_software_URL/m4/>" echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>" echo "<$perl_URL>"
;; ;;
*)
:
;;
esac esac
} }
@@ -137,48 +144,55 @@ give_advice ()
printf '%s\n' "'$1' is $msg." printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'" configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
autoheader_deps="'acconfig.h'"
automake_deps="'Makefile.am'"
aclocal_deps="'acinclude.m4'"
case $normalized_program in case $normalized_program in
aclocal*)
echo "You should only need it if you modified $aclocal_deps or"
echo "$configure_deps."
;;
autoconf*) autoconf*)
echo "You should only need it if you modified 'configure.ac'," echo "You should only need it if you modified $configure_deps."
echo "or m4 files included by it." ;;
program_details 'autoconf' autogen*)
echo "You should only need it if you modified a '.def' or '.tpl' file."
echo "You may want to install the GNU AutoGen package:"
echo "<$gnu_software_URL/autogen/>"
;; ;;
autoheader*) autoheader*)
echo "You should only need it if you modified 'acconfig.h' or" echo "You should only need it if you modified $autoheader_deps or"
echo "$configure_deps." echo "$configure_deps."
program_details 'autoheader'
;; ;;
automake*) automake*)
echo "You should only need it if you modified 'Makefile.am' or" echo "You should only need it if you modified $automake_deps or"
echo "$configure_deps." echo "$configure_deps."
program_details 'automake'
;; ;;
aclocal*) autom4te*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require" echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt." echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te' ;;
autoreconf*)
echo "You should only need it if you modified $aclocal_deps or"
echo "$automake_deps or $autoheader_deps or $automake_deps or"
echo "$configure_deps."
;; ;;
bison*|yacc*) bison*|yacc*)
echo "You should only need it if you modified a '.y' file." echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:" echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>" echo "<$gnu_software_URL/bison/>"
;; ;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*) help2man*)
echo "You should only need it if you modified a dependency" \ echo "You should only need it if you modified a dependency" \
"of a man page." "of a man page."
echo "You may want to install the GNU Help2man package:" echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>" echo "<$gnu_software_URL/help2man/>"
;; ;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
makeinfo*) makeinfo*)
echo "You should only need it if you modified a '.texi' file, or" echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual." echo "any other file indirectly affecting the aspect of the manual."
@@ -189,6 +203,12 @@ give_advice ()
echo "want to install GNU make:" echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>" echo "<$gnu_software_URL/make/>"
;; ;;
perl*)
echo "You should only need it to run GNU Autoconf, GNU Automake, "
echo " assorted other tools, or if you modified a Perl source file."
echo "You may want to install the Perl 5 language interpreter:"
echo "<$perl_URL>"
;;
*) *)
echo "You might have modified some files without having the proper" echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it" echo "tools for further handling them. Check the 'README' file, it"
@@ -197,6 +217,7 @@ give_advice ()
echo "case some other package contains this missing '$1' program." echo "case some other package contains this missing '$1' program."
;; ;;
esac esac
program_details "$normalized_program"
} }
give_advice "$1" | sed -e '1s/^/WARNING: /' \ give_advice "$1" | sed -e '1s/^/WARNING: /' \
@@ -207,9 +228,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
exit $st exit $st
# Local variables: # Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%Y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:
+13 -6
View File
@@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# test-driver - basic testsuite driver script. # test-driver - basic testsuite driver script.
scriptversion=2018-03-07.03; # UTC scriptversion=2025-06-18.21; # UTC
# Copyright (C) 2011-2021 Free Software Foundation, Inc. # Copyright (C) 2011-2025 Free Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -44,11 +44,16 @@ print_usage ()
Usage: Usage:
test-driver --test-name NAME --log-file PATH --trs-file PATH test-driver --test-name NAME --log-file PATH --trs-file PATH
[--expect-failure {yes|no}] [--color-tests {yes|no}] [--expect-failure {yes|no}] [--color-tests {yes|no}]
[--collect-skipped-logs {yes|no}]
[--enable-hard-errors {yes|no}] [--] [--enable-hard-errors {yes|no}] [--]
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory. The '--test-name', '--log-file' and '--trs-file' options are mandatory.
See the GNU Automake documentation for information. See the GNU Automake documentation for information.
Report bugs to <bug-automake@gnu.org>.
GNU Automake home page: <https://www.gnu.org/software/automake/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
END END
} }
@@ -57,15 +62,17 @@ log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run. trs_file= # Where to save the metadata of the test run.
expect_failure=no expect_failure=no
color_tests=no color_tests=no
collect_skipped_logs=yes
enable_hard_errors=yes enable_hard_errors=yes
while test $# -gt 0; do while test $# -gt 0; do
case $1 in case $1 in
--help) print_usage; exit $?;; --help) print_usage; exit $?;;
--version) echo "test-driver $scriptversion"; exit $?;; --version) echo "test-driver (GNU Automake) $scriptversion"; exit $?;;
--test-name) test_name=$2; shift;; --test-name) test_name=$2; shift;;
--log-file) log_file=$2; shift;; --log-file) log_file=$2; shift;;
--trs-file) trs_file=$2; shift;; --trs-file) trs_file=$2; shift;;
--color-tests) color_tests=$2; shift;; --color-tests) color_tests=$2; shift;;
--collect-skipped-logs) collect_skipped_logs=$2; shift;;
--expect-failure) expect_failure=$2; shift;; --expect-failure) expect_failure=$2; shift;;
--enable-hard-errors) enable_hard_errors=$2; shift;; --enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;; --) shift; break;;
@@ -121,7 +128,7 @@ fi
case $tweaked_estatus:$expect_failure in case $tweaked_estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;; 0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;; 77:*) col=$blu res=SKIP recheck=no gcopy=$collect_skipped_logs;;
99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
*:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
*:*) col=$red res=FAIL recheck=yes gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
@@ -145,9 +152,9 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file
# Local Variables: # Local Variables:
# mode: shell-script # mode: shell-script
# sh-indentation: 2 # sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%Y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:
+49 -39
View File
@@ -32,7 +32,7 @@
/* Define to 1 if you have the <acl/libacl.h> header file. */ /* Define to 1 if you have the <acl/libacl.h> header file. */
#undef HAVE_ACL_LIBACL_H #undef HAVE_ACL_LIBACL_H
/* Define to 1 if you have the `arc4random_buf' function. */ /* Define to 1 if you have the 'arc4random_buf' function. */
#undef HAVE_ARC4RANDOM_BUF #undef HAVE_ARC4RANDOM_BUF
/* Define to 1 if you have the <attr/error_context.h> header file. */ /* Define to 1 if you have the <attr/error_context.h> header file. */
@@ -53,30 +53,30 @@
*/ */
#undef HAVE_DCGETTEXT #undef HAVE_DCGETTEXT
/* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if /* Define to 1 if you have the declaration of 'cygwin_conv_path', and to 0 if
you don't. */ you don't. */
#undef HAVE_DECL_CYGWIN_CONV_PATH #undef HAVE_DECL_CYGWIN_CONV_PATH
/* Define to 1 if you have the declaration of `PAM_DATA_SILENT', and to 0 if /* Define to 1 if you have the declaration of 'PAM_DATA_SILENT', and to 0 if
you don't. */ you don't. */
#undef HAVE_DECL_PAM_DATA_SILENT #undef HAVE_DECL_PAM_DATA_SILENT
/* Define to 1 if you have the declaration of `PAM_DELETE_CRED', and to 0 if /* Define to 1 if you have the declaration of 'PAM_DELETE_CRED', and to 0 if
you don't. */ you don't. */
#undef HAVE_DECL_PAM_DELETE_CRED #undef HAVE_DECL_PAM_DELETE_CRED
/* Define to 1 if you have the declaration of `PAM_ESTABLISH_CRED', and to 0 /* Define to 1 if you have the declaration of 'PAM_ESTABLISH_CRED', and to 0
if you don't. */ if you don't. */
#undef HAVE_DECL_PAM_ESTABLISH_CRED #undef HAVE_DECL_PAM_ESTABLISH_CRED
/* Define to 1 if you have the declaration of `PAM_NEW_AUTHTOK_REQD', and to 0 /* Define to 1 if you have the declaration of 'PAM_NEW_AUTHTOK_REQD', and to 0
if you don't. */ if you don't. */
#undef HAVE_DECL_PAM_NEW_AUTHTOK_REQD #undef HAVE_DECL_PAM_NEW_AUTHTOK_REQD
/* Define if you have the GNU dld library. */ /* Define if you have the GNU dld library. */
#undef HAVE_DLD #undef HAVE_DLD
/* Define to 1 if you have the `dlerror' function. */ /* Define to 1 if you have the 'dlerror' function. */
#undef HAVE_DLERROR #undef HAVE_DLERROR
/* Define to 1 if you have the <dlfcn.h> header file. */ /* Define to 1 if you have the <dlfcn.h> header file. */
@@ -85,19 +85,19 @@
/* Define if you have the _dyld_func_lookup function. */ /* Define if you have the _dyld_func_lookup function. */
#undef HAVE_DYLD #undef HAVE_DYLD
/* Define to 1 if you have the `explicit_bzero' function. */ /* Define to 1 if you have the 'explicit_bzero' function. */
#undef HAVE_EXPLICIT_BZERO #undef HAVE_EXPLICIT_BZERO
/* Defined to 1 if you have the declaration of 'fgetpwent_r' */ /* Defined to 1 if you have the declaration of 'fgetpwent_r' */
#undef HAVE_FGETPWENT_R #undef HAVE_FGETPWENT_R
/* Define to 1 if you have the `getentropy' function. */ /* Define to 1 if you have the 'getentropy' function. */
#undef HAVE_GETENTROPY #undef HAVE_GETENTROPY
/* Define to 1 if you have the `getrandom' function. */ /* Define to 1 if you have the 'getrandom' function. */
#undef HAVE_GETRANDOM #undef HAVE_GETRANDOM
/* Define to 1 if you have the `getspnam_r' function. */ /* Define to 1 if you have the 'getspnam_r' function. */
#undef HAVE_GETSPNAM_R #undef HAVE_GETSPNAM_R
/* Define if the GNU gettext() function is already present or preinstalled. */ /* Define if the GNU gettext() function is already present or preinstalled. */
@@ -106,13 +106,13 @@
/* Define if you have the iconv() function and it works. */ /* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV #undef HAVE_ICONV
/* Define to 1 if you have the `innetgr' function. */ /* Define to 1 if you have the 'innetgr' function. */
#undef HAVE_INNETGR #undef HAVE_INNETGR
/* Define to 1 if you have the <inttypes.h> header file. */ /* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H #undef HAVE_INTTYPES_H
/* Define to 1 if you have the `lckpwdf' function. */ /* Define to 1 if you have the 'lckpwdf' function. */
#undef HAVE_LCKPWDF #undef HAVE_LCKPWDF
/* Define if you have the libdl library or equivalent. */ /* Define if you have the libdl library or equivalent. */
@@ -130,28 +130,28 @@
/* Define if struct lastlog has ll_host */ /* Define if struct lastlog has ll_host */
#undef HAVE_LL_HOST #undef HAVE_LL_HOST
/* Define to 1 if you have the `lutimes' function. */ /* Define to 1 if you have the 'lutimes' function. */
#undef HAVE_LUTIMES #undef HAVE_LUTIMES
/* Define to 1 if you have the `memset_explicit' function. */ /* Define to 1 if you have the 'memset_explicit' function. */
#undef HAVE_MEMSET_EXPLICIT #undef HAVE_MEMSET_EXPLICIT
/* Define to 1 if you have the <minix/config.h> header file. */ /* Define to 1 if you have the <minix/config.h> header file. */
#undef HAVE_MINIX_CONFIG_H #undef HAVE_MINIX_CONFIG_H
/* Define to 1 if you have the `putgrent' function. */ /* Define to 1 if you have the 'putgrent' function. */
#undef HAVE_PUTGRENT #undef HAVE_PUTGRENT
/* Define to 1 if you have the `putpwent' function. */ /* Define to 1 if you have the 'putpwent' function. */
#undef HAVE_PUTPWENT #undef HAVE_PUTPWENT
/* Define to 1 if you have the `putspent' function. */ /* Define to 1 if you have the 'putspent' function. */
#undef HAVE_PUTSPENT #undef HAVE_PUTSPENT
/* Define to 1 if you have the <readpassphrase.h> header file. */ /* Define to 1 if you have the <readpassphrase.h> header file. */
#undef HAVE_READPASSPHRASE_H #undef HAVE_READPASSPHRASE_H
/* Define to 1 if you have the `rpmatch' function. */ /* Define to 1 if you have the 'rpmatch' function. */
#undef HAVE_RPMATCH #undef HAVE_RPMATCH
/* Define to 1 if you have the <security/openpam.h> header file. */ /* Define to 1 if you have the <security/openpam.h> header file. */
@@ -166,13 +166,13 @@
/* Define to 1 if you have the <semanage/semanage.h> header file. */ /* Define to 1 if you have the <semanage/semanage.h> header file. */
#undef HAVE_SEMANAGE_SEMANAGE_H #undef HAVE_SEMANAGE_SEMANAGE_H
/* Define to 1 if you have the `sgetgrent' function. */ /* Define to 1 if you have the 'sgetgrent' function. */
#undef HAVE_SGETGRENT #undef HAVE_SGETGRENT
/* Define to 1 if you have the `sgetpwent' function. */ /* Define to 1 if you have the 'sgetpwent' function. */
#undef HAVE_SGETPWENT #undef HAVE_SGETPWENT
/* Define to 1 if you have the `sgetspent' function. */ /* Define to 1 if you have the 'sgetspent' function. */
#undef HAVE_SGETSPENT #undef HAVE_SGETSPENT
/* Define if you have the shl_load function. */ /* Define if you have the shl_load function. */
@@ -187,10 +187,10 @@
/* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H #undef HAVE_STDLIB_H
/* Define to 1 if you have the `stpecpy' function. */ /* Define to 1 if you have the 'stpecpy' function. */
#undef HAVE_STPECPY #undef HAVE_STPECPY
/* Define to 1 if you have the `stpeprintf' function. */ /* Define to 1 if you have the 'stpeprintf' function. */
#undef HAVE_STPEPRINTF #undef HAVE_STPEPRINTF
/* Define to 1 if you have the <strings.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */
@@ -199,25 +199,25 @@
/* Define to 1 if you have the <string.h> header file. */ /* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H #undef HAVE_STRING_H
/* Define to 1 if `ut_addr' is a member of `struct utmpx'. */ /* Define to 1 if 'ut_addr' is a member of 'struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_ADDR #undef HAVE_STRUCT_UTMPX_UT_ADDR
/* Define to 1 if `ut_addr_v6' is a member of `struct utmpx'. */ /* Define to 1 if 'ut_addr_v6' is a member of 'struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_ADDR_V6 #undef HAVE_STRUCT_UTMPX_UT_ADDR_V6
/* Define to 1 if `ut_host' is a member of `struct utmpx'. */ /* Define to 1 if 'ut_host' is a member of 'struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_HOST #undef HAVE_STRUCT_UTMPX_UT_HOST
/* Define to 1 if `ut_name' is a member of `struct utmpx'. */ /* Define to 1 if 'ut_name' is a member of 'struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_NAME #undef HAVE_STRUCT_UTMPX_UT_NAME
/* Define to 1 if `ut_syslen' is a member of `struct utmpx'. */ /* Define to 1 if 'ut_syslen' is a member of 'struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_SYSLEN #undef HAVE_STRUCT_UTMPX_UT_SYSLEN
/* Define to 1 if `ut_time' is a member of `struct utmpx'. */ /* Define to 1 if 'ut_time' is a member of 'struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_TIME #undef HAVE_STRUCT_UTMPX_UT_TIME
/* Define to 1 if `ut_xtime' is a member of `struct utmpx'. */ /* Define to 1 if 'ut_xtime' is a member of 'struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_XTIME #undef HAVE_STRUCT_UTMPX_UT_XTIME
/* Define to 1 if you have the <sys/statfs.h> header file. */ /* Define to 1 if you have the <sys/statfs.h> header file. */
@@ -235,13 +235,13 @@
/* Define to 1 if you have the <unistd.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H #undef HAVE_UNISTD_H
/* Define to 1 if you have the `updwtmpx' function. */ /* Define to 1 if you have the 'updwtmpx' function. */
#undef HAVE_UPDWTMPX #undef HAVE_UPDWTMPX
/* Define to 1 if you have the <utime.h> header file. */ /* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H #undef HAVE_UTIME_H
/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ /* Define to 1 if 'utime(file, NULL)' sets file's timestamp to the present. */
#undef HAVE_UTIME_NULL #undef HAVE_UTIME_NULL
/* Define to support vendor settings. */ /* Define to support vendor settings. */
@@ -292,10 +292,10 @@
/* The default shell. */ /* The default shell. */
#undef SHELL #undef SHELL
/* The size of `gid_t', as computed by sizeof. */ /* The size of 'gid_t', as computed by sizeof. */
#undef SIZEOF_GID_T #undef SIZEOF_GID_T
/* The size of `uid_t', as computed by sizeof. */ /* The size of 'uid_t', as computed by sizeof. */
#undef SIZEOF_UID_T #undef SIZEOF_UID_T
/* Define to support S/Key logins. */ /* Define to support S/Key logins. */
@@ -304,7 +304,7 @@
/* Define to support newer BSD S/Key API */ /* Define to support newer BSD S/Key API */
#undef SKEY_BSD_STYLE #undef SKEY_BSD_STYLE
/* Define to 1 if all of the C90 standard headers exist (not just the ones /* Define to 1 if all of the C89 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */ backward compatibility; new code need not use it. */
#undef STDC_HEADERS #undef STDC_HEADERS
@@ -327,7 +327,7 @@
/* Define to support flushing of sssd caches */ /* Define to support flushing of sssd caches */
#undef USE_SSSD #undef USE_SSSD
/* Enable extensions on AIX 3, Interix. */ /* Enable extensions on AIX, Interix, z/OS. */
#ifndef _ALL_SOURCE #ifndef _ALL_SOURCE
# undef _ALL_SOURCE # undef _ALL_SOURCE
#endif #endif
@@ -388,11 +388,15 @@
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ #ifndef __STDC_WANT_IEC_60559_DFP_EXT__
# undef __STDC_WANT_IEC_60559_DFP_EXT__ # undef __STDC_WANT_IEC_60559_DFP_EXT__
#endif #endif
/* Enable extensions specified by C23 Annex F. */
#ifndef __STDC_WANT_IEC_60559_EXT__
# undef __STDC_WANT_IEC_60559_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__ # undef __STDC_WANT_IEC_60559_FUNCS_EXT__
#endif #endif
/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ /* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
# undef __STDC_WANT_IEC_60559_TYPES_EXT__ # undef __STDC_WANT_IEC_60559_TYPES_EXT__
#endif #endif
@@ -451,5 +455,11 @@
/* Number of bits in a file offset, on hosts where this is settable. */ /* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS #undef _FILE_OFFSET_BITS
/* Define for large files, on AIX-style hosts. */ /* Define to 1 on platforms where this makes off_t a 64-bit type. */
#undef _LARGE_FILES #undef _LARGE_FILES
/* Number of bits in time_t, on hosts where this is settable. */
#undef _TIME_BITS
/* Define to 1 on platforms where this makes time_t a 64-bit type. */
#undef __MINGW_USE_VC2005_COMPAT
Vendored
+3317 -1772
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -5,7 +5,7 @@ m4_define([libsubid_abi_minor], [0])
m4_define([libsubid_abi_micro], [0]) m4_define([libsubid_abi_micro], [0])
m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro]) m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro])
AC_INIT([shadow], [4.19.0], [pkg-shadow-devel@lists.alioth.debian.org], [], AC_INIT([shadow], [4.19.3], [pkg-shadow-devel@lists.alioth.debian.org], [],
[https://github.com/shadow-maint/shadow]) [https://github.com/shadow-maint/shadow])
AC_CONFIG_MACRO_DIRS([m4]) AC_CONFIG_MACRO_DIRS([m4])
AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_AUX_DIR([build-aux])
+17 -4
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -72,6 +72,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -162,6 +164,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -261,8 +264,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -350,6 +355,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -411,8 +417,8 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -503,3 +509,10 @@ uninstall-am:
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+20 -8
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -73,6 +73,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -158,10 +160,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
am__installdirs = "$(DESTDIR)$(defaultdir)" "$(DESTDIR)$(nonpamdir)" \ am__installdirs = "$(DESTDIR)$(defaultdir)" "$(DESTDIR)$(nonpamdir)" \
"$(DESTDIR)$(sysconfdir)" "$(DESTDIR)$(sysconfdir)"
@@ -251,6 +252,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -350,8 +352,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -609,6 +613,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -699,8 +704,8 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -796,3 +801,10 @@ uninstall-am: uninstall-defaultDATA uninstall-nonpamDATA \
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+20 -8
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -73,6 +73,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -152,10 +154,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
am__installdirs = "$(DESTDIR)$(pamddir)" am__installdirs = "$(DESTDIR)$(pamddir)"
DATA = $(pamd_DATA) DATA = $(pamd_DATA)
@@ -194,6 +195,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -293,8 +295,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -416,6 +420,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -480,8 +485,8 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -572,3 +577,10 @@ uninstall-am: uninstall-pamdDATA
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+17 -4
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -159,6 +161,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -258,8 +261,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -351,6 +356,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -412,8 +418,8 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -504,3 +510,10 @@ uninstall-am:
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+127 -116
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -70,6 +70,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -589,6 +591,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -688,8 +691,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -873,21 +878,19 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps): $(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES: clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -$(am__rm_f) $(noinst_LTLIBRARIES)
@list='$(noinst_LTLIBRARIES)'; \ @list='$(noinst_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \ locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \ sort -u`; \
test -z "$$locs" || { \ echo rm -f $${locs}; \
echo rm -f $${locs}; \ $(am__rm_f) $${locs}
rm -f $${locs}; \
}
alloc/$(am__dirstamp): alloc/$(am__dirstamp):
@$(MKDIR_P) alloc @$(MKDIR_P) alloc
@: > alloc/$(am__dirstamp) @: >>alloc/$(am__dirstamp)
alloc/$(DEPDIR)/$(am__dirstamp): alloc/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) alloc/$(DEPDIR) @$(MKDIR_P) alloc/$(DEPDIR)
@: > alloc/$(DEPDIR)/$(am__dirstamp) @: >>alloc/$(DEPDIR)/$(am__dirstamp)
alloc/libshadow_la-calloc.lo: alloc/$(am__dirstamp) \ alloc/libshadow_la-calloc.lo: alloc/$(am__dirstamp) \
alloc/$(DEPDIR)/$(am__dirstamp) alloc/$(DEPDIR)/$(am__dirstamp)
alloc/libshadow_la-malloc.lo: alloc/$(am__dirstamp) \ alloc/libshadow_la-malloc.lo: alloc/$(am__dirstamp) \
@@ -898,20 +901,20 @@ alloc/libshadow_la-reallocf.lo: alloc/$(am__dirstamp) \
alloc/$(DEPDIR)/$(am__dirstamp) alloc/$(DEPDIR)/$(am__dirstamp)
atoi/$(am__dirstamp): atoi/$(am__dirstamp):
@$(MKDIR_P) atoi @$(MKDIR_P) atoi
@: > atoi/$(am__dirstamp) @: >>atoi/$(am__dirstamp)
atoi/$(DEPDIR)/$(am__dirstamp): atoi/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) atoi/$(DEPDIR) @$(MKDIR_P) atoi/$(DEPDIR)
@: > atoi/$(DEPDIR)/$(am__dirstamp) @: >>atoi/$(DEPDIR)/$(am__dirstamp)
atoi/libshadow_la-a2i.lo: atoi/$(am__dirstamp) \ atoi/libshadow_la-a2i.lo: atoi/$(am__dirstamp) \
atoi/$(DEPDIR)/$(am__dirstamp) atoi/$(DEPDIR)/$(am__dirstamp)
atoi/libshadow_la-getnum.lo: atoi/$(am__dirstamp) \ atoi/libshadow_la-getnum.lo: atoi/$(am__dirstamp) \
atoi/$(DEPDIR)/$(am__dirstamp) atoi/$(DEPDIR)/$(am__dirstamp)
atoi/strtoi/$(am__dirstamp): atoi/strtoi/$(am__dirstamp):
@$(MKDIR_P) atoi/strtoi @$(MKDIR_P) atoi/strtoi
@: > atoi/strtoi/$(am__dirstamp) @: >>atoi/strtoi/$(am__dirstamp)
atoi/strtoi/$(DEPDIR)/$(am__dirstamp): atoi/strtoi/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) atoi/strtoi/$(DEPDIR) @$(MKDIR_P) atoi/strtoi/$(DEPDIR)
@: > atoi/strtoi/$(DEPDIR)/$(am__dirstamp) @: >>atoi/strtoi/$(DEPDIR)/$(am__dirstamp)
atoi/strtoi/libshadow_la-strtoi.lo: atoi/strtoi/$(am__dirstamp) \ atoi/strtoi/libshadow_la-strtoi.lo: atoi/strtoi/$(am__dirstamp) \
atoi/strtoi/$(DEPDIR)/$(am__dirstamp) atoi/strtoi/$(DEPDIR)/$(am__dirstamp)
atoi/strtoi/libshadow_la-strtou.lo: atoi/strtoi/$(am__dirstamp) \ atoi/strtoi/libshadow_la-strtou.lo: atoi/strtoi/$(am__dirstamp) \
@@ -920,72 +923,72 @@ atoi/strtoi/libshadow_la-strtou_noneg.lo: atoi/strtoi/$(am__dirstamp) \
atoi/strtoi/$(DEPDIR)/$(am__dirstamp) atoi/strtoi/$(DEPDIR)/$(am__dirstamp)
fs/mkstemp/$(am__dirstamp): fs/mkstemp/$(am__dirstamp):
@$(MKDIR_P) fs/mkstemp @$(MKDIR_P) fs/mkstemp
@: > fs/mkstemp/$(am__dirstamp) @: >>fs/mkstemp/$(am__dirstamp)
fs/mkstemp/$(DEPDIR)/$(am__dirstamp): fs/mkstemp/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) fs/mkstemp/$(DEPDIR) @$(MKDIR_P) fs/mkstemp/$(DEPDIR)
@: > fs/mkstemp/$(DEPDIR)/$(am__dirstamp) @: >>fs/mkstemp/$(DEPDIR)/$(am__dirstamp)
fs/mkstemp/libshadow_la-fmkomstemp.lo: fs/mkstemp/$(am__dirstamp) \ fs/mkstemp/libshadow_la-fmkomstemp.lo: fs/mkstemp/$(am__dirstamp) \
fs/mkstemp/$(DEPDIR)/$(am__dirstamp) fs/mkstemp/$(DEPDIR)/$(am__dirstamp)
fs/mkstemp/libshadow_la-mkomstemp.lo: fs/mkstemp/$(am__dirstamp) \ fs/mkstemp/libshadow_la-mkomstemp.lo: fs/mkstemp/$(am__dirstamp) \
fs/mkstemp/$(DEPDIR)/$(am__dirstamp) fs/mkstemp/$(DEPDIR)/$(am__dirstamp)
fs/readlink/$(am__dirstamp): fs/readlink/$(am__dirstamp):
@$(MKDIR_P) fs/readlink @$(MKDIR_P) fs/readlink
@: > fs/readlink/$(am__dirstamp) @: >>fs/readlink/$(am__dirstamp)
fs/readlink/$(DEPDIR)/$(am__dirstamp): fs/readlink/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) fs/readlink/$(DEPDIR) @$(MKDIR_P) fs/readlink/$(DEPDIR)
@: > fs/readlink/$(DEPDIR)/$(am__dirstamp) @: >>fs/readlink/$(DEPDIR)/$(am__dirstamp)
fs/readlink/libshadow_la-areadlink.lo: fs/readlink/$(am__dirstamp) \ fs/readlink/libshadow_la-areadlink.lo: fs/readlink/$(am__dirstamp) \
fs/readlink/$(DEPDIR)/$(am__dirstamp) fs/readlink/$(DEPDIR)/$(am__dirstamp)
fs/readlink/libshadow_la-readlinknul.lo: fs/readlink/$(am__dirstamp) \ fs/readlink/libshadow_la-readlinknul.lo: fs/readlink/$(am__dirstamp) \
fs/readlink/$(DEPDIR)/$(am__dirstamp) fs/readlink/$(DEPDIR)/$(am__dirstamp)
search/cmp/$(am__dirstamp): search/cmp/$(am__dirstamp):
@$(MKDIR_P) search/cmp @$(MKDIR_P) search/cmp
@: > search/cmp/$(am__dirstamp) @: >>search/cmp/$(am__dirstamp)
search/cmp/$(DEPDIR)/$(am__dirstamp): search/cmp/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) search/cmp/$(DEPDIR) @$(MKDIR_P) search/cmp/$(DEPDIR)
@: > search/cmp/$(DEPDIR)/$(am__dirstamp) @: >>search/cmp/$(DEPDIR)/$(am__dirstamp)
search/cmp/libshadow_la-cmp.lo: search/cmp/$(am__dirstamp) \ search/cmp/libshadow_la-cmp.lo: search/cmp/$(am__dirstamp) \
search/cmp/$(DEPDIR)/$(am__dirstamp) search/cmp/$(DEPDIR)/$(am__dirstamp)
search/l/$(am__dirstamp): search/l/$(am__dirstamp):
@$(MKDIR_P) search/l @$(MKDIR_P) search/l
@: > search/l/$(am__dirstamp) @: >>search/l/$(am__dirstamp)
search/l/$(DEPDIR)/$(am__dirstamp): search/l/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) search/l/$(DEPDIR) @$(MKDIR_P) search/l/$(DEPDIR)
@: > search/l/$(DEPDIR)/$(am__dirstamp) @: >>search/l/$(DEPDIR)/$(am__dirstamp)
search/l/libshadow_la-lfind.lo: search/l/$(am__dirstamp) \ search/l/libshadow_la-lfind.lo: search/l/$(am__dirstamp) \
search/l/$(DEPDIR)/$(am__dirstamp) search/l/$(DEPDIR)/$(am__dirstamp)
search/l/libshadow_la-lsearch.lo: search/l/$(am__dirstamp) \ search/l/libshadow_la-lsearch.lo: search/l/$(am__dirstamp) \
search/l/$(DEPDIR)/$(am__dirstamp) search/l/$(DEPDIR)/$(am__dirstamp)
search/sort/$(am__dirstamp): search/sort/$(am__dirstamp):
@$(MKDIR_P) search/sort @$(MKDIR_P) search/sort
@: > search/sort/$(am__dirstamp) @: >>search/sort/$(am__dirstamp)
search/sort/$(DEPDIR)/$(am__dirstamp): search/sort/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) search/sort/$(DEPDIR) @$(MKDIR_P) search/sort/$(DEPDIR)
@: > search/sort/$(DEPDIR)/$(am__dirstamp) @: >>search/sort/$(DEPDIR)/$(am__dirstamp)
search/sort/libshadow_la-qsort.lo: search/sort/$(am__dirstamp) \ search/sort/libshadow_la-qsort.lo: search/sort/$(am__dirstamp) \
search/sort/$(DEPDIR)/$(am__dirstamp) search/sort/$(DEPDIR)/$(am__dirstamp)
shadow/group/$(am__dirstamp): shadow/group/$(am__dirstamp):
@$(MKDIR_P) shadow/group @$(MKDIR_P) shadow/group
@: > shadow/group/$(am__dirstamp) @: >>shadow/group/$(am__dirstamp)
shadow/group/$(DEPDIR)/$(am__dirstamp): shadow/group/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) shadow/group/$(DEPDIR) @$(MKDIR_P) shadow/group/$(DEPDIR)
@: > shadow/group/$(DEPDIR)/$(am__dirstamp) @: >>shadow/group/$(DEPDIR)/$(am__dirstamp)
shadow/group/libshadow_la-sgetgrent.lo: shadow/group/$(am__dirstamp) \ shadow/group/libshadow_la-sgetgrent.lo: shadow/group/$(am__dirstamp) \
shadow/group/$(DEPDIR)/$(am__dirstamp) shadow/group/$(DEPDIR)/$(am__dirstamp)
shadow/grp/$(am__dirstamp): shadow/grp/$(am__dirstamp):
@$(MKDIR_P) shadow/grp @$(MKDIR_P) shadow/grp
@: > shadow/grp/$(am__dirstamp) @: >>shadow/grp/$(am__dirstamp)
shadow/grp/$(DEPDIR)/$(am__dirstamp): shadow/grp/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) shadow/grp/$(DEPDIR) @$(MKDIR_P) shadow/grp/$(DEPDIR)
@: > shadow/grp/$(DEPDIR)/$(am__dirstamp) @: >>shadow/grp/$(DEPDIR)/$(am__dirstamp)
shadow/grp/libshadow_la-agetgroups.lo: shadow/grp/$(am__dirstamp) \ shadow/grp/libshadow_la-agetgroups.lo: shadow/grp/$(am__dirstamp) \
shadow/grp/$(DEPDIR)/$(am__dirstamp) shadow/grp/$(DEPDIR)/$(am__dirstamp)
shadow/gshadow/$(am__dirstamp): shadow/gshadow/$(am__dirstamp):
@$(MKDIR_P) shadow/gshadow @$(MKDIR_P) shadow/gshadow
@: > shadow/gshadow/$(am__dirstamp) @: >>shadow/gshadow/$(am__dirstamp)
shadow/gshadow/$(DEPDIR)/$(am__dirstamp): shadow/gshadow/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) shadow/gshadow/$(DEPDIR) @$(MKDIR_P) shadow/gshadow/$(DEPDIR)
@: > shadow/gshadow/$(DEPDIR)/$(am__dirstamp) @: >>shadow/gshadow/$(DEPDIR)/$(am__dirstamp)
shadow/gshadow/libshadow_la-endsgent.lo: \ shadow/gshadow/libshadow_la-endsgent.lo: \
shadow/gshadow/$(am__dirstamp) \ shadow/gshadow/$(am__dirstamp) \
shadow/gshadow/$(DEPDIR)/$(am__dirstamp) shadow/gshadow/$(DEPDIR)/$(am__dirstamp)
@@ -1014,37 +1017,37 @@ shadow/gshadow/libshadow_la-sgrp.lo: shadow/gshadow/$(am__dirstamp) \
shadow/gshadow/$(DEPDIR)/$(am__dirstamp) shadow/gshadow/$(DEPDIR)/$(am__dirstamp)
shadow/passwd/$(am__dirstamp): shadow/passwd/$(am__dirstamp):
@$(MKDIR_P) shadow/passwd @$(MKDIR_P) shadow/passwd
@: > shadow/passwd/$(am__dirstamp) @: >>shadow/passwd/$(am__dirstamp)
shadow/passwd/$(DEPDIR)/$(am__dirstamp): shadow/passwd/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) shadow/passwd/$(DEPDIR) @$(MKDIR_P) shadow/passwd/$(DEPDIR)
@: > shadow/passwd/$(DEPDIR)/$(am__dirstamp) @: >>shadow/passwd/$(DEPDIR)/$(am__dirstamp)
shadow/passwd/libshadow_la-sgetpwent.lo: \ shadow/passwd/libshadow_la-sgetpwent.lo: \
shadow/passwd/$(am__dirstamp) \ shadow/passwd/$(am__dirstamp) \
shadow/passwd/$(DEPDIR)/$(am__dirstamp) shadow/passwd/$(DEPDIR)/$(am__dirstamp)
shadow/shadow/$(am__dirstamp): shadow/shadow/$(am__dirstamp):
@$(MKDIR_P) shadow/shadow @$(MKDIR_P) shadow/shadow
@: > shadow/shadow/$(am__dirstamp) @: >>shadow/shadow/$(am__dirstamp)
shadow/shadow/$(DEPDIR)/$(am__dirstamp): shadow/shadow/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) shadow/shadow/$(DEPDIR) @$(MKDIR_P) shadow/shadow/$(DEPDIR)
@: > shadow/shadow/$(DEPDIR)/$(am__dirstamp) @: >>shadow/shadow/$(DEPDIR)/$(am__dirstamp)
shadow/shadow/libshadow_la-sgetspent.lo: \ shadow/shadow/libshadow_la-sgetspent.lo: \
shadow/shadow/$(am__dirstamp) \ shadow/shadow/$(am__dirstamp) \
shadow/shadow/$(DEPDIR)/$(am__dirstamp) shadow/shadow/$(DEPDIR)/$(am__dirstamp)
string/ctype/strchrisascii/$(am__dirstamp): string/ctype/strchrisascii/$(am__dirstamp):
@$(MKDIR_P) string/ctype/strchrisascii @$(MKDIR_P) string/ctype/strchrisascii
@: > string/ctype/strchrisascii/$(am__dirstamp) @: >>string/ctype/strchrisascii/$(am__dirstamp)
string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp): string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/ctype/strchrisascii/$(DEPDIR) @$(MKDIR_P) string/ctype/strchrisascii/$(DEPDIR)
@: > string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp) @: >>string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp)
string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo: \ string/ctype/strchrisascii/libshadow_la-strchriscntrl.lo: \
string/ctype/strchrisascii/$(am__dirstamp) \ string/ctype/strchrisascii/$(am__dirstamp) \
string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp) string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp)
string/ctype/strisascii/$(am__dirstamp): string/ctype/strisascii/$(am__dirstamp):
@$(MKDIR_P) string/ctype/strisascii @$(MKDIR_P) string/ctype/strisascii
@: > string/ctype/strisascii/$(am__dirstamp) @: >>string/ctype/strisascii/$(am__dirstamp)
string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp): string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/ctype/strisascii/$(DEPDIR) @$(MKDIR_P) string/ctype/strisascii/$(DEPDIR)
@: > string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp) @: >>string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp)
string/ctype/strisascii/libshadow_la-strisdigit.lo: \ string/ctype/strisascii/libshadow_la-strisdigit.lo: \
string/ctype/strisascii/$(am__dirstamp) \ string/ctype/strisascii/$(am__dirstamp) \
string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp) string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp)
@@ -1053,27 +1056,27 @@ string/ctype/strisascii/libshadow_la-strisprint.lo: \
string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp) string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp)
string/ctype/strtoascii/$(am__dirstamp): string/ctype/strtoascii/$(am__dirstamp):
@$(MKDIR_P) string/ctype/strtoascii @$(MKDIR_P) string/ctype/strtoascii
@: > string/ctype/strtoascii/$(am__dirstamp) @: >>string/ctype/strtoascii/$(am__dirstamp)
string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp): string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/ctype/strtoascii/$(DEPDIR) @$(MKDIR_P) string/ctype/strtoascii/$(DEPDIR)
@: > string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp) @: >>string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp)
string/ctype/strtoascii/libshadow_la-strtolower.lo: \ string/ctype/strtoascii/libshadow_la-strtolower.lo: \
string/ctype/strtoascii/$(am__dirstamp) \ string/ctype/strtoascii/$(am__dirstamp) \
string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp) string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp)
string/memset/$(am__dirstamp): string/memset/$(am__dirstamp):
@$(MKDIR_P) string/memset @$(MKDIR_P) string/memset
@: > string/memset/$(am__dirstamp) @: >>string/memset/$(am__dirstamp)
string/memset/$(DEPDIR)/$(am__dirstamp): string/memset/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/memset/$(DEPDIR) @$(MKDIR_P) string/memset/$(DEPDIR)
@: > string/memset/$(DEPDIR)/$(am__dirstamp) @: >>string/memset/$(DEPDIR)/$(am__dirstamp)
string/memset/libshadow_la-memzero.lo: string/memset/$(am__dirstamp) \ string/memset/libshadow_la-memzero.lo: string/memset/$(am__dirstamp) \
string/memset/$(DEPDIR)/$(am__dirstamp) string/memset/$(DEPDIR)/$(am__dirstamp)
string/sprintf/$(am__dirstamp): string/sprintf/$(am__dirstamp):
@$(MKDIR_P) string/sprintf @$(MKDIR_P) string/sprintf
@: > string/sprintf/$(am__dirstamp) @: >>string/sprintf/$(am__dirstamp)
string/sprintf/$(DEPDIR)/$(am__dirstamp): string/sprintf/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/sprintf/$(DEPDIR) @$(MKDIR_P) string/sprintf/$(DEPDIR)
@: > string/sprintf/$(DEPDIR)/$(am__dirstamp) @: >>string/sprintf/$(DEPDIR)/$(am__dirstamp)
string/sprintf/libshadow_la-aprintf.lo: \ string/sprintf/libshadow_la-aprintf.lo: \
string/sprintf/$(am__dirstamp) \ string/sprintf/$(am__dirstamp) \
string/sprintf/$(DEPDIR)/$(am__dirstamp) string/sprintf/$(DEPDIR)/$(am__dirstamp)
@@ -1085,10 +1088,10 @@ string/sprintf/libshadow_la-stpeprintf.lo: \
string/sprintf/$(DEPDIR)/$(am__dirstamp) string/sprintf/$(DEPDIR)/$(am__dirstamp)
string/strchr/$(am__dirstamp): string/strchr/$(am__dirstamp):
@$(MKDIR_P) string/strchr @$(MKDIR_P) string/strchr
@: > string/strchr/$(am__dirstamp) @: >>string/strchr/$(am__dirstamp)
string/strchr/$(DEPDIR)/$(am__dirstamp): string/strchr/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/strchr/$(DEPDIR) @$(MKDIR_P) string/strchr/$(DEPDIR)
@: > string/strchr/$(DEPDIR)/$(am__dirstamp) @: >>string/strchr/$(DEPDIR)/$(am__dirstamp)
string/strchr/libshadow_la-strchrcnt.lo: \ string/strchr/libshadow_la-strchrcnt.lo: \
string/strchr/$(am__dirstamp) \ string/strchr/$(am__dirstamp) \
string/strchr/$(DEPDIR)/$(am__dirstamp) string/strchr/$(DEPDIR)/$(am__dirstamp)
@@ -1099,10 +1102,10 @@ string/strchr/libshadow_la-strnul.lo: string/strchr/$(am__dirstamp) \
string/strchr/$(DEPDIR)/$(am__dirstamp) string/strchr/$(DEPDIR)/$(am__dirstamp)
string/strcmp/$(am__dirstamp): string/strcmp/$(am__dirstamp):
@$(MKDIR_P) string/strcmp @$(MKDIR_P) string/strcmp
@: > string/strcmp/$(am__dirstamp) @: >>string/strcmp/$(am__dirstamp)
string/strcmp/$(DEPDIR)/$(am__dirstamp): string/strcmp/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/strcmp/$(DEPDIR) @$(MKDIR_P) string/strcmp/$(DEPDIR)
@: > string/strcmp/$(DEPDIR)/$(am__dirstamp) @: >>string/strcmp/$(DEPDIR)/$(am__dirstamp)
string/strcmp/libshadow_la-strcaseeq.lo: \ string/strcmp/libshadow_la-strcaseeq.lo: \
string/strcmp/$(am__dirstamp) \ string/strcmp/$(am__dirstamp) \
string/strcmp/$(DEPDIR)/$(am__dirstamp) string/strcmp/$(DEPDIR)/$(am__dirstamp)
@@ -1118,10 +1121,10 @@ string/strcmp/libshadow_la-strprefix.lo: \
string/strcmp/$(DEPDIR)/$(am__dirstamp) string/strcmp/$(DEPDIR)/$(am__dirstamp)
string/strcpy/$(am__dirstamp): string/strcpy/$(am__dirstamp):
@$(MKDIR_P) string/strcpy @$(MKDIR_P) string/strcpy
@: > string/strcpy/$(am__dirstamp) @: >>string/strcpy/$(am__dirstamp)
string/strcpy/$(DEPDIR)/$(am__dirstamp): string/strcpy/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/strcpy/$(DEPDIR) @$(MKDIR_P) string/strcpy/$(DEPDIR)
@: > string/strcpy/$(DEPDIR)/$(am__dirstamp) @: >>string/strcpy/$(DEPDIR)/$(am__dirstamp)
string/strcpy/libshadow_la-stpecpy.lo: string/strcpy/$(am__dirstamp) \ string/strcpy/libshadow_la-stpecpy.lo: string/strcpy/$(am__dirstamp) \
string/strcpy/$(DEPDIR)/$(am__dirstamp) string/strcpy/$(DEPDIR)/$(am__dirstamp)
string/strcpy/libshadow_la-strncat.lo: string/strcpy/$(am__dirstamp) \ string/strcpy/libshadow_la-strncat.lo: string/strcpy/$(am__dirstamp) \
@@ -1132,10 +1135,10 @@ string/strcpy/libshadow_la-strtcpy.lo: string/strcpy/$(am__dirstamp) \
string/strcpy/$(DEPDIR)/$(am__dirstamp) string/strcpy/$(DEPDIR)/$(am__dirstamp)
string/strdup/$(am__dirstamp): string/strdup/$(am__dirstamp):
@$(MKDIR_P) string/strdup @$(MKDIR_P) string/strdup
@: > string/strdup/$(am__dirstamp) @: >>string/strdup/$(am__dirstamp)
string/strdup/$(DEPDIR)/$(am__dirstamp): string/strdup/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/strdup/$(DEPDIR) @$(MKDIR_P) string/strdup/$(DEPDIR)
@: > string/strdup/$(DEPDIR)/$(am__dirstamp) @: >>string/strdup/$(DEPDIR)/$(am__dirstamp)
string/strdup/libshadow_la-strdup.lo: string/strdup/$(am__dirstamp) \ string/strdup/libshadow_la-strdup.lo: string/strdup/$(am__dirstamp) \
string/strdup/$(DEPDIR)/$(am__dirstamp) string/strdup/$(DEPDIR)/$(am__dirstamp)
string/strdup/libshadow_la-strndupa.lo: string/strdup/$(am__dirstamp) \ string/strdup/libshadow_la-strndupa.lo: string/strdup/$(am__dirstamp) \
@@ -1144,20 +1147,20 @@ string/strdup/libshadow_la-strndup.lo: string/strdup/$(am__dirstamp) \
string/strdup/$(DEPDIR)/$(am__dirstamp) string/strdup/$(DEPDIR)/$(am__dirstamp)
string/$(am__dirstamp): string/$(am__dirstamp):
@$(MKDIR_P) string @$(MKDIR_P) string
@: > string/$(am__dirstamp) @: >>string/$(am__dirstamp)
string/$(DEPDIR)/$(am__dirstamp): string/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/$(DEPDIR) @$(MKDIR_P) string/$(DEPDIR)
@: > string/$(DEPDIR)/$(am__dirstamp) @: >>string/$(DEPDIR)/$(am__dirstamp)
string/libshadow_la-strerrno.lo: string/$(am__dirstamp) \ string/libshadow_la-strerrno.lo: string/$(am__dirstamp) \
string/$(DEPDIR)/$(am__dirstamp) string/$(DEPDIR)/$(am__dirstamp)
string/libshadow_la-strftime.lo: string/$(am__dirstamp) \ string/libshadow_la-strftime.lo: string/$(am__dirstamp) \
string/$(DEPDIR)/$(am__dirstamp) string/$(DEPDIR)/$(am__dirstamp)
string/strspn/$(am__dirstamp): string/strspn/$(am__dirstamp):
@$(MKDIR_P) string/strspn @$(MKDIR_P) string/strspn
@: > string/strspn/$(am__dirstamp) @: >>string/strspn/$(am__dirstamp)
string/strspn/$(DEPDIR)/$(am__dirstamp): string/strspn/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/strspn/$(DEPDIR) @$(MKDIR_P) string/strspn/$(DEPDIR)
@: > string/strspn/$(DEPDIR)/$(am__dirstamp) @: >>string/strspn/$(DEPDIR)/$(am__dirstamp)
string/strspn/libshadow_la-stpspn.lo: string/strspn/$(am__dirstamp) \ string/strspn/libshadow_la-stpspn.lo: string/strspn/$(am__dirstamp) \
string/strspn/$(DEPDIR)/$(am__dirstamp) string/strspn/$(DEPDIR)/$(am__dirstamp)
string/strspn/libshadow_la-stprcspn.lo: string/strspn/$(am__dirstamp) \ string/strspn/libshadow_la-stprcspn.lo: string/strspn/$(am__dirstamp) \
@@ -1170,10 +1173,10 @@ string/strspn/libshadow_la-strrspn.lo: string/strspn/$(am__dirstamp) \
string/strspn/$(DEPDIR)/$(am__dirstamp) string/strspn/$(DEPDIR)/$(am__dirstamp)
string/strtok/$(am__dirstamp): string/strtok/$(am__dirstamp):
@$(MKDIR_P) string/strtok @$(MKDIR_P) string/strtok
@: > string/strtok/$(am__dirstamp) @: >>string/strtok/$(am__dirstamp)
string/strtok/$(DEPDIR)/$(am__dirstamp): string/strtok/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) string/strtok/$(DEPDIR) @$(MKDIR_P) string/strtok/$(DEPDIR)
@: > string/strtok/$(DEPDIR)/$(am__dirstamp) @: >>string/strtok/$(DEPDIR)/$(am__dirstamp)
string/strtok/libshadow_la-stpsep.lo: string/strtok/$(am__dirstamp) \ string/strtok/libshadow_la-stpsep.lo: string/strtok/$(am__dirstamp) \
string/strtok/$(DEPDIR)/$(am__dirstamp) string/strtok/$(DEPDIR)/$(am__dirstamp)
string/strtok/libshadow_la-astrsep2ls.lo: \ string/strtok/libshadow_la-astrsep2ls.lo: \
@@ -1187,10 +1190,10 @@ string/strtok/libshadow_la-strsep2ls.lo: \
string/strtok/$(DEPDIR)/$(am__dirstamp) string/strtok/$(DEPDIR)/$(am__dirstamp)
time/$(am__dirstamp): time/$(am__dirstamp):
@$(MKDIR_P) time @$(MKDIR_P) time
@: > time/$(am__dirstamp) @: >>time/$(am__dirstamp)
time/$(DEPDIR)/$(am__dirstamp): time/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) time/$(DEPDIR) @$(MKDIR_P) time/$(DEPDIR)
@: > time/$(DEPDIR)/$(am__dirstamp) @: >>time/$(DEPDIR)/$(am__dirstamp)
time/libshadow_la-day_to_str.lo: time/$(am__dirstamp) \ time/libshadow_la-day_to_str.lo: time/$(am__dirstamp) \
time/$(DEPDIR)/$(am__dirstamp) time/$(DEPDIR)/$(am__dirstamp)
@@ -1420,7 +1423,7 @@ distclean-compile:
$(am__depfiles_remade): $(am__depfiles_remade):
@$(MKDIR_P) $(@D) @$(MKDIR_P) $(@D)
@echo '# dummy' >$@-t && $(am__mv) $@-t $@ @: >>$@
am--depfiles: $(am__depfiles_remade) am--depfiles: $(am__depfiles_remade)
@@ -2665,6 +2668,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -2726,60 +2730,60 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
-rm -f alloc/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) alloc/$(DEPDIR)/$(am__dirstamp)
-rm -f alloc/$(am__dirstamp) -$(am__rm_f) alloc/$(am__dirstamp)
-rm -f atoi/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) atoi/$(DEPDIR)/$(am__dirstamp)
-rm -f atoi/$(am__dirstamp) -$(am__rm_f) atoi/$(am__dirstamp)
-rm -f atoi/strtoi/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) atoi/strtoi/$(DEPDIR)/$(am__dirstamp)
-rm -f atoi/strtoi/$(am__dirstamp) -$(am__rm_f) atoi/strtoi/$(am__dirstamp)
-rm -f fs/mkstemp/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) fs/mkstemp/$(DEPDIR)/$(am__dirstamp)
-rm -f fs/mkstemp/$(am__dirstamp) -$(am__rm_f) fs/mkstemp/$(am__dirstamp)
-rm -f fs/readlink/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) fs/readlink/$(DEPDIR)/$(am__dirstamp)
-rm -f fs/readlink/$(am__dirstamp) -$(am__rm_f) fs/readlink/$(am__dirstamp)
-rm -f search/cmp/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) search/cmp/$(DEPDIR)/$(am__dirstamp)
-rm -f search/cmp/$(am__dirstamp) -$(am__rm_f) search/cmp/$(am__dirstamp)
-rm -f search/l/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) search/l/$(DEPDIR)/$(am__dirstamp)
-rm -f search/l/$(am__dirstamp) -$(am__rm_f) search/l/$(am__dirstamp)
-rm -f search/sort/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) search/sort/$(DEPDIR)/$(am__dirstamp)
-rm -f search/sort/$(am__dirstamp) -$(am__rm_f) search/sort/$(am__dirstamp)
-rm -f shadow/group/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) shadow/group/$(DEPDIR)/$(am__dirstamp)
-rm -f shadow/group/$(am__dirstamp) -$(am__rm_f) shadow/group/$(am__dirstamp)
-rm -f shadow/grp/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) shadow/grp/$(DEPDIR)/$(am__dirstamp)
-rm -f shadow/grp/$(am__dirstamp) -$(am__rm_f) shadow/grp/$(am__dirstamp)
-rm -f shadow/gshadow/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) shadow/gshadow/$(DEPDIR)/$(am__dirstamp)
-rm -f shadow/gshadow/$(am__dirstamp) -$(am__rm_f) shadow/gshadow/$(am__dirstamp)
-rm -f shadow/passwd/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) shadow/passwd/$(DEPDIR)/$(am__dirstamp)
-rm -f shadow/passwd/$(am__dirstamp) -$(am__rm_f) shadow/passwd/$(am__dirstamp)
-rm -f shadow/shadow/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) shadow/shadow/$(DEPDIR)/$(am__dirstamp)
-rm -f shadow/shadow/$(am__dirstamp) -$(am__rm_f) shadow/shadow/$(am__dirstamp)
-rm -f string/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/$(DEPDIR)/$(am__dirstamp)
-rm -f string/$(am__dirstamp) -$(am__rm_f) string/$(am__dirstamp)
-rm -f string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/ctype/strchrisascii/$(DEPDIR)/$(am__dirstamp)
-rm -f string/ctype/strchrisascii/$(am__dirstamp) -$(am__rm_f) string/ctype/strchrisascii/$(am__dirstamp)
-rm -f string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/ctype/strisascii/$(DEPDIR)/$(am__dirstamp)
-rm -f string/ctype/strisascii/$(am__dirstamp) -$(am__rm_f) string/ctype/strisascii/$(am__dirstamp)
-rm -f string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/ctype/strtoascii/$(DEPDIR)/$(am__dirstamp)
-rm -f string/ctype/strtoascii/$(am__dirstamp) -$(am__rm_f) string/ctype/strtoascii/$(am__dirstamp)
-rm -f string/memset/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/memset/$(DEPDIR)/$(am__dirstamp)
-rm -f string/memset/$(am__dirstamp) -$(am__rm_f) string/memset/$(am__dirstamp)
-rm -f string/sprintf/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/sprintf/$(DEPDIR)/$(am__dirstamp)
-rm -f string/sprintf/$(am__dirstamp) -$(am__rm_f) string/sprintf/$(am__dirstamp)
-rm -f string/strchr/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/strchr/$(DEPDIR)/$(am__dirstamp)
-rm -f string/strchr/$(am__dirstamp) -$(am__rm_f) string/strchr/$(am__dirstamp)
-rm -f string/strcmp/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/strcmp/$(DEPDIR)/$(am__dirstamp)
-rm -f string/strcmp/$(am__dirstamp) -$(am__rm_f) string/strcmp/$(am__dirstamp)
-rm -f string/strcpy/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/strcpy/$(DEPDIR)/$(am__dirstamp)
-rm -f string/strcpy/$(am__dirstamp) -$(am__rm_f) string/strcpy/$(am__dirstamp)
-rm -f string/strdup/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/strdup/$(DEPDIR)/$(am__dirstamp)
-rm -f string/strdup/$(am__dirstamp) -$(am__rm_f) string/strdup/$(am__dirstamp)
-rm -f string/strspn/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/strspn/$(DEPDIR)/$(am__dirstamp)
-rm -f string/strspn/$(am__dirstamp) -$(am__rm_f) string/strspn/$(am__dirstamp)
-rm -f string/strtok/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) string/strtok/$(DEPDIR)/$(am__dirstamp)
-rm -f string/strtok/$(am__dirstamp) -$(am__rm_f) string/strtok/$(am__dirstamp)
-rm -f time/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) time/$(DEPDIR)/$(am__dirstamp)
-rm -f time/$(am__dirstamp) -$(am__rm_f) time/$(am__dirstamp)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -2790,7 +2794,7 @@ clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am mostlyclean-am
distclean: distclean-am distclean: distclean-am
-rm -f ./$(DEPDIR)/libshadow_la-addgrps.Plo -rm -f ./$(DEPDIR)/libshadow_la-addgrps.Plo
-rm -f ./$(DEPDIR)/libshadow_la-adds.Plo -rm -f ./$(DEPDIR)/libshadow_la-adds.Plo
-rm -f ./$(DEPDIR)/libshadow_la-age.Plo -rm -f ./$(DEPDIR)/libshadow_la-age.Plo
-rm -f ./$(DEPDIR)/libshadow_la-agetpass.Plo -rm -f ./$(DEPDIR)/libshadow_la-agetpass.Plo
@@ -2997,7 +3001,7 @@ install-ps-am:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-am maintainer-clean: maintainer-clean-am
-rm -f ./$(DEPDIR)/libshadow_la-addgrps.Plo -rm -f ./$(DEPDIR)/libshadow_la-addgrps.Plo
-rm -f ./$(DEPDIR)/libshadow_la-adds.Plo -rm -f ./$(DEPDIR)/libshadow_la-adds.Plo
-rm -f ./$(DEPDIR)/libshadow_la-age.Plo -rm -f ./$(DEPDIR)/libshadow_la-age.Plo
-rm -f ./$(DEPDIR)/libshadow_la-agetpass.Plo -rm -f ./$(DEPDIR)/libshadow_la-agetpass.Plo
@@ -3199,3 +3203,10 @@ uninstall-am:
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+15 -3
View File
@@ -7,6 +7,9 @@
#include <stddef.h> #include <stddef.h>
#include <string.h> #include <string.h>
#include "string/strcmp/streq.h"
#include "string/strcmp/strprefix.h"
/* /*
* match_regex - return true if match, false if not * match_regex - return true if match, false if not
@@ -37,6 +40,15 @@ match_regex(const char *pattern, const char *string)
bool bool
is_valid_hash(const char *hash) is_valid_hash(const char *hash)
{ {
hash = strprefix(hash, "!") ?: hash;
// Passwordless account; discouraged
if (streq(hash, ""))
return true;
if (streq(hash, "*"))
return true;
// Minimum hash length // Minimum hash length
if (strlen(hash) < 13) if (strlen(hash) < 13)
return false; return false;
@@ -50,15 +62,15 @@ is_valid_hash(const char *hash)
return true; return true;
// SHA-512: $6$ + salt + $ + 86-char hash // SHA-512: $6$ + salt + $ + 86-char hash
if (match_regex("^\\$6\\$(rounds=[1-9][0-9]{3,8}\\$)?[^$:\\n]{1,16}\\$[./A-Za-z0-9]{86}$", hash)) if (match_regex("^\\$6\\$(rounds=[1-9][0-9]{3,8}\\$)?[^$:\n]{1,16}\\$[./A-Za-z0-9]{86}$", hash))
return true; return true;
// SHA-256: $5$ + salt + $ + 43-char hash // SHA-256: $5$ + salt + $ + 43-char hash
if (match_regex("^\\$5\\$(rounds=[1-9][0-9]{3,8}\\$)?[^$:\\n]{1,16}\\$[./A-Za-z0-9]{43}$", hash)) if (match_regex("^\\$5\\$(rounds=[1-9][0-9]{3,8}\\$)?[^$:\n]{1,16}\\$[./A-Za-z0-9]{43}$", hash))
return true; return true;
// MD5: $1$ + salt + $ + 22-char hash // MD5: $1$ + salt + $ + 22-char hash
if (match_regex("^\\$1\\$[^$:\\n]{1,8}\\$[./A-Za-z0-9]{22}$", hash)) if (match_regex("^\\$1\\$[^$:\n]{1,8}\\$[./A-Za-z0-9]{22}$", hash))
return true; return true;
// DES: exactly 13 characters from [A-Za-z0-9./] // DES: exactly 13 characters from [A-Za-z0-9./]
+26 -16
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -71,6 +71,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -130,10 +132,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgincludedir)" am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgincludedir)"
LTLIBRARIES = $(lib_LTLIBRARIES) LTLIBRARIES = $(lib_LTLIBRARIES)
@@ -250,6 +251,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -349,8 +351,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -480,15 +484,13 @@ uninstall-libLTLIBRARIES:
done done
clean-libLTLIBRARIES: clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) -$(am__rm_f) $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; \ @list='$(lib_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \ locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \ sort -u`; \
test -z "$$locs" || { \ echo rm -f $${locs}; \
echo rm -f $${locs}; \ $(am__rm_f) $${locs}
rm -f $${locs}; \
}
libsubid.la: $(libsubid_la_OBJECTS) $(libsubid_la_DEPENDENCIES) $(EXTRA_libsubid_la_DEPENDENCIES) libsubid.la: $(libsubid_la_OBJECTS) $(libsubid_la_DEPENDENCIES) $(EXTRA_libsubid_la_DEPENDENCIES)
$(AM_V_CCLD)$(libsubid_la_LINK) -rpath $(libdir) $(libsubid_la_OBJECTS) $(libsubid_la_LIBADD) $(LIBS) $(AM_V_CCLD)$(libsubid_la_LINK) -rpath $(libdir) $(libsubid_la_OBJECTS) $(libsubid_la_LIBADD) $(LIBS)
@@ -503,7 +505,7 @@ distclean-compile:
$(am__depfiles_remade): $(am__depfiles_remade):
@$(MKDIR_P) $(@D) @$(MKDIR_P) $(@D)
@echo '# dummy' >$@-t && $(am__mv) $@-t $@ @: >>$@
am--depfiles: $(am__depfiles_remade) am--depfiles: $(am__depfiles_remade)
@@ -609,6 +611,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -673,8 +676,8 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -685,7 +688,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am mostlyclean-am
distclean: distclean-am distclean: distclean-am
-rm -f ./$(DEPDIR)/api.Plo -rm -f ./$(DEPDIR)/api.Plo
-rm -f Makefile -rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \ distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags distclean-tags
@@ -731,7 +734,7 @@ install-ps-am:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-am maintainer-clean: maintainer-clean-am
-rm -f ./$(DEPDIR)/api.Plo -rm -f ./$(DEPDIR)/api.Plo
-rm -f Makefile -rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -774,3 +777,10 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+392 -273
View File
File diff suppressed because it is too large Load Diff
+69 -39
View File
@@ -1,14 +1,14 @@
# Helper functions for option handling. -*- Autoconf -*- # Helper functions for option handling. -*- Autoconf -*-
# #
# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software # Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free
# Foundation, Inc. # Software Foundation, Inc.
# Written by Gary V. Vaughan, 2004 # Written by Gary V. Vaughan, 2004
# #
# This file is free software; the Free Software Foundation gives # This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without # unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved. # modifications, as long as this notice is preserved.
# serial 8 ltoptions.m4 # serial 10 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define. # This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -128,7 +128,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
[enable_win32_dll=yes [enable_win32_dll=yes
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false) AC_CHECK_TOOL(OBJDUMP, objdump, false)
@@ -323,29 +323,39 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
# _LT_WITH_AIX_SONAME([DEFAULT]) # _LT_WITH_AIX_SONAME([DEFAULT])
# ---------------------------------- # ----------------------------------
# implement the --with-aix-soname flag, and support the `aix-soname=aix' # implement the --enable-aix-soname configure option, and support the
# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT # `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. # DEFAULT is either `aix', `both', or `svr4'. If omitted, it defaults to `aix'.
m4_define([_LT_WITH_AIX_SONAME], m4_define([_LT_WITH_AIX_SONAME],
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
shared_archive_member_spec= shared_archive_member_spec=
case $host,$enable_shared in case $host,$enable_shared in
power*-*-aix[[5-9]]*,yes) power*-*-aix[[5-9]]*,yes)
AC_MSG_CHECKING([which variant of shared library versioning to provide]) AC_MSG_CHECKING([which variant of shared library versioning to provide])
AC_ARG_WITH([aix-soname], AC_ARG_ENABLE([aix-soname],
[AS_HELP_STRING([--with-aix-soname=aix|svr4|both], [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
[case $withval in [case $enableval in
aix|svr4|both) aix|svr4|both)
;; ;;
*) *)
AC_MSG_ERROR([Unknown argument to --with-aix-soname]) AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
;; ;;
esac esac
lt_cv_with_aix_soname=$with_aix_soname], lt_cv_with_aix_soname=$enable_aix_soname],
[AC_CACHE_VAL([lt_cv_with_aix_soname], [_AC_ENABLE_IF([with], [aix-soname],
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) [case $withval in
with_aix_soname=$lt_cv_with_aix_soname]) aix|svr4|both)
;;
*)
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
;;
esac
lt_cv_with_aix_soname=$with_aix_soname],
[AC_CACHE_VAL([lt_cv_with_aix_soname],
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
enable_aix_soname=$lt_cv_with_aix_soname])
with_aix_soname=$enable_aix_soname
AC_MSG_RESULT([$with_aix_soname]) AC_MSG_RESULT([$with_aix_soname])
if test aix != "$with_aix_soname"; then if test aix != "$with_aix_soname"; then
# For the AIX way of multilib, we name the shared archive member # For the AIX way of multilib, we name the shared archive member
@@ -376,30 +386,50 @@ LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
# _LT_WITH_PIC([MODE]) # _LT_WITH_PIC([MODE])
# -------------------- # --------------------
# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
# LT_INIT options. # LT_INIT options.
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
m4_define([_LT_WITH_PIC], m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic], [AC_ARG_ENABLE([pic],
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
[lt_p=${PACKAGE-default} [lt_p=${PACKAGE-default}
case $withval in case $enableval in
yes|no) pic_mode=$withval ;; yes|no) pic_mode=$enableval ;;
*) *)
pic_mode=default pic_mode=default
# Look at the argument we got. We use all the common list separators. # Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do for lt_pkg in $enableval; do
IFS=$lt_save_ifs IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes pic_mode=yes
fi fi
done done
IFS=$lt_save_ifs IFS=$lt_save_ifs
;; ;;
esac], esac],
[pic_mode=m4_default([$1], [default])]) [dnl Continue to support --with-pic and --without-pic, for backward
dnl compatibility.
_AC_ENABLE_IF([with], [pic],
[lt_p=${PACKAGE-default}
case $withval in
yes|no) pic_mode=$withval ;;
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[pic_mode=m4_default([$1], [default])])]
)
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC ])# _LT_WITH_PIC
+1 -1
View File
@@ -1,6 +1,6 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
# #
# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software # Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2024 Free Software
# Foundation, Inc. # Foundation, Inc.
# Written by Gary V. Vaughan, 2004 # Written by Gary V. Vaughan, 2004
# #
+7 -6
View File
@@ -1,6 +1,7 @@
# ltversion.m4 -- version numbers -*- Autoconf -*- # ltversion.m4 -- version numbers -*- Autoconf -*-
# #
# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. # Copyright (C) 2004, 2011-2019, 2021-2024 Free Software Foundation,
# Inc.
# Written by Scott James Remnant, 2004 # Written by Scott James Remnant, 2004
# #
# This file is free software; the Free Software Foundation gives # This file is free software; the Free Software Foundation gives
@@ -9,15 +10,15 @@
# @configure_input@ # @configure_input@
# serial 4179 ltversion.m4 # serial 4441 ltversion.m4
# This file is part of GNU Libtool # This file is part of GNU Libtool
m4_define([LT_PACKAGE_VERSION], [2.4.6]) m4_define([LT_PACKAGE_VERSION], [2.5.4])
m4_define([LT_PACKAGE_REVISION], [2.4.6]) m4_define([LT_PACKAGE_REVISION], [2.5.4])
AC_DEFUN([LTVERSION_VERSION], AC_DEFUN([LTVERSION_VERSION],
[macro_version='2.4.6' [macro_version='2.5.4'
macro_revision='2.4.6' macro_revision='2.5.4'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0) _LT_DECL(, macro_revision, 0)
]) ])
+2 -2
View File
@@ -1,7 +1,7 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
# #
# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software # Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2024 Free
# Foundation, Inc. # Software Foundation, Inc.
# Written by Scott James Remnant, 2004. # Written by Scott James Remnant, 2004.
# #
# This file is free software; the Free Software Foundation gives # This file is free software; the Free Software Foundation gives
+21 -9
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -162,10 +164,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
man1dir = $(mandir)/man1 man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \
@@ -262,6 +263,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -361,8 +363,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -847,6 +851,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -935,11 +940,11 @@ install-strip:
mostlyclean-generic: mostlyclean-generic:
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -$(am__rm_f) $(CLEANFILES)
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -1078,3 +1083,10 @@ generate_mans.deps: $(man_XMANS)
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+1 -1
View File
@@ -1,2 +1,2 @@
<!ENTITY GROUP_NAME_MAX_LENGTH '32'> <!ENTITY GROUP_NAME_MAX_LENGTH '32'>
<!ENTITY SHADOW_UTILS_VERSION '4.19.0'> <!ENTITY SHADOW_UTILS_VERSION '4.19.3'>
+20 -8
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -147,10 +149,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
man1dir = $(mandir)/man1 man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \
@@ -194,6 +195,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -293,8 +295,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -518,6 +522,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -582,8 +587,8 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -678,3 +683,10 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+21 -9
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -148,10 +150,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
man1dir = $(mandir)/man1 man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \
@@ -196,6 +197,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -295,8 +297,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -541,6 +545,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -603,11 +608,11 @@ install-strip:
mostlyclean-generic: mostlyclean-generic:
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -$(am__rm_f) $(CLEANFILES)
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -753,3 +758,10 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+43 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chfn .\" Title: chfn
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: Danish .\" Language: Danish
.\" .\"
.TH "CHFN" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "CHFN" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -110,6 +110,46 @@ marks\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCHFN_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchfn\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBCHFN_RESTRICT\fR (string)
.RS 4
This parameter specifies which values in the
\fIgecos\fR
field of the
/etc/passwd
file may be changed by regular users using the
\fBchfn\fR
program\&. It can be any combination of letters
\fIf\fR,
\fIr\fR,
\fIw\fR,
\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility,
\fIyes\fR
is equivalent to
\fIrwh\fR
and
\fIno\fR
is equivalent to
\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing
\fBchfn\fR
SUID\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.SH "FILER" .SH "FILER"
.PP .PP
/etc/login\&.defs /etc/login\&.defs
+10 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newgrp .\" Title: newgrp
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: Danish .\" Language: Danish
.\" .\"
.TH "NEWGRP" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "NEWGRP" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -60,6 +60,13 @@ is considered\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBSYSLOG_SG_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsg\fR
activity\&.
.RE
.SH "FILER" .SH "FILER"
.PP .PP
/etc/passwd /etc/passwd
+10 -3
View File
@@ -2,12 +2,12 @@
.\" Title: sg .\" Title: sg
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: Danish .\" Language: Danish
.\" .\"
.TH "SG" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "SG" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -77,6 +77,13 @@ This is the default; for backward compatibility\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBSYSLOG_SG_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsg\fR
activity\&.
.RE
.SH "FILER" .SH "FILER"
.PP .PP
/etc/passwd /etc/passwd
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gshadow .\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net> .\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: Danish .\" Language: Danish
.\" .\"
.TH "GSHADOW" "5" "30/12/2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "GSHADOW" "5" "01/02/2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+18 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupdel .\" Title: groupdel
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: Danish .\" Language: Danish
.\" .\"
.TH "GROUPDEL" "8" "30/12/2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "GROUPDEL" "8" "01/02/2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -81,6 +81,21 @@ Du skal manuelt kontrollere alle filsystemer for at sikre dig, at ingen filer fo
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.SH "FILER" .SH "FILER"
.PP .PP
/etc/group /etc/group
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: logoutd .\" Title: logoutd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: Danish .\" Language: Danish
.\" .\"
.TH "LOGOUTD" "8" "30/12/2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "LOGOUTD" "8" "01/02/2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: nologin .\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net> .\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: Danish .\" Language: Danish
.\" .\"
.TH "NOLOGIN" "8" "30/12/2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "NOLOGIN" "8" "01/02/2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: vipw .\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz .\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: Danish .\" Language: Danish
.\" .\"
.TH "VIPW" "8" "30/12/2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "VIPW" "8" "01/02/2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+21 -9
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -149,10 +151,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
man1dir = $(mandir)/man1 man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \
@@ -198,6 +199,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -297,8 +299,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -596,6 +600,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -658,11 +663,11 @@ install-strip:
mostlyclean-generic: mostlyclean-generic:
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -$(am__rm_f) $(CLEANFILES)
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -809,3 +814,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chage .\" Title: chage
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "CHAGE" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "CHAGE" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+43 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chfn .\" Title: chfn
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "CHFN" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "CHFN" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -110,6 +110,46 @@ marks\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCHFN_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchfn\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBCHFN_RESTRICT\fR (string)
.RS 4
This parameter specifies which values in the
\fIgecos\fR
field of the
/etc/passwd
file may be changed by regular users using the
\fBchfn\fR
program\&. It can be any combination of letters
\fIf\fR,
\fIr\fR,
\fIw\fR,
\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility,
\fIyes\fR
is equivalent to
\fIrwh\fR
and
\fIno\fR
is equivalent to
\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing
\fBchfn\fR
SUID\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/login\&.defs /etc/login\&.defs
+19 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chsh .\" Title: chsh
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "CHSH" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "CHSH" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -88,6 +88,22 @@ is discouraged since accidentally changing to a restricted shell would prevent t
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCHSH_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchsh\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: expiry .\" Title: expiry
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "EXPIRY" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "EXPIRY" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+77 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gpasswd .\" Title: gpasswd
.\" Author: Rafal Maszkowski .\" Author: Rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "GPASSWD" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "GPASSWD" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -139,6 +139,80 @@ Thus you cannot change any NIS or LDAP group\&. This must be performed on the co
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+279 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login .\" Title: login
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "LOGIN" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "LOGIN" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -149,6 +149,282 @@ As with any program,
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCONSOLE\fR (string)
.RS 4
If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&.
.sp
If not defined, root will be allowed on any device\&.
.sp
The device should be specified without the /dev/ prefix\&.
.RE
.PP
\fBCONSOLE_GROUPS\fR (string)
.RS 4
List of groups to add to the user\*(Aqs supplementary groups 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\&.
.RE
.PP
\fBDEFAULT_HOME\fR (boolean)
.RS 4
Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&.
.sp
If set to
\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&.
.RE
.PP
\fBENV_HZ\fR (string)
.RS 4
If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by
\fIHZ=\fR\&. A common value on Linux is
\fIHZ=100\fR\&.
.RE
.PP
\fBENV_PATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example
\fI/bin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/bin:/usr/bin\fR\&.
.RE
.PP
\fBENV_SUPATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example
\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&.
.RE
.PP
\fBENV_TZ\fR (string)
.RS 4
If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by
\fITZ=\fR
(for example
\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example
/etc/tzname)\&.
.sp
If a full path is specified but the file does not exist or cannot be read, the default is to use
\fITZ=CST6CDT\fR\&.
.RE
.PP
\fBENVIRON_FILE\fR (string)
.RS 4
If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&.
.sp
Lines starting with a # are treated as comment lines and ignored\&.
.RE
.PP
\fBERASECHAR\fR (number)
.RS 4
Terminal ERASE character (\fI010\fR
= backspace,
\fI0177\fR
= DEL)\&.
.sp
The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&.
.RE
.PP
\fBFAIL_DELAY\fR (number)
.RS 4
Delay in seconds before being allowed another attempt after a login failure\&.
.RE
.PP
\fBFAILLOG_ENAB\fR (boolean)
.RS 4
Enable logging and display of
/var/log/faillog
login failure info\&.
.RE
.PP
\fBFAKE_SHELL\fR (string)
.RS 4
If set,
\fBlogin\fR
will execute this shell instead of the users\*(Aq shell specified in
/etc/passwd\&.
.RE
.PP
\fBFTMP_FILE\fR (string)
.RS 4
If defined, login failures will be logged in this file in a utmp format\&.
.RE
.PP
\fBHUSHLOGIN_FILE\fR (string)
.RS 4
If defined, this file can inhibit all the usual chatter during the login sequence\&. If a full pathname is specified, then hushed mode will be enabled if the user\*(Aqs 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\*(Aqs home directory\&.
.RE
.PP
\fBISSUE_FILE\fR (string)
.RS 4
If defined, this file will be displayed before each login prompt\&.
.RE
.PP
\fBKILLCHAR\fR (number)
.RS 4
Terminal KILL character (\fI025\fR
= CTRL/U)\&.
.sp
The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&.
.RE
.PP
\fBLASTLOG_ENAB\fR (boolean)
.RS 4
Enable logging and display of /var/log/lastlog login time info\&.
.RE
.PP
\fBLOGIN_RETRIES\fR (number)
.RS 4
Maximum number of login retries in case of bad password\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.PP
\fBLOGIN_TIMEOUT\fR (number)
.RS 4
Max time in seconds for login\&.
.RE
.PP
\fBLOG_OK_LOGINS\fR (boolean)
.RS 4
Enable logging of successful logins\&.
.RE
.PP
\fBLOG_UNKFAIL_ENAB\fR (boolean)
.RS 4
Enable display of unknown usernames when login failures are recorded\&.
.sp
Note: logging unknown usernames may be a security issue if an user enter her password instead of her login name\&.
.RE
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
Enable checking and display of mailbox status upon login\&.
.sp
You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&.
.RE
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBMOTD_FILE\fR (string)
.RS 4
If defined, ":" delimited list of "message of the day" files to be displayed upon login\&.
.RE
.PP
\fBNOLOGINS_FILE\fR (string)
.RS 4
If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&.
.RE
.PP
\fBPORTTIME_CHECKS_ENAB\fR (boolean)
.RS 4
Enable checking of time restrictions specified in
/etc/porttime\&.
.RE
.PP
\fBQUOTAS_ENAB\fR (boolean)
.RS 4
Enable setting of resource limits from
/etc/limits
and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&.
.RE
.PP
\fBTTYGROUP\fR (string), \fBTTYPERM\fR (number)
.RS 4
The terminal permissions: the login tty will be owned by the
\fBTTYGROUP\fR
group, and the permissions will be set to
\fBTTYPERM\fR\&.
.sp
\fBTTYGROUP\fR
can be either the name of a group or a numeric group identifier\&.
.sp
If TTYGROUP is not defined, then the group ownership of the terminal is set to the user\*(Aqs primary group\&. If TTYPERM is not defined, then the permissions are set to
\fI0600\fR\&.
.sp
If you have a
\fBwrite\fR
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\&.
.RE
.PP
\fBTTYTYPE_FILE\fR (string)
.RS 4
If defined, file which maps tty line to TERM environment parameter\&. Each line of the file is in a format something like "vt100 tty01"\&.
.RE
.PP
\fBULIMIT\fR (number)
.RS 4
Default
\fBulimit\fR
value\&.
.RE
.PP
\fBUMASK\fR (number)
.RS 4
The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this mask to set the mode of the home directory they create if
\fBHOME_MODE\fR
is not set\&.
.sp
It is also used by
\fBlogin\fR
to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if
\fBQUOTAS_ENAB\fR
is set) or by the specification of a limit with the
\fIK\fR
identifier in
\fBlimits\fR(5)\&.
.RE
.PP
\fBUSERGROUPS_ENAB\fR (boolean)
.RS 4
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\&.
.sp
If set to
\fIyes\fR,
\fBuserdel\fR
will remove the user\*(Aqs group if it contains no more members, and
\fBuseradd\fR
will create by default a group with the name of the user\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/var/run/utmp /var/run/utmp
+10 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newgrp .\" Title: newgrp
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "NEWGRP" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "NEWGRP" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -60,6 +60,13 @@ is considered\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBSYSLOG_SG_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsg\fR
activity\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+104 -3
View File
@@ -2,12 +2,12 @@
.\" Title: passwd .\" Title: passwd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "PASSWD" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "PASSWD" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -193,6 +193,107 @@ Benutzer k\(:onnen unter Umst\(:anden ihr Passwort nicht \(:andern, wenn auf dem
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Enable additional checks upon password changes\&.
.RE
.PP
\fBPASS_ALWAYS_WARN\fR (boolean)
.RS 4
Warn about weak passwords (but still allow them) if you are root\&.
.RE
.PP
\fBPASS_CHANGE_TRIES\fR (number)
.RS 4
Maximum number of attempts to change password if rejected (too easy)\&.
.RE
.PP
\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number)
.RS 4
Number of significant characters in the password for crypt()\&.
.sp
\fBPASS_MAX_LEN\fR
is 8 by default\&. Don\*(Aqt change unless your crypt() is better\&.
.sp
\fBPASS_MAX_LEN\fR
is only used for DES\&. It is ignored if an encryption algorithm other than DES is used, either because
\fBMD5_CRYPT_ENAB\fR
set to
\fIyes\fR
or
\fBENCRYPT_METHOD\fR
set to an algorithm other than
\fIDES\fR\&.
.sp
In addition,
\fBPASS_MAX_LEN\fR
is only used if
\fBOBSCURE_CHECKS_ENAB\fR
set to
\fIyes\fR\&.
.sp
Note: This only affects the generation of user passwords\&. Group password lengths are not checked\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+10 -3
View File
@@ -2,12 +2,12 @@
.\" Title: sg .\" Title: sg
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "SG" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "SG" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -77,6 +77,13 @@ This is the default; for backward compatibility\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBSYSLOG_SG_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsg\fR
activity\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+163 -3
View File
@@ -2,12 +2,12 @@
.\" Title: su .\" Title: su
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "SU" "1" "30.12.2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "SU" "1" "01.02.2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -228,6 +228,166 @@ has many compilation options, only some of which may be in use at any particular
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCONSOLE\fR (string)
.RS 4
If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&.
.sp
If not defined, root will be allowed on any device\&.
.sp
The device should be specified without the /dev/ prefix\&.
.RE
.PP
\fBCONSOLE_GROUPS\fR (string)
.RS 4
List of groups to add to the user\*(Aqs supplementary groups 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\&.
.RE
.PP
\fBDEFAULT_HOME\fR (boolean)
.RS 4
Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&.
.sp
If set to
\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&.
.RE
.PP
\fBENV_HZ\fR (string)
.RS 4
If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by
\fIHZ=\fR\&. A common value on Linux is
\fIHZ=100\fR\&.
.RE
.PP
\fBENVIRON_FILE\fR (string)
.RS 4
If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&.
.sp
Lines starting with a # are treated as comment lines and ignored\&.
.RE
.PP
\fBENV_PATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example
\fI/bin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/bin:/usr/bin\fR\&.
.RE
.PP
\fBENV_SUPATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example
\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&.
.RE
.PP
\fBENV_TZ\fR (string)
.RS 4
If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by
\fITZ=\fR
(for example
\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example
/etc/tzname)\&.
.sp
If a full path is specified but the file does not exist or cannot be read, the default is to use
\fITZ=CST6CDT\fR\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
Enable checking and display of mailbox status upon login\&.
.sp
You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&.
.RE
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBQUOTAS_ENAB\fR (boolean)
.RS 4
Enable setting of resource limits from
/etc/limits
and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&.
.RE
.PP
\fBSULOG_FILE\fR (string)
.RS 4
If defined, all su activity is logged to this file\&.
.RE
.PP
\fBSU_NAME\fR (string)
.RS 4
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"\&.
.RE
.PP
\fBSU_WHEEL_ONLY\fR (boolean)
.RS 4
If
\fIyes\fR, the user must be listed as a member of the first gid 0 group in
/etc/group
(called
\fIroot\fR
on most Linux systems) to be able to
\fBsu\fR
to uid 0 accounts\&. If the group doesn\*(Aqt exist or is empty, no one will be able to
\fBsu\fR
to uid 0\&.
.RE
.PP
\fBSYSLOG_SU_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsu\fR
activity \- in addition to sulog file logging\&.
.RE
.PP
\fBUSERGROUPS_ENAB\fR (boolean)
.RS 4
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\&.
.sp
If set to
\fIyes\fR,
\fBuserdel\fR
will remove the user\*(Aqs group if it contains no more members, and
\fBuseradd\fR
will create by default a group with the name of the user\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: shadow .\" Title: shadow
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: Library Calls .\" Manual: Library Calls
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "SHADOW" "3" "30.12.2025" "shadow\-utils 4\&.19\&.0" "Library Calls" .TH "SHADOW" "3" "01.02.2026" "shadow\-utils 4\&.19\&.3" "Library Calls"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: faillog .\" Title: faillog
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "FAILLOG" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuratio" .TH "FAILLOG" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuratio"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gshadow .\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net> .\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "GSHADOW" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "GSHADOW" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: limits .\" Title: limits
.\" Author: Luca Berra .\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "LIMITS" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "LIMITS" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login.access .\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz .\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "LOGIN\&.ACCESS" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "LOGIN\&.ACCESS" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+672 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login.defs .\" Title: login.defs
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "LOGIN\&.DEFS" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "LOGIN\&.DEFS" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -48,11 +48,680 @@ value\&. Numbers (both regular and long) may be either decimal values, octal val
.PP .PP
Folgende Merkmale k\(:onnen konfiguriert werden: Folgende Merkmale k\(:onnen konfiguriert werden:
.PP .PP
\fBCHFN_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchfn\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBCHFN_RESTRICT\fR (string)
.RS 4
This parameter specifies which values in the
\fIgecos\fR
field of the
/etc/passwd
file may be changed by regular users using the
\fBchfn\fR
program\&. It can be any combination of letters
\fIf\fR,
\fIr\fR,
\fIw\fR,
\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility,
\fIyes\fR
is equivalent to
\fIrwh\fR
and
\fIno\fR
is equivalent to
\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing
\fBchfn\fR
SUID\&.
.RE
.PP
\fBCHSH_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchsh\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBCONSOLE\fR (string)
.RS 4
If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&.
.sp
If not defined, root will be allowed on any device\&.
.sp
The device should be specified without the /dev/ prefix\&.
.RE
.PP
\fBCONSOLE_GROUPS\fR (string)
.RS 4
List of groups to add to the user\*(Aqs supplementary groups 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\&.
.RE
.PP
\fBCREATE_HOME\fR (boolean)
.RS 4
Indicate if a home directory should be created by default for new users\&.
.sp
This setting does not apply to system users, and can be overridden on the command line\&.
.RE
.PP
\fBDEFAULT_HOME\fR (boolean)
.RS 4
Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&.
.sp
If set to
\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&.
.RE
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBENV_HZ\fR (string)
.RS 4
If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by
\fIHZ=\fR\&. A common value on Linux is
\fIHZ=100\fR\&.
.RE
.PP
\fBENV_PATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example
\fI/bin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/bin:/usr/bin\fR\&.
.RE
.PP
\fBENV_SUPATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example
\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&.
.RE
.PP
\fBENV_TZ\fR (string)
.RS 4
If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by
\fITZ=\fR
(for example
\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example
/etc/tzname)\&.
.sp
If a full path is specified but the file does not exist or cannot be read, the default is to use
\fITZ=CST6CDT\fR\&.
.RE
.PP
\fBENVIRON_FILE\fR (string)
.RS 4
If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&.
.sp
Lines starting with a # are treated as comment lines and ignored\&.
.RE
.PP
\fBERASECHAR\fR (number)
.RS 4
Terminal ERASE character (\fI010\fR
= backspace,
\fI0177\fR
= DEL)\&.
.sp
The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&.
.RE
.PP
\fBFAIL_DELAY\fR (number)
.RS 4
Delay in seconds before being allowed another attempt after a login failure\&.
.RE
.PP
\fBFAILLOG_ENAB\fR (boolean)
.RS 4
Enable logging and display of
/var/log/faillog
login failure info\&.
.RE
.PP
\fBFAKE_SHELL\fR (string)
.RS 4
If set,
\fBlogin\fR
will execute this shell instead of the users\*(Aq shell specified in
/etc/passwd\&.
.RE
.PP
\fBFTMP_FILE\fR (string)
.RS 4
If defined, login failures will be logged in this file in a utmp format\&.
.RE
.PP
\fBGID_MAX\fR (number), \fBGID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of regular groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBGID_MIN\fR
(resp\&.
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBHMAC_CRYPTO_ALGO\fR (string)
.RS 4
Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed\-hash message authentication code\&.
.sp
Note: check
hmac(3)
to see the possible algorithms that are available in your system\&.
.RE
.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
\fBUMASK\fR
is used to create the mode\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this to set the mode of the home directory they create\&.
.RE
.PP
\fBHUSHLOGIN_FILE\fR (string)
.RS 4
If defined, this file can inhibit all the usual chatter during the login sequence\&. If a full pathname is specified, then hushed mode will be enabled if the user\*(Aqs 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\*(Aqs home directory\&.
.RE
.PP
\fBISSUE_FILE\fR (string)
.RS 4
If defined, this file will be displayed before each login prompt\&.
.RE
.PP
\fBKILLCHAR\fR (number)
.RS 4
Terminal KILL character (\fI025\fR
= CTRL/U)\&.
.sp
The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&.
.RE
.PP
\fBLASTLOG_ENAB\fR (boolean)
.RS 4
Enable logging and display of /var/log/lastlog login time info\&.
.RE
.PP
\fBLASTLOG_UID_MAX\fR (number)
.RS 4
Highest user ID number for which the lastlog entries should be updated\&. As higher user IDs are usually tracked by remote user identity and authentication services there is no need to create a huge sparse lastlog file for them\&.
.sp
No
\fBLASTLOG_UID_MAX\fR
option present in the configuration means that there is no user ID limit for writing lastlog entries\&.
.RE
.PP
\fBLOG_OK_LOGINS\fR (boolean)
.RS 4
Enable logging of successful logins\&.
.RE
.PP
\fBLOG_UNKFAIL_ENAB\fR (boolean)
.RS 4
Enable display of unknown usernames when login failures are recorded\&.
.sp
Note: logging unknown usernames may be a security issue if an user enter her password instead of her login name\&.
.RE
.PP
\fBLOGIN_RETRIES\fR (number)
.RS 4
Maximum number of login retries in case of bad password\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.PP
\fBLOGIN_TIMEOUT\fR (number)
.RS 4
Max time in seconds for login\&.
.RE
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
Enable checking and display of mailbox status upon login\&.
.sp
You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&.
.RE
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBMOTD_FILE\fR (string)
.RS 4
If defined, ":" delimited list of "message of the day" files to be displayed upon login\&.
.RE
.PP
\fBNOLOGINS_FILE\fR (string)
.RS 4
If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&.
.RE
.PP
\fBNONEXISTENT\fR (string)
.RS 4
If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
.RE
.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Enable additional checks upon password changes\&.
.RE
.PP
\fBPASS_ALWAYS_WARN\fR (boolean)
.RS 4
Warn about weak passwords (but still allow them) if you are root\&.
.RE
.PP
\fBPASS_CHANGE_TRIES\fR (number)
.RS 4
Maximum number of attempts to change password if rejected (too easy)\&.
.RE
.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
.RS 4
The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&.
.RE
.PP
\fBPASS_MAX_DAYS\fR, \fBPASS_MAX_DAYS\fR,
\fBPASS_MIN_DAYS\fR \fBPASS_MIN_DAYS\fR
and and
\fBPASS_WARN_AGE\fR \fBPASS_WARN_AGE\fR
are only used at the time of account creation\&. Any changes to these settings won\*(Aqt affect existing accounts\&. are only used at the time of account creation\&. Any changes to these settings won\*(Aqt affect existing accounts\&.
.PP
\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number)
.RS 4
Number of significant characters in the password for crypt()\&.
.sp
\fBPASS_MAX_LEN\fR
is 8 by default\&. Don\*(Aqt change unless your crypt() is better\&.
.sp
\fBPASS_MAX_LEN\fR
is only used for DES\&. It is ignored if an encryption algorithm other than DES is used, either because
\fBMD5_CRYPT_ENAB\fR
set to
\fIyes\fR
or
\fBENCRYPT_METHOD\fR
set to an algorithm other than
\fIDES\fR\&.
.sp
In addition,
\fBPASS_MAX_LEN\fR
is only used if
\fBOBSCURE_CHECKS_ENAB\fR
set to
\fIyes\fR\&.
.sp
Note: This only affects the generation of user passwords\&. Group password lengths are not checked\&.
.RE
.PP
\fBPORTTIME_CHECKS_ENAB\fR (boolean)
.RS 4
Enable checking of time restrictions specified in
/etc/porttime\&.
.RE
.PP
\fBQUOTAS_ENAB\fR (boolean)
.RS 4
Enable setting of resource limits from
/etc/limits
and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.PP
\fBSULOG_FILE\fR (string)
.RS 4
If defined, all su activity is logged to this file\&.
.RE
.PP
\fBSU_NAME\fR (string)
.RS 4
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"\&.
.RE
.PP
\fBSU_WHEEL_ONLY\fR (boolean)
.RS 4
If
\fIyes\fR, the user must be listed as a member of the first gid 0 group in
/etc/group
(called
\fIroot\fR
on most Linux systems) to be able to
\fBsu\fR
to uid 0 accounts\&. If the group doesn\*(Aqt exist or is empty, no one will be able to
\fBsu\fR
to uid 0\&.
.RE
.PP
\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate group IDs) allocate
\fBSUB_GID_COUNT\fR
unused group IDs from the range
\fBSUB_GID_MIN\fR
to
\fBSUB_GID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_GID_MIN\fR,
\fBSUB_GID_MAX\fR,
\fBSUB_GID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate user IDs) allocate
\fBSUB_UID_COUNT\fR
unused user IDs from the range
\fBSUB_UID_MIN\fR
to
\fBSUB_UID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_UID_MIN\fR,
\fBSUB_UID_MAX\fR,
\fBSUB_UID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of system groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_GID_MIN\fR
(resp\&.
\fBSYS_GID_MAX\fR) is 101 (resp\&.
\fBGID_MIN\fR\-1)\&.
.RE
.PP
\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number)
.RS 4
Range of user IDs used for the creation of system users by
\fBuseradd\fR
or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_UID_MIN\fR
(resp\&.
\fBSYS_UID_MAX\fR) is 101 (resp\&.
\fBUID_MIN\fR\-1)\&.
.RE
.PP
\fBSYSLOG_SG_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsg\fR
activity\&.
.RE
.PP
\fBSYSLOG_SU_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsu\fR
activity \- in addition to sulog file logging\&.
.RE
.PP
\fBTTYGROUP\fR (string), \fBTTYPERM\fR (number)
.RS 4
The terminal permissions: the login tty will be owned by the
\fBTTYGROUP\fR
group, and the permissions will be set to
\fBTTYPERM\fR\&.
.sp
\fBTTYGROUP\fR
can be either the name of a group or a numeric group identifier\&.
.sp
If TTYGROUP is not defined, then the group ownership of the terminal is set to the user\*(Aqs primary group\&. If TTYPERM is not defined, then the permissions are set to
\fI0600\fR\&.
.sp
If you have a
\fBwrite\fR
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\&.
.RE
.PP
\fBTTYTYPE_FILE\fR (string)
.RS 4
If defined, file which maps tty line to TERM environment parameter\&. Each line of the file is in a format something like "vt100 tty01"\&.
.RE
.PP
\fBUID_MAX\fR (number), \fBUID_MIN\fR (number)
.RS 4
Range of user IDs used for the creation of regular users by
\fBuseradd\fR
or
\fBnewusers\fR\&.
.sp
The default value for
\fBUID_MIN\fR
(resp\&.
\fBUID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBULIMIT\fR (number)
.RS 4
Default
\fBulimit\fR
value\&.
.RE
.PP
\fBUMASK\fR (number)
.RS 4
The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this mask to set the mode of the home directory they create if
\fBHOME_MODE\fR
is not set\&.
.sp
It is also used by
\fBlogin\fR
to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if
\fBQUOTAS_ENAB\fR
is set) or by the specification of a limit with the
\fIK\fR
identifier in
\fBlimits\fR(5)\&.
.RE
.PP
\fBUSERDEL_CMD\fR (string)
.RS 4
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)\&.
.sp
The return code of the script is not taken into account\&.
.sp
Here is an example script, which removes the user\*(Aqs cron, at and print jobs:
.sp
.if n \{\
.RS 4
.\}
.nf
#! /bin/sh
# Check for the required argument\&.
if [ $# != 1 ]; then
echo "Usage: $0 username"
exit 1
fi
# Remove cron jobs\&.
crontab \-r \-u $1
# Remove at jobs\&.
# Note that it will remove any jobs owned by the same UID,
# even if it was shared by a different username\&.
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e;
# Remove print jobs\&.
lprm $1
# All done\&.
exit 0
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBUSERGROUPS_ENAB\fR (boolean)
.RS 4
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\&.
.sp
If set to
\fIyes\fR,
\fBuserdel\fR
will remove the user\*(Aqs group if it contains no more members, and
\fBuseradd\fR
will create by default a group with the name of the user\&.
.RE
.SH "QUERVERWEISE" .SH "QUERVERWEISE"
.PP .PP
Die folgenden Querverweise zeigen, welche Programme aus der Shadow\-Passwort\-Sammlung welche Parameter verwenden\&. Die folgenden Querverweise zeigen, welche Programme aus der Shadow\-Passwort\-Sammlung welche Parameter verwenden\&.
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: passwd .\" Title: passwd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "PASSWD" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "PASSWD" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: porttime .\" Title: porttime
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "PORTTIME" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "PORTTIME" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: shadow .\" Title: shadow
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "SHADOW" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "SHADOW" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: suauth .\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz .\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "SUAUTH" "5" "30.12.2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "SUAUTH" "5" "01.02.2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+77 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chgpasswd .\" Title: chgpasswd
.\" Author: Thomas K\(/loczko <kloczek@pld.org.pl> .\" Author: Thomas K\(/loczko <kloczek@pld.org.pl>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "CHGPASSWD" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "CHGPASSWD" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -119,6 +119,80 @@ Sie sollten darauf achten, dass Passw\(:orter und Verschl\(:usselungsmethode in
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+62 -4
View File
@@ -2,12 +2,12 @@
.\" Title: chpasswd .\" Title: chpasswd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "CHPASSWD" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "CHPASSWD" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -139,7 +139,65 @@ ausschlie\(ssen, dass andere Benutzer sie lesen k\(:onnen\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: faillog .\" Title: faillog
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "FAILLOG" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "FAILLOG" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+45 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupadd .\" Title: groupadd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "GROUPADD" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "GROUPADD" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -162,6 +162,48 @@ variable in
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBGID_MAX\fR (number), \fBGID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of regular groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBGID_MIN\fR
(resp\&.
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of system groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_GID_MIN\fR
(resp\&.
\fBSYS_GID_MAX\fR) is 101 (resp\&.
\fBGID_MIN\fR\-1)\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+18 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupdel .\" Title: groupdel
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "GROUPDEL" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "GROUPDEL" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -81,6 +81,21 @@ Sie sollten von Hand alle Dateisysteme \(:uberpr\(:ufen, um sicherzustellen, das
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+18 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupmems .\" Title: groupmems
.\" Author: George Kraft, IV .\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "GROUPMEMS" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "GROUPMEMS" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -142,6 +142,21 @@ utility to manage their own group membership list\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+18 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupmod .\" Title: groupmod
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "GROUPMOD" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "GROUPMOD" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -147,6 +147,21 @@ variable in
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+18 -3
View File
@@ -2,12 +2,12 @@
.\" Title: grpck .\" Title: grpck
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "GRPCK" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "GRPCK" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -179,6 +179,21 @@ and \fIshadow\fR parameters\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+12 -3
View File
@@ -2,12 +2,12 @@
.\" Title: lastlog .\" Title: lastlog
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "LASTLOG" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "LASTLOG" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -122,6 +122,15 @@ users with a high UID)\&. You can display its real size with "\fBls \-s\fR"\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBLASTLOG_UID_MAX\fR (number)
.RS 4
Highest user ID number for which the lastlog entries should be updated\&. As higher user IDs are usually tracked by remote user identity and authentication services there is no need to create a huge sparse lastlog file for them\&.
.sp
No
\fBLASTLOG_UID_MAX\fR
option present in the configuration means that there is no user ID limit for writing lastlog entries\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/var/log/lastlog /var/log/lastlog
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: logoutd .\" Title: logoutd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "LOGOUTD" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "LOGOUTD" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+225 -8
View File
@@ -2,12 +2,12 @@
.\" Title: newusers .\" Title: newusers
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "NEWUSERS" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "NEWUSERS" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -186,11 +186,228 @@ Sie sollten darauf achten, dass Passw\(:orter und Verschl\(:usselungsmethode in
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBGID_MAX\fR (number), \fBGID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of regular groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBGID_MIN\fR
(resp\&.
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
\fBUMASK\fR
is used to create the mode\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this to set the mode of the home directory they create\&.
.RE
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
.RS 4
The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.PP
\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate group IDs) allocate
\fBSUB_GID_COUNT\fR
unused group IDs from the range
\fBSUB_GID_MIN\fR
to
\fBSUB_GID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_GID_MIN\fR,
\fBSUB_GID_MAX\fR,
\fBSUB_GID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate user IDs) allocate
\fBSUB_UID_COUNT\fR
unused user IDs from the range
\fBSUB_UID_MIN\fR
to
\fBSUB_UID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_UID_MIN\fR,
\fBSUB_UID_MAX\fR,
\fBSUB_UID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of system groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_GID_MIN\fR
(resp\&.
\fBSYS_GID_MAX\fR) is 101 (resp\&.
\fBGID_MIN\fR\-1)\&.
.RE
.PP
\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number)
.RS 4
Range of user IDs used for the creation of system users by
\fBuseradd\fR
or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_UID_MIN\fR
(resp\&.
\fBSYS_UID_MAX\fR) is 101 (resp\&.
\fBUID_MIN\fR\-1)\&.
.RE
.PP
\fBUID_MAX\fR (number), \fBUID_MIN\fR (number)
.RS 4
Range of user IDs used for the creation of regular users by
\fBuseradd\fR
or
\fBnewusers\fR\&.
.sp
The default value for
\fBUID_MIN\fR
(resp\&.
\fBUID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBUMASK\fR (number)
.RS 4
The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this mask to set the mode of the home directory they create if
\fBHOME_MODE\fR
is not set\&.
.sp
It is also used by
\fBlogin\fR
to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if
\fBQUOTAS_ENAB\fR
is set) or by the specification of a limit with the
\fIK\fR
identifier in
\fBlimits\fR(5)\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: nologin .\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net> .\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "NOLOGIN" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "NOLOGIN" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+23 -3
View File
@@ -2,12 +2,12 @@
.\" Title: pwck .\" Title: pwck
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "PWCK" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "PWCK" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -253,6 +253,26 @@ parameters\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBNONEXISTENT\fR (string)
.RS 4
If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
.RE
.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
.RS 4
The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+33 -3
View File
@@ -2,12 +2,12 @@
.\" Title: pwconv .\" Title: pwconv
.\" Author: Marek Micha\(/lkiewicz .\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "PWCONV" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "PWCONV" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -146,10 +146,40 @@ changes the behavior of
and and
\fBgrpunconv\fR: \fBgrpunconv\fR:
.PP .PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of change the behavior of
\fBpwconv\fR: \fBpwconv\fR:
.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
.RS 4
The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/login\&.defs /etc/login\&.defs
+22 -3
View File
@@ -2,12 +2,12 @@
.\" Title: sulogin .\" Title: sulogin
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "SULOGIN" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "SULOGIN" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -79,6 +79,25 @@ As complete an environment as possible is created\&. However, various devices ma
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBENV_HZ\fR (string)
.RS 4
If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by
\fIHZ=\fR\&. A common value on Linux is
\fIHZ=100\fR\&.
.RE
.PP
\fBENV_TZ\fR (string)
.RS 4
If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by
\fITZ=\fR
(for example
\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example
/etc/tzname)\&.
.sp
If a full path is specified but the file does not exist or cannot be read, the default is to use
\fITZ=CST6CDT\fR\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+223 -3
View File
@@ -2,12 +2,12 @@
.\" Title: useradd .\" Title: useradd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "USERADD" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "USERADD" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -507,6 +507,226 @@ Benutzernamen d\(:urfen nur bis zu 256 Zeichen lang sein\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCREATE_HOME\fR (boolean)
.RS 4
Indicate if a home directory should be created by default for new users\&.
.sp
This setting does not apply to system users, and can be overridden on the command line\&.
.RE
.PP
\fBGID_MAX\fR (number), \fBGID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of regular groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBGID_MIN\fR
(resp\&.
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
\fBUMASK\fR
is used to create the mode\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this to set the mode of the home directory they create\&.
.RE
.PP
\fBLASTLOG_UID_MAX\fR (number)
.RS 4
Highest user ID number for which the lastlog entries should be updated\&. As higher user IDs are usually tracked by remote user identity and authentication services there is no need to create a huge sparse lastlog file for them\&.
.sp
No
\fBLASTLOG_UID_MAX\fR
option present in the configuration means that there is no user ID limit for writing lastlog entries\&.
.RE
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
.RS 4
The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&.
.RE
.PP
\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate group IDs) allocate
\fBSUB_GID_COUNT\fR
unused group IDs from the range
\fBSUB_GID_MIN\fR
to
\fBSUB_GID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_GID_MIN\fR,
\fBSUB_GID_MAX\fR,
\fBSUB_GID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate user IDs) allocate
\fBSUB_UID_COUNT\fR
unused user IDs from the range
\fBSUB_UID_MIN\fR
to
\fBSUB_UID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_UID_MIN\fR,
\fBSUB_UID_MAX\fR,
\fBSUB_UID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of system groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_GID_MIN\fR
(resp\&.
\fBSYS_GID_MAX\fR) is 101 (resp\&.
\fBGID_MIN\fR\-1)\&.
.RE
.PP
\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number)
.RS 4
Range of user IDs used for the creation of system users by
\fBuseradd\fR
or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_UID_MIN\fR
(resp\&.
\fBSYS_UID_MAX\fR) is 101 (resp\&.
\fBUID_MIN\fR\-1)\&.
.RE
.PP
\fBUID_MAX\fR (number), \fBUID_MIN\fR (number)
.RS 4
Range of user IDs used for the creation of regular users by
\fBuseradd\fR
or
\fBnewusers\fR\&.
.sp
The default value for
\fBUID_MIN\fR
(resp\&.
\fBUID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBUMASK\fR (number)
.RS 4
The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this mask to set the mode of the home directory they create if
\fBHOME_MODE\fR
is not set\&.
.sp
It is also used by
\fBlogin\fR
to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if
\fBQUOTAS_ENAB\fR
is set) or by the specification of a limit with the
\fIK\fR
identifier in
\fBlimits\fR(5)\&.
.RE
.PP
\fBUSERGROUPS_ENAB\fR (boolean)
.RS 4
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\&.
.sp
If set to
\fIyes\fR,
\fBuserdel\fR
will remove the user\*(Aqs group if it contains no more members, and
\fBuseradd\fR
will create by default a group with the name of the user\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/passwd /etc/passwd
+101 -3
View File
@@ -2,12 +2,12 @@
.\" Title: userdel .\" Title: userdel
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "USERDEL" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "USERDEL" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -95,6 +95,104 @@ entfernt jegliche Zuordnung zu SELinux\-Benutzern f\(:ur das Benutzerkonto\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBUSERDEL_CMD\fR (string)
.RS 4
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)\&.
.sp
The return code of the script is not taken into account\&.
.sp
Here is an example script, which removes the user\*(Aqs cron, at and print jobs:
.sp
.if n \{\
.RS 4
.\}
.nf
#! /bin/sh
# Check for the required argument\&.
if [ $# != 1 ]; then
echo "Usage: $0 username"
exit 1
fi
# Remove cron jobs\&.
crontab \-r \-u $1
# Remove at jobs\&.
# Note that it will remove any jobs owned by the same UID,
# even if it was shared by a different username\&.
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e;
# Remove print jobs\&.
lprm $1
# All done\&.
exit 0
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBUSERGROUPS_ENAB\fR (boolean)
.RS 4
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\&.
.sp
If set to
\fIyes\fR,
\fBuserdel\fR
will remove the user\*(Aqs group if it contains no more members, and
\fBuseradd\fR
will create by default a group with the name of the user\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+102 -3
View File
@@ -2,12 +2,12 @@
.\" Title: usermod .\" Title: usermod
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "USERMOD" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "USERMOD" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -340,6 +340,105 @@ Sie m\(:ussen alle \(:Anderungen, an welchen NIS beteiligt ist, auf dem NIS\-Ser
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBLASTLOG_UID_MAX\fR (number)
.RS 4
Highest user ID number for which the lastlog entries should be updated\&. As higher user IDs are usually tracked by remote user identity and authentication services there is no need to create a huge sparse lastlog file for them\&.
.sp
No
\fBLASTLOG_UID_MAX\fR
option present in the configuration means that there is no user ID limit for writing lastlog entries\&.
.RE
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate group IDs) allocate
\fBSUB_GID_COUNT\fR
unused group IDs from the range
\fBSUB_GID_MIN\fR
to
\fBSUB_GID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_GID_MIN\fR,
\fBSUB_GID_MAX\fR,
\fBSUB_GID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate user IDs) allocate
\fBSUB_UID_COUNT\fR
unused user IDs from the range
\fBSUB_UID_MIN\fR
to
\fBSUB_UID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_UID_MIN\fR,
\fBSUB_UID_MAX\fR,
\fBSUB_UID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.SH "DATEIEN" .SH "DATEIEN"
.PP .PP
/etc/group /etc/group
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: vipw .\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz .\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30.12.2025 .\" Date: 01.02.2026
.\" Manual: System Management Commands .\" Manual: System Management Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: German .\" Language: German
.\" .\"
.TH "VIPW" "8" "30.12.2025" "shadow\-utils 4\&.19\&.0" "System Management Commands" .TH "VIPW" "8" "01.02.2026" "shadow\-utils 4\&.19\&.3" "System Management Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+17 -4
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -159,6 +161,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -258,8 +261,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -359,6 +364,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -420,8 +426,8 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -512,3 +518,10 @@ uninstall-am:
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+20 -8
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -146,10 +148,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
man1dir = $(mandir)/man1 man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" am__installdirs = "$(DESTDIR)$(man1dir)"
@@ -190,6 +191,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -289,8 +291,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -429,6 +433,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -493,8 +498,8 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -588,3 +593,10 @@ uninstall-man: uninstall-man1
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+21 -9
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am. # Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc. # Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@@ -151,10 +153,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \ am__uninstall_files_from_dir = { \
test -z "$$files" \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
$(am__cd) "$$dir" && rm -f $$files; }; \
} }
man1dir = $(mandir)/man1 man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \
@@ -200,6 +201,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@ FGREP = @FGREP@
FILECMD = @FILECMD@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@ GMSGFMT_015 = @GMSGFMT_015@
@@ -299,8 +301,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@ am__tar = @am__tar@
am__untar = @am__untar@ am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@@ -605,6 +609,7 @@ ctags CTAGS:
cscope cscopelist: cscope cscopelist:
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -667,11 +672,11 @@ install-strip:
mostlyclean-generic: mostlyclean-generic:
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -$(am__rm_f) $(CLEANFILES)
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@@ -818,3 +823,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \
# 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:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chage .\" Title: chage
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "CHAGE" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "CHAGE" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+43 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chfn .\" Title: chfn
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "CHFN" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "CHFN" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -110,6 +110,46 @@ marks\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCHFN_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchfn\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBCHFN_RESTRICT\fR (string)
.RS 4
This parameter specifies which values in the
\fIgecos\fR
field of the
/etc/passwd
file may be changed by regular users using the
\fBchfn\fR
program\&. It can be any combination of letters
\fIf\fR,
\fIr\fR,
\fIw\fR,
\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility,
\fIyes\fR
is equivalent to
\fIrwh\fR
and
\fIno\fR
is equivalent to
\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing
\fBchfn\fR
SUID\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.SH "FICHIERS" .SH "FICHIERS"
.PP .PP
/etc/login\&.defs /etc/login\&.defs
+19 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chsh .\" Title: chsh
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "CHSH" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "CHSH" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -84,6 +84,22 @@ is discouraged since accidentally changing to a restricted shell would prevent t
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCHSH_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchsh\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.SH "FICHIERS" .SH "FICHIERS"
.PP .PP
/etc/passwd /etc/passwd
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: expiry .\" Title: expiry
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "EXPIRY" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "EXPIRY" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+77 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gpasswd .\" Title: gpasswd
.\" Author: rafal Maszkowski .\" Author: rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "GPASSWD" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "GPASSWD" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -139,6 +139,80 @@ Thus you cannot change any NIS or LDAP group\&. This must be performed on the co
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.SH "FICHIERS" .SH "FICHIERS"
.PP .PP
/etc/group /etc/group
+279 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login .\" Title: login
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "LOGIN" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "LOGIN" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -149,6 +149,282 @@ As with any program,
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCONSOLE\fR (string)
.RS 4
If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&.
.sp
If not defined, root will be allowed on any device\&.
.sp
The device should be specified without the /dev/ prefix\&.
.RE
.PP
\fBCONSOLE_GROUPS\fR (string)
.RS 4
List of groups to add to the user\*(Aqs supplementary groups 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\&.
.RE
.PP
\fBDEFAULT_HOME\fR (boolean)
.RS 4
Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&.
.sp
If set to
\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&.
.RE
.PP
\fBENV_HZ\fR (string)
.RS 4
If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by
\fIHZ=\fR\&. A common value on Linux is
\fIHZ=100\fR\&.
.RE
.PP
\fBENV_PATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example
\fI/bin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/bin:/usr/bin\fR\&.
.RE
.PP
\fBENV_SUPATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example
\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&.
.RE
.PP
\fBENV_TZ\fR (string)
.RS 4
If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by
\fITZ=\fR
(for example
\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example
/etc/tzname)\&.
.sp
If a full path is specified but the file does not exist or cannot be read, the default is to use
\fITZ=CST6CDT\fR\&.
.RE
.PP
\fBENVIRON_FILE\fR (string)
.RS 4
If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&.
.sp
Lines starting with a # are treated as comment lines and ignored\&.
.RE
.PP
\fBERASECHAR\fR (number)
.RS 4
Terminal ERASE character (\fI010\fR
= backspace,
\fI0177\fR
= DEL)\&.
.sp
The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&.
.RE
.PP
\fBFAIL_DELAY\fR (number)
.RS 4
Delay in seconds before being allowed another attempt after a login failure\&.
.RE
.PP
\fBFAILLOG_ENAB\fR (boolean)
.RS 4
Enable logging and display of
/var/log/faillog
login failure info\&.
.RE
.PP
\fBFAKE_SHELL\fR (string)
.RS 4
If set,
\fBlogin\fR
will execute this shell instead of the users\*(Aq shell specified in
/etc/passwd\&.
.RE
.PP
\fBFTMP_FILE\fR (string)
.RS 4
If defined, login failures will be logged in this file in a utmp format\&.
.RE
.PP
\fBHUSHLOGIN_FILE\fR (string)
.RS 4
If defined, this file can inhibit all the usual chatter during the login sequence\&. If a full pathname is specified, then hushed mode will be enabled if the user\*(Aqs 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\*(Aqs home directory\&.
.RE
.PP
\fBISSUE_FILE\fR (string)
.RS 4
If defined, this file will be displayed before each login prompt\&.
.RE
.PP
\fBKILLCHAR\fR (number)
.RS 4
Terminal KILL character (\fI025\fR
= CTRL/U)\&.
.sp
The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&.
.RE
.PP
\fBLASTLOG_ENAB\fR (boolean)
.RS 4
Enable logging and display of /var/log/lastlog login time info\&.
.RE
.PP
\fBLOGIN_RETRIES\fR (number)
.RS 4
Maximum number of login retries in case of bad password\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.PP
\fBLOGIN_TIMEOUT\fR (number)
.RS 4
Max time in seconds for login\&.
.RE
.PP
\fBLOG_OK_LOGINS\fR (boolean)
.RS 4
Enable logging of successful logins\&.
.RE
.PP
\fBLOG_UNKFAIL_ENAB\fR (boolean)
.RS 4
Enable display of unknown usernames when login failures are recorded\&.
.sp
Note: logging unknown usernames may be a security issue if an user enter her password instead of her login name\&.
.RE
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
Enable checking and display of mailbox status upon login\&.
.sp
You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&.
.RE
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBMOTD_FILE\fR (string)
.RS 4
If defined, ":" delimited list of "message of the day" files to be displayed upon login\&.
.RE
.PP
\fBNOLOGINS_FILE\fR (string)
.RS 4
If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&.
.RE
.PP
\fBPORTTIME_CHECKS_ENAB\fR (boolean)
.RS 4
Enable checking of time restrictions specified in
/etc/porttime\&.
.RE
.PP
\fBQUOTAS_ENAB\fR (boolean)
.RS 4
Enable setting of resource limits from
/etc/limits
and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&.
.RE
.PP
\fBTTYGROUP\fR (string), \fBTTYPERM\fR (number)
.RS 4
The terminal permissions: the login tty will be owned by the
\fBTTYGROUP\fR
group, and the permissions will be set to
\fBTTYPERM\fR\&.
.sp
\fBTTYGROUP\fR
can be either the name of a group or a numeric group identifier\&.
.sp
If TTYGROUP is not defined, then the group ownership of the terminal is set to the user\*(Aqs primary group\&. If TTYPERM is not defined, then the permissions are set to
\fI0600\fR\&.
.sp
If you have a
\fBwrite\fR
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\&.
.RE
.PP
\fBTTYTYPE_FILE\fR (string)
.RS 4
If defined, file which maps tty line to TERM environment parameter\&. Each line of the file is in a format something like "vt100 tty01"\&.
.RE
.PP
\fBULIMIT\fR (number)
.RS 4
Default
\fBulimit\fR
value\&.
.RE
.PP
\fBUMASK\fR (number)
.RS 4
The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this mask to set the mode of the home directory they create if
\fBHOME_MODE\fR
is not set\&.
.sp
It is also used by
\fBlogin\fR
to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if
\fBQUOTAS_ENAB\fR
is set) or by the specification of a limit with the
\fIK\fR
identifier in
\fBlimits\fR(5)\&.
.RE
.PP
\fBUSERGROUPS_ENAB\fR (boolean)
.RS 4
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\&.
.sp
If set to
\fIyes\fR,
\fBuserdel\fR
will remove the user\*(Aqs group if it contains no more members, and
\fBuseradd\fR
will create by default a group with the name of the user\&.
.RE
.SH "FICHIERS" .SH "FICHIERS"
.PP .PP
/var/run/utmp /var/run/utmp
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newgidmap .\" Title: newgidmap
.\" Author: Eric Biederman .\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "NEWGIDMAP" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "NEWGIDMAP" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+10 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newgrp .\" Title: newgrp
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "NEWGRP" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "NEWGRP" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -60,6 +60,13 @@ is considered\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBSYSLOG_SG_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsg\fR
activity\&.
.RE
.SH "FICHIERS" .SH "FICHIERS"
.PP .PP
/etc/passwd /etc/passwd
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newuidmap .\" Title: newuidmap
.\" Author: Eric Biederman .\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "NEWUIDMAP" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "NEWUIDMAP" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+104 -3
View File
@@ -2,12 +2,12 @@
.\" Title: passwd .\" Title: passwd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "PASSWD" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "PASSWD" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -193,6 +193,107 @@ Il se peut que les utilisateurs ne puissent pas changer leur mot de passe sur un
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Enable additional checks upon password changes\&.
.RE
.PP
\fBPASS_ALWAYS_WARN\fR (boolean)
.RS 4
Warn about weak passwords (but still allow them) if you are root\&.
.RE
.PP
\fBPASS_CHANGE_TRIES\fR (number)
.RS 4
Maximum number of attempts to change password if rejected (too easy)\&.
.RE
.PP
\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number)
.RS 4
Number of significant characters in the password for crypt()\&.
.sp
\fBPASS_MAX_LEN\fR
is 8 by default\&. Don\*(Aqt change unless your crypt() is better\&.
.sp
\fBPASS_MAX_LEN\fR
is only used for DES\&. It is ignored if an encryption algorithm other than DES is used, either because
\fBMD5_CRYPT_ENAB\fR
set to
\fIyes\fR
or
\fBENCRYPT_METHOD\fR
set to an algorithm other than
\fIDES\fR\&.
.sp
In addition,
\fBPASS_MAX_LEN\fR
is only used if
\fBOBSCURE_CHECKS_ENAB\fR
set to
\fIyes\fR\&.
.sp
Note: This only affects the generation of user passwords\&. Group password lengths are not checked\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.SH "FICHIERS" .SH "FICHIERS"
.PP .PP
/etc/passwd /etc/passwd
+10 -3
View File
@@ -2,12 +2,12 @@
.\" Title: sg .\" Title: sg
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "SG" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "SG" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -77,6 +77,13 @@ This is the default; for backward compatibility\&.
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBSYSLOG_SG_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsg\fR
activity\&.
.RE
.SH "FICHIERS" .SH "FICHIERS"
.PP .PP
/etc/passwd /etc/passwd
+163 -3
View File
@@ -2,12 +2,12 @@
.\" Title: su .\" Title: su
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: User Commands .\" Manual: User Commands
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "SU" "1" "30/12/2025" "shadow\-utils 4\&.19\&.0" "User Commands" .TH "SU" "1" "01/02/2026" "shadow\-utils 4\&.19\&.3" "User Commands"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -228,6 +228,166 @@ has many compilation options, only some of which may be in use at any particular
The following configuration variables in The following configuration variables in
/etc/login\&.defs /etc/login\&.defs
change the behavior of this tool: change the behavior of this tool:
.PP
\fBCONSOLE\fR (string)
.RS 4
If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&.
.sp
If not defined, root will be allowed on any device\&.
.sp
The device should be specified without the /dev/ prefix\&.
.RE
.PP
\fBCONSOLE_GROUPS\fR (string)
.RS 4
List of groups to add to the user\*(Aqs supplementary groups 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\&.
.RE
.PP
\fBDEFAULT_HOME\fR (boolean)
.RS 4
Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&.
.sp
If set to
\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&.
.RE
.PP
\fBENV_HZ\fR (string)
.RS 4
If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by
\fIHZ=\fR\&. A common value on Linux is
\fIHZ=100\fR\&.
.RE
.PP
\fBENVIRON_FILE\fR (string)
.RS 4
If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&.
.sp
Lines starting with a # are treated as comment lines and ignored\&.
.RE
.PP
\fBENV_PATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example
\fI/bin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/bin:/usr/bin\fR\&.
.RE
.PP
\fBENV_SUPATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example
\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&.
.RE
.PP
\fBENV_TZ\fR (string)
.RS 4
If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by
\fITZ=\fR
(for example
\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example
/etc/tzname)\&.
.sp
If a full path is specified but the file does not exist or cannot be read, the default is to use
\fITZ=CST6CDT\fR\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
Enable checking and display of mailbox status upon login\&.
.sp
You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&.
.RE
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBQUOTAS_ENAB\fR (boolean)
.RS 4
Enable setting of resource limits from
/etc/limits
and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&.
.RE
.PP
\fBSULOG_FILE\fR (string)
.RS 4
If defined, all su activity is logged to this file\&.
.RE
.PP
\fBSU_NAME\fR (string)
.RS 4
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"\&.
.RE
.PP
\fBSU_WHEEL_ONLY\fR (boolean)
.RS 4
If
\fIyes\fR, the user must be listed as a member of the first gid 0 group in
/etc/group
(called
\fIroot\fR
on most Linux systems) to be able to
\fBsu\fR
to uid 0 accounts\&. If the group doesn\*(Aqt exist or is empty, no one will be able to
\fBsu\fR
to uid 0\&.
.RE
.PP
\fBSYSLOG_SU_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsu\fR
activity \- in addition to sulog file logging\&.
.RE
.PP
\fBUSERGROUPS_ENAB\fR (boolean)
.RS 4
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\&.
.sp
If set to
\fIyes\fR,
\fBuserdel\fR
will remove the user\*(Aqs group if it contains no more members, and
\fBuseradd\fR
will create by default a group with the name of the user\&.
.RE
.SH "FICHIERS" .SH "FICHIERS"
.PP .PP
/etc/passwd /etc/passwd
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: shadow .\" Title: shadow
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: Library Calls .\" Manual: Library Calls
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "SHADOW" "3" "30/12/2025" "shadow\-utils 4\&.19\&.0" "Library Calls" .TH "SHADOW" "3" "01/02/2026" "shadow\-utils 4\&.19\&.3" "Library Calls"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: faillog .\" Title: faillog
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "FAILLOG" "5" "30/12/2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuratio" .TH "FAILLOG" "5" "01/02/2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuratio"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gshadow .\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net> .\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "GSHADOW" "5" "30/12/2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "GSHADOW" "5" "01/02/2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: limits .\" Title: limits
.\" Author: Luca Berra .\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "LIMITS" "5" "30/12/2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "LIMITS" "5" "01/02/2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login.access .\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz .\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "LOGIN\&.ACCESS" "5" "30/12/2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "LOGIN\&.ACCESS" "5" "01/02/2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+672 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login.defs .\" Title: login.defs
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "LOGIN\&.DEFS" "5" "30/12/2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "LOGIN\&.DEFS" "5" "01/02/2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@@ -48,11 +48,680 @@ value\&. Numbers (both regular and long) may be either decimal values, octal val
.PP .PP
Les param\(`etres de configuration suivants sont fournis\ \&: Les param\(`etres de configuration suivants sont fournis\ \&:
.PP .PP
\fBCHFN_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchfn\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBCHFN_RESTRICT\fR (string)
.RS 4
This parameter specifies which values in the
\fIgecos\fR
field of the
/etc/passwd
file may be changed by regular users using the
\fBchfn\fR
program\&. It can be any combination of letters
\fIf\fR,
\fIr\fR,
\fIw\fR,
\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility,
\fIyes\fR
is equivalent to
\fIrwh\fR
and
\fIno\fR
is equivalent to
\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing
\fBchfn\fR
SUID\&.
.RE
.PP
\fBCHSH_AUTH\fR (boolean)
.RS 4
If
\fIyes\fR, the
\fBchsh\fR
program will require authentication before making any changes, unless run by the superuser\&.
.RE
.PP
\fBCONSOLE\fR (string)
.RS 4
If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&.
.sp
If not defined, root will be allowed on any device\&.
.sp
The device should be specified without the /dev/ prefix\&.
.RE
.PP
\fBCONSOLE_GROUPS\fR (string)
.RS 4
List of groups to add to the user\*(Aqs supplementary groups 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\&.
.RE
.PP
\fBCREATE_HOME\fR (boolean)
.RS 4
Indicate if a home directory should be created by default for new users\&.
.sp
This setting does not apply to system users, and can be overridden on the command line\&.
.RE
.PP
\fBDEFAULT_HOME\fR (boolean)
.RS 4
Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&.
.sp
If set to
\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&.
.RE
.PP
\fBENCRYPT_METHOD\fR (string)
.RS 4
This defines the system default encryption algorithm for encrypting passwords (if no algorithm is specified on the command line)\&.
.sp
It can take one of these values:
\fIDES\fR
(default),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
crypt(5)
for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
variable\&.
.RE
.PP
\fBENV_HZ\fR (string)
.RS 4
If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by
\fIHZ=\fR\&. A common value on Linux is
\fIHZ=100\fR\&.
.RE
.PP
\fBENV_PATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example
\fI/bin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/bin:/usr/bin\fR\&.
.RE
.PP
\fBENV_SUPATH\fR (string)
.RS 4
If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example
\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&.
.RE
.PP
\fBENV_TZ\fR (string)
.RS 4
If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by
\fITZ=\fR
(for example
\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example
/etc/tzname)\&.
.sp
If a full path is specified but the file does not exist or cannot be read, the default is to use
\fITZ=CST6CDT\fR\&.
.RE
.PP
\fBENVIRON_FILE\fR (string)
.RS 4
If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&.
.sp
Lines starting with a # are treated as comment lines and ignored\&.
.RE
.PP
\fBERASECHAR\fR (number)
.RS 4
Terminal ERASE character (\fI010\fR
= backspace,
\fI0177\fR
= DEL)\&.
.sp
The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&.
.RE
.PP
\fBFAIL_DELAY\fR (number)
.RS 4
Delay in seconds before being allowed another attempt after a login failure\&.
.RE
.PP
\fBFAILLOG_ENAB\fR (boolean)
.RS 4
Enable logging and display of
/var/log/faillog
login failure info\&.
.RE
.PP
\fBFAKE_SHELL\fR (string)
.RS 4
If set,
\fBlogin\fR
will execute this shell instead of the users\*(Aq shell specified in
/etc/passwd\&.
.RE
.PP
\fBFTMP_FILE\fR (string)
.RS 4
If defined, login failures will be logged in this file in a utmp format\&.
.RE
.PP
\fBGID_MAX\fR (number), \fBGID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of regular groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBGID_MIN\fR
(resp\&.
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBHMAC_CRYPTO_ALGO\fR (string)
.RS 4
Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed\-hash message authentication code\&.
.sp
Note: check
hmac(3)
to see the possible algorithms that are available in your system\&.
.RE
.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
\fBUMASK\fR
is used to create the mode\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this to set the mode of the home directory they create\&.
.RE
.PP
\fBHUSHLOGIN_FILE\fR (string)
.RS 4
If defined, this file can inhibit all the usual chatter during the login sequence\&. If a full pathname is specified, then hushed mode will be enabled if the user\*(Aqs 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\*(Aqs home directory\&.
.RE
.PP
\fBISSUE_FILE\fR (string)
.RS 4
If defined, this file will be displayed before each login prompt\&.
.RE
.PP
\fBKILLCHAR\fR (number)
.RS 4
Terminal KILL character (\fI025\fR
= CTRL/U)\&.
.sp
The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&.
.RE
.PP
\fBLASTLOG_ENAB\fR (boolean)
.RS 4
Enable logging and display of /var/log/lastlog login time info\&.
.RE
.PP
\fBLASTLOG_UID_MAX\fR (number)
.RS 4
Highest user ID number for which the lastlog entries should be updated\&. As higher user IDs are usually tracked by remote user identity and authentication services there is no need to create a huge sparse lastlog file for them\&.
.sp
No
\fBLASTLOG_UID_MAX\fR
option present in the configuration means that there is no user ID limit for writing lastlog entries\&.
.RE
.PP
\fBLOG_OK_LOGINS\fR (boolean)
.RS 4
Enable logging of successful logins\&.
.RE
.PP
\fBLOG_UNKFAIL_ENAB\fR (boolean)
.RS 4
Enable display of unknown usernames when login failures are recorded\&.
.sp
Note: logging unknown usernames may be a security issue if an user enter her password instead of her login name\&.
.RE
.PP
\fBLOGIN_RETRIES\fR (number)
.RS 4
Maximum number of login retries in case of bad password\&.
.RE
.PP
\fBLOGIN_STRING\fR (string)
.RS 4
The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&.
.sp
If the string contains
\fI%s\fR, this will be replaced by the user\*(Aqs name\&.
.RE
.PP
\fBLOGIN_TIMEOUT\fR (number)
.RS 4
Max time in seconds for login\&.
.RE
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
Enable checking and display of mailbox status upon login\&.
.sp
You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&.
.RE
.PP
\fBMAIL_DIR\fR (string)
.RS 4
The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. The parameter CREATE_MAIL_SPOOL in
/etc/default/useradd
determines whether the mail spool should be created\&.
.RE
.PP
\fBMAIL_FILE\fR (string)
.RS 4
Defines the location of the users mail spool files relatively to their home directory\&.
.RE
.PP
The
\fBMAIL_DIR\fR
and
\fBMAIL_FILE\fR
variables are used by
\fBuseradd\fR,
\fBusermod\fR, and
\fBuserdel\fR
to create, move, or delete the user\*(Aqs mail spool\&.
.PP
If
\fBMAIL_CHECK_ENAB\fR
is set to
\fIyes\fR, they are also used to define the
\fBMAIL\fR
environment variable\&.
.PP
\fBMAX_MEMBERS_PER_GROUP\fR (number)
.RS 4
Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in
/etc/group
(with the same name, same password, and same GID)\&.
.sp
The default value is 0, meaning that there are no limits in the number of members in a group\&.
.sp
This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&.
.sp
If you need to enforce such limit, you can use 25\&.
.sp
Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (boolean)
.RS 4
Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to
\fIyes\fR, 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
\fIno\fR
if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is
\fIno\fR\&.
.sp
This variable is superseded by the
\fBENCRYPT_METHOD\fR
variable or by any command line option used to configure the encryption algorithm\&.
.sp
This variable is deprecated\&. You should use
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBMOTD_FILE\fR (string)
.RS 4
If defined, ":" delimited list of "message of the day" files to be displayed upon login\&.
.RE
.PP
\fBNOLOGINS_FILE\fR (string)
.RS 4
If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&.
.RE
.PP
\fBNONEXISTENT\fR (string)
.RS 4
If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
.RE
.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Enable additional checks upon password changes\&.
.RE
.PP
\fBPASS_ALWAYS_WARN\fR (boolean)
.RS 4
Warn about weak passwords (but still allow them) if you are root\&.
.RE
.PP
\fBPASS_CHANGE_TRIES\fR (number)
.RS 4
Maximum number of attempts to change password if rejected (too easy)\&.
.RE
.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
.RS 4
The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&.
.RE
.PP
\fBPASS_MAX_DAYS\fR, \fBPASS_MAX_DAYS\fR,
\fBPASS_MIN_DAYS\fR \fBPASS_MIN_DAYS\fR
and and
\fBPASS_WARN_AGE\fR \fBPASS_WARN_AGE\fR
are only used at the time of account creation\&. Any changes to these settings won\*(Aqt affect existing accounts\&. are only used at the time of account creation\&. Any changes to these settings won\*(Aqt affect existing accounts\&.
.PP
\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number)
.RS 4
Number of significant characters in the password for crypt()\&.
.sp
\fBPASS_MAX_LEN\fR
is 8 by default\&. Don\*(Aqt change unless your crypt() is better\&.
.sp
\fBPASS_MAX_LEN\fR
is only used for DES\&. It is ignored if an encryption algorithm other than DES is used, either because
\fBMD5_CRYPT_ENAB\fR
set to
\fIyes\fR
or
\fBENCRYPT_METHOD\fR
set to an algorithm other than
\fIDES\fR\&.
.sp
In addition,
\fBPASS_MAX_LEN\fR
is only used if
\fBOBSCURE_CHECKS_ENAB\fR
set to
\fIyes\fR\&.
.sp
Note: This only affects the generation of user passwords\&. Group password lengths are not checked\&.
.RE
.PP
\fBPORTTIME_CHECKS_ENAB\fR (boolean)
.RS 4
Enable checking of time restrictions specified in
/etc/porttime\&.
.RE
.PP
\fBQUOTAS_ENAB\fR (boolean)
.RS 4
Enable setting of resource limits from
/etc/limits
and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number)
.RS 4
When
\fBENCRYPT_METHOD\fR
is set to
\fISHA256\fR
or
\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&.
.sp
With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
If only one of the
\fBSHA_CRYPT_MIN_ROUNDS\fR
or
\fBSHA_CRYPT_MAX_ROUNDS\fR
values is set, then this value will be used\&.
.sp
If
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&.
.RE
.PP
\fBSULOG_FILE\fR (string)
.RS 4
If defined, all su activity is logged to this file\&.
.RE
.PP
\fBSU_NAME\fR (string)
.RS 4
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"\&.
.RE
.PP
\fBSU_WHEEL_ONLY\fR (boolean)
.RS 4
If
\fIyes\fR, the user must be listed as a member of the first gid 0 group in
/etc/group
(called
\fIroot\fR
on most Linux systems) to be able to
\fBsu\fR
to uid 0 accounts\&. If the group doesn\*(Aqt exist or is empty, no one will be able to
\fBsu\fR
to uid 0\&.
.RE
.PP
\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate group IDs) allocate
\fBSUB_GID_COUNT\fR
unused group IDs from the range
\fBSUB_GID_MIN\fR
to
\fBSUB_GID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_GID_MIN\fR,
\fBSUB_GID_MAX\fR,
\fBSUB_GID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number)
.RS 4
If
/etc/subuid
exists, the commands
\fBuseradd\fR
and
\fBnewusers\fR
(unless the user already have subordinate user IDs) allocate
\fBSUB_UID_COUNT\fR
unused user IDs from the range
\fBSUB_UID_MIN\fR
to
\fBSUB_UID_MAX\fR
for each new user\&.
.sp
The default values for
\fBSUB_UID_MIN\fR,
\fBSUB_UID_MAX\fR,
\fBSUB_UID_COUNT\fR
are respectively 100000, 600100000 and 65536\&.
.RE
.PP
\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number)
.RS 4
Range of group IDs used for the creation of system groups by
\fBuseradd\fR,
\fBgroupadd\fR, or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_GID_MIN\fR
(resp\&.
\fBSYS_GID_MAX\fR) is 101 (resp\&.
\fBGID_MIN\fR\-1)\&.
.RE
.PP
\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number)
.RS 4
Range of user IDs used for the creation of system users by
\fBuseradd\fR
or
\fBnewusers\fR\&.
.sp
The default value for
\fBSYS_UID_MIN\fR
(resp\&.
\fBSYS_UID_MAX\fR) is 101 (resp\&.
\fBUID_MIN\fR\-1)\&.
.RE
.PP
\fBSYSLOG_SG_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsg\fR
activity\&.
.RE
.PP
\fBSYSLOG_SU_ENAB\fR (boolean)
.RS 4
Enable "syslog" logging of
\fBsu\fR
activity \- in addition to sulog file logging\&.
.RE
.PP
\fBTTYGROUP\fR (string), \fBTTYPERM\fR (number)
.RS 4
The terminal permissions: the login tty will be owned by the
\fBTTYGROUP\fR
group, and the permissions will be set to
\fBTTYPERM\fR\&.
.sp
\fBTTYGROUP\fR
can be either the name of a group or a numeric group identifier\&.
.sp
If TTYGROUP is not defined, then the group ownership of the terminal is set to the user\*(Aqs primary group\&. If TTYPERM is not defined, then the permissions are set to
\fI0600\fR\&.
.sp
If you have a
\fBwrite\fR
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\&.
.RE
.PP
\fBTTYTYPE_FILE\fR (string)
.RS 4
If defined, file which maps tty line to TERM environment parameter\&. Each line of the file is in a format something like "vt100 tty01"\&.
.RE
.PP
\fBUID_MAX\fR (number), \fBUID_MIN\fR (number)
.RS 4
Range of user IDs used for the creation of regular users by
\fBuseradd\fR
or
\fBnewusers\fR\&.
.sp
The default value for
\fBUID_MIN\fR
(resp\&.
\fBUID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
\fBULIMIT\fR (number)
.RS 4
Default
\fBulimit\fR
value\&.
.RE
.PP
\fBUMASK\fR (number)
.RS 4
The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&.
.sp
\fBuseradd\fR
and
\fBnewusers\fR
use this mask to set the mode of the home directory they create if
\fBHOME_MODE\fR
is not set\&.
.sp
It is also used by
\fBlogin\fR
to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if
\fBQUOTAS_ENAB\fR
is set) or by the specification of a limit with the
\fIK\fR
identifier in
\fBlimits\fR(5)\&.
.RE
.PP
\fBUSERDEL_CMD\fR (string)
.RS 4
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)\&.
.sp
The return code of the script is not taken into account\&.
.sp
Here is an example script, which removes the user\*(Aqs cron, at and print jobs:
.sp
.if n \{\
.RS 4
.\}
.nf
#! /bin/sh
# Check for the required argument\&.
if [ $# != 1 ]; then
echo "Usage: $0 username"
exit 1
fi
# Remove cron jobs\&.
crontab \-r \-u $1
# Remove at jobs\&.
# Note that it will remove any jobs owned by the same UID,
# even if it was shared by a different username\&.
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e;
# Remove print jobs\&.
lprm $1
# All done\&.
exit 0
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBUSERGROUPS_ENAB\fR (boolean)
.RS 4
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\&.
.sp
If set to
\fIyes\fR,
\fBuserdel\fR
will remove the user\*(Aqs group if it contains no more members, and
\fBuseradd\fR
will create by default a group with the name of the user\&.
.RE
.SH "R\('EF\('ERENCES CROIS\('EES" .SH "R\('EF\('ERENCES CROIS\('EES"
.PP .PP
Les r\('ef\('erences crois\('ees ci\-dessous montrent quels sont les param\(`etres utilis\('es par les diff\('erents programmes de la suite shadow password\&. Les r\('ef\('erences crois\('ees ci\-dessous montrent quels sont les param\(`etres utilis\('es par les diff\('erents programmes de la suite shadow password\&.
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: passwd .\" Title: passwd
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "PASSWD" "5" "30/12/2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "PASSWD" "5" "01/02/2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: porttime .\" Title: porttime
.\" Author: Julianne Frances Haugh .\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 30/12/2025 .\" Date: 01/02/2026
.\" Manual: File Formats and Configuration Files .\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.19.0 .\" Source: shadow-utils 4.19.3
.\" Language: French .\" Language: French
.\" .\"
.TH "PORTTIME" "5" "30/12/2025" "shadow\-utils 4\&.19\&.0" "File Formats and Configuration" .TH "PORTTIME" "5" "01/02/2026" "shadow\-utils 4\&.19\&.3" "File Formats and Configuration"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

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