diff --git a/Makefile.am b/Makefile.am index a92024fb..47eb9c44 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,5 @@ ## Process this file with automake to produce Makefile.in -EXTRA_DIST = NEWS README - SUBDIRS = lib if ENABLE_SUBIDS @@ -16,7 +14,7 @@ endif CLEANFILES = man/8.out man/po/remove-potcdate.* man/*/login.defs.d man/*/*.mo -EXTRA_DIST = tests/ +EXTRA_DIST = NEWS README tests/ dist-hook: chmod -R u+w $(distdir)/tests diff --git a/Makefile.in b/Makefile.in index 2ec06d4b..2e317066 100644 --- a/Makefile.in +++ b/Makefile.in @@ -167,7 +167,7 @@ DIST_SUBDIRS = lib libsubid src po contrib doc etc tests/unit man am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/man/po/Makefile.in ABOUT-NLS AUTHORS.md COPYING \ ChangeLog NEWS README compile config.guess config.rpath \ - config.sub install-sh ltmain.sh missing + config.sub install-sh ltmain.sh missing ylwrap DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -243,7 +243,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -390,10 +389,10 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -EXTRA_DIST = tests/ SUBDIRS = lib $(am__append_1) src po contrib doc etc tests/unit \ $(am__append_2) CLEANFILES = man/8.out man/po/remove-potcdate.* man/*/login.defs.d man/*/*.mo +EXTRA_DIST = NEWS README tests/ all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive diff --git a/aclocal.m4 b/aclocal.m4 index 3aa89a36..da88563d 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -22,15 +22,14 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.]) # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- # -# Copyright (C) 1999-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. +# Copyright (C) 1999-2008, 2011-2015 Free Software Foundation, Inc. # Written by Thomas Tanner, 1999 # # 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. -# serial 21 LTDL_INIT +# serial 20 LTDL_INIT # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) # ------------------------------------------ @@ -358,7 +357,7 @@ AC_CONFIG_COMMANDS_PRE([ if test -n "$_LT_LIBOBJS"; then # Remove the extension. _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_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" done @@ -496,7 +495,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen], # If you are looking for one http://www.opendarwin.org/projects/dlcompat lt_cv_sys_dlopen_deplibs=yes ;; - freebsd* | dragonfly* | midnightbsd*) + freebsd* | dragonfly*) lt_cv_sys_dlopen_deplibs=yes ;; gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) @@ -931,8 +930,8 @@ AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], []) -# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*- -# serial 12 (pkg-config-0.29.2) +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 11 (pkg-config-0.29.1) dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson @@ -974,7 +973,7 @@ dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.2]) +[m4_define([PKG_MACROS_VERSION], [0.29.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])]) ])dnl PKG_PREREQ @@ -1019,7 +1018,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 dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurrence in configure.ac, so if the first place +dnl only at the first occurence 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 have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], @@ -1075,7 +1074,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 pkg_failed=no -AC_MSG_CHECKING([for $2]) +AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) @@ -1085,17 +1084,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + # Put the nasty error message in config.log where it belongs + 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: $$1_PKG_ERRORS @@ -1106,8 +1105,8 @@ installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [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 path to pkg-config. @@ -1117,10 +1116,10 @@ _PKG_TEXT To get pkg-config, see .])[]dnl ]) else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - $3 + $3 fi[]dnl ])dnl PKG_CHECK_MODULES diff --git a/config.h.in b/config.h.in index 37a15b30..bfdae014 100644 --- a/config.h.in +++ b/config.h.in @@ -341,12 +341,6 @@ /* Path to passwd program. */ #undef PASSWD_PROGRAM -/* Define if login should support the -r flag for rlogind. */ -#undef RLOGIN - -/* Define to the ruserok() "success" return value (0 or 1). */ -#undef RUSEROK - /* Define to support the shadow group file. */ #undef SHADOWGRP diff --git a/configure b/configure index 101f3c8b..7b69231d 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for shadow 4.15.3. +# Generated by GNU Autoconf 2.71 for shadow 4.17.0-rc1. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='shadow' PACKAGE_TARNAME='shadow' -PACKAGE_VERSION='4.15.3' -PACKAGE_STRING='shadow 4.15.3' +PACKAGE_VERSION='4.17.0-rc1' +PACKAGE_STRING='shadow 4.17.0-rc1' PACKAGE_BUGREPORT='pkg-shadow-devel@lists.alioth.debian.org' PACKAGE_URL='https://github.com/shadow-maint/shadow' @@ -763,7 +763,6 @@ ac_ct_AR AR DLLTOOL OBJDUMP -FILECMD NM ac_ct_DUMPBIN DUMPBIN @@ -1489,7 +1488,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures shadow 4.15.3 to adapt to many kinds of systems. +\`configure' configures shadow 4.17.0-rc1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1560,7 +1559,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of shadow 4.15.3:";; + short | recursive ) echo "Configuration of shadow 4.17.0-rc1:";; esac cat <<\_ACEOF @@ -1739,7 +1738,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -shadow configure 4.15.3 +shadow configure 4.17.0-rc1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2339,7 +2338,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by shadow $as_me 4.15.3, which was +It was created by shadow $as_me 4.17.0-rc1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3612,7 +3611,7 @@ fi # Define the identity of the package. PACKAGE='shadow' - VERSION='4.15.3' + VERSION='4.17.0-rc1' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3846,13 +3845,13 @@ AM_BACKSLASH='\' ac_config_headers="$ac_config_headers config.h" -LIBSUBID_ABI_MAJOR=4 +LIBSUBID_ABI_MAJOR=5 LIBSUBID_ABI_MINOR=0 LIBSUBID_ABI_MICRO=0 -LIBSUBID_ABI=4.0.0 +LIBSUBID_ABI=5.0.0 test "$prefix" = "NONE" && prefix="/usr" @@ -6357,8 +6356,8 @@ esac -macro_version='2.4.7' -macro_revision='2.4.7' +macro_version='2.4.6' +macro_revision='2.4.6' @@ -6986,13 +6985,13 @@ else mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -7130,7 +7129,7 @@ esac fi fi - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -7223,7 +7222,7 @@ else $as_nop lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -7266,7 +7265,7 @@ else $as_nop sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -7471,114 +7470,6 @@ esac -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. -set dummy ${ac_tool_prefix}file; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_FILECMD+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$FILECMD"; then - ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_FILECMD="${ac_tool_prefix}file" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FILECMD=$ac_cv_prog_FILECMD -if test -n "$FILECMD"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 -printf "%s\n" "$FILECMD" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_FILECMD"; then - ac_ct_FILECMD=$FILECMD - # Extract the first word of "file", so it can be a program name with args. -set dummy file; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_FILECMD+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_FILECMD"; then - ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FILECMD="file" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD -if test -n "$ac_ct_FILECMD"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 -printf "%s\n" "$ac_ct_FILECMD" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - if test "x$ac_ct_FILECMD" = x; then - FILECMD=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FILECMD=$ac_ct_FILECMD - fi -else - FILECMD="$ac_cv_prog_FILECMD" -fi - - - - - - - if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 @@ -7722,7 +7613,7 @@ beos*) bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -7756,14 +7647,14 @@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly* | midnightbsd*) +freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -7777,7 +7668,7 @@ haiku*) ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' @@ -7824,7 +7715,7 @@ netbsd* | netbsdelf*-gnu) newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -8197,29 +8088,13 @@ esac fi : ${AR=ar} +: ${AR_FLAGS=cr} -# Use ARFLAGS variable as AR's operation code to sync the variable naming with -# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -# higher priority because thats what people were doing historically (setting -# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -# variable obsoleted/removed. - -test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} -lt_ar_flags=$AR_FLAGS - - - - - - -# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -# by AR_FLAGS because that was never working and AR_FLAGS is about to die. - @@ -8636,7 +8511,7 @@ esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -8654,20 +8529,20 @@ fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -8691,7 +8566,7 @@ for ac_symprfx in "" "_"; do if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -8709,9 +8584,9 @@ for ac_symprfx in "" "_"; do " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else - lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -8911,7 +8786,7 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -9036,7 +8911,7 @@ ia64-*-hpux*) ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -9057,7 +8932,7 @@ ia64-*-hpux*) printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -9069,7 +8944,7 @@ ia64-*-hpux*) ;; esac else - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -9095,7 +8970,7 @@ mips64*-*linux*) printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -9103,7 +8978,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -9111,7 +8986,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -9135,14 +9010,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `$FILECMD conftest.o` in + case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `$FILECMD conftest.o` in + case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -9250,7 +9125,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `$FILECMD conftest.o` in + case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -10033,8 +9908,8 @@ int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 - $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$AR cr libconftest.a conftest.o" >&5 + $AR cr libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -10061,12 +9936,17 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; } _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) - case $MACOSX_DEPLOYMENT_TARGET,$host in - 10.[012],*|,*powerpc*-darwin[5-8]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - *) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[912]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[012][,.]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*|11.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -10363,8 +10243,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC and -# ICC, which need '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -10882,7 +10762,7 @@ lt_prog_compiler_static= lt_prog_compiler_static='-qstaticlink' ;; *) - case `$CC -V 2>&1 | $SED 5q` in + case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' @@ -11305,15 +11185,15 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. + # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -11368,7 +11248,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -11480,7 +11360,6 @@ _LT_EOF emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes - file_list_spec='@' ;; interix[3-9]*) @@ -11495,7 +11374,7 @@ _LT_EOF # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -11538,7 +11417,7 @@ _LT_EOF compiler_needs_object=yes ;; esac - case `$CC -V 2>&1 | $SED 5q` in + case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes @@ -11550,14 +11429,13 @@ _LT_EOF if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -11567,7 +11445,7 @@ _LT_EOF archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -11699,7 +11577,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -11970,12 +11848,12 @@ fi cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. + # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl* | icl*) - # Native MSVC or ICC + cl*) + # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes @@ -12016,7 +11894,7 @@ fi fi' ;; *) - # Assume MSVC and ICC wrapper + # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. @@ -12057,8 +11935,8 @@ fi output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no @@ -12092,7 +11970,7 @@ fi ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) + freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -12273,7 +12151,6 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ;; esac ;; @@ -12345,7 +12222,6 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes - file_list_spec='@' ;; osf3*) @@ -13038,7 +12914,7 @@ cygwin* | mingw* | pw32* | cegcc*) case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; @@ -13048,14 +12924,14 @@ cygwin* | mingw* | pw32* | cegcc*) ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl* | *,icl*) - # Native MSVC or ICC + *,cl*) + # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -13074,7 +12950,7 @@ cygwin* | mingw* | pw32* | cegcc*) done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -13111,7 +12987,7 @@ cygwin* | mingw* | pw32* | cegcc*) ;; *) - # Assume MSVC and ICC wrapper + # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -13144,7 +13020,7 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly* | midnightbsd*) +freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -14309,41 +14185,30 @@ striplib= old_striplib= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 printf %s "checking whether stripping libraries is possible... " >&6; } -if test -z "$STRIP"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -else - if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - else - case $host_os in - darwin*) - # FIXME - insert some real tests, host_os isn't really good enough +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - ;; - freebsd*) - if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - fi - ;; - *) + else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; - esac - fi + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; + esac fi @@ -15848,15 +15713,6 @@ printf "%s\n" "$shadow_cv_passwd_dir" >&6; } printf "%s\n" "#define PASSWD_PROGRAM \"$shadow_cv_passwd_dir/passwd\"" >>confdefs.h -if test "$ac_cv_func_ruserok" = "yes"; then - -printf "%s\n" "#define RLOGIN 1" >>confdefs.h - - -printf "%s\n" "#define RUSEROK 0" >>confdefs.h - -fi - # Check whether --enable-shadowgrp was given. if test ${enable_shadowgrp+y} then : @@ -16359,8 +16215,8 @@ printf "%s\n" "no" >&6; } fi pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cmocka" >&5 -printf %s "checking for cmocka... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CMOCKA" >&5 +printf %s "checking for CMOCKA... " >&6; } if test -n "$CMOCKA_CFLAGS"; then pkg_cv_CMOCKA_CFLAGS="$CMOCKA_CFLAGS" @@ -16400,7 +16256,7 @@ fi if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16409,26 +16265,26 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CMOCKA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cmocka" 2>&1` + CMOCKA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cmocka" 2>&1` else - CMOCKA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cmocka" 2>&1` + CMOCKA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cmocka" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$CMOCKA_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$CMOCKA_PKG_ERRORS" >&5 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcmocka not found, cmocka tests will not be built" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcmocka not found, cmocka tests will not be built" >&5 printf "%s\n" "$as_me: WARNING: libcmocka not found, cmocka tests will not be built" >&2;} elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcmocka not found, cmocka tests will not be built" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcmocka not found, cmocka tests will not be built" >&5 printf "%s\n" "$as_me: WARNING: libcmocka not found, cmocka tests will not be built" >&2;} else - CMOCKA_CFLAGS=$pkg_cv_CMOCKA_CFLAGS - CMOCKA_LIBS=$pkg_cv_CMOCKA_LIBS + CMOCKA_CFLAGS=$pkg_cv_CMOCKA_CFLAGS + CMOCKA_LIBS=$pkg_cv_CMOCKA_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - have_cmocka="yes" + have_cmocka="yes" fi if test x$have_cmocka = xyes; then HAVE_CMOCKA_TRUE= @@ -17062,8 +16918,8 @@ then : pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libbsd-overlay" >&5 -printf %s "checking for libbsd-overlay... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LIBBSD" >&5 +printf %s "checking for LIBBSD... " >&6; } if test -n "$LIBBSD_CFLAGS"; then pkg_cv_LIBBSD_CFLAGS="$LIBBSD_CFLAGS" @@ -17103,7 +16959,7 @@ fi if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -17112,14 +16968,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LIBBSD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libbsd-overlay" 2>&1` + LIBBSD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libbsd-overlay" 2>&1` else - LIBBSD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libbsd-overlay" 2>&1` + LIBBSD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libbsd-overlay" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$LIBBSD_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$LIBBSD_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (libbsd-overlay) were not met: + as_fn_error $? "Package requirements (libbsd-overlay) were not met: $LIBBSD_PKG_ERRORS @@ -17130,9 +16986,9 @@ Alternatively, you may set the environment variables LIBBSD_CFLAGS and LIBBSD_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "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 @@ -17145,8 +17001,8 @@ See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else - LIBBSD_CFLAGS=$pkg_cv_LIBBSD_CFLAGS - LIBBSD_LIBS=$pkg_cv_LIBBSD_LIBS + LIBBSD_CFLAGS=$pkg_cv_LIBBSD_CFLAGS + LIBBSD_LIBS=$pkg_cv_LIBBSD_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } @@ -18230,7 +18086,7 @@ if test "x$ac_cv_lib_skey_skeychallenge" = xyes then : LIBSKEY=-lskey else $as_nop - as_fn_error $? "liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2" "$LINENO" 5 + as_fn_error $? "libskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2" "$LINENO" 5 fi @@ -20990,7 +20846,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by shadow $as_me 4.15.3, which was +This file was extended by shadow $as_me 4.17.0-rc1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21059,7 +20915,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -shadow config.status 4.15.3 +shadow config.status 4.17.0-rc1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -21222,7 +21078,6 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' @@ -21231,7 +21086,6 @@ want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' @@ -21352,7 +21206,6 @@ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ -FILECMD \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -21361,6 +21214,7 @@ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ +AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ @@ -22343,9 +22197,6 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd -# A file(cmd) program that detects file types. -FILECMD=$lt_FILECMD - # An object symbol dumper. OBJDUMP=$lt_OBJDUMP @@ -22370,11 +22221,8 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR -# Flags to create an archive (by configure). -lt_ar_flags=$lt_ar_flags - # Flags to create an archive. -AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} +AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec @@ -22750,7 +22598,7 @@ ltmain=$ac_aux_dir/ltmain.sh # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - $SED '$q' "$ltmain" >> "$cfgfile" \ + sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || diff --git a/configure.ac b/configure.ac index 9388dd18..dd9c222f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -m4_define([libsubid_abi_major], 4) +m4_define([libsubid_abi_major], 5) m4_define([libsubid_abi_minor], 0) m4_define([libsubid_abi_micro], 0) m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro]) -AC_INIT([shadow], [4.15.3], [pkg-shadow-devel@lists.alioth.debian.org], [], +AC_INIT([shadow], [4.17.0-rc1], [pkg-shadow-devel@lists.alioth.debian.org], [], [https://github.com/shadow-maint/shadow]) AM_INIT_AUTOMAKE([1.11 foreign dist-xz subdir-objects tar-pax]) AC_CONFIG_MACRO_DIRS([m4]) @@ -159,13 +159,6 @@ fi]) AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$shadow_cv_passwd_dir/passwd", [Path to passwd program.]) -dnl XXX - quick hack, should disappear before anyone notices :). -dnl XXX - I just read the above message :). -if test "$ac_cv_func_ruserok" = "yes"; then - AC_DEFINE(RLOGIN, 1, [Define if login should support the -r flag for rlogind.]) - AC_DEFINE(RUSEROK, 0, [Define to the ruserok() "success" return value (0 or 1).]) -fi - AC_ARG_ENABLE(shadowgrp, [AS_HELP_STRING([--enable-shadowgrp], [enable shadow group support @<:@default=yes@:>@])], [case "${enableval}" in @@ -696,7 +689,7 @@ AC_SUBST(LIBMD) if test "$with_skey" = "yes"; then AC_CHECK_LIB(md, MD5Init, [LIBMD=-lmd]) AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey], - [AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])]) + [AC_MSG_ERROR([libskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])]) AC_DEFINE(SKEY, 1, [Define to support S/Key logins.]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include diff --git a/contrib/Makefile.in b/contrib/Makefile.in index 44fa7cb2..ad2d07a3 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -161,7 +161,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/contrib/adduser.c b/contrib/adduser.c index 584e098a..8061c76a 100644 --- a/contrib/adduser.c +++ b/contrib/adduser.c @@ -118,6 +118,9 @@ #include #include +#include "string/strcmp/streq.h" + + #define IMMEDIATE_CHANGE /* Expire newly created password, must be changed * immediately upon next login */ #define HAVE_QUOTAS /* Obvious */ @@ -291,12 +294,10 @@ main (void) printf ("Home Directory [%s/%s]: ", DEFAULT_HOME, usrname); fflush (stdout); safeget (dir, sizeof (dir)); - if (!strlen (dir)) - { /* hit return */ - sprintf (dir, "%s/%s", DEFAULT_HOME, usrname); - } + if (!strlen(dir)) /* hit return */ + sprintf(dir, "%s/%s", DEFAULT_HOME, usrname); else if (dir[strlen (dir) - 1] == '/') - sprintf (dir+strlen(dir), "%s", usrname); + strcat(dir, usrname); } else { @@ -308,7 +309,7 @@ main (void) fflush (stdout); safeget (shell, sizeof (shell)); if (!strlen (shell)) - sprintf (shell, "%s", DEFAULT_SHELL); + strcpy(shell, DEFAULT_SHELL); else { char *sh; @@ -316,7 +317,7 @@ main (void) #ifdef HAVE_GETUSERSHELL setusershell (); while ((sh = getusershell ()) != NULL) - if (!strcmp (shell, sh)) + if (streq(shell, sh)) ok = 1; endusershell (); #endif @@ -327,7 +328,7 @@ main (void) else { printf ("Shell NOT in /etc/shells, DEFAULT used\n"); - sprintf (shell, "%s", DEFAULT_SHELL); + strcpy(shell, DEFAULT_SHELL); } } } @@ -491,12 +492,12 @@ safeget (char *buf, int maxlen) bad = (!isalnum (c) && (c != '_') && (c != ' ')); *(buf++) = c; } - *buf = '\0'; + stpcpy(buf, ""); if (bad) { printf ("\nString contained banned character. Please stick to alphanumerics.\n"); - *bstart = '\0'; + stpcpy(bstart, ""); } } diff --git a/doc/HOWTO b/doc/HOWTO index 03a5f1ae..bb4e052d 100644 --- a/doc/HOWTO +++ b/doc/HOWTO @@ -471,12 +471,12 @@ The Shadow Suite contains replacement programs for: - su, login, passwd, newgrp, chfn, chsh, and id + su, login, passwd, newgrp, chfn, chsh The package also contains the new programs: chage, newusers, dpasswd, gpasswd, useradd, userdel, usermod, - groupadd, groupdel, groupmod, groups, pwck, grpck, lastlog, pwconv, + groupadd, groupdel, groupmod, pwck, grpck, lastlog, pwconv, and pwunconv Additionally, the library: libshadow.a is included for writing and/or @@ -586,8 +586,6 @@ /usr/bin/chsh - /usr/bin/id - The BETA package has a save target in the Makefile, but it's commented out because different distributions place the programs in different places. @@ -637,8 +635,6 @@ /usr/man/man1/chsh.1.gz - /usr/man/man1/id.1.gz - /usr/man/man1/login.1.gz /usr/man/man1/passwd.1.gz @@ -1377,7 +1373,7 @@ users or changing the group password, the /etc/gshadow file will be changed. - The programs groups, groupadd, groupmod, and groupdel are provided as + The programs groupadd, groupmod, and groupdel are provided as part of the Shadow Suite to modify groups. The format of the /etc/group file is as follows: diff --git a/doc/Makefile.in b/doc/Makefile.in index 49441a18..0eef0de1 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -161,7 +161,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/etc/Makefile.in b/etc/Makefile.in index 634d2fa8..8c9751d9 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -250,7 +250,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in index 556d16b8..a8393250 100644 --- a/etc/pam.d/Makefile.in +++ b/etc/pam.d/Makefile.in @@ -193,7 +193,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/etc/shadow-maint/Makefile.in b/etc/shadow-maint/Makefile.in index 7b7dc79d..ab46b8c6 100644 --- a/etc/shadow-maint/Makefile.in +++ b/etc/shadow-maint/Makefile.in @@ -158,7 +158,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/lib/Makefile.am b/lib/Makefile.am index 22abb978..e76e7446 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -29,16 +29,48 @@ libshadow_la_SOURCES = \ age.c \ agetpass.c \ agetpass.h \ - alloc.c \ - alloc.h \ - atoi/a2i.c \ - atoi/a2i.h \ - atoi/str2i.c \ - atoi/str2i.h \ - atoi/strtoi.c \ - atoi/strtoi.h \ - atoi/strtou_noneg.c \ - atoi/strtou_noneg.h \ + alloc/calloc.c \ + alloc/calloc.h \ + alloc/malloc.c \ + alloc/malloc.h \ + alloc/realloc.c \ + alloc/realloc.h \ + alloc/reallocf.c \ + alloc/reallocf.h \ + alloc/x/xcalloc.c \ + alloc/x/xcalloc.h \ + alloc/x/xmalloc.c \ + alloc/x/xmalloc.h \ + alloc/x/xrealloc.c \ + alloc/x/xrealloc.h \ + atoi/a2i/a2i.c \ + atoi/a2i/a2i.h \ + atoi/a2i/a2s.c \ + atoi/a2i/a2s.h \ + atoi/a2i/a2s_c.c \ + atoi/a2i/a2s_c.h \ + atoi/a2i/a2s_nc.c \ + atoi/a2i/a2s_nc.h \ + atoi/a2i/a2u.c \ + atoi/a2i/a2u.h \ + atoi/a2i/a2u_c.c \ + atoi/a2i/a2u_c.h \ + atoi/a2i/a2u_nc.c \ + atoi/a2i/a2u_nc.h \ + atoi/getnum.c \ + atoi/getnum.h \ + atoi/str2i/str2i.c \ + atoi/str2i/str2i.h \ + atoi/str2i/str2s.c \ + atoi/str2i/str2s.h \ + atoi/str2i/str2u.c \ + atoi/str2i/str2u.h \ + atoi/strtoi/strtoi.c \ + atoi/strtoi/strtoi.h \ + atoi/strtoi/strtou.c \ + atoi/strtoi/strtou.h \ + atoi/strtoi/strtou_noneg.c \ + atoi/strtoi/strtou_noneg.h \ attr.h \ audit_help.c \ basename.c \ @@ -71,9 +103,11 @@ libshadow_la_SOURCES = \ find_new_sub_gids.c \ find_new_sub_uids.c \ fputsx.c \ - get_gid.c \ + fs/readlink/areadlink.c \ + fs/readlink/areadlink.h \ + fs/readlink/readlinknul.c \ + fs/readlink/readlinknul.h \ get_pid.c \ - get_uid.c \ getdate.h \ getdate.y \ getdef.c \ @@ -94,8 +128,6 @@ libshadow_la_SOURCES = \ lockpw.c \ loginprompt.c \ mail.c \ - memzero.c \ - memzero.h \ motd.c \ must_be.h \ myname.c \ @@ -119,7 +151,6 @@ libshadow_la_SOURCES = \ pwdcheck.c \ pwmem.c \ remove_tree.c \ - rlogin.c \ root_flag.c \ run_part.h \ run_part.c \ @@ -145,18 +176,42 @@ libshadow_la_SOURCES = \ spawn.c \ sssd.c \ sssd.h \ - string/sprintf.c \ - string/sprintf.h \ - string/stpecpy.c \ - string/stpecpy.h \ - string/stpeprintf.c \ - string/stpeprintf.h \ + string/memset/memzero.c \ + string/memset/memzero.h \ + string/sprintf/snprintf.c \ + string/sprintf/snprintf.h \ + string/sprintf/stpeprintf.c \ + string/sprintf/stpeprintf.h \ + string/sprintf/xasprintf.c \ + string/sprintf/xasprintf.h \ + string/strchr/strchrcnt.c \ + string/strchr/strchrcnt.h \ + string/strchr/stpspn.c \ + string/strchr/stpspn.h \ + string/strchr/strnul.c \ + string/strchr/strnul.h \ + string/strchr/strrspn.c \ + string/strchr/strrspn.h \ + string/strcmp/streq.c \ + string/strcmp/streq.h \ + string/strcpy/stpecpy.c \ + string/strcpy/stpecpy.h \ + string/strcpy/strncat.c \ + string/strcpy/strncat.h \ + string/strcpy/strncpy.c \ + string/strcpy/strncpy.h \ + string/strcpy/strtcpy.c \ + string/strcpy/strtcpy.h \ + string/strdup/strndupa.c \ + string/strdup/strndupa.h \ + string/strdup/xstrdup.c \ + string/strdup/xstrdup.h \ + string/strdup/xstrndup.c \ + string/strdup/xstrndup.h \ string/strftime.c \ string/strftime.h \ - string/strncpy.h \ - string/strtcpy.c \ - string/strtcpy.h \ - string/zustr2stp.h \ + string/strtok/stpsep.c \ + string/strtok/stpsep.h \ strtoday.c \ sub.c \ subordinateio.h \ @@ -165,6 +220,7 @@ libshadow_la_SOURCES = \ time/day_to_str.c \ time/day_to_str.h \ ttytype.c \ + typetraits.h \ tz.c \ ulimit.c \ user_busy.c \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 1b4f0fe3..b67632b6 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -122,34 +122,59 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = libshadow_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am__libshadow_la_SOURCES_DIST = addgrps.c adds.c adds.h age.c \ - agetpass.c agetpass.h alloc.c alloc.h atoi/a2i.c atoi/a2i.h \ - atoi/str2i.c atoi/str2i.h atoi/strtoi.c atoi/strtoi.h \ - atoi/strtou_noneg.c atoi/strtou_noneg.h attr.h audit_help.c \ - basename.c bit.c bit.h cast.h chkname.c chkname.h chowndir.c \ - chowntty.c cleanup.c cleanup_group.c cleanup_user.c commonio.c \ - commonio.h console.c copydir.c csrand.c defines.h encrypt.c \ - env.c exitcodes.h faillog.h failure.c failure.h fd.c fields.c \ - find_new_gid.c find_new_uid.c find_new_sub_gids.c \ - find_new_sub_uids.c fputsx.c get_gid.c get_pid.c get_uid.c \ - getdate.h getdate.y getdef.c getdef.h getgr_nam_gid.c \ - getrange.c gettime.c groupio.c groupmem.c groupio.h gshadow.c \ - hushed.c idmapping.h idmapping.c isexpired.c limits.c list.c \ - lockpw.c loginprompt.c mail.c memzero.c memzero.h motd.c \ - must_be.h myname.c nss.c nscd.c nscd.h obscure.c pam_defs.h \ - pam_pass.c pam_pass_non_interactive.c port.c port.h \ + agetpass.c agetpass.h alloc/calloc.c alloc/calloc.h \ + alloc/malloc.c alloc/malloc.h alloc/realloc.c alloc/realloc.h \ + alloc/reallocf.c alloc/reallocf.h alloc/x/xcalloc.c \ + alloc/x/xcalloc.h alloc/x/xmalloc.c alloc/x/xmalloc.h \ + alloc/x/xrealloc.c alloc/x/xrealloc.h atoi/a2i/a2i.c \ + atoi/a2i/a2i.h atoi/a2i/a2s.c atoi/a2i/a2s.h atoi/a2i/a2s_c.c \ + atoi/a2i/a2s_c.h atoi/a2i/a2s_nc.c atoi/a2i/a2s_nc.h \ + atoi/a2i/a2u.c atoi/a2i/a2u.h atoi/a2i/a2u_c.c \ + atoi/a2i/a2u_c.h atoi/a2i/a2u_nc.c atoi/a2i/a2u_nc.h \ + atoi/getnum.c atoi/getnum.h atoi/str2i/str2i.c \ + atoi/str2i/str2i.h atoi/str2i/str2s.c atoi/str2i/str2s.h \ + atoi/str2i/str2u.c atoi/str2i/str2u.h atoi/strtoi/strtoi.c \ + atoi/strtoi/strtoi.h atoi/strtoi/strtou.c atoi/strtoi/strtou.h \ + atoi/strtoi/strtou_noneg.c atoi/strtoi/strtou_noneg.h attr.h \ + audit_help.c basename.c bit.c bit.h cast.h chkname.c chkname.h \ + chowndir.c chowntty.c cleanup.c cleanup_group.c cleanup_user.c \ + commonio.c commonio.h console.c copydir.c csrand.c defines.h \ + encrypt.c env.c exitcodes.h faillog.h failure.c failure.h fd.c \ + fields.c find_new_gid.c find_new_uid.c find_new_sub_gids.c \ + find_new_sub_uids.c fputsx.c fs/readlink/areadlink.c \ + fs/readlink/areadlink.h fs/readlink/readlinknul.c \ + fs/readlink/readlinknul.h get_pid.c getdate.h getdate.y \ + getdef.c getdef.h getgr_nam_gid.c getrange.c gettime.c \ + groupio.c groupmem.c groupio.h gshadow.c hushed.c idmapping.h \ + idmapping.c isexpired.c limits.c list.c lockpw.c loginprompt.c \ + mail.c motd.c must_be.h myname.c nss.c nscd.c nscd.h obscure.c \ + pam_defs.h pam_pass.c pam_pass_non_interactive.c port.c port.h \ prefix_flag.c prototypes.h pwauth.c pwauth.h pwio.c pwio.h \ pwd_init.c pwd2spwd.c pwdcheck.c pwmem.c remove_tree.c \ - rlogin.c root_flag.c run_part.h run_part.c salt.c selinux.c \ - semanage.c setugid.c setupenv.c sgetgrent.c sgetpwent.c \ - sgetspent.c sgroupio.c sgroupio.h shadow.c shadowio.c \ - shadowio.h shadowlog.c shadowlog.h shadowlog_internal.h \ - shadowmem.c shell.c sizeof.h spawn.c sssd.c sssd.h \ - string/sprintf.c string/sprintf.h string/stpecpy.c \ - string/stpecpy.h string/stpeprintf.c string/stpeprintf.h \ - string/strftime.c string/strftime.h string/strncpy.h \ - string/strtcpy.c string/strtcpy.h string/zustr2stp.h \ - strtoday.c sub.c subordinateio.h subordinateio.c sulog.c \ - time/day_to_str.c time/day_to_str.h ttytype.c tz.c ulimit.c \ + root_flag.c run_part.h run_part.c salt.c selinux.c semanage.c \ + setugid.c setupenv.c sgetgrent.c sgetpwent.c sgetspent.c \ + sgroupio.c sgroupio.h shadow.c shadowio.c shadowio.h \ + shadowlog.c shadowlog.h shadowlog_internal.h shadowmem.c \ + shell.c sizeof.h spawn.c sssd.c sssd.h string/memset/memzero.c \ + string/memset/memzero.h string/sprintf/snprintf.c \ + string/sprintf/snprintf.h string/sprintf/stpeprintf.c \ + string/sprintf/stpeprintf.h string/sprintf/xasprintf.c \ + string/sprintf/xasprintf.h string/strchr/strchrcnt.c \ + string/strchr/strchrcnt.h string/strchr/stpspn.c \ + string/strchr/stpspn.h string/strchr/strnul.c \ + string/strchr/strnul.h string/strchr/strrspn.c \ + string/strchr/strrspn.h string/strcmp/streq.c \ + string/strcmp/streq.h string/strcpy/stpecpy.c \ + string/strcpy/stpecpy.h string/strcpy/strncat.c \ + string/strcpy/strncat.h string/strcpy/strncpy.c \ + string/strcpy/strncpy.h string/strcpy/strtcpy.c \ + string/strcpy/strtcpy.h string/strdup/strndupa.c \ + string/strdup/strndupa.h string/strdup/xstrdup.c \ + string/strdup/xstrdup.h string/strdup/xstrndup.c \ + string/strdup/xstrndup.h string/strftime.c string/strftime.h \ + string/strtok/stpsep.c string/strtok/stpsep.h strtoday.c sub.c \ + subordinateio.h subordinateio.c sulog.c time/day_to_str.c \ + time/day_to_str.h ttytype.c typetraits.h tz.c ulimit.c \ user_busy.c valid.c write_full.c xgetpwnam.c \ xprefix_getpwnam.c xgetpwuid.c xgetgrnam.c xgetgrgid.c \ xgetspnam.c yesno.c tcbfuncs.c tcbfuncs.h btrfs.c log.c \ @@ -165,22 +190,34 @@ am__dirstamp = $(am__leading_dot)dirstamp @WITH_LIBBSD_FALSE@ libshadow_la-readpassphrase.lo am_libshadow_la_OBJECTS = libshadow_la-addgrps.lo libshadow_la-adds.lo \ libshadow_la-age.lo libshadow_la-agetpass.lo \ - libshadow_la-alloc.lo atoi/libshadow_la-a2i.lo \ - atoi/libshadow_la-str2i.lo atoi/libshadow_la-strtoi.lo \ - atoi/libshadow_la-strtou_noneg.lo libshadow_la-audit_help.lo \ - libshadow_la-basename.lo libshadow_la-bit.lo \ - libshadow_la-chkname.lo libshadow_la-chowndir.lo \ - libshadow_la-chowntty.lo libshadow_la-cleanup.lo \ - libshadow_la-cleanup_group.lo libshadow_la-cleanup_user.lo \ - libshadow_la-commonio.lo libshadow_la-console.lo \ - libshadow_la-copydir.lo libshadow_la-csrand.lo \ - libshadow_la-encrypt.lo libshadow_la-env.lo \ - libshadow_la-failure.lo libshadow_la-fd.lo \ + alloc/libshadow_la-calloc.lo alloc/libshadow_la-malloc.lo \ + alloc/libshadow_la-realloc.lo alloc/libshadow_la-reallocf.lo \ + alloc/x/libshadow_la-xcalloc.lo \ + alloc/x/libshadow_la-xmalloc.lo \ + alloc/x/libshadow_la-xrealloc.lo atoi/a2i/libshadow_la-a2i.lo \ + atoi/a2i/libshadow_la-a2s.lo atoi/a2i/libshadow_la-a2s_c.lo \ + atoi/a2i/libshadow_la-a2s_nc.lo atoi/a2i/libshadow_la-a2u.lo \ + atoi/a2i/libshadow_la-a2u_c.lo atoi/a2i/libshadow_la-a2u_nc.lo \ + atoi/libshadow_la-getnum.lo atoi/str2i/libshadow_la-str2i.lo \ + atoi/str2i/libshadow_la-str2s.lo \ + atoi/str2i/libshadow_la-str2u.lo \ + atoi/strtoi/libshadow_la-strtoi.lo \ + atoi/strtoi/libshadow_la-strtou.lo \ + atoi/strtoi/libshadow_la-strtou_noneg.lo \ + libshadow_la-audit_help.lo libshadow_la-basename.lo \ + libshadow_la-bit.lo libshadow_la-chkname.lo \ + libshadow_la-chowndir.lo libshadow_la-chowntty.lo \ + libshadow_la-cleanup.lo libshadow_la-cleanup_group.lo \ + libshadow_la-cleanup_user.lo libshadow_la-commonio.lo \ + libshadow_la-console.lo libshadow_la-copydir.lo \ + libshadow_la-csrand.lo libshadow_la-encrypt.lo \ + libshadow_la-env.lo libshadow_la-failure.lo libshadow_la-fd.lo \ libshadow_la-fields.lo libshadow_la-find_new_gid.lo \ libshadow_la-find_new_uid.lo libshadow_la-find_new_sub_gids.lo \ libshadow_la-find_new_sub_uids.lo libshadow_la-fputsx.lo \ - libshadow_la-get_gid.lo libshadow_la-get_pid.lo \ - libshadow_la-get_uid.lo libshadow_la-getdate.lo \ + fs/readlink/libshadow_la-areadlink.lo \ + fs/readlink/libshadow_la-readlinknul.lo \ + libshadow_la-get_pid.lo libshadow_la-getdate.lo \ libshadow_la-getdef.lo libshadow_la-getgr_nam_gid.lo \ libshadow_la-getrange.lo libshadow_la-gettime.lo \ libshadow_la-groupio.lo libshadow_la-groupmem.lo \ @@ -188,39 +225,53 @@ am_libshadow_la_OBJECTS = libshadow_la-addgrps.lo libshadow_la-adds.lo \ libshadow_la-idmapping.lo libshadow_la-isexpired.lo \ libshadow_la-limits.lo libshadow_la-list.lo \ libshadow_la-lockpw.lo libshadow_la-loginprompt.lo \ - libshadow_la-mail.lo libshadow_la-memzero.lo \ - libshadow_la-motd.lo libshadow_la-myname.lo \ - libshadow_la-nss.lo libshadow_la-nscd.lo \ - libshadow_la-obscure.lo libshadow_la-pam_pass.lo \ + libshadow_la-mail.lo libshadow_la-motd.lo \ + libshadow_la-myname.lo libshadow_la-nss.lo \ + libshadow_la-nscd.lo libshadow_la-obscure.lo \ + libshadow_la-pam_pass.lo \ libshadow_la-pam_pass_non_interactive.lo libshadow_la-port.lo \ libshadow_la-prefix_flag.lo libshadow_la-pwauth.lo \ libshadow_la-pwio.lo libshadow_la-pwd_init.lo \ libshadow_la-pwd2spwd.lo libshadow_la-pwdcheck.lo \ libshadow_la-pwmem.lo libshadow_la-remove_tree.lo \ - libshadow_la-rlogin.lo libshadow_la-root_flag.lo \ - libshadow_la-run_part.lo libshadow_la-salt.lo \ - libshadow_la-selinux.lo libshadow_la-semanage.lo \ - libshadow_la-setugid.lo libshadow_la-setupenv.lo \ - libshadow_la-sgetgrent.lo libshadow_la-sgetpwent.lo \ - libshadow_la-sgetspent.lo libshadow_la-sgroupio.lo \ - libshadow_la-shadow.lo libshadow_la-shadowio.lo \ - libshadow_la-shadowlog.lo libshadow_la-shadowmem.lo \ - libshadow_la-shell.lo libshadow_la-spawn.lo \ - libshadow_la-sssd.lo string/libshadow_la-sprintf.lo \ - string/libshadow_la-stpecpy.lo \ - string/libshadow_la-stpeprintf.lo \ - string/libshadow_la-strftime.lo string/libshadow_la-strtcpy.lo \ - libshadow_la-strtoday.lo libshadow_la-sub.lo \ - libshadow_la-subordinateio.lo libshadow_la-sulog.lo \ - time/libshadow_la-day_to_str.lo libshadow_la-ttytype.lo \ - libshadow_la-tz.lo libshadow_la-ulimit.lo \ - libshadow_la-user_busy.lo libshadow_la-valid.lo \ - libshadow_la-write_full.lo libshadow_la-xgetpwnam.lo \ - libshadow_la-xprefix_getpwnam.lo libshadow_la-xgetpwuid.lo \ - libshadow_la-xgetgrnam.lo libshadow_la-xgetgrgid.lo \ - libshadow_la-xgetspnam.lo libshadow_la-yesno.lo \ - $(am__objects_1) $(am__objects_2) $(am__objects_3) \ - $(am__objects_4) $(am__objects_5) $(am__objects_6) + libshadow_la-root_flag.lo libshadow_la-run_part.lo \ + libshadow_la-salt.lo libshadow_la-selinux.lo \ + libshadow_la-semanage.lo libshadow_la-setugid.lo \ + libshadow_la-setupenv.lo libshadow_la-sgetgrent.lo \ + libshadow_la-sgetpwent.lo libshadow_la-sgetspent.lo \ + libshadow_la-sgroupio.lo libshadow_la-shadow.lo \ + libshadow_la-shadowio.lo libshadow_la-shadowlog.lo \ + libshadow_la-shadowmem.lo libshadow_la-shell.lo \ + libshadow_la-spawn.lo libshadow_la-sssd.lo \ + string/memset/libshadow_la-memzero.lo \ + string/sprintf/libshadow_la-snprintf.lo \ + string/sprintf/libshadow_la-stpeprintf.lo \ + string/sprintf/libshadow_la-xasprintf.lo \ + string/strchr/libshadow_la-strchrcnt.lo \ + string/strchr/libshadow_la-stpspn.lo \ + string/strchr/libshadow_la-strnul.lo \ + string/strchr/libshadow_la-strrspn.lo \ + string/strcmp/libshadow_la-streq.lo \ + string/strcpy/libshadow_la-stpecpy.lo \ + string/strcpy/libshadow_la-strncat.lo \ + string/strcpy/libshadow_la-strncpy.lo \ + string/strcpy/libshadow_la-strtcpy.lo \ + string/strdup/libshadow_la-strndupa.lo \ + string/strdup/libshadow_la-xstrdup.lo \ + string/strdup/libshadow_la-xstrndup.lo \ + string/libshadow_la-strftime.lo \ + string/strtok/libshadow_la-stpsep.lo libshadow_la-strtoday.lo \ + libshadow_la-sub.lo libshadow_la-subordinateio.lo \ + libshadow_la-sulog.lo time/libshadow_la-day_to_str.lo \ + libshadow_la-ttytype.lo libshadow_la-tz.lo \ + libshadow_la-ulimit.lo libshadow_la-user_busy.lo \ + libshadow_la-valid.lo libshadow_la-write_full.lo \ + libshadow_la-xgetpwnam.lo libshadow_la-xprefix_getpwnam.lo \ + libshadow_la-xgetpwuid.lo libshadow_la-xgetgrnam.lo \ + libshadow_la-xgetgrgid.lo libshadow_la-xgetspnam.lo \ + libshadow_la-yesno.lo $(am__objects_1) $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) $(am__objects_5) \ + $(am__objects_6) libshadow_la_OBJECTS = $(am_libshadow_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -248,7 +299,6 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ ./$(DEPDIR)/libshadow_la-adds.Plo \ ./$(DEPDIR)/libshadow_la-age.Plo \ ./$(DEPDIR)/libshadow_la-agetpass.Plo \ - ./$(DEPDIR)/libshadow_la-alloc.Plo \ ./$(DEPDIR)/libshadow_la-audit_help.Plo \ ./$(DEPDIR)/libshadow_la-basename.Plo \ ./$(DEPDIR)/libshadow_la-bit.Plo \ @@ -274,9 +324,7 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ ./$(DEPDIR)/libshadow_la-find_new_uid.Plo \ ./$(DEPDIR)/libshadow_la-fputsx.Plo \ ./$(DEPDIR)/libshadow_la-freezero.Plo \ - ./$(DEPDIR)/libshadow_la-get_gid.Plo \ ./$(DEPDIR)/libshadow_la-get_pid.Plo \ - ./$(DEPDIR)/libshadow_la-get_uid.Plo \ ./$(DEPDIR)/libshadow_la-getdate.Plo \ ./$(DEPDIR)/libshadow_la-getdef.Plo \ ./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo \ @@ -295,7 +343,6 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ ./$(DEPDIR)/libshadow_la-logind.Plo \ ./$(DEPDIR)/libshadow_la-loginprompt.Plo \ ./$(DEPDIR)/libshadow_la-mail.Plo \ - ./$(DEPDIR)/libshadow_la-memzero.Plo \ ./$(DEPDIR)/libshadow_la-motd.Plo \ ./$(DEPDIR)/libshadow_la-myname.Plo \ ./$(DEPDIR)/libshadow_la-nscd.Plo \ @@ -313,7 +360,6 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ ./$(DEPDIR)/libshadow_la-pwmem.Plo \ ./$(DEPDIR)/libshadow_la-readpassphrase.Plo \ ./$(DEPDIR)/libshadow_la-remove_tree.Plo \ - ./$(DEPDIR)/libshadow_la-rlogin.Plo \ ./$(DEPDIR)/libshadow_la-root_flag.Plo \ ./$(DEPDIR)/libshadow_la-run_part.Plo \ ./$(DEPDIR)/libshadow_la-salt.Plo \ @@ -351,15 +397,47 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ ./$(DEPDIR)/libshadow_la-xgetspnam.Plo \ ./$(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo \ ./$(DEPDIR)/libshadow_la-yesno.Plo \ - atoi/$(DEPDIR)/libshadow_la-a2i.Plo \ - atoi/$(DEPDIR)/libshadow_la-str2i.Plo \ - atoi/$(DEPDIR)/libshadow_la-strtoi.Plo \ - atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo \ - string/$(DEPDIR)/libshadow_la-sprintf.Plo \ - string/$(DEPDIR)/libshadow_la-stpecpy.Plo \ - string/$(DEPDIR)/libshadow_la-stpeprintf.Plo \ + alloc/$(DEPDIR)/libshadow_la-calloc.Plo \ + alloc/$(DEPDIR)/libshadow_la-malloc.Plo \ + alloc/$(DEPDIR)/libshadow_la-realloc.Plo \ + alloc/$(DEPDIR)/libshadow_la-reallocf.Plo \ + alloc/x/$(DEPDIR)/libshadow_la-xcalloc.Plo \ + alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo \ + alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo \ + atoi/$(DEPDIR)/libshadow_la-getnum.Plo \ + atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo \ + atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo \ + atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo \ + atoi/a2i/$(DEPDIR)/libshadow_la-a2s_nc.Plo \ + atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo \ + atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo \ + atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo \ + atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo \ + atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo \ + atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo \ + atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo \ + atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo \ + atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo \ + fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo \ + fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo \ string/$(DEPDIR)/libshadow_la-strftime.Plo \ - string/$(DEPDIR)/libshadow_la-strtcpy.Plo \ + string/memset/$(DEPDIR)/libshadow_la-memzero.Plo \ + string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo \ + string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo \ + string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo \ + string/strchr/$(DEPDIR)/libshadow_la-stpspn.Plo \ + string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo \ + string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo \ + string/strchr/$(DEPDIR)/libshadow_la-strrspn.Plo \ + string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo \ + string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo \ + string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo \ + string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo \ + string/strcpy/$(DEPDIR)/libshadow_la-strtcpy.Plo \ + string/strdup/$(DEPDIR)/libshadow_la-strndupa.Plo \ + string/strdup/$(DEPDIR)/libshadow_la-xstrdup.Plo \ + string/strdup/$(DEPDIR)/libshadow_la-xstrndup.Plo \ + string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo \ time/$(DEPDIR)/libshadow_la-day_to_str.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ @@ -449,7 +527,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -606,38 +683,64 @@ libshadow_la_CPPFLAGS = $(ECONF_CPPFLAGS) $(am__append_1) \ libshadow_la_CFLAGS = $(LIBBSD_CFLAGS) $(LIBCRYPT_PAM) $(LIBSYSTEMD) libshadow_la_LIBADD = $(LIBADD_DLOPEN) libshadow_la_SOURCES = addgrps.c adds.c adds.h age.c agetpass.c \ - agetpass.h alloc.c alloc.h atoi/a2i.c atoi/a2i.h atoi/str2i.c \ - atoi/str2i.h atoi/strtoi.c atoi/strtoi.h atoi/strtou_noneg.c \ - atoi/strtou_noneg.h attr.h audit_help.c basename.c bit.c bit.h \ - cast.h chkname.c chkname.h chowndir.c chowntty.c cleanup.c \ - cleanup_group.c cleanup_user.c commonio.c commonio.h console.c \ - copydir.c csrand.c defines.h encrypt.c env.c exitcodes.h \ - faillog.h failure.c failure.h fd.c fields.c find_new_gid.c \ - find_new_uid.c find_new_sub_gids.c find_new_sub_uids.c \ - fputsx.c get_gid.c get_pid.c get_uid.c getdate.h getdate.y \ + agetpass.h alloc/calloc.c alloc/calloc.h alloc/malloc.c \ + alloc/malloc.h alloc/realloc.c alloc/realloc.h \ + alloc/reallocf.c alloc/reallocf.h alloc/x/xcalloc.c \ + alloc/x/xcalloc.h alloc/x/xmalloc.c alloc/x/xmalloc.h \ + alloc/x/xrealloc.c alloc/x/xrealloc.h atoi/a2i/a2i.c \ + atoi/a2i/a2i.h atoi/a2i/a2s.c atoi/a2i/a2s.h atoi/a2i/a2s_c.c \ + atoi/a2i/a2s_c.h atoi/a2i/a2s_nc.c atoi/a2i/a2s_nc.h \ + atoi/a2i/a2u.c atoi/a2i/a2u.h atoi/a2i/a2u_c.c \ + atoi/a2i/a2u_c.h atoi/a2i/a2u_nc.c atoi/a2i/a2u_nc.h \ + atoi/getnum.c atoi/getnum.h atoi/str2i/str2i.c \ + atoi/str2i/str2i.h atoi/str2i/str2s.c atoi/str2i/str2s.h \ + atoi/str2i/str2u.c atoi/str2i/str2u.h atoi/strtoi/strtoi.c \ + atoi/strtoi/strtoi.h atoi/strtoi/strtou.c atoi/strtoi/strtou.h \ + atoi/strtoi/strtou_noneg.c atoi/strtoi/strtou_noneg.h attr.h \ + audit_help.c basename.c bit.c bit.h cast.h chkname.c chkname.h \ + chowndir.c chowntty.c cleanup.c cleanup_group.c cleanup_user.c \ + commonio.c commonio.h console.c copydir.c csrand.c defines.h \ + encrypt.c env.c exitcodes.h faillog.h failure.c failure.h fd.c \ + fields.c find_new_gid.c find_new_uid.c find_new_sub_gids.c \ + find_new_sub_uids.c fputsx.c fs/readlink/areadlink.c \ + fs/readlink/areadlink.h fs/readlink/readlinknul.c \ + fs/readlink/readlinknul.h get_pid.c getdate.h getdate.y \ getdef.c getdef.h getgr_nam_gid.c getrange.c gettime.c \ groupio.c groupmem.c groupio.h gshadow.c hushed.c idmapping.h \ idmapping.c isexpired.c limits.c list.c lockpw.c loginprompt.c \ - mail.c memzero.c memzero.h motd.c must_be.h myname.c nss.c \ - nscd.c nscd.h obscure.c pam_defs.h pam_pass.c \ - pam_pass_non_interactive.c port.c port.h prefix_flag.c \ - prototypes.h pwauth.c pwauth.h pwio.c pwio.h pwd_init.c \ - pwd2spwd.c pwdcheck.c pwmem.c remove_tree.c rlogin.c \ + mail.c motd.c must_be.h myname.c nss.c nscd.c nscd.h obscure.c \ + pam_defs.h pam_pass.c pam_pass_non_interactive.c port.c port.h \ + prefix_flag.c prototypes.h pwauth.c pwauth.h pwio.c pwio.h \ + pwd_init.c pwd2spwd.c pwdcheck.c pwmem.c remove_tree.c \ root_flag.c run_part.h run_part.c salt.c selinux.c semanage.c \ setugid.c setupenv.c sgetgrent.c sgetpwent.c sgetspent.c \ sgroupio.c sgroupio.h shadow.c shadowio.c shadowio.h \ shadowlog.c shadowlog.h shadowlog_internal.h shadowmem.c \ - shell.c sizeof.h spawn.c sssd.c sssd.h string/sprintf.c \ - string/sprintf.h string/stpecpy.c string/stpecpy.h \ - string/stpeprintf.c string/stpeprintf.h string/strftime.c \ - string/strftime.h string/strncpy.h string/strtcpy.c \ - string/strtcpy.h string/zustr2stp.h strtoday.c sub.c \ + shell.c sizeof.h spawn.c sssd.c sssd.h string/memset/memzero.c \ + string/memset/memzero.h string/sprintf/snprintf.c \ + string/sprintf/snprintf.h string/sprintf/stpeprintf.c \ + string/sprintf/stpeprintf.h string/sprintf/xasprintf.c \ + string/sprintf/xasprintf.h string/strchr/strchrcnt.c \ + string/strchr/strchrcnt.h string/strchr/stpspn.c \ + string/strchr/stpspn.h string/strchr/strnul.c \ + string/strchr/strnul.h string/strchr/strrspn.c \ + string/strchr/strrspn.h string/strcmp/streq.c \ + string/strcmp/streq.h string/strcpy/stpecpy.c \ + string/strcpy/stpecpy.h string/strcpy/strncat.c \ + string/strcpy/strncat.h string/strcpy/strncpy.c \ + string/strcpy/strncpy.h string/strcpy/strtcpy.c \ + string/strcpy/strtcpy.h string/strdup/strndupa.c \ + string/strdup/strndupa.h string/strdup/xstrdup.c \ + string/strdup/xstrdup.h string/strdup/xstrndup.c \ + string/strdup/xstrndup.h string/strftime.c string/strftime.h \ + string/strtok/stpsep.c string/strtok/stpsep.h strtoday.c sub.c \ subordinateio.h subordinateio.c sulog.c time/day_to_str.c \ - time/day_to_str.h ttytype.c tz.c ulimit.c user_busy.c valid.c \ - write_full.c xgetpwnam.c xprefix_getpwnam.c xgetpwuid.c \ - xgetgrnam.c xgetgrgid.c xgetspnam.c yesno.c $(am__append_2) \ - $(am__append_3) $(am__append_4) $(am__append_5) \ - $(am__append_6) $(am__append_7) + time/day_to_str.h ttytype.c typetraits.h tz.c ulimit.c \ + user_busy.c valid.c write_full.c xgetpwnam.c \ + xprefix_getpwnam.c xgetpwuid.c xgetgrnam.c xgetgrgid.c \ + xgetspnam.c yesno.c $(am__append_2) $(am__append_3) \ + $(am__append_4) $(am__append_5) $(am__append_6) \ + $(am__append_7) # These files are unneeded for some reason, listed in # order of appearance: @@ -692,36 +795,182 @@ clean-noinstLTLIBRARIES: echo rm -f $${locs}; \ rm -f $${locs}; \ } +alloc/$(am__dirstamp): + @$(MKDIR_P) alloc + @: > alloc/$(am__dirstamp) +alloc/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) alloc/$(DEPDIR) + @: > alloc/$(DEPDIR)/$(am__dirstamp) +alloc/libshadow_la-calloc.lo: alloc/$(am__dirstamp) \ + alloc/$(DEPDIR)/$(am__dirstamp) +alloc/libshadow_la-malloc.lo: alloc/$(am__dirstamp) \ + alloc/$(DEPDIR)/$(am__dirstamp) +alloc/libshadow_la-realloc.lo: alloc/$(am__dirstamp) \ + alloc/$(DEPDIR)/$(am__dirstamp) +alloc/libshadow_la-reallocf.lo: alloc/$(am__dirstamp) \ + alloc/$(DEPDIR)/$(am__dirstamp) +alloc/x/$(am__dirstamp): + @$(MKDIR_P) alloc/x + @: > alloc/x/$(am__dirstamp) +alloc/x/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) alloc/x/$(DEPDIR) + @: > alloc/x/$(DEPDIR)/$(am__dirstamp) +alloc/x/libshadow_la-xcalloc.lo: alloc/x/$(am__dirstamp) \ + alloc/x/$(DEPDIR)/$(am__dirstamp) +alloc/x/libshadow_la-xmalloc.lo: alloc/x/$(am__dirstamp) \ + alloc/x/$(DEPDIR)/$(am__dirstamp) +alloc/x/libshadow_la-xrealloc.lo: alloc/x/$(am__dirstamp) \ + alloc/x/$(DEPDIR)/$(am__dirstamp) +atoi/a2i/$(am__dirstamp): + @$(MKDIR_P) atoi/a2i + @: > atoi/a2i/$(am__dirstamp) +atoi/a2i/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) atoi/a2i/$(DEPDIR) + @: > atoi/a2i/$(DEPDIR)/$(am__dirstamp) +atoi/a2i/libshadow_la-a2i.lo: atoi/a2i/$(am__dirstamp) \ + atoi/a2i/$(DEPDIR)/$(am__dirstamp) +atoi/a2i/libshadow_la-a2s.lo: atoi/a2i/$(am__dirstamp) \ + atoi/a2i/$(DEPDIR)/$(am__dirstamp) +atoi/a2i/libshadow_la-a2s_c.lo: atoi/a2i/$(am__dirstamp) \ + atoi/a2i/$(DEPDIR)/$(am__dirstamp) +atoi/a2i/libshadow_la-a2s_nc.lo: atoi/a2i/$(am__dirstamp) \ + atoi/a2i/$(DEPDIR)/$(am__dirstamp) +atoi/a2i/libshadow_la-a2u.lo: atoi/a2i/$(am__dirstamp) \ + atoi/a2i/$(DEPDIR)/$(am__dirstamp) +atoi/a2i/libshadow_la-a2u_c.lo: atoi/a2i/$(am__dirstamp) \ + atoi/a2i/$(DEPDIR)/$(am__dirstamp) +atoi/a2i/libshadow_la-a2u_nc.lo: atoi/a2i/$(am__dirstamp) \ + atoi/a2i/$(DEPDIR)/$(am__dirstamp) atoi/$(am__dirstamp): @$(MKDIR_P) atoi @: > atoi/$(am__dirstamp) atoi/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) atoi/$(DEPDIR) @: > atoi/$(DEPDIR)/$(am__dirstamp) -atoi/libshadow_la-a2i.lo: atoi/$(am__dirstamp) \ - atoi/$(DEPDIR)/$(am__dirstamp) -atoi/libshadow_la-str2i.lo: atoi/$(am__dirstamp) \ - atoi/$(DEPDIR)/$(am__dirstamp) -atoi/libshadow_la-strtoi.lo: atoi/$(am__dirstamp) \ - atoi/$(DEPDIR)/$(am__dirstamp) -atoi/libshadow_la-strtou_noneg.lo: atoi/$(am__dirstamp) \ +atoi/libshadow_la-getnum.lo: atoi/$(am__dirstamp) \ atoi/$(DEPDIR)/$(am__dirstamp) +atoi/str2i/$(am__dirstamp): + @$(MKDIR_P) atoi/str2i + @: > atoi/str2i/$(am__dirstamp) +atoi/str2i/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) atoi/str2i/$(DEPDIR) + @: > atoi/str2i/$(DEPDIR)/$(am__dirstamp) +atoi/str2i/libshadow_la-str2i.lo: atoi/str2i/$(am__dirstamp) \ + atoi/str2i/$(DEPDIR)/$(am__dirstamp) +atoi/str2i/libshadow_la-str2s.lo: atoi/str2i/$(am__dirstamp) \ + atoi/str2i/$(DEPDIR)/$(am__dirstamp) +atoi/str2i/libshadow_la-str2u.lo: atoi/str2i/$(am__dirstamp) \ + atoi/str2i/$(DEPDIR)/$(am__dirstamp) +atoi/strtoi/$(am__dirstamp): + @$(MKDIR_P) atoi/strtoi + @: > atoi/strtoi/$(am__dirstamp) +atoi/strtoi/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) atoi/strtoi/$(DEPDIR) + @: > atoi/strtoi/$(DEPDIR)/$(am__dirstamp) +atoi/strtoi/libshadow_la-strtoi.lo: atoi/strtoi/$(am__dirstamp) \ + atoi/strtoi/$(DEPDIR)/$(am__dirstamp) +atoi/strtoi/libshadow_la-strtou.lo: atoi/strtoi/$(am__dirstamp) \ + atoi/strtoi/$(DEPDIR)/$(am__dirstamp) +atoi/strtoi/libshadow_la-strtou_noneg.lo: atoi/strtoi/$(am__dirstamp) \ + atoi/strtoi/$(DEPDIR)/$(am__dirstamp) +fs/readlink/$(am__dirstamp): + @$(MKDIR_P) fs/readlink + @: > fs/readlink/$(am__dirstamp) +fs/readlink/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) fs/readlink/$(DEPDIR) + @: > fs/readlink/$(DEPDIR)/$(am__dirstamp) +fs/readlink/libshadow_la-areadlink.lo: fs/readlink/$(am__dirstamp) \ + fs/readlink/$(DEPDIR)/$(am__dirstamp) +fs/readlink/libshadow_la-readlinknul.lo: fs/readlink/$(am__dirstamp) \ + fs/readlink/$(DEPDIR)/$(am__dirstamp) +string/memset/$(am__dirstamp): + @$(MKDIR_P) string/memset + @: > string/memset/$(am__dirstamp) +string/memset/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/memset/$(DEPDIR) + @: > string/memset/$(DEPDIR)/$(am__dirstamp) +string/memset/libshadow_la-memzero.lo: string/memset/$(am__dirstamp) \ + string/memset/$(DEPDIR)/$(am__dirstamp) +string/sprintf/$(am__dirstamp): + @$(MKDIR_P) string/sprintf + @: > string/sprintf/$(am__dirstamp) +string/sprintf/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/sprintf/$(DEPDIR) + @: > string/sprintf/$(DEPDIR)/$(am__dirstamp) +string/sprintf/libshadow_la-snprintf.lo: \ + string/sprintf/$(am__dirstamp) \ + string/sprintf/$(DEPDIR)/$(am__dirstamp) +string/sprintf/libshadow_la-stpeprintf.lo: \ + string/sprintf/$(am__dirstamp) \ + string/sprintf/$(DEPDIR)/$(am__dirstamp) +string/sprintf/libshadow_la-xasprintf.lo: \ + string/sprintf/$(am__dirstamp) \ + string/sprintf/$(DEPDIR)/$(am__dirstamp) +string/strchr/$(am__dirstamp): + @$(MKDIR_P) string/strchr + @: > string/strchr/$(am__dirstamp) +string/strchr/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/strchr/$(DEPDIR) + @: > string/strchr/$(DEPDIR)/$(am__dirstamp) +string/strchr/libshadow_la-strchrcnt.lo: \ + string/strchr/$(am__dirstamp) \ + string/strchr/$(DEPDIR)/$(am__dirstamp) +string/strchr/libshadow_la-stpspn.lo: string/strchr/$(am__dirstamp) \ + string/strchr/$(DEPDIR)/$(am__dirstamp) +string/strchr/libshadow_la-strnul.lo: string/strchr/$(am__dirstamp) \ + string/strchr/$(DEPDIR)/$(am__dirstamp) +string/strchr/libshadow_la-strrspn.lo: string/strchr/$(am__dirstamp) \ + string/strchr/$(DEPDIR)/$(am__dirstamp) +string/strcmp/$(am__dirstamp): + @$(MKDIR_P) string/strcmp + @: > string/strcmp/$(am__dirstamp) +string/strcmp/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/strcmp/$(DEPDIR) + @: > string/strcmp/$(DEPDIR)/$(am__dirstamp) +string/strcmp/libshadow_la-streq.lo: string/strcmp/$(am__dirstamp) \ + string/strcmp/$(DEPDIR)/$(am__dirstamp) +string/strcpy/$(am__dirstamp): + @$(MKDIR_P) string/strcpy + @: > string/strcpy/$(am__dirstamp) +string/strcpy/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/strcpy/$(DEPDIR) + @: > string/strcpy/$(DEPDIR)/$(am__dirstamp) +string/strcpy/libshadow_la-stpecpy.lo: string/strcpy/$(am__dirstamp) \ + string/strcpy/$(DEPDIR)/$(am__dirstamp) +string/strcpy/libshadow_la-strncat.lo: string/strcpy/$(am__dirstamp) \ + string/strcpy/$(DEPDIR)/$(am__dirstamp) +string/strcpy/libshadow_la-strncpy.lo: string/strcpy/$(am__dirstamp) \ + string/strcpy/$(DEPDIR)/$(am__dirstamp) +string/strcpy/libshadow_la-strtcpy.lo: string/strcpy/$(am__dirstamp) \ + string/strcpy/$(DEPDIR)/$(am__dirstamp) +string/strdup/$(am__dirstamp): + @$(MKDIR_P) string/strdup + @: > string/strdup/$(am__dirstamp) +string/strdup/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/strdup/$(DEPDIR) + @: > string/strdup/$(DEPDIR)/$(am__dirstamp) +string/strdup/libshadow_la-strndupa.lo: string/strdup/$(am__dirstamp) \ + string/strdup/$(DEPDIR)/$(am__dirstamp) +string/strdup/libshadow_la-xstrdup.lo: string/strdup/$(am__dirstamp) \ + string/strdup/$(DEPDIR)/$(am__dirstamp) +string/strdup/libshadow_la-xstrndup.lo: string/strdup/$(am__dirstamp) \ + string/strdup/$(DEPDIR)/$(am__dirstamp) string/$(am__dirstamp): @$(MKDIR_P) string @: > string/$(am__dirstamp) string/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) string/$(DEPDIR) @: > string/$(DEPDIR)/$(am__dirstamp) -string/libshadow_la-sprintf.lo: string/$(am__dirstamp) \ - string/$(DEPDIR)/$(am__dirstamp) -string/libshadow_la-stpecpy.lo: string/$(am__dirstamp) \ - string/$(DEPDIR)/$(am__dirstamp) -string/libshadow_la-stpeprintf.lo: string/$(am__dirstamp) \ - string/$(DEPDIR)/$(am__dirstamp) string/libshadow_la-strftime.lo: string/$(am__dirstamp) \ string/$(DEPDIR)/$(am__dirstamp) -string/libshadow_la-strtcpy.lo: string/$(am__dirstamp) \ - string/$(DEPDIR)/$(am__dirstamp) +string/strtok/$(am__dirstamp): + @$(MKDIR_P) string/strtok + @: > string/strtok/$(am__dirstamp) +string/strtok/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/strtok/$(DEPDIR) + @: > string/strtok/$(DEPDIR)/$(am__dirstamp) +string/strtok/libshadow_la-stpsep.lo: string/strtok/$(am__dirstamp) \ + string/strtok/$(DEPDIR)/$(am__dirstamp) time/$(am__dirstamp): @$(MKDIR_P) time @: > time/$(am__dirstamp) @@ -736,10 +985,36 @@ libshadow.la: $(libshadow_la_OBJECTS) $(libshadow_la_DEPENDENCIES) $(EXTRA_libsh mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f alloc/*.$(OBJEXT) + -rm -f alloc/*.lo + -rm -f alloc/x/*.$(OBJEXT) + -rm -f alloc/x/*.lo -rm -f atoi/*.$(OBJEXT) -rm -f atoi/*.lo + -rm -f atoi/a2i/*.$(OBJEXT) + -rm -f atoi/a2i/*.lo + -rm -f atoi/str2i/*.$(OBJEXT) + -rm -f atoi/str2i/*.lo + -rm -f atoi/strtoi/*.$(OBJEXT) + -rm -f atoi/strtoi/*.lo + -rm -f fs/readlink/*.$(OBJEXT) + -rm -f fs/readlink/*.lo -rm -f string/*.$(OBJEXT) -rm -f string/*.lo + -rm -f string/memset/*.$(OBJEXT) + -rm -f string/memset/*.lo + -rm -f string/sprintf/*.$(OBJEXT) + -rm -f string/sprintf/*.lo + -rm -f string/strchr/*.$(OBJEXT) + -rm -f string/strchr/*.lo + -rm -f string/strcmp/*.$(OBJEXT) + -rm -f string/strcmp/*.lo + -rm -f string/strcpy/*.$(OBJEXT) + -rm -f string/strcpy/*.lo + -rm -f string/strdup/*.$(OBJEXT) + -rm -f string/strdup/*.lo + -rm -f string/strtok/*.$(OBJEXT) + -rm -f string/strtok/*.lo -rm -f time/*.$(OBJEXT) -rm -f time/*.lo @@ -750,7 +1025,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-adds.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-age.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-agetpass.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-alloc.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-audit_help.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-basename.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-bit.Plo@am__quote@ # am--include-marker @@ -776,9 +1050,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-find_new_uid.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-fputsx.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-freezero.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_gid.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_pid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_uid.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getdate.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getdef.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo@am__quote@ # am--include-marker @@ -797,7 +1069,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-logind.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-loginprompt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-mail.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-memzero.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-motd.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-myname.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-nscd.Plo@am__quote@ # am--include-marker @@ -815,7 +1086,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwmem.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-readpassphrase.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-remove_tree.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-rlogin.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-root_flag.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-run_part.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-salt.Plo@am__quote@ # am--include-marker @@ -853,15 +1123,47 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-xgetspnam.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-yesno.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-a2i.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-str2i.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-strtoi.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-sprintf.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-stpecpy.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-stpeprintf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@alloc/$(DEPDIR)/libshadow_la-calloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@alloc/$(DEPDIR)/libshadow_la-malloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@alloc/$(DEPDIR)/libshadow_la-realloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@alloc/$(DEPDIR)/libshadow_la-reallocf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@alloc/x/$(DEPDIR)/libshadow_la-xcalloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-getnum.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2s_nc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-strftime.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-strtcpy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/memset/$(DEPDIR)/libshadow_la-memzero.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strchr/$(DEPDIR)/libshadow_la-stpspn.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strchr/$(DEPDIR)/libshadow_la-strrspn.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strcpy/$(DEPDIR)/libshadow_la-strtcpy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strdup/$(DEPDIR)/libshadow_la-strndupa.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strdup/$(DEPDIR)/libshadow_la-xstrdup.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strdup/$(DEPDIR)/libshadow_la-xstrndup.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@time/$(DEPDIR)/libshadow_la-day_to_str.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @@ -922,40 +1224,152 @@ libshadow_la-agetpass.lo: agetpass.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-agetpass.lo `test -f 'agetpass.c' || echo '$(srcdir)/'`agetpass.c -libshadow_la-alloc.lo: alloc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-alloc.lo -MD -MP -MF $(DEPDIR)/libshadow_la-alloc.Tpo -c -o libshadow_la-alloc.lo `test -f 'alloc.c' || echo '$(srcdir)/'`alloc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-alloc.Tpo $(DEPDIR)/libshadow_la-alloc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc.c' object='libshadow_la-alloc.lo' libtool=yes @AMDEPBACKSLASH@ +alloc/libshadow_la-calloc.lo: alloc/calloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT alloc/libshadow_la-calloc.lo -MD -MP -MF alloc/$(DEPDIR)/libshadow_la-calloc.Tpo -c -o alloc/libshadow_la-calloc.lo `test -f 'alloc/calloc.c' || echo '$(srcdir)/'`alloc/calloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) alloc/$(DEPDIR)/libshadow_la-calloc.Tpo alloc/$(DEPDIR)/libshadow_la-calloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc/calloc.c' object='alloc/libshadow_la-calloc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-alloc.lo `test -f 'alloc.c' || echo '$(srcdir)/'`alloc.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o alloc/libshadow_la-calloc.lo `test -f 'alloc/calloc.c' || echo '$(srcdir)/'`alloc/calloc.c -atoi/libshadow_la-a2i.lo: atoi/a2i.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/libshadow_la-a2i.lo -MD -MP -MF atoi/$(DEPDIR)/libshadow_la-a2i.Tpo -c -o atoi/libshadow_la-a2i.lo `test -f 'atoi/a2i.c' || echo '$(srcdir)/'`atoi/a2i.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/$(DEPDIR)/libshadow_la-a2i.Tpo atoi/$(DEPDIR)/libshadow_la-a2i.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/a2i.c' object='atoi/libshadow_la-a2i.lo' libtool=yes @AMDEPBACKSLASH@ +alloc/libshadow_la-malloc.lo: alloc/malloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT alloc/libshadow_la-malloc.lo -MD -MP -MF alloc/$(DEPDIR)/libshadow_la-malloc.Tpo -c -o alloc/libshadow_la-malloc.lo `test -f 'alloc/malloc.c' || echo '$(srcdir)/'`alloc/malloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) alloc/$(DEPDIR)/libshadow_la-malloc.Tpo alloc/$(DEPDIR)/libshadow_la-malloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc/malloc.c' object='alloc/libshadow_la-malloc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/libshadow_la-a2i.lo `test -f 'atoi/a2i.c' || echo '$(srcdir)/'`atoi/a2i.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o alloc/libshadow_la-malloc.lo `test -f 'alloc/malloc.c' || echo '$(srcdir)/'`alloc/malloc.c -atoi/libshadow_la-str2i.lo: atoi/str2i.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/libshadow_la-str2i.lo -MD -MP -MF atoi/$(DEPDIR)/libshadow_la-str2i.Tpo -c -o atoi/libshadow_la-str2i.lo `test -f 'atoi/str2i.c' || echo '$(srcdir)/'`atoi/str2i.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/$(DEPDIR)/libshadow_la-str2i.Tpo atoi/$(DEPDIR)/libshadow_la-str2i.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/str2i.c' object='atoi/libshadow_la-str2i.lo' libtool=yes @AMDEPBACKSLASH@ +alloc/libshadow_la-realloc.lo: alloc/realloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT alloc/libshadow_la-realloc.lo -MD -MP -MF alloc/$(DEPDIR)/libshadow_la-realloc.Tpo -c -o alloc/libshadow_la-realloc.lo `test -f 'alloc/realloc.c' || echo '$(srcdir)/'`alloc/realloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) alloc/$(DEPDIR)/libshadow_la-realloc.Tpo alloc/$(DEPDIR)/libshadow_la-realloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc/realloc.c' object='alloc/libshadow_la-realloc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/libshadow_la-str2i.lo `test -f 'atoi/str2i.c' || echo '$(srcdir)/'`atoi/str2i.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o alloc/libshadow_la-realloc.lo `test -f 'alloc/realloc.c' || echo '$(srcdir)/'`alloc/realloc.c -atoi/libshadow_la-strtoi.lo: atoi/strtoi.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/libshadow_la-strtoi.lo -MD -MP -MF atoi/$(DEPDIR)/libshadow_la-strtoi.Tpo -c -o atoi/libshadow_la-strtoi.lo `test -f 'atoi/strtoi.c' || echo '$(srcdir)/'`atoi/strtoi.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/$(DEPDIR)/libshadow_la-strtoi.Tpo atoi/$(DEPDIR)/libshadow_la-strtoi.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/strtoi.c' object='atoi/libshadow_la-strtoi.lo' libtool=yes @AMDEPBACKSLASH@ +alloc/libshadow_la-reallocf.lo: alloc/reallocf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT alloc/libshadow_la-reallocf.lo -MD -MP -MF alloc/$(DEPDIR)/libshadow_la-reallocf.Tpo -c -o alloc/libshadow_la-reallocf.lo `test -f 'alloc/reallocf.c' || echo '$(srcdir)/'`alloc/reallocf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) alloc/$(DEPDIR)/libshadow_la-reallocf.Tpo alloc/$(DEPDIR)/libshadow_la-reallocf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc/reallocf.c' object='alloc/libshadow_la-reallocf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/libshadow_la-strtoi.lo `test -f 'atoi/strtoi.c' || echo '$(srcdir)/'`atoi/strtoi.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o alloc/libshadow_la-reallocf.lo `test -f 'alloc/reallocf.c' || echo '$(srcdir)/'`alloc/reallocf.c -atoi/libshadow_la-strtou_noneg.lo: atoi/strtou_noneg.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/libshadow_la-strtou_noneg.lo -MD -MP -MF atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Tpo -c -o atoi/libshadow_la-strtou_noneg.lo `test -f 'atoi/strtou_noneg.c' || echo '$(srcdir)/'`atoi/strtou_noneg.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Tpo atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/strtou_noneg.c' object='atoi/libshadow_la-strtou_noneg.lo' libtool=yes @AMDEPBACKSLASH@ +alloc/x/libshadow_la-xcalloc.lo: alloc/x/xcalloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT alloc/x/libshadow_la-xcalloc.lo -MD -MP -MF alloc/x/$(DEPDIR)/libshadow_la-xcalloc.Tpo -c -o alloc/x/libshadow_la-xcalloc.lo `test -f 'alloc/x/xcalloc.c' || echo '$(srcdir)/'`alloc/x/xcalloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) alloc/x/$(DEPDIR)/libshadow_la-xcalloc.Tpo alloc/x/$(DEPDIR)/libshadow_la-xcalloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc/x/xcalloc.c' object='alloc/x/libshadow_la-xcalloc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/libshadow_la-strtou_noneg.lo `test -f 'atoi/strtou_noneg.c' || echo '$(srcdir)/'`atoi/strtou_noneg.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o alloc/x/libshadow_la-xcalloc.lo `test -f 'alloc/x/xcalloc.c' || echo '$(srcdir)/'`alloc/x/xcalloc.c + +alloc/x/libshadow_la-xmalloc.lo: alloc/x/xmalloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT alloc/x/libshadow_la-xmalloc.lo -MD -MP -MF alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Tpo -c -o alloc/x/libshadow_la-xmalloc.lo `test -f 'alloc/x/xmalloc.c' || echo '$(srcdir)/'`alloc/x/xmalloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Tpo alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc/x/xmalloc.c' object='alloc/x/libshadow_la-xmalloc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o alloc/x/libshadow_la-xmalloc.lo `test -f 'alloc/x/xmalloc.c' || echo '$(srcdir)/'`alloc/x/xmalloc.c + +alloc/x/libshadow_la-xrealloc.lo: alloc/x/xrealloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT alloc/x/libshadow_la-xrealloc.lo -MD -MP -MF alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Tpo -c -o alloc/x/libshadow_la-xrealloc.lo `test -f 'alloc/x/xrealloc.c' || echo '$(srcdir)/'`alloc/x/xrealloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Tpo alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc/x/xrealloc.c' object='alloc/x/libshadow_la-xrealloc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o alloc/x/libshadow_la-xrealloc.lo `test -f 'alloc/x/xrealloc.c' || echo '$(srcdir)/'`alloc/x/xrealloc.c + +atoi/a2i/libshadow_la-a2i.lo: atoi/a2i/a2i.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/a2i/libshadow_la-a2i.lo -MD -MP -MF atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Tpo -c -o atoi/a2i/libshadow_la-a2i.lo `test -f 'atoi/a2i/a2i.c' || echo '$(srcdir)/'`atoi/a2i/a2i.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Tpo atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/a2i/a2i.c' object='atoi/a2i/libshadow_la-a2i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/a2i/libshadow_la-a2i.lo `test -f 'atoi/a2i/a2i.c' || echo '$(srcdir)/'`atoi/a2i/a2i.c + +atoi/a2i/libshadow_la-a2s.lo: atoi/a2i/a2s.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/a2i/libshadow_la-a2s.lo -MD -MP -MF atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Tpo -c -o atoi/a2i/libshadow_la-a2s.lo `test -f 'atoi/a2i/a2s.c' || echo '$(srcdir)/'`atoi/a2i/a2s.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Tpo atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/a2i/a2s.c' object='atoi/a2i/libshadow_la-a2s.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/a2i/libshadow_la-a2s.lo `test -f 'atoi/a2i/a2s.c' || echo '$(srcdir)/'`atoi/a2i/a2s.c + +atoi/a2i/libshadow_la-a2s_c.lo: atoi/a2i/a2s_c.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/a2i/libshadow_la-a2s_c.lo -MD -MP -MF atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Tpo -c -o atoi/a2i/libshadow_la-a2s_c.lo `test -f 'atoi/a2i/a2s_c.c' || echo '$(srcdir)/'`atoi/a2i/a2s_c.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Tpo atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/a2i/a2s_c.c' object='atoi/a2i/libshadow_la-a2s_c.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/a2i/libshadow_la-a2s_c.lo `test -f 'atoi/a2i/a2s_c.c' || echo '$(srcdir)/'`atoi/a2i/a2s_c.c + +atoi/a2i/libshadow_la-a2s_nc.lo: atoi/a2i/a2s_nc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/a2i/libshadow_la-a2s_nc.lo -MD -MP -MF atoi/a2i/$(DEPDIR)/libshadow_la-a2s_nc.Tpo -c -o atoi/a2i/libshadow_la-a2s_nc.lo `test -f 'atoi/a2i/a2s_nc.c' || echo '$(srcdir)/'`atoi/a2i/a2s_nc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/a2i/$(DEPDIR)/libshadow_la-a2s_nc.Tpo atoi/a2i/$(DEPDIR)/libshadow_la-a2s_nc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/a2i/a2s_nc.c' object='atoi/a2i/libshadow_la-a2s_nc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/a2i/libshadow_la-a2s_nc.lo `test -f 'atoi/a2i/a2s_nc.c' || echo '$(srcdir)/'`atoi/a2i/a2s_nc.c + +atoi/a2i/libshadow_la-a2u.lo: atoi/a2i/a2u.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/a2i/libshadow_la-a2u.lo -MD -MP -MF atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Tpo -c -o atoi/a2i/libshadow_la-a2u.lo `test -f 'atoi/a2i/a2u.c' || echo '$(srcdir)/'`atoi/a2i/a2u.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Tpo atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/a2i/a2u.c' object='atoi/a2i/libshadow_la-a2u.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/a2i/libshadow_la-a2u.lo `test -f 'atoi/a2i/a2u.c' || echo '$(srcdir)/'`atoi/a2i/a2u.c + +atoi/a2i/libshadow_la-a2u_c.lo: atoi/a2i/a2u_c.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/a2i/libshadow_la-a2u_c.lo -MD -MP -MF atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Tpo -c -o atoi/a2i/libshadow_la-a2u_c.lo `test -f 'atoi/a2i/a2u_c.c' || echo '$(srcdir)/'`atoi/a2i/a2u_c.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Tpo atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/a2i/a2u_c.c' object='atoi/a2i/libshadow_la-a2u_c.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/a2i/libshadow_la-a2u_c.lo `test -f 'atoi/a2i/a2u_c.c' || echo '$(srcdir)/'`atoi/a2i/a2u_c.c + +atoi/a2i/libshadow_la-a2u_nc.lo: atoi/a2i/a2u_nc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/a2i/libshadow_la-a2u_nc.lo -MD -MP -MF atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Tpo -c -o atoi/a2i/libshadow_la-a2u_nc.lo `test -f 'atoi/a2i/a2u_nc.c' || echo '$(srcdir)/'`atoi/a2i/a2u_nc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Tpo atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/a2i/a2u_nc.c' object='atoi/a2i/libshadow_la-a2u_nc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/a2i/libshadow_la-a2u_nc.lo `test -f 'atoi/a2i/a2u_nc.c' || echo '$(srcdir)/'`atoi/a2i/a2u_nc.c + +atoi/libshadow_la-getnum.lo: atoi/getnum.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/libshadow_la-getnum.lo -MD -MP -MF atoi/$(DEPDIR)/libshadow_la-getnum.Tpo -c -o atoi/libshadow_la-getnum.lo `test -f 'atoi/getnum.c' || echo '$(srcdir)/'`atoi/getnum.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/$(DEPDIR)/libshadow_la-getnum.Tpo atoi/$(DEPDIR)/libshadow_la-getnum.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/getnum.c' object='atoi/libshadow_la-getnum.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/libshadow_la-getnum.lo `test -f 'atoi/getnum.c' || echo '$(srcdir)/'`atoi/getnum.c + +atoi/str2i/libshadow_la-str2i.lo: atoi/str2i/str2i.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/str2i/libshadow_la-str2i.lo -MD -MP -MF atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Tpo -c -o atoi/str2i/libshadow_la-str2i.lo `test -f 'atoi/str2i/str2i.c' || echo '$(srcdir)/'`atoi/str2i/str2i.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Tpo atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/str2i/str2i.c' object='atoi/str2i/libshadow_la-str2i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/str2i/libshadow_la-str2i.lo `test -f 'atoi/str2i/str2i.c' || echo '$(srcdir)/'`atoi/str2i/str2i.c + +atoi/str2i/libshadow_la-str2s.lo: atoi/str2i/str2s.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/str2i/libshadow_la-str2s.lo -MD -MP -MF atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Tpo -c -o atoi/str2i/libshadow_la-str2s.lo `test -f 'atoi/str2i/str2s.c' || echo '$(srcdir)/'`atoi/str2i/str2s.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Tpo atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/str2i/str2s.c' object='atoi/str2i/libshadow_la-str2s.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/str2i/libshadow_la-str2s.lo `test -f 'atoi/str2i/str2s.c' || echo '$(srcdir)/'`atoi/str2i/str2s.c + +atoi/str2i/libshadow_la-str2u.lo: atoi/str2i/str2u.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/str2i/libshadow_la-str2u.lo -MD -MP -MF atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Tpo -c -o atoi/str2i/libshadow_la-str2u.lo `test -f 'atoi/str2i/str2u.c' || echo '$(srcdir)/'`atoi/str2i/str2u.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Tpo atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/str2i/str2u.c' object='atoi/str2i/libshadow_la-str2u.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/str2i/libshadow_la-str2u.lo `test -f 'atoi/str2i/str2u.c' || echo '$(srcdir)/'`atoi/str2i/str2u.c + +atoi/strtoi/libshadow_la-strtoi.lo: atoi/strtoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/strtoi/libshadow_la-strtoi.lo -MD -MP -MF atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Tpo -c -o atoi/strtoi/libshadow_la-strtoi.lo `test -f 'atoi/strtoi/strtoi.c' || echo '$(srcdir)/'`atoi/strtoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Tpo atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/strtoi/strtoi.c' object='atoi/strtoi/libshadow_la-strtoi.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/strtoi/libshadow_la-strtoi.lo `test -f 'atoi/strtoi/strtoi.c' || echo '$(srcdir)/'`atoi/strtoi/strtoi.c + +atoi/strtoi/libshadow_la-strtou.lo: atoi/strtoi/strtou.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/strtoi/libshadow_la-strtou.lo -MD -MP -MF atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Tpo -c -o atoi/strtoi/libshadow_la-strtou.lo `test -f 'atoi/strtoi/strtou.c' || echo '$(srcdir)/'`atoi/strtoi/strtou.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Tpo atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/strtoi/strtou.c' object='atoi/strtoi/libshadow_la-strtou.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/strtoi/libshadow_la-strtou.lo `test -f 'atoi/strtoi/strtou.c' || echo '$(srcdir)/'`atoi/strtoi/strtou.c + +atoi/strtoi/libshadow_la-strtou_noneg.lo: atoi/strtoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT atoi/strtoi/libshadow_la-strtou_noneg.lo -MD -MP -MF atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Tpo -c -o atoi/strtoi/libshadow_la-strtou_noneg.lo `test -f 'atoi/strtoi/strtou_noneg.c' || echo '$(srcdir)/'`atoi/strtoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Tpo atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/strtoi/strtou_noneg.c' object='atoi/strtoi/libshadow_la-strtou_noneg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o atoi/strtoi/libshadow_la-strtou_noneg.lo `test -f 'atoi/strtoi/strtou_noneg.c' || echo '$(srcdir)/'`atoi/strtoi/strtou_noneg.c libshadow_la-audit_help.lo: audit_help.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-audit_help.lo -MD -MP -MF $(DEPDIR)/libshadow_la-audit_help.Tpo -c -o libshadow_la-audit_help.lo `test -f 'audit_help.c' || echo '$(srcdir)/'`audit_help.c @@ -1118,12 +1532,19 @@ libshadow_la-fputsx.lo: fputsx.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-fputsx.lo `test -f 'fputsx.c' || echo '$(srcdir)/'`fputsx.c -libshadow_la-get_gid.lo: get_gid.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-get_gid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_gid.Tpo -c -o libshadow_la-get_gid.lo `test -f 'get_gid.c' || echo '$(srcdir)/'`get_gid.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-get_gid.Tpo $(DEPDIR)/libshadow_la-get_gid.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='get_gid.c' object='libshadow_la-get_gid.lo' libtool=yes @AMDEPBACKSLASH@ +fs/readlink/libshadow_la-areadlink.lo: fs/readlink/areadlink.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT fs/readlink/libshadow_la-areadlink.lo -MD -MP -MF fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Tpo -c -o fs/readlink/libshadow_la-areadlink.lo `test -f 'fs/readlink/areadlink.c' || echo '$(srcdir)/'`fs/readlink/areadlink.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Tpo fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs/readlink/areadlink.c' object='fs/readlink/libshadow_la-areadlink.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-get_gid.lo `test -f 'get_gid.c' || echo '$(srcdir)/'`get_gid.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o fs/readlink/libshadow_la-areadlink.lo `test -f 'fs/readlink/areadlink.c' || echo '$(srcdir)/'`fs/readlink/areadlink.c + +fs/readlink/libshadow_la-readlinknul.lo: fs/readlink/readlinknul.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT fs/readlink/libshadow_la-readlinknul.lo -MD -MP -MF fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Tpo -c -o fs/readlink/libshadow_la-readlinknul.lo `test -f 'fs/readlink/readlinknul.c' || echo '$(srcdir)/'`fs/readlink/readlinknul.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Tpo fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs/readlink/readlinknul.c' object='fs/readlink/libshadow_la-readlinknul.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o fs/readlink/libshadow_la-readlinknul.lo `test -f 'fs/readlink/readlinknul.c' || echo '$(srcdir)/'`fs/readlink/readlinknul.c libshadow_la-get_pid.lo: get_pid.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-get_pid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_pid.Tpo -c -o libshadow_la-get_pid.lo `test -f 'get_pid.c' || echo '$(srcdir)/'`get_pid.c @@ -1132,13 +1553,6 @@ libshadow_la-get_pid.lo: get_pid.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-get_pid.lo `test -f 'get_pid.c' || echo '$(srcdir)/'`get_pid.c -libshadow_la-get_uid.lo: get_uid.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-get_uid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_uid.Tpo -c -o libshadow_la-get_uid.lo `test -f 'get_uid.c' || echo '$(srcdir)/'`get_uid.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-get_uid.Tpo $(DEPDIR)/libshadow_la-get_uid.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='get_uid.c' object='libshadow_la-get_uid.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-get_uid.lo `test -f 'get_uid.c' || echo '$(srcdir)/'`get_uid.c - libshadow_la-getdate.lo: getdate.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-getdate.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getdate.Tpo -c -o libshadow_la-getdate.lo `test -f 'getdate.c' || echo '$(srcdir)/'`getdate.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-getdate.Tpo $(DEPDIR)/libshadow_la-getdate.Plo @@ -1251,13 +1665,6 @@ libshadow_la-mail.lo: mail.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-mail.lo `test -f 'mail.c' || echo '$(srcdir)/'`mail.c -libshadow_la-memzero.lo: memzero.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-memzero.lo -MD -MP -MF $(DEPDIR)/libshadow_la-memzero.Tpo -c -o libshadow_la-memzero.lo `test -f 'memzero.c' || echo '$(srcdir)/'`memzero.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-memzero.Tpo $(DEPDIR)/libshadow_la-memzero.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='memzero.c' object='libshadow_la-memzero.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-memzero.lo `test -f 'memzero.c' || echo '$(srcdir)/'`memzero.c - libshadow_la-motd.lo: motd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-motd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-motd.Tpo -c -o libshadow_la-motd.lo `test -f 'motd.c' || echo '$(srcdir)/'`motd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-motd.Tpo $(DEPDIR)/libshadow_la-motd.Plo @@ -1370,13 +1777,6 @@ libshadow_la-remove_tree.lo: remove_tree.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-remove_tree.lo `test -f 'remove_tree.c' || echo '$(srcdir)/'`remove_tree.c -libshadow_la-rlogin.lo: rlogin.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-rlogin.lo -MD -MP -MF $(DEPDIR)/libshadow_la-rlogin.Tpo -c -o libshadow_la-rlogin.lo `test -f 'rlogin.c' || echo '$(srcdir)/'`rlogin.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-rlogin.Tpo $(DEPDIR)/libshadow_la-rlogin.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rlogin.c' object='libshadow_la-rlogin.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-rlogin.lo `test -f 'rlogin.c' || echo '$(srcdir)/'`rlogin.c - libshadow_la-root_flag.lo: root_flag.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-root_flag.lo -MD -MP -MF $(DEPDIR)/libshadow_la-root_flag.Tpo -c -o libshadow_la-root_flag.lo `test -f 'root_flag.c' || echo '$(srcdir)/'`root_flag.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-root_flag.Tpo $(DEPDIR)/libshadow_la-root_flag.Plo @@ -1503,26 +1903,117 @@ libshadow_la-sssd.lo: sssd.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o libshadow_la-sssd.lo `test -f 'sssd.c' || echo '$(srcdir)/'`sssd.c -string/libshadow_la-sprintf.lo: string/sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/libshadow_la-sprintf.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-sprintf.Tpo -c -o string/libshadow_la-sprintf.lo `test -f 'string/sprintf.c' || echo '$(srcdir)/'`string/sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-sprintf.Tpo string/$(DEPDIR)/libshadow_la-sprintf.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/sprintf.c' object='string/libshadow_la-sprintf.lo' libtool=yes @AMDEPBACKSLASH@ +string/memset/libshadow_la-memzero.lo: string/memset/memzero.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/memset/libshadow_la-memzero.lo -MD -MP -MF string/memset/$(DEPDIR)/libshadow_la-memzero.Tpo -c -o string/memset/libshadow_la-memzero.lo `test -f 'string/memset/memzero.c' || echo '$(srcdir)/'`string/memset/memzero.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/memset/$(DEPDIR)/libshadow_la-memzero.Tpo string/memset/$(DEPDIR)/libshadow_la-memzero.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/memset/memzero.c' object='string/memset/libshadow_la-memzero.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/libshadow_la-sprintf.lo `test -f 'string/sprintf.c' || echo '$(srcdir)/'`string/sprintf.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/memset/libshadow_la-memzero.lo `test -f 'string/memset/memzero.c' || echo '$(srcdir)/'`string/memset/memzero.c -string/libshadow_la-stpecpy.lo: string/stpecpy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/libshadow_la-stpecpy.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-stpecpy.Tpo -c -o string/libshadow_la-stpecpy.lo `test -f 'string/stpecpy.c' || echo '$(srcdir)/'`string/stpecpy.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-stpecpy.Tpo string/$(DEPDIR)/libshadow_la-stpecpy.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/stpecpy.c' object='string/libshadow_la-stpecpy.lo' libtool=yes @AMDEPBACKSLASH@ +string/sprintf/libshadow_la-snprintf.lo: string/sprintf/snprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/sprintf/libshadow_la-snprintf.lo -MD -MP -MF string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Tpo -c -o string/sprintf/libshadow_la-snprintf.lo `test -f 'string/sprintf/snprintf.c' || echo '$(srcdir)/'`string/sprintf/snprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Tpo string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/sprintf/snprintf.c' object='string/sprintf/libshadow_la-snprintf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/libshadow_la-stpecpy.lo `test -f 'string/stpecpy.c' || echo '$(srcdir)/'`string/stpecpy.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/sprintf/libshadow_la-snprintf.lo `test -f 'string/sprintf/snprintf.c' || echo '$(srcdir)/'`string/sprintf/snprintf.c -string/libshadow_la-stpeprintf.lo: string/stpeprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/libshadow_la-stpeprintf.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-stpeprintf.Tpo -c -o string/libshadow_la-stpeprintf.lo `test -f 'string/stpeprintf.c' || echo '$(srcdir)/'`string/stpeprintf.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-stpeprintf.Tpo string/$(DEPDIR)/libshadow_la-stpeprintf.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/stpeprintf.c' object='string/libshadow_la-stpeprintf.lo' libtool=yes @AMDEPBACKSLASH@ +string/sprintf/libshadow_la-stpeprintf.lo: string/sprintf/stpeprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/sprintf/libshadow_la-stpeprintf.lo -MD -MP -MF string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Tpo -c -o string/sprintf/libshadow_la-stpeprintf.lo `test -f 'string/sprintf/stpeprintf.c' || echo '$(srcdir)/'`string/sprintf/stpeprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Tpo string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/sprintf/stpeprintf.c' object='string/sprintf/libshadow_la-stpeprintf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/libshadow_la-stpeprintf.lo `test -f 'string/stpeprintf.c' || echo '$(srcdir)/'`string/stpeprintf.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/sprintf/libshadow_la-stpeprintf.lo `test -f 'string/sprintf/stpeprintf.c' || echo '$(srcdir)/'`string/sprintf/stpeprintf.c + +string/sprintf/libshadow_la-xasprintf.lo: string/sprintf/xasprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/sprintf/libshadow_la-xasprintf.lo -MD -MP -MF string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Tpo -c -o string/sprintf/libshadow_la-xasprintf.lo `test -f 'string/sprintf/xasprintf.c' || echo '$(srcdir)/'`string/sprintf/xasprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Tpo string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/sprintf/xasprintf.c' object='string/sprintf/libshadow_la-xasprintf.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/sprintf/libshadow_la-xasprintf.lo `test -f 'string/sprintf/xasprintf.c' || echo '$(srcdir)/'`string/sprintf/xasprintf.c + +string/strchr/libshadow_la-strchrcnt.lo: string/strchr/strchrcnt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strchr/libshadow_la-strchrcnt.lo -MD -MP -MF string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Tpo -c -o string/strchr/libshadow_la-strchrcnt.lo `test -f 'string/strchr/strchrcnt.c' || echo '$(srcdir)/'`string/strchr/strchrcnt.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Tpo string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strchr/strchrcnt.c' object='string/strchr/libshadow_la-strchrcnt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strchr/libshadow_la-strchrcnt.lo `test -f 'string/strchr/strchrcnt.c' || echo '$(srcdir)/'`string/strchr/strchrcnt.c + +string/strchr/libshadow_la-stpspn.lo: string/strchr/stpspn.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strchr/libshadow_la-stpspn.lo -MD -MP -MF string/strchr/$(DEPDIR)/libshadow_la-stpspn.Tpo -c -o string/strchr/libshadow_la-stpspn.lo `test -f 'string/strchr/stpspn.c' || echo '$(srcdir)/'`string/strchr/stpspn.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strchr/$(DEPDIR)/libshadow_la-stpspn.Tpo string/strchr/$(DEPDIR)/libshadow_la-stpspn.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strchr/stpspn.c' object='string/strchr/libshadow_la-stpspn.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strchr/libshadow_la-stpspn.lo `test -f 'string/strchr/stpspn.c' || echo '$(srcdir)/'`string/strchr/stpspn.c + +string/strchr/libshadow_la-strnul.lo: string/strchr/strnul.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strchr/libshadow_la-strnul.lo -MD -MP -MF string/strchr/$(DEPDIR)/libshadow_la-strnul.Tpo -c -o string/strchr/libshadow_la-strnul.lo `test -f 'string/strchr/strnul.c' || echo '$(srcdir)/'`string/strchr/strnul.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strchr/$(DEPDIR)/libshadow_la-strnul.Tpo string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strchr/strnul.c' object='string/strchr/libshadow_la-strnul.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strchr/libshadow_la-strnul.lo `test -f 'string/strchr/strnul.c' || echo '$(srcdir)/'`string/strchr/strnul.c + +string/strchr/libshadow_la-strrspn.lo: string/strchr/strrspn.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strchr/libshadow_la-strrspn.lo -MD -MP -MF string/strchr/$(DEPDIR)/libshadow_la-strrspn.Tpo -c -o string/strchr/libshadow_la-strrspn.lo `test -f 'string/strchr/strrspn.c' || echo '$(srcdir)/'`string/strchr/strrspn.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strchr/$(DEPDIR)/libshadow_la-strrspn.Tpo string/strchr/$(DEPDIR)/libshadow_la-strrspn.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strchr/strrspn.c' object='string/strchr/libshadow_la-strrspn.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strchr/libshadow_la-strrspn.lo `test -f 'string/strchr/strrspn.c' || echo '$(srcdir)/'`string/strchr/strrspn.c + +string/strcmp/libshadow_la-streq.lo: string/strcmp/streq.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcmp/libshadow_la-streq.lo -MD -MP -MF string/strcmp/$(DEPDIR)/libshadow_la-streq.Tpo -c -o string/strcmp/libshadow_la-streq.lo `test -f 'string/strcmp/streq.c' || echo '$(srcdir)/'`string/strcmp/streq.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcmp/$(DEPDIR)/libshadow_la-streq.Tpo string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strcmp/streq.c' object='string/strcmp/libshadow_la-streq.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcmp/libshadow_la-streq.lo `test -f 'string/strcmp/streq.c' || echo '$(srcdir)/'`string/strcmp/streq.c + +string/strcpy/libshadow_la-stpecpy.lo: string/strcpy/stpecpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcpy/libshadow_la-stpecpy.lo -MD -MP -MF string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Tpo -c -o string/strcpy/libshadow_la-stpecpy.lo `test -f 'string/strcpy/stpecpy.c' || echo '$(srcdir)/'`string/strcpy/stpecpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Tpo string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strcpy/stpecpy.c' object='string/strcpy/libshadow_la-stpecpy.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcpy/libshadow_la-stpecpy.lo `test -f 'string/strcpy/stpecpy.c' || echo '$(srcdir)/'`string/strcpy/stpecpy.c + +string/strcpy/libshadow_la-strncat.lo: string/strcpy/strncat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcpy/libshadow_la-strncat.lo -MD -MP -MF string/strcpy/$(DEPDIR)/libshadow_la-strncat.Tpo -c -o string/strcpy/libshadow_la-strncat.lo `test -f 'string/strcpy/strncat.c' || echo '$(srcdir)/'`string/strcpy/strncat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcpy/$(DEPDIR)/libshadow_la-strncat.Tpo string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strcpy/strncat.c' object='string/strcpy/libshadow_la-strncat.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcpy/libshadow_la-strncat.lo `test -f 'string/strcpy/strncat.c' || echo '$(srcdir)/'`string/strcpy/strncat.c + +string/strcpy/libshadow_la-strncpy.lo: string/strcpy/strncpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcpy/libshadow_la-strncpy.lo -MD -MP -MF string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Tpo -c -o string/strcpy/libshadow_la-strncpy.lo `test -f 'string/strcpy/strncpy.c' || echo '$(srcdir)/'`string/strcpy/strncpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Tpo string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strcpy/strncpy.c' object='string/strcpy/libshadow_la-strncpy.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcpy/libshadow_la-strncpy.lo `test -f 'string/strcpy/strncpy.c' || echo '$(srcdir)/'`string/strcpy/strncpy.c + +string/strcpy/libshadow_la-strtcpy.lo: string/strcpy/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strcpy/libshadow_la-strtcpy.lo -MD -MP -MF string/strcpy/$(DEPDIR)/libshadow_la-strtcpy.Tpo -c -o string/strcpy/libshadow_la-strtcpy.lo `test -f 'string/strcpy/strtcpy.c' || echo '$(srcdir)/'`string/strcpy/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strcpy/$(DEPDIR)/libshadow_la-strtcpy.Tpo string/strcpy/$(DEPDIR)/libshadow_la-strtcpy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strcpy/strtcpy.c' object='string/strcpy/libshadow_la-strtcpy.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strcpy/libshadow_la-strtcpy.lo `test -f 'string/strcpy/strtcpy.c' || echo '$(srcdir)/'`string/strcpy/strtcpy.c + +string/strdup/libshadow_la-strndupa.lo: string/strdup/strndupa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strdup/libshadow_la-strndupa.lo -MD -MP -MF string/strdup/$(DEPDIR)/libshadow_la-strndupa.Tpo -c -o string/strdup/libshadow_la-strndupa.lo `test -f 'string/strdup/strndupa.c' || echo '$(srcdir)/'`string/strdup/strndupa.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strdup/$(DEPDIR)/libshadow_la-strndupa.Tpo string/strdup/$(DEPDIR)/libshadow_la-strndupa.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strdup/strndupa.c' object='string/strdup/libshadow_la-strndupa.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strdup/libshadow_la-strndupa.lo `test -f 'string/strdup/strndupa.c' || echo '$(srcdir)/'`string/strdup/strndupa.c + +string/strdup/libshadow_la-xstrdup.lo: string/strdup/xstrdup.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strdup/libshadow_la-xstrdup.lo -MD -MP -MF string/strdup/$(DEPDIR)/libshadow_la-xstrdup.Tpo -c -o string/strdup/libshadow_la-xstrdup.lo `test -f 'string/strdup/xstrdup.c' || echo '$(srcdir)/'`string/strdup/xstrdup.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strdup/$(DEPDIR)/libshadow_la-xstrdup.Tpo string/strdup/$(DEPDIR)/libshadow_la-xstrdup.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strdup/xstrdup.c' object='string/strdup/libshadow_la-xstrdup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strdup/libshadow_la-xstrdup.lo `test -f 'string/strdup/xstrdup.c' || echo '$(srcdir)/'`string/strdup/xstrdup.c + +string/strdup/libshadow_la-xstrndup.lo: string/strdup/xstrndup.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strdup/libshadow_la-xstrndup.lo -MD -MP -MF string/strdup/$(DEPDIR)/libshadow_la-xstrndup.Tpo -c -o string/strdup/libshadow_la-xstrndup.lo `test -f 'string/strdup/xstrndup.c' || echo '$(srcdir)/'`string/strdup/xstrndup.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strdup/$(DEPDIR)/libshadow_la-xstrndup.Tpo string/strdup/$(DEPDIR)/libshadow_la-xstrndup.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strdup/xstrndup.c' object='string/strdup/libshadow_la-xstrndup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strdup/libshadow_la-xstrndup.lo `test -f 'string/strdup/xstrndup.c' || echo '$(srcdir)/'`string/strdup/xstrndup.c string/libshadow_la-strftime.lo: string/strftime.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/libshadow_la-strftime.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-strftime.Tpo -c -o string/libshadow_la-strftime.lo `test -f 'string/strftime.c' || echo '$(srcdir)/'`string/strftime.c @@ -1531,12 +2022,12 @@ string/libshadow_la-strftime.lo: string/strftime.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/libshadow_la-strftime.lo `test -f 'string/strftime.c' || echo '$(srcdir)/'`string/strftime.c -string/libshadow_la-strtcpy.lo: string/strtcpy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/libshadow_la-strtcpy.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-strtcpy.Tpo -c -o string/libshadow_la-strtcpy.lo `test -f 'string/strtcpy.c' || echo '$(srcdir)/'`string/strtcpy.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-strtcpy.Tpo string/$(DEPDIR)/libshadow_la-strtcpy.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strtcpy.c' object='string/libshadow_la-strtcpy.lo' libtool=yes @AMDEPBACKSLASH@ +string/strtok/libshadow_la-stpsep.lo: string/strtok/stpsep.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT string/strtok/libshadow_la-stpsep.lo -MD -MP -MF string/strtok/$(DEPDIR)/libshadow_la-stpsep.Tpo -c -o string/strtok/libshadow_la-stpsep.lo `test -f 'string/strtok/stpsep.c' || echo '$(srcdir)/'`string/strtok/stpsep.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/strtok/$(DEPDIR)/libshadow_la-stpsep.Tpo string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strtok/stpsep.c' object='string/strtok/libshadow_la-stpsep.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/libshadow_la-strtcpy.lo `test -f 'string/strtcpy.c' || echo '$(srcdir)/'`string/strtcpy.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -c -o string/strtok/libshadow_la-stpsep.lo `test -f 'string/strtok/stpsep.c' || echo '$(srcdir)/'`string/strtok/stpsep.c libshadow_la-strtoday.lo: strtoday.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(libshadow_la_CFLAGS) $(CFLAGS) -MT libshadow_la-strtoday.lo -MD -MP -MF $(DEPDIR)/libshadow_la-strtoday.Tpo -c -o libshadow_la-strtoday.lo `test -f 'strtoday.c' || echo '$(srcdir)/'`strtoday.c @@ -1721,8 +2212,21 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs + -rm -rf alloc/.libs alloc/_libs + -rm -rf alloc/x/.libs alloc/x/_libs -rm -rf atoi/.libs atoi/_libs + -rm -rf atoi/a2i/.libs atoi/a2i/_libs + -rm -rf atoi/str2i/.libs atoi/str2i/_libs + -rm -rf atoi/strtoi/.libs atoi/strtoi/_libs + -rm -rf fs/readlink/.libs fs/readlink/_libs -rm -rf string/.libs string/_libs + -rm -rf string/memset/.libs string/memset/_libs + -rm -rf string/sprintf/.libs string/sprintf/_libs + -rm -rf string/strchr/.libs string/strchr/_libs + -rm -rf string/strcmp/.libs string/strcmp/_libs + -rm -rf string/strcpy/.libs string/strcpy/_libs + -rm -rf string/strdup/.libs string/strdup/_libs + -rm -rf string/strtok/.libs string/strtok/_libs -rm -rf time/.libs time/_libs ID: $(am__tagged_files) @@ -1839,10 +2343,36 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f alloc/$(DEPDIR)/$(am__dirstamp) + -rm -f alloc/$(am__dirstamp) + -rm -f alloc/x/$(DEPDIR)/$(am__dirstamp) + -rm -f alloc/x/$(am__dirstamp) -rm -f atoi/$(DEPDIR)/$(am__dirstamp) -rm -f atoi/$(am__dirstamp) + -rm -f atoi/a2i/$(DEPDIR)/$(am__dirstamp) + -rm -f atoi/a2i/$(am__dirstamp) + -rm -f atoi/str2i/$(DEPDIR)/$(am__dirstamp) + -rm -f atoi/str2i/$(am__dirstamp) + -rm -f atoi/strtoi/$(DEPDIR)/$(am__dirstamp) + -rm -f atoi/strtoi/$(am__dirstamp) + -rm -f fs/readlink/$(DEPDIR)/$(am__dirstamp) + -rm -f fs/readlink/$(am__dirstamp) -rm -f string/$(DEPDIR)/$(am__dirstamp) -rm -f string/$(am__dirstamp) + -rm -f string/memset/$(DEPDIR)/$(am__dirstamp) + -rm -f string/memset/$(am__dirstamp) + -rm -f string/sprintf/$(DEPDIR)/$(am__dirstamp) + -rm -f string/sprintf/$(am__dirstamp) + -rm -f string/strchr/$(DEPDIR)/$(am__dirstamp) + -rm -f string/strchr/$(am__dirstamp) + -rm -f string/strcmp/$(DEPDIR)/$(am__dirstamp) + -rm -f string/strcmp/$(am__dirstamp) + -rm -f string/strcpy/$(DEPDIR)/$(am__dirstamp) + -rm -f string/strcpy/$(am__dirstamp) + -rm -f string/strdup/$(DEPDIR)/$(am__dirstamp) + -rm -f string/strdup/$(am__dirstamp) + -rm -f string/strtok/$(DEPDIR)/$(am__dirstamp) + -rm -f string/strtok/$(am__dirstamp) -rm -f time/$(DEPDIR)/$(am__dirstamp) -rm -f time/$(am__dirstamp) @@ -1860,7 +2390,6 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libshadow_la-adds.Plo -rm -f ./$(DEPDIR)/libshadow_la-age.Plo -rm -f ./$(DEPDIR)/libshadow_la-agetpass.Plo - -rm -f ./$(DEPDIR)/libshadow_la-alloc.Plo -rm -f ./$(DEPDIR)/libshadow_la-audit_help.Plo -rm -f ./$(DEPDIR)/libshadow_la-basename.Plo -rm -f ./$(DEPDIR)/libshadow_la-bit.Plo @@ -1886,9 +2415,7 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libshadow_la-find_new_uid.Plo -rm -f ./$(DEPDIR)/libshadow_la-fputsx.Plo -rm -f ./$(DEPDIR)/libshadow_la-freezero.Plo - -rm -f ./$(DEPDIR)/libshadow_la-get_gid.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_pid.Plo - -rm -f ./$(DEPDIR)/libshadow_la-get_uid.Plo -rm -f ./$(DEPDIR)/libshadow_la-getdate.Plo -rm -f ./$(DEPDIR)/libshadow_la-getdef.Plo -rm -f ./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo @@ -1907,7 +2434,6 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libshadow_la-logind.Plo -rm -f ./$(DEPDIR)/libshadow_la-loginprompt.Plo -rm -f ./$(DEPDIR)/libshadow_la-mail.Plo - -rm -f ./$(DEPDIR)/libshadow_la-memzero.Plo -rm -f ./$(DEPDIR)/libshadow_la-motd.Plo -rm -f ./$(DEPDIR)/libshadow_la-myname.Plo -rm -f ./$(DEPDIR)/libshadow_la-nscd.Plo @@ -1925,7 +2451,6 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libshadow_la-pwmem.Plo -rm -f ./$(DEPDIR)/libshadow_la-readpassphrase.Plo -rm -f ./$(DEPDIR)/libshadow_la-remove_tree.Plo - -rm -f ./$(DEPDIR)/libshadow_la-rlogin.Plo -rm -f ./$(DEPDIR)/libshadow_la-root_flag.Plo -rm -f ./$(DEPDIR)/libshadow_la-run_part.Plo -rm -f ./$(DEPDIR)/libshadow_la-salt.Plo @@ -1963,15 +2488,47 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libshadow_la-xgetspnam.Plo -rm -f ./$(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo -rm -f ./$(DEPDIR)/libshadow_la-yesno.Plo - -rm -f atoi/$(DEPDIR)/libshadow_la-a2i.Plo - -rm -f atoi/$(DEPDIR)/libshadow_la-str2i.Plo - -rm -f atoi/$(DEPDIR)/libshadow_la-strtoi.Plo - -rm -f atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo - -rm -f string/$(DEPDIR)/libshadow_la-sprintf.Plo - -rm -f string/$(DEPDIR)/libshadow_la-stpecpy.Plo - -rm -f string/$(DEPDIR)/libshadow_la-stpeprintf.Plo + -rm -f alloc/$(DEPDIR)/libshadow_la-calloc.Plo + -rm -f alloc/$(DEPDIR)/libshadow_la-malloc.Plo + -rm -f alloc/$(DEPDIR)/libshadow_la-realloc.Plo + -rm -f alloc/$(DEPDIR)/libshadow_la-reallocf.Plo + -rm -f alloc/x/$(DEPDIR)/libshadow_la-xcalloc.Plo + -rm -f alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo + -rm -f alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo + -rm -f atoi/$(DEPDIR)/libshadow_la-getnum.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s_nc.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo + -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo + -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo + -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo + -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo + -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo + -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo + -rm -f fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo + -rm -f fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo -rm -f string/$(DEPDIR)/libshadow_la-strftime.Plo - -rm -f string/$(DEPDIR)/libshadow_la-strtcpy.Plo + -rm -f string/memset/$(DEPDIR)/libshadow_la-memzero.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo + -rm -f string/strchr/$(DEPDIR)/libshadow_la-stpspn.Plo + -rm -f string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo + -rm -f string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo + -rm -f string/strchr/$(DEPDIR)/libshadow_la-strrspn.Plo + -rm -f string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo + -rm -f string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo + -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo + -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo + -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strtcpy.Plo + -rm -f string/strdup/$(DEPDIR)/libshadow_la-strndupa.Plo + -rm -f string/strdup/$(DEPDIR)/libshadow_la-xstrdup.Plo + -rm -f string/strdup/$(DEPDIR)/libshadow_la-xstrndup.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo -rm -f time/$(DEPDIR)/libshadow_la-day_to_str.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ @@ -2022,7 +2579,6 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libshadow_la-adds.Plo -rm -f ./$(DEPDIR)/libshadow_la-age.Plo -rm -f ./$(DEPDIR)/libshadow_la-agetpass.Plo - -rm -f ./$(DEPDIR)/libshadow_la-alloc.Plo -rm -f ./$(DEPDIR)/libshadow_la-audit_help.Plo -rm -f ./$(DEPDIR)/libshadow_la-basename.Plo -rm -f ./$(DEPDIR)/libshadow_la-bit.Plo @@ -2048,9 +2604,7 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libshadow_la-find_new_uid.Plo -rm -f ./$(DEPDIR)/libshadow_la-fputsx.Plo -rm -f ./$(DEPDIR)/libshadow_la-freezero.Plo - -rm -f ./$(DEPDIR)/libshadow_la-get_gid.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_pid.Plo - -rm -f ./$(DEPDIR)/libshadow_la-get_uid.Plo -rm -f ./$(DEPDIR)/libshadow_la-getdate.Plo -rm -f ./$(DEPDIR)/libshadow_la-getdef.Plo -rm -f ./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo @@ -2069,7 +2623,6 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libshadow_la-logind.Plo -rm -f ./$(DEPDIR)/libshadow_la-loginprompt.Plo -rm -f ./$(DEPDIR)/libshadow_la-mail.Plo - -rm -f ./$(DEPDIR)/libshadow_la-memzero.Plo -rm -f ./$(DEPDIR)/libshadow_la-motd.Plo -rm -f ./$(DEPDIR)/libshadow_la-myname.Plo -rm -f ./$(DEPDIR)/libshadow_la-nscd.Plo @@ -2087,7 +2640,6 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libshadow_la-pwmem.Plo -rm -f ./$(DEPDIR)/libshadow_la-readpassphrase.Plo -rm -f ./$(DEPDIR)/libshadow_la-remove_tree.Plo - -rm -f ./$(DEPDIR)/libshadow_la-rlogin.Plo -rm -f ./$(DEPDIR)/libshadow_la-root_flag.Plo -rm -f ./$(DEPDIR)/libshadow_la-run_part.Plo -rm -f ./$(DEPDIR)/libshadow_la-salt.Plo @@ -2125,15 +2677,47 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libshadow_la-xgetspnam.Plo -rm -f ./$(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo -rm -f ./$(DEPDIR)/libshadow_la-yesno.Plo - -rm -f atoi/$(DEPDIR)/libshadow_la-a2i.Plo - -rm -f atoi/$(DEPDIR)/libshadow_la-str2i.Plo - -rm -f atoi/$(DEPDIR)/libshadow_la-strtoi.Plo - -rm -f atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo - -rm -f string/$(DEPDIR)/libshadow_la-sprintf.Plo - -rm -f string/$(DEPDIR)/libshadow_la-stpecpy.Plo - -rm -f string/$(DEPDIR)/libshadow_la-stpeprintf.Plo + -rm -f alloc/$(DEPDIR)/libshadow_la-calloc.Plo + -rm -f alloc/$(DEPDIR)/libshadow_la-malloc.Plo + -rm -f alloc/$(DEPDIR)/libshadow_la-realloc.Plo + -rm -f alloc/$(DEPDIR)/libshadow_la-reallocf.Plo + -rm -f alloc/x/$(DEPDIR)/libshadow_la-xcalloc.Plo + -rm -f alloc/x/$(DEPDIR)/libshadow_la-xmalloc.Plo + -rm -f alloc/x/$(DEPDIR)/libshadow_la-xrealloc.Plo + -rm -f atoi/$(DEPDIR)/libshadow_la-getnum.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2i.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s_c.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2s_nc.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u_c.Plo + -rm -f atoi/a2i/$(DEPDIR)/libshadow_la-a2u_nc.Plo + -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2i.Plo + -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2s.Plo + -rm -f atoi/str2i/$(DEPDIR)/libshadow_la-str2u.Plo + -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtoi.Plo + -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtou.Plo + -rm -f atoi/strtoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo + -rm -f fs/readlink/$(DEPDIR)/libshadow_la-areadlink.Plo + -rm -f fs/readlink/$(DEPDIR)/libshadow_la-readlinknul.Plo -rm -f string/$(DEPDIR)/libshadow_la-strftime.Plo - -rm -f string/$(DEPDIR)/libshadow_la-strtcpy.Plo + -rm -f string/memset/$(DEPDIR)/libshadow_la-memzero.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-snprintf.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-stpeprintf.Plo + -rm -f string/sprintf/$(DEPDIR)/libshadow_la-xasprintf.Plo + -rm -f string/strchr/$(DEPDIR)/libshadow_la-stpspn.Plo + -rm -f string/strchr/$(DEPDIR)/libshadow_la-strchrcnt.Plo + -rm -f string/strchr/$(DEPDIR)/libshadow_la-strnul.Plo + -rm -f string/strchr/$(DEPDIR)/libshadow_la-strrspn.Plo + -rm -f string/strcmp/$(DEPDIR)/libshadow_la-streq.Plo + -rm -f string/strcpy/$(DEPDIR)/libshadow_la-stpecpy.Plo + -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strncat.Plo + -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strncpy.Plo + -rm -f string/strcpy/$(DEPDIR)/libshadow_la-strtcpy.Plo + -rm -f string/strdup/$(DEPDIR)/libshadow_la-strndupa.Plo + -rm -f string/strdup/$(DEPDIR)/libshadow_la-xstrdup.Plo + -rm -f string/strdup/$(DEPDIR)/libshadow_la-xstrndup.Plo + -rm -f string/strtok/$(DEPDIR)/libshadow_la-stpsep.Plo -rm -f time/$(DEPDIR)/libshadow_la-day_to_str.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff --git a/lib/addgrps.c b/lib/addgrps.c index dae3dba2..97c47e07 100644 --- a/lib/addgrps.c +++ b/lib/addgrps.c @@ -14,28 +14,30 @@ #include "prototypes.h" #include "defines.h" -#include -#include #include +#include +#include +#include -#include "alloc.h" +#include "alloc/malloc.h" +#include "alloc/reallocf.h" #include "shadowlog.h" #ident "$Id$" -#define SEP ",:" /* * Add groups with names from LIST (separated by commas or colons) * to the supplementary group set. Silently ignore groups which are - * already there. Warning: uses strtok(). + * already there. */ -int add_groups (const char *list) +int +add_groups(const char *list) { GETGROUPS_T *grouplist; size_t i; int ngroups; bool added; - char *token; + char *g, *p; char buf[1024]; int ret; FILE *shadow_logfd = log_get_logfd(); @@ -70,13 +72,13 @@ int add_groups (const char *list) } added = false; - for (token = strtok (buf, SEP); NULL != token; token = strtok (NULL, SEP)) { + p = buf; + while (NULL != (g = strsep(&p, ",:"))) { struct group *grp; - grp = getgrnam (token); /* local, no need for xgetgrnam */ + grp = getgrnam(g); /* local, no need for xgetgrnam */ if (NULL == grp) { - fprintf (shadow_logfd, _("Warning: unknown group %s\n"), - token); + fprintf(shadow_logfd, _("Warning: unknown group %s\n"), g); continue; } diff --git a/lib/agetpass.c b/lib/agetpass.c index 5d9f9286..ecf40da9 100644 --- a/lib/agetpass.c +++ b/lib/agetpass.c @@ -16,7 +16,7 @@ #ident "$Id$" -#include "alloc.h" +#include "alloc/malloc.h" #if WITH_LIBBSD == 0 #include "freezero.h" diff --git a/lib/alloc.c b/lib/alloc.c deleted file mode 100644 index 962f45a1..00000000 --- a/lib/alloc.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1990 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 1998, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2003 - 2006, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2008 , Nicolas François - * SPDX-FileCopyrightText: 2023 , Alejandro Colomar - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -/* Replacements for malloc and strdup with error checking. Too trivial - to be worth copyrighting :-). I did that because a lot of code used - malloc and strdup without checking for NULL pointer, and I like some - message better than a core dump... --marekm - - Yeh, but. Remember that bailing out might leave the system in some - bizarre state. You really want to put in error checking, then add - some back-out failure recovery code. -- jfh */ - -#include - -#ident "$Id$" - -#include "alloc.h" - -#include -#include -#include - -#include "defines.h" -#include "prototypes.h" -#include "shadowlog.h" - - -extern inline void *xmalloc(size_t size); -extern inline void *xmallocarray(size_t nmemb, size_t size); -extern inline void *mallocarray(size_t nmemb, size_t size); -extern inline void *reallocarrayf(void *p, size_t nmemb, size_t size); -extern inline char *xstrdup(const char *str); - - -void * -xcalloc(size_t nmemb, size_t size) -{ - void *p; - - p = calloc(nmemb, size); - if (p == NULL) - goto x; - - return p; - -x: - fprintf(log_get_logfd(), _("%s: %s\n"), - log_get_progname(), strerror(errno)); - exit(13); -} - - -void * -xreallocarray(void *p, size_t nmemb, size_t size) -{ - p = reallocarrayf(p, nmemb, size); - if (p == NULL) - goto x; - - return p; - -x: - fprintf(log_get_logfd(), _("%s: %s\n"), - log_get_progname(), strerror(errno)); - exit(13); -} diff --git a/lib/alloc.h b/lib/alloc.h deleted file mode 100644 index 39405a56..00000000 --- a/lib/alloc.h +++ /dev/null @@ -1,101 +0,0 @@ -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_MALLOC_H_ -#define SHADOW_INCLUDE_LIB_MALLOC_H_ - - -#include - -#include -#include -#include -#include -#include - -#include "attr.h" -#include "defines.h" - - -#define CALLOC(n, type) ((type *) calloc(n, sizeof(type))) -#define XCALLOC(n, type) ((type *) xcalloc(n, sizeof(type))) -#define MALLOC(n, type) ((type *) mallocarray(n, sizeof(type))) -#define XMALLOC(n, type) ((type *) xmallocarray(n, sizeof(type))) - -#define REALLOC(ptr, n, type) \ -( \ - _Generic(ptr, type *: (type *) reallocarray(ptr, n, sizeof(type))) \ -) - -#define REALLOCF(ptr, n, type) \ -( \ - _Generic(ptr, type *: (type *) reallocarrayf(ptr, n, sizeof(type))) \ -) - -#define XREALLOC(ptr, n, type) \ -( \ - _Generic(ptr, type *: (type *) xreallocarray(ptr, n, sizeof(type))) \ -) - - -ATTR_MALLOC(free) -inline void *xmalloc(size_t size); -ATTR_MALLOC(free) -inline void *xmallocarray(size_t nmemb, size_t size); -ATTR_MALLOC(free) -inline void *mallocarray(size_t nmemb, size_t size); -ATTR_MALLOC(free) -inline void *reallocarrayf(void *p, size_t nmemb, size_t size); -ATTR_MALLOC(free) -inline char *xstrdup(const char *str); - -ATTR_MALLOC(free) -void *xcalloc(size_t nmemb, size_t size); -ATTR_MALLOC(free) -void *xreallocarray(void *p, size_t nmemb, size_t size); - - -inline void * -xmalloc(size_t size) -{ - return xmallocarray(1, size); -} - - -inline void * -xmallocarray(size_t nmemb, size_t size) -{ - return xreallocarray(NULL, nmemb, size); -} - - -inline void * -mallocarray(size_t nmemb, size_t size) -{ - return reallocarray(NULL, nmemb, size); -} - - -inline void * -reallocarrayf(void *p, size_t nmemb, size_t size) -{ - void *q; - - q = reallocarray(p, nmemb, size); - - /* realloc(p, 0) is equivalent to free(p); avoid double free. */ - if (q == NULL && nmemb != 0 && size != 0) - free(p); - return q; -} - - -inline char * -xstrdup(const char *str) -{ - return strcpy(XMALLOC(strlen(str) + 1, char), str); -} - - -#endif // include guard diff --git a/lib/alloc/calloc.c b/lib/alloc/calloc.c new file mode 100644 index 00000000..55baafdc --- /dev/null +++ b/lib/alloc/calloc.c @@ -0,0 +1,11 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "alloc/calloc.h" diff --git a/lib/alloc/calloc.h b/lib/alloc/calloc.h new file mode 100644 index 00000000..fb170e6f --- /dev/null +++ b/lib/alloc/calloc.h @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ALLOC_CALLOC_H_ +#define SHADOW_INCLUDE_LIB_ALLOC_CALLOC_H_ + + +#include + +#include + + +#define CALLOC(n, type) \ +( \ + (type *) calloc(n, sizeof(type)) \ +) + + +#endif // include guard diff --git a/lib/alloc/malloc.c b/lib/alloc/malloc.c new file mode 100644 index 00000000..453f32de --- /dev/null +++ b/lib/alloc/malloc.c @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "alloc/malloc.h" + +#include + + +extern inline void *mallocarray(size_t nmemb, size_t size); diff --git a/lib/alloc/malloc.h b/lib/alloc/malloc.h new file mode 100644 index 00000000..338d4c09 --- /dev/null +++ b/lib/alloc/malloc.h @@ -0,0 +1,34 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ALLOC_MALLOC_H_ +#define SHADOW_INCLUDE_LIB_ALLOC_MALLOC_H_ + + +#include + +#include + +#include "attr.h" + + +#define MALLOC(n, type) \ +( \ + (type *) mallocarray(n, sizeof(type)) \ +) + + +ATTR_ALLOC_SIZE(1, 2) +ATTR_MALLOC(free) +inline void *mallocarray(size_t nmemb, size_t size); + + +inline void * +mallocarray(size_t nmemb, size_t size) +{ + return reallocarray(NULL, nmemb, size); +} + + +#endif // include guard diff --git a/lib/alloc/realloc.c b/lib/alloc/realloc.c new file mode 100644 index 00000000..ecdc3980 --- /dev/null +++ b/lib/alloc/realloc.c @@ -0,0 +1,11 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "alloc/realloc.h" diff --git a/lib/alloc/realloc.h b/lib/alloc/realloc.h new file mode 100644 index 00000000..63f14dc2 --- /dev/null +++ b/lib/alloc/realloc.h @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ALLOC_REALLOC_H_ +#define SHADOW_INCLUDE_LIB_ALLOC_REALLOC_H_ + + +#include + +#include + + +#define REALLOC(p, n, type) \ +( \ + _Generic(p, type *: (type *) reallocarray(p, (n) ?: 1, sizeof(type))) \ +) + + +#endif // include guard diff --git a/lib/alloc/reallocf.c b/lib/alloc/reallocf.c new file mode 100644 index 00000000..953cf7e1 --- /dev/null +++ b/lib/alloc/reallocf.c @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "alloc/reallocf.h" + +#include + + +extern inline void *reallocarrayf(void *p, size_t nmemb, size_t size); diff --git a/lib/alloc/reallocf.h b/lib/alloc/reallocf.h new file mode 100644 index 00000000..2d328b6a --- /dev/null +++ b/lib/alloc/reallocf.h @@ -0,0 +1,41 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ALLOC_REALLOCF_H_ +#define SHADOW_INCLUDE_LIB_ALLOC_REALLOCF_H_ + + +#include + +#include +#include + +#include "attr.h" + + +#define REALLOCF(p, n, type) \ +( \ + _Generic(p, type *: (type *) reallocarrayf(p, (n) ?: 1, sizeof(type)))\ +) + + +ATTR_ALLOC_SIZE(2, 3) +ATTR_MALLOC(free) +inline void *reallocarrayf(void *p, size_t nmemb, size_t size); + + +inline void * +reallocarrayf(void *p, size_t nmemb, size_t size) +{ + void *q; + + q = reallocarray(p, nmemb ?: 1, size ?: 1); + + if (q == NULL) + free(p); + return q; +} + + +#endif // include guard diff --git a/lib/alloc/x/xcalloc.c b/lib/alloc/x/xcalloc.c new file mode 100644 index 00000000..672d5ee7 --- /dev/null +++ b/lib/alloc/x/xcalloc.c @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "alloc/x/xcalloc.h" + +#include +#include +#include + +#include "defines.h" +#include "shadowlog.h" + + +void * +xcalloc(size_t nmemb, size_t size) +{ + void *p; + + p = calloc(nmemb, size); + if (p == NULL) + goto x; + + return p; + +x: + fprintf(log_get_logfd(), _("%s: %s\n"), + log_get_progname(), strerror(errno)); + exit(13); +} diff --git a/lib/alloc/x/xcalloc.h b/lib/alloc/x/xcalloc.h new file mode 100644 index 00000000..b4785ec2 --- /dev/null +++ b/lib/alloc/x/xcalloc.h @@ -0,0 +1,28 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ALLOC_X_XCALLOC_H_ +#define SHADOW_INCLUDE_LIB_ALLOC_X_XCALLOC_H_ + + +#include + +#include +#include + +#include "attr.h" + + +#define XCALLOC(n, type) \ +( \ + (type *) xcalloc(n, sizeof(type)) \ +) + + +ATTR_ALLOC_SIZE(1, 2) +ATTR_MALLOC(free) +void *xcalloc(size_t nmemb, size_t size); + + +#endif // include guard diff --git a/lib/alloc/x/xmalloc.c b/lib/alloc/x/xmalloc.c new file mode 100644 index 00000000..223da9a3 --- /dev/null +++ b/lib/alloc/x/xmalloc.c @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "alloc/x/xmalloc.h" + +#include + + +extern inline void *xmallocarray(size_t nmemb, size_t size); diff --git a/lib/alloc/x/xmalloc.h b/lib/alloc/x/xmalloc.h new file mode 100644 index 00000000..1520b7fd --- /dev/null +++ b/lib/alloc/x/xmalloc.h @@ -0,0 +1,35 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ALLOC_X_XMALLOC_H_ +#define SHADOW_INCLUDE_LIB_ALLOC_X_XMALLOC_H_ + + +#include + +#include + +#include "alloc/x/xrealloc.h" +#include "attr.h" + + +#define XMALLOC(n, type) \ +( \ + (type *) xmallocarray(n, sizeof(type)) \ +) + + +ATTR_ALLOC_SIZE(1, 2) +ATTR_MALLOC(free) +inline void *xmallocarray(size_t nmemb, size_t size); + + +inline void * +xmallocarray(size_t nmemb, size_t size) +{ + return xreallocarray(NULL, nmemb, size); +} + + +#endif // include guard diff --git a/lib/alloc/x/xrealloc.c b/lib/alloc/x/xrealloc.c new file mode 100644 index 00000000..76887f96 --- /dev/null +++ b/lib/alloc/x/xrealloc.c @@ -0,0 +1,35 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "alloc/x/xrealloc.h" + +#include +#include +#include + +#include "alloc/reallocf.h" +#include "defines.h" +#include "shadowlog.h" + + +void * +xreallocarray(void *p, size_t nmemb, size_t size) +{ + p = reallocarrayf(p, nmemb, size); + if (p == NULL) + goto x; + + return p; + +x: + fprintf(log_get_logfd(), _("%s: %s\n"), + log_get_progname(), strerror(errno)); + exit(13); +} diff --git a/lib/alloc/x/xrealloc.h b/lib/alloc/x/xrealloc.h new file mode 100644 index 00000000..ef674967 --- /dev/null +++ b/lib/alloc/x/xrealloc.h @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_MALLOC_H_ +#define SHADOW_INCLUDE_LIB_MALLOC_H_ + + +#include + +#include +#include +#include +#include +#include + +#include "attr.h" + + +#define XREALLOC(ptr, n, type) \ +( \ + _Generic(ptr, type *: (type *) xreallocarray(ptr, n, sizeof(type))) \ +) + + +ATTR_ALLOC_SIZE(2, 3) +ATTR_MALLOC(free) +void *xreallocarray(void *p, size_t nmemb, size_t size); + + +#endif // include guard diff --git a/lib/atoi/a2i.c b/lib/atoi/a2i.c deleted file mode 100644 index a2cf8723..00000000 --- a/lib/atoi/a2i.c +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#include - -#include "atoi/a2i.h" - - -extern inline int a2sh_c(short *restrict n, const char *s, - const char **restrict endp, int base, short min, short max); -extern inline int a2si_c(int *restrict n, const char *s, - const char **restrict endp, int base, int min, int max); -extern inline int a2sl_c(long *restrict n, const char *s, - const char **restrict endp, int base, long min, long max); -extern inline int a2sll_c(long long *restrict n, const char *s, - const char **restrict endp, int base, long long min, long long max); -extern inline int a2uh_c(unsigned short *restrict n, const char *s, - const char **restrict endp, int base, unsigned short min, - unsigned short max); -extern inline int a2ui_c(unsigned int *restrict n, const char *s, - const char **restrict endp, int base, unsigned int min, unsigned int max); -extern inline int a2ul_c(unsigned long *restrict n, const char *s, - const char **restrict endp, int base, unsigned long min, unsigned long max); -extern inline int a2ull_c(unsigned long long *restrict n, const char *s, - const char **restrict endp, int base, unsigned long long min, - unsigned long long max); - - -extern inline int a2sh_nc(short *restrict n, char *s, - char **restrict endp, int base, short min, short max); -extern inline int a2si_nc(int *restrict n, char *s, - char **restrict endp, int base, int min, int max); -extern inline int a2sl_nc(long *restrict n, char *s, - char **restrict endp, int base, long min, long max); -extern inline int a2sll_nc(long long *restrict n, char *s, - char **restrict endp, int base, long long min, long long max); -extern inline int a2uh_nc(unsigned short *restrict n, char *s, - char **restrict endp, int base, unsigned short min, unsigned short max); -extern inline int a2ui_nc(unsigned int *restrict n, char *s, - char **restrict endp, int base, unsigned int min, unsigned int max); -extern inline int a2ul_nc(unsigned long *restrict n, char *s, - char **restrict endp, int base, unsigned long min, unsigned long max); -extern inline int a2ull_nc(unsigned long long *restrict n, char *s, - char **restrict endp, int base, unsigned long long min, - unsigned long long max); diff --git a/lib/atoi/a2i.h b/lib/atoi/a2i.h deleted file mode 100644 index 64f775a9..00000000 --- a/lib/atoi/a2i.h +++ /dev/null @@ -1,386 +0,0 @@ -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_H_ -#define SHADOW_INCLUDE_LIB_ATOI_A2I_H_ - - -#include - -#include - -#include "atoi/strtoi.h" -#include "atoi/strtou_noneg.h" -#include "attr.h" - - -/* - * See the manual of these macros in liba2i's documentation: - * - */ - - -#define a2i(TYPE, n, s, ...) \ -( \ - _Generic((void (*)(TYPE, typeof(s))) 0, \ - void (*)(short, const char *): a2sh_c, \ - void (*)(short, const void *): a2sh_c, \ - void (*)(short, char *): a2sh_nc, \ - void (*)(short, void *): a2sh_nc, \ - void (*)(int, const char *): a2si_c, \ - void (*)(int, const void *): a2si_c, \ - void (*)(int, char *): a2si_nc, \ - void (*)(int, void *): a2si_nc, \ - void (*)(long, const char *): a2sl_c, \ - void (*)(long, const void *): a2sl_c, \ - void (*)(long, char *): a2sl_nc, \ - void (*)(long, void *): a2sl_nc, \ - void (*)(long long, const char *): a2sll_c, \ - void (*)(long long, const void *): a2sll_c, \ - void (*)(long long, char *): a2sll_nc, \ - void (*)(long long, void *): a2sll_nc, \ - void (*)(unsigned short, const char *): a2uh_c, \ - void (*)(unsigned short, const void *): a2uh_c, \ - void (*)(unsigned short, char *): a2uh_nc, \ - void (*)(unsigned short, void *): a2uh_nc, \ - void (*)(unsigned int, const char *): a2ui_c, \ - void (*)(unsigned int, const void *): a2ui_c, \ - void (*)(unsigned int, char *): a2ui_nc, \ - void (*)(unsigned int, void *): a2ui_nc, \ - void (*)(unsigned long, const char *): a2ul_c, \ - void (*)(unsigned long, const void *): a2ul_c, \ - void (*)(unsigned long, char *): a2ul_nc, \ - void (*)(unsigned long, void *): a2ul_nc, \ - void (*)(unsigned long long, const char *): a2ull_c, \ - void (*)(unsigned long long, const void *): a2ull_c, \ - void (*)(unsigned long long, char *): a2ull_nc, \ - void (*)(unsigned long long, void *): a2ull_nc \ - )(n, s, __VA_ARGS__) \ -) - - -#define a2sh(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2sh_c, \ - const void *: a2sh_c, \ - char *: a2sh_nc, \ - void *: a2sh_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2si(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2si_c, \ - const void *: a2si_c, \ - char *: a2si_nc, \ - void *: a2si_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2sl(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2sl_c, \ - const void *: a2sl_c, \ - char *: a2sl_nc, \ - void *: a2sl_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2sll(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2sll_c, \ - const void *: a2sll_c, \ - char *: a2sll_nc, \ - void *: a2sll_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2uh(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2uh_c, \ - const void *: a2uh_c, \ - char *: a2uh_nc, \ - void *: a2uh_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2ui(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2ui_c, \ - const void *: a2ui_c, \ - char *: a2ui_nc, \ - void *: a2ui_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2ul(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2ul_c, \ - const void *: a2ul_c, \ - char *: a2ul_nc, \ - void *: a2ul_nc \ - )(n, s, __VA_ARGS__) \ -) - -#define a2ull(n, s, ...) \ -( \ - _Generic(s, \ - const char *: a2ull_c, \ - const void *: a2ull_c, \ - char *: a2ull_nc, \ - void *: a2ull_nc \ - )(n, s, __VA_ARGS__) \ -) - - -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2sh_c(short *restrict n, const char *s, - const char **restrict endp, int base, short min, short max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2si_c(int *restrict n, const char *s, - const char **restrict endp, int base, int min, int max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2sl_c(long *restrict n, const char *s, - const char **restrict endp, int base, long min, long max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2sll_c(long long *restrict n, const char *s, - const char **restrict endp, int base, long long min, long long max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2uh_c(unsigned short *restrict n, const char *s, - const char **restrict endp, int base, unsigned short min, - unsigned short max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2ui_c(unsigned int *restrict n, const char *s, - const char **restrict endp, int base, unsigned int min, unsigned int max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2ul_c(unsigned long *restrict n, const char *s, - const char **restrict endp, int base, unsigned long min, unsigned long max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2ull_c(unsigned long long *restrict n, const char *s, - const char **restrict endp, int base, unsigned long long min, - unsigned long long max); - -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2sh_nc(short *restrict n, char *s, - char **restrict endp, int base, short min, short max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2si_nc(int *restrict n, char *s, - char **restrict endp, int base, int min, int max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2sl_nc(long *restrict n, char *s, - char **restrict endp, int base, long min, long max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2sll_nc(long long *restrict n, char *s, - char **restrict endp, int base, long long min, long long max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2uh_nc(unsigned short *restrict n, char *s, - char **restrict endp, int base, unsigned short min, unsigned short max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2ui_nc(unsigned int *restrict n, char *s, - char **restrict endp, int base, unsigned int min, unsigned int max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2ul_nc(unsigned long *restrict n, char *s, - char **restrict endp, int base, unsigned long min, unsigned long max); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) -inline int a2ull_nc(unsigned long long *restrict n, char *s, - char **restrict endp, int base, unsigned long long min, - unsigned long long max); - - -inline int -a2sh_c(short *restrict n, const char *s, - const char **restrict endp, int base, short min, short max) -{ - return a2sh(n, (char *) s, (char **) endp, base, min, max); -} - - -inline int -a2si_c(int *restrict n, const char *s, - const char **restrict endp, int base, int min, int max) -{ - return a2si(n, (char *) s, (char **) endp, base, min, max); -} - - -inline int -a2sl_c(long *restrict n, const char *s, - const char **restrict endp, int base, long min, long max) -{ - return a2sl(n, (char *) s, (char **) endp, base, min, max); -} - - -inline int -a2sll_c(long long *restrict n, const char *s, - const char **restrict endp, int base, long long min, long long max) -{ - return a2sll(n, (char *) s, (char **) endp, base, min, max); -} - - -inline int -a2uh_c(unsigned short *restrict n, const char *s, - const char **restrict endp, int base, unsigned short min, - unsigned short max) -{ - return a2uh(n, (char *) s, (char **) endp, base, min, max); -} - - -inline int -a2ui_c(unsigned int *restrict n, const char *s, - const char **restrict endp, int base, unsigned int min, unsigned int max) -{ - return a2ui(n, (char *) s, (char **) endp, base, min, max); -} - - -inline int -a2ul_c(unsigned long *restrict n, const char *s, - const char **restrict endp, int base, unsigned long min, unsigned long max) -{ - return a2ul(n, (char *) s, (char **) endp, base, min, max); -} - - -inline int -a2ull_c(unsigned long long *restrict n, const char *s, - const char **restrict endp, int base, unsigned long long min, - unsigned long long max) -{ - return a2ull(n, (char *) s, (char **) endp, base, min, max); -} - - -inline int -a2sh_nc(short *restrict n, char *s, - char **restrict endp, int base, short min, short max) -{ - int status; - - *n = strtoi_(s, endp, base, min, max, &status); - if (status != 0) { - errno = status; - return -1; - } - return 0; -} - - -inline int -a2si_nc(int *restrict n, char *s, - char **restrict endp, int base, int min, int max) -{ - int status; - - *n = strtoi_(s, endp, base, min, max, &status); - if (status != 0) { - errno = status; - return -1; - } - return 0; -} - - -inline int -a2sl_nc(long *restrict n, char *s, - char **restrict endp, int base, long min, long max) -{ - int status; - - *n = strtoi_(s, endp, base, min, max, &status); - if (status != 0) { - errno = status; - return -1; - } - return 0; -} - - -inline int -a2sll_nc(long long *restrict n, char *s, - char **restrict endp, int base, long long min, long long max) -{ - int status; - - *n = strtoi_(s, endp, base, min, max, &status); - if (status != 0) { - errno = status; - return -1; - } - return 0; -} - - -inline int -a2uh_nc(unsigned short *restrict n, char *s, - char **restrict endp, int base, unsigned short min, - unsigned short max) -{ - int status; - - *n = strtou_noneg(s, endp, base, min, max, &status); - if (status != 0) { - errno = status; - return -1; - } - return 0; -} - - -inline int -a2ui_nc(unsigned int *restrict n, char *s, - char **restrict endp, int base, unsigned int min, unsigned int max) -{ - int status; - - *n = strtou_noneg(s, endp, base, min, max, &status); - if (status != 0) { - errno = status; - return -1; - } - return 0; -} - - -inline int -a2ul_nc(unsigned long *restrict n, char *s, - char **restrict endp, int base, unsigned long min, unsigned long max) -{ - int status; - - *n = strtou_noneg(s, endp, base, min, max, &status); - if (status != 0) { - errno = status; - return -1; - } - return 0; -} - - -inline int -a2ull_nc(unsigned long long *restrict n, char *s, - char **restrict endp, int base, unsigned long long min, - unsigned long long max) -{ - int status; - - *n = strtou_noneg(s, endp, base, min, max, &status); - if (status != 0) { - errno = status; - return -1; - } - return 0; -} - - -#endif // include guard diff --git a/lib/atoi/a2i/a2i.c b/lib/atoi/a2i/a2i.c new file mode 100644 index 00000000..ec4c976d --- /dev/null +++ b/lib/atoi/a2i/a2i.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/a2i/a2i.h" diff --git a/lib/atoi/a2i/a2i.h b/lib/atoi/a2i/a2i.h new file mode 100644 index 00000000..b1a47242 --- /dev/null +++ b/lib/atoi/a2i/a2i.h @@ -0,0 +1,62 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_A2I_H_ +#define SHADOW_INCLUDE_LIB_ATOI_A2I_A2I_H_ + + +#include + +#include "atoi/a2i/a2s_c.h" +#include "atoi/a2i/a2s_nc.h" +#include "atoi/a2i/a2u_c.h" +#include "atoi/a2i/a2u_nc.h" + + +/* + * See the manual of these macros in liba2i's documentation: + * + */ + + +#define a2i(TYPE, n, s, ...) \ +( \ + _Generic((void (*)(TYPE, typeof(s))) 0, \ + void (*)(short, const char *): a2sh_c, \ + void (*)(short, const void *): a2sh_c, \ + void (*)(short, char *): a2sh_nc, \ + void (*)(short, void *): a2sh_nc, \ + void (*)(int, const char *): a2si_c, \ + void (*)(int, const void *): a2si_c, \ + void (*)(int, char *): a2si_nc, \ + void (*)(int, void *): a2si_nc, \ + void (*)(long, const char *): a2sl_c, \ + void (*)(long, const void *): a2sl_c, \ + void (*)(long, char *): a2sl_nc, \ + void (*)(long, void *): a2sl_nc, \ + void (*)(long long, const char *): a2sll_c, \ + void (*)(long long, const void *): a2sll_c, \ + void (*)(long long, char *): a2sll_nc, \ + void (*)(long long, void *): a2sll_nc, \ + void (*)(unsigned short, const char *): a2uh_c, \ + void (*)(unsigned short, const void *): a2uh_c, \ + void (*)(unsigned short, char *): a2uh_nc, \ + void (*)(unsigned short, void *): a2uh_nc, \ + void (*)(unsigned int, const char *): a2ui_c, \ + void (*)(unsigned int, const void *): a2ui_c, \ + void (*)(unsigned int, char *): a2ui_nc, \ + void (*)(unsigned int, void *): a2ui_nc, \ + void (*)(unsigned long, const char *): a2ul_c, \ + void (*)(unsigned long, const void *): a2ul_c, \ + void (*)(unsigned long, char *): a2ul_nc, \ + void (*)(unsigned long, void *): a2ul_nc, \ + void (*)(unsigned long long, const char *): a2ull_c, \ + void (*)(unsigned long long, const void *): a2ull_c, \ + void (*)(unsigned long long, char *): a2ull_nc, \ + void (*)(unsigned long long, void *): a2ull_nc \ + )(n, s, __VA_ARGS__) \ +) + + +#endif // include guard diff --git a/lib/atoi/a2i/a2s.c b/lib/atoi/a2i/a2s.c new file mode 100644 index 00000000..a60c97bc --- /dev/null +++ b/lib/atoi/a2i/a2s.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/a2i/a2s.h" diff --git a/lib/atoi/a2i/a2s.h b/lib/atoi/a2i/a2s.h new file mode 100644 index 00000000..935e109a --- /dev/null +++ b/lib/atoi/a2i/a2s.h @@ -0,0 +1,56 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_A2S_H_ +#define SHADOW_INCLUDE_LIB_ATOI_A2I_A2S_H_ + + +#include + +#include "atoi/a2i/a2s_c.h" +#include "atoi/a2i/a2s_nc.h" + + +#define a2sh(n, s, ...) \ +( \ + _Generic(s, \ + const char *: a2sh_c, \ + const void *: a2sh_c, \ + char *: a2sh_nc, \ + void *: a2sh_nc \ + )(n, s, __VA_ARGS__) \ +) + +#define a2si(n, s, ...) \ +( \ + _Generic(s, \ + const char *: a2si_c, \ + const void *: a2si_c, \ + char *: a2si_nc, \ + void *: a2si_nc \ + )(n, s, __VA_ARGS__) \ +) + +#define a2sl(n, s, ...) \ +( \ + _Generic(s, \ + const char *: a2sl_c, \ + const void *: a2sl_c, \ + char *: a2sl_nc, \ + void *: a2sl_nc \ + )(n, s, __VA_ARGS__) \ +) + +#define a2sll(n, s, ...) \ +( \ + _Generic(s, \ + const char *: a2sll_c, \ + const void *: a2sll_c, \ + char *: a2sll_nc, \ + void *: a2sll_nc \ + )(n, s, __VA_ARGS__) \ +) + + +#endif // include guard diff --git a/lib/atoi/a2i/a2s_c.c b/lib/atoi/a2i/a2s_c.c new file mode 100644 index 00000000..257b8d4e --- /dev/null +++ b/lib/atoi/a2i/a2s_c.c @@ -0,0 +1,17 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/a2i/a2s_c.h" + + +extern inline int a2sh_c(short *restrict n, const char *s, + const char **restrict endp, int base, short min, short max); +extern inline int a2si_c(int *restrict n, const char *s, + const char **restrict endp, int base, int min, int max); +extern inline int a2sl_c(long *restrict n, const char *s, + const char **restrict endp, int base, long min, long max); +extern inline int a2sll_c(long long *restrict n, const char *s, + const char **restrict endp, int base, long long min, long long max); diff --git a/lib/atoi/a2i/a2s_c.h b/lib/atoi/a2i/a2s_c.h new file mode 100644 index 00000000..5d0024d1 --- /dev/null +++ b/lib/atoi/a2i/a2s_c.h @@ -0,0 +1,64 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_A2S_C_H_ +#define SHADOW_INCLUDE_LIB_ATOI_A2I_A2S_C_H_ + + +#include + +#include +#include + +#include "atoi/a2i/a2s_nc.h" +#include "attr.h" + + +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2sh_c(short *restrict n, const char *s, + const char **restrict endp, int base, short min, short max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2si_c(int *restrict n, const char *s, + const char **restrict endp, int base, int min, int max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2sl_c(long *restrict n, const char *s, + const char **restrict endp, int base, long min, long max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2sll_c(long long *restrict n, const char *s, + const char **restrict endp, int base, long long min, long long max); + + +inline int +a2sh_c(short *restrict n, const char *s, + const char **restrict endp, int base, short min, short max) +{ + return a2sh_nc(n, (char *) s, (char **) endp, base, min, max); +} + + +inline int +a2si_c(int *restrict n, const char *s, + const char **restrict endp, int base, int min, int max) +{ + return a2si_nc(n, (char *) s, (char **) endp, base, min, max); +} + + +inline int +a2sl_c(long *restrict n, const char *s, + const char **restrict endp, int base, long min, long max) +{ + return a2sl_nc(n, (char *) s, (char **) endp, base, min, max); +} + + +inline int +a2sll_c(long long *restrict n, const char *s, + const char **restrict endp, int base, long long min, long long max) +{ + return a2sll_nc(n, (char *) s, (char **) endp, base, min, max); +} + + +#endif // include guard diff --git a/lib/atoi/a2i/a2s_nc.c b/lib/atoi/a2i/a2s_nc.c new file mode 100644 index 00000000..7ef8be6c --- /dev/null +++ b/lib/atoi/a2i/a2s_nc.c @@ -0,0 +1,17 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/a2i/a2s_nc.h" + + +extern inline int a2sh_nc(short *restrict n, char *s, + char **restrict endp, int base, short min, short max); +extern inline int a2si_nc(int *restrict n, char *s, + char **restrict endp, int base, int min, int max); +extern inline int a2sl_nc(long *restrict n, char *s, + char **restrict endp, int base, long min, long max); +extern inline int a2sll_nc(long long *restrict n, char *s, + char **restrict endp, int base, long long min, long long max); diff --git a/lib/atoi/a2i/a2s_nc.h b/lib/atoi/a2i/a2s_nc.h new file mode 100644 index 00000000..8ca16f27 --- /dev/null +++ b/lib/atoi/a2i/a2s_nc.h @@ -0,0 +1,91 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_A2S_NC_H_ +#define SHADOW_INCLUDE_LIB_ATOI_A2I_A2S_NC_H_ + + +#include + +#include + +#include "atoi/strtoi/strtoi.h" +#include "attr.h" + + +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2sh_nc(short *restrict n, char *s, + char **restrict endp, int base, short min, short max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2si_nc(int *restrict n, char *s, + char **restrict endp, int base, int min, int max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2sl_nc(long *restrict n, char *s, + char **restrict endp, int base, long min, long max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2sll_nc(long long *restrict n, char *s, + char **restrict endp, int base, long long min, long long max); + + +inline int +a2sh_nc(short *restrict n, char *s, + char **restrict endp, int base, short min, short max) +{ + int status; + + *n = strtoi_(s, endp, base, min, max, &status); + if (status != 0) { + errno = status; + return -1; + } + return 0; +} + + +inline int +a2si_nc(int *restrict n, char *s, + char **restrict endp, int base, int min, int max) +{ + int status; + + *n = strtoi_(s, endp, base, min, max, &status); + if (status != 0) { + errno = status; + return -1; + } + return 0; +} + + +inline int +a2sl_nc(long *restrict n, char *s, + char **restrict endp, int base, long min, long max) +{ + int status; + + *n = strtoi_(s, endp, base, min, max, &status); + if (status != 0) { + errno = status; + return -1; + } + return 0; +} + + +inline int +a2sll_nc(long long *restrict n, char *s, + char **restrict endp, int base, long long min, long long max) +{ + int status; + + *n = strtoi_(s, endp, base, min, max, &status); + if (status != 0) { + errno = status; + return -1; + } + return 0; +} + + +#endif // include guard diff --git a/lib/atoi/a2i/a2u.c b/lib/atoi/a2i/a2u.c new file mode 100644 index 00000000..8523e8bf --- /dev/null +++ b/lib/atoi/a2i/a2u.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/a2i/a2u.h" diff --git a/lib/atoi/a2i/a2u.h b/lib/atoi/a2i/a2u.h new file mode 100644 index 00000000..2a3852e4 --- /dev/null +++ b/lib/atoi/a2i/a2u.h @@ -0,0 +1,56 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_A2U_H_ +#define SHADOW_INCLUDE_LIB_ATOI_A2I_A2U_H_ + + +#include + +#include "atoi/a2i/a2u_c.h" +#include "atoi/a2i/a2u_nc.h" + + +#define a2uh(n, s, ...) \ +( \ + _Generic(s, \ + const char *: a2uh_c, \ + const void *: a2uh_c, \ + char *: a2uh_nc, \ + void *: a2uh_nc \ + )(n, s, __VA_ARGS__) \ +) + +#define a2ui(n, s, ...) \ +( \ + _Generic(s, \ + const char *: a2ui_c, \ + const void *: a2ui_c, \ + char *: a2ui_nc, \ + void *: a2ui_nc \ + )(n, s, __VA_ARGS__) \ +) + +#define a2ul(n, s, ...) \ +( \ + _Generic(s, \ + const char *: a2ul_c, \ + const void *: a2ul_c, \ + char *: a2ul_nc, \ + void *: a2ul_nc \ + )(n, s, __VA_ARGS__) \ +) + +#define a2ull(n, s, ...) \ +( \ + _Generic(s, \ + const char *: a2ull_c, \ + const void *: a2ull_c, \ + char *: a2ull_nc, \ + void *: a2ull_nc \ + )(n, s, __VA_ARGS__) \ +) + + +#endif // include guard diff --git a/lib/atoi/a2i/a2u_c.c b/lib/atoi/a2i/a2u_c.c new file mode 100644 index 00000000..e1d04b85 --- /dev/null +++ b/lib/atoi/a2i/a2u_c.c @@ -0,0 +1,19 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/a2i/a2u_c.h" + + +extern inline int a2uh_c(unsigned short *restrict n, const char *s, + const char **restrict endp, int base, unsigned short min, + unsigned short max); +extern inline int a2ui_c(unsigned int *restrict n, const char *s, + const char **restrict endp, int base, unsigned int min, unsigned int max); +extern inline int a2ul_c(unsigned long *restrict n, const char *s, + const char **restrict endp, int base, unsigned long min, unsigned long max); +extern inline int a2ull_c(unsigned long long *restrict n, const char *s, + const char **restrict endp, int base, unsigned long long min, + unsigned long long max); diff --git a/lib/atoi/a2i/a2u_c.h b/lib/atoi/a2i/a2u_c.h new file mode 100644 index 00000000..420e7852 --- /dev/null +++ b/lib/atoi/a2i/a2u_c.h @@ -0,0 +1,65 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_A2U_C_H_ +#define SHADOW_INCLUDE_LIB_ATOI_A2I_A2U_C_H_ + + +#include + +#include "atoi/a2i/a2u_nc.h" +#include "attr.h" + + +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2uh_c(unsigned short *restrict n, const char *s, + const char **restrict endp, int base, unsigned short min, + unsigned short max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2ui_c(unsigned int *restrict n, const char *s, + const char **restrict endp, int base, unsigned int min, unsigned int max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2ul_c(unsigned long *restrict n, const char *s, + const char **restrict endp, int base, unsigned long min, unsigned long max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2ull_c(unsigned long long *restrict n, const char *s, + const char **restrict endp, int base, unsigned long long min, + unsigned long long max); + + +inline int +a2uh_c(unsigned short *restrict n, const char *s, + const char **restrict endp, int base, unsigned short min, + unsigned short max) +{ + return a2uh_nc(n, (char *) s, (char **) endp, base, min, max); +} + + +inline int +a2ui_c(unsigned int *restrict n, const char *s, + const char **restrict endp, int base, unsigned int min, unsigned int max) +{ + return a2ui_nc(n, (char *) s, (char **) endp, base, min, max); +} + + +inline int +a2ul_c(unsigned long *restrict n, const char *s, + const char **restrict endp, int base, unsigned long min, unsigned long max) +{ + return a2ul_nc(n, (char *) s, (char **) endp, base, min, max); +} + + +inline int +a2ull_c(unsigned long long *restrict n, const char *s, + const char **restrict endp, int base, unsigned long long min, + unsigned long long max) +{ + return a2ull_nc(n, (char *) s, (char **) endp, base, min, max); +} + + +#endif // include guard diff --git a/lib/atoi/a2i/a2u_nc.c b/lib/atoi/a2i/a2u_nc.c new file mode 100644 index 00000000..4ca282bd --- /dev/null +++ b/lib/atoi/a2i/a2u_nc.c @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/a2i/a2u_nc.h" + + +extern inline int a2uh_nc(unsigned short *restrict n, char *s, + char **restrict endp, int base, unsigned short min, unsigned short max); +extern inline int a2ui_nc(unsigned int *restrict n, char *s, + char **restrict endp, int base, unsigned int min, unsigned int max); +extern inline int a2ul_nc(unsigned long *restrict n, char *s, + char **restrict endp, int base, unsigned long min, unsigned long max); +extern inline int a2ull_nc(unsigned long long *restrict n, char *s, + char **restrict endp, int base, unsigned long long min, + unsigned long long max); diff --git a/lib/atoi/a2i/a2u_nc.h b/lib/atoi/a2i/a2u_nc.h new file mode 100644 index 00000000..c8d993e7 --- /dev/null +++ b/lib/atoi/a2i/a2u_nc.h @@ -0,0 +1,94 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_A2U_NC_H_ +#define SHADOW_INCLUDE_LIB_ATOI_A2I_A2U_NC_H_ + + +#include + +#include + +#include "atoi/strtoi/strtou_noneg.h" +#include "attr.h" + + +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2uh_nc(unsigned short *restrict n, char *s, + char **restrict endp, int base, unsigned short min, unsigned short max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2ui_nc(unsigned int *restrict n, char *s, + char **restrict endp, int base, unsigned int min, unsigned int max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2ul_nc(unsigned long *restrict n, char *s, + char **restrict endp, int base, unsigned long min, unsigned long max); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3) +inline int a2ull_nc(unsigned long long *restrict n, char *s, + char **restrict endp, int base, unsigned long long min, + unsigned long long max); + + +inline int +a2uh_nc(unsigned short *restrict n, char *s, + char **restrict endp, int base, unsigned short min, + unsigned short max) +{ + int status; + + *n = strtou_noneg(s, endp, base, min, max, &status); + if (status != 0) { + errno = status; + return -1; + } + return 0; +} + + +inline int +a2ui_nc(unsigned int *restrict n, char *s, + char **restrict endp, int base, unsigned int min, unsigned int max) +{ + int status; + + *n = strtou_noneg(s, endp, base, min, max, &status); + if (status != 0) { + errno = status; + return -1; + } + return 0; +} + + +inline int +a2ul_nc(unsigned long *restrict n, char *s, + char **restrict endp, int base, unsigned long min, unsigned long max) +{ + int status; + + *n = strtou_noneg(s, endp, base, min, max, &status); + if (status != 0) { + errno = status; + return -1; + } + return 0; +} + + +inline int +a2ull_nc(unsigned long long *restrict n, char *s, + char **restrict endp, int base, unsigned long long min, + unsigned long long max) +{ + int status; + + *n = strtou_noneg(s, endp, base, min, max, &status); + if (status != 0) { + errno = status; + return -1; + } + return 0; +} + + +#endif // include guard diff --git a/lib/atoi/getnum.c b/lib/atoi/getnum.c new file mode 100644 index 00000000..3c67eb20 --- /dev/null +++ b/lib/atoi/getnum.c @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include + +#include "atoi/getnum.h" + + +extern inline int get_fd(const char *restrict fdstr, int *restrict fd); +extern inline int get_gid(const char *restrict gidstr, gid_t *restrict gid); +extern inline int get_pid(const char *restrict pidstr, pid_t *restrict pid); +extern inline int get_uid(const char *restrict uidstr, uid_t *restrict uid); diff --git a/lib/atoi/getnum.h b/lib/atoi/getnum.h new file mode 100644 index 00000000..33d4876a --- /dev/null +++ b/lib/atoi/getnum.h @@ -0,0 +1,60 @@ +// SPDX-FileCopyrightText: 2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_GETNUM_H_ +#define SHADOW_INCLUDE_LIB_ATOI_GETNUM_H_ + + +#include + +#include +#include +#include + +#include "atoi/a2i/a2i.h" +#include "atoi/a2i/a2s.h" +#include "attr.h" +#include "typetraits.h" + + +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) +inline int get_fd(const char *restrict fdstr, int *restrict fd); +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) +inline int get_gid(const char *restrict gidstr, gid_t *restrict gid); +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) +inline int get_pid(const char *restrict pidstr, pid_t *restrict pid); +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) +inline int get_uid(const char *restrict uidstr, uid_t *restrict uid); + + +inline int +get_fd(const char *restrict fdstr, int *restrict fd) +{ + return a2si(fd, fdstr, NULL, 10, 0, INT_MAX); +} + + +inline int +get_gid(const char *restrict gidstr, gid_t *restrict gid) +{ + return a2i(gid_t, gid, gidstr, NULL, 10, type_min(gid_t), type_max(gid_t)); +} + + +inline int +get_pid(const char *restrict pidstr, pid_t *restrict pid) +{ + return a2i(pid_t, pid, pidstr, NULL, 10, 1, type_max(pid_t)); +} + + +inline int +get_uid(const char *restrict uidstr, uid_t *restrict uid) +{ + return a2i(uid_t, uid, uidstr, NULL, 10, type_min(uid_t), type_max(uid_t)); +} + + +#endif // include guard diff --git a/lib/atoi/str2i.h b/lib/atoi/str2i.h deleted file mode 100644 index b3ded031..00000000 --- a/lib/atoi/str2i.h +++ /dev/null @@ -1,108 +0,0 @@ -// SPDX-FileCopyrightText: 2007-2009, Nicolas François -// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_H_ -#define SHADOW_INCLUDE_LIB_ATOI_STR2I_H_ - - -#include - -#include -#include - -#include "atoi/a2i.h" -#include "attr.h" - - -#define str2i(TYPE, ...) \ -( \ - _Generic((TYPE) 0, \ - short: str2sh, \ - int: str2si, \ - long: str2sl, \ - long long: str2sll, \ - unsigned short: str2uh, \ - unsigned int: str2ui, \ - unsigned long: str2ul, \ - unsigned long long: str2ull \ - )(__VA_ARGS__) \ -) - - -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2sh(short *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2si(int *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2sl(long *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2sll(long long *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2uh(unsigned short *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2ui(unsigned int *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2ul(unsigned long *restrict n, const char *restrict s); -ATTR_STRING(2) ATTR_ACCESS(write_only, 1) -inline int str2ull(unsigned long long *restrict n, const char *restrict s); - - -inline int -str2sh(short *restrict n, const char *restrict s) -{ - return a2sh(n, s, NULL, 0, SHRT_MIN, SHRT_MAX); -} - - -inline int -str2si(int *restrict n, const char *restrict s) -{ - return a2si(n, s, NULL, 0, INT_MIN, INT_MAX); -} - - -inline int -str2sl(long *restrict n, const char *restrict s) -{ - return a2sl(n, s, NULL, 0, LONG_MIN, LONG_MAX); -} - - -inline int -str2sll(long long *restrict n, const char *restrict s) -{ - return a2sll(n, s, NULL, 0, LLONG_MIN, LLONG_MAX); -} - - -inline int -str2uh(unsigned short *restrict n, const char *restrict s) -{ - return a2uh(n, s, NULL, 0, 0, USHRT_MAX); -} - - -inline int -str2ui(unsigned int *restrict n, const char *restrict s) -{ - return a2ui(n, s, NULL, 0, 0, UINT_MAX); -} - - -inline int -str2ul(unsigned long *restrict n, const char *restrict s) -{ - return a2ul(n, s, NULL, 0, 0, ULONG_MAX); -} - - -inline int -str2ull(unsigned long long *restrict n, const char *restrict s) -{ - return a2ull(n, s, NULL, 0, 0, ULLONG_MAX); -} - - -#endif // include guard diff --git a/lib/atoi/str2i/str2i.c b/lib/atoi/str2i/str2i.c new file mode 100644 index 00000000..ff5ad8f0 --- /dev/null +++ b/lib/atoi/str2i/str2i.c @@ -0,0 +1,8 @@ +// SPDX-FileCopyrightText: 2007-2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/str2i/str2i.h" diff --git a/lib/atoi/str2i/str2i.h b/lib/atoi/str2i/str2i.h new file mode 100644 index 00000000..e2cecc75 --- /dev/null +++ b/lib/atoi/str2i/str2i.h @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2007-2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2I_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2I_H_ + + +#include + +#include "atoi/str2i/str2s.h" +#include "atoi/str2i/str2u.h" + + +#define str2i(TYPE, ...) \ +( \ + _Generic((TYPE) 0, \ + short: str2sh, \ + int: str2si, \ + long: str2sl, \ + long long: str2sll, \ + unsigned short: str2uh, \ + unsigned int: str2ui, \ + unsigned long: str2ul, \ + unsigned long long: str2ull \ + )(__VA_ARGS__) \ +) + + +#endif // include guard diff --git a/lib/atoi/str2i/str2s.c b/lib/atoi/str2i/str2s.c new file mode 100644 index 00000000..f77c594e --- /dev/null +++ b/lib/atoi/str2i/str2s.c @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2007-2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/str2i/str2s.h" + + +extern inline int str2sh(short *restrict n, const char *restrict s); +extern inline int str2si(int *restrict n, const char *restrict s); +extern inline int str2sl(long *restrict n, const char *restrict s); +extern inline int str2sll(long long *restrict n, const char *restrict s); diff --git a/lib/atoi/str2i/str2s.h b/lib/atoi/str2i/str2s.h new file mode 100644 index 00000000..dc20faa1 --- /dev/null +++ b/lib/atoi/str2i/str2s.h @@ -0,0 +1,57 @@ +// SPDX-FileCopyrightText: 2007-2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2S_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2S_H_ + + +#include + +#include +#include + +#include "atoi/a2i/a2s.h" +#include "attr.h" + + +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) +inline int str2sh(short *restrict n, const char *restrict s); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) +inline int str2si(int *restrict n, const char *restrict s); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) +inline int str2sl(long *restrict n, const char *restrict s); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) +inline int str2sll(long long *restrict n, const char *restrict s); + + +inline int +str2sh(short *restrict n, const char *restrict s) +{ + return a2sh(n, s, NULL, 0, SHRT_MIN, SHRT_MAX); +} + + +inline int +str2si(int *restrict n, const char *restrict s) +{ + return a2si(n, s, NULL, 0, INT_MIN, INT_MAX); +} + + +inline int +str2sl(long *restrict n, const char *restrict s) +{ + return a2sl(n, s, NULL, 0, LONG_MIN, LONG_MAX); +} + + +inline int +str2sll(long long *restrict n, const char *restrict s) +{ + return a2sll(n, s, NULL, 0, LLONG_MIN, LLONG_MAX); +} + + +#endif // include guard diff --git a/lib/atoi/str2i.c b/lib/atoi/str2i/str2u.c similarity index 62% rename from lib/atoi/str2i.c rename to lib/atoi/str2i/str2u.c index 25ce3609..25fffda9 100644 --- a/lib/atoi/str2i.c +++ b/lib/atoi/str2i/str2u.c @@ -5,13 +5,9 @@ #include -#include "atoi/str2i.h" +#include "atoi/str2i/str2u.h" -extern inline int str2sh(short *restrict n, const char *restrict s); -extern inline int str2si(int *restrict n, const char *restrict s); -extern inline int str2sl(long *restrict n, const char *restrict s); -extern inline int str2sll(long long *restrict n, const char *restrict s); extern inline int str2uh(unsigned short *restrict n, const char *restrict s); extern inline int str2ui(unsigned int *restrict n, const char *restrict s); extern inline int str2ul(unsigned long *restrict n, const char *restrict s); diff --git a/lib/atoi/str2i/str2u.h b/lib/atoi/str2i/str2u.h new file mode 100644 index 00000000..c25941ce --- /dev/null +++ b/lib/atoi/str2i/str2u.h @@ -0,0 +1,57 @@ +// SPDX-FileCopyrightText: 2007-2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2U_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STR2I_STR2U_H_ + + +#include + +#include +#include + +#include "atoi/a2i/a2u.h" +#include "attr.h" + + +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) +inline int str2uh(unsigned short *restrict n, const char *restrict s); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) +inline int str2ui(unsigned int *restrict n, const char *restrict s); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) +inline int str2ul(unsigned long *restrict n, const char *restrict s); +ATTR_STRING(2) ATTR_ACCESS(write_only, 1) +inline int str2ull(unsigned long long *restrict n, const char *restrict s); + + +inline int +str2uh(unsigned short *restrict n, const char *restrict s) +{ + return a2uh(n, s, NULL, 0, 0, USHRT_MAX); +} + + +inline int +str2ui(unsigned int *restrict n, const char *restrict s) +{ + return a2ui(n, s, NULL, 0, 0, UINT_MAX); +} + + +inline int +str2ul(unsigned long *restrict n, const char *restrict s) +{ + return a2ul(n, s, NULL, 0, 0, ULONG_MAX); +} + + +inline int +str2ull(unsigned long long *restrict n, const char *restrict s) +{ + return a2ull(n, s, NULL, 0, 0, ULLONG_MAX); +} + + +#endif // include guard diff --git a/lib/atoi/strtoi.c b/lib/atoi/strtoi.c deleted file mode 100644 index 197707b1..00000000 --- a/lib/atoi/strtoi.c +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-FileCopyrightText: 2023, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#include - -#include "atoi/strtoi.h" - -#include - - -extern inline intmax_t strtoi_(const char *s, char **restrict endp, int base, - intmax_t min, intmax_t max, int *restrict status); -extern inline uintmax_t strtou_(const char *s, char **restrict endp, int base, - uintmax_t min, uintmax_t max, int *restrict status); diff --git a/lib/atoi/strtoi.h b/lib/atoi/strtoi.h deleted file mode 100644 index 1f061fc0..00000000 --- a/lib/atoi/strtoi.h +++ /dev/null @@ -1,96 +0,0 @@ -// SPDX-FileCopyrightText: 2023, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_ATOI_STRTOI_H_ -#define SHADOW_INCLUDE_LIB_ATOI_STRTOI_H_ - - -#include - -#include -#include -#include -#include -#include -#include - -#include "attr.h" - - -#define strtoNmax(TYPE, ...) \ -( \ - _Generic((TYPE) 0, \ - intmax_t: strtoimax, \ - uintmax_t: strtoumax \ - )(__VA_ARGS__) \ -) - - -#define strtoN(s, endp, base, min, max, status, TYPE) \ -({ \ - const char *s_ = s; \ - char **endp_ = endp; \ - int base_ = base; \ - TYPE min_ = min; \ - TYPE max_ = max; \ - int *status_ = status; \ - \ - int e_, st_; \ - char *end_; \ - TYPE n_; \ - \ - if (endp_ == NULL) \ - endp_ = &end_; \ - if (status_ == NULL) \ - status_ = &st_; \ - \ - if (base_ != 0 && (base_ < 0 || base_ > 36)) { \ - *status_ = EINVAL; \ - n_ = 0; \ - \ - } else { \ - e_ = errno; \ - errno = 0; \ - n_ = strtoNmax(TYPE, s_, endp_, base_); \ - \ - if (*endp_ == s_) \ - *status_ = ECANCELED; \ - else if (errno == ERANGE || n_ < min_ || n_ > max_) \ - *status_ = ERANGE; \ - else if (**endp_ != '\0') \ - *status_ = ENOTSUP; \ - else \ - *status_ = 0; \ - \ - errno = e_; \ - } \ - MAX(min_, MIN(max_, n_)); \ -}) - - -ATTR_STRING(1) ATTR_ACCESS(write_only, 2) ATTR_ACCESS(write_only, 6) -inline intmax_t strtoi_(const char *s, char **restrict endp, int base, - intmax_t min, intmax_t max, int *restrict status); -ATTR_STRING(1) ATTR_ACCESS(write_only, 2) ATTR_ACCESS(write_only, 6) -inline uintmax_t strtou_(const char *s, char **restrict endp, int base, - uintmax_t min, uintmax_t max, int *restrict status); - - -inline intmax_t -strtoi_(const char *s, char **restrict endp, int base, - intmax_t min, intmax_t max, int *restrict status) -{ - return strtoN(s, endp, base, min, max, status, intmax_t); -} - - -inline uintmax_t -strtou_(const char *s, char **restrict endp, int base, - uintmax_t min, uintmax_t max, int *restrict status) -{ - return strtoN(s, endp, base, min, max, status, uintmax_t); -} - - -#endif // include guard diff --git a/lib/atoi/strtoi/strtoi.c b/lib/atoi/strtoi/strtoi.c new file mode 100644 index 00000000..c478c2a1 --- /dev/null +++ b/lib/atoi/strtoi/strtoi.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/strtoi/strtoi.h" + +#include + + +extern inline intmax_t strtoi_(const char *s, char **restrict endp, int base, + intmax_t min, intmax_t max, int *restrict status); diff --git a/lib/atoi/strtoi/strtoi.h b/lib/atoi/strtoi/strtoi.h new file mode 100644 index 00000000..8fa6b62f --- /dev/null +++ b/lib/atoi/strtoi/strtoi.h @@ -0,0 +1,64 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_STRTOI_STRTOI_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STRTOI_STRTOI_H_ + + +#include + +#include +#include +#include +#include +#include +#include + +#include "attr.h" + + +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) ATTR_ACCESS(write_only, 6) +inline intmax_t strtoi_(const char *s, char **restrict endp, int base, + intmax_t min, intmax_t max, int *restrict status); + + +inline intmax_t +strtoi_(const char *s, char **restrict endp, int base, + intmax_t min, intmax_t max, int *restrict status) +{ + int e, st; + char *end; + intmax_t n; + + if (endp == NULL) + endp = &end; + if (status == NULL) + status = &st; + + if (base != 0 && (base < 2 || base > 36)) { + *status = EINVAL; + return MAX(min, MIN(max, 0)); + } + + e = errno; + errno = 0; + + n = strtoimax(s, endp, base); + + if (*endp == s) + *status = ECANCELED; + else if (errno == ERANGE || n < min || n > max) + *status = ERANGE; + else if (**endp != '\0') + *status = ENOTSUP; + else + *status = 0; + + errno = e; + + return MAX(min, MIN(max, n)); +} + + +#endif // include guard diff --git a/lib/atoi/strtoi/strtou.c b/lib/atoi/strtoi/strtou.c new file mode 100644 index 00000000..c70ca4e8 --- /dev/null +++ b/lib/atoi/strtoi/strtou.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/strtoi/strtou.h" + +#include + + +extern inline uintmax_t strtou_(const char *s, char **restrict endp, int base, + uintmax_t min, uintmax_t max, int *restrict status); diff --git a/lib/atoi/strtoi/strtou.h b/lib/atoi/strtoi/strtou.h new file mode 100644 index 00000000..7ca6b346 --- /dev/null +++ b/lib/atoi/strtoi/strtou.h @@ -0,0 +1,64 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_STRTOI_STRTOU_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STRTOI_STRTOU_H_ + + +#include + +#include +#include +#include +#include +#include +#include + +#include "attr.h" + + +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) ATTR_ACCESS(write_only, 6) +inline uintmax_t strtou_(const char *s, char **restrict endp, int base, + uintmax_t min, uintmax_t max, int *restrict status); + + +inline uintmax_t +strtou_(const char *s, char **restrict endp, int base, + uintmax_t min, uintmax_t max, int *restrict status) +{ + int e, st; + char *end; + uintmax_t n; + + if (endp == NULL) + endp = &end; + if (status == NULL) + status = &st; + + if (base != 0 && (base < 2 || base > 36)) { + *status = EINVAL; + return MAX(min, 0); + } + + e = errno; + errno = 0; + + n = strtoumax(s, endp, base); + + if (*endp == s) + *status = ECANCELED; + else if (errno == ERANGE || n < min || n > max) + *status = ERANGE; + else if (**endp != '\0') + *status = ENOTSUP; + else + *status = 0; + + errno = e; + + return MAX(min, MIN(max, n)); +} + + +#endif // include guard diff --git a/lib/atoi/strtou_noneg.c b/lib/atoi/strtoi/strtou_noneg.c similarity index 67% rename from lib/atoi/strtou_noneg.c rename to lib/atoi/strtoi/strtou_noneg.c index 71cacbd1..51d60c93 100644 --- a/lib/atoi/strtou_noneg.c +++ b/lib/atoi/strtoi/strtou_noneg.c @@ -1,10 +1,10 @@ -// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar // SPDX-License-Identifier: BSD-3-Clause #include -#include "atoi/strtou_noneg.h" +#include "atoi/strtoi/strtou_noneg.h" #include diff --git a/lib/atoi/strtou_noneg.h b/lib/atoi/strtoi/strtou_noneg.h similarity index 73% rename from lib/atoi/strtou_noneg.h rename to lib/atoi/strtoi/strtou_noneg.h index 6d77adf5..52fa9034 100644 --- a/lib/atoi/strtou_noneg.h +++ b/lib/atoi/strtoi/strtou_noneg.h @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar // SPDX-License-Identifier: BSD-3-Clause -#ifndef SHADOW_INCLUDE_LIB_ATOI_STRTOU_NONEG_H_ -#define SHADOW_INCLUDE_LIB_ATOI_STRTOU_NONEG_H_ +#ifndef SHADOW_INCLUDE_LIB_ATOI_STRTOI_STRTOU_NONEG_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STRTOI_STRTOU_NONEG_H_ #include @@ -12,7 +12,8 @@ #include #include -#include "atoi/strtoi.h" +#include "atoi/strtoi/strtoi.h" +#include "atoi/strtoi/strtou.h" #include "attr.h" diff --git a/lib/attr.h b/lib/attr.h index 3835848d..02c7e252 100644 --- a/lib/attr.h +++ b/lib/attr.h @@ -6,15 +6,17 @@ #if defined(__GNUC__) -# define MAYBE_UNUSED __attribute__((unused)) -# define NORETURN __attribute__((__noreturn__)) -# define format_attr(type, fmt, va) __attribute__((format(type, fmt, va))) -# define ATTR_ACCESS(...) __attribute__((access(__VA_ARGS__))) +# define MAYBE_UNUSED [[gnu::unused]] +# define NORETURN [[gnu::__noreturn__]] +# define format_attr(type, fmt, va) [[gnu::format(type, fmt, va)]] +# define ATTR_ACCESS(...) [[gnu::access(__VA_ARGS__)]] +# define ATTR_ALLOC_SIZE(...) [[gnu::alloc_size(__VA_ARGS__)]] #else # define MAYBE_UNUSED # define NORETURN # define format_attr(type, fmt, va) # define ATTR_ACCESS(...) +# define ATTR_ALLOC_SIZE(...) #endif #if (__GNUC__ >= 11) && !defined(__clang__) @@ -24,9 +26,9 @@ #endif #if (__GNUC__ >= 14) -# define ATTR_STRING(...) [[gnu::null_terminated_string_arg(__VA_ARGS__)]] +# define ATTR_STRING(i) [[gnu::null_terminated_string_arg(i)]] #else -# define ATTR_STRING(...) +# define ATTR_STRING(i) #endif diff --git a/lib/chkname.c b/lib/chkname.c index 995562fa..8bde7a2d 100644 --- a/lib/chkname.c +++ b/lib/chkname.c @@ -12,6 +12,9 @@ * return values: * true - OK * false - bad name + * errors: + * EINVAL Invalid name characters or sequences + * EOVERFLOW Name longer than maximum size */ @@ -24,6 +27,8 @@ #include #include #include +#include +#include #include #include "defines.h" @@ -43,11 +48,12 @@ login_name_max_size(void) if (conf == -1 && errno != 0) return LOGIN_NAME_MAX; - return conf; + return MIN(conf, PTRDIFF_MAX); } -static bool is_valid_name (const char *name) +static bool +is_valid_name(const char *name) { if (allow_bad_names) { return true; @@ -71,7 +77,9 @@ static bool is_valid_name (const char *name) (*name >= 'A' && *name <= 'Z') || (*name >= '0' && *name <= '9') || *name == '_' || - *name == '.')) { + *name == '.')) + { + errno = EINVAL; return false; } @@ -85,34 +93,46 @@ static bool is_valid_name (const char *name) *name == '.' || *name == '-' || (*name == '$' && name[1] == '\0') - )) { + )) + { + errno = EINVAL; return false; } numeric &= isdigit(*name); } - return !numeric; + if (numeric) { + errno = EINVAL; + return false; + } + + return true; } bool is_valid_user_name(const char *name) { - if (strlen(name) >= login_name_max_size()) + if (strlen(name) >= login_name_max_size()) { + errno = EOVERFLOW; return false; + } return is_valid_name(name); } -bool is_valid_group_name (const char *name) +bool +is_valid_group_name(const char *name) { /* * Arbitrary limit for group names. * HP-UX 10 limits to 16 characters */ if ( (GROUP_NAME_MAX_LENGTH > 0) - && (strlen (name) > GROUP_NAME_MAX_LENGTH)) { + && (strlen (name) > GROUP_NAME_MAX_LENGTH)) + { + errno = EOVERFLOW; return false; } diff --git a/lib/chowndir.c b/lib/chowndir.c index d31618a5..91fc657e 100644 --- a/lib/chowndir.c +++ b/lib/chowndir.c @@ -13,12 +13,15 @@ #include #include -#include "prototypes.h" -#include "defines.h" #include #include #include +#include "defines.h" +#include "prototypes.h" +#include "string/strcmp/streq.h" + + static int chown_tree_at (int at_fd, const char *path, uid_t old_uid, @@ -56,8 +59,8 @@ static int chown_tree_at (int at_fd, /* * Skip the "." and ".." entries */ - if ( (strcmp (ent->d_name, ".") == 0) - || (strcmp (ent->d_name, "..") == 0)) { + if ( streq(ent->d_name, ".") + || streq(ent->d_name, "..")) { continue; } diff --git a/lib/cleanup.c b/lib/cleanup.c index c16f1bcd..4a722212 100644 --- a/lib/cleanup.c +++ b/lib/cleanup.c @@ -44,7 +44,7 @@ void do_cleanups (void) { unsigned int i; - /* Make sure there were no overflow */ + /* Make sure there were no overflows */ assert (NULL == cleanup_functions[CLEANUP_FUNCTIONS-1]); if (getpid () != cleanup_pid) { diff --git a/lib/commonio.c b/lib/commonio.c index 01a26c96..4d83e83c 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -11,28 +11,33 @@ #ident "$Id$" -#include "defines.h" #include +#include +#include +#include +#include +#include +#include #include #include -#include #include -#include -#include -#include -#include -#include "alloc.h" -#include "memzero.h" +#include "alloc/malloc.h" +#include "alloc/reallocf.h" +#include "atoi/getnum.h" +#include "commonio.h" +#include "defines.h" #include "nscd.h" -#include "sssd.h" #ifdef WITH_TCB #include #endif /* WITH_TCB */ #include "prototypes.h" -#include "commonio.h" #include "shadowlog_internal.h" -#include "string/sprintf.h" +#include "sssd.h" +#include "string/memset/memzero.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" /* local function prototypes */ @@ -194,7 +199,7 @@ static int do_lock_file (const char *file, const char *lock, bool log) errno = EINVAL; return 0; } - buf[len] = '\0'; + stpcpy(&buf[len], ""); if (get_pid(buf, &pid) == -1) { if (log) { (void) fprintf (shadow_logfd, @@ -573,9 +578,7 @@ static void add_one_entry_nis (struct commonio_db *db, int commonio_open (struct commonio_db *db, int mode) { char *buf; - char *cp; char *line; - struct commonio_entry *p; void *eptr = NULL; int flags = mode; size_t buflen; @@ -636,21 +639,21 @@ int commonio_open (struct commonio_db *db, int mode) buflen = BUFLEN; buf = MALLOC(buflen, char); - if (NULL == buf) { - goto cleanup_ENOMEM; - } + if (NULL == buf) + goto cleanup_errno; while (db->ops->fgets (buf, buflen, db->fp) == buf) { + struct commonio_entry *p; + while ( (strrchr (buf, '\n') == NULL) && (feof (db->fp) == 0)) { size_t len; buflen += BUFLEN; - cp = REALLOC(buf, buflen, char); - if (NULL == cp) { - goto cleanup_buf; - } - buf = cp; + buf = REALLOCF(buf, buflen, char); + if (NULL == buf) + goto cleanup_errno; + len = strlen (buf); if (db->ops->fgets (buf + len, (int) (buflen - len), @@ -658,10 +661,7 @@ int commonio_open (struct commonio_db *db, int mode) goto cleanup_buf; } } - cp = strrchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } + stpsep(buf, "\n"); line = strdup (buf); if (NULL == line) { @@ -713,7 +713,6 @@ int commonio_open (struct commonio_db *db, int mode) free (line); cleanup_buf: free (buf); - cleanup_ENOMEM: errno = ENOMEM; cleanup_errno: saved_errno = errno; @@ -832,10 +831,8 @@ int commonio_sort_wrt (struct commonio_db *shadow, if (NULL == spw_ptr->eptr) { continue; } - if (strcmp (name, shadow->ops->getname (spw_ptr->eptr)) - == 0) { + if (streq(name, shadow->ops->getname(spw_ptr->eptr))) break; - } } if (NULL == spw_ptr) { continue; @@ -1036,7 +1033,7 @@ static /*@dependent@*/ /*@null@*/struct commonio_entry *next_entry_by_name ( for (p = pos; NULL != p; p = p->next) { ep = p->eptr; if ( (NULL != ep) - && (strcmp (db->ops->getname (ep), name) == 0)) { + && streq(db->ops->getname(ep), name)) { break; } } @@ -1242,7 +1239,7 @@ int commonio_rewind (struct commonio_db *db) if (!db->isopen) { errno = EINVAL; - return 0; + return NULL; } if (NULL == db->cursor) { db->cursor = db->head; diff --git a/lib/console.c b/lib/console.c index 92065d9b..28389331 100644 --- a/lib/console.c +++ b/lib/console.c @@ -9,20 +9,25 @@ */ #include -#include "defines.h" + #include +#include + +#include "defines.h" #include "getdef.h" #include "prototypes.h" -#include "string/strtcpy.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strtcpy.h" +#include "string/strtok/stpsep.h" -#ident "$Id$" /* * This is now rather generic function which decides if "tty" is listed * under "cfgin" in config (directly or indirectly). Fallback to default if * something is bad. */ -static bool is_listed (const char *cfgin, const char *tty, bool def) +static bool +is_listed(const char *cfgin, const char *tty, bool def) { FILE *fp; char buf[1024], *s; @@ -45,14 +50,13 @@ static bool is_listed (const char *cfgin, const char *tty, bool def) if (*cons != '/') { char *pbuf; + STRTCPY(buf, cons); - pbuf = &buf[0]; - while ((s = strtok (pbuf, ":")) != NULL) { - if (strcmp (s, tty) == 0) { + pbuf = buf; + while (NULL != (s = strsep(&pbuf, ":"))) { + if (streq(s, tty)) { return true; } - - pbuf = NULL; } return false; } @@ -72,9 +76,8 @@ static bool is_listed (const char *cfgin, const char *tty, bool def) */ while (fgets (buf, sizeof (buf), fp) != NULL) { - /* Remove optional trailing '\n'. */ - buf[strcspn (buf, "\n")] = '\0'; - if (strcmp (buf, tty) == 0) { + stpsep(buf, "\n"); + if (streq(buf, tty)) { (void) fclose (fp); return true; } diff --git a/lib/copydir.c b/lib/copydir.c index 926033af..6312399e 100644 --- a/lib/copydir.c +++ b/lib/copydir.c @@ -17,9 +17,11 @@ #include #include #include +#include -#include "alloc.h" +#include "alloc/x/xmalloc.h" #include "attr.h" +#include "fs/readlink/areadlink.h" #include "prototypes.h" #include "defines.h" #ifdef WITH_SELINUX @@ -36,7 +38,8 @@ #include #endif /* WITH_ATTR */ #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" static /*@null@*/const char *src_orig; @@ -66,7 +69,6 @@ static int copy_dir (const struct path_info *src, const struct path_info *dst, const struct stat *statp, const struct timespec mt[], uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t new_gid); -static /*@null@*/char *readlink_malloc (const char *filename); static int copy_symlink (const struct path_info *src, const struct path_info *dst, MAYBE_UNUSED bool reset_selinux, const struct stat *statp, const struct timespec mt[], @@ -313,8 +315,8 @@ static int copy_tree_impl (const struct path_info *src, const struct path_info * /* * Skip the "." and ".." entries */ - if (strcmp(ent->d_name, ".") == 0 || - strcmp(ent->d_name, "..") == 0) + if (streq(ent->d_name, ".") || + streq(ent->d_name, "..")) { continue; } @@ -536,42 +538,6 @@ static int copy_dir (const struct path_info *src, const struct path_info *dst, return err; } -/* - * readlink_malloc - wrapper for readlink - * - * return NULL on error. - * The return string shall be freed by the caller. - */ -static /*@null@*/char *readlink_malloc (const char *filename) -{ - size_t size = 1024; - - while (true) { - ssize_t nchars; - char *buffer = MALLOC(size, char); - if (NULL == buffer) { - return NULL; - } - - nchars = readlink (filename, buffer, size); - - if (nchars < 0) { - free(buffer); - return NULL; - } - - if ((size_t) nchars < size) { /* The buffer was large enough */ - /* readlink does not nul-terminate */ - buffer[nchars] = '\0'; - return buffer; - } - - /* Try again with a bigger buffer */ - free (buffer); - size *= 2; - } -} - /* * copy_symlink - copy a symlink * @@ -602,10 +568,9 @@ static int copy_symlink (const struct path_info *src, const struct path_info *ds * destination directory name. */ - oldlink = readlink_malloc (src->full_path); - if (NULL == oldlink) { + oldlink = areadlink(src->full_path); + if (NULL == oldlink) return -1; - } /* If src was a link to an entry of the src_orig directory itself, * create a link to the corresponding entry in the dst_orig diff --git a/lib/csrand.c b/lib/csrand.c index 8ded343a..1914a303 100644 --- a/lib/csrand.c +++ b/lib/csrand.c @@ -1,21 +1,19 @@ -/* - * SPDX-FileCopyrightText: Alejandro Colomar - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause #include #ident "$Id$" +#include #include #include -#include #include #include #if HAVE_SYS_RANDOM_H #include #endif + #include "bit.h" #include "defines.h" #include "prototypes.h" @@ -34,7 +32,7 @@ static unsigned long csrand_uniform_slow(unsigned long n); unsigned long csrand(void) { - FILE *fp; + int fd; unsigned long r; #ifdef HAVE_GETENTROPY @@ -56,17 +54,16 @@ csrand(void) #endif /* Use /dev/urandom as a last resort. */ - fp = fopen("/dev/urandom", "r"); - if (NULL == fp) { + fd = open("/dev/urandom", O_RDONLY); + if (fd == -1) + goto fail; + + if (read(fd, &r, sizeof(r)) != sizeof(r)) { + close(fd); goto fail; } - if (fread(&r, sizeof(r), 1, fp) != 1) { - fclose(fp); - goto fail; - } - - fclose(fp); + close(fd); return r; fail: diff --git a/lib/env.c b/lib/env.c index 9b5fd32f..9cb31371 100644 --- a/lib/env.c +++ b/lib/env.c @@ -16,11 +16,14 @@ #include #include -#include "alloc.h" +#include "alloc/x/xmalloc.h" +#include "alloc/x/xrealloc.h" #include "prototypes.h" #include "defines.h" #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/sprintf/snprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strdup/xstrdup.h" /* diff --git a/lib/failure.c b/lib/failure.c index e42e7107..afff11aa 100644 --- a/lib/failure.c +++ b/lib/failure.c @@ -18,10 +18,10 @@ #include "defines.h" #include "faillog.h" #include "failure.h" -#include "memzero.h" #include "prototypes.h" +#include "string/memset/memzero.h" #include "string/strftime.h" -#include "string/strtcpy.h" +#include "string/strcpy/strtcpy.h" #define YEAR (365L*DAY) @@ -82,7 +82,7 @@ void failure (uid_t uid, const char *tty, struct faillog *fl) } STRTCPY(fl->fail_line, tty); - (void) time (&fl->fail_time); + fl->fail_time = time(NULL); /* * Seek back to the correct position in the file and write the @@ -126,7 +126,7 @@ static bool too_many_failures (const struct faillog *fl) return true; /* locked until reset manually */ } - (void) time (&now); + now = time(NULL); if ((fl->fail_time + fl->fail_locktime) < now) { return false; /* enough time since last failure */ } @@ -242,14 +242,12 @@ void failprint (const struct faillog *fail) struct tm *tp; char lasttimeb[256]; char *lasttime = lasttimeb; - time_t NOW; if (0 == fail->fail_cnt) { return; } tp = localtime (&(fail->fail_time)); - (void) time (&NOW); /* * Print all information we have. diff --git a/lib/fields.c b/lib/fields.c index 53929248..b4aa868c 100644 --- a/lib/fields.c +++ b/lib/fields.c @@ -14,7 +14,12 @@ #include #include #include + #include "prototypes.h" +#include "string/strchr/stpspn.h" +#include "string/strchr/strrspn.h" +#include "string/strtok/stpsep.h" + /* * valid_field - insure that a field contains all legal characters @@ -62,7 +67,8 @@ int valid_field (const char *field, const char *illegal) * prompt the user with the name of the field being changed and the * current value. */ -void change_field (char *buf, size_t maxsize, const char *prompt) +void +change_field(char *buf, size_t maxsize, const char *prompt) { char newf[200]; char *cp; @@ -77,11 +83,8 @@ void change_field (char *buf, size_t maxsize, const char *prompt) return; } - cp = strchr (newf, '\n'); - if (NULL == cp) { + if (stpsep(newf, "\n") == NULL) return; - } - *cp = '\0'; if ('\0' != newf[0]) { /* @@ -89,17 +92,8 @@ void change_field (char *buf, size_t maxsize, const char *prompt) * makes it possible to change the field to empty, by * entering a space. --marekm */ - - while (newf < cp && isspace (cp[-1])) { - cp--; - } - *cp = '\0'; - - cp = newf; - while (isspace (*cp)) { - cp++; - } - + stpcpy(strrspn(newf, " \t"), ""); + cp = stpspn(newf, " \t"); strcpy (buf, cp); } } diff --git a/lib/find_new_gid.c b/lib/find_new_gid.c index cfd56098..cdf8779e 100644 --- a/lib/find_new_gid.c +++ b/lib/find_new_gid.c @@ -9,10 +9,11 @@ #include #include +#include #include #include -#include "alloc.h" +#include "alloc/calloc.h" #include "prototypes.h" #include "groupio.h" #include "getdef.h" diff --git a/lib/find_new_uid.c b/lib/find_new_uid.c index 45ce712c..f2ca60ff 100644 --- a/lib/find_new_uid.c +++ b/lib/find_new_uid.c @@ -9,10 +9,11 @@ #include #include +#include #include #include -#include "alloc.h" +#include "alloc/calloc.h" #include "prototypes.h" #include "pwio.h" #include "getdef.h" @@ -304,7 +305,7 @@ int find_new_uid(bool sys_user, return 0; } else if (result == EEXIST || result == EINVAL) { /* - * This GID is in use or unusable, we'll + * This UID is in use or unusable, we'll * continue to the next. */ } else { @@ -350,7 +351,7 @@ int find_new_uid(bool sys_user, return 0; } else if (result == EEXIST || result == EINVAL) { /* - * This GID is in use or unusable, we'll + * This UID is in use or unusable, we'll * continue to the next. */ } else { @@ -413,7 +414,7 @@ int find_new_uid(bool sys_user, return 0; } else if (result == EEXIST || result == EINVAL) { /* - * This GID is in use or unusable, we'll + * This UID is in use or unusable, we'll * continue to the next. */ } else { @@ -459,7 +460,7 @@ int find_new_uid(bool sys_user, return 0; } else if (result == EEXIST || result == EINVAL) { /* - * This GID is in use or unusable, we'll + * This UID is in use or unusable, we'll * continue to the next. */ } else { diff --git a/lib/fputsx.c b/lib/fputsx.c index 05653101..a43c2ac1 100644 --- a/lib/fputsx.c +++ b/lib/fputsx.c @@ -10,6 +10,8 @@ #include #include +#include + #include "defines.h" #include "prototypes.h" @@ -25,7 +27,7 @@ fgetsx(/*@returned@*/char *restrict buf, int cnt, FILE *restrict f) while (cnt > 0) { if (fgets (cp, cnt, f) != cp) { if (cp == buf) { - return 0; + return NULL; } else { break; } @@ -33,10 +35,8 @@ fgetsx(/*@returned@*/char *restrict buf, int cnt, FILE *restrict f) ep = strrchr (cp, '\\'); if ((NULL != ep) && (*(ep + 1) == '\n')) { cnt -= ep - cp; - if (cnt > 0) { - cp = ep; - *cp = '\0'; - } + if (cnt > 0) + cp = stpcpy(ep, ""); } else { break; } diff --git a/lib/fs/readlink/areadlink.c b/lib/fs/readlink/areadlink.c new file mode 100644 index 00000000..b569e3f2 --- /dev/null +++ b/lib/fs/readlink/areadlink.c @@ -0,0 +1,10 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "fs/readlink/areadlink.h" + + +extern inline char *areadlink(const char *link); diff --git a/lib/fs/readlink/areadlink.h b/lib/fs/readlink/areadlink.h new file mode 100644 index 00000000..de931a7b --- /dev/null +++ b/lib/fs/readlink/areadlink.h @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_FS_READLINK_AREADLINK_H_ +#define SHADOW_INCLUDE_LIB_FS_READLINK_AREADLINK_H_ + + +#include + +#include +#include +#include +#include +#include + +#include "alloc/malloc.h" +#include "attr.h" +#include "fs/readlink/readlinknul.h" + + +ATTR_STRING(1) +inline char *areadlink(const char *link); + + +// Similar to readlink(2), but allocate and terminate the string. +inline char * +areadlink(const char *link) +{ + size_t size = PATH_MAX; + + while (true) { + int len; + char *buf; + + buf = MALLOC(size, char); + if (NULL == buf) + return NULL; + + len = readlinknul(link, buf, size); + if (len != -1) + return buf; + + free(buf); + if (errno != E2BIG) + return NULL; + + size *= 2; + } +} + + +#endif // include guard diff --git a/lib/fs/readlink/readlinknul.c b/lib/fs/readlink/readlinknul.c new file mode 100644 index 00000000..4baea0d0 --- /dev/null +++ b/lib/fs/readlink/readlinknul.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "fs/readlink/readlinknul.h" + +#include + + +extern inline int readlinknul(const char *restrict link, char *restrict buf, + size_t size); diff --git a/lib/fs/readlink/readlinknul.h b/lib/fs/readlink/readlinknul.h new file mode 100644 index 00000000..bb228dfa --- /dev/null +++ b/lib/fs/readlink/readlinknul.h @@ -0,0 +1,50 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_FS_READLINK_READLINKNUL_H_ +#define SHADOW_INCLUDE_LIB_FS_READLINK_READLINKNUL_H_ + + +#include + +#include +#include +#include +#include +#include + +#include "attr.h" +#include "sizeof.h" + + +#define READLINKNUL(link, buf) readlinknul(link, buf, NITEMS(buf)) + + +ATTR_STRING(1) +inline int readlinknul(const char *restrict link, char *restrict buf, + size_t size); + + +// Similar to readlink(2), but terminate the string. +inline int +readlinknul(const char *restrict link, char *restrict buf, size_t size) +{ + ssize_t len; + + len = readlink(link, buf, size); + if (len == -1) + return -1; + + if (len == size) { + stpcpy(&buf[size-1], ""); + errno = E2BIG; + return -1; + } + + stpcpy(&buf[len], ""); + return len; +} + + +#endif // include guard diff --git a/lib/get_gid.c b/lib/get_gid.c deleted file mode 100644 index 2420137b..00000000 --- a/lib/get_gid.c +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2009 , Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - - -#include - -#ident "$Id$" - -#include "prototypes.h" -#include "defines.h" - - -int -get_gid(const char *gidstr, gid_t *gid) -{ - char *end; - long long val; - - errno = 0; - val = strtoll(gidstr, &end, 10); - if ( ('\0' == *gidstr) - || ('\0' != *end) - || (0 != errno) - || (/*@+longintegral@*/val != (gid_t)val)/*@=longintegral@*/) { - return -1; - } - - *gid = val; - return 0; -} - diff --git a/lib/get_pid.c b/lib/get_pid.c index af3f2f8e..f4d31cfd 100644 --- a/lib/get_pid.c +++ b/lib/get_pid.c @@ -1,8 +1,7 @@ -/* - * SPDX-FileCopyrightText: 2009 , Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + #include @@ -14,29 +13,10 @@ #include #include -#include "string/sprintf.h" +#include "atoi/getnum.h" +#include "string/sprintf/snprintf.h" -int -get_pid(const char *pidstr, pid_t *pid) -{ - char *end; - long long val; - - errno = 0; - val = strtoll(pidstr, &end, 10); - if ( ('\0' == *pidstr) - || ('\0' != *end) - || (0 != errno) - || (val < 1) - || (/*@+longintegral@*/val != (pid_t)val)/*@=longintegral@*/) { - return -1; - } - - *pid = val; - return 0; -} - /* * If use passed in fd:4 as an argument, then return the * value '4', the fd to use. @@ -44,20 +24,12 @@ get_pid(const char *pidstr, pid_t *pid) */ int get_pidfd_from_fd(const char *pidfdstr) { - char *end; - long long val; + int pidfd; struct stat st; dev_t proc_st_dev, proc_st_rdev; - errno = 0; - val = strtoll(pidfdstr, &end, 10); - if ( ('\0' == *pidfdstr) - || ('\0' != *end) - || (0 != errno) - || (val < 0) - || (/*@+longintegral@*/val != (int)val)/*@=longintegral@*/) { + if (get_fd(pidfdstr, &pidfd) == -1) return -1; - } if (stat("/proc/self/uid_map", &st) < 0) { return -1; @@ -66,7 +38,7 @@ int get_pidfd_from_fd(const char *pidfdstr) proc_st_dev = st.st_dev; proc_st_rdev = st.st_rdev; - if (fstat(val, &st) < 0) { + if (fstat(pidfd, &st) < 0) { return -1; } @@ -74,7 +46,7 @@ int get_pidfd_from_fd(const char *pidfdstr) return -1; } - return (int)val; + return pidfd; } int open_pidfd(const char *pidstr) diff --git a/lib/get_uid.c b/lib/get_uid.c deleted file mode 100644 index 77fe9660..00000000 --- a/lib/get_uid.c +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2009 , Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - - -#include - -#ident "$Id$" - -#include "prototypes.h" -#include "defines.h" - - -int -get_uid(const char *uidstr, uid_t *uid) -{ - char *end; - long long val; - - errno = 0; - val = strtoll(uidstr, &end, 10); - if ( ('\0' == *uidstr) - || ('\0' != *end) - || (0 != errno) - || (/*@+longintegral@*/val != (uid_t)val)/*@=longintegral@*/) { - return -1; - } - - *uid = val; - return 0; -} - diff --git a/lib/getdate.c b/lib/getdate.c index 556ce624..74c8fce1 100644 --- a/lib/getdate.c +++ b/lib/getdate.c @@ -94,14 +94,16 @@ # undef static #endif -#include #include +#include +#include #include #include "attr.h" #include "getdate.h" +#include "string/strchr/stpspn.h" +#include "string/strcmp/streq.h" -#include /* Some old versions of bison generate parsers that use bcopy. That loses on systems that don't provide the function, so we have @@ -213,7 +215,7 @@ static int yyRelSeconds; static int yyRelYear; -#line 217 "getdate.c" +#line 219 "getdate.c" # ifndef YY_CAST # ifdef __cplusplus @@ -299,12 +301,12 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 147 "getdate.y" +#line 149 "getdate.y" int Number; enum _MERIDIAN Meridian; -#line 308 "getdate.c" +#line 310 "getdate.c" }; typedef union YYSTYPE YYSTYPE; @@ -744,12 +746,12 @@ static const yytype_int8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 163, 163, 164, 167, 170, 173, 176, 179, 182, - 185, 191, 197, 206, 212, 224, 227, 231, 236, 240, - 244, 250, 254, 272, 278, 284, 288, 293, 297, 304, - 312, 315, 318, 321, 324, 327, 330, 333, 336, 339, - 342, 345, 348, 351, 354, 357, 360, 363, 366, 371, - 405, 408 + 0, 165, 165, 166, 169, 172, 175, 178, 181, 184, + 187, 193, 199, 208, 214, 226, 229, 233, 238, 242, + 246, 252, 256, 274, 280, 286, 290, 295, 299, 306, + 314, 317, 320, 323, 326, 329, 332, 335, 338, 341, + 344, 347, 350, 353, 356, 359, 362, 365, 368, 373, + 407, 410 }; #endif @@ -1350,69 +1352,69 @@ yyreduce: switch (yyn) { case 4: /* item: time */ -#line 167 "getdate.y" +#line 169 "getdate.y" { yyHaveTime++; } -#line 1358 "getdate.c" +#line 1360 "getdate.c" break; case 5: /* item: zone */ -#line 170 "getdate.y" +#line 172 "getdate.y" { yyHaveZone++; } -#line 1366 "getdate.c" +#line 1368 "getdate.c" break; case 6: /* item: date */ -#line 173 "getdate.y" +#line 175 "getdate.y" { yyHaveDate++; } -#line 1374 "getdate.c" +#line 1376 "getdate.c" break; case 7: /* item: day */ -#line 176 "getdate.y" +#line 178 "getdate.y" { yyHaveDay++; } -#line 1382 "getdate.c" +#line 1384 "getdate.c" break; case 8: /* item: rel */ -#line 179 "getdate.y" +#line 181 "getdate.y" { yyHaveRel++; } -#line 1390 "getdate.c" +#line 1392 "getdate.c" break; case 10: /* time: tUNUMBER tMERIDIAN */ -#line 185 "getdate.y" +#line 187 "getdate.y" { yyHour = (yyvsp[-1].Number); yyMinutes = 0; yySeconds = 0; yyMeridian = (yyvsp[0].Meridian); } -#line 1401 "getdate.c" +#line 1403 "getdate.c" break; case 11: /* time: tUNUMBER ':' tUNUMBER o_merid */ -#line 191 "getdate.y" +#line 193 "getdate.y" { yyHour = (yyvsp[-3].Number); yyMinutes = (yyvsp[-1].Number); yySeconds = 0; yyMeridian = (yyvsp[0].Meridian); } -#line 1412 "getdate.c" +#line 1414 "getdate.c" break; case 12: /* time: tUNUMBER ':' tUNUMBER tSNUMBER */ -#line 197 "getdate.y" +#line 199 "getdate.y" { yyHour = (yyvsp[-3].Number); yyMinutes = (yyvsp[-1].Number); @@ -1422,22 +1424,22 @@ yyreduce: ? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60 : - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60)); } -#line 1426 "getdate.c" +#line 1428 "getdate.c" break; case 13: /* time: tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid */ -#line 206 "getdate.y" +#line 208 "getdate.y" { yyHour = (yyvsp[-5].Number); yyMinutes = (yyvsp[-3].Number); yySeconds = (yyvsp[-1].Number); yyMeridian = (yyvsp[0].Meridian); } -#line 1437 "getdate.c" +#line 1439 "getdate.c" break; case 14: /* time: tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER */ -#line 212 "getdate.y" +#line 214 "getdate.y" { yyHour = (yyvsp[-5].Number); yyMinutes = (yyvsp[-3].Number); @@ -1448,71 +1450,71 @@ yyreduce: ? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60 : - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60)); } -#line 1452 "getdate.c" +#line 1454 "getdate.c" break; case 15: /* zone: tZONE */ -#line 224 "getdate.y" +#line 226 "getdate.y" { yyTimezone = (yyvsp[0].Number); } -#line 1460 "getdate.c" +#line 1462 "getdate.c" break; case 16: /* zone: tDAYZONE */ -#line 227 "getdate.y" +#line 229 "getdate.y" { yyTimezone = (yyvsp[0].Number) - 60; } -#line 1468 "getdate.c" +#line 1470 "getdate.c" break; case 17: /* zone: tZONE tDST */ -#line 231 "getdate.y" +#line 233 "getdate.y" { yyTimezone = (yyvsp[-1].Number) - 60; } -#line 1476 "getdate.c" +#line 1478 "getdate.c" break; case 18: /* day: tDAY */ -#line 236 "getdate.y" +#line 238 "getdate.y" { yyDayOrdinal = 1; yyDayNumber = (yyvsp[0].Number); } -#line 1485 "getdate.c" +#line 1487 "getdate.c" break; case 19: /* day: tDAY ',' */ -#line 240 "getdate.y" +#line 242 "getdate.y" { yyDayOrdinal = 1; yyDayNumber = (yyvsp[-1].Number); } -#line 1494 "getdate.c" +#line 1496 "getdate.c" break; case 20: /* day: tUNUMBER tDAY */ -#line 244 "getdate.y" +#line 246 "getdate.y" { yyDayOrdinal = (yyvsp[-1].Number); yyDayNumber = (yyvsp[0].Number); } -#line 1503 "getdate.c" +#line 1505 "getdate.c" break; case 21: /* date: tUNUMBER '/' tUNUMBER */ -#line 250 "getdate.y" +#line 252 "getdate.y" { yyMonth = (yyvsp[-2].Number); yyDay = (yyvsp[0].Number); } -#line 1512 "getdate.c" +#line 1514 "getdate.c" break; case 22: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ -#line 254 "getdate.y" +#line 256 "getdate.y" { /* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY. The goal in recognizing YYYY/MM/DD is solely to support legacy @@ -1531,71 +1533,71 @@ yyreduce: yyYear = (yyvsp[0].Number); } } -#line 1535 "getdate.c" +#line 1537 "getdate.c" break; case 23: /* date: tUNUMBER tSNUMBER tSNUMBER */ -#line 272 "getdate.y" +#line 274 "getdate.y" { /* ISO 8601 format. yyyy-mm-dd. */ yyYear = (yyvsp[-2].Number); yyMonth = -(yyvsp[-1].Number); yyDay = -(yyvsp[0].Number); } -#line 1546 "getdate.c" +#line 1548 "getdate.c" break; case 24: /* date: tUNUMBER tMONTH tSNUMBER */ -#line 278 "getdate.y" +#line 280 "getdate.y" { /* e.g. 17-JUN-1992. */ yyDay = (yyvsp[-2].Number); yyMonth = (yyvsp[-1].Number); yyYear = -(yyvsp[0].Number); } -#line 1557 "getdate.c" +#line 1559 "getdate.c" break; case 25: /* date: tMONTH tUNUMBER */ -#line 284 "getdate.y" +#line 286 "getdate.y" { yyMonth = (yyvsp[-1].Number); yyDay = (yyvsp[0].Number); } -#line 1566 "getdate.c" +#line 1568 "getdate.c" break; case 26: /* date: tMONTH tUNUMBER ',' tUNUMBER */ -#line 288 "getdate.y" +#line 290 "getdate.y" { yyMonth = (yyvsp[-3].Number); yyDay = (yyvsp[-2].Number); yyYear = (yyvsp[0].Number); } -#line 1576 "getdate.c" +#line 1578 "getdate.c" break; case 27: /* date: tUNUMBER tMONTH */ -#line 293 "getdate.y" +#line 295 "getdate.y" { yyMonth = (yyvsp[0].Number); yyDay = (yyvsp[-1].Number); } -#line 1585 "getdate.c" +#line 1587 "getdate.c" break; case 28: /* date: tUNUMBER tMONTH tUNUMBER */ -#line 297 "getdate.y" +#line 299 "getdate.y" { yyMonth = (yyvsp[-1].Number); yyDay = (yyvsp[-2].Number); yyYear = (yyvsp[0].Number); } -#line 1595 "getdate.c" +#line 1597 "getdate.c" break; case 29: /* rel: relunit tAGO */ -#line 304 "getdate.y" +#line 306 "getdate.y" { yyRelSeconds = -yyRelSeconds; yyRelMinutes = -yyRelMinutes; @@ -1604,155 +1606,155 @@ yyreduce: yyRelMonth = -yyRelMonth; yyRelYear = -yyRelYear; } -#line 1608 "getdate.c" +#line 1610 "getdate.c" break; case 31: /* relunit: tUNUMBER tYEAR_UNIT */ -#line 315 "getdate.y" +#line 317 "getdate.y" { yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1616 "getdate.c" +#line 1618 "getdate.c" break; case 32: /* relunit: tSNUMBER tYEAR_UNIT */ -#line 318 "getdate.y" +#line 320 "getdate.y" { yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1624 "getdate.c" +#line 1626 "getdate.c" break; case 33: /* relunit: tYEAR_UNIT */ -#line 321 "getdate.y" +#line 323 "getdate.y" { yyRelYear += (yyvsp[0].Number); } -#line 1632 "getdate.c" +#line 1634 "getdate.c" break; case 34: /* relunit: tUNUMBER tMONTH_UNIT */ -#line 324 "getdate.y" +#line 326 "getdate.y" { yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1640 "getdate.c" +#line 1642 "getdate.c" break; case 35: /* relunit: tSNUMBER tMONTH_UNIT */ -#line 327 "getdate.y" +#line 329 "getdate.y" { yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1648 "getdate.c" +#line 1650 "getdate.c" break; case 36: /* relunit: tMONTH_UNIT */ -#line 330 "getdate.y" +#line 332 "getdate.y" { yyRelMonth += (yyvsp[0].Number); } -#line 1656 "getdate.c" +#line 1658 "getdate.c" break; case 37: /* relunit: tUNUMBER tDAY_UNIT */ -#line 333 "getdate.y" +#line 335 "getdate.y" { yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1664 "getdate.c" +#line 1666 "getdate.c" break; case 38: /* relunit: tSNUMBER tDAY_UNIT */ -#line 336 "getdate.y" +#line 338 "getdate.y" { yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1672 "getdate.c" +#line 1674 "getdate.c" break; case 39: /* relunit: tDAY_UNIT */ -#line 339 "getdate.y" +#line 341 "getdate.y" { yyRelDay += (yyvsp[0].Number); } -#line 1680 "getdate.c" +#line 1682 "getdate.c" break; case 40: /* relunit: tUNUMBER tHOUR_UNIT */ -#line 342 "getdate.y" +#line 344 "getdate.y" { yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1688 "getdate.c" +#line 1690 "getdate.c" break; case 41: /* relunit: tSNUMBER tHOUR_UNIT */ -#line 345 "getdate.y" +#line 347 "getdate.y" { yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1696 "getdate.c" +#line 1698 "getdate.c" break; case 42: /* relunit: tHOUR_UNIT */ -#line 348 "getdate.y" +#line 350 "getdate.y" { yyRelHour += (yyvsp[0].Number); } -#line 1704 "getdate.c" +#line 1706 "getdate.c" break; case 43: /* relunit: tUNUMBER tMINUTE_UNIT */ -#line 351 "getdate.y" +#line 353 "getdate.y" { yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1712 "getdate.c" +#line 1714 "getdate.c" break; case 44: /* relunit: tSNUMBER tMINUTE_UNIT */ -#line 354 "getdate.y" +#line 356 "getdate.y" { yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1720 "getdate.c" +#line 1722 "getdate.c" break; case 45: /* relunit: tMINUTE_UNIT */ -#line 357 "getdate.y" +#line 359 "getdate.y" { yyRelMinutes += (yyvsp[0].Number); } -#line 1728 "getdate.c" +#line 1730 "getdate.c" break; case 46: /* relunit: tUNUMBER tSEC_UNIT */ -#line 360 "getdate.y" +#line 362 "getdate.y" { yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1736 "getdate.c" +#line 1738 "getdate.c" break; case 47: /* relunit: tSNUMBER tSEC_UNIT */ -#line 363 "getdate.y" +#line 365 "getdate.y" { yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1744 "getdate.c" +#line 1746 "getdate.c" break; case 48: /* relunit: tSEC_UNIT */ -#line 366 "getdate.y" +#line 368 "getdate.y" { yyRelSeconds += (yyvsp[0].Number); } -#line 1752 "getdate.c" +#line 1754 "getdate.c" break; case 49: /* number: tUNUMBER */ -#line 372 "getdate.y" +#line 374 "getdate.y" { if ((yyHaveTime != 0) && (yyHaveDate != 0) && (yyHaveRel == 0)) yyYear = (yyvsp[0].Number); @@ -1783,27 +1785,27 @@ yyreduce: } } } -#line 1787 "getdate.c" +#line 1789 "getdate.c" break; case 50: /* o_merid: %empty */ -#line 405 "getdate.y" +#line 407 "getdate.y" { (yyval.Meridian) = MER24; } -#line 1795 "getdate.c" +#line 1797 "getdate.c" break; case 51: /* o_merid: tMERIDIAN */ -#line 409 "getdate.y" +#line 411 "getdate.y" { (yyval.Meridian) = (yyvsp[0].Meridian); } -#line 1803 "getdate.c" +#line 1805 "getdate.c" break; -#line 1807 "getdate.c" +#line 1809 "getdate.c" default: break; } @@ -1996,7 +1998,7 @@ yyreturnlab: return yyresult; } -#line 414 "getdate.y" +#line 416 "getdate.y" /* Month and day table. */ @@ -2215,12 +2217,12 @@ static int LookupWord (char *buff) if (isupper (*p)) *p = tolower (*p); - if (strcmp (buff, "am") == 0 || strcmp (buff, "a.m.") == 0) + if (streq(buff, "am") || streq(buff, "a.m.")) { yylval.Meridian = MERam; return tMERIDIAN; } - if (strcmp (buff, "pm") == 0 || strcmp (buff, "p.m.") == 0) + if (streq(buff, "pm") || streq(buff, "p.m.")) { yylval.Meridian = MERpm; return tMERIDIAN; @@ -2232,7 +2234,7 @@ static int LookupWord (char *buff) else if (strlen (buff) == 4 && buff[3] == '.') { abbrev = true; - buff[3] = '\0'; + stpcpy(&buff[3], ""); } else abbrev = false; @@ -2247,7 +2249,7 @@ static int LookupWord (char *buff) return tp->type; } } - else if (strcmp (buff, tp->name) == 0) + else if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -2255,17 +2257,17 @@ static int LookupWord (char *buff) } for (tp = TimezoneTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; } - if (strcmp (buff, "dst") == 0) + if (streq(buff, "dst")) return tDST; for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -2275,9 +2277,9 @@ static int LookupWord (char *buff) i = strlen (buff) - 1; if (buff[i] == 's') { - buff[i] = '\0'; + stpcpy(&buff[i], ""); for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -2286,7 +2288,7 @@ static int LookupWord (char *buff) } for (tp = OtherTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -2296,7 +2298,7 @@ static int LookupWord (char *buff) if (buff[1] == '\0' && isalpha (*buff)) { for (tp = MilitaryTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -2309,10 +2311,10 @@ static int LookupWord (char *buff) *p++ = *q; else i++; - *p = '\0'; + stpcpy(p, ""); if (0 != i) for (tp = TimezoneTable; NULL != tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -2332,8 +2334,7 @@ yylex (void) for (;;) { - while (isspace (*yyInput)) - yyInput++; + yyInput = stpspn(yyInput, " \t"); if (isdigit (c = *yyInput) || c == '-' || c == '+') { @@ -2358,7 +2359,7 @@ yylex (void) for (p = buff; (c = *yyInput++, isalpha (c)) || c == '.';) if (p < &buff[sizeof buff - 1]) *p++ = c; - *p = '\0'; + stpcpy(p, ""); yyInput--; return LookupWord (buff); } @@ -2407,7 +2408,7 @@ time_t get_date (const char *p, const time_t *now) time_t Start; yyInput = p; - Start = now ? *now : time ((time_t *) NULL); + Start = now ? *now : time(NULL); tmp = localtime (&Start); yyYear = tmp->tm_year + TM_YEAR_ORIGIN; yyMonth = tmp->tm_mon + 1; @@ -2521,7 +2522,7 @@ main(void) buff[MAX_BUFF_LEN] = 0; while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) { - d = get_date (buff, (time_t *) NULL); + d = get_date(buff, NULL); if (d == -1) (void) printf ("Bad format - couldn't convert.\n"); else diff --git a/lib/getdate.y b/lib/getdate.y index 8cea2cc4..9a7e1d36 100644 --- a/lib/getdate.y +++ b/lib/getdate.y @@ -24,14 +24,16 @@ # undef static #endif -#include #include +#include +#include #include #include "attr.h" #include "getdate.h" +#include "string/strchr/stpspn.h" +#include "string/strcmp/streq.h" -#include /* Some old versions of bison generate parsers that use bcopy. That loses on systems that don't provide the function, so we have @@ -629,12 +631,12 @@ static int LookupWord (char *buff) if (isupper (*p)) *p = tolower (*p); - if (strcmp (buff, "am") == 0 || strcmp (buff, "a.m.") == 0) + if (streq(buff, "am") || streq(buff, "a.m.")) { yylval.Meridian = MERam; return tMERIDIAN; } - if (strcmp (buff, "pm") == 0 || strcmp (buff, "p.m.") == 0) + if (streq(buff, "pm") || streq(buff, "p.m.")) { yylval.Meridian = MERpm; return tMERIDIAN; @@ -646,7 +648,7 @@ static int LookupWord (char *buff) else if (strlen (buff) == 4 && buff[3] == '.') { abbrev = true; - buff[3] = '\0'; + stpcpy(&buff[3], ""); } else abbrev = false; @@ -661,7 +663,7 @@ static int LookupWord (char *buff) return tp->type; } } - else if (strcmp (buff, tp->name) == 0) + else if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -669,17 +671,17 @@ static int LookupWord (char *buff) } for (tp = TimezoneTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; } - if (strcmp (buff, "dst") == 0) + if (streq(buff, "dst")) return tDST; for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -689,9 +691,9 @@ static int LookupWord (char *buff) i = strlen (buff) - 1; if (buff[i] == 's') { - buff[i] = '\0'; + stpcpy(&buff[i], ""); for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -700,7 +702,7 @@ static int LookupWord (char *buff) } for (tp = OtherTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -710,7 +712,7 @@ static int LookupWord (char *buff) if (buff[1] == '\0' && isalpha (*buff)) { for (tp = MilitaryTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -723,10 +725,10 @@ static int LookupWord (char *buff) *p++ = *q; else i++; - *p = '\0'; + stpcpy(p, ""); if (0 != i) for (tp = TimezoneTable; NULL != tp->name; tp++) - if (strcmp (buff, tp->name) == 0) + if (streq(buff, tp->name)) { yylval.Number = tp->value; return tp->type; @@ -746,8 +748,7 @@ yylex (void) for (;;) { - while (isspace (*yyInput)) - yyInput++; + yyInput = stpspn(yyInput, " \t"); if (isdigit (c = *yyInput) || c == '-' || c == '+') { @@ -772,7 +773,7 @@ yylex (void) for (p = buff; (c = *yyInput++, isalpha (c)) || c == '.';) if (p < &buff[sizeof buff - 1]) *p++ = c; - *p = '\0'; + stpcpy(p, ""); yyInput--; return LookupWord (buff); } @@ -821,7 +822,7 @@ time_t get_date (const char *p, const time_t *now) time_t Start; yyInput = p; - Start = now ? *now : time ((time_t *) NULL); + Start = now ? *now : time(NULL); tmp = localtime (&Start); yyYear = tmp->tm_year + TM_YEAR_ORIGIN; yyMonth = tmp->tm_mon + 1; @@ -935,7 +936,7 @@ main(void) buff[MAX_BUFF_LEN] = 0; while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) { - d = get_date (buff, (time_t *) NULL); + d = get_date(buff, NULL); if (d == -1) (void) printf ("Bad format - couldn't convert.\n"); else diff --git a/lib/getdef.c b/lib/getdef.c index 30f54bab..c59e8807 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -11,22 +11,29 @@ #ident "$Id$" -#include "prototypes.h" -#include "defines.h" +#include +#include #include #include #include -#include -#include +#include + #ifdef USE_ECONF #include #endif -#include "alloc.h" -#include "atoi/str2i.h" +#include "atoi/a2i/a2s.h" +#include "atoi/a2i/a2u.h" +#include "atoi/str2i/str2u.h" +#include "defines.h" #include "getdef.h" +#include "prototypes.h" #include "shadowlog_internal.h" -#include "string/sprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strchr/stpspn.h" +#include "string/strchr/strrspn.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" /* @@ -151,7 +158,6 @@ static struct itemdef def_table[] = { {NULL, NULL} }; -#define NUMKNOWNDEFS (sizeof(knowndef_table)/sizeof(knowndef_table[0])) static struct itemdef knowndef_table[] = { #ifdef USE_PAM PAMDEFS @@ -232,10 +238,11 @@ bool getdef_bool (const char *item) * values are handled. */ -int getdef_num (const char *item, int dflt) +int +getdef_num(const char *item, int dflt) { - struct itemdef *d; - long val; + int val; + struct itemdef *d; if (!def_loaded) { def_load (); @@ -246,9 +253,7 @@ int getdef_num (const char *item, int dflt) return dflt; } - if ( (str2sl(&val, d->value) == -1) - || (val > INT_MAX) - || (val < -1)) { + if (a2si(&val, d->value, NULL, 0, -1, INT_MAX) == -1) { fprintf (shadow_logfd, _("configuration error - cannot parse %s value: '%s'"), item, d->value); @@ -267,10 +272,11 @@ int getdef_num (const char *item, int dflt) * values are handled. */ -unsigned int getdef_unum (const char *item, unsigned int dflt) +unsigned int +getdef_unum(const char *item, unsigned int dflt) { - struct itemdef *d; - long val; + unsigned int val; + struct itemdef *d; if (!def_loaded) { def_load (); @@ -281,9 +287,7 @@ unsigned int getdef_unum (const char *item, unsigned int dflt) return dflt; } - if ( (str2sl(&val, d->value) == -1) - || (val < 0) - || (val > INT_MAX)) { + if (a2ui(&val, d->value, NULL, 0, 0, UINT_MAX) == -1) { fprintf (shadow_logfd, _("configuration error - cannot parse %s value: '%s'"), item, d->value); @@ -316,7 +320,7 @@ long getdef_long (const char *item, long dflt) return dflt; } - if (str2sl(&val, d->value) == -1 || val < -1) { + if (a2sl(&val, d->value, NULL, 0, -1, LONG_MAX) == -1) { fprintf (shadow_logfd, _("configuration error - cannot parse %s value: '%s'"), item, d->value); @@ -416,7 +420,7 @@ static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name, cons */ for (ptr = def_table; NULL != ptr->name; ptr++) { - if (strcmp (ptr->name, name) == 0) { + if (streq(ptr->name, name)) { return ptr; } } @@ -426,7 +430,7 @@ static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name, cons */ for (ptr = knowndef_table; NULL != ptr->name; ptr++) { - if (strcmp (ptr->name, name) == 0) { + if (streq(ptr->name, name)) { goto out; } } @@ -526,7 +530,6 @@ static void def_load (void) #else /* USE_ECONF */ static void def_load (void) { - int i; FILE *fp; char buf[1024], *name, *value, *s; @@ -558,28 +561,21 @@ static void def_load (void) /* * Trim trailing whitespace. */ - for (i = (ptrdiff_t) strlen (buf) - 1; i >= 0; --i) { - if (!isspace (buf[i])) { - break; - } - } - i++; - buf[i] = '\0'; + stpcpy(strrspn(buf, " \t\n"), ""); /* * Break the line into two fields. */ - name = buf + strspn (buf, " \t"); /* first nonwhite */ + name = stpspn(buf, " \t"); /* first nonwhite */ if (*name == '\0' || *name == '#') continue; /* comment or empty */ - s = name + strcspn (name, " \t"); /* end of field */ - if (*s == '\0') + s = stpsep(name, " \t"); /* next field */ + if (s == NULL) continue; /* only 1 field?? */ - *s++ = '\0'; - value = s + strspn (s, " \"\t"); /* next nonwhite */ - *(value + strcspn (value, "\"")) = '\0'; + value = stpspn(s, " \"\t"); /* next nonwhite */ + stpsep(value, "\""); /* * Store the value in def_table. diff --git a/lib/getgr_nam_gid.c b/lib/getgr_nam_gid.c index fd0c2171..58f38534 100644 --- a/lib/getgr_nam_gid.c +++ b/lib/getgr_nam_gid.c @@ -1,11 +1,10 @@ -/* - * SPDX-FileCopyrightText: 1991 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 2000, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2000 - 2006, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2007 - 2009, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 1991-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-2000, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2000-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2007-2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + #include @@ -14,30 +13,27 @@ #include #include #include +#include + +#include "atoi/getnum.h" #include "prototypes.h" + /* * getgr_nam_gid - Return a pointer to the group specified by a string. * The string may be a valid GID or a valid groupname. * If the group does not exist on the system, NULL is returned. */ -extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *grname) +extern /*@only@*//*@null@*/struct group * +getgr_nam_gid(/*@null@*/const char *grname) { - char *end; - long long gid; + gid_t gid; - if (NULL == grname) { + if (NULL == grname) return NULL; - } - errno = 0; - gid = strtoll(grname, &end, 10); - if ( ('\0' != *grname) - && ('\0' == *end) - && (0 == errno) - && (/*@+longintegral@*/gid == (gid_t)gid)/*@=longintegral@*/) { - return xgetgrgid (gid); - } - return xgetgrnam (grname); + if (get_gid(grname, &gid) == 0) + return xgetgrgid(gid); + return xgetgrnam(grname); } diff --git a/lib/getrange.c b/lib/getrange.c index 466e9089..603152e6 100644 --- a/lib/getrange.c +++ b/lib/getrange.c @@ -10,7 +10,7 @@ #include #include -#include "atoi/a2i.h" +#include "atoi/a2i/a2u.h" #include "defines.h" #include "prototypes.h" diff --git a/lib/gettime.c b/lib/gettime.c index c61c88c3..69285e54 100644 --- a/lib/gettime.c +++ b/lib/gettime.c @@ -11,7 +11,7 @@ #include #include -#include "atoi/a2i.h" +#include "atoi/a2i/a2i.h" #include "defines.h" #include "prototypes.h" #include "shadowlog.h" diff --git a/lib/groupio.c b/lib/groupio.c index 7b9d45f2..516e3ccd 100644 --- a/lib/groupio.c +++ b/lib/groupio.c @@ -15,12 +15,14 @@ #include #include -#include "alloc.h" -#include "prototypes.h" -#include "defines.h" +#include "alloc/calloc.h" +#include "alloc/malloc.h" #include "commonio.h" +#include "defines.h" #include "getdef.h" #include "groupio.h" +#include "prototypes.h" +#include "string/strcmp/streq.h" static /*@null@*/struct commonio_entry *merge_group_entries ( @@ -262,8 +264,8 @@ static int group_open_hook (void) struct group *g2 = gr2->eptr; if (NULL != g1 && NULL != g2 && - 0 == strcmp (g1->gr_name, g2->gr_name) && - 0 == strcmp (g1->gr_passwd, g2->gr_passwd) && + streq(g1->gr_name, g2->gr_name) && + streq(g1->gr_passwd, g2->gr_passwd) && g1->gr_gid == g2->gr_gid) { /* Both group entries refer to the same * group. It is a split group. Merge the @@ -331,7 +333,7 @@ static /*@null@*/struct commonio_entry *merge_group_entries ( for (i=0; NULL != gptr2->gr_mem[i]; i++) { char **pmember = gptr1->gr_mem; while (NULL != *pmember) { - if (0 == strcmp(*pmember, gptr2->gr_mem[i])) { + if (streq(*pmember, gptr2->gr_mem[i])) { break; } pmember++; @@ -354,7 +356,7 @@ static /*@null@*/struct commonio_entry *merge_group_entries ( for (i=0; NULL != gptr2->gr_mem[i]; i++) { char **pmember = new_members; while (NULL != *pmember) { - if (0 == strcmp(*pmember, gptr2->gr_mem[i])) { + if (streq(*pmember, gptr2->gr_mem[i])) { break; } pmember++; diff --git a/lib/groupmem.c b/lib/groupmem.c index 69d4435b..23d7f054 100644 --- a/lib/groupmem.c +++ b/lib/groupmem.c @@ -12,11 +12,13 @@ #ident "$Id$" -#include "alloc.h" -#include "memzero.h" +#include "alloc/calloc.h" +#include "alloc/malloc.h" #include "prototypes.h" #include "defines.h" #include "groupio.h" +#include "string/memset/memzero.h" + /*@null@*/ /*@only@*/struct group *__gr_dup (const struct group *grent) { @@ -81,10 +83,9 @@ void gr_free(/*@only@*/struct group *grent) { free (grent->gr_name); - if (NULL != grent->gr_passwd) { - strzero (grent->gr_passwd); - free (grent->gr_passwd); - } + if (NULL != grent->gr_passwd) + free(strzero(grent->gr_passwd)); + gr_free_members(grent); free (grent); } diff --git a/lib/gshadow.c b/lib/gshadow.c index 3c71bea4..16c432b6 100644 --- a/lib/gshadow.c +++ b/lib/gshadow.c @@ -14,45 +14,40 @@ #ident "$Id$" +#include #include #include -#include "alloc.h" -#include "prototypes.h" +#include "alloc/malloc.h" +#include "alloc/realloc.h" +#include "alloc/x/xmalloc.h" #include "defines.h" +#include "prototypes.h" +#include "string/strchr/strchrcnt.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" + static /*@null@*/FILE *shadow; -static /*@null@*//*@only@*/char **members = NULL; -static size_t nmembers = 0; -static /*@null@*//*@only@*/char **admins = NULL; -static size_t nadmins = 0; -static struct sgrp sgroup; +static struct sgrp sgroup = {}; #define FIELDS 4 -static /*@null@*/char **build_list (char *s, char **list[], size_t * nlist) +static /*@null@*/char ** +build_list(char *s) { - char **ptr = *list; - size_t nelem = *nlist, size; + char **l; + size_t i; - while (s != NULL && *s != '\0') { - size = (nelem + 1) * sizeof (ptr); - ptr = REALLOC(*list, size, char *); - if (NULL != ptr) { - ptr[nelem] = strsep(&s, ","); - nelem++; - *list = ptr; - *nlist = nelem; - } - } - size = (nelem + 1) * sizeof (ptr); - ptr = REALLOC(*list, size, char *); - if (NULL != ptr) { - ptr[nelem] = NULL; - *list = ptr; - } - return ptr; + l = XMALLOC(strchrcnt(s, ',') + 2, char *); + + for (i = 0; s != NULL && *s != '\0'; i++) + l[i] = strsep(&s, ","); + + l[i] = NULL; + + return l; } void setsgent (void) @@ -73,7 +68,8 @@ void endsgent (void) shadow = NULL; } -/*@observer@*//*@null@*/struct sgrp *sgetsgent (const char *string) +/*@observer@*//*@null@*/struct sgrp * +sgetsgent(const char *string) { static char *sgrbuf = NULL; static size_t sgrbuflen = 0; @@ -85,19 +81,15 @@ void endsgent (void) if (len > sgrbuflen) { char *buf = REALLOC(sgrbuf, len, char); - if (NULL == buf) { + if (NULL == buf) return NULL; - } + sgrbuf = buf; sgrbuflen = len; } strcpy (sgrbuf, string); - - cp = strrchr (sgrbuf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } + stpsep(sgrbuf, "\n"); /* * There should be exactly 4 colon separated fields. Find @@ -113,22 +105,16 @@ void endsgent (void) */ if (NULL != cp || i != FIELDS) - return 0; + return NULL; sgroup.sg_name = fields[0]; sgroup.sg_passwd = fields[1]; - if (0 != nadmins) { - nadmins = 0; - free (admins); - admins = NULL; - } - if (0 != nmembers) { - nmembers = 0; - free (members); - members = NULL; - } - sgroup.sg_adm = build_list (fields[2], &admins, &nadmins); - sgroup.sg_mem = build_list (fields[3], &members, &nmembers); + + free(sgroup.sg_adm); + free(sgroup.sg_mem); + + sgroup.sg_adm = build_list(fields[2]); + sgroup.sg_mem = build_list(fields[3]); return &sgroup; } @@ -159,32 +145,29 @@ void endsgent (void) return NULL; } - if (fgetsx(buf, buflen, fp) == buf) { - while ( ((cp = strrchr (buf, '\n')) == NULL) - && (feof (fp) == 0)) { - size_t len; + if (fgetsx(buf, buflen, fp) == NULL) + return NULL; - cp = REALLOC(buf, buflen * 2, char); - if (NULL == cp) { - return NULL; - } - buf = cp; - buflen *= 2; + while ( (strrchr(buf, '\n') == NULL) + && (feof (fp) == 0)) { + size_t len; - len = strlen (buf); - if (fgetsx (&buf[len], - (int) (buflen - len), - fp) != &buf[len]) { - return NULL; - } + cp = REALLOC(buf, buflen * 2, char); + if (NULL == cp) { + return NULL; } - cp = strrchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; + buf = cp; + buflen *= 2; + + len = strlen (buf); + if (fgetsx (&buf[len], + (int) (buflen - len), + fp) != &buf[len]) { + return NULL; } - return (sgetsgent (buf)); } - return NULL; + stpsep(buf, "\n"); + return (sgetsgent (buf)); } /* @@ -210,7 +193,7 @@ void endsgent (void) setsgent (); while ((sgrp = getsgent ()) != NULL) { - if (strcmp (name, sgrp->sg_name) == 0) { + if (streq(name, sgrp->sg_name)) { break; } } @@ -253,53 +236,36 @@ int putsgent (const struct sgrp *sgrp, FILE * fp) /* * Copy the group name and passwd. */ - - strcpy (cp, sgrp->sg_name); - cp += strlen (cp); - *cp++ = ':'; - - strcpy (cp, sgrp->sg_passwd); - cp += strlen (cp); - *cp++ = ':'; + cp = stpcpy(stpcpy(cp, sgrp->sg_name), ":"); + cp = stpcpy(stpcpy(cp, sgrp->sg_passwd), ":"); /* * Copy the administrators, separating each from the other * with a ",". */ - for (i = 0; NULL != sgrp->sg_adm[i]; i++) { - if (i > 0) { - *cp++ = ','; - } + if (i > 0) + cp = stpcpy(cp, ","); - strcpy (cp, sgrp->sg_adm[i]); - cp += strlen (cp); + cp = stpcpy(cp, sgrp->sg_adm[i]); } - *cp = ':'; - cp++; + cp = stpcpy(cp, ":"); /* * Now do likewise with the group members. */ - for (i = 0; NULL != sgrp->sg_mem[i]; i++) { - if (i > 0) { - *cp = ','; - cp++; - } + if (i > 0) + cp = stpcpy(cp, ","); - strcpy (cp, sgrp->sg_mem[i]); - cp += strlen (cp); + cp = stpcpy(cp, sgrp->sg_mem[i]); } - *cp = '\n'; - cp++; - *cp = '\0'; + stpcpy(cp, "\n"); /* * Output using the function which understands the line * continuation conventions. */ - if (fputsx (buf, fp) == EOF) { free (buf); return -1; diff --git a/lib/gshadow_.h b/lib/gshadow_.h index 68a0bb67..2961afcb 100644 --- a/lib/gshadow_.h +++ b/lib/gshadow_.h @@ -30,7 +30,6 @@ struct sgrp { #include /* for FILE */ -#if __STDC__ /*@observer@*//*@null@*/struct sgrp *getsgent (void); /*@observer@*//*@null@*/struct sgrp *getsgnam (const char *); /*@observer@*//*@null@*/struct sgrp *sgetsgent (const char *); @@ -38,15 +37,6 @@ struct sgrp { void setsgent (void); void endsgent (void); int putsgent (const struct sgrp *, FILE *); -#else -/*@observer@*//*@null@*/struct sgrp *getsgent (); -/*@observer@*//*@null@*/struct sgrp *getsgnam (); -/*@observer@*//*@null@*/struct sgrp *sgetsgent (); -/*@observer@*//*@null@*/struct sgrp *fgetsgent (); -void setsgent (); -void endsgent (); -int putsgent (); -#endif #define GSHADOW "/etc/gshadow" #endif /* ifndef _H_GSHADOW */ diff --git a/lib/hushed.c b/lib/hushed.c index 86c224f3..526e0f29 100644 --- a/lib/hushed.c +++ b/lib/hushed.c @@ -12,13 +12,17 @@ #ident "$Id$" -#include -#include #include +#include +#include +#include + #include "defines.h" -#include "prototypes.h" #include "getdef.h" -#include "string/sprintf.h" +#include "prototypes.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" /* @@ -70,9 +74,9 @@ bool hushed (const char *username) return false; } for (found = false; !found && (fgets (buf, sizeof buf, fp) == buf);) { - buf[strcspn (buf, "\n")] = '\0'; - found = (strcmp (buf, pw->pw_shell) == 0) || - (strcmp (buf, pw->pw_name) == 0); + stpsep(buf, "\n"); + found = streq(buf, pw->pw_shell) || + streq(buf, pw->pw_name); } (void) fclose (fp); return found; diff --git a/lib/idmapping.c b/lib/idmapping.c index 56c72eae..89c03b10 100644 --- a/lib/idmapping.c +++ b/lib/idmapping.c @@ -12,24 +12,26 @@ #include #include #include - -#include "alloc.h" -#include "atoi/str2i.h" -#include "prototypes.h" -#include "string/stpeprintf.h" -#include "idmapping.h" #if HAVE_SYS_CAPABILITY_H #include #include #endif + +#include "alloc/calloc.h" +#include "alloc/x/xmalloc.h" +#include "atoi/a2i/a2u.h" +#include "idmapping.h" +#include "prototypes.h" #include "shadowlog.h" #include "sizeof.h" +#include "string/sprintf/stpeprintf.h" +#include "string/strcmp/streq.h" -struct map_range *get_map_ranges(int ranges, int argc, char **argv) +struct map_range * +get_map_ranges(int ranges, int argc, char **argv) { - struct map_range *mappings, *mapping; - int idx, argidx; + struct map_range *mappings, *m; if (ranges < 0 || argc < 0) { fprintf(log_get_logfd(), "%s: error calculating number of arguments\n", log_get_progname()); @@ -45,45 +47,30 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv) if (!mappings) { fprintf(log_get_logfd(), _( "%s: Memory allocation failure\n"), log_get_progname()); - exit(EXIT_FAILURE); + return NULL; } /* Gather up the ranges from the command line */ - mapping = mappings; - for (idx = 0, argidx = 0; idx < ranges; idx++, argidx += 3, mapping++) { - if (str2ul(&mapping->upper, argv[argidx + 0]) == -1) { + m = mappings; + for (int i = 0; i < ranges * 3; i+=3, m++) { + if (a2ul(&m->upper, argv[i + 0], NULL, 0, 0, UINT_MAX - 1) == -1) { + if (errno == ERANGE) + fprintf(log_get_logfd(), _( "%s: subuid overflow detected.\n"), log_get_progname()); free(mappings); return NULL; } - if (str2ul(&mapping->lower, argv[argidx + 1]) == -1) { + if (a2ul(&m->lower, argv[i + 1], NULL, 0, 0, UINT_MAX - 1) == -1) { + if (errno == ERANGE) + fprintf(log_get_logfd(), _( "%s: subuid overflow detected.\n"), log_get_progname()); free(mappings); return NULL; } - if (str2ul(&mapping->count, argv[argidx + 2]) == -1) { + if (a2ul(&m->count, argv[i + 2], NULL, 0, 1, UINT_MAX - MAX(m->lower, m->upper)) == -1) { + if (errno == ERANGE) + fprintf(log_get_logfd(), _( "%s: subuid overflow detected.\n"), log_get_progname()); free(mappings); return NULL; } - if (ULONG_MAX - mapping->upper <= mapping->count || ULONG_MAX - mapping->lower <= mapping->count) { - fprintf(log_get_logfd(), _( "%s: subuid overflow detected.\n"), log_get_progname()); - exit(EXIT_FAILURE); - } - if (mapping->upper > UINT_MAX || - mapping->lower > UINT_MAX || - mapping->count > UINT_MAX) { - fprintf(log_get_logfd(), _( "%s: subuid overflow detected.\n"), log_get_progname()); - exit(EXIT_FAILURE); - } - if (mapping->lower + mapping->count > UINT_MAX || - mapping->upper + mapping->count > UINT_MAX) { - fprintf(log_get_logfd(), _( "%s: subuid overflow detected.\n"), log_get_progname()); - exit(EXIT_FAILURE); - } - if (mapping->lower + mapping->count < mapping->lower || - mapping->upper + mapping->count < mapping->upper) { - /* this one really shouldn't be possible given previous checks */ - fprintf(log_get_logfd(), _( "%s: subuid overflow detected.\n"), log_get_progname()); - exit(EXIT_FAILURE); - } } return mappings; } @@ -147,9 +134,9 @@ void write_mapping(int proc_dir_fd, int ranges, const struct map_range *mappings struct __user_cap_header_struct hdr = {_LINUX_CAPABILITY_VERSION_3, 0}; struct __user_cap_data_struct data[2] = {{0}}; - if (strcmp(map_file, "uid_map") == 0) { + if (streq(map_file, "uid_map")) { cap = CAP_SETUID; - } else if (strcmp(map_file, "gid_map") == 0) { + } else if (streq(map_file, "gid_map")) { cap = CAP_SETGID; } else { fprintf(log_get_logfd(), _("%s: Invalid map file %s specified\n"), log_get_progname(), map_file); @@ -158,7 +145,7 @@ void write_mapping(int proc_dir_fd, int ranges, const struct map_range *mappings /* Align setuid- and fscaps-based new{g,u}idmap behavior. */ if (geteuid() == 0 && geteuid() != ruid) { - if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) < 0) { + if (prctl(PR_SET_KEEPCAPS, 1L) == -1) { fprintf(log_get_logfd(), _("%s: Could not prctl(PR_SET_KEEPCAPS)\n"), log_get_progname()); exit(EXIT_FAILURE); } diff --git a/lib/isexpired.c b/lib/isexpired.c index c275691f..f69938a1 100644 --- a/lib/isexpired.c +++ b/lib/isexpired.c @@ -21,6 +21,7 @@ #include "adds.h" #include "defines.h" #include "prototypes.h" +#include "string/strcmp/streq.h" #ident "$Id$" @@ -67,7 +68,7 @@ int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp) * returns sp_lstchg==0 (must change password) instead of -1! */ if ( (0 == sp->sp_lstchg) - && (strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING) == 0)) { + && streq(pw->pw_passwd, SHADOW_PASSWD_STRING)) { return 1; } diff --git a/lib/limits.c b/lib/limits.c index 813c0821..5a98a129 100644 --- a/lib/limits.c +++ b/lib/limits.c @@ -30,8 +30,15 @@ #include "shadowlog.h" #include -#include "atoi/str2i.h" -#include "memzero.h" +#include "atoi/a2i/a2i.h" +#include "atoi/a2i/a2s.h" +#include "atoi/str2i/str2i.h" +#include "atoi/str2i/str2s.h" +#include "atoi/str2i/str2u.h" +#include "string/memset/memzero.h" +#include "string/strchr/stpspn.h" +#include "string/strcmp/streq.h" +#include "typetraits.h" #ifndef LIMITS_FILE @@ -49,9 +56,7 @@ static int setrlimit_value (unsigned int resource, const char *value, unsigned int multiplier) { - char *end; - long l; - rlim_t limit; + rlim_t l, limit; struct rlimit rlim; /* The "-" is special, not belonging to a strange negative limit. @@ -59,18 +64,13 @@ static int setrlimit_value (unsigned int resource, */ if ('-' == value[0]) { limit = RLIM_INFINITY; - } - else { - /* We cannot use str2sl() here because it fails when there - * is more to the value than just this number! - * Also, we are limited to base 10 here (hex numbers will not - * work with the limit string parser as is anyway) - */ - errno = 0; - l = strtol(value, &end, 10); - if (value == end || errno != 0) + } else { + if (a2i(rlim_t, &l, value, NULL, 10, 0, type_max(rlim_t)) == -1 + && errno != ENOTSUP) + { return 0; // FIXME: We could instead throw an error, though. + } if (__builtin_mul_overflow(l, multiplier, &limit)) { /* FIXME: Again, silent error handling... @@ -89,14 +89,14 @@ static int setrlimit_value (unsigned int resource, } -static int set_prio (const char *value) +static int +set_prio(const char *value) { - long prio; + int prio; - if ( (str2sl(&prio, value) == -1) - || (prio != (int) prio)) { + if (str2si(&prio, value) == -1) return 0; - } + if (setpriority (PRIO_PROCESS, 0, prio) != 0) { return LOGIN_ERROR_RLIMIT; } @@ -104,14 +104,13 @@ static int set_prio (const char *value) } -static int set_umask (const char *value) +static int +set_umask(const char *value) { - unsigned long mask; + mode_t mask; - if ( (str2ul(&mask, value) == -1) - || (mask != (mode_t) mask)) { + if (str2i(mode_t, &mask, value) == -1) return 0; - } (void) umask (mask); return 0; @@ -124,6 +123,10 @@ static int check_logins (const char *name, const char *maxlogins) unsigned long limit, count; if (str2ul(&limit, maxlogins) == -1) { + if (errno == ERANGE) { + SYSLOG((LOG_WARN, "Invalid maxlogins value\n")); + return LOGIN_ERROR_LOGIN; + } return 0; } @@ -184,11 +187,7 @@ static int do_user_limits (const char *buf, const char *name) int retval = 0; bool reported = false; - pp = buf; - /* Skip leading whitespace. */ - while ((' ' == *pp) || ('\t' == *pp)) { - pp++; - } + pp = stpspn(buf, " \t"); /* The special limit string "-" results in no limit for all known * limits. @@ -196,7 +195,7 @@ static int do_user_limits (const char *buf, const char *name) * being ignored if a limit type is not known to the system. * Though, there will be complaining for unknown limit types. */ - if (strcmp (pp, "-") == 0) { + if (streq(pp, "-")) { /* Remember to extend this, too, when adding new limits! * Oh... but "unlimited" does not make sense for umask, * or does it? (K-) @@ -312,12 +311,7 @@ static int do_user_limits (const char *buf, const char *name) * So, let's skip all digits, "-" and our limited set of * whitespace. */ - while ( isdigit (*pp) - || ('-' == *pp) - || (' ' == *pp) - || ('\t' ==*pp)) { - pp++; - } + pp = stpspn(pp, "0123456789- \t"); } return retval; } @@ -402,10 +396,10 @@ static int setup_user_limits (const char *uname) */ if (sscanf (buf, "%s%[ACDFIKLMNOPRSTUacdfiklmnoprstu0-9 \t-]", name, tempbuf) == 2) { - if (strcmp (name, uname) == 0) { + if (streq(name, uname)) { strcpy (limits, tempbuf); break; - } else if (strcmp (name, "*") == 0) { + } else if (streq(name, "*")) { strcpy (deflimits, tempbuf); } else if (name[0] == '@') { /* If the user is in the group, the group @@ -443,7 +437,7 @@ static void setup_usergroups (const struct passwd *info) /* local, no need for xgetgrgid */ grp = getgrgid (info->pw_gid); if ( (NULL != grp) - && (strcmp (info->pw_name, grp->gr_name) == 0)) { + && streq(info->pw_name, grp->gr_name)) { mode_t tmpmask; tmpmask = umask (0777); tmpmask = (tmpmask & ~070) | ((tmpmask >> 3) & 070); @@ -484,10 +478,9 @@ void setup_limits (const struct passwd *info) } if (strncmp (cp, "pri=", 4) == 0) { - long inc; + int inc; - if ( (str2sl(&inc, cp + 4) == 0) - && (inc >= -20) && (inc <= 20)) { + if (a2si(&inc, cp + 4, NULL, 0, -20, 20) == 0) { errno = 0; if ( (nice (inc) != -1) || (0 != errno)) { @@ -503,9 +496,9 @@ void setup_limits (const struct passwd *info) continue; } if (strncmp (cp, "ulimit=", 7) == 0) { - long blocks; - if ( (str2sl(&blocks, cp + 7) == -1) - || (blocks != (int) blocks) + int blocks; + + if ( (str2si(&blocks, cp + 7) == -1) || (set_filesize_limit (blocks) != 0)) { SYSLOG ((LOG_WARN, "Can't set the ulimit for user %s", @@ -514,10 +507,9 @@ void setup_limits (const struct passwd *info) continue; } if (strncmp (cp, "umask=", 6) == 0) { - unsigned long mask; + mode_t mask; - if ( (str2ul(&mask, cp + 6) == -1) - || (mask != (mode_t) mask)) { + if (str2i(mode_t, &mask, cp + 6) == -1) { SYSLOG ((LOG_WARN, "Can't set umask value for user %s", info->pw_name)); diff --git a/lib/list.c b/lib/list.c index 9fc66089..a18c7186 100644 --- a/lib/list.c +++ b/lib/list.c @@ -12,9 +12,14 @@ #include -#include "alloc.h" +#include "alloc/x/xmalloc.h" #include "prototypes.h" #include "defines.h" +#include "string/strchr/strchrcnt.h" +#include "string/strcmp/streq.h" +#include "string/strdup/xstrdup.h" + + /* * add_list - add a member to a list of group members * @@ -37,7 +42,7 @@ add_list(/*@returned@*/ /*@only@*/char **list, const char *member) */ for (i = 0; list[i] != NULL; i++) { - if (strcmp (list[i], member) == 0) { + if (streq(list[i], member)) { return list; } } @@ -88,7 +93,7 @@ del_list(/*@returned@*/ /*@only@*/char **list, const char *member) */ for (i = j = 0; list[i] != NULL; i++) { - if (strcmp (list[i], member) != 0) { + if (!streq(list[i], member)) { j++; } } @@ -111,7 +116,7 @@ del_list(/*@returned@*/ /*@only@*/char **list, const char *member) */ for (i = j = 0; list[i] != NULL; i++) { - if (strcmp (list[i], member) != 0) { + if (!streq(list[i], member)) { tmp[j] = list[i]; j++; } @@ -163,7 +168,7 @@ bool is_on_list (char *const *list, const char *member) assert (NULL != list); while (NULL != *list) { - if (strcmp (*list, member) == 0) { + if (streq(*list, member)) { return true; } list++; @@ -176,7 +181,8 @@ bool is_on_list (char *const *list, const char *member) * comma_to_list - convert comma-separated list to (char *) array */ -/*@only@*/char **comma_to_list (const char *comma) +/*@only@*/char ** +comma_to_list(const char *comma) { char *members; char **array; @@ -192,30 +198,12 @@ bool is_on_list (char *const *list, const char *member) members = xstrdup (comma); - /* - * Count the number of commas in the list - */ - - for (cp = members, i = 0;; i++) { - cp2 = strchr (cp, ','); - if (NULL != cp2) { - cp = cp2 + 1; - } else { - break; - } - } - - /* - * Add 2 - one for the ending NULL, the other for the last item - */ - - i += 2; - /* * Allocate the array we're going to store the pointers into. + * n: number of delimiters + last element + NULL */ - array = XMALLOC(i, char *); + array = XMALLOC(strchrcnt(members, ',') + 2, char *); /* * Empty list is special - 0 members, not 1 empty member. --marekm diff --git a/lib/log.c b/lib/log.c index 9f54d454..87eab365 100644 --- a/lib/log.c +++ b/lib/log.c @@ -17,10 +17,10 @@ #include #include "defines.h" #include -#include "memzero.h" #include "prototypes.h" -#include "string/strncpy.h" -#include "string/strtcpy.h" +#include "string/memset/memzero.h" +#include "string/strcpy/strncpy.h" +#include "string/strcpy/strtcpy.h" /* @@ -79,7 +79,7 @@ void dolastlog ( } ll_time = newlog.ll_time; - (void) time (&ll_time); + ll_time = time(NULL); newlog.ll_time = ll_time; STRTCPY(newlog.ll_line, line); #if HAVE_LL_HOST diff --git a/lib/loginprompt.c b/lib/loginprompt.c index 9b2aa25c..7d3e23dc 100644 --- a/lib/loginprompt.c +++ b/lib/loginprompt.c @@ -15,12 +15,15 @@ #include #include -#include "alloc.h" #include "attr.h" -#include "memzero.h" -#include "prototypes.h" #include "defines.h" #include "getdef.h" +#include "prototypes.h" +#include "string/memset/memzero.h" +#include "string/strchr/stpspn.h" +#include "string/strcpy/strtcpy.h" +#include "string/strtok/stpsep.h" + static void login_exit (MAYBE_UNUSED int sig) { @@ -33,8 +36,8 @@ static void login_exit (MAYBE_UNUSED int sig) * login_prompt() displays the standard login prompt. If ISSUE_FILE * is set in login.defs, this file is displayed before the prompt. */ - -void login_prompt (char *name, int namesize) +void +login_prompt(char *name, int namesize) { char buf[1024]; @@ -84,22 +87,16 @@ void login_prompt (char *name, int namesize) exit (EXIT_FAILURE); } - cp = strchr (buf, '\n'); - if (NULL == cp) { - exit (EXIT_FAILURE); - } - *cp = '\0'; /* remove \n [ must be there ] */ + if (stpsep(buf, "\n") == NULL) + exit(EXIT_FAILURE); /* * Skip leading whitespace. This makes " username" work right. * Then copy the rest (up to the end) into the username. */ - for (cp = buf; *cp == ' ' || *cp == '\t'; cp++); - - for (i = 0; i < namesize - 1 && *cp != '\0'; name[i++] = *cp++); - - name[i] = '\0'; + cp = stpspn(buf, " \t"); + strtcpy(name, cp, namesize); /* * Set the SIGQUIT handler back to its original value diff --git a/lib/mail.c b/lib/mail.c index d14bdb18..b62287e6 100644 --- a/lib/mail.c +++ b/lib/mail.c @@ -15,9 +15,8 @@ #include #include -#include "alloc.h" #include "getdef.h" -#include "string/sprintf.h" +#include "string/sprintf/xasprintf.h" #ident "$Id$" diff --git a/lib/memzero.c b/lib/memzero.c deleted file mode 100644 index 8979e5f8..00000000 --- a/lib/memzero.c +++ /dev/null @@ -1,17 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ - - -#include - -#ident "$Id$" - -#include - -#include "memzero.h" - - -extern inline void memzero(void *ptr, size_t size); -extern inline void strzero(char *s); diff --git a/lib/motd.c b/lib/motd.c index d1d5bf6e..6394dbd9 100644 --- a/lib/motd.c +++ b/lib/motd.c @@ -12,11 +12,14 @@ #ident "$Id$" #include +#include -#include "alloc.h" #include "defines.h" #include "getdef.h" #include "prototypes.h" +#include "string/strdup/xstrdup.h" + + /* * motd -- output the /etc/motd file * @@ -24,7 +27,8 @@ * it to the user's terminal at login time. The MOTD_FILE configuration * option is a colon-delimited list of filenames. */ -void motd (void) +void +motd(void) { FILE *fp; char *motdlist; @@ -39,12 +43,8 @@ void motd (void) motdlist = xstrdup (motdfile); - for (mb = motdlist; ;mb = NULL) { - motdfile = strtok (mb, ":"); - if (NULL == motdfile) { - break; - } - + mb = motdlist; + while (NULL != (motdfile = strsep(&mb, ":"))) { fp = fopen (motdfile, "r"); if (NULL != fp) { while ((c = getc (fp)) != EOF) { diff --git a/lib/must_be.h b/lib/must_be.h index a7365cba..6ae6c799 100644 --- a/lib/must_be.h +++ b/lib/must_be.h @@ -90,10 +90,28 @@ */ -#define is_same_type(a, b) __builtin_types_compatible_p(a, b) -#define is_same_typeof(a, b) is_same_type(typeof(a), typeof(b)) -#define is_array(a) (!is_same_typeof((a), &(a)[0])) -#define must_be_array(a) must_be(is_array(a)) +#define is_same_type(a, b) \ +( \ + __builtin_types_compatible_p(a, b) \ +) + + +#define is_same_typeof(a, b) \ +( \ + is_same_type(typeof(a), typeof(b)) \ +) + + +#define is_array(a) \ +( \ + !is_same_typeof(a, &(a)[0]) \ +) + + +#define must_be_array(a) \ +( \ + must_be(is_array(a)) \ +) #endif // include guard diff --git a/lib/nss.c b/lib/nss.c index 779d8259..9373bba3 100644 --- a/lib/nss.c +++ b/lib/nss.c @@ -9,12 +9,15 @@ #include #include -#include "alloc.h" +#include "alloc/malloc.h" #include "prototypes.h" #include "../libsubid/subid.h" #include "shadowlog_internal.h" #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/sprintf/snprintf.h" +#include "string/strchr/stpspn.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" #define NSSWITCH "/etc/nsswitch.conf" @@ -45,8 +48,9 @@ static void nss_exit(void) { } // nsswitch_path is an argument only to support testing. -void nss_init(const char *nsswitch_path) { - char *line = NULL, *p, *token, *saveptr; +void +nss_init(const char *nsswitch_path) { + char *line = NULL, *p; char libname[64]; FILE *nssfp = NULL; FILE *shadow_logfd = log_get_logfd(); @@ -82,8 +86,7 @@ void nss_init(const char *nsswitch_path) { if (strncasecmp(line, "subid:", 6) != 0) continue; p = &line[6]; - while (isspace(*p)) - p++; + p = stpspn(p, " \t\n"); if (*p != '\0') break; p = NULL; @@ -91,21 +94,20 @@ void nss_init(const char *nsswitch_path) { if (p == NULL) { goto null_subid; } - token = strtok_r(p, " \n\t", &saveptr); - if (token == NULL) { + if (stpsep(p, " \t\n") == NULL) { fprintf(shadow_logfd, "No usable subid NSS module found, using files\n"); // subid_nss has to be null here, but to ease reviews: goto null_subid; } - if (strcmp(token, "files") == 0) { + if (streq(p, "files")) { goto null_subid; } - if (strlen(token) > 50) { - fprintf(shadow_logfd, "Subid NSS module name too long (longer than 50 characters): %s\n", token); + if (strlen(p) > 50) { + fprintf(shadow_logfd, "Subid NSS module name too long (longer than 50 characters): %s\n", p); fprintf(shadow_logfd, "Using files\n"); goto null_subid; } - SNPRINTF(libname, "libsubid_%s.so", token); + SNPRINTF(libname, "libsubid_%s.so", p); h = dlopen(libname, RTLD_LAZY); if (!h) { fprintf(shadow_logfd, "Error opening %s: %s\n", libname, dlerror()); @@ -131,6 +133,11 @@ void nss_init(const char *nsswitch_path) { fprintf(shadow_logfd, "%s did not provide @find_subid_owners@\n", libname); goto close_lib; } + subid_nss->free = dlsym(h, "shadow_subid_free"); + if (!subid_nss->free) { + fprintf(shadow_logfd, "%s did not provide @subid_free@\n", libname); + goto close_lib; + } subid_nss->handle = h; goto done; diff --git a/lib/obscure.c b/lib/obscure.c index 549c2a8d..66b2361c 100644 --- a/lib/obscure.c +++ b/lib/obscure.c @@ -15,12 +15,15 @@ #include #include -#include "alloc.h" #include "attr.h" -#include "memzero.h" #include "prototypes.h" #include "defines.h" #include "getdef.h" +#include "string/memset/memzero.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" +#include "string/strdup/xstrdup.h" + #if WITH_LIBBSD == 0 #include "freezero.h" @@ -93,31 +96,26 @@ static /*@observer@*//*@null@*/const char *password_check ( const char *msg = NULL; char *oldmono, *newmono, *wrapped; - if (strcmp (new, old) == 0) { + if (streq(new, old)) { return _("no change"); } newmono = str_lower (xstrdup (new)); oldmono = str_lower (xstrdup (old)); - wrapped = XMALLOC(strlen(oldmono) * 2 + 1, char); - strcpy (wrapped, oldmono); - strcat (wrapped, oldmono); + xasprintf(&wrapped, "%s%s", oldmono, oldmono); if (palindrome (oldmono, newmono)) { msg = _("a palindrome"); - } else if (strcmp (oldmono, newmono) == 0) { + } else if (streq(oldmono, newmono)) { msg = _("case changes only"); } else if (similar (oldmono, newmono)) { msg = _("too similar"); } else if (strstr (wrapped, newmono) != NULL) { msg = _("rotated"); } - strzero (newmono); - strzero (oldmono); - strzero (wrapped); - free (newmono); - free (oldmono); - free (wrapped); + free(strzero(newmono)); + free(strzero(oldmono)); + free(strzero(wrapped)); return msg; } @@ -165,16 +163,16 @@ static /*@observer@*//*@null@*/const char *obscure_msg ( } else { - if ( (strcmp (result, "MD5") == 0) + if ( streq(result, "MD5") #ifdef USE_SHA_CRYPT - || (strcmp (result, "SHA256") == 0) - || (strcmp (result, "SHA512") == 0) + || streq(result, "SHA256") + || streq(result, "SHA512") #endif #ifdef USE_BCRYPT - || (strcmp (result, "BCRYPT") == 0) + || streq(result, "BCRYPT") #endif #ifdef USE_YESCRYPT - || (strcmp (result, "YESCRYPT") == 0) + || streq(result, "YESCRYPT") #endif ) { return NULL; @@ -189,12 +187,10 @@ static /*@observer@*//*@null@*/const char *obscure_msg ( new1 = xstrdup (new); old1 = xstrdup (old); - if (newlen > maxlen) { - new1[maxlen] = '\0'; - } - if (oldlen > maxlen) { - old1[maxlen] = '\0'; - } + if (newlen > maxlen) + stpcpy(&new1[maxlen], ""); + if (oldlen > maxlen) + stpcpy(&old1[maxlen], ""); msg = password_check (old1, new1, pwdp); diff --git a/lib/pam_pass_non_interactive.c b/lib/pam_pass_non_interactive.c index 3d10908b..aa5c29be 100644 --- a/lib/pam_pass_non_interactive.c +++ b/lib/pam_pass_non_interactive.c @@ -17,11 +17,11 @@ #include -#include "alloc.h" +#include "alloc/calloc.h" #include "attr.h" -#include "memzero.h" #include "prototypes.h" #include "shadowlog.h" +#include "string/memset/memzero.h" /*@null@*/ /*@only@*/static const char *non_interactive_password = NULL; static int ni_conv (int num_msg, @@ -98,8 +98,7 @@ static int ni_conv (int num_msg, failed_conversation: for (count=0; count < num_msg; count++) { if (NULL != responses[count].resp) { - strzero(responses[count].resp); - free(responses[count].resp); + free(strzero(responses[count].resp)); responses[count].resp = NULL; } } diff --git a/lib/port.c b/lib/port.c index 60ff8989..52ed67e8 100644 --- a/lib/port.c +++ b/lib/port.c @@ -11,12 +11,17 @@ #ident "$Id$" -#include #include #include +#include +#include + #include "defines.h" -#include "prototypes.h" #include "port.h" +#include "prototypes.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" + static FILE *ports; @@ -42,9 +47,8 @@ static int portcmp (const char *pattern, const char *port) if (('\0' == *pattern) && ('\0' == *port)) { return 0; } - if (('S' == orig[0]) && ('U' == orig[1]) && ('\0' == orig[2])) { + if (streq(orig, "SU")) return 1; - } return (*pattern == '*') ? 0 : 1; } @@ -91,17 +95,21 @@ static void endportent (void) * set to EINVAL on error to distinguish the two conditions. */ -static struct port *getportent (void) +static struct port * +getportent(void) { - static struct port port; /* static struct to point to */ - static char buf[BUFSIZ]; /* some space for stuff */ - static char *ttys[PORT_TTY + 1]; /* some pointers to tty names */ - static char *users[PORT_IDS + 1]; /* some pointers to user ids */ - static struct pt_time ptimes[PORT_TIMES + 1]; /* time ranges */ - char *cp; /* pointer into line */ - int dtime; /* scratch time of day */ - int i, j; - int saveerr = errno; /* errno value on entry */ + int dtime; + int i, j; + int saveerr; + char *cp, *field; + + static char buf[BUFSIZ]; + static char *ttys[PORT_TTY + 1]; + static char *users[PORT_IDS + 1]; + static struct port port; + static struct pt_time ptimes[PORT_TIMES + 1]; + + saveerr = errno; /* * If the ports file is not open, open the file. Do not rewind @@ -114,7 +122,7 @@ static struct port *getportent (void) if (NULL == ports) { errno = saveerr; - return 0; + return NULL; } /* @@ -127,20 +135,17 @@ static struct port *getportent (void) * - parse off a list of days and times */ -again: - - /* - * Get the next line and remove optional trailing '\n'. - * Lines which begin with '#' are all ignored. - */ - - if (fgets (buf, sizeof buf, ports) == 0) { +next: + if (fgets(buf, sizeof(buf), ports) == NULL) { errno = saveerr; - return 0; - } - if ('#' == buf[0]) { - goto again; + return NULL; } + if ('#' == buf[0]) + goto next; + + stpsep(buf, "\n"); + + field = buf; /* * Get the name of the TTY device. It is the first colon @@ -149,26 +154,19 @@ again: * TTY devices. */ - buf[strcspn (buf, "\n")] = 0; + cp = strsep(&field, ":"); + if (field == NULL) + goto next; port.pt_names = ttys; - for (cp = buf, j = 0; j < PORT_TTY; j++) { - port.pt_names[j] = cp; - cp = strpbrk(cp, ":,"); + for (j = 0; j < PORT_TTY; j++) { + port.pt_names[j] = strsep(&cp, ","); if (cp == NULL) - goto again; /* line format error */ - - if (':' == *cp) { /* end of tty name list */ break; - } - - if (',' == *cp) { /* end of current tty name */ - *cp++ = '\0'; - } } - *cp = '\0'; - cp++; port.pt_names[j] = NULL; + if (cp != NULL) + goto next; /* * Get the list of user names. It is the second colon @@ -177,29 +175,19 @@ again: * The last entry in the list is a NULL pointer. */ - if (':' != *cp) { - port.pt_users = users; - port.pt_users[0] = cp; + cp = strsep(&field, ":"); + if (field == NULL) + goto next; - for (j = 1; ':' != *cp; cp++) { - if ((',' == *cp) && (j < PORT_IDS)) { - *cp = '\0'; - cp++; - port.pt_users[j] = cp; - j++; - } - } - port.pt_users[j] = 0; - } else { - port.pt_users = 0; + port.pt_users = users; + for (j = 0; j < PORT_IDS; j++) { + port.pt_users[j] = strsep(&cp, ","); + if (cp == NULL) + break; } - - if (':' != *cp) { - goto again; - } - - *cp = '\0'; - cp++; + port.pt_users[j] = NULL; + if (cp != NULL) + goto next; /* * Get the list of valid times. The times field is the third @@ -214,8 +202,10 @@ again: * the starting time. Days are presumed to wrap at 0000. */ + cp = field; + if ('\0' == *cp) { - port.pt_times = 0; + port.pt_times = NULL; return &port; } @@ -270,7 +260,7 @@ again: break; default: errno = EINVAL; - return 0; + return NULL; } } @@ -293,7 +283,7 @@ again: } if (('-' != cp[i]) || (dtime > 2400) || ((dtime % 100) > 59)) { - goto again; + goto next; } port.pt_times[j].t_start = dtime; cp = cp + i + 1; @@ -305,7 +295,7 @@ again: if ( ((',' != cp[i]) && ('\0' != cp[i])) || (dtime > 2400) || ((dtime % 100) > 59)) { - goto again; + goto next; } port.pt_times[j].t_end = dtime; @@ -331,41 +321,33 @@ again: * entries are treated as an ordered list. */ -static struct port *getttyuser (const char *tty, const char *user) +static struct port * +getttyuser(const char *tty, const char *user) { - int i, j; - struct port *port; + struct port *port; - setportent (); + setportent(); - while ((port = getportent ()) != NULL) { - if ( (0 == port->pt_names) - || (0 == port->pt_users)) { - continue; - } + while ((port = getportent()) != NULL) { + char **ptn; + char **ptu; - for (i = 0; NULL != port->pt_names[i]; i++) { - if (portcmp (port->pt_names[i], tty) == 0) { + for (ptn = port->pt_names; *ptn != NULL; ptn++) { + if (portcmp(*ptn, tty) == 0) break; - } } - - if (port->pt_names[i] == 0) { + if (*ptn == NULL) continue; - } - for (j = 0; NULL != port->pt_users[j]; j++) { - if ( (strcmp (user, port->pt_users[j]) == 0) - || (strcmp (port->pt_users[j], "*") == 0)) { - break; - } - } - - if (port->pt_users[j] != 0) { - break; + for (ptu = port->pt_users; *ptu != NULL; ptu++) { + if (streq(*ptu, user)) + goto end; + if (streq(*ptu, "*")) + goto end; } } - endportent (); +end: + endportent(); return port; } @@ -399,7 +381,7 @@ bool isttytime (const char *id, const char *port, time_t when) * ever let them login. */ - if (0 == pp->pt_times) { + if (NULL == pp->pt_times) { return false; } diff --git a/lib/prefix_flag.c b/lib/prefix_flag.c index bba7102b..ea0a0d72 100644 --- a/lib/prefix_flag.c +++ b/lib/prefix_flag.c @@ -12,8 +12,8 @@ #include #include +#include "atoi/getnum.h" #include "defines.h" -#include "alloc.h" #include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" @@ -28,7 +28,8 @@ #endif /* ENABLE_SUBIDS */ #include "getdef.h" #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" static char *passwd_db_file = NULL; @@ -60,10 +61,11 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char ** for (i = 0; i < argc; i++) { val = NULL; - if ( (strcmp (argv[i], "--prefix") == 0) + if ( streq(argv[i], "--prefix") || ((strncmp (argv[i], "--prefix=", 9) == 0) && (val = argv[i] + 9)) - || (strcmp (argv[i], short_opt) == 0)) { + || streq(argv[i], short_opt)) + { if (NULL != prefix) { fprintf (log_get_logfd(), _("%s: multiple --prefix options\n"), @@ -96,7 +98,7 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char ** exit (EXIT_FAILURE); } - if ( prefix[0] == '\0' || !strcmp(prefix, "/")) + if (prefix[0] == '\0' || streq(prefix, "/")) return ""; /* if prefix is "/" then we ignore the flag option */ /* should we prevent symbolic link from being used as a prefix? */ @@ -153,7 +155,7 @@ extern struct group *prefix_getgrnam(const char *name) if (!fg) return NULL; while ((grp = fgetgrent(fg)) != NULL) { - if (!strcmp(name, grp->gr_name)) + if (streq(name, grp->gr_name)) break; } fclose(fg); @@ -213,7 +215,7 @@ extern struct passwd *prefix_getpwnam(const char* name) if (!fg) return NULL; while ((pwd = fgetpwent(fg)) != NULL) { - if (!strcmp(name, pwd->pw_name)) + if (streq(name, pwd->pw_name)) break; } fclose(fg); @@ -235,7 +237,7 @@ extern int prefix_getpwnam_r(const char* name, struct passwd* pwd, if (!fg) return errno; while ((ret = fgetpwent_r(fg, pwd, buf, buflen, result)) == 0) { - if (!strcmp(name, pwd->pw_name)) + if (streq(name, pwd->pw_name)) break; } fclose(fg); @@ -256,7 +258,7 @@ extern struct spwd *prefix_getspnam(const char* name) if (!fg) return NULL; while ((sp = fgetspent(fg)) != NULL) { - if (!strcmp(name, sp->sp_namp)) + if (streq(name, sp->sp_namp)) break; } fclose(fg); @@ -334,8 +336,7 @@ extern void prefix_endgrent(void) extern struct group *prefix_getgr_nam_gid(const char *grname) { - char *end; - long long gid; + gid_t gid; struct group *g; if (NULL == grname) { @@ -345,15 +346,8 @@ extern struct group *prefix_getgr_nam_gid(const char *grname) if (!group_db_file) return getgr_nam_gid(grname); - errno = 0; - gid = strtoll(grname, &end, 10); - if ( ('\0' != *grname) - && ('\0' == *end) - && (0 == errno) - && (gid == (gid_t)gid)) - { + if (get_gid(grname, &gid) == 0) return prefix_getgrgid(gid); - } g = prefix_getgrnam(grname); return g ? __gr_dup(g) : NULL; diff --git a/lib/prototypes.h b/lib/prototypes.h index 5c56e77e..6b978a97 100644 --- a/lib/prototypes.h +++ b/lib/prototypes.h @@ -142,15 +142,10 @@ extern int find_new_sub_gids (gid_t *range_start, unsigned long *range_count); extern int find_new_sub_uids (uid_t *range_start, unsigned long *range_count); #endif /* ENABLE_SUBIDS */ - -/* get_gid.c */ -extern int get_gid (const char *gidstr, gid_t *gid); - /* getgr_nam_gid.c */ extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *grname); /* get_pid.c */ -extern int get_pid (const char *pidstr, pid_t *pid); extern int get_pidfd_from_fd(const char *pidfdstr); extern int open_pidfd(const char *pidstr); @@ -162,9 +157,6 @@ extern int getrange (const char *range, /* gettime.c */ extern time_t gettime (void); -/* get_uid.c */ -extern int get_uid (const char *uidstr, uid_t *uid); - /* fputsx.c */ ATTR_ACCESS(write_only, 1, 2) extern /*@null@*/char *fgetsx(/*@returned@*/char *restrict, int, FILE *restrict); @@ -284,6 +276,19 @@ struct subid_nss_ops { */ enum subid_status (*find_subid_owners)(unsigned long id, enum subid_type id_type, uid_t **uids, int *count); + /* + * nss_free: free a memory block allocated by a subid plugin. + * + * @ptr - a pointer to a memory block to deallocate + * + * Some routines of subid_nss_ops allocate memory which should be freed by + * caller after use. In order to deallocate that memory block, one should + * use this routine to release that memory. By default, this function + * pointer is set to free(3) for backward compatibility. However, it is + * strongly recommended to define this routine explicitly. + */ + void (*free)(void *ptr); + /* The dlsym handle to close */ void *handle; }; @@ -356,10 +361,6 @@ unsigned long csrand_interval (unsigned long min, unsigned long max); /* remove_tree.c */ extern int remove_tree (const char *root, bool remove_root); -/* rlogin.c */ -extern int do_rlogin(const char *remote_host, char *name, size_t namesize, - char *term, size_t termsize); - /* root_flag.c */ extern void process_root_flag (const char* short_opt, int argc, char **argv); diff --git a/lib/pwauth.c b/lib/pwauth.c index 0cd3412b..0434dd08 100644 --- a/lib/pwauth.c +++ b/lib/pwauth.c @@ -21,11 +21,11 @@ #include "agetpass.h" #include "defines.h" -#include "memzero.h" #include "prototypes.h" #include "pwauth.h" #include "getdef.h" -#include "string/sprintf.h" +#include "string/memset/memzero.h" +#include "string/sprintf/snprintf.h" #ifdef SKEY #include diff --git a/lib/pwmem.c b/lib/pwmem.c index 9c6e58d7..0f4e621c 100644 --- a/lib/pwmem.c +++ b/lib/pwmem.c @@ -14,11 +14,12 @@ #include -#include "alloc.h" +#include "alloc/calloc.h" #include "defines.h" -#include "memzero.h" #include "prototypes.h" #include "pwio.h" +#include "string/memset/memzero.h" + /*@null@*/ /*@only@*/struct passwd *__pw_dup (const struct passwd *pwent) { @@ -75,10 +76,9 @@ pw_free(/*@only@*/struct passwd *pwent) { if (pwent != NULL) { free (pwent->pw_name); - if (pwent->pw_passwd) { - strzero (pwent->pw_passwd); - free (pwent->pw_passwd); - } + if (pwent->pw_passwd) + free(strzero(pwent->pw_passwd)); + free (pwent->pw_gecos); free (pwent->pw_dir); free (pwent->pw_shell); diff --git a/lib/readpassphrase.c b/lib/readpassphrase.c index 5ff060cc..e23960f0 100644 --- a/lib/readpassphrase.c +++ b/lib/readpassphrase.c @@ -141,7 +141,7 @@ restart: *p++ = ch; } } - *p = '\0'; + stpcpy(p, ""); save_errno = errno; if (!(term.c_lflag & ECHO)) (void)write(output, "\n", 1); diff --git a/lib/remove_tree.c b/lib/remove_tree.c index 3d76b95e..ce07b40c 100644 --- a/lib/remove_tree.c +++ b/lib/remove_tree.c @@ -19,8 +19,11 @@ #include #include #include -#include "prototypes.h" + #include "defines.h" +#include "prototypes.h" +#include "string/strcmp/streq.h" + static int remove_tree_at (int at_fd, const char *path, bool remove_root) { @@ -48,8 +51,8 @@ static int remove_tree_at (int at_fd, const char *path, bool remove_root) /* * Skip the "." and ".." entries */ - if (strcmp (ent->d_name, ".") == 0 || - strcmp (ent->d_name, "..") == 0) { + if (streq(ent->d_name, ".") || + streq(ent->d_name, "..")) { continue; } diff --git a/lib/rlogin.c b/lib/rlogin.c deleted file mode 100644 index cbc05dd8..00000000 --- a/lib/rlogin.c +++ /dev/null @@ -1,135 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1989 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 1999, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2007 - 2008, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#ifdef RLOGIN - -#ident "$Id$" - -#include "prototypes.h" -#include "defines.h" -#include -#include -#include - -#include "atoi/str2i.h" - - -static struct { - int spd_name; - int spd_baud; -} speed_table[] = -{ - { B50, 50}, - { B75, 75}, - { B110, 110}, - { B134, 134}, - { B150, 150}, - { B200, 200}, - { B300, 300}, - { B600, 600}, - { B1200, 1200}, - { B1800, 1800}, - { B2400, 2400}, - { B4800, 4800}, - { B9600, 9600}, - { B19200, 19200}, - { B38400, 38400}, - { -1, -1} -}; - - -static void -get_remote_string(char *buf, size_t size) -{ - for (;;) { - if (read (0, buf, 1) != 1) { - exit (EXIT_FAILURE); - } - if ('\0' == *buf) { - return; - } - --size; - if (size > 0) { - ++buf; - } - } - /*NOTREACHED*/ -} - - -int -do_rlogin(const char *remote_host, char *name, size_t namesize, char *term, - size_t termsize) -{ - struct passwd *pwd; - char remote_name[32]; - char *cp; - unsigned long remote_speed = 9600; - int speed_name = B9600; - int i; - TERMIO termio; - - get_remote_string(remote_name, sizeof(remote_name)); - get_remote_string(name, namesize); - get_remote_string(term, termsize); - - cp = strchr (term, '/'); - if (NULL != cp) { - *cp = '\0'; - cp++; - - if (str2ul(&remote_speed, cp) == -1) - remote_speed = 9600; - } - for (i = 0; - ( (speed_table[i].spd_baud != remote_speed) - && (speed_table[i].spd_name != -1)); - i++); - - if (-1 != speed_table[i].spd_name) { - speed_name = speed_table[i].spd_name; - } - - /* - * Put the terminal in cooked mode with echo turned on. - */ - - GTTY (0, &termio); - termio.c_iflag |= ICRNL | IXON; - termio.c_oflag |= OPOST | ONLCR; - termio.c_lflag |= ICANON | ECHO | ECHOE; -#ifdef CBAUD - termio.c_cflag = (termio.c_cflag & ~CBAUD) | speed_name; -#else - termio.c_cflag = (termio.c_cflag) | speed_name; -#endif - STTY (0, &termio); - - pwd = getpwnam (name); /* local, no need for xgetpwnam */ - if (NULL == pwd) { - return 0; - } - - /* - * ruserok() returns 0 for success on modern systems, and 1 on - * older ones. If you are having trouble with people logging - * in without giving a required password, THIS is the culprit - - * go fix the #define in config.h. - */ - -#ifndef RUSEROK - return 0; -#else - return ruserok (remote_host, pwd->pw_uid == 0, - remote_name, name) == RUSEROK; -#endif -} -#endif /* RLOGIN */ diff --git a/lib/root_flag.c b/lib/root_flag.c index 5572831a..f63aa649 100644 --- a/lib/root_flag.c +++ b/lib/root_flag.c @@ -10,12 +10,16 @@ #ident "$Id$" #include -#include + #include "defines.h" -#include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" +#include "prototypes.h" #include "shadowlog.h" +#include "string/strcmp/streq.h" + +#include + static void change_root (const char* newroot); @@ -38,10 +42,10 @@ extern void process_root_flag (const char* short_opt, int argc, char **argv) for (i = 0; i < argc; i++) { val = NULL; - if ( (strcmp (argv[i], "--root") == 0) + if ( streq(argv[i], "--root") || ((strncmp (argv[i], "--root=", 7) == 0) && (val = argv[i] + 7)) - || (strcmp (argv[i], short_opt) == 0)) { + || streq(argv[i], short_opt)) { if (NULL != newroot) { fprintf (log_get_logfd(), _("%s: multiple --root options\n"), diff --git a/lib/run_part.c b/lib/run_part.c index 670d8150..840d9511 100644 --- a/lib/run_part.c +++ b/lib/run_part.c @@ -11,48 +11,47 @@ #include #include -#include "alloc.h" #include "run_part.h" #include "shadowlog_internal.h" -int run_part (char *script_path, const char *name, const char *action) +static int run_part(char *script_path, const char *name, const char *action) { - int pid; + pid_t pid; int wait_status; - int pid_status; + pid_t pid_status; char *args[] = { script_path, NULL }; pid=fork(); if (pid==-1) { - perror ("Could not fork"); + fprintf(shadow_logfd, "fork: %s\n", strerror(errno)); return 1; } if (pid==0) { - setenv ("ACTION",action,1); - setenv ("SUBJECT",name,1); - execv (script_path,args); - perror ("execv"); + setenv("ACTION",action,1); + setenv("SUBJECT",name,1); + execv(script_path,args); + fprintf(shadow_logfd, "execv: %s\n", strerror(errno)); exit(1); } - pid_status = wait (&wait_status); + pid_status = wait(&wait_status); if (pid_status == pid) { return (wait_status); } - perror ("waitpid"); + fprintf(shadow_logfd, "waitpid: %s\n", strerror(errno)); return (1); } -int run_parts (const char *directory, const char *name, const char *action) +int run_parts(const char *directory, const char *name, const char *action) { struct dirent **namelist; int scanlist; int n; int execute_result = 0; - scanlist = scandir (directory, &namelist, 0, alphasort); + scanlist = scandir(directory, &namelist, NULL, alphasort); if (scanlist<=0) { return (0); } @@ -62,7 +61,7 @@ int run_parts (const char *directory, const char *name, const char *action) struct stat sb; if (asprintf(&s, "%s/%s", directory, namelist[n]->d_name) == -1) { - fprintf(stderr, "could not allocate memory\n"); + fprintf(shadow_logfd, "asprintf: %s\n", strerror(errno)); for (; nd_name); for (; n #include -#include "prototypes.h" #include "defines.h" #include "getdef.h" +#include "prototypes.h" #include "shadowlog.h" +#include "string/strcmp/streq.h" + #if (defined CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY && \ CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY) @@ -291,6 +293,7 @@ static /*@observer@*/unsigned long YESCRYPT_get_salt_cost (/*@null@*/const int * static /*@observer@*/void YESCRYPT_salt_cost_to_buf (char *buf, unsigned long cost) { const size_t buf_begin = strlen (buf); + char *p; /* * Check if the result buffer is long enough. @@ -302,17 +305,17 @@ static /*@observer@*/void YESCRYPT_salt_cost_to_buf (char *buf, unsigned long co */ assert (GENSALT_SETTING_SIZE > buf_begin + 4); - buf[buf_begin + 0] = 'j'; + p = &buf[buf_begin]; + p = stpcpy(p, "j"); if (cost < 3) { - buf[buf_begin + 1] = 0x36 + cost; + *p++ = 0x36 + cost; } else if (cost < 6) { - buf[buf_begin + 1] = 0x34 + cost; + *p++ = 0x34 + cost; } else { - buf[buf_begin + 1] = 0x3b + cost; + *p++ = 0x3b + cost; } - buf[buf_begin + 2] = cost >= 3 ? 'T' : '5'; - buf[buf_begin + 3] = '$'; - buf[buf_begin + 4] = '\0'; + p = stpcpy(p, (cost >= 3) ? "T" : "5"); + stpcpy(p, "$"); } #endif /* USE_YESCRYPT */ @@ -330,7 +333,7 @@ static /*@observer@*/const char *gensalt (size_t salt_size) strcat (salt, l64a (csrand ())); } while (strlen (salt) < salt_size); - salt[salt_size] = '\0'; + stpcpy(&salt[salt_size], ""); return salt; } @@ -371,37 +374,37 @@ static /*@observer@*/const char *gensalt (size_t salt_size) } } - if (0 == strcmp (method, "MD5")) { + if (streq(method, "MD5")) { MAGNUM(result, '1'); salt_len = MD5_CRYPT_SALT_SIZE; rounds = 0; #ifdef USE_BCRYPT - } else if (0 == strcmp (method, "BCRYPT")) { + } else if (streq(method, "BCRYPT")) { BCRYPTMAGNUM(result); salt_len = BCRYPT_SALT_SIZE; rounds = BCRYPT_get_salt_rounds (arg); BCRYPT_salt_rounds_to_buf (result, rounds); #endif /* USE_BCRYPT */ #ifdef USE_YESCRYPT - } else if (0 == strcmp (method, "YESCRYPT")) { + } else if (streq(method, "YESCRYPT")) { MAGNUM(result, 'y'); salt_len = YESCRYPT_SALT_SIZE; rounds = YESCRYPT_get_salt_cost (arg); YESCRYPT_salt_cost_to_buf (result, rounds); #endif /* USE_YESCRYPT */ #ifdef USE_SHA_CRYPT - } else if (0 == strcmp (method, "SHA256")) { + } else if (streq(method, "SHA256")) { MAGNUM(result, '5'); salt_len = SHA_CRYPT_SALT_SIZE; rounds = SHA_get_salt_rounds (arg); SHA_salt_rounds_to_buf (result, rounds); - } else if (0 == strcmp (method, "SHA512")) { + } else if (streq(method, "SHA512")) { MAGNUM(result, '6'); salt_len = SHA_CRYPT_SALT_SIZE; rounds = SHA_get_salt_rounds (arg); SHA_salt_rounds_to_buf (result, rounds); #endif /* USE_SHA_CRYPT */ - } else if (0 != strcmp (method, "DES")) { + } else if (!streq(method, "DES")) { fprintf (log_get_logfd(), _("Invalid ENCRYPT_METHOD value: '%s'.\n" "Defaulting to DES.\n"), @@ -421,7 +424,7 @@ static /*@observer@*/const char *gensalt (size_t salt_size) salt_len = GENSALT_SETTING_SIZE - 1; rounds = 0; memset(result, '.', salt_len); - result[salt_len] = '\0'; + stpcpy(&result[salt_len], ""); } char *retval = crypt_gensalt (result, rounds, NULL, 0); diff --git a/lib/setupenv.c b/lib/setupenv.c index c9b7f26f..f49c6ade 100644 --- a/lib/setupenv.c +++ b/lib/setupenv.c @@ -21,13 +21,15 @@ #include #include -#include "alloc.h" #include "prototypes.h" #include "defines.h" #include #include "getdef.h" #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strchr/stpspn.h" +#include "string/strdup/xstrdup.h" +#include "string/strtok/stpsep.h" #ifndef USE_PAM @@ -52,17 +54,12 @@ static void read_env_file (const char *filename) return; } while (fgets (buf, (int)(sizeof buf), fp) == buf) { - cp = strrchr (buf, '\n'); - if (NULL == cp) { + if (stpsep(buf, "\n") == NULL) break; - } - *cp = '\0'; cp = buf; /* ignore whitespace and comments */ - while (isspace (*cp)) { - cp++; - } + cp = stpspn(cp, " \t"); if (('\0' == *cp) || ('#' == *cp)) { continue; } @@ -71,16 +68,11 @@ static void read_env_file (const char *filename) * (for example, the "export NAME" shell commands) */ name = cp; - while (('\0' != *cp) && !isspace (*cp) && ('=' != *cp)) { - cp++; - } - if ('=' != *cp) { + val = stpsep(cp, "="); + if (val == NULL) + continue; + if (strpbrk(name, " \t") != NULL) continue; - } - /* NUL-terminate the name */ - *cp = '\0'; - cp++; - val = cp; #if 0 /* XXX untested, and needs rewrite with fewer goto's :-) */ /* (state, char_type) -> (state, action) @@ -112,7 +104,7 @@ static void read_env_file (const char *filename) goto finished; } else if (isspace (*cp)) { /* unescaped whitespace - end of string */ - *cp = '\0'; + stpcpy(cp, ""); goto finished; } else { cp++; diff --git a/lib/sgetgrent.c b/lib/sgetgrent.c index 6cde15c3..b1202967 100644 --- a/lib/sgetgrent.c +++ b/lib/sgetgrent.c @@ -16,9 +16,13 @@ #include #include -#include "alloc.h" +#include "alloc/malloc.h" +#include "alloc/reallocf.h" +#include "atoi/getnum.h" #include "defines.h" #include "prototypes.h" +#include "string/strtok/stpsep.h" + #define NFIELDS 4 @@ -80,11 +84,7 @@ struct group *sgetgrent (const char *buf) } } strcpy (grpbuf, buf); - - cp = strrchr (grpbuf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } + stpsep(grpbuf, "\n"); for (cp = grpbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) grpfields[i] = strsep(&cp, ":"); diff --git a/lib/sgetpwent.c b/lib/sgetpwent.c index 75c91770..5704d19a 100644 --- a/lib/sgetpwent.c +++ b/lib/sgetpwent.c @@ -16,10 +16,12 @@ #include #include +#include "atoi/getnum.h" #include "defines.h" #include "prototypes.h" #include "shadowlog_internal.h" + #define NFIELDS 7 /* @@ -52,7 +54,7 @@ sgetpwent(const char *buf) fprintf (shadow_logfd, "%s: Too long passwd entry encountered, file corruption?\n", shadow_progname); - return 0; /* fail if too long */ + return NULL; /* fail if too long */ } strcpy (pwdbuf, buf); @@ -78,7 +80,7 @@ sgetpwent(const char *buf) return NULL; /* - * Each of the fields is converted the appropriate data type + * Each of the fields is converted to the appropriate data type * and the result assigned to the password structure. If the * UID or GID does not convert to an integer value, a NULL * pointer is returned. diff --git a/lib/sgetspent.c b/lib/sgetspent.c index bd2ef8b8..97f64edd 100644 --- a/lib/sgetspent.c +++ b/lib/sgetspent.c @@ -19,10 +19,12 @@ #include #include -#include "atoi/str2i.h" +#include "atoi/a2i/a2s.h" +#include "atoi/str2i/str2u.h" +#include "defines.h" #include "prototypes.h" #include "shadowlog_internal.h" -#include "defines.h" +#include "string/strtok/stpsep.h" #define FIELDS 9 @@ -53,34 +55,21 @@ sgetspent(const char *string) return NULL; /* fail if too long */ } strcpy (spwbuf, string); - - cp = strrchr (spwbuf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } + stpsep(spwbuf, "\n"); /* * Tokenize the string into colon separated fields. Allow up to * FIELDS different fields. */ - for (cp = spwbuf, i = 0; ('\0' != *cp) && (i < FIELDS); i++) { - fields[i] = cp; - cp = strchrnul(cp, ':'); - - if ('\0' != *cp) { - *cp = '\0'; - cp++; - } - } + for (cp = spwbuf, i = 0; cp != NULL && i < FIELDS; i++) + fields[i] = strsep(&cp, ":"); if (i == (FIELDS - 1)) fields[i++] = ""; - if ( ((NULL != cp) && ('\0' != *cp)) || - ((i != FIELDS) && (i != OFIELDS)) ) { + if (cp != NULL || (i != FIELDS && i != OFIELDS)) return NULL; - } /* * Start populating the structure. The fields are all in @@ -96,34 +85,28 @@ sgetspent(const char *string) * incorrectly formatted number. */ - if (fields[2][0] == '\0') { + if (fields[2][0] == '\0') spwd.sp_lstchg = -1; - } else if ( (str2sl(&spwd.sp_lstchg, fields[2]) == -1) - || (spwd.sp_lstchg < 0)) { + else if (a2sl(&spwd.sp_lstchg, fields[2], NULL, 0, 0, LONG_MAX) == -1) return NULL; - } /* * Get the minimum period between password changes. */ - if (fields[3][0] == '\0') { + if (fields[3][0] == '\0') spwd.sp_min = -1; - } else if ( (str2sl(&spwd.sp_min, fields[3]) == -1) - || (spwd.sp_min < 0)) { + else if (a2sl(&spwd.sp_min, fields[3], NULL, 0, 0, LONG_MAX) == -1) return NULL; - } /* * Get the maximum number of days a password is valid. */ - if (fields[4][0] == '\0') { + if (fields[4][0] == '\0') spwd.sp_max = -1; - } else if ( (str2sl(&spwd.sp_max, fields[4]) == -1) - || (spwd.sp_max < 0)) { + else if (a2sl(&spwd.sp_max, fields[4], NULL, 0, 0, LONG_MAX) == -1) return NULL; - } /* * If there are only OFIELDS fields (this is a SVR3.2 /etc/shadow @@ -143,47 +126,40 @@ sgetspent(const char *string) * Get the number of days of password expiry warning. */ - if (fields[5][0] == '\0') { + if (fields[5][0] == '\0') spwd.sp_warn = -1; - } else if ( (str2sl(&spwd.sp_warn, fields[5]) == -1) - || (spwd.sp_warn < 0)) { + else if (a2sl(&spwd.sp_warn, fields[5], NULL, 0, 0, LONG_MAX) == -1) return NULL; - } /* * Get the number of days of inactivity before an account is * disabled. */ - if (fields[6][0] == '\0') { + if (fields[6][0] == '\0') spwd.sp_inact = -1; - } else if ( (str2sl(&spwd.sp_inact, fields[6]) == -1) - || (spwd.sp_inact < 0)) { + else if (a2sl(&spwd.sp_inact, fields[6], NULL, 0, 0, LONG_MAX) == -1) return NULL; - } /* * Get the number of days after the epoch before the account is * set to expire. */ - if (fields[7][0] == '\0') { + if (fields[7][0] == '\0') spwd.sp_expire = -1; - } else if ( (str2sl(&spwd.sp_expire, fields[7]) == -1) - || (spwd.sp_expire < 0)) { + else if (a2sl(&spwd.sp_expire, fields[7], NULL, 0, 0, LONG_MAX) == -1) return NULL; - } /* * This field is reserved for future use. But it isn't supposed * to have anything other than a valid integer in it. */ - if (fields[8][0] == '\0') { + if (fields[8][0] == '\0') spwd.sp_flag = SHADOW_SP_FLAG_UNSET; - } else if (str2ul(&spwd.sp_flag, fields[8]) == -1) { + else if (str2ul(&spwd.sp_flag, fields[8]) == -1) return NULL; - } return (&spwd); } diff --git a/lib/sgroupio.c b/lib/sgroupio.c index 0297df4a..acb140d8 100644 --- a/lib/sgroupio.c +++ b/lib/sgroupio.c @@ -14,13 +14,15 @@ #ident "$Id$" -#include "alloc.h" +#include "alloc/calloc.h" +#include "alloc/malloc.h" #include "prototypes.h" #include "defines.h" #include "commonio.h" #include "getdef.h" -#include "memzero.h" #include "sgroupio.h" +#include "string/memset/memzero.h" + /*@null@*/ /*@only@*/struct sgrp *__sgr_dup (const struct sgrp *sgent) { @@ -130,10 +132,9 @@ sgr_free(/*@only@*/struct sgrp *sgent) { size_t i; free (sgent->sg_name); - if (NULL != sgent->sg_passwd) { - strzero (sgent->sg_passwd); - free (sgent->sg_passwd); - } + if (NULL != sgent->sg_passwd) + free(strzero(sgent->sg_passwd)); + for (i = 0; NULL != sgent->sg_adm[i]; i++) { free (sgent->sg_adm[i]); } diff --git a/lib/shadow.c b/lib/shadow.c index f17d09ee..3bacd204 100644 --- a/lib/shadow.c +++ b/lib/shadow.c @@ -14,12 +14,16 @@ #ident "$Id$" -#include -#include "prototypes.h" -#include "defines.h" #include +#include +#include -#include "atoi/str2i.h" +#include "atoi/a2i/a2s.h" +#include "atoi/str2i/str2u.h" +#include "defines.h" +#include "prototypes.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" static FILE *shadow; @@ -54,182 +58,13 @@ void endspent (void) shadow = NULL; } -/* - * my_sgetspent - convert string in shadow file format to (struct spwd *) - */ - -static struct spwd *my_sgetspent (const char *string) -{ - static char spwbuf[BUFSIZ]; - static struct spwd spwd; - char *fields[FIELDS]; - char *cp; - int i; - - /* - * Copy string to local buffer. It has to be tokenized and we - * have to do that to our private copy. - */ - - if (strlen (string) >= sizeof spwbuf) - return 0; - strcpy (spwbuf, string); - - cp = strrchr (spwbuf, '\n'); - if (NULL != cp) - *cp = '\0'; - - /* - * Tokenize the string into colon separated fields. Allow up to - * FIELDS different fields. - */ - - for (cp = spwbuf, i = 0; *cp && i < FIELDS; i++) { - fields[i] = cp; - while (*cp && *cp != ':') - cp++; - - if (*cp) - *cp++ = '\0'; - } - - if (i == (FIELDS - 1)) - fields[i++] = cp; - - if ((cp && *cp) || (i != FIELDS && i != OFIELDS)) - return 0; - - /* - * Start populating the structure. The fields are all in - * static storage, as is the structure we pass back. If we - * ever see a name with '+' as the first character, we try - * to turn on NIS processing. - */ - - spwd.sp_namp = fields[0]; - spwd.sp_pwdp = fields[1]; - - /* - * Get the last changed date. For all of the integer fields, - * we check for proper format. It is an error to have an - * incorrectly formatted number, unless we are using NIS. - */ - - if (fields[2][0] == '\0') { - spwd.sp_lstchg = -1; - } else { - if (str2sl(&spwd.sp_lstchg, fields[2]) == -1) - return 0; - if (spwd.sp_lstchg < 0) - return 0; - } - - /* - * Get the minimum period between password changes. - */ - - if (fields[3][0] == '\0') { - spwd.sp_min = -1; - } else { - if (str2sl(&spwd.sp_min, fields[3]) == -1) - return 0; - if (spwd.sp_min < 0) - return 0; - } - - /* - * Get the maximum number of days a password is valid. - */ - - if (fields[4][0] == '\0') { - spwd.sp_max = -1; - } else { - if (str2sl(&spwd.sp_max, fields[4]) == -1) - return 0; - if (spwd.sp_max < 0) - return 0; - } - - /* - * If there are only OFIELDS fields (this is a SVR3.2 /etc/shadow - * formatted file), initialize the other field members to -1. - */ - - if (i == OFIELDS) { - spwd.sp_warn = -1; - spwd.sp_inact = -1; - spwd.sp_expire = -1; - spwd.sp_flag = SHADOW_SP_FLAG_UNSET; - - return &spwd; - } - - /* - * Get the number of days of password expiry warning. - */ - - if (fields[5][0] == '\0') { - spwd.sp_warn = -1; - } else { - if (str2sl(&spwd.sp_warn, fields[5]) == -1) - return 0; - if (spwd.sp_warn < 0) - return 0; - } - - /* - * Get the number of days of inactivity before an account is - * disabled. - */ - - if (fields[6][0] == '\0') { - spwd.sp_inact = -1; - } else { - if (str2sl(&spwd.sp_inact, fields[6]) == -1) - return 0; - if (spwd.sp_inact < 0) - return 0; - } - - /* - * Get the number of days after the epoch before the account is - * set to expire. - */ - - if (fields[7][0] == '\0') { - spwd.sp_expire = -1; - } else { - if (str2sl(&spwd.sp_expire, fields[7]) == -1) - return 0; - if (spwd.sp_expire < 0) - return 0; - } - - /* - * This field is reserved for future use. But it isn't supposed - * to have anything other than a valid integer in it. - */ - - if (fields[8][0] == '\0') { - spwd.sp_flag = SHADOW_SP_FLAG_UNSET; - } else { - if (str2ul(&spwd.sp_flag, fields[8]) == -1) - return 0; - if (spwd.sp_flag < 0) - return 0; - } - - return (&spwd); -} - /* * fgetspent - get an entry from a /etc/shadow formatted stream */ struct spwd *fgetspent (FILE * fp) { - char buf[BUFSIZ]; - char *cp; + char buf[BUFSIZ]; if (NULL == fp) { return (0); @@ -237,11 +72,8 @@ struct spwd *fgetspent (FILE * fp) if (fgets (buf, sizeof buf, fp) != NULL) { - cp = strchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } - return my_sgetspent (buf); + stpsep(buf, "\n"); + return sgetspent(buf); } return 0; } @@ -269,7 +101,7 @@ struct spwd *getspnam (const char *name) setspent (); while ((sp = getspent ()) != NULL) { - if (strcmp (name, sp->sp_namp) == 0) { + if (streq(name, sp->sp_namp)) { break; } } diff --git a/lib/shadowlog_internal.h b/lib/shadowlog_internal.h index f972a3c4..2ed7932b 100644 --- a/lib/shadowlog_internal.h +++ b/lib/shadowlog_internal.h @@ -1,7 +1,7 @@ #ifndef _SHADOWLOG_INTERNAL_H #define _SHADOWLOG_INTERNAL_H -extern const char *shadow_progname; /* Program name showed in error messages */ +extern const char *shadow_progname; /* Program name shown in error messages */ extern FILE *shadow_logfd; /* file descriptor to which error messages are printed */ #endif /* _SHADOWLOG_INTERNAL_H */ diff --git a/lib/shadowmem.c b/lib/shadowmem.c index 9d8f193b..99f1b121 100644 --- a/lib/shadowmem.c +++ b/lib/shadowmem.c @@ -17,9 +17,10 @@ #include #include -#include "alloc.h" -#include "memzero.h" +#include "alloc/calloc.h" #include "shadowio.h" +#include "string/memset/memzero.h" + /*@null@*/ /*@only@*/struct spwd *__spw_dup (const struct spwd *spent) { @@ -61,10 +62,9 @@ spw_free(/*@only@*/struct spwd *spent) { if (spent != NULL) { free (spent->sp_namp); - if (NULL != spent->sp_pwdp) { - strzero (spent->sp_pwdp); - free (spent->sp_pwdp); - } + if (NULL != spent->sp_pwdp) + free(strzero(spent->sp_pwdp)); + free (spent); } } diff --git a/lib/shell.c b/lib/shell.c index 25ef3e30..b4db966a 100644 --- a/lib/shell.c +++ b/lib/shell.c @@ -15,7 +15,7 @@ #include #include "prototypes.h" #include "defines.h" -#include "string/sprintf.h" +#include "string/sprintf/snprintf.h" extern char **newenvp; diff --git a/lib/sssd.c b/lib/sssd.c index fadb378d..09f539f4 100644 --- a/lib/sssd.c +++ b/lib/sssd.c @@ -8,7 +8,7 @@ #include #include -#include "alloc.h" +#include "alloc/malloc.h" #include "exitcodes.h" #include "defines.h" #include "prototypes.h" @@ -16,17 +16,20 @@ #include "shadowlog_internal.h" + #define MSG_SSSD_FLUSH_CACHE_FAILED "%s: Failed to flush the sssd cache." -int sssd_flush_cache (int dbflags) + +int +sssd_flush_cache(int dbflags) { - int status, code, rv; - const char *cmd = "/usr/sbin/sss_cache"; - struct stat sb; - char *sss_cache_args = NULL; - const char *spawnedArgs[] = {"sss_cache", NULL, NULL}; - const char *spawnedEnv[] = {NULL}; - int i = 0; + int status, code, rv; + char *p; + char *sss_cache_args = NULL; + const char *cmd = "/usr/sbin/sss_cache"; + const char *spawnedArgs[] = {"sss_cache", NULL, NULL}; + const char *spawnedEnv[] = {NULL}; + struct stat sb; rv = stat(cmd, &sb); if (rv == -1 && errno == ENOENT) @@ -37,15 +40,13 @@ int sssd_flush_cache (int dbflags) return -1; } - sss_cache_args[i++] = '-'; - if (dbflags & SSSD_DB_PASSWD) { - sss_cache_args[i++] = 'U'; - } - if (dbflags & SSSD_DB_GROUP) { - sss_cache_args[i++] = 'G'; - } - sss_cache_args[i++] = '\0'; - if (i == 2) { + p = stpcpy(sss_cache_args, "-"); + if (dbflags & SSSD_DB_PASSWD) + stpcpy(p, "U"); + if (dbflags & SSSD_DB_GROUP) + stpcpy(p, "G"); + + if (*p == '\0') { /* Neither passwd nor group, nothing to do */ free(sss_cache_args); return 0; diff --git a/lib/string/memset/memzero.c b/lib/string/memset/memzero.c new file mode 100644 index 00000000..0725bd93 --- /dev/null +++ b/lib/string/memset/memzero.c @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include + +#include "string/memset/memzero.h" + + +extern inline void *memzero(void *ptr, size_t size); +extern inline char *strzero(char *s); diff --git a/lib/memzero.h b/lib/string/memset/memzero.h similarity index 52% rename from lib/memzero.h rename to lib/string/memset/memzero.h index 1137e830..d20967b1 100644 --- a/lib/memzero.h +++ b/lib/string/memset/memzero.h @@ -1,12 +1,10 @@ -/* - * SPDX-FileCopyrightText: 2022-2023, Christian Göttsche - * SPDX-FileCopyrightText: 2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2022-2023, Christian Göttsche +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause -#ifndef SHADOW_INCLUDE_LIBMISC_MEMZERO_H_ -#define SHADOW_INCLUDE_LIBMISC_MEMZERO_H_ +#ifndef SHADOW_INCLUDE_LIB_STRING_MEMSET_MEMZERO_H_ +#define SHADOW_INCLUDE_LIB_STRING_MEMSET_MEMZERO_H_ #include @@ -21,11 +19,11 @@ #define MEMZERO(arr) memzero(arr, SIZEOF_ARRAY(arr)) -inline void memzero(void *ptr, size_t size); -inline void strzero(char *s); +inline void *memzero(void *ptr, size_t size); +inline char *strzero(char *s); -inline void +inline void * memzero(void *ptr, size_t size) { #if defined(HAVE_MEMSET_EXPLICIT) @@ -36,13 +34,14 @@ memzero(void *ptr, size_t size) bzero(ptr, size); __asm__ __volatile__ ("" : : "r"(ptr) : "memory"); #endif + return ptr; } -inline void +inline char * strzero(char *s) { - memzero(s, strlen(s)); + return memzero(s, strlen(s)); } diff --git a/lib/string/sprintf.c b/lib/string/sprintf.c deleted file mode 100644 index cf3c210b..00000000 --- a/lib/string/sprintf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#ident "$Id$" - -#include "string/sprintf.h" - -#include -#include -#include - - -extern inline int xasprintf(char **restrict s, const char *restrict fmt, ...); -extern inline int xvasprintf(char **restrict s, const char *restrict fmt, - va_list ap); - -extern inline int snprintf_(char *restrict s, size_t size, - const char *restrict fmt, ...); -extern inline int vsnprintf_(char *restrict s, size_t size, - const char *restrict fmt, va_list ap); diff --git a/lib/string/sprintf/snprintf.c b/lib/string/sprintf/snprintf.c new file mode 100644 index 00000000..3a71a697 --- /dev/null +++ b/lib/string/sprintf/snprintf.c @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/sprintf/snprintf.h" + +#include +#include + + +extern inline int snprintf_(char *restrict s, size_t size, + const char *restrict fmt, ...); +extern inline int vsnprintf_(char *restrict s, size_t size, + const char *restrict fmt, va_list ap); diff --git a/lib/string/sprintf.h b/lib/string/sprintf/snprintf.h similarity index 51% rename from lib/string/sprintf.h rename to lib/string/sprintf/snprintf.h index 74853694..d181c661 100644 --- a/lib/string/sprintf.h +++ b/lib/string/sprintf/snprintf.h @@ -1,11 +1,9 @@ -/* - * SPDX-FileCopyrightText: 2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause -#ifndef SHADOW_INCLUDE_LIB_SPRINTF_H_ -#define SHADOW_INCLUDE_LIB_SPRINTF_H_ +#ifndef SHADOW_INCLUDE_LIB_STRING_SPRINTF_SNPRINTF_H_ +#define SHADOW_INCLUDE_LIB_STRING_SPRINTF_SNPRINTF_H_ #include @@ -15,19 +13,15 @@ #include #include "attr.h" -#include "defines.h" #include "sizeof.h" #define SNPRINTF(s, fmt, ...) \ - snprintf_(s, NITEMS(s), fmt __VA_OPT__(,) __VA_ARGS__) +( \ + snprintf_(s, NITEMS(s), fmt __VA_OPT__(,) __VA_ARGS__) \ +) -format_attr(printf, 2, 3) -inline int xasprintf(char **restrict s, const char *restrict fmt, ...); -format_attr(printf, 2, 0) -inline int xvasprintf(char **restrict s, const char *restrict fmt, va_list ap); - format_attr(printf, 3, 4) inline int snprintf_(char *restrict s, size_t size, const char *restrict fmt, ...); @@ -36,35 +30,6 @@ inline int vsnprintf_(char *restrict s, size_t size, const char *restrict fmt, va_list ap); -inline int -xasprintf(char **restrict s, const char *restrict fmt, ...) -{ - int len; - va_list ap; - - va_start(ap, fmt); - len = xvasprintf(s, fmt, ap); - va_end(ap); - - return len; -} - - -inline int -xvasprintf(char **restrict s, const char *restrict fmt, va_list ap) -{ - int len; - - len = vasprintf(s, fmt, ap); - if (len == -1) { - perror("asprintf"); - exit(EXIT_FAILURE); - } - - return len; -} - - inline int snprintf_(char *restrict s, size_t size, const char *restrict fmt, ...) { diff --git a/lib/string/stpeprintf.c b/lib/string/sprintf/stpeprintf.c similarity index 56% rename from lib/string/stpeprintf.c rename to lib/string/sprintf/stpeprintf.c index cecd95d7..15148df5 100644 --- a/lib/string/stpeprintf.c +++ b/lib/string/sprintf/stpeprintf.c @@ -1,25 +1,17 @@ -/* - * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause #include -#if !defined(HAVE_STPEPRINTF) - -#ident "$Id$" - -#include "string/stpeprintf.h" +#include "string/sprintf/stpeprintf.h" #include +#if !defined(HAVE_STPEPRINTF) extern inline char *stpeprintf(char *dst, char *end, const char *restrict fmt, ...); extern inline char *vstpeprintf(char *dst, char *end, const char *restrict fmt, va_list ap); - - -#endif // !HAVE_STPEPRINTF +#endif diff --git a/lib/string/stpeprintf.h b/lib/string/sprintf/stpeprintf.h similarity index 88% rename from lib/string/stpeprintf.h rename to lib/string/sprintf/stpeprintf.h index 14ee7b6e..ccd844bc 100644 --- a/lib/string/stpeprintf.h +++ b/lib/string/sprintf/stpeprintf.h @@ -1,32 +1,27 @@ -/* - * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause -#ifndef SHADOW_INCLUDE_LIB_STPEPRINTF_H_ -#define SHADOW_INCLUDE_LIB_STPEPRINTF_H_ +#ifndef SHADOW_INCLUDE_LIB_STRING_SPRINTF_STPEPRINTF_H_ +#define SHADOW_INCLUDE_LIB_STRING_SPRINTF_STPEPRINTF_H_ #include -#if !defined(HAVE_STPEPRINTF) - #include #include #include #include "attr.h" -#include "defines.h" +#if !defined(HAVE_STPEPRINTF) format_attr(printf, 3, 4) inline char *stpeprintf(char *dst, char *end, const char *restrict fmt, ...); - format_attr(printf, 3, 0) inline char *vstpeprintf(char *dst, char *end, const char *restrict fmt, va_list ap); +#endif /* @@ -79,6 +74,7 @@ inline char *vstpeprintf(char *dst, char *end, const char *restrict fmt, */ +#if !defined(HAVE_STPEPRINTF) inline char * stpeprintf(char *dst, char *end, const char *restrict fmt, ...) { @@ -91,8 +87,10 @@ stpeprintf(char *dst, char *end, const char *restrict fmt, ...) return p; } +#endif +#if !defined(HAVE_STPEPRINTF) inline char * vstpeprintf(char *dst, char *end, const char *restrict fmt, va_list ap) { @@ -114,7 +112,7 @@ vstpeprintf(char *dst, char *end, const char *restrict fmt, va_list ap) return dst + len; } +#endif -#endif // !HAVE_STPEPRINTF #endif // include guard diff --git a/lib/string/sprintf/xasprintf.c b/lib/string/sprintf/xasprintf.c new file mode 100644 index 00000000..2c740565 --- /dev/null +++ b/lib/string/sprintf/xasprintf.c @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/sprintf/xasprintf.h" + +#include + + +extern inline int xasprintf(char **restrict s, const char *restrict fmt, ...); +extern inline int xvasprintf(char **restrict s, const char *restrict fmt, + va_list ap); diff --git a/lib/string/sprintf/xasprintf.h b/lib/string/sprintf/xasprintf.h new file mode 100644 index 00000000..073cb903 --- /dev/null +++ b/lib/string/sprintf/xasprintf.h @@ -0,0 +1,54 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_SPRINTF_XASPRINTF_H_ +#define SHADOW_INCLUDE_LIB_STRING_SPRINTF_XASPRINTF_H_ + + +#include + +#include +#include +#include +#include + +#include "attr.h" + + +format_attr(printf, 2, 3) +inline int xasprintf(char **restrict s, const char *restrict fmt, ...); +format_attr(printf, 2, 0) +inline int xvasprintf(char **restrict s, const char *restrict fmt, va_list ap); + + +inline int +xasprintf(char **restrict s, const char *restrict fmt, ...) +{ + int len; + va_list ap; + + va_start(ap, fmt); + len = xvasprintf(s, fmt, ap); + va_end(ap); + + return len; +} + + +inline int +xvasprintf(char **restrict s, const char *restrict fmt, va_list ap) +{ + int len; + + len = vasprintf(s, fmt, ap); + if (len == -1) { + perror("asprintf"); + exit(EXIT_FAILURE); + } + + return len; +} + + +#endif // include guard diff --git a/lib/string/stpecpy.c b/lib/string/stpecpy.c deleted file mode 100644 index 97593884..00000000 --- a/lib/string/stpecpy.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar - * - * SPDX-License-Identifier: BSD-3-Clause - */ - - -#include - -#if !defined(HAVE_STPECPY) - -#ident "$Id$" - -#include "string/stpecpy.h" - - -extern inline char *stpecpy(char *dst, char *end, const char *restrict src); - - -#endif // !HAVE_STPECPY diff --git a/lib/string/strchr/stpspn.c b/lib/string/strchr/stpspn.c new file mode 100644 index 00000000..b94ffe15 --- /dev/null +++ b/lib/string/strchr/stpspn.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strchr/stpspn.h" diff --git a/lib/string/strchr/stpspn.h b/lib/string/strchr/stpspn.h new file mode 100644 index 00000000..97edfdf9 --- /dev/null +++ b/lib/string/strchr/stpspn.h @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCHR_STPSPN_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCHR_STPSPN_H_ + + +#include + +#include + +#include "attr.h" + + +// Similar to strspn(3), but return a pointer instead of an offset. +// Similar to strchrnul(3), but search for any bytes not in 'accept'. +#define stpspn(s, accept) \ +({ \ + __auto_type s_ = s; \ + \ + s_ + strspn(s_, accept); \ +}) + + +#endif // include guard diff --git a/lib/string/strchr/strchrcnt.c b/lib/string/strchr/strchrcnt.c new file mode 100644 index 00000000..793b2add --- /dev/null +++ b/lib/string/strchr/strchrcnt.c @@ -0,0 +1,12 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strchr/strchrcnt.h" + +#include + + +extern inline size_t strchrcnt(const char *s, char c); diff --git a/lib/string/strchr/strchrcnt.h b/lib/string/strchr/strchrcnt.h new file mode 100644 index 00000000..1a1923ea --- /dev/null +++ b/lib/string/strchr/strchrcnt.h @@ -0,0 +1,35 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCHR_STRCHRCNT_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCHR_STRCHRCNT_H_ + + +#include + +#include + +#include "attr.h" +#include "string/strcmp/streq.h" + + +ATTR_STRING(1) +inline size_t strchrcnt(const char *s, char c); + + +inline size_t +strchrcnt(const char *s, char c) +{ + size_t n = 0; + + for (; !streq(s, ""); s++) { + if (*s == c) + n++; + } + + return n; +} + + +#endif // include guard diff --git a/lib/string/strchr/strnul.c b/lib/string/strchr/strnul.c new file mode 100644 index 00000000..93b3ab7c --- /dev/null +++ b/lib/string/strchr/strnul.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strchr/strnul.h" diff --git a/lib/string/strchr/strnul.h b/lib/string/strchr/strnul.h new file mode 100644 index 00000000..5754ad05 --- /dev/null +++ b/lib/string/strchr/strnul.h @@ -0,0 +1,25 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCHR_STRNUL_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCHR_STRNUL_H_ + + +#include + +#include + +#include "attr.h" + + +// Similar to strlen(3), but return a pointer instead of an offset. +#define strnul(s) \ +({ \ + __auto_type s_ = s; \ + \ + s_ + strlen(s_); \ +}) + + +#endif // include guard diff --git a/lib/string/strchr/strrspn.c b/lib/string/strchr/strrspn.c new file mode 100644 index 00000000..7ba25479 --- /dev/null +++ b/lib/string/strchr/strrspn.c @@ -0,0 +1,10 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strchr/strrspn.h" + + +extern inline char *strrspn(char *restrict s, const char *restrict accept); diff --git a/lib/string/strchr/strrspn.h b/lib/string/strchr/strrspn.h new file mode 100644 index 00000000..c05dc56d --- /dev/null +++ b/lib/string/strchr/strrspn.h @@ -0,0 +1,38 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCHR_STRRSPN_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCHR_STRRSPN_H_ + + +#include + +#include + +#include "attr.h" +#include "string/strchr/strnul.h" + + +ATTR_STRING(2) +inline char *strrspn(char *restrict s, const char *restrict accept); + + +// Available in Oracle Solaris: strrspn(3GEN). +// +inline char * +strrspn(char *restrict s, const char *restrict accept) +{ + char *p; + + p = strnul(s); + while (p > s) { + p--; + if (strchr(accept, *p) == NULL) + return p + 1; + } + return s; +} + + +#endif // include guard diff --git a/lib/string/strcmp/streq.c b/lib/string/strcmp/streq.c new file mode 100644 index 00000000..52057ed8 --- /dev/null +++ b/lib/string/strcmp/streq.c @@ -0,0 +1,12 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include + +#include "string/strcmp/streq.h" + + +extern inline bool streq(const char *s1, const char *s2); diff --git a/lib/string/strcmp/streq.h b/lib/string/strcmp/streq.h new file mode 100644 index 00000000..267045c5 --- /dev/null +++ b/lib/string/strcmp/streq.h @@ -0,0 +1,30 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCMP_STREQ_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCMP_STREQ_H_ + + +#include + +#include +#include + +#include "attr.h" + + +ATTR_STRING(1) +ATTR_STRING(2) +inline bool streq(const char *s1, const char *s2); + + +/* Return true if s1 and s2 compare equal. */ +inline bool +streq(const char *s1, const char *s2) +{ + return strcmp(s1, s2) == 0; +} + + +#endif // include guard diff --git a/lib/string/strcpy/stpecpy.c b/lib/string/strcpy/stpecpy.c new file mode 100644 index 00000000..3268663b --- /dev/null +++ b/lib/string/strcpy/stpecpy.c @@ -0,0 +1,12 @@ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strcpy/stpecpy.h" + + +#if !defined(HAVE_STPECPY) +extern inline char *stpecpy(char *dst, char *end, const char *restrict src); +#endif diff --git a/lib/string/stpecpy.h b/lib/string/strcpy/stpecpy.h similarity index 87% rename from lib/string/stpecpy.h rename to lib/string/strcpy/stpecpy.h index 2324baa5..e9debe4e 100644 --- a/lib/string/stpecpy.h +++ b/lib/string/strcpy/stpecpy.h @@ -1,18 +1,13 @@ -/* - * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause -#ifndef SHADOW_INCLUDE_LIB_STPECPY_H_ -#define SHADOW_INCLUDE_LIB_STPECPY_H_ +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCPY_STPECPY_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCPY_STPECPY_H_ #include -#if !defined(HAVE_STPECPY) - #include #include #include @@ -20,8 +15,10 @@ #include "attr.h" +#if !defined(HAVE_STPECPY) ATTR_STRING(3) inline char *stpecpy(char *dst, char *end, const char *restrict src); +#endif /* @@ -66,6 +63,7 @@ inline char *stpecpy(char *dst, char *end, const char *restrict src); */ +#if !defined(HAVE_STPECPY) inline char * stpecpy(char *dst, char *end, const char *restrict src) { @@ -84,7 +82,7 @@ stpecpy(char *dst, char *end, const char *restrict src) return stpcpy(mempcpy(dst, src, dlen), "") + trunc; } +#endif -#endif // !HAVE_STPECPY #endif // include guard diff --git a/lib/string/strcpy/strncat.c b/lib/string/strcpy/strncat.c new file mode 100644 index 00000000..d55f1729 --- /dev/null +++ b/lib/string/strcpy/strncat.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strcpy/strncat.h" diff --git a/lib/string/strcpy/strncat.h b/lib/string/strcpy/strncat.h new file mode 100644 index 00000000..6bb9907b --- /dev/null +++ b/lib/string/strcpy/strncat.h @@ -0,0 +1,19 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCPY_STRNCAT_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCPY_STRNCAT_H_ + + +#include + +#include + +#include "sizeof.h" + + +#define STRNCAT(dst, src) strncat(dst, src, NITEMS(src)) + + +#endif // include guard diff --git a/lib/string/strcpy/strncpy.c b/lib/string/strcpy/strncpy.c new file mode 100644 index 00000000..5544feda --- /dev/null +++ b/lib/string/strcpy/strncpy.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strcpy/strncpy.h" diff --git a/lib/string/strcpy/strncpy.h b/lib/string/strcpy/strncpy.h new file mode 100644 index 00000000..fcb8720e --- /dev/null +++ b/lib/string/strcpy/strncpy.h @@ -0,0 +1,19 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCPY_STRNCPY_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCPY_STRNCPY_H_ + + +#include + +#include + +#include "sizeof.h" + + +#define STRNCPY(dst, src) strncpy(dst, src, NITEMS(dst)) + + +#endif // include guard diff --git a/lib/string/strtcpy.c b/lib/string/strcpy/strtcpy.c similarity index 52% rename from lib/string/strtcpy.c rename to lib/string/strcpy/strtcpy.c index 74de4fc4..28e3d056 100644 --- a/lib/string/strtcpy.c +++ b/lib/string/strcpy/strtcpy.c @@ -1,7 +1,5 @@ -/* - * SPDX-FileCopyrightText: 2022-2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause #include @@ -9,9 +7,7 @@ #include #include -#ident "$Id$" - -#include "string/strtcpy.h" +#include "string/strcpy/strtcpy.h" extern inline ssize_t strtcpy(char *restrict dst, const char *restrict src, diff --git a/lib/string/strtcpy.h b/lib/string/strcpy/strtcpy.h similarity index 85% rename from lib/string/strtcpy.h rename to lib/string/strcpy/strtcpy.h index 4ff6e111..4d35e1b8 100644 --- a/lib/string/strtcpy.h +++ b/lib/string/strcpy/strtcpy.h @@ -1,11 +1,9 @@ -/* - * SPDX-FileCopyrightText: 2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause -#ifndef SHADOW_INCLUDE_LIB_STRTCPY_H_ -#define SHADOW_INCLUDE_LIB_STRTCPY_H_ +#ifndef SHADOW_INCLUDE_LIB_STRING_STRCPY_STRTCPY_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRCPY_STRTCPY_H_ #include @@ -16,7 +14,6 @@ #include #include "attr.h" -#include "defines.h" #include "sizeof.h" diff --git a/lib/string/strdup/strndupa.c b/lib/string/strdup/strndupa.c new file mode 100644 index 00000000..aa67fa27 --- /dev/null +++ b/lib/string/strdup/strndupa.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strdup/strndupa.h" diff --git a/lib/string/strdup/strndupa.h b/lib/string/strdup/strndupa.h new file mode 100644 index 00000000..cefc2982 --- /dev/null +++ b/lib/string/strdup/strndupa.h @@ -0,0 +1,25 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRDUP_STRNDUPA_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRDUP_STRNDUPA_H_ + + +#include + +#include +#include + +#include "sizeof.h" +#include "string/strcpy/strncat.h" + + +// Similar to strndupa(3), but ensure that 's' is an array. +#define STRNDUPA(s) \ +( \ + STRNCAT(strcpy(alloca(strnlen(s, NITEMS(s)) + 1), ""), s) \ +) + + +#endif // include guard diff --git a/lib/string/strdup/xstrdup.c b/lib/string/strdup/xstrdup.c new file mode 100644 index 00000000..00ec9db3 --- /dev/null +++ b/lib/string/strdup/xstrdup.c @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strdup/xstrdup.h" + + +extern inline char *xstrdup(const char *str); diff --git a/lib/string/strdup/xstrdup.h b/lib/string/strdup/xstrdup.h new file mode 100644 index 00000000..ba3e2556 --- /dev/null +++ b/lib/string/strdup/xstrdup.h @@ -0,0 +1,32 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2006, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008 , Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRDUP_XSTRDUP_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRDUP_XSTRDUP_H_ + + +#include + +#include + +#include "alloc/x/xmalloc.h" +#include "attr.h" + + +ATTR_MALLOC(free) +inline char *xstrdup(const char *str); + + +inline char * +xstrdup(const char *str) +{ + return strcpy(XMALLOC(strlen(str) + 1, char), str); +} + + +#endif // include guard diff --git a/lib/string/strdup/xstrndup.c b/lib/string/strdup/xstrndup.c new file mode 100644 index 00000000..e659073f --- /dev/null +++ b/lib/string/strdup/xstrndup.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strdup/xstrndup.h" diff --git a/lib/string/strdup/xstrndup.h b/lib/string/strdup/xstrndup.h new file mode 100644 index 00000000..88263c30 --- /dev/null +++ b/lib/string/strdup/xstrndup.h @@ -0,0 +1,25 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRDUP_XSTRNDUP_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRDUP_XSTRNDUP_H_ + + +#include + +#include + +#include "alloc/x/xmalloc.h" +#include "sizeof.h" +#include "string/strcpy/strncat.h" + + +// Similar to strndup(3), but ensure that 's' is an array, and exit on ENOMEM. +#define XSTRNDUP(s) \ +( \ + STRNCAT(strcpy(XMALLOC(strnlen(s, NITEMS(s)) + 1, char), ""), s) \ +) + + +#endif // include guard diff --git a/lib/string/strftime.h b/lib/string/strftime.h index bebb31a4..578e5f67 100644 --- a/lib/string/strftime.h +++ b/lib/string/strftime.h @@ -13,7 +13,7 @@ #include "sizeof.h" -#define STRFTIME(dst, fmt, ...) strftime(dst, NITEMS(dst), fmt, __VA_ARGS__) +#define STRFTIME(dst, fmt, tm) strftime(dst, NITEMS(dst), fmt, tm) #endif // include guard diff --git a/lib/string/strncpy.h b/lib/string/strncpy.h deleted file mode 100644 index fc6fcc96..00000000 --- a/lib/string/strncpy.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2023, Alejandro Colomar - * SPDX-License-Identifier: BSD-3-Clause - */ - - -#ifndef SHADOW_INCLUDE_LIB_STRNCPY_H_ -#define SHADOW_INCLUDE_LIB_STRNCPY_H_ - - -#include - -#include - -#include "sizeof.h" - - -#define STRNCPY(dst, src) strncpy(dst, src, NITEMS(dst)) - - -#endif // include guard diff --git a/lib/string/strtok/stpsep.c b/lib/string/strtok/stpsep.c new file mode 100644 index 00000000..d7813d1b --- /dev/null +++ b/lib/string/strtok/stpsep.c @@ -0,0 +1,10 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "string/strtok/stpsep.h" + + +extern inline char *stpsep(char *s, const char *delim); diff --git a/lib/string/strtok/stpsep.h b/lib/string/strtok/stpsep.h new file mode 100644 index 00000000..f084bc46 --- /dev/null +++ b/lib/string/strtok/stpsep.h @@ -0,0 +1,33 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_STRTOK_STPSEP_H_ +#define SHADOW_INCLUDE_LIB_STRING_STRTOK_STPSEP_H_ + + +#include + +#include + +#include "attr.h" + + +ATTR_STRING(1) ATTR_STRING(2) +inline char *stpsep(char *s, const char *delim); + + +// Similar to strsep(3), +// but return the next token, and don't update the input pointer. +// Similar to strtok(3), +// but don't store a state, and don't skip empty fields. +inline char * +stpsep(char *s, const char *delim) +{ + strsep(&s, delim); + + return s; +} + + +#endif // include guard diff --git a/lib/string/zustr2stp.h b/lib/string/zustr2stp.h deleted file mode 100644 index 152102b7..00000000 --- a/lib/string/zustr2stp.h +++ /dev/null @@ -1,58 +0,0 @@ -// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#ifndef SHADOW_INCLUDE_LIB_STRING_ZUSTR2STP_H_ -#define SHADOW_INCLUDE_LIB_STRING_ZUSTR2STP_H_ - - -#include - -#include -#include - -#include "must_be.h" -#include "sizeof.h" - - -/* - * SYNOPSIS - * char *ZUSTR2STP(char *restrict dst, const char src[restrict]); - * - * ARGUMENTS - * dst Destination buffer. - * src Source null-padded character sequence. - * - * DESCRIPTION - * This macro copies at most NITEMS(src) non-null bytes from the - * array pointed to by src, followed by a null character, to the - * buffer pointed to by dst. - * - * RETURN VALUE - * dst + strlen(dst) - * This function returns a pointer to the terminating NUL - * byte. - * - * CAVEATS - * This function doesn't know the size of the destination buffer. - * It assumes it will always be large enough. Since the size of - * the source buffer is known to the caller, it should make sure to - * allocate a destination buffer of at least `NITEMS(src) + 1`. - * - * EXAMPLES - * char hostname[NITEMS(utmp->ut_host) + 1]; - * - * len = ZUSTR2STP(hostname, utmp->ut_host) - hostname; - * puts(hostname); - */ - - -#define ZUSTR2STP(dst, src) \ -({ \ - static_assert(!is_array(dst) || sizeof(dst) > SIZEOF_ARRAY(src), ""); \ - \ - stpcpy(mempcpy(dst, src, strnlen(src, NITEMS(src))), ""); \ -}) - - -#endif // include guard diff --git a/lib/strtoday.c b/lib/strtoday.c index dabd5b52..db086609 100644 --- a/lib/strtoday.c +++ b/lib/strtoday.c @@ -13,9 +13,10 @@ #ident "$Id$" -#include "atoi/str2i.h" -#include "prototypes.h" +#include "atoi/str2i/str2s.h" #include "getdate.h" +#include "prototypes.h" +#include "string/strchr/stpspn.h" /* @@ -53,9 +54,7 @@ long strtoday (const char *str) if ('-' == *s) { s++; } - while (' ' == *s) { - s++; - } + s = stpspn(s, " "); while (isnum && ('\0' != *s)) { if (!isdigit (*s)) { isnum = false; diff --git a/lib/subordinateio.c b/lib/subordinateio.c index d8e7633c..9329c455 100644 --- a/lib/subordinateio.c +++ b/lib/subordinateio.c @@ -18,9 +18,12 @@ #include #include -#include "alloc.h" -#include "atoi/str2i.h" -#include "string/sprintf.h" +#include "alloc/malloc.h" +#include "alloc/realloc.h" +#include "alloc/reallocf.h" +#include "atoi/str2i/str2u.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" #define ID_SIZE 31 @@ -159,7 +162,7 @@ static bool range_exists(struct commonio_db *db, const char *owner) const struct subordinate_range *range; commonio_rewind(db); while ((range = commonio_next(db)) != NULL) { - if (0 == strcmp(range->owner, owner)) + if (streq(range->owner, owner)) return true; } return false; @@ -194,7 +197,7 @@ static const struct subordinate_range *find_range(struct commonio_db *db, unsigned long first = range->start; unsigned long last = first + range->count - 1; - if (0 != strcmp(range->owner, owner)) + if (!streq(range->owner, owner)) continue; if ((val >= first) && (val <= last)) @@ -205,7 +208,7 @@ static const struct subordinate_range *find_range(struct commonio_db *db, /* * We only do special handling for these two files */ - if ((0 != strcmp(db->filename, SUBUID_FILE)) && (0 != strcmp(db->filename, SUBGID_FILE))) + if (!streq(db->filename, SUBUID_FILE) && !streq(db->filename, SUBGID_FILE)) return NULL; /* @@ -244,7 +247,7 @@ static const struct subordinate_range *find_range(struct commonio_db *db, * Range matches. Check if range owner is specified * as numeric UID and if it matches. */ - if (0 == strcmp(range->owner, owner_uid_string)) { + if (streq(range->owner, owner_uid_string)) { return range; } @@ -462,7 +465,7 @@ static int remove_range (struct commonio_db *db, last = first + range->count - 1; /* Skip entries with a different owner */ - if (0 != strcmp (range->owner, owner)) { + if (!streq(range->owner, owner)) { continue; } @@ -887,7 +890,7 @@ int list_owner_ranges(const char *owner, enum subid_type id_type, struct subid_r commonio_rewind(db); while ((range = commonio_next(db)) != NULL) { - if (0 == strcmp(range->owner, owner)) { + if (streq(range->owner, owner)) { if (!append_range(&ranges, range, count++)) { free(ranges); ranges = NULL; @@ -897,7 +900,7 @@ int list_owner_ranges(const char *owner, enum subid_type id_type, struct subid_r } // Let's also compare with the ID - if (have_owner_id == true && 0 == strcmp(range->owner, id)) { + if (have_owner_id == true && streq(range->owner, id)) { if (!append_range(&ranges, range, count++)) { free(ranges); ranges = NULL; @@ -929,9 +932,8 @@ static bool all_digits(const char *str) static int append_uids(uid_t **uids, const char *owner, int n) { - uid_t owner_uid; - uid_t *ret; - int i; + int i; + uid_t owner_uid; if (all_digits(owner)) { i = sscanf(owner, "%d", &owner_uid); @@ -957,13 +959,11 @@ static int append_uids(uid_t **uids, const char *owner, int n) return n; } - ret = REALLOC(*uids, n + 1, uid_t); - if (!ret) { - free(*uids); + *uids = REALLOCF(*uids, n + 1, uid_t); + if (!*uids) return -1; - } - ret[n] = owner_uid; - *uids = ret; + + (*uids)[n] = owner_uid; return n+1; } @@ -1062,7 +1062,7 @@ bool new_subid_range(struct subordinate_range *range, enum subid_type id_type, b if (reuse) { while ((r = commonio_next(db)) != NULL) { // TODO account for username vs uid_t - if (0 != strcmp(r->owner, range->owner)) + if (!streq(r->owner, range->owner)) continue; if (r->count >= range->count) { range->count = r->count; @@ -1143,6 +1143,16 @@ bool release_subid_range(struct subordinate_range *range, enum subid_type id_typ return ret; } +void free_subid_pointer(void *ptr) +{ + struct subid_nss_ops *h = get_subid_nss_handle(); + if (h) { + h->free(ptr); + } else { + free(ptr); + } +} + #else /* !ENABLE_SUBIDS */ extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !ENABLE_SUBIDS */ diff --git a/lib/subordinateio.h b/lib/subordinateio.h index d32733de..3d1a0547 100644 --- a/lib/subordinateio.h +++ b/lib/subordinateio.h @@ -43,6 +43,9 @@ extern int sub_gid_unlock (void); extern int sub_gid_add (const char *owner, gid_t start, unsigned long count); extern int sub_gid_remove (const char *owner, gid_t start, unsigned long count); extern uid_t sub_gid_find_free_range(gid_t min, gid_t max, unsigned long count); + +extern void free_subid_pointer(void *ptr); + #endif /* ENABLE_SUBIDS */ #endif diff --git a/lib/sulog.c b/lib/sulog.c index 2ef22b2e..82f3ab77 100644 --- a/lib/sulog.c +++ b/lib/sulog.c @@ -68,7 +68,7 @@ void sulog (const char *tty, bool success, const char *oldname, const char *name return; /* can't open or create logfile */ } - (void) time (&now); + now = time(NULL); tm = localtime (&now); fprintf (fp, "SU %.02d/%.02d %.02d:%.02d %c %s %s-%s\n", diff --git a/lib/tcbfuncs.c b/lib/tcbfuncs.c index b5915fcd..6e48db4e 100644 --- a/lib/tcbfuncs.c +++ b/lib/tcbfuncs.c @@ -5,6 +5,8 @@ #define _GNU_SOURCE +#include + #include #include #include @@ -15,15 +17,15 @@ #include #include -#include "config.h" - #include "defines.h" -#include "prototypes.h" +#include "fs/readlink/readlinknul.h" #include "getdef.h" -#include "shadowio.h" +#include "prototypes.h" #include "tcbfuncs.h" - +#include "shadowio.h" #include "shadowlog_internal.h" +#include "string/strcmp/streq.h" + #define SHADOWTCB_HASH_BY 1000 #define SHADOWTCB_LOCK_SUFFIX ".lock" @@ -96,7 +98,6 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name) char *path, *rval; struct stat st; char link[8192]; - ssize_t ret; if (asprintf (&path, TCB_DIR "/%s", name) == -1) { OUT_OF_MEMORY; @@ -125,8 +126,7 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name) free (path); return NULL; } - ret = readlink (path, link, sizeof (link) - 1); - if (-1 == ret) { + if (READLINKNUL(path, link) == -1) { fprintf (shadow_logfd, _("%s: Cannot read symbolic link %s: %s\n"), shadow_progname, path, strerror (errno)); @@ -134,14 +134,6 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name) return NULL; } free (path); - if ((size_t)ret >= sizeof(link) - 1) { - link[sizeof(link) - 1] = '\0'; - fprintf (shadow_logfd, - _("%s: Suspiciously long symlink: %s\n"), - shadow_progname, link); - return NULL; - } - link[ret] = '\0'; rval = strdup (link); if (NULL == rval) { OUT_OF_MEMORY; @@ -200,7 +192,7 @@ static shadowtcb_status mkdir_leading (const char *name, uid_t uid) goto out_free_path; } while ((ind = strchr (ptr, '/'))) { - *ind = '\0'; + stpcpy(ind, ""); if (asprintf (&dir, TCB_DIR "/%s", path) == -1) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; @@ -266,7 +258,7 @@ static shadowtcb_status rmdir_leading (char *path) char *ind, *dir; shadowtcb_status ret = SHADOWTCB_SUCCESS; while ((ind = strrchr (path, '/'))) { - *ind = '\0'; + stpcpy(ind, ""); if (asprintf (&dir, TCB_DIR "/%s", path) == -1) { OUT_OF_MEMORY; return SHADOWTCB_FAILURE; @@ -317,7 +309,7 @@ static shadowtcb_status move_dir (const char *user_newname, uid_t user_newid) if (NULL == real_new_dir) { goto out_free; } - if (strcmp (real_old_dir, real_new_dir) == 0) { + if (streq(real_old_dir, real_new_dir)) { ret = SHADOWTCB_SUCCESS; goto out_free; } @@ -350,7 +342,7 @@ static shadowtcb_status move_dir (const char *user_newname, uid_t user_newid) if (NULL == real_new_dir_rel) { goto out_free; } - if ( (strcmp (real_new_dir, newdir) != 0) + if ( !streq(real_new_dir, newdir) && (symlink (real_new_dir_rel, newdir) != 0)) { fprintf (shadow_logfd, _("%s: Cannot create symbolic link %s: %s\n"), diff --git a/lib/time/day_to_str.h b/lib/time/day_to_str.h index 96cec6e1..b70e9897 100644 --- a/lib/time/day_to_str.h +++ b/lib/time/day_to_str.h @@ -13,7 +13,7 @@ #include "defines.h" #include "sizeof.h" -#include "string/strtcpy.h" +#include "string/strcpy/strtcpy.h" #define DAY_TO_STR(str, day) day_to_str(NITEMS(str), str, day) @@ -38,12 +38,12 @@ day_to_str(size_t size, char buf[size], long day) return; } - if (gmtime_r(&date, &tm) == NULL) { + if (localtime_r(&date, &tm) == NULL) { strtcpy(buf, "future", size); return; } - if (strftime(buf, size, "%Y-%m-%d", &tm) == 0) + if (strftime(buf, size, "%F", &tm) == 0) strtcpy(buf, "future", size); } diff --git a/lib/ttytype.c b/lib/ttytype.c index a9fb0e86..fbe71ee0 100644 --- a/lib/ttytype.c +++ b/lib/ttytype.c @@ -12,9 +12,15 @@ #ident "$Id$" #include -#include "prototypes.h" +#include + #include "defines.h" #include "getdef.h" +#include "prototypes.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" + + /* * ttytype - set ttytype from port to terminal type mapping database */ @@ -23,7 +29,6 @@ void ttytype (const char *line) FILE *fp; char buf[BUFSIZ]; const char *typefile; - char *cp; char type[1024] = ""; char port[1024]; @@ -46,13 +51,10 @@ void ttytype (const char *line) continue; } - cp = strchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } + stpsep(buf, "\n"); if ( (sscanf (buf, "%1023s %1023s", type, port) == 2) - && (strcmp (line, port) == 0)) { + && streq(line, port)) { break; } } diff --git a/lib/typetraits.h b/lib/typetraits.h new file mode 100644 index 00000000..47bd30d9 --- /dev/null +++ b/lib/typetraits.h @@ -0,0 +1,46 @@ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_TYPETRAITS_H_ +#define SHADOW_INCLUDE_LIB_TYPETRAITS_H_ + + +#include + +#include "sizeof.h" + + +#define is_unsigned(x) \ +( \ + (typeof(x)) -1 > 1 \ +) + +#define is_signed(x) \ +( \ + (typeof(x)) -1 < 1 \ +) + + +#define stype_max(T) \ +( \ + (T) (((((T) 1 << (WIDTHOF(T) - 2)) - 1) << 1) + 1) \ +) + +#define utype_max(T) \ +( \ + (T) -1 \ +) + +#define type_max(T) \ +( \ + (T) (is_signed(T) ? stype_max(T) : utype_max(T)) \ +) + +#define type_min(T) \ +( \ + (T) ~type_max(T) \ +) + + +#endif // include guard diff --git a/lib/tz.c b/lib/tz.c index 83b295c7..b854a593 100644 --- a/lib/tz.c +++ b/lib/tz.c @@ -16,9 +16,12 @@ #include #include + #include "defines.h" -#include "prototypes.h" #include "getdef.h" +#include "prototypes.h" +#include "string/strtok/stpsep.h" + /* * tz - return local timezone name @@ -29,28 +32,23 @@ /*@observer@*/const char *tz (const char *fname) { FILE *fp = NULL; + const char *result; static char tzbuf[BUFSIZ]; - const char *def_tz = "TZ=CST6CDT"; fp = fopen (fname, "r"); if ( (NULL == fp) || (fgets (tzbuf, sizeof (tzbuf), fp) == NULL)) { - def_tz = getdef_str ("ENV_TZ"); - if ((NULL == def_tz) || ('/' == def_tz[0])) { - def_tz = "TZ=CST6CDT"; - } - - strcpy (tzbuf, def_tz); + result = "TZ=CST6CDT"; } else { - /* Remove optional trailing '\n'. */ - tzbuf[strcspn (tzbuf, "\n")] = '\0'; + stpsep(tzbuf, "\n"); + result = tzbuf; } if (NULL != fp) { (void) fclose (fp); } - return tzbuf; + return result; } #else /* !USE_PAM */ extern int ISO_C_forbids_an_empty_translation_unit; diff --git a/lib/user_busy.c b/lib/user_busy.c index a622376a..73c380bc 100644 --- a/lib/user_busy.c +++ b/lib/user_busy.c @@ -17,13 +17,18 @@ #include #include #include +#include + +#include "atoi/getnum.h" #include "defines.h" +#include "fs/readlink/readlinknul.h" #include "prototypes.h" #ifdef ENABLE_SUBIDS #include "subordinateio.h" #endif /* ENABLE_SUBIDS */ #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" #ifdef __linux__ @@ -90,17 +95,16 @@ static int different_namespace (const char *sname) /* 41: /proc/xxxxxxxxxx/task/xxxxxxxxxx/ns/user + \0 */ char path[41]; char buf[512], buf2[512]; - ssize_t llen1, llen2; SNPRINTF(path, "/proc/%s/ns/user", sname); - if ((llen1 = readlink (path, buf, sizeof(buf))) == -1) + if (READLINKNUL(path, buf) == -1) return 0; - if ((llen2 = readlink ("/proc/self/ns/user", buf2, sizeof(buf2))) == -1) + if (READLINKNUL("/proc/self/ns/user", buf2) == -1) return 0; - if (llen1 == llen2 && memcmp (buf, buf2, llen1) == 0) + if (streq(buf, buf2)) return 0; /* same namespace */ return 1; @@ -196,8 +200,8 @@ static int user_busy_processes (const char *name, uid_t uid) * This patch is applied by default in some RedHat * kernels. */ - if ( (strcmp (tmp_d_name, ".") == 0) - || (strcmp (tmp_d_name, "..") == 0)) { + if ( streq(tmp_d_name, ".") + || streq(tmp_d_name, "..")) { continue; } if (*tmp_d_name == '.') { diff --git a/lib/utmp.c b/lib/utmp.c index 08e9b625..37a1bbda 100644 --- a/lib/utmp.c +++ b/lib/utmp.c @@ -20,13 +20,17 @@ #include #include #include +#include #include -#include "alloc.h" +#include "alloc/x/xcalloc.h" +#include "alloc/x/xmalloc.h" #include "sizeof.h" -#include "string/strncpy.h" -#include "string/strtcpy.h" -#include "string/zustr2stp.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strncpy.h" +#include "string/strcpy/strtcpy.h" +#include "string/strdup/xstrdup.h" +#include "string/strdup/xstrndup.h" #ident "$Id$" @@ -44,7 +48,7 @@ is_my_tty(const char tty[UTX_LINESIZE]) /* tmptty shall be bigger than full_tty */ static char tmptty[sizeof(full_tty) + 1]; - full_tty[0] = '\0'; + stpcpy(full_tty, ""); if (tty[0] != '/') strcpy (full_tty, "/dev/"); strncat(full_tty, tty, UTX_LINESIZE); @@ -60,7 +64,7 @@ is_my_tty(const char tty[UTX_LINESIZE]) exit (EXIT_FAILURE); } - return strcmp (full_tty, tmptty) == 0; + return streq(full_tty, tmptty); } @@ -185,11 +189,7 @@ get_session_host(char **out) #if defined(HAVE_STRUCT_UTMPX_UT_HOST) if ((ut != NULL) && (ut->ut_host[0] != '\0')) { - char *hostname; - - hostname = XMALLOC(sizeof(ut->ut_host) + 1, char); - ZUSTR2STP(hostname, ut->ut_host); - *out = hostname; + *out = XSTRNDUP(ut->ut_host); free (ut); } else { *out = NULL; @@ -254,17 +254,12 @@ prepare_utmp(const char *name, const char *line, const char *host, - if ( (NULL != host) - && ('\0' != host[0])) { - hostname = XMALLOC(strlen(host) + 1, char); - strcpy (hostname, host); + if (NULL != host && '\0' != host[0]) + hostname = xstrdup(host); #if defined(HAVE_STRUCT_UTMPX_UT_HOST) - } else if ( (NULL != ut) - && ('\0' != ut->ut_host[0])) { - hostname = XMALLOC(NITEMS(ut->ut_host) + 1, char); - ZUSTR2STP(hostname, ut->ut_host); + else if (NULL != ut && '\0' != ut->ut_host[0]) + hostname = XSTRNDUP(ut->ut_host); #endif - } if (strncmp(line, "/dev/", 5) == 0) { line += 5; diff --git a/lib/valid.c b/lib/valid.c index 326635ff..d21afc5f 100644 --- a/lib/valid.c +++ b/lib/valid.c @@ -11,11 +11,15 @@ #ident "$Id$" -#include -#include -#include "prototypes.h" -#include "defines.h" #include +#include +#include + +#include "defines.h" +#include "prototypes.h" +#include "string/strcmp/streq.h" + + /* * valid - compare encrypted passwords * @@ -73,7 +77,7 @@ bool valid (const char *password, const struct passwd *ent) if ( (NULL != ent->pw_name) && (NULL != encrypted) - && (strcmp (encrypted, ent->pw_passwd) == 0)) { + && streq(encrypted, ent->pw_passwd)) { return true; } else { return false; diff --git a/lib/xgetXXbyYY.c b/lib/xgetXXbyYY.c index 7d5e914e..01976fe7 100644 --- a/lib/xgetXXbyYY.c +++ b/lib/xgetXXbyYY.c @@ -31,7 +31,8 @@ #include #include -#include "alloc.h" +#include "alloc/malloc.h" +#include "alloc/x/xrealloc.h" #include "prototypes.h" #include "shadowlog.h" diff --git a/libsubid/Makefile.in b/libsubid/Makefile.in index 1cc025db..0395dee3 100644 --- a/libsubid/Makefile.in +++ b/libsubid/Makefile.in @@ -249,7 +249,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/libsubid/api.c b/libsubid/api.c index 65d20abf..feed2f7c 100644 --- a/libsubid/api.c +++ b/libsubid/api.c @@ -12,11 +12,13 @@ #include #include #include + #include "subordinateio.h" #include "idmapping.h" #include "subid.h" #include "shadowlog.h" + bool subid_init(const char *progname, FILE * logfd) { FILE *shadow_logfd; @@ -42,6 +44,11 @@ bool subid_init(const char *progname, FILE * logfd) return true; } +void subid_free(void *ptr) +{ + free_subid_pointer(ptr); +} + static int get_subid_ranges(const char *owner, enum subid_type id_type, struct subid_range **ranges) { diff --git a/libsubid/subid.h b/libsubid/subid.h index d13ee84a..a38d1fa9 100644 --- a/libsubid/subid.h +++ b/libsubid/subid.h @@ -4,8 +4,8 @@ #ifndef SUBID_RANGE_DEFINED #define SUBID_RANGE_DEFINED 1 -#define SUBID_ABI_VERSION 4.0.0 -#define SUBID_ABI_MAJOR 4 +#define SUBID_ABI_VERSION 5.0.0 +#define SUBID_ABI_MAJOR 5 #define SUBID_ABI_MINOR 0 #define SUBID_ABI_MICRO 0 @@ -55,6 +55,19 @@ extern "C" { */ bool subid_init(const char *progname, FILE *logfd); +/* + * subid_free: free memory allocated in any subid_* function + * + * @ptr: Pointer to a memory block to release. + * + * Some functions like @subid_get_uid_ranges allocate memory internally. As + * soon as a result is no longer needed, it should be freed with this routine. + * Initially, default function `free()` was used. Thus for backward + * compatibility this function falls back to `free()` if a plugin does not + * explicitly specify routine to free allocated memory. + */ +void subid_free(void *ptr); + /* * subid_get_uid_ranges: return a list of UID ranges for a user * diff --git a/libsubid/subid.h.in b/libsubid/subid.h.in index 79744eda..7090c6c8 100644 --- a/libsubid/subid.h.in +++ b/libsubid/subid.h.in @@ -55,6 +55,19 @@ extern "C" { */ bool subid_init(const char *progname, FILE *logfd); +/* + * subid_free: free memory allocated in any subid_* function + * + * @ptr: Pointer to a memory block to release. + * + * Some functions like @subid_get_uid_ranges allocate memory internally. As + * soon as a result is no longer needed, it should be freed with this routine. + * Initially, default function `free()` was used. Thus for backward + * compatibility this function falls back to `free()` if a plugin does not + * explicitly specify routine to free allocated memory. + */ +void subid_free(void *ptr); + /* * subid_get_uid_ranges: return a list of UID ranges for a user * diff --git a/ltmain.sh b/ltmain.sh index 1dea62ab..540a92ab 100755 --- a/ltmain.sh +++ b/ltmain.sh @@ -1,12 +1,12 @@ -#! /usr/bin/env sh +#! /bin/sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2019-02-19.15 +## by inline-source v2014-01-03.01 -# libtool (GNU libtool) 2.4.7 +# libtool (GNU libtool) 2.4.6 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. +# Copyright (C) 1996-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -31,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.7 Debian-2.4.7-7" -package_revision=2.4.7 +VERSION="2.4.6 Debian-2.4.6-15build2" +package_revision=2.4.6 ## ------ ## @@ -64,25 +64,34 @@ package_revision=2.4.7 # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2019-02-19.15; # UTC +scriptversion=2015-01-20.17; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2004-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. +# Copyright (C) 2004-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# Please report bugs or propose patches to: -# +# 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 +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# As a special exception to the GNU General Public License, if you distribute +# this file as part of a program or library that is built using GNU Libtool, +# you may include this file under the same distribution terms that you use +# for the rest of that program. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. ## ------ ## @@ -130,12 +139,9 @@ do _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done -# These NLS vars are set unconditionally (bootstrap issue #24). Unset those -# in case the environment reset is needed later and the $save_* variant is not -# defined (see the code above). -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Make sure IFS has a sensible default sp=' ' @@ -153,26 +159,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# func_unset VAR -# -------------- -# Portably unset VAR. -# In some shells, an 'unset VAR' statement leaves a non-zero return -# status if VAR is already unset, which might be problematic if the -# statement is used at the end of a function (thus poisoning its return -# value) or when 'set -e' is active (causing even a spurious abort of -# the script in this case). -func_unset () -{ - { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } -} - - -# Make sure CDPATH doesn't cause `cd` commands to output the target dir. -func_unset CDPATH - -# Make sure ${,E,F}GREP behave sanely. -func_unset GREP_OPTIONS - ## ------------------------- ## ## Locate command utilities. ## @@ -273,7 +259,7 @@ test -z "$SED" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" + func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin rm -f conftest.sed SED=$func_path_progs_result } @@ -309,7 +295,7 @@ test -z "$GREP" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" + func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin GREP=$func_path_progs_result } @@ -374,35 +360,6 @@ sed_double_backslash="\ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" -# require_check_ifs_backslash -# --------------------------- -# Check if we can use backslash as IFS='\' separator, and set -# $check_ifs_backshlash_broken to ':' or 'false'. -require_check_ifs_backslash=func_require_check_ifs_backslash -func_require_check_ifs_backslash () -{ - _G_save_IFS=$IFS - IFS='\' - _G_check_ifs_backshlash='a\\b' - for _G_i in $_G_check_ifs_backshlash - do - case $_G_i in - a) - check_ifs_backshlash_broken=false - ;; - '') - break - ;; - *) - check_ifs_backshlash_broken=: - break - ;; - esac - done - IFS=$_G_save_IFS - require_check_ifs_backslash=: -} - ## ----------------- ## ## Global variables. ## @@ -572,15 +529,27 @@ func_require_term_colors () # --------------------- # Append VALUE onto the existing contents of VAR. + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is # useable or anything else if it does not work. - if test -z "$_G_HAVE_PLUSEQ_OP" && \ - __PLUSEQ_TEST="a" && \ - __PLUSEQ_TEST+=" b" 2>/dev/null && \ - test "a b" = "$__PLUSEQ_TEST"; then - _G_HAVE_PLUSEQ_OP=yes - fi + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes if test yes = "$_G_HAVE_PLUSEQ_OP" then @@ -611,16 +580,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then { $debug_cmd - func_quote_arg pretty "$2" - eval "$1+=\\ \$func_quote_arg_result" + func_quote_for_eval "$2" + eval "$1+=\\ \$func_quote_for_eval_result" }' else func_append_quoted () { $debug_cmd - func_quote_arg pretty "$2" - eval "$1=\$$1\\ \$func_quote_arg_result" + func_quote_for_eval "$2" + eval "$1=\$$1\\ \$func_quote_for_eval_result" } fi @@ -1122,206 +1091,88 @@ func_relative_path () } -# func_quote_portable EVAL ARG -# ---------------------------- -# Internal function to portably implement func_quote_arg. Note that we still -# keep attention to performance here so we as much as possible try to avoid -# calling sed binary (so far O(N) complexity as long as func_append is O(1)). -func_quote_portable () +# func_quote_for_eval ARG... +# -------------------------- +# Aesthetically quote ARGs to be evaled later. +# This function returns two values: +# i) func_quote_for_eval_result +# double-quoted, suitable for a subsequent eval +# ii) func_quote_for_eval_unquoted_result +# has all characters that are still active within double +# quotes backslashified. +func_quote_for_eval () { $debug_cmd - $require_check_ifs_backslash - - func_quote_portable_result=$2 - - # one-time-loop (easy break) - while true - do - if $1; then - func_quote_portable_result=`$ECHO "$2" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` - break + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do + case $1 in + *[\\\`\"\$]*) + _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; + *) + _G_unquoted_arg=$1 ;; + esac + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else + func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" fi - # Quote for eval. - case $func_quote_portable_result in - *[\\\`\"\$]*) - # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string - # contains the shell wildcard characters. - case $check_ifs_backshlash_broken$func_quote_portable_result in - :*|*[\[\*\?]*) - func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ - | $SED "$sed_quote_subst"` - break - ;; - esac - - func_quote_portable_old_IFS=$IFS - for _G_char in '\' '`' '"' '$' - do - # STATE($1) PREV($2) SEPARATOR($3) - set start "" "" - func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy - IFS=$_G_char - for _G_part in $func_quote_portable_result - do - case $1 in - quote) - func_append func_quote_portable_result "$3$2" - set quote "$_G_part" "\\$_G_char" - ;; - start) - set first "" "" - func_quote_portable_result= - ;; - first) - set quote "$_G_part" "" - ;; - esac - done - done - IFS=$func_quote_portable_old_IFS - ;; - *) ;; - esac - break - done - - func_quote_portable_unquoted_result=$func_quote_portable_result - case $func_quote_portable_result in - # double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # many bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_portable_result=\"$func_quote_portable_result\" - ;; - esac -} - - -# func_quotefast_eval ARG -# ----------------------- -# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', -# but optimized for speed. Result is stored in $func_quotefast_eval. -if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then - printf -v _GL_test_printf_tilde %q '~' - if test '\~' = "$_GL_test_printf_tilde"; then - func_quotefast_eval () - { - printf -v func_quotefast_eval_result %q "$1" - } - else - # Broken older Bash implementations. Make those faster too if possible. - func_quotefast_eval () - { - case $1 in - '~'*) - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result + case $_G_unquoted_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_quoted_arg=\"$_G_unquoted_arg\" ;; *) - printf -v func_quotefast_eval_result %q "$1" - ;; + _G_quoted_arg=$_G_unquoted_arg + ;; esac - } - fi -else - func_quotefast_eval () - { - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - } -fi - -# func_quote_arg MODEs ARG -# ------------------------ -# Quote one ARG to be evaled later. MODEs argument may contain zero or more -# specifiers listed below separated by ',' character. This function returns two -# values: -# i) func_quote_arg_result -# double-quoted (when needed), suitable for a subsequent eval -# ii) func_quote_arg_unquoted_result -# has all characters that are still active within double -# quotes backslashified. Available only if 'unquoted' is specified. -# -# Available modes: -# ---------------- -# 'eval' (default) -# - escape shell special characters -# 'expand' -# - the same as 'eval'; but do not quote variable references -# 'pretty' -# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might -# be used later in func_quote to get output like: 'echo "a b"' instead -# of 'echo a\ b'. This is slower than default on some shells. -# 'unquoted' -# - produce also $func_quote_arg_unquoted_result which does not contain -# wrapping double-quotes. -# -# Examples for 'func_quote_arg pretty,unquoted string': -# -# string | *_result | *_unquoted_result -# ------------+-----------------------+------------------- -# " | \" | \" -# a b | "a b" | a b -# "a b" | "\"a b\"" | \"a b\" -# * | "*" | * -# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" -# -# Examples for 'func_quote_arg pretty,unquoted,expand string': -# -# string | *_result | *_unquoted_result -# --------------+---------------------+-------------------- -# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" -func_quote_arg () -{ - _G_quote_expand=false - case ,$1, in - *,expand,*) - _G_quote_expand=: - ;; - esac - - case ,$1, in - *,pretty,*|*,expand,*|*,unquoted,*) - func_quote_portable $_G_quote_expand "$2" - func_quote_arg_result=$func_quote_portable_result - func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result - ;; - *) - # Faster quote-for-eval for some shells. - func_quotefast_eval "$2" - func_quote_arg_result=$func_quotefast_eval_result - ;; - esac -} - - -# func_quote MODEs ARGs... -# ------------------------ -# Quote all ARGs to be evaled later and join them into single command. See -# func_quote_arg's description for more info. -func_quote () -{ - $debug_cmd - _G_func_quote_mode=$1 ; shift - func_quote_result= - while test 0 -lt $#; do - func_quote_arg "$_G_func_quote_mode" "$1" - if test -n "$func_quote_result"; then - func_append func_quote_result " $func_quote_arg_result" + if test -n "$func_quote_for_eval_result"; then + func_append func_quote_for_eval_result " $_G_quoted_arg" else - func_append func_quote_result "$func_quote_arg_result" + func_append func_quote_for_eval_result "$_G_quoted_arg" fi shift done } +# func_quote_for_expand ARG +# ------------------------- +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + $debug_cmd + + case $1 in + *[\\\`\"]*) + _G_arg=`$ECHO "$1" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; + *) + _G_arg=$1 ;; + esac + + case $_G_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_arg=\"$_G_arg\" + ;; + esac + + func_quote_for_expand_result=$_G_arg +} + + # func_stripname PREFIX SUFFIX NAME # --------------------------------- # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. @@ -1364,8 +1215,8 @@ func_show_eval () _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_arg pretty,expand "$_G_cmd" - eval "func_notquiet $func_quote_arg_result" + func_quote_for_expand "$_G_cmd" + eval "func_notquiet $func_quote_for_expand_result" $opt_dry_run || { eval "$_G_cmd" @@ -1390,8 +1241,8 @@ func_show_eval_locale () _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_arg expand,pretty "$_G_cmd" - eval "func_echo $func_quote_arg_result" + func_quote_for_expand "$_G_cmd" + eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || { @@ -1518,26 +1369,30 @@ func_lt_ver () # End: #! /bin/sh +# Set a version string for this script. +scriptversion=2015-10-07.11; # UTC + # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2010-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. +# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# Please report bugs or propose patches to: -# +# 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 +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. ## ------ ## @@ -1560,7 +1415,7 @@ scriptversion=2019-02-19.15; # UTC # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# Copyright'. +# starting with '# Written by ' and ending with '# warranty; '. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the @@ -1572,7 +1427,7 @@ scriptversion=2019-02-19.15; # UTC # to display verbose messages only when your user has specified # '--verbose'. # -# After sourcing this file, you can plug in processing for additional +# After sourcing this file, you can plug processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. @@ -1621,8 +1476,8 @@ fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## # This section contains functions for adding, removing, and running hooks -# in the main code. A hook is just a list of function names that can be -# run in order later on. +# to the main code. A hook is just a named list of of function, that can +# be run in order later on. # func_hookable FUNC_NAME # ----------------------- @@ -1655,8 +1510,7 @@ func_add_hook () # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ -# Remove HOOK_FUNC from the list of hook functions to be called by -# FUNC_NAME. +# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. func_remove_hook () { $debug_cmd @@ -1665,28 +1519,10 @@ func_remove_hook () } -# func_propagate_result FUNC_NAME_A FUNC_NAME_B -# --------------------------------------------- -# If the *_result variable of FUNC_NAME_A _is set_, assign its value to -# *_result variable of FUNC_NAME_B. -func_propagate_result () -{ - $debug_cmd - - func_propagate_result_result=: - if eval "test \"\${${1}_result+set}\" = set" - then - eval "${2}_result=\$${1}_result" - else - func_propagate_result_result=false - fi -} - - # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. -# It's assumed that the list of hook functions contains nothing more +# It is assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. @@ -1698,19 +1534,22 @@ func_run_hooks () case " $hookable_fns " in *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook functions." ;; + *) func_fatal_error "'$1' does not support hook funcions.n" ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - func_unset "${_G_hook}_result" - eval $_G_hook '${1+"$@"}' - func_propagate_result $_G_hook func_run_hooks - if $func_propagate_result_result; then - eval set dummy "$func_run_hooks_result"; shift + if eval $_G_hook '"$@"'; then + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + _G_rc_run_hooks=: fi done + + $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result } @@ -1720,16 +1559,14 @@ func_run_hooks () ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list from your hook function. You may remove -# or edit any options that you action, and then pass back the remaining -# unprocessed options in '_result', escaped -# suitably for 'eval'. -# -# The '_result' variable is automatically unset -# before your hook gets called; for best performance, only set the -# *_result variable when necessary (i.e. don't call the 'func_quote' -# function unnecessarily because it can be an expensive operation on some -# machines). +# full positional parameter list in your hook function, you may remove/edit +# any options that you action, and then pass back the remaining unprocessed +# options in '_result', escaped suitably for +# 'eval'. In this case you also must return $EXIT_SUCCESS to let the +# hook's caller know that it should pay attention to +# '_result'. Returning $EXIT_FAILURE signalizes that +# arguments are left untouched by the hook and therefore caller will ignore the +# result variable. # # Like this: # @@ -1741,8 +1578,11 @@ func_run_hooks () # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# # No change in '$@' (ignored completely by this hook). Leave -# # my_options_prep_result variable intact. +# # No change in '$@' (ignored completely by this hook). There is +# # no need to do the equivalent (but slower) action: +# # func_quote_for_eval ${1+"$@"} +# # my_options_prep_result=$func_quote_for_eval_result +# false # } # func_add_hook func_options_prep my_options_prep # @@ -1753,7 +1593,7 @@ func_run_hooks () # # args_changed=false # -# # Note that, for efficiency, we parse as many options as we can +# # Note that for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do @@ -1770,17 +1610,18 @@ func_run_hooks () # args_changed=: # ;; # *) # Make sure the first unrecognised option "$_G_opt" -# # is added back to "$@" in case we need it later, -# # if $args_changed was set to 'true'. +# # is added back to "$@", we could need that later +# # if $args_changed is true. # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # -# # Only call 'func_quote' here if we processed at least one argument. # if $args_changed; then -# func_quote eval ${1+"$@"} -# my_silent_option_result=$func_quote_result +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result # fi +# +# $args_changed # } # func_add_hook func_parse_options my_silent_option # @@ -1791,6 +1632,8 @@ func_run_hooks () # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." +# +# false # } # func_add_hook func_validate_options my_option_validation # @@ -1806,8 +1649,13 @@ func_options_finish () { $debug_cmd - func_run_hooks func_options ${1+"$@"} - func_propagate_result func_run_hooks func_options_finish + _G_func_options_finish_exit=false + if func_run_hooks func_options ${1+"$@"}; then + func_options_finish_result=$func_run_hooks_result + _G_func_options_finish_exit=: + fi + + $_G_func_options_finish_exit } @@ -1820,27 +1668,28 @@ func_options () { $debug_cmd - _G_options_quoted=false + _G_rc_options=false for my_func in options_prep parse_options validate_options options_finish do - func_unset func_${my_func}_result - func_unset func_run_hooks_result - eval func_$my_func '${1+"$@"}' - func_propagate_result func_$my_func func_options - if $func_propagate_result_result; then - eval set dummy "$func_options_result"; shift - _G_options_quoted=: + if eval func_$my_func '${1+"$@"}'; then + eval _G_res_var='$'"func_${my_func}_result" + eval set dummy "$_G_res_var" ; shift + _G_rc_options=: fi done - $_G_options_quoted || { - # As we (func_options) are top-level options-parser function and - # nobody quoted "$@" for us yet, we need to do it explicitly for - # caller. - func_quote eval ${1+"$@"} - func_options_result=$func_quote_result - } + # Save modified positional parameters for caller. As a top-level + # options-parser function we always need to set the 'func_options_result' + # variable (regardless the $_G_rc_options value). + if $_G_rc_options; then + func_options_result=$_G_res_var + else + func_quote_for_eval ${1+"$@"} + func_options_result=$func_quote_for_eval_result + fi + + $_G_rc_options } @@ -1850,7 +1699,8 @@ func_options () # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and # needs to propagate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before returning. +# modified list must be put in 'func_run_hooks_result' before +# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). func_hookable func_options_prep func_options_prep () { @@ -1860,8 +1710,14 @@ func_options_prep () opt_verbose=false opt_warning_types= - func_run_hooks func_options_prep ${1+"$@"} - func_propagate_result func_run_hooks func_options_prep + _G_rc_options_prep=false + if func_run_hooks func_options_prep ${1+"$@"}; then + _G_rc_options_prep=: + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result + fi + + $_G_rc_options_prep } @@ -1873,32 +1729,27 @@ func_parse_options () { $debug_cmd - _G_parse_options_requote=false + func_parse_options_result= + + _G_rc_parse_options=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - func_propagate_result func_run_hooks func_parse_options - if $func_propagate_result_result; then - eval set dummy "$func_parse_options_result"; shift - # Even though we may have changed "$@", we passed the "$@" array - # down into the hook and it quoted it for us (because we are in - # this if-branch). No need to quote it again. - _G_parse_options_requote=false + if func_run_hooks func_parse_options ${1+"$@"}; then + eval set dummy "$func_run_hooks_result"; shift + _G_rc_parse_options=: fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break - # We expect that one of the options parsed in this function matches - # and thus we remove _G_opt from "$@" and need to re-quote. _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" >&2 + func_echo "enabling shell trace mode" $debug_cmd ;; @@ -1909,7 +1760,7 @@ func_parse_options () --warnings|--warning|-W) if test $# = 0 && func_missing_arg $_G_opt; then - _G_parse_options_requote=: + _G_rc_parse_options=: break fi case " $warning_categories $1" in @@ -1964,7 +1815,7 @@ func_parse_options () shift ;; - --) _G_parse_options_requote=: ; break ;; + --) _G_rc_parse_options=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift _G_match_parse_options=false @@ -1972,16 +1823,17 @@ func_parse_options () ;; esac - if $_G_match_parse_options; then - _G_parse_options_requote=: - fi + $_G_match_parse_options && _G_rc_parse_options=: done - if $_G_parse_options_requote; then + + if $_G_rc_parse_options; then # save modified positional parameters for caller - func_quote eval ${1+"$@"} - func_parse_options_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result fi + + $_G_rc_parse_options } @@ -1994,14 +1846,21 @@ func_validate_options () { $debug_cmd + _G_rc_validate_options=false + # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - func_run_hooks func_validate_options ${1+"$@"} - func_propagate_result func_run_hooks func_validate_options + if func_run_hooks func_validate_options ${1+"$@"}; then + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result + _G_rc_validate_options=: + fi # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE + + $_G_rc_validate_options } @@ -2057,8 +1916,8 @@ func_missing_arg () # func_split_equals STRING # ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables -# after splitting STRING at the '=' sign. +# Set func_split_equals_lhs and func_split_equals_rhs shell variables after +# splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ @@ -2073,9 +1932,8 @@ then func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} - if test "x$func_split_equals_lhs" = "x$1"; then - func_split_equals_rhs= - fi + test "x$func_split_equals_lhs" = "x$1" \ + && func_split_equals_rhs= }' else # ...otherwise fall back to using expr, which is often a shell builtin. @@ -2085,7 +1943,7 @@ else func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= - test "x$func_split_equals_lhs=" = "x$1" \ + test "x$func_split_equals_lhs" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals @@ -2111,7 +1969,7 @@ else { $debug_cmd - func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` + func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt @@ -2153,44 +2011,31 @@ func_usage_message () # func_version # ------------ # Echo version message to standard output and exit. -# The version message is extracted from the calling file's header -# comments, with leading '# ' stripped: -# 1. First display the progname and version -# 2. Followed by the header comment line matching /^# Written by / -# 3. Then a blank line followed by the first following line matching -# /^# Copyright / -# 4. Immediately followed by any lines between the previous matches, -# except lines preceding the intervening completely blank line. -# For example, see the header comments of this file. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' - /^# Written by /!b - s|^# ||; p; n - - :fwd2blnk - /./ { - n - b fwd2blnk + /(C)/!b go + :more + /\./!{ + N + s|\n# | | + b more } - p; n - - :holdwrnt - s|^# || - s|^# *$|| - /^Copyright /!{ - /./H - n - b holdwrnt + :go + /^# Written by /,/# warranty; / { + s|^# || + s|^# *$|| + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + p } - - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - G - s|\(\n\)\n*|\1|g - p; q' < "$progpath" + /^# Written by / { + s|^# || + p + } + /^warranty; /q' < "$progpath" exit $? } @@ -2200,12 +2045,12 @@ func_version () # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. -scriptversion='(GNU libtool) 2.4.7' +scriptversion='(GNU libtool) 2.4.6' # func_echo ARG... @@ -2296,7 +2141,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.7-7 + version: $progname $scriptversion Debian-2.4.6-15build2 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2352,7 +2197,7 @@ fi # a configuration failure hint, and exit. func_fatal_configuration () { - func_fatal_error ${1+"$@"} \ + func__fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } @@ -2500,8 +2345,6 @@ libtool_options_prep () _G_rc_lt_options_prep=: - _G_rc_lt_options_prep=: - # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2532,9 +2375,11 @@ libtool_options_prep () if $_G_rc_lt_options_prep; then # Pass back the list of options. - func_quote eval ${1+"$@"} - libtool_options_prep_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result fi + + $_G_rc_lt_options_prep } func_add_hook func_options_prep libtool_options_prep @@ -2637,9 +2482,11 @@ libtool_parse_options () if $_G_rc_lt_parse_options; then # save modified positional parameters for caller - func_quote eval ${1+"$@"} - libtool_parse_options_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result fi + + $_G_rc_lt_parse_options } func_add_hook func_parse_options libtool_parse_options @@ -2696,8 +2543,8 @@ libtool_validate_options () } # Pass back the unparsed argument list - func_quote eval ${1+"$@"} - libtool_validate_options_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + libtool_validate_options_result=$func_quote_for_eval_result } func_add_hook func_validate_options libtool_validate_options @@ -3663,8 +3510,8 @@ func_mode_compile () esac done - func_quote_arg pretty "$libobj" - test "X$libobj" != "X$func_quote_arg_result" \ + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3737,8 +3584,8 @@ compiler." func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_arg pretty "$srcfile" - qsrcfile=$func_quote_arg_result + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -3893,8 +3740,7 @@ This mode accepts the following additional options: -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking - -Wc,FLAG - -Xcompiler FLAG pass FLAG directly to the compiler + -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. @@ -4000,8 +3846,6 @@ The following components of LINK-COMMAND are treated specially: -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wa,FLAG - -Xassembler FLAG pass linker-specific FLAG directly to the assembler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) @@ -4344,8 +4188,8 @@ func_mode_install () case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_arg pretty "$nonopt" - install_prog="$func_quote_arg_result " + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " arg=$1 shift else @@ -4355,8 +4199,8 @@ func_mode_install () # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_arg pretty "$arg" - func_append install_prog "$func_quote_arg_result" + func_quote_for_eval "$arg" + func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; @@ -4413,12 +4257,12 @@ func_mode_install () esac # Aesthetically quote the argument. - func_quote_arg pretty "$arg" - func_append install_prog " $func_quote_arg_result" + func_quote_for_eval "$arg" + func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then - func_quote_arg pretty "$arg2" + func_quote_for_eval "$arg2" fi - func_append install_shared_prog " $func_quote_arg_result" + func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ @@ -4429,8 +4273,8 @@ func_mode_install () if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_arg pretty "$install_override_mode" - func_append install_shared_prog " -m $func_quote_arg_result" + func_quote_for_eval "$install_override_mode" + func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi @@ -4726,8 +4570,8 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_arg expand,pretty "$relink_command" - eval "func_echo $func_quote_arg_result" + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else @@ -5506,8 +5350,7 @@ else if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - func_quote_arg pretty "$ECHO" - qECHO=$func_quote_arg_result + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5517,7 +5360,7 @@ func_fallback_echo () \$1 _LTECHO_EOF' } - ECHO=$qECHO + ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to @@ -6860,9 +6703,9 @@ func_mode_link () while test "$#" -gt 0; do arg=$1 shift - func_quote_arg pretty,unquoted "$arg" - qarg=$func_quote_arg_unquoted_result - func_append libtool_args " $func_quote_arg_result" + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -7098,13 +6941,6 @@ func_mode_link () prev= continue ;; - xassembler) - func_append compiler_flags " -Xassembler $qarg" - prev= - func_append compile_command " -Xassembler $qarg" - func_append finalize_command " -Xassembler $qarg" - continue - ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" @@ -7275,7 +7111,7 @@ func_mode_link () # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; @@ -7295,7 +7131,7 @@ func_mode_link () esac elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -7325,20 +7161,8 @@ func_mode_link () prev=xcompiler continue ;; - # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. - -pthread) - case $host in - *solaris2*) ;; - *) - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - ;; - esac - continue - ;; - -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" @@ -7479,9 +7303,9 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $func_quote_arg_result" - func_append compiler_flags " $func_quote_arg_result" + func_quote_for_eval "$flag" + func_append arg " $func_quote_for_eval_result" + func_append compiler_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7495,21 +7319,16 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $wl$func_quote_arg_result" - func_append compiler_flags " $wl$func_quote_arg_result" - func_append linker_flags " $func_quote_arg_result" + func_quote_for_eval "$flag" + func_append arg " $wl$func_quote_for_eval_result" + func_append compiler_flags " $wl$func_quote_for_eval_result" + func_append linker_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; - -Xassembler) - prev=xassembler - continue - ;; - -Xcompiler) prev=xcompiler continue @@ -7527,8 +7346,8 @@ func_mode_link () # -msg_* for osf cc -msg_*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result ;; # Flags to be passed through unchanged, with rationale: @@ -7551,13 +7370,12 @@ func_mode_link () # -fuse-ld=* Linker select flags for GCC # -static-* direct GCC to link specific libraries statically # -fcilkplus Cilk Plus language extension features for C/C++ - # -Wa,* Pass flags directly to the assembler -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus|-Wa,*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7578,15 +7396,15 @@ func_mode_link () continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result fi ;; # Some other compiler flag. -* | +*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result ;; *.$objext) @@ -7706,8 +7524,8 @@ func_mode_link () *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result ;; esac # arg @@ -8915,7 +8733,7 @@ func_mode_link () test CXX = "$tagname" && { case $host_os in linux*) - case `$CC -V 2>&1 | $SED 5q` in + case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi @@ -9088,7 +8906,7 @@ func_mode_link () # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) + darwin|freebsd-elf|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor @@ -9182,7 +9000,7 @@ func_mode_link () versuffix=.$current.$revision ;; - freebsd-elf | midnightbsd-elf) + freebsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision @@ -9408,7 +9226,7 @@ func_mode_link () *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) @@ -10219,8 +10037,8 @@ EOF for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10313,8 +10131,8 @@ EOF eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10788,13 +10606,12 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_arg pretty "$var_value" - relink_command="$var=$func_quote_arg_result; export $var; $relink_command" + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done - func_quote eval cd "`pwd`" - func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" - relink_command=$func_quote_arg_unquoted_result + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. @@ -11034,15 +10851,13 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_arg pretty,unquoted "$var_value" - relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. - func_quote eval cd "`pwd`" - relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - func_quote_arg pretty,unquoted "$relink_command" - relink_command=$func_quote_arg_unquoted_result + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test yes = "$hardcode_automatic"; then relink_command= fi diff --git a/m4/libtool.m4 b/m4/libtool.m4 index e7b68334..c4c02946 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -1,7 +1,6 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software -# Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -32,7 +31,7 @@ m4_define([_LT_COPYING], [dnl # along with this program. If not, see . ]) -# serial 59 LT_INIT +# serial 58 LT_INIT # LT_PREREQ(VERSION) @@ -182,7 +181,6 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_DECL_FILECMD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl @@ -221,8 +219,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC and -# ICC, which need '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -779,7 +777,7 @@ _LT_EOF # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - $SED '$q' "$ltmain" >> "$cfgfile" \ + sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -1043,8 +1041,8 @@ int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -1068,12 +1066,17 @@ _LT_EOF _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) - case $MACOSX_DEPLOYMENT_TARGET,$host in - 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - *) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[[012]][[,.]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*|11.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -1122,12 +1125,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else @@ -1241,8 +1244,7 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], -[m4_require([_LT_DECL_SED])dnl -AC_MSG_CHECKING([for sysroot]) +[AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot @@ -1259,7 +1261,7 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -1289,7 +1291,7 @@ ia64-*-hpux*) # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -1306,7 +1308,7 @@ ia64-*-hpux*) echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -1318,7 +1320,7 @@ ia64-*-hpux*) ;; esac else - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1340,7 +1342,7 @@ mips64*-*linux*) echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -1348,7 +1350,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -1356,7 +1358,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `$FILECMD conftest.$ac_objext` in + case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -1376,14 +1378,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `$FILECMD conftest.o` in + case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `$FILECMD conftest.o` in + case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -1451,7 +1453,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `$FILECMD conftest.o` in + case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -1490,22 +1492,9 @@ need_locks=$enable_libtool_lock m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} +: ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) - -# Use ARFLAGS variable as AR's operation code to sync the variable naming with -# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -# higher priority because thats what people were doing historically (setting -# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -# variable obsoleted/removed. - -test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} -lt_ar_flags=$AR_FLAGS -_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) - -# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -# by AR_FLAGS because that was never working and AR_FLAGS is about to die. -_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], - [Flags to create an archive]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no @@ -1724,7 +1713,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -1767,7 +1756,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -2217,35 +2206,26 @@ m4_defun([_LT_CMD_STRIPLIB], striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -z "$STRIP"; then - AC_MSG_RESULT([no]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) else - if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) - else - case $host_os in - darwin*) - # FIXME - insert some real tests, host_os isn't really good enough +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) - ;; - freebsd*) - if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) + else AC_MSG_RESULT([no]) - ;; - esac - fi + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) @@ -2568,7 +2548,7 @@ cygwin* | mingw* | pw32* | cegcc*) case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; @@ -2578,14 +2558,14 @@ m4_if([$1], [],[ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl* | *,icl*) - # Native MSVC or ICC + *,cl*) + # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -2604,7 +2584,7 @@ m4_if([$1], [],[ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -2641,7 +2621,7 @@ m4_if([$1], [],[ ;; *) - # Assume MSVC and ICC wrapper + # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -2674,7 +2654,7 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly* | midnightbsd*) +freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -3485,7 +3465,7 @@ beos*) bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -3519,14 +3499,14 @@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly* | midnightbsd*) +freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -3540,7 +3520,7 @@ haiku*) ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' @@ -3587,7 +3567,7 @@ netbsd* | netbsdelf*-gnu) newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -3714,13 +3694,13 @@ else mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -3746,7 +3726,7 @@ else # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -3986,7 +3966,7 @@ esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -4004,20 +3984,20 @@ fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -4041,7 +4021,7 @@ for ac_symprfx in "" "_"; do if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ @@ -4059,9 +4039,9 @@ for ac_symprfx in "" "_"; do " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else - lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -4349,7 +4329,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - freebsd* | dragonfly* | midnightbsd*) + freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -4432,7 +4412,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | $SED 5q` in + case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4774,7 +4754,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | $SED 5q` in + case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4957,7 +4937,7 @@ m4_if([$1], [CXX], [ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -4965,7 +4945,7 @@ m4_if([$1], [CXX], [ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl* | icl*) + cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -5025,15 +5005,15 @@ dnl Note also adjust exclude_expsyms for C++ above. case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. + # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -5088,7 +5068,7 @@ dnl Note also adjust exclude_expsyms for C++ above. _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -5200,7 +5180,6 @@ _LT_EOF emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' ;; interix[[3-9]]*) @@ -5215,7 +5194,7 @@ _LT_EOF # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -5258,7 +5237,7 @@ _LT_EOF _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac - case `$CC -V 2>&1 | $SED 5q` in + case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes @@ -5270,14 +5249,13 @@ _LT_EOF if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -5287,7 +5265,7 @@ _LT_EOF _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -5419,7 +5397,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -5602,12 +5580,12 @@ _LT_EOF cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. + # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl* | icl*) - # Native MSVC or ICC + cl*) + # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes @@ -5648,7 +5626,7 @@ _LT_EOF fi' ;; *) - # Assume MSVC and ICC wrapper + # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. @@ -5696,7 +5674,7 @@ _LT_EOF ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) + freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes @@ -5837,7 +5815,6 @@ _LT_EOF # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; esac ;; @@ -5909,7 +5886,6 @@ _LT_EOF emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' ;; osf3*) @@ -6680,8 +6656,8 @@ if test yes != "$_lt_caught_CXX_error"; then cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl* | ,icl* | no,icl*) - # Native MSVC or ICC + ,cl* | no,cl*) + # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -6779,7 +6755,6 @@ if test yes != "$_lt_caught_CXX_error"; then emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' ;; dgux*) @@ -6810,7 +6785,7 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | dragonfly* | midnightbsd*) + freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes @@ -6947,7 +6922,7 @@ if test yes != "$_lt_caught_CXX_error"; then # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in @@ -7087,13 +7062,13 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) - case `$CC -V 2>&1 | $SED 5q` in + case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' @@ -8239,14 +8214,6 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) -# _LT_DECL_FILECMD -# ---------------- -# Check for a file(cmd) program that can be used to detect file type and magic -m4_defun([_LT_DECL_FILECMD], -[AC_CHECK_TOOL([FILECMD], [file], [:]) -_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) -])# _LD_DECL_FILECMD - # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 index b0b5e9c2..94b08297 100644 --- a/m4/ltoptions.m4 +++ b/m4/ltoptions.m4 @@ -1,7 +1,7 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free -# Software Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software +# Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 index 902508bd..48bc9344 100644 --- a/m4/ltsugar.m4 +++ b/m4/ltsugar.m4 @@ -1,6 +1,6 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software +# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 index b155d0ac..fa04b52a 100644 --- a/m4/ltversion.m4 +++ b/m4/ltversion.m4 @@ -1,7 +1,6 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, -# Inc. +# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives @@ -10,15 +9,15 @@ # @configure_input@ -# serial 4245 ltversion.m4 +# serial 4179 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.7]) -m4_define([LT_PACKAGE_REVISION], [2.4.7]) +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.7' -macro_revision='2.4.7' +[macro_version='2.4.6' +macro_revision='2.4.6' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 index 0f7a8759..c6b26f88 100644 --- a/m4/lt~obsolete.m4 +++ b/m4/lt~obsolete.m4 @@ -1,7 +1,7 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free -# Software Foundation, Inc. +# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software +# Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives diff --git a/man/Makefile.am b/man/Makefile.am index 83b1d688..14055097 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -21,7 +21,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ @@ -90,7 +89,6 @@ man_XMANS = \ groupdel.8.xml \ groupmems.8.xml \ groupmod.8.xml \ - groups.1.xml \ grpck.8.xml \ gshadow.5.xml \ limits.5.xml \ @@ -200,8 +198,6 @@ EXTRA_DIST = \ $(man_XMANS) \ config.xml \ $(addprefix login.defs.d/,$(login_defs_v)) \ - man1/id.1 \ - id.1.xml \ man8/sulogin.8 \ sulogin.8.xml \ generate_mans.mak \ @@ -227,7 +223,7 @@ if ENABLE_REGENERATE_MAN include generate_mans.mak -CLEANFILES = $(man_MANS) man1/id.1 man8/sulogin.8 +CLEANFILES = $(man_MANS) man8/sulogin.8 else $(man_MANS): diff --git a/man/Makefile.in b/man/Makefile.in index 5eef178c..26d7767f 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -260,7 +260,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -414,14 +413,14 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ - man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ - man5/shadow.5 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ - man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ - $(am__append_2) $(am__append_3) $(am__append_4) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man8/grpconv.8 \ + man8/grpunconv.8 man5/gshadow.5 man1/login.1 man5/login.defs.5 \ + man8/logoutd.8 man1/newgrp.1 man8/newusers.8 man8/nologin.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ + man8/pwunconv.8 man1/sg.1 man3/shadow.3 man5/shadow.5 \ + man5/suauth.5 man8/useradd.8 man8/userdel.8 man8/usermod.8 \ + man8/vigr.8 man8/vipw.8 $(am__append_1) $(am__append_2) \ + $(am__append_3) $(am__append_4) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ @@ -437,14 +436,14 @@ man_subids = \ man_XMANS = chage.1.xml chfn.1.xml chgpasswd.8.xml chpasswd.8.xml \ chsh.1.xml expiry.1.xml faillog.5.xml faillog.8.xml \ getsubids.1.xml gpasswd.1.xml groupadd.8.xml groupdel.8.xml \ - groupmems.8.xml groupmod.8.xml groups.1.xml grpck.8.xml \ - gshadow.5.xml limits.5.xml login.1.xml login.access.5.xml \ - login.defs.5.xml logoutd.8.xml newgidmap.1.xml newgrp.1.xml \ - newuidmap.1.xml newusers.8.xml nologin.8.xml passwd.1.xml \ - passwd.5.xml porttime.5.xml pwck.8.xml pwconv.8.xml \ - shadow.3.xml shadow.5.xml sg.1.xml su.1.xml suauth.5.xml \ - subgid.5.xml subuid.5.xml useradd.8.xml userdel.8.xml \ - usermod.8.xml vipw.8.xml $(am__append_5) + groupmems.8.xml groupmod.8.xml grpck.8.xml gshadow.5.xml \ + limits.5.xml login.1.xml login.access.5.xml login.defs.5.xml \ + logoutd.8.xml newgidmap.1.xml newgrp.1.xml newuidmap.1.xml \ + newusers.8.xml nologin.8.xml passwd.1.xml passwd.5.xml \ + porttime.5.xml pwck.8.xml pwconv.8.xml shadow.3.xml \ + shadow.5.xml sg.1.xml su.1.xml suauth.5.xml subgid.5.xml \ + subuid.5.xml useradd.8.xml userdel.8.xml usermod.8.xml \ + vipw.8.xml $(am__append_5) login_defs_v = \ BCRYPT_MIN_ROUNDS.xml \ CHFN_AUTH.xml \ @@ -517,10 +516,9 @@ login_defs_v = \ YESCRYPT_COST_FACTOR.xml EXTRA_DIST = $(man_MANS) $(man_XMANS) config.xml $(addprefix \ - login.defs.d/,$(login_defs_v)) man1/id.1 id.1.xml \ - man8/sulogin.8 sulogin.8.xml generate_mans.mak \ - generate_translations.mak its.rules shadow-man.xsl \ - $(am__append_6) $(am__append_7) + login.defs.d/,$(login_defs_v)) man8/sulogin.8 sulogin.8.xml \ + generate_mans.mak generate_translations.mak its.rules \ + shadow-man.xsl $(am__append_6) $(am__append_7) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @@ -540,7 +538,7 @@ EXTRA_DIST = $(man_MANS) $(man_XMANS) config.xml $(addprefix \ @ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog @ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog @ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog -@ENABLE_REGENERATE_MAN_TRUE@CLEANFILES = $(man_MANS) man1/id.1 man8/sulogin.8 +@ENABLE_REGENERATE_MAN_TRUE@CLEANFILES = $(man_MANS) man8/sulogin.8 all: all-recursive .SUFFIXES: diff --git a/man/config.xml b/man/config.xml index 7990df20..8dc5a104 100644 --- a/man/config.xml +++ b/man/config.xml @@ -1,2 +1,2 @@ - + diff --git a/man/cs/Makefile.am b/man/cs/Makefile.am index 84407d71..45aec38f 100644 --- a/man/cs/Makefile.am +++ b/man/cs/Makefile.am @@ -9,7 +9,6 @@ man_MANS = \ man8/groupadd.8 \ man8/groupdel.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man5/gshadow.5 \ man8/nologin.8 \ @@ -23,7 +22,6 @@ man_MANS += man8/lastlog.8 endif EXTRA_DIST = $(man_MANS) \ - man1/id.1 \ man8/groupmems.8 \ man8/logoutd.8 diff --git a/man/cs/Makefile.in b/man/cs/Makefile.in index a04a706b..b853329e 100644 --- a/man/cs/Makefile.in +++ b/man/cs/Makefile.in @@ -193,7 +193,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -341,11 +340,10 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ man_MANS = man1/expiry.1 man5/faillog.5 man8/faillog.8 man1/gpasswd.1 \ - man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/groups.1 \ - man8/grpck.8 man5/gshadow.5 man8/nologin.8 man5/passwd.5 \ - man5/shadow.5 man1/su.1 man8/vipw.8 $(am__append_1) + man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man8/grpck.8 \ + man5/gshadow.5 man8/nologin.8 man5/passwd.5 man5/shadow.5 \ + man1/su.1 man8/vipw.8 $(am__append_1) EXTRA_DIST = $(man_MANS) \ - man1/id.1 \ man8/groupmems.8 \ man8/logoutd.8 diff --git a/man/cs/man1/groups.1 b/man/cs/man1/groups.1 deleted file mode 100644 index 6deab53f..00000000 --- a/man/cs/man1/groups.1 +++ /dev/null @@ -1,29 +0,0 @@ -.TH GROUPS 1 "GNU Shell Utilities" "FSF" \" \-*\- nroff \-*\- -.do hla cs -.do hpf hyphen.cs -.SH JMÉNO -groups \- vypíše skupiny, jichž je uživatel členem -.SH POUŽITÍ -\fBgroups\fR [\fIuživatel...\fR] -.SH POPIS -Tato dokumentace není dále udržována a může být nepřesná nebo neúplná. -Autoritativním zdrojem je Texinfo dokumentace. -.PP -Tato manuálová stránka popisuje GNU verzi příkazu -.BR groups . -Příkaz -.B groups -vypíše jména všech skupin, v nichž je zadaný \fIuživatel\fR nebo aktuální proces, -pokud uživatel není zadán, členem. Pokud jsou zadána jména uživatelů, potom bude -jméno každého z uživatelů vypsáno před seznam skupin, jichž je členem. -.PP -Seznam skupin je ekvivalentní s výstupem příkazu `id \-Gn'. -.SH VOLBY -Když je GNU příkaz \fBgroups\fR vyvolán právě s jedním parametrem, -jsou rozpoznávány následující volby: -.TP -.I "\-\-help" -Vypíše návod k použití na standardní výstup a bezchybně skončí. -.TP -.I "\-\-version" -Vypíše číslo verze na standardní výstup a bezchybně skončí. diff --git a/man/cs/man1/id.1 b/man/cs/man1/id.1 deleted file mode 100644 index 9eafaf1f..00000000 --- a/man/cs/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -.TH ID 1 "GNU Shell Utilities" "FSF" \" \-*\- nroff \-*\- -.do hla cs -.do hpf hyphen.cs -.SH JMÉNO -id \- vypíše reálný a efektivní UID a GID -.SH POUŽITÍ -.B id -[\-gnruG] [\-\-group] [\-\-name] [\-\-real] [\-\-user] [\-\-groups] -[\-\-help] [\-\-version] [uživatel] -.SH POPIS -Tato dokumentace není dále udržována a může být nepřesná nebo neúplná. -Autoritativním zdrojem je Texinfo dokumentace. -.PP -Tato manuálová stránka popisuje GNU verzi příkazu -.BR id . -Příkaz -.B id -vypíše informace o zadaném uživateli nebo (pokud není jméno uživatele -zadáno) o uživateli, který program -.B id -spustil. Implicitně vypisuje reálné user ID, reálné group ID, -efektivní user ID, pokud se liší od reálného user ID, efektivní -group ID, pokud se liší od reálného group ID, a group ID skupin, -v nichž je uživatel členem. Před každou z hodnot je vypsán řetězec -určující o jakou hodnotu se jedná a za každou jsou odpovídající -jména skupin a uživatelů v závorkách. -.PP -Volby způsobí, že program -.B id -vypisuje pouze některé z těchto informací. -.SS VOLBY -.TP -.I "\-g, \-\-group" -Vypíše pouze group ID. -.TP -.I "\-G, \-\-groups" -Vypíše pouze skupiny, v nichž je uživatel členem. -.TP -.I "\-\-help" -Vypíše návod k použití na standardní výstup a bezchybně skončí. -.TP -.I "\-n, \-\-name" -Vypíše jméno uživatele nebo skupiny místo čísla ID. -Vyžaduje -.IR \-u , -.IR \-g , -nebo -.IR \-G . -.TP -.I "\-r, \-\-real" -Vypíše reálné místo efektivních user a group ID. -Vyžaduje -.IR \-u , -.IR \-g , -nebo -.IR \-G . -.TP -.I "\-u, \-\-user" -Vypíše pouze user ID. -.TP -.I "\-\-version" -Vypíše číslo verze na standardní výstup a bezchybně skončí. diff --git a/man/da/Makefile.am b/man/da/Makefile.am index a3b09224..c61b787d 100644 --- a/man/da/Makefile.am +++ b/man/da/Makefile.am @@ -5,7 +5,6 @@ mandir = @mandir@/da man_MANS = \ man1/chfn.1 \ man8/groupdel.8 \ - man1/groups.1 \ man5/gshadow.5 \ man8/logoutd.8 \ man1/newgrp.1 \ @@ -21,8 +20,7 @@ man_MANS += $(man_nopam) endif EXTRA_DIST = \ - $(man_MANS) \ - man1/id.1 + $(man_MANS) if USE_PAM EXTRA_DIST += $(man_nopam) diff --git a/man/da/Makefile.in b/man/da/Makefile.in index c192e7ac..8863d620 100644 --- a/man/da/Makefile.in +++ b/man/da/Makefile.in @@ -195,7 +195,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -344,11 +343,11 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # 2012.01.28 - activate manpages with more than 50% translated messages -man_MANS = man1/chfn.1 man8/groupdel.8 man1/groups.1 man5/gshadow.5 \ - man8/logoutd.8 man1/newgrp.1 man8/nologin.8 man1/sg.1 \ - man8/vigr.8 man8/vipw.8 $(am__append_1) +man_MANS = man1/chfn.1 man8/groupdel.8 man5/gshadow.5 man8/logoutd.8 \ + man1/newgrp.1 man8/nologin.8 man1/sg.1 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) man_nopam = -EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_2) +EXTRA_DIST = $(man_MANS) $(am__append_2) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir diff --git a/man/da/man1/chfn.1 b/man/da/man1/chfn.1 index 2209f1ce..e9447b20 100644 --- a/man/da/man1/chfn.1 +++ b/man/da/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Danish .\" -.TH "CHFN" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHFN" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man1/groups.1 b/man/da/man1/groups.1 deleted file mode 100644 index 19dac425..00000000 --- a/man/da/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Danish -.\" -.TH "GROUPS" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -groups \- vis aktuelle gruppenavne -.SH "SYNOPSIS" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "BESKRIVELSE" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "NOTE" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "FILER" -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/da/man1/id.1 b/man/da/man1/id.1 deleted file mode 100644 index f1753a7f..00000000 --- a/man/da/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Danish -.\" -.TH "ID" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -id \- display current user and group ID names -.SH "SYNOPSIS" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "BESKRIVELSE" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "FILER" -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.PP -/etc/passwd -.RS 4 -Information om brugerkonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/da/man1/newgrp.1 b/man/da/man1/newgrp.1 index 4e4466b0..9cfb88af 100644 --- a/man/da/man1/newgrp.1 +++ b/man/da/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Danish .\" -.TH "NEWGRP" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGRP" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man1/sg.1 b/man/da/man1/sg.1 index 111a317e..60950a7c 100644 --- a/man/da/man1/sg.1 +++ b/man/da/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Danish .\" -.TH "SG" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SG" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man5/gshadow.5 b/man/da/man5/gshadow.5 index 97dc56f8..1c5a45f8 100644 --- a/man/da/man5/gshadow.5 +++ b/man/da/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Danish .\" -.TH "GSHADOW" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "GSHADOW" "5" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains the following colon\-separated fields: .PP \fBgroup name\fR .RS 4 -Det skal v\(aere et gyldigt gruppenavn, som findes p\(oa systemet\&. +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/da/man8/groupdel.8 b/man/da/man8/groupdel.8 index 7e866299..6ad24422 100644 --- a/man/da/man8/groupdel.8 +++ b/man/da/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Danish .\" -.TH "GROUPDEL" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPDEL" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/logoutd.8 b/man/da/man8/logoutd.8 index 6ccf38f6..35a74c40 100644 --- a/man/da/man8/logoutd.8 +++ b/man/da/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Danish .\" -.TH "LOGOUTD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LOGOUTD" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/nologin.8 b/man/da/man8/nologin.8 index 18117c16..6e42b866 100644 --- a/man/da/man8/nologin.8 +++ b/man/da/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Danish .\" -.TH "NOLOGIN" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NOLOGIN" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/vipw.8 b/man/da/man8/vipw.8 index f0629241..bdd91af6 100644 --- a/man/da/man8/vipw.8 +++ b/man/da/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Danish .\" -.TH "VIPW" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "VIPW" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/Makefile.am b/man/de/Makefile.am index 671432d3..d3a6d6c1 100644 --- a/man/de/Makefile.am +++ b/man/de/Makefile.am @@ -16,7 +16,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ @@ -58,7 +57,6 @@ endif EXTRA_DIST = \ $(man_MANS) \ - man1/id.1 \ man8/sulogin.8 if USE_PAM diff --git a/man/de/Makefile.in b/man/de/Makefile.in index 3c64eb6e..af294cc2 100644 --- a/man/de/Makefile.in +++ b/man/de/Makefile.in @@ -197,7 +197,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -347,20 +346,20 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ - man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ - man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ - man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ - $(am__append_1) $(am__append_2) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man8/grpconv.8 \ + man8/grpunconv.8 man5/gshadow.5 man1/login.1 man5/login.defs.5 \ + man8/logoutd.8 man1/newgrp.1 man8/newusers.8 man8/nologin.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ + man8/pwunconv.8 man1/sg.1 man3/shadow.3 man5/shadow.5 \ + man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ + man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ + $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) +EXTRA_DIST = $(man_MANS) man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir diff --git a/man/de/man1/chage.1 b/man/de/man1/chage.1 index f285618d..67c59886 100644 --- a/man/de/man1/chage.1 +++ b/man/de/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "CHAGE" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHAGE" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/chfn.1 b/man/de/man1/chfn.1 index a5e18803..3e0d5173 100644 --- a/man/de/man1/chfn.1 +++ b/man/de/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "CHFN" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHFN" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/chsh.1 b/man/de/man1/chsh.1 index 4ce25251..d691bdb4 100644 --- a/man/de/man1/chsh.1 +++ b/man/de/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "CHSH" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHSH" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/expiry.1 b/man/de/man1/expiry.1 index 1081318c..6a078a7b 100644 --- a/man/de/man1/expiry.1 +++ b/man/de/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "EXPIRY" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "EXPIRY" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/gpasswd.1 b/man/de/man1/gpasswd.1 index ac45acc2..e0094aac 100644 --- a/man/de/man1/gpasswd.1 +++ b/man/de/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "GPASSWD" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "GPASSWD" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/groups.1 b/man/de/man1/groups.1 deleted file mode 100644 index af712c24..00000000 --- a/man/de/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: German -.\" -.TH "GROUPS" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groups \- gibt die aktuellen Gruppenzugeh\(:origkeiten des Benutzers aus -.SH "\(:UBERSICHT" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "BESCHREIBUNG" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "ANMERKUNGEN" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/de/man1/id.1 b/man/de/man1/id.1 deleted file mode 100644 index fa7f3bfc..00000000 --- a/man/de/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: German -.\" -.TH "ID" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -id \- display current user and group ID names -.SH "\(:UBERSICHT" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "BESCHREIBUNG" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/de/man1/login.1 b/man/de/man1/login.1 index 284677cd..f9be4224 100644 --- a/man/de/man1/login.1 +++ b/man/de/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "LOGIN" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "LOGIN" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -115,13 +115,6 @@ Name des fernen Rechners f\(:ur diese Anmeldung\&. beh\(:alt die Umgebung bei\&. .RE .PP -\fB\-r\fR -.RS 4 -f\(:uhrt das Autologin\-Protokoll f\(:ur -\fBrlogin\fR -aus\&. -.RE -.PP The \fB\-r\fR, \fB\-h\fR diff --git a/man/de/man1/newgrp.1 b/man/de/man1/newgrp.1 index 25948aa5..247ab47d 100644 --- a/man/de/man1/newgrp.1 +++ b/man/de/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "NEWGRP" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGRP" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/passwd.1 b/man/de/man1/passwd.1 index 35fe9ac3..efcae852 100644 --- a/man/de/man1/passwd.1 +++ b/man/de/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "PASSWD" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "PASSWD" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,7 +110,7 @@ sperrt das Passwort des bezeichneten Kontos\&. Die Option schaltet ein Passwort .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. .sp Benutzer mit einem gesperrten Passwort k\(:onnen dieses nicht \(:andern\&. .RE diff --git a/man/de/man1/sg.1 b/man/de/man1/sg.1 index 49b9cc15..4899931b 100644 --- a/man/de/man1/sg.1 +++ b/man/de/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "SG" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SG" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/su.1 b/man/de/man1/su.1 index 3921b5a7..471f9afa 100644 --- a/man/de/man1/su.1 +++ b/man/de/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "SU" "1" "28.06.2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SU" "1" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man3/shadow.3 b/man/de/man3/shadow.3 index 77d34de9..f0f307d6 100644 --- a/man/de/man3/shadow.3 +++ b/man/de/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "SHADOW" "3" "28.06.2024" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "SHADOW" "3" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/faillog.5 b/man/de/man5/faillog.5 index e89654e2..9d2470db 100644 --- a/man/de/man5/faillog.5 +++ b/man/de/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "FAILLOG" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "FAILLOG" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/gshadow.5 b/man/de/man5/gshadow.5 index 05b000ac..69a324cf 100644 --- a/man/de/man5/gshadow.5 +++ b/man/de/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "GSHADOW" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "GSHADOW" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Jede Zeile dieser Datei setzt sich aus folgenden, durch Doppelpunkt getrennte Fe .PP \fBgroup name\fR .RS 4 -Es muss sich um einen g\(:ultigen, auf dem System vorhandenen Gruppennamen handeln\&. +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/de/man5/limits.5 b/man/de/man5/limits.5 index 8e3a1b96..3daa0f06 100644 --- a/man/de/man5/limits.5 +++ b/man/de/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "LIMITS" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LIMITS" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/login.access.5 b/man/de/man5/login.access.5 index d9243cc1..c642f1b4 100644 --- a/man/de/man5/login.access.5 +++ b/man/de/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "LOGIN\&.ACCESS" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/login.defs.5 b/man/de/man5/login.defs.5 index a499578f..fb6339f6 100644 --- a/man/de/man5/login.defs.5 +++ b/man/de/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "LOGIN\&.DEFS" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/passwd.5 b/man/de/man5/passwd.5 index adbbd5e1..696d73d4 100644 --- a/man/de/man5/passwd.5 +++ b/man/de/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "PASSWD" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PASSWD" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/porttime.5 b/man/de/man5/porttime.5 index 7bb7dcf5..366708e9 100644 --- a/man/de/man5/porttime.5 +++ b/man/de/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "PORTTIME" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PORTTIME" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man5/shadow.5 b/man/de/man5/shadow.5 index b88aa1b8..d6f4541d 100644 --- a/man/de/man5/shadow.5 +++ b/man/de/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "SHADOW" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SHADOW" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains 9 fields, separated by colons (\(Bq:\(lq), in th .PP \fBlogin name\fR .RS 4 -Dabei muss es sich um einen g\(:ultigen Kontonamen handeln, der auf dem System existiert\&. +It must be a valid account name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/de/man5/suauth.5 b/man/de/man5/suauth.5 index 813b8233..18b9676f 100644 --- a/man/de/man5/suauth.5 +++ b/man/de/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "SUAUTH" "5" "28.06.2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUAUTH" "5" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/chgpasswd.8 b/man/de/man8/chgpasswd.8 index ff84f0e6..03ae5c47 100644 --- a/man/de/man8/chgpasswd.8 +++ b/man/de/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "CHGPASSWD" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHGPASSWD" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/chpasswd.8 b/man/de/man8/chpasswd.8 index 08ec7ebb..89ea64b0 100644 --- a/man/de/man8/chpasswd.8 +++ b/man/de/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "CHPASSWD" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHPASSWD" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/faillog.8 b/man/de/man8/faillog.8 index 7e1ea4cc..be8b18a1 100644 --- a/man/de/man8/faillog.8 +++ b/man/de/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "FAILLOG" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "FAILLOG" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/groupadd.8 b/man/de/man8/groupadd.8 index 73920d77..9396e3cb 100644 --- a/man/de/man8/groupadd.8 +++ b/man/de/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "GROUPADD" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPADD" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/de/man8/groupdel.8 b/man/de/man8/groupdel.8 index f2306ed2..1b23a157 100644 --- a/man/de/man8/groupdel.8 +++ b/man/de/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "GROUPDEL" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPDEL" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/groupmems.8 b/man/de/man8/groupmems.8 index 0237a2b6..291110ee 100644 --- a/man/de/man8/groupmems.8 +++ b/man/de/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "GROUPMEMS" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMEMS" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/groupmod.8 b/man/de/man8/groupmod.8 index d67b1dab..c50286a3 100644 --- a/man/de/man8/groupmod.8 +++ b/man/de/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "GROUPMOD" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMOD" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 If group members are specified with \-U, append them to the existing member list, rather than replacing it\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/de/man8/grpck.8 b/man/de/man8/grpck.8 index ac5de136..ad3cc90a 100644 --- a/man/de/man8/grpck.8 +++ b/man/de/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "GRPCK" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GRPCK" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/lastlog.8 b/man/de/man8/lastlog.8 index a7126bb0..e5be3179 100644 --- a/man/de/man8/lastlog.8 +++ b/man/de/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "LASTLOG" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LASTLOG" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/logoutd.8 b/man/de/man8/logoutd.8 index 109b4ff3..6b58d2f5 100644 --- a/man/de/man8/logoutd.8 +++ b/man/de/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "LOGOUTD" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LOGOUTD" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/newusers.8 b/man/de/man8/newusers.8 index 13dfb9de..80c587bd 100644 --- a/man/de/man8/newusers.8 +++ b/man/de/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "NEWUSERS" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NEWUSERS" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/nologin.8 b/man/de/man8/nologin.8 index f9d5acc7..30c22765 100644 --- a/man/de/man8/nologin.8 +++ b/man/de/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "NOLOGIN" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NOLOGIN" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/pwck.8 b/man/de/man8/pwck.8 index 663c23ba..508c3f0a 100644 --- a/man/de/man8/pwck.8 +++ b/man/de/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "PWCK" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCK" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/pwconv.8 b/man/de/man8/pwconv.8 index c4cb1e89..ed3cf954 100644 --- a/man/de/man8/pwconv.8 +++ b/man/de/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "PWCONV" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCONV" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/sulogin.8 b/man/de/man8/sulogin.8 index b4166701..33e3f129 100644 --- a/man/de/man8/sulogin.8 +++ b/man/de/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "SULOGIN" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "SULOGIN" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/useradd.8 b/man/de/man8/useradd.8 index 01d554a1..b7489107 100644 --- a/man/de/man8/useradd.8 +++ b/man/de/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "USERADD" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERADD" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/userdel.8 b/man/de/man8/userdel.8 index fd164655..b46e9cff 100644 --- a/man/de/man8/userdel.8 +++ b/man/de/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "USERDEL" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERDEL" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/de/man8/usermod.8 b/man/de/man8/usermod.8 index 49a21055..3b431928 100644 --- a/man/de/man8/usermod.8 +++ b/man/de/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "USERMOD" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERMOD" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/vipw.8 b/man/de/man8/vipw.8 index c23ea043..375d7154 100644 --- a/man/de/man8/vipw.8 +++ b/man/de/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28.06.2024 +.\" Date: 05.12.2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: German .\" -.TH "VIPW" "8" "28.06.2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "VIPW" "8" "05.12.2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/es/Makefile.in b/man/es/Makefile.in index 2c658c79..19daaecd 100644 --- a/man/es/Makefile.in +++ b/man/es/Makefile.in @@ -158,7 +158,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/man/fi/Makefile.in b/man/fi/Makefile.in index 468fe98e..c62e9080 100644 --- a/man/fi/Makefile.in +++ b/man/fi/Makefile.in @@ -189,7 +189,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/man/fr/Makefile.am b/man/fr/Makefile.am index 335e0298..2365e23b 100644 --- a/man/fr/Makefile.am +++ b/man/fr/Makefile.am @@ -16,7 +16,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ @@ -68,7 +67,6 @@ endif EXTRA_DIST = \ $(man_MANS) \ - man1/id.1 \ man8/sulogin.8 if USE_PAM diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in index daf92b5f..968e0145 100644 --- a/man/fr/Makefile.in +++ b/man/fr/Makefile.in @@ -199,7 +199,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -349,14 +348,14 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ - man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ - man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ - man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ - $(am__append_1) $(am__append_2) $(am__append_3) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man8/grpconv.8 \ + man8/grpunconv.8 man5/gshadow.5 man1/login.1 man5/login.defs.5 \ + man8/logoutd.8 man1/newgrp.1 man8/newusers.8 man8/nologin.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ + man8/pwunconv.8 man1/sg.1 man3/shadow.3 man5/shadow.5 \ + man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ + man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ + $(am__append_2) $(am__append_3) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ @@ -368,7 +367,7 @@ man_subids = \ man5/subgid.5 \ man5/subuid.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_4) \ +EXTRA_DIST = $(man_MANS) man8/sulogin.8 $(am__append_4) \ $(am__append_5) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir diff --git a/man/fr/man1/chage.1 b/man/fr/man1/chage.1 index fdfb42ed..3c2d2b0b 100644 --- a/man/fr/man1/chage.1 +++ b/man/fr/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "CHAGE" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHAGE" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/chfn.1 b/man/fr/man1/chfn.1 index 343574ee..3b515ba8 100644 --- a/man/fr/man1/chfn.1 +++ b/man/fr/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "CHFN" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHFN" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/chsh.1 b/man/fr/man1/chsh.1 index 78241eb8..4dfec869 100644 --- a/man/fr/man1/chsh.1 +++ b/man/fr/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "CHSH" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHSH" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/expiry.1 b/man/fr/man1/expiry.1 index b50ed71c..4362ee5c 100644 --- a/man/fr/man1/expiry.1 +++ b/man/fr/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "EXPIRY" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "EXPIRY" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/gpasswd.1 b/man/fr/man1/gpasswd.1 index 5bf6d4c6..83090bcf 100644 --- a/man/fr/man1/gpasswd.1 +++ b/man/fr/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "GPASSWD" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "GPASSWD" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/groups.1 b/man/fr/man1/groups.1 deleted file mode 100644 index 71290467..00000000 --- a/man/fr/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: French -.\" -.TH "GROUPS" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -groups \- Afficher la liste des groupes auxquels appartient l\*(Aqutilisateur -.SH "SYNOPSIS" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "DESCRIPTION" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "NOTE" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/fr/man1/id.1 b/man/fr/man1/id.1 deleted file mode 100644 index 87b218f8..00000000 --- a/man/fr/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: French -.\" -.TH "ID" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -id \- display current user and group ID names -.SH "SYNOPSIS" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "DESCRIPTION" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/fr/man1/login.1 b/man/fr/man1/login.1 index dbbe6e0c..12df15c7 100644 --- a/man/fr/man1/login.1 +++ b/man/fr/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "LOGIN" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "LOGIN" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -115,11 +115,6 @@ Nom de l\*(Aqh\(^ote distant pour cette connexion\&. Pr\('eserver l\*(Aqenvironnement\&. .RE .PP -\fB\-r\fR -.RS 4 -Ex\('ecuter le protocole de connexion automatique (autologin) pour rlogin\&. -.RE -.PP The \fB\-r\fR, \fB\-h\fR diff --git a/man/fr/man1/newgidmap.1 b/man/fr/man1/newgidmap.1 index e6bef385..8678f41b 100644 --- a/man/fr/man1/newgidmap.1 +++ b/man/fr/man1/newgidmap.1 @@ -2,12 +2,12 @@ .\" Title: newgidmap .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "NEWGIDMAP" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGIDMAP" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/newgrp.1 b/man/fr/man1/newgrp.1 index e81f7bf6..eb9b1b55 100644 --- a/man/fr/man1/newgrp.1 +++ b/man/fr/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "NEWGRP" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGRP" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/newuidmap.1 b/man/fr/man1/newuidmap.1 index 8067253a..92f6b7f4 100644 --- a/man/fr/man1/newuidmap.1 +++ b/man/fr/man1/newuidmap.1 @@ -2,12 +2,12 @@ .\" Title: newuidmap .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "NEWUIDMAP" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWUIDMAP" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/passwd.1 b/man/fr/man1/passwd.1 index 1814dd3e..a55095f3 100644 --- a/man/fr/man1/passwd.1 +++ b/man/fr/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "PASSWD" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "PASSWD" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,7 +110,7 @@ Verrouiller le mot de passe du compte indiqu\('e\&. Cette option d\('esactive un .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. .sp Les utilisateurs avec un mot de passe verrouill\('e ne sont pas autoris\('es \(`a le changer\&. .RE diff --git a/man/fr/man1/sg.1 b/man/fr/man1/sg.1 index fbf59186..04f1c423 100644 --- a/man/fr/man1/sg.1 +++ b/man/fr/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "SG" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SG" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/su.1 b/man/fr/man1/su.1 index 8b79f892..66861d52 100644 --- a/man/fr/man1/su.1 +++ b/man/fr/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "SU" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SU" "1" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man3/shadow.3 b/man/fr/man3/shadow.3 index 786d1c4f..1e8fa855 100644 --- a/man/fr/man3/shadow.3 +++ b/man/fr/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "SHADOW" "3" "28/06/2024" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "SHADOW" "3" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/faillog.5 b/man/fr/man5/faillog.5 index 3aad73f2..5a904957 100644 --- a/man/fr/man5/faillog.5 +++ b/man/fr/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "FAILLOG" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "FAILLOG" "5" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/gshadow.5 b/man/fr/man5/gshadow.5 index 88febcac..dafe387b 100644 --- a/man/fr/man5/gshadow.5 +++ b/man/fr/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "GSHADOW" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "GSHADOW" "5" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Chaque ligne de ce fichier contient les champs suivants, s\('epar\('es par des d .PP \fBgroup name\fR .RS 4 -Ce doit \(^etre un nom de groupe valable, qui existe sur le syst\(`eme\&. +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/fr/man5/limits.5 b/man/fr/man5/limits.5 index f005fbc6..d1ee2db1 100644 --- a/man/fr/man5/limits.5 +++ b/man/fr/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "LIMITS" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LIMITS" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/login.access.5 b/man/fr/man5/login.access.5 index 72f1f3fe..169e7efd 100644 --- a/man/fr/man5/login.access.5 +++ b/man/fr/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "LOGIN\&.ACCESS" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/login.defs.5 b/man/fr/man5/login.defs.5 index 018645f4..bad0dba9 100644 --- a/man/fr/man5/login.defs.5 +++ b/man/fr/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "LOGIN\&.DEFS" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/passwd.5 b/man/fr/man5/passwd.5 index 6ec778e4..97f4c667 100644 --- a/man/fr/man5/passwd.5 +++ b/man/fr/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "PASSWD" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PASSWD" "5" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/porttime.5 b/man/fr/man5/porttime.5 index a8aa5e64..41a1138b 100644 --- a/man/fr/man5/porttime.5 +++ b/man/fr/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "PORTTIME" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PORTTIME" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/shadow.5 b/man/fr/man5/shadow.5 index af570877..d442675e 100644 --- a/man/fr/man5/shadow.5 +++ b/man/fr/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "SHADOW" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SHADOW" "5" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains 9 fields, separated by colons (\(Fo\ \&:\ \&\(Fc .PP \fBlogin name\fR .RS 4 -Ce doit \(^etre un nom de compte valable, qui existe sur le syst\(`eme\&. +It must be a valid account name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/fr/man5/suauth.5 b/man/fr/man5/suauth.5 index 6584a936..8b412d12 100644 --- a/man/fr/man5/suauth.5 +++ b/man/fr/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "SUAUTH" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUAUTH" "5" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/subgid.5 b/man/fr/man5/subgid.5 index 09099433..0d6752d3 100644 --- a/man/fr/man5/subgid.5 +++ b/man/fr/man5/subgid.5 @@ -2,12 +2,12 @@ .\" Title: subgid .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "SUBGID" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUBGID" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,9 @@ configures the delegation of gids to \fIfiles\fR\&. .PP Note, that -\fBgroupadd\fR +\fBnewusers\fR, +\fBuseradd\fR, and +\fBusermod\fR will only create entries in /etc/subgid if subid delegation is managed via subid files\&. diff --git a/man/fr/man5/subuid.5 b/man/fr/man5/subuid.5 index 42b830e9..1a8c1918 100644 --- a/man/fr/man5/subuid.5 +++ b/man/fr/man5/subuid.5 @@ -2,12 +2,12 @@ .\" Title: subuid .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "SUBUID" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUBUID" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,9 @@ configures the delegation of uids to \fIfiles\fR\&. .PP Note, that -\fBuseradd\fR +\fBnewusers\fR, +\fBuseradd\fR, and +\fBusermod\fR will only create entries in /etc/subuid if subid delegation is managed via subid files\&. diff --git a/man/fr/man8/chgpasswd.8 b/man/fr/man8/chgpasswd.8 index c60c5b6b..672bedfb 100644 --- a/man/fr/man8/chgpasswd.8 +++ b/man/fr/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "CHGPASSWD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHGPASSWD" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/chpasswd.8 b/man/fr/man8/chpasswd.8 index 233bac47..1b542a1a 100644 --- a/man/fr/man8/chpasswd.8 +++ b/man/fr/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "CHPASSWD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHPASSWD" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/faillog.8 b/man/fr/man8/faillog.8 index 62d597c2..21552f8d 100644 --- a/man/fr/man8/faillog.8 +++ b/man/fr/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "FAILLOG" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "FAILLOG" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupadd.8 b/man/fr/man8/groupadd.8 index b9bcbd47..d1e78385 100644 --- a/man/fr/man8/groupadd.8 +++ b/man/fr/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "GROUPADD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPADD" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/fr/man8/groupdel.8 b/man/fr/man8/groupdel.8 index 15d6a3e0..549cf264 100644 --- a/man/fr/man8/groupdel.8 +++ b/man/fr/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "GROUPDEL" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPDEL" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupmems.8 b/man/fr/man8/groupmems.8 index 38fe4918..ecee230e 100644 --- a/man/fr/man8/groupmems.8 +++ b/man/fr/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "GROUPMEMS" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMEMS" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupmod.8 b/man/fr/man8/groupmod.8 index 63d40bf2..71d6aa45 100644 --- a/man/fr/man8/groupmod.8 +++ b/man/fr/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "GROUPMOD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMOD" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 If group members are specified with \-U, append them to the existing member list, rather than replacing it\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/fr/man8/grpck.8 b/man/fr/man8/grpck.8 index e75fbd7a..104f968e 100644 --- a/man/fr/man8/grpck.8 +++ b/man/fr/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "GRPCK" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GRPCK" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/lastlog.8 b/man/fr/man8/lastlog.8 index ef630c14..3c9f74e8 100644 --- a/man/fr/man8/lastlog.8 +++ b/man/fr/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "LASTLOG" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LASTLOG" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/logoutd.8 b/man/fr/man8/logoutd.8 index a2c0e095..9ffb22df 100644 --- a/man/fr/man8/logoutd.8 +++ b/man/fr/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "LOGOUTD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LOGOUTD" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/newusers.8 b/man/fr/man8/newusers.8 index 8ca47072..c8e4ccf7 100644 --- a/man/fr/man8/newusers.8 +++ b/man/fr/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "NEWUSERS" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NEWUSERS" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/nologin.8 b/man/fr/man8/nologin.8 index 3af2a609..85af12c0 100644 --- a/man/fr/man8/nologin.8 +++ b/man/fr/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "NOLOGIN" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NOLOGIN" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/pwck.8 b/man/fr/man8/pwck.8 index 1759b102..64d03b4e 100644 --- a/man/fr/man8/pwck.8 +++ b/man/fr/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "PWCK" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCK" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/pwconv.8 b/man/fr/man8/pwconv.8 index 39beadb7..160307e7 100644 --- a/man/fr/man8/pwconv.8 +++ b/man/fr/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "PWCONV" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCONV" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/sulogin.8 b/man/fr/man8/sulogin.8 index 55e2a6b4..b2418998 100644 --- a/man/fr/man8/sulogin.8 +++ b/man/fr/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "SULOGIN" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "SULOGIN" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/useradd.8 b/man/fr/man8/useradd.8 index 003253d6..e68eec66 100644 --- a/man/fr/man8/useradd.8 +++ b/man/fr/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "USERADD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERADD" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/userdel.8 b/man/fr/man8/userdel.8 index 85460add..aebe576a 100644 --- a/man/fr/man8/userdel.8 +++ b/man/fr/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "USERDEL" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERDEL" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/fr/man8/usermod.8 b/man/fr/man8/usermod.8 index dde990f9..5e8831ba 100644 --- a/man/fr/man8/usermod.8 +++ b/man/fr/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 05/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "USERMOD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERMOD" "8" "05/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/vipw.8 b/man/fr/man8/vipw.8 index da48bf11..817761b0 100644 --- a/man/fr/man8/vipw.8 +++ b/man/fr/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: French .\" -.TH "VIPW" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "VIPW" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml index 61a548f7..9abf159a 100644 --- a/man/groupadd.8.xml +++ b/man/groupadd.8.xml @@ -230,7 +230,7 @@ - A list of usernames to add as members of the group. + A comma-separated list of usernames to add as members of the group. The default behavior (if the , diff --git a/man/groupmod.8.xml b/man/groupmod.8.xml index 49ff7c69..2d51f271 100644 --- a/man/groupmod.8.xml +++ b/man/groupmod.8.xml @@ -70,7 +70,7 @@ - ,  GID + , If group members are specified with -U, append them to the existing @@ -195,13 +195,13 @@ - A list of usernames to add as members of the group. + A comma-separated list of usernames to add as members of the group. - The default behavior (if the , - , and options are not - specified) is defined by the - variable in /etc/login.defs. + The default behavior (if the and + options are not specified) is defined by the + variable in + /etc/login.defs. diff --git a/man/groups.1.xml b/man/groups.1.xml deleted file mode 100644 index dcbedbaf..00000000 --- a/man/groups.1.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - -]> - - - - - Julianne Frances - Haugh - Creation, 1991 - - - Thomas - Kłoczko - kloczek@pld.org.pl - shadow-utils maintainer, 2000 - 2007 - - - Nicolas - François - nicolas.francois@centraliens.net - shadow-utils maintainer, 2007 - now - - - - groups - 1 - User Commands - shadow-utils - &SHADOW_UTILS_VERSION; - - - groups - display current group names - - - - - groups - - user - - - - - - DESCRIPTION - - The groups command displays the current group names - or ID values. If the value does not have a corresponding entry in - /etc/group, the value will be displayed as the - numerical group value. The optional user - parameter will display the groups for the named user. - - - - - NOTE - - Systems which do not support supplementary groups (see - initgroups3 - ) will have the - information from /etc/group reported. The user - must use newgrp or sg to change - his current real and effective group ID. - - - - - FILES - - - /etc/group - - Group account information. - - - - - - - SEE ALSO - - - newgrp1 - , - - getgid2 - , - - getgroups2 - , - - getuid2 - , - - initgroups3 - . - - - diff --git a/man/gshadow.5.xml b/man/gshadow.5.xml index 7b7d560d..d4f028ae 100644 --- a/man/gshadow.5.xml +++ b/man/gshadow.5.xml @@ -51,7 +51,7 @@ group name - It must be a valid group name, which exist on the system. + It must be a valid group name, which exists on the system. diff --git a/man/hu/Makefile.am b/man/hu/Makefile.am index 205bb0a8..6bf68e8a 100644 --- a/man/hu/Makefile.am +++ b/man/hu/Makefile.am @@ -4,7 +4,6 @@ mandir = @mandir@/hu man_MANS = \ man1/chsh.1 \ man1/gpasswd.1 \ - man1/groups.1 \ man1/login.1 \ man1/newgrp.1 \ man1/passwd.1 \ diff --git a/man/hu/Makefile.in b/man/hu/Makefile.in index 45fc8eb5..af80ff42 100644 --- a/man/hu/Makefile.in +++ b/man/hu/Makefile.in @@ -193,7 +193,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -340,8 +339,8 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -man_MANS = man1/chsh.1 man1/gpasswd.1 man1/groups.1 man1/login.1 \ - man1/newgrp.1 man1/passwd.1 man5/passwd.5 man1/sg.1 man1/su.1 \ +man_MANS = man1/chsh.1 man1/gpasswd.1 man1/login.1 man1/newgrp.1 \ + man1/passwd.1 man5/passwd.5 man1/sg.1 man1/su.1 \ $(am__append_1) EXTRA_DIST = $(man_MANS) all: all-am diff --git a/man/hu/man1/groups.1 b/man/hu/man1/groups.1 deleted file mode 100644 index c09a8bfd..00000000 --- a/man/hu/man1/groups.1 +++ /dev/null @@ -1,35 +0,0 @@ -.\" SPDX-FileCopyrightText: 1991 \- 1994, Julianne Frances Haugh -.\" SPDX-License-Identifier: BSD-3-Clause -.\" -.\" $Id$ -.\" -.TH GROUPS 1 -.SH NÉV -groups \- kiírja a jelenlegi csoportazonosító neveket -.SH ÁTTEKINTÉS -.B groups -.RI [ felhasználó ] -.SH LEÍRÁS -A -.B groups -parancs kiírja a jelenlegi csoportazonosító neveket vagy számértékeket. Ha -nincs az értéknek megfelelő bejegyzés a \fI/etc/group\fR fájlban, akkor a -csoport azonosító számát írja ki. Az opcionális \fIfelhasználó\fR paraméter -esetén azokat a csoportokat írja ki, amelyekbe a megadott \fIfelhasználó\fR -tartozik. -.SH MEGJEGYZÉS -Azok a rendszerek, amelyek nem támogatják a konkurrens csoportbeállításokat, -a kiírt információkat a \fI/etc/group\fR fájlból gyűjtik. A felhasználónak -muszáj a \fBnewgrp\fR vagy a \fBsg\fR parancsot használniuk, hogy -megváltoztassák a jelenlegi valódi és effektív csoportazonosítójukat. -.SH FÁJLOK -\fI/etc/group\fR \- információ a csoportokról -.SH LÁSD MÉG -.BR newgrp (1), -.BR getgid (2), -.BR getgroups (2), -.BR getuid (2) -.SH AUTHOR -Julianne Frances Haugh (jfh@tab.com) -.SH MAGYAR FORDÍTÁS -ifj. Dyekiss Emil diff --git a/man/id.1.xml b/man/id.1.xml deleted file mode 100644 index 9d77330f..00000000 --- a/man/id.1.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - -]> - - - - - Julianne Frances - Haugh - Creation, 1991 - - - Thomas - Kłoczko - kloczek@pld.org.pl - shadow-utils maintainer, 2000 - 2007 - - - Nicolas - François - nicolas.francois@centraliens.net - shadow-utils maintainer, 2007 - now - - - - id - 1 - User Commands - shadow-utils - &SHADOW_UTILS_VERSION; - - - id - display current user and group ID names - - - - - id -a - - - - - DESCRIPTION - - The id command displays the current real and - effective user and group ID names or values. If the value does not - have a corresponding entry in /etc/passwd or - /etc/group, the value will be displayed without - the corresponding name. The optional flag will - display the group set on systems which support supplementary groups - (see initgroups - 3). - - - - - FILES - - - /etc/group - - Group account information. - - - - /etc/passwd - - User account information. - - - - - - - SEE ALSO - - - getgid2 - , - - getgroups2 - , - - getuid2 - , - - initgroups3 - - - - diff --git a/man/id/Makefile.in b/man/id/Makefile.in index 79a0521f..2640bd6e 100644 --- a/man/id/Makefile.in +++ b/man/id/Makefile.in @@ -190,7 +190,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/man/it/Makefile.am b/man/it/Makefile.am index b76187fa..736576c9 100644 --- a/man/it/Makefile.am +++ b/man/it/Makefile.am @@ -16,7 +16,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ @@ -58,7 +57,6 @@ endif EXTRA_DIST = \ $(man_MANS) \ - man1/id.1 \ man8/sulogin.8 if USE_PAM diff --git a/man/it/Makefile.in b/man/it/Makefile.in index dd69471a..2a454b6f 100644 --- a/man/it/Makefile.in +++ b/man/it/Makefile.in @@ -197,7 +197,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -347,20 +346,20 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ - man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ - man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ - man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ - $(am__append_1) $(am__append_2) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man8/grpconv.8 \ + man8/grpunconv.8 man5/gshadow.5 man1/login.1 man5/login.defs.5 \ + man8/logoutd.8 man1/newgrp.1 man8/newusers.8 man8/nologin.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ + man8/pwunconv.8 man1/sg.1 man3/shadow.3 man5/shadow.5 \ + man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ + man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ + $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) +EXTRA_DIST = $(man_MANS) man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir diff --git a/man/it/man1/chage.1 b/man/it/man1/chage.1 index 59e6c5d3..d62a4b26 100644 --- a/man/it/man1/chage.1 +++ b/man/it/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "CHAGE" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHAGE" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/chfn.1 b/man/it/man1/chfn.1 index 5b62fa58..b1661e4f 100644 --- a/man/it/man1/chfn.1 +++ b/man/it/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "CHFN" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHFN" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/chsh.1 b/man/it/man1/chsh.1 index 786c11cc..aeda0c7b 100644 --- a/man/it/man1/chsh.1 +++ b/man/it/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "CHSH" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHSH" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/expiry.1 b/man/it/man1/expiry.1 index 4d97ff3b..57abe52d 100644 --- a/man/it/man1/expiry.1 +++ b/man/it/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "EXPIRY" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "EXPIRY" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/gpasswd.1 b/man/it/man1/gpasswd.1 index cefb21ab..147d8600 100644 --- a/man/it/man1/gpasswd.1 +++ b/man/it/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "GPASSWD" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "GPASSWD" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/groups.1 b/man/it/man1/groups.1 deleted file mode 100644 index 50f1ab74..00000000 --- a/man/it/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Italian -.\" -.TH "GROUPS" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -groups \- mostra i nomi dei gruppi correnti -.SH "SINOSSI" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "DESCRIZIONE" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "NOTA" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/it/man1/id.1 b/man/it/man1/id.1 deleted file mode 100644 index 5cc504da..00000000 --- a/man/it/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Italian -.\" -.TH "ID" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -id \- display current user and group ID names -.SH "SINOSSI" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "DESCRIZIONE" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/it/man1/login.1 b/man/it/man1/login.1 index 05bf2bce..8eef4104 100644 --- a/man/it/man1/login.1 +++ b/man/it/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "LOGIN" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "LOGIN" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -115,11 +115,6 @@ Nome dell\*(Aqhost remoto per questo login\&. Non modifica l\*(Aqambiente\&. .RE .PP -\fB\-r\fR -.RS 4 -Attiva il protocollo autologin di rlogin\&. -.RE -.PP The \fB\-r\fR, \fB\-h\fR diff --git a/man/it/man1/newgrp.1 b/man/it/man1/newgrp.1 index 66608e58..f3f2cca4 100644 --- a/man/it/man1/newgrp.1 +++ b/man/it/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "NEWGRP" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGRP" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/passwd.1 b/man/it/man1/passwd.1 index e98e0840..d56e4cdc 100644 --- a/man/it/man1/passwd.1 +++ b/man/it/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "PASSWD" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "PASSWD" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,7 +110,7 @@ Blocca la password dell\*(Aqaccount indicato\&. Questa opzione disabilita una pa .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. .sp Gli utenti con password bloccata non la possono cambiare\&. .RE diff --git a/man/it/man1/sg.1 b/man/it/man1/sg.1 index 4e9cff29..6ef49bfa 100644 --- a/man/it/man1/sg.1 +++ b/man/it/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "SG" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SG" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/su.1 b/man/it/man1/su.1 index f3f0cc3a..1b6f6ffb 100644 --- a/man/it/man1/su.1 +++ b/man/it/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "SU" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SU" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man3/shadow.3 b/man/it/man3/shadow.3 index 52dedf1b..74b73ce8 100644 --- a/man/it/man3/shadow.3 +++ b/man/it/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "SHADOW" "3" "28/06/2024" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "SHADOW" "3" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/faillog.5 b/man/it/man5/faillog.5 index 9bde6793..16e94945 100644 --- a/man/it/man5/faillog.5 +++ b/man/it/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "FAILLOG" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "FAILLOG" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/gshadow.5 b/man/it/man5/gshadow.5 index 2b959f72..fef54e73 100644 --- a/man/it/man5/gshadow.5 +++ b/man/it/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "GSHADOW" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "GSHADOW" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Ogni riga di questo file contiene questi campi separati da due punti: .PP \fBgroup name\fR .RS 4 -Deve essere un nome di gruppo valido, che esista nel sistema\&. +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/it/man5/limits.5 b/man/it/man5/limits.5 index d9865291..1201da8e 100644 --- a/man/it/man5/limits.5 +++ b/man/it/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "LIMITS" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LIMITS" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/login.access.5 b/man/it/man5/login.access.5 index cd5aba8e..aeb43d69 100644 --- a/man/it/man5/login.access.5 +++ b/man/it/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "LOGIN\&.ACCESS" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/login.defs.5 b/man/it/man5/login.defs.5 index 16d3d6ac..54654429 100644 --- a/man/it/man5/login.defs.5 +++ b/man/it/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "LOGIN\&.DEFS" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/passwd.5 b/man/it/man5/passwd.5 index e4de65f4..d3676a25 100644 --- a/man/it/man5/passwd.5 +++ b/man/it/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "PASSWD" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PASSWD" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/porttime.5 b/man/it/man5/porttime.5 index 249be861..875545cd 100644 --- a/man/it/man5/porttime.5 +++ b/man/it/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "PORTTIME" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PORTTIME" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/shadow.5 b/man/it/man5/shadow.5 index 4aaa888b..b2ca16a5 100644 --- a/man/it/man5/shadow.5 +++ b/man/it/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "SHADOW" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SHADOW" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains 9 fields, separated by colons (\(Fo:\(Fc), in th .PP \fBlogin name\fR .RS 4 -Deve essere un nome valido di un account esistente nel sistema\&. +It must be a valid account name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/it/man5/suauth.5 b/man/it/man5/suauth.5 index 81edbb84..af126162 100644 --- a/man/it/man5/suauth.5 +++ b/man/it/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "SUAUTH" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUAUTH" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/chgpasswd.8 b/man/it/man8/chgpasswd.8 index 0a69400e..64f5bdd4 100644 --- a/man/it/man8/chgpasswd.8 +++ b/man/it/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "CHGPASSWD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHGPASSWD" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/chpasswd.8 b/man/it/man8/chpasswd.8 index ecd5ff09..78192442 100644 --- a/man/it/man8/chpasswd.8 +++ b/man/it/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "CHPASSWD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHPASSWD" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/faillog.8 b/man/it/man8/faillog.8 index 0d1c67f9..de0847be 100644 --- a/man/it/man8/faillog.8 +++ b/man/it/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "FAILLOG" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "FAILLOG" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/groupadd.8 b/man/it/man8/groupadd.8 index a3aadeb8..d487e431 100644 --- a/man/it/man8/groupadd.8 +++ b/man/it/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "GROUPADD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPADD" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/it/man8/groupdel.8 b/man/it/man8/groupdel.8 index cdbd2f3a..047ebd16 100644 --- a/man/it/man8/groupdel.8 +++ b/man/it/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "GROUPDEL" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPDEL" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/groupmems.8 b/man/it/man8/groupmems.8 index c34fbcea..744a0365 100644 --- a/man/it/man8/groupmems.8 +++ b/man/it/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "GROUPMEMS" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMEMS" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/groupmod.8 b/man/it/man8/groupmod.8 index bc5092bc..0eb23a73 100644 --- a/man/it/man8/groupmod.8 +++ b/man/it/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "GROUPMOD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMOD" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 If group members are specified with \-U, append them to the existing member list, rather than replacing it\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/it/man8/grpck.8 b/man/it/man8/grpck.8 index 063f9ac5..c9ea89d8 100644 --- a/man/it/man8/grpck.8 +++ b/man/it/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "GRPCK" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GRPCK" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/lastlog.8 b/man/it/man8/lastlog.8 index f092c5cd..de1c7bb1 100644 --- a/man/it/man8/lastlog.8 +++ b/man/it/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "LASTLOG" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LASTLOG" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/logoutd.8 b/man/it/man8/logoutd.8 index 361b8d36..650d2bec 100644 --- a/man/it/man8/logoutd.8 +++ b/man/it/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "LOGOUTD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LOGOUTD" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/newusers.8 b/man/it/man8/newusers.8 index 16fdd420..bf192a64 100644 --- a/man/it/man8/newusers.8 +++ b/man/it/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "NEWUSERS" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NEWUSERS" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/nologin.8 b/man/it/man8/nologin.8 index f3cbd45b..96620afa 100644 --- a/man/it/man8/nologin.8 +++ b/man/it/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "NOLOGIN" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NOLOGIN" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/pwck.8 b/man/it/man8/pwck.8 index 0036385f..f139a525 100644 --- a/man/it/man8/pwck.8 +++ b/man/it/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "PWCK" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCK" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/pwconv.8 b/man/it/man8/pwconv.8 index 7ed3a13e..24274b47 100644 --- a/man/it/man8/pwconv.8 +++ b/man/it/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "PWCONV" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCONV" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/sulogin.8 b/man/it/man8/sulogin.8 index a3e21fb2..5a3e3cc2 100644 --- a/man/it/man8/sulogin.8 +++ b/man/it/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "SULOGIN" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "SULOGIN" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/useradd.8 b/man/it/man8/useradd.8 index 6c7ba40b..3a1c6a51 100644 --- a/man/it/man8/useradd.8 +++ b/man/it/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "USERADD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERADD" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/userdel.8 b/man/it/man8/userdel.8 index e4780835..ca19bddd 100644 --- a/man/it/man8/userdel.8 +++ b/man/it/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "USERDEL" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERDEL" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/it/man8/usermod.8 b/man/it/man8/usermod.8 index 456bdaa2..c368b272 100644 --- a/man/it/man8/usermod.8 +++ b/man/it/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "USERMOD" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERMOD" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/vipw.8 b/man/it/man8/vipw.8 index 1dbe393c..dc321789 100644 --- a/man/it/man8/vipw.8 +++ b/man/it/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Italian .\" -.TH "VIPW" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "VIPW" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ja/Makefile.am b/man/ja/Makefile.am index 13f18da1..b759726c 100644 --- a/man/ja/Makefile.am +++ b/man/ja/Makefile.am @@ -13,7 +13,6 @@ man_MANS = \ man8/groupadd.8 \ man8/groupdel.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ @@ -52,7 +51,6 @@ endif EXTRA_DIST = \ $(man_MANS) \ - man1/id.1 \ man3/shadow.3 \ man8/sulogin.8 diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in index 9ef122d8..9e4207df 100644 --- a/man/ja/Makefile.in +++ b/man/ja/Makefile.in @@ -195,7 +195,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -344,20 +343,19 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chpasswd.8 man1/chsh.1 \ man1/expiry.1 man5/faillog.5 man8/faillog.8 man1/gpasswd.1 \ - man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/groups.1 \ - man8/grpck.8 man8/grpconv.8 man8/grpunconv.8 man1/login.1 \ - man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ - man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ - man8/pwunconv.8 man1/sg.1 man5/shadow.5 man1/su.1 \ - man5/suauth.5 man8/useradd.8 man8/userdel.8 man8/usermod.8 \ - man8/vigr.8 man8/vipw.8 $(am__append_1) $(am__append_2) + man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man8/grpck.8 \ + man8/grpconv.8 man8/grpunconv.8 man1/login.1 man5/login.defs.5 \ + man8/logoutd.8 man1/newgrp.1 man8/newusers.8 man1/passwd.1 \ + man5/passwd.5 man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 \ + man1/sg.1 man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ + man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man3/shadow.3 man8/sulogin.8 \ - $(am__append_3) +EXTRA_DIST = $(man_MANS) man3/shadow.3 man8/sulogin.8 $(am__append_3) all: all-am .SUFFIXES: diff --git a/man/ja/man1/groups.1 b/man/ja/man1/groups.1 deleted file mode 100644 index d316afee..00000000 --- a/man/ja/man1/groups.1 +++ /dev/null @@ -1,39 +0,0 @@ -.\" SPDX-FileCopyrightText: 1991 - 1994 Julianne Frances Haugh -.\" SPDX-FileCopyrightText: Copyright (c) 2001 Maki KURODA -.\" SPDX-License-Identifier: BSD-3-Clause -.\" Translated Tue Oct 30 11:58:18 JST 2001 by Maki KURODA -.\" Modified Tue 16 Sep 2002 by NAKANO Takeo -.\" -.\" $Id$ -.\" -.\"WORD: concurrent group set 同時所属グループ集合 -.\"WORD: real group ID 実グループ ID -.\"WORD: effective group ID 実効グループ ID -.\" -.TH GROUPS 1 -.SH 名前 -groups \- 現在のグループ名の表示 -.SH 書式 -\fBgroups\fR [\fIuser\fR] -.SH 説明 -.B groups -は現在のグループの名前または ID 値を表示する。 -ID 値に対応する名前が \fI/etc/group\fR に登録されていなければ、 -数値のグループ ID で表示される。 -パラメータとして \fIuser\fR を与えると、 -指定した \fIuser\fR が所属するグループ名を表示する。 -.SH 注意 -同時所属グループ集合 (concurrent group set) -をサポートしていないシステムでは、 -\fI/etc/group\fR の情報が報告される。 -ユーザが現在の実グループ ID や実効グループ ID を変更するには、 -\fBnewgrp\fR や \fBsg\fR を使用しなければならない。 -.SH ファイル -/etc/group \- グループ情報 -.SH 関連項目 -.BR newgrp (1), -.BR getuid (2), -.BR getgid (2), -.BR getgroups (2) -.SH 著者 -Julianne Frances Haugh diff --git a/man/ja/man1/id.1 b/man/ja/man1/id.1 deleted file mode 100644 index 3f15aa2b..00000000 --- a/man/ja/man1/id.1 +++ /dev/null @@ -1,33 +0,0 @@ -.\" SPDX-FileCopyrightText: 1991 Julianne Frances Haugh -.\" SPDX-FileCopyrightText: Copyright (c) 2000 ISHIKAWA Keisuke -.\" SPDX-License-Identifier: BSD-3-Clause -.\" -.\" Translated Thu Nov 9 23:17:10 JST 2000 -.\" by ISHIKAWA Keisuke -.\" Modified Tue 16 Sep 2002 by NAKANO Takeo -.\" -.\" $Id$ -.\" -.TH ID 1 -.SH 名前 -id \- 現在のユーザ ID 名とグループ ID 名を表示する -.SH 書式 -\fBid\fR [\fB\-a\fR] -.SH 説明 -\fBid\fRは、現在の実ユーザ ID、実効ユーザ ID、実グループ ID、 -実効グループ ID の名前または値を表示する。 -値に対応するエントリが \fI/etc/passwd\fR や -\fI/etc/group\fR に存在しない場合は、 -対応する名前は表示されずに値だけが表示される。 -ユーザが同時に複数のグループのメンバーになれるシステムでは、 -\fB\-a\fR オプションを指定するとグループの集合が表示される。 -.SH ファイル -\fI/etc/passwd\fR \- ユーザーアカウント情報 -.br -\fI/etc/group\fR \ \- グループ情報 -.SH 関連項目 -.BR getgid (2), -.BR getgroups (2), -.BR getuid (2) -.SH 著者 -Julianne Frances Haugh diff --git a/man/ko/Makefile.am b/man/ko/Makefile.am index c269f0bb..4f73651b 100644 --- a/man/ko/Makefile.am +++ b/man/ko/Makefile.am @@ -4,7 +4,6 @@ mandir = @mandir@/ko man_MANS = \ man1/chfn.1 \ man1/chsh.1 \ - man1/groups.1 \ man1/login.1 \ man5/passwd.5 \ man1/su.1 \ diff --git a/man/ko/Makefile.in b/man/ko/Makefile.in index cabdc54f..eccffc5c 100644 --- a/man/ko/Makefile.in +++ b/man/ko/Makefile.in @@ -192,7 +192,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -342,7 +341,6 @@ top_srcdir = @top_srcdir@ man_MANS = \ man1/chfn.1 \ man1/chsh.1 \ - man1/groups.1 \ man1/login.1 \ man5/passwd.5 \ man1/su.1 \ diff --git a/man/ko/man1/groups.1 b/man/ko/man1/groups.1 deleted file mode 100644 index d407d3de..00000000 --- a/man/ko/man1/groups.1 +++ /dev/null @@ -1,32 +0,0 @@ -.\"$Id$ -.TH GROUPS 1L "GNU 쉘 유틸리티" "FSF" \" \-*\- nroff \-*\- -.SH 이름 -groups \- 사용자가 속한 그룹들을 출력한다 -.SH 개요 -.B groups -[사용자명...] -.br -.B groups -{\-\-help,\-\-version} -.SH 설명 -이 맨페이지는 GNU 버전의 -.BR groups -를 다룬다. -.B groups -는 주어진 각 -.IR username -또는 프로세스 -가 속한 추가 그룹의 이름을 출력해준다. -만약 사용자명이 주어졌다면 각 사용자명이 소속된 그룹 목록 앞에 표시된다. -.PP -그룹 목록은 `id \-Gn'의 결과와 같다. -.SS 옵션 -GNU -.B groups -가 단 한 개의 인수를 가지고 실행되면 다음 옵션들을 인식한다: -.TP -.I "\-\-help" -표준출력으로 사용법을 출력하고 정상적으로 종료한다. -.TP -.I "\-\-version" -표준출력으로 버전정보를 출력하고 정상적으로 종료한다. diff --git a/man/login.1.xml b/man/login.1.xml index 0826b1f0..26e6ea44 100644 --- a/man/login.1.xml +++ b/man/login.1.xml @@ -215,14 +215,6 @@ Preserve environment. - - - - - - Perform autologin protocol for rlogin. - - diff --git a/man/login.defs.5.xml b/man/login.defs.5.xml index 05ef5125..7263395c 100644 --- a/man/login.defs.5.xml +++ b/man/login.defs.5.xml @@ -326,7 +326,6 @@ MAX_MEMBERS_PER_GROUP - grpck diff --git a/man/login.defs.d/TTYGROUP.xml b/man/login.defs.d/TTYGROUP.xml index 8e0a9e87..fba16173 100644 --- a/man/login.defs.d/TTYGROUP.xml +++ b/man/login.defs.d/TTYGROUP.xml @@ -6,7 +6,7 @@ --> (string) - (string) + (number) The terminal permissions: the login tty will be owned by the diff --git a/man/man1/chage.1 b/man/man1/chage.1 index 85726a2a..064296ec 100644 --- a/man/man1/chage.1 +++ b/man/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "CHAGE" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHAGE" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/chfn.1 b/man/man1/chfn.1 index 54a769ea..1a994bef 100644 --- a/man/man1/chfn.1 +++ b/man/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "CHFN" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHFN" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/chsh.1 b/man/man1/chsh.1 index 80cf5c1c..ea7e60f2 100644 --- a/man/man1/chsh.1 +++ b/man/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "CHSH" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHSH" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/expiry.1 b/man/man1/expiry.1 index b42dcd02..80244fd7 100644 --- a/man/man1/expiry.1 +++ b/man/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "EXPIRY" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "EXPIRY" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/getsubids.1 b/man/man1/getsubids.1 index 94b7bd22..348a01ef 100644 --- a/man/man1/getsubids.1 +++ b/man/man1/getsubids.1 @@ -2,12 +2,12 @@ .\" Title: getsubids .\" Author: Iker Pedrosa .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "GETSUBIDS" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "GETSUBIDS" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/gpasswd.1 b/man/man1/gpasswd.1 index b3f9e3a8..f0089734 100644 --- a/man/man1/gpasswd.1 +++ b/man/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "GPASSWD" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "GPASSWD" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/groups.1 b/man/man1/groups.1 deleted file mode 100644 index a254efa0..00000000 --- a/man/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: English -.\" -.TH "GROUPS" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groups \- display current group names -.SH "SYNOPSIS" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "DESCRIPTION" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "NOTE" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/man1/id.1 b/man/man1/id.1 deleted file mode 100644 index 4656074c..00000000 --- a/man/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: English -.\" -.TH "ID" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -id \- display current user and group ID names -.SH "SYNOPSIS" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "DESCRIPTION" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/man1/login.1 b/man/man1/login.1 index 2bf625fb..2a4c4ac0 100644 --- a/man/man1/login.1 +++ b/man/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "LOGIN" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "LOGIN" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -115,11 +115,6 @@ Name of the remote host for this login\&. Preserve environment\&. .RE .PP -\fB\-r\fR -.RS 4 -Perform autologin protocol for rlogin\&. -.RE -.PP The \fB\-r\fR, \fB\-h\fR @@ -368,7 +363,7 @@ Enable setting of resource limits from and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&. .RE .PP -\fBTTYGROUP\fR (string), \fBTTYPERM\fR (string) +\fBTTYGROUP\fR (string), \fBTTYPERM\fR (number) .RS 4 The terminal permissions: the login tty will be owned by the \fBTTYGROUP\fR diff --git a/man/man1/newgidmap.1 b/man/man1/newgidmap.1 index 9d51fb5c..b888eb72 100644 --- a/man/man1/newgidmap.1 +++ b/man/man1/newgidmap.1 @@ -2,12 +2,12 @@ .\" Title: newgidmap .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "NEWGIDMAP" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGIDMAP" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/newgrp.1 b/man/man1/newgrp.1 index 832644b8..049e4625 100644 --- a/man/man1/newgrp.1 +++ b/man/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "NEWGRP" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGRP" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/newuidmap.1 b/man/man1/newuidmap.1 index 2c2c4bed..624a601c 100644 --- a/man/man1/newuidmap.1 +++ b/man/man1/newuidmap.1 @@ -2,12 +2,12 @@ .\" Title: newuidmap .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "NEWUIDMAP" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWUIDMAP" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/passwd.1 b/man/man1/passwd.1 index 79e1d59b..d33278bc 100644 --- a/man/man1/passwd.1 +++ b/man/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "PASSWD" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "PASSWD" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,7 +110,7 @@ Lock the password of the named account\&. This option disables a password by cha .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. .sp Users with a locked password are not allowed to change their password\&. .RE diff --git a/man/man1/sg.1 b/man/man1/sg.1 index 1f321a69..9f3b42e8 100644 --- a/man/man1/sg.1 +++ b/man/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "SG" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SG" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/su.1 b/man/man1/su.1 index 5c6f52a9..3814a281 100644 --- a/man/man1/su.1 +++ b/man/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "SU" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SU" "1" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man3/shadow.3 b/man/man3/shadow.3 index 85dda38d..30349c60 100644 --- a/man/man3/shadow.3 +++ b/man/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "SHADOW" "3" "06/28/2024" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "SHADOW" "3" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/faillog.5 b/man/man5/faillog.5 index b7855bcd..83cccf08 100644 --- a/man/man5/faillog.5 +++ b/man/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "FAILLOG" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "FAILLOG" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/gshadow.5 b/man/man5/gshadow.5 index 2a83e662..2b621f25 100644 --- a/man/man5/gshadow.5 +++ b/man/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas François .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "GSHADOW" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "GSHADOW" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains the following colon\-separated fields: .PP \fBgroup name\fR .RS 4 -It must be a valid group name, which exist on the system\&. +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/man5/limits.5 b/man/man5/limits.5 index 71311fe2..58687b3f 100644 --- a/man/man5/limits.5 +++ b/man/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "LIMITS" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LIMITS" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/login.access.5 b/man/man5/login.access.5 index 52df4e0f..9df3eaba 100644 --- a/man/man5/login.access.5 +++ b/man/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Michałkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "LOGIN\&.ACCESS" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/login.defs.5 b/man/man5/login.defs.5 index 7c2c80c2..0cde9b00 100644 --- a/man/man5/login.defs.5 +++ b/man/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "LOGIN\&.DEFS" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -588,7 +588,7 @@ Enable "syslog" logging of activity \- in addition to sulog file logging\&. .RE .PP -\fBTTYGROUP\fR (string), \fBTTYPERM\fR (string) +\fBTTYGROUP\fR (string), \fBTTYPERM\fR (number) .RS 4 The terminal permissions: the login tty will be owned by the \fBTTYGROUP\fR diff --git a/man/man5/passwd.5 b/man/man5/passwd.5 index 84c6cb9d..791474fe 100644 --- a/man/man5/passwd.5 +++ b/man/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "PASSWD" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PASSWD" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/porttime.5 b/man/man5/porttime.5 index b090bb15..f026c2d2 100644 --- a/man/man5/porttime.5 +++ b/man/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "PORTTIME" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PORTTIME" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/shadow.5 b/man/man5/shadow.5 index 9c532e9b..c6d5d7d7 100644 --- a/man/man5/shadow.5 +++ b/man/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "SHADOW" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SHADOW" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains 9 fields, separated by colons (\(lq:\(rq), in th .PP \fBlogin name\fR .RS 4 -It must be a valid account name, which exist on the system\&. +It must be a valid account name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/man5/suauth.5 b/man/man5/suauth.5 index c4e8e1d3..693b5f0b 100644 --- a/man/man5/suauth.5 +++ b/man/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Michałkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "SUAUTH" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUAUTH" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/subgid.5 b/man/man5/subgid.5 index 994eea10..d16ea934 100644 --- a/man/man5/subgid.5 +++ b/man/man5/subgid.5 @@ -2,12 +2,12 @@ .\" Title: subgid .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "SUBGID" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUBGID" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,9 @@ configures the delegation of gids to \fIfiles\fR\&. .PP Note, that -\fBgroupadd\fR +\fBnewusers\fR, +\fBuseradd\fR, and +\fBusermod\fR will only create entries in /etc/subgid if subid delegation is managed via subid files\&. diff --git a/man/man5/subuid.5 b/man/man5/subuid.5 index b1c9fb5a..34b9b1f5 100644 --- a/man/man5/subuid.5 +++ b/man/man5/subuid.5 @@ -2,12 +2,12 @@ .\" Title: subuid .\" Author: Eric Biederman .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "SUBUID" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUBUID" "5" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,9 @@ configures the delegation of uids to \fIfiles\fR\&. .PP Note, that -\fBuseradd\fR +\fBnewusers\fR, +\fBuseradd\fR, and +\fBusermod\fR will only create entries in /etc/subuid if subid delegation is managed via subid files\&. diff --git a/man/man8/chgpasswd.8 b/man/man8/chgpasswd.8 index 455b7a99..af191676 100644 --- a/man/man8/chgpasswd.8 +++ b/man/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas Kłoczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "CHGPASSWD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHGPASSWD" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/chpasswd.8 b/man/man8/chpasswd.8 index 29203c3d..e95e1a98 100644 --- a/man/man8/chpasswd.8 +++ b/man/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "CHPASSWD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHPASSWD" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/faillog.8 b/man/man8/faillog.8 index 7c8e5791..3aa06c57 100644 --- a/man/man8/faillog.8 +++ b/man/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "FAILLOG" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "FAILLOG" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupadd.8 b/man/man8/groupadd.8 index ed0a2057..c7158097 100644 --- a/man/man8/groupadd.8 +++ b/man/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "GROUPADD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPADD" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/man8/groupdel.8 b/man/man8/groupdel.8 index c65e66ac..d831a70f 100644 --- a/man/man8/groupdel.8 +++ b/man/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "GROUPDEL" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPDEL" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupmems.8 b/man/man8/groupmems.8 index 4d523d1b..97d14d48 100644 --- a/man/man8/groupmems.8 +++ b/man/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "GROUPMEMS" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMEMS" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupmod.8 b/man/man8/groupmod.8 index f64ca2af..86a25266 100644 --- a/man/man8/groupmod.8 +++ b/man/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "GROUPMOD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMOD" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 If group members are specified with \-U, append them to the existing member list, rather than replacing it\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/man8/grpck.8 b/man/man8/grpck.8 index 5907eb3a..5a86d640 100644 --- a/man/man8/grpck.8 +++ b/man/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "GRPCK" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GRPCK" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/lastlog.8 b/man/man8/lastlog.8 index d2613b64..af5152bf 100644 --- a/man/man8/lastlog.8 +++ b/man/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "LASTLOG" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LASTLOG" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/logoutd.8 b/man/man8/logoutd.8 index d67b07d2..5d7d65dd 100644 --- a/man/man8/logoutd.8 +++ b/man/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "LOGOUTD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LOGOUTD" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/newusers.8 b/man/man8/newusers.8 index 6c4af56c..cd941565 100644 --- a/man/man8/newusers.8 +++ b/man/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "NEWUSERS" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NEWUSERS" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/nologin.8 b/man/man8/nologin.8 index aa061d3d..2c0d02d9 100644 --- a/man/man8/nologin.8 +++ b/man/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas François .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "NOLOGIN" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NOLOGIN" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/pwck.8 b/man/man8/pwck.8 index 5f6fadb7..1f05cb39 100644 --- a/man/man8/pwck.8 +++ b/man/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "PWCK" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCK" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/pwconv.8 b/man/man8/pwconv.8 index b3a888d5..eb01b0f5 100644 --- a/man/man8/pwconv.8 +++ b/man/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Michałkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "PWCONV" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCONV" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/sulogin.8 b/man/man8/sulogin.8 index efae567e..322ac266 100644 --- a/man/man8/sulogin.8 +++ b/man/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "SULOGIN" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "SULOGIN" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/useradd.8 b/man/man8/useradd.8 index 840b7f16..f53db55a 100644 --- a/man/man8/useradd.8 +++ b/man/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "USERADD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERADD" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/userdel.8 b/man/man8/userdel.8 index f13fabce..255a3a6b 100644 --- a/man/man8/userdel.8 +++ b/man/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "USERDEL" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERDEL" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/man8/usermod.8 b/man/man8/usermod.8 index 959f9939..b4fa5406 100644 --- a/man/man8/usermod.8 +++ b/man/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "USERMOD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERMOD" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/vipw.8 b/man/man8/vipw.8 index a8ca8f90..ecf31b15 100644 --- a/man/man8/vipw.8 +++ b/man/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Michałkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/05/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: English .\" -.TH "VIPW" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "VIPW" "8" "12/05/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/passwd.1.xml b/man/passwd.1.xml index 506b134e..878ab7ba 100644 --- a/man/passwd.1.xml +++ b/man/passwd.1.xml @@ -228,7 +228,7 @@ Note that this does not disable the account. The user may still be able to login using another authentication token (e.g. an SSH key). To disable the account, administrators - should use usermod --expiredate 1 (this set + should use usermod --expiredate 1 (this sets the account's expire date to Jan 2, 1970). diff --git a/man/pl/Makefile.am b/man/pl/Makefile.am index b2f096f7..2a015f3a 100644 --- a/man/pl/Makefile.am +++ b/man/pl/Makefile.am @@ -13,7 +13,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/logoutd.8 \ man1/newgrp.1 \ @@ -36,8 +35,7 @@ man_MANS += $(man_nopam) endif EXTRA_DIST = \ - $(man_MANS) \ - man1/id.1 + $(man_MANS) if USE_PAM EXTRA_DIST += $(man_nopam) diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in index 9737dc14..9f8e0e2d 100644 --- a/man/pl/Makefile.in +++ b/man/pl/Makefile.in @@ -197,7 +197,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -348,14 +347,14 @@ top_srcdir = @top_srcdir@ # 2012.01.28 - activate manpages with more than 50% translated messages man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \ man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/logoutd.8 man1/newgrp.1 man1/sg.1 man3/shadow.3 \ - man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ - $(am__append_1) $(am__append_2) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man8/logoutd.8 \ + man1/newgrp.1 man1/sg.1 man3/shadow.3 man8/userdel.8 \ + man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ + $(am__append_2) man_nopam = \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_3) +EXTRA_DIST = $(man_MANS) $(am__append_3) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir diff --git a/man/pl/man1/chage.1 b/man/pl/man1/chage.1 index 708fb576..16b1ac6d 100644 --- a/man/pl/man1/chage.1 +++ b/man/pl/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "CHAGE" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHAGE" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/chsh.1 b/man/pl/man1/chsh.1 index a3b3e99f..bf4fc4f7 100644 --- a/man/pl/man1/chsh.1 +++ b/man/pl/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "CHSH" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHSH" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/expiry.1 b/man/pl/man1/expiry.1 index 7b5c5c60..b5a2b340 100644 --- a/man/pl/man1/expiry.1 +++ b/man/pl/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "EXPIRY" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "EXPIRY" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/groups.1 b/man/pl/man1/groups.1 deleted file mode 100644 index 59d75cfb..00000000 --- a/man/pl/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Polish -.\" -.TH "GROUPS" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -groups \- display current group names -.SH "STRESZCZENIE" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "OPIS" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "UWAGI" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.SH "ZOBACZ TAKŻE" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/pl/man1/id.1 b/man/pl/man1/id.1 deleted file mode 100644 index 68d8c308..00000000 --- a/man/pl/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Polish -.\" -.TH "ID" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -id \- display current user and group ID names -.SH "STRESZCZENIE" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "OPIS" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.SH "ZOBACZ TAKŻE" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/pl/man1/newgrp.1 b/man/pl/man1/newgrp.1 index 189a0d92..d367d0b6 100644 --- a/man/pl/man1/newgrp.1 +++ b/man/pl/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "NEWGRP" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGRP" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/sg.1 b/man/pl/man1/sg.1 index 5abd4e29..53e889b3 100644 --- a/man/pl/man1/sg.1 +++ b/man/pl/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "SG" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SG" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man3/shadow.3 b/man/pl/man3/shadow.3 index 6a7c497c..9c84e873 100644 --- a/man/pl/man3/shadow.3 +++ b/man/pl/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "SHADOW" "3" "06/28/2024" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "SHADOW" "3" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man5/faillog.5 b/man/pl/man5/faillog.5 index 44e6c68a..50408cde 100644 --- a/man/pl/man5/faillog.5 +++ b/man/pl/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "FAILLOG" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "FAILLOG" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man5/porttime.5 b/man/pl/man5/porttime.5 index cd35c140..6c1c6432 100644 --- a/man/pl/man5/porttime.5 +++ b/man/pl/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "PORTTIME" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PORTTIME" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/faillog.8 b/man/pl/man8/faillog.8 index 91609064..121218db 100644 --- a/man/pl/man8/faillog.8 +++ b/man/pl/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "FAILLOG" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "FAILLOG" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/groupadd.8 b/man/pl/man8/groupadd.8 index be25bcfa..54fe8787 100644 --- a/man/pl/man8/groupadd.8 +++ b/man/pl/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "GROUPADD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPADD" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/pl/man8/groupdel.8 b/man/pl/man8/groupdel.8 index a9d5e05c..c01b4eb4 100644 --- a/man/pl/man8/groupdel.8 +++ b/man/pl/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "GROUPDEL" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPDEL" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/groupmems.8 b/man/pl/man8/groupmems.8 index 2ecea4cd..f701093a 100644 --- a/man/pl/man8/groupmems.8 +++ b/man/pl/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "GROUPMEMS" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMEMS" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/groupmod.8 b/man/pl/man8/groupmod.8 index 69d4f039..bde92039 100644 --- a/man/pl/man8/groupmod.8 +++ b/man/pl/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "GROUPMOD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMOD" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 If group members are specified with \-U, append them to the existing member list, rather than replacing it\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/pl/man8/grpck.8 b/man/pl/man8/grpck.8 index 08509926..e1d738f2 100644 --- a/man/pl/man8/grpck.8 +++ b/man/pl/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "GRPCK" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GRPCK" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/lastlog.8 b/man/pl/man8/lastlog.8 index f4a33162..592ae799 100644 --- a/man/pl/man8/lastlog.8 +++ b/man/pl/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "LASTLOG" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LASTLOG" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/logoutd.8 b/man/pl/man8/logoutd.8 index 9867953d..e56e49ae 100644 --- a/man/pl/man8/logoutd.8 +++ b/man/pl/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "LOGOUTD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LOGOUTD" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/userdel.8 b/man/pl/man8/userdel.8 index 9aca1719..4c049951 100644 --- a/man/pl/man8/userdel.8 +++ b/man/pl/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "USERDEL" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERDEL" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/pl/man8/usermod.8 b/man/pl/man8/usermod.8 index 137e14e6..807dbefd 100644 --- a/man/pl/man8/usermod.8 +++ b/man/pl/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "USERMOD" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERMOD" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/vipw.8 b/man/pl/man8/vipw.8 index 18efe640..1350fe47 100644 --- a/man/pl/man8/vipw.8 +++ b/man/pl/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Polish .\" -.TH "VIPW" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "VIPW" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/po/XMLFILES b/man/po/XMLFILES index de7925df..bf08e6da 100644 --- a/man/po/XMLFILES +++ b/man/po/XMLFILES @@ -13,7 +13,6 @@ XMLFILES = \ $(top_srcdir)/man/groupdel.8.xml \ $(top_srcdir)/man/groupmems.8.xml \ $(top_srcdir)/man/groupmod.8.xml \ - $(top_srcdir)/man/groups.1.xml \ $(top_srcdir)/man/grpck.8.xml \ $(top_srcdir)/man/gshadow.5.xml \ $(top_srcdir)/man/lastlog.8.xml \ diff --git a/man/po/de.po b/man/po/de.po index 7063b528..ce710a6a 100644 --- a/man/po/de.po +++ b/man/po/de.po @@ -4,7 +4,7 @@ # Markus Hiereth , 2021, 2022, 2023 # Remark # This message catalogue does not contain strings for manpages -# subuid(5), subgid(5), cpgr(8), cppw(8), +# subuid(5), subgid(5), msgid "" msgstr "" "Project-Id-Version: shadow-man-pages\n" diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in index f12dbd05..c56c22ab 100644 --- a/man/pt_BR/Makefile.in +++ b/man/pt_BR/Makefile.in @@ -192,7 +192,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/man/ru/Makefile.am b/man/ru/Makefile.am index 84d55d9e..845a603e 100644 --- a/man/ru/Makefile.am +++ b/man/ru/Makefile.am @@ -16,7 +16,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ @@ -58,7 +57,6 @@ endif EXTRA_DIST = \ $(man_MANS) \ - man1/id.1 \ man8/sulogin.8 if USE_PAM diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in index cfa19823..b07e7f15 100644 --- a/man/ru/Makefile.in +++ b/man/ru/Makefile.in @@ -197,7 +197,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -347,20 +346,20 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ - man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ - man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ - man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ - $(am__append_1) $(am__append_2) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man8/grpconv.8 \ + man8/grpunconv.8 man5/gshadow.5 man1/login.1 man5/login.defs.5 \ + man8/logoutd.8 man1/newgrp.1 man8/newusers.8 man8/nologin.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ + man8/pwunconv.8 man1/sg.1 man3/shadow.3 man5/shadow.5 \ + man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ + man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ + $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) +EXTRA_DIST = $(man_MANS) man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir diff --git a/man/ru/man1/chage.1 b/man/ru/man1/chage.1 index 50792b4d..f1ca7848 100644 --- a/man/ru/man1/chage.1 +++ b/man/ru/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "chage" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "chage" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/chfn.1 b/man/ru/man1/chfn.1 index 2e532365..bbf79085 100644 --- a/man/ru/man1/chfn.1 +++ b/man/ru/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "chfn" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "chfn" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/chsh.1 b/man/ru/man1/chsh.1 index 9252191a..f3dffeef 100644 --- a/man/ru/man1/chsh.1 +++ b/man/ru/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "chsh" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "chsh" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/expiry.1 b/man/ru/man1/expiry.1 index 9a5cdbaf..c305f632 100644 --- a/man/ru/man1/expiry.1 +++ b/man/ru/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "expiry" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "expiry" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/gpasswd.1 b/man/ru/man1/gpasswd.1 index 284a71b6..b14811de 100644 --- a/man/ru/man1/gpasswd.1 +++ b/man/ru/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "gpasswd" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "gpasswd" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/groups.1 b/man/ru/man1/groups.1 deleted file mode 100644 index d57922ae..00000000 --- a/man/ru/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Russian -.\" -.TH "groups" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "НАЗВАНИЕ" -groups \- показывает имена групп запустившего программу пользователя -.SH "СИНТАКСИС" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "ОПИСАНИЕ" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "ЗАМЕЧАНИЕ" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -содержит информацию о группах -.RE -.SH "СМОТРИТЕ ТАКЖЕ" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/ru/man1/id.1 b/man/ru/man1/id.1 deleted file mode 100644 index 8e3572b3..00000000 --- a/man/ru/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Russian -.\" -.TH "id" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "НАЗВАНИЕ" -id \- display current user and group ID names -.SH "СИНТАКСИС" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "ОПИСАНИЕ" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -содержит информацию о группах -.RE -.PP -/etc/passwd -.RS 4 -содержит информацию о пользователях -.RE -.SH "СМОТРИТЕ ТАКЖЕ" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/ru/man1/login.1 b/man/ru/man1/login.1 index 8395a906..a95bff52 100644 --- a/man/ru/man1/login.1 +++ b/man/ru/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "login" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "login" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -115,11 +115,6 @@ is mandatory\&. Сохранить окружение\&. .RE .PP -\fB\-r\fR -.RS 4 -Выполнить протокол autologin для rlogin\&. -.RE -.PP The \fB\-r\fR, \fB\-h\fR diff --git a/man/ru/man1/newgrp.1 b/man/ru/man1/newgrp.1 index fe03245c..21418cd9 100644 --- a/man/ru/man1/newgrp.1 +++ b/man/ru/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "newgrp" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "newgrp" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/passwd.1 b/man/ru/man1/passwd.1 index b5574232..2cb75d13 100644 --- a/man/ru/man1/passwd.1 +++ b/man/ru/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "passwd" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "passwd" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,7 +110,7 @@ days, the user may no longer sign on to the account\&. .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. .sp Посетитель с заблокированным паролем не может изменить свой пароль\&. .RE diff --git a/man/ru/man1/sg.1 b/man/ru/man1/sg.1 index 8deea4aa..6c7d7ed6 100644 --- a/man/ru/man1/sg.1 +++ b/man/ru/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "sg" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "sg" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/su.1 b/man/ru/man1/su.1 index 4c2ef5aa..07618d15 100644 --- a/man/ru/man1/su.1 +++ b/man/ru/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "su" "1" "06/28/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "su" "1" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man3/shadow.3 b/man/ru/man3/shadow.3 index d0a03255..6ff9ea44 100644 --- a/man/ru/man3/shadow.3 +++ b/man/ru/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "shadow" "3" "06/28/2024" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "shadow" "3" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/faillog.5 b/man/ru/man5/faillog.5 index 23b1390d..d8cca9d9 100644 --- a/man/ru/man5/faillog.5 +++ b/man/ru/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "faillog" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "faillog" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/gshadow.5 b/man/ru/man5/gshadow.5 index 72d8bf5c..b41b5490 100644 --- a/man/ru/man5/gshadow.5 +++ b/man/ru/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "gshadow" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "gshadow" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ contains the shadowed information for group accounts\&. .PP \fBgroup name\fR .RS 4 -Должно содержать правильное имя группы, которая существует в системе\&. +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/ru/man5/limits.5 b/man/ru/man5/limits.5 index 72d002e3..31698da4 100644 --- a/man/ru/man5/limits.5 +++ b/man/ru/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "limits" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "limits" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/login.access.5 b/man/ru/man5/login.access.5 index a962da00..35bdeb07 100644 --- a/man/ru/man5/login.access.5 +++ b/man/ru/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "login\&.access" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "login\&.access" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/login.defs.5 b/man/ru/man5/login.defs.5 index b6d50389..2146a440 100644 --- a/man/ru/man5/login.defs.5 +++ b/man/ru/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "login\&.defs" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "login\&.defs" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/passwd.5 b/man/ru/man5/passwd.5 index d56b3478..c7ec5a44 100644 --- a/man/ru/man5/passwd.5 +++ b/man/ru/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "passwd" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "passwd" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/porttime.5 b/man/ru/man5/porttime.5 index 4d99e87a..ce991657 100644 --- a/man/ru/man5/porttime.5 +++ b/man/ru/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "porttime" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "porttime" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/shadow.5 b/man/ru/man5/shadow.5 index 84c1a57e..530948d3 100644 --- a/man/ru/man5/shadow.5 +++ b/man/ru/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "shadow" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "shadow" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains 9 fields, separated by colons (\(Fo:\(Fc), in th .PP \fBlogin name\fR .RS 4 -Должно содержать правильное имя учётной записи, которая существует в системе\&. +It must be a valid account name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/ru/man5/suauth.5 b/man/ru/man5/suauth.5 index 663e2123..dc10156d 100644 --- a/man/ru/man5/suauth.5 +++ b/man/ru/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "suauth" "5" "06/28/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "suauth" "5" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/chgpasswd.8 b/man/ru/man8/chgpasswd.8 index ef94e4ba..5862a5a5 100644 --- a/man/ru/man8/chgpasswd.8 +++ b/man/ru/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "chgpasswd" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "chgpasswd" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/chpasswd.8 b/man/ru/man8/chpasswd.8 index bebbaf2b..943b66d2 100644 --- a/man/ru/man8/chpasswd.8 +++ b/man/ru/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "chpasswd" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "chpasswd" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/faillog.8 b/man/ru/man8/faillog.8 index de22079a..370191c5 100644 --- a/man/ru/man8/faillog.8 +++ b/man/ru/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "faillog" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "faillog" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/groupadd.8 b/man/ru/man8/groupadd.8 index 20f7b2ac..b74355f2 100644 --- a/man/ru/man8/groupadd.8 +++ b/man/ru/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "groupadd" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "groupadd" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/ru/man8/groupdel.8 b/man/ru/man8/groupdel.8 index 0968366a..3a4fad9f 100644 --- a/man/ru/man8/groupdel.8 +++ b/man/ru/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "groupdel" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "groupdel" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/groupmems.8 b/man/ru/man8/groupmems.8 index b1dd8c2f..012f17e9 100644 --- a/man/ru/man8/groupmems.8 +++ b/man/ru/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "groupmems" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "groupmems" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/groupmod.8 b/man/ru/man8/groupmod.8 index f669e08a..3296649a 100644 --- a/man/ru/man8/groupmod.8 +++ b/man/ru/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "groupmod" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "groupmod" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 If group members are specified with \-U, append them to the existing member list, rather than replacing it\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/ru/man8/grpck.8 b/man/ru/man8/grpck.8 index 5514b2a5..2a845f7a 100644 --- a/man/ru/man8/grpck.8 +++ b/man/ru/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "grpck" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "grpck" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/lastlog.8 b/man/ru/man8/lastlog.8 index 93e8ccf2..4f4aff78 100644 --- a/man/ru/man8/lastlog.8 +++ b/man/ru/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "lastlog" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "lastlog" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/logoutd.8 b/man/ru/man8/logoutd.8 index c5ece1e9..78c01adf 100644 --- a/man/ru/man8/logoutd.8 +++ b/man/ru/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "logoutd" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "logoutd" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/newusers.8 b/man/ru/man8/newusers.8 index 762fde81..4df9f2c7 100644 --- a/man/ru/man8/newusers.8 +++ b/man/ru/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "newusers" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "newusers" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/nologin.8 b/man/ru/man8/nologin.8 index 87d1a050..a858234f 100644 --- a/man/ru/man8/nologin.8 +++ b/man/ru/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "nologin" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "nologin" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/pwck.8 b/man/ru/man8/pwck.8 index 33d35b0c..5fc0719b 100644 --- a/man/ru/man8/pwck.8 +++ b/man/ru/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "pwck" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "pwck" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/pwconv.8 b/man/ru/man8/pwconv.8 index 19f8a0c3..13e203f7 100644 --- a/man/ru/man8/pwconv.8 +++ b/man/ru/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "pwconv" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "pwconv" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/sulogin.8 b/man/ru/man8/sulogin.8 index 91e5fd2c..9e688887 100644 --- a/man/ru/man8/sulogin.8 +++ b/man/ru/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "sulogin" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "sulogin" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/useradd.8 b/man/ru/man8/useradd.8 index 0dd6f5f6..f4d049a3 100644 --- a/man/ru/man8/useradd.8 +++ b/man/ru/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "useradd" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "useradd" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/userdel.8 b/man/ru/man8/userdel.8 index e25d8399..936fd79c 100644 --- a/man/ru/man8/userdel.8 +++ b/man/ru/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "userdel" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "userdel" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/ru/man8/usermod.8 b/man/ru/man8/usermod.8 index ff36d8bc..45e8ac47 100644 --- a/man/ru/man8/usermod.8 +++ b/man/ru/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "usermod" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "usermod" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/vipw.8 b/man/ru/man8/vipw.8 index c80b1eca..c23ce974 100644 --- a/man/ru/man8/vipw.8 +++ b/man/ru/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 06/28/2024 +.\" Date: 12/06/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Russian .\" -.TH "vipw" "8" "06/28/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "vipw" "8" "12/06/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/shadow.5.xml b/man/shadow.5.xml index d2ad44b9..cec69705 100644 --- a/man/shadow.5.xml +++ b/man/shadow.5.xml @@ -64,7 +64,7 @@ login name - It must be a valid account name, which exist on the system. + It must be a valid account name, which exists on the system. diff --git a/man/subgid.5.xml b/man/subgid.5.xml index e473768d..09a866fc 100644 --- a/man/subgid.5.xml +++ b/man/subgid.5.xml @@ -51,7 +51,8 @@ files. - Note, that groupadd will only create entries in + Note, that newusers, useradd, and + usermod will only create entries in /etc/subgid if subid delegation is managed via subid files. diff --git a/man/subuid.5.xml b/man/subuid.5.xml index 79a6b42a..eb28eed7 100644 --- a/man/subuid.5.xml +++ b/man/subuid.5.xml @@ -51,7 +51,8 @@ files. - Note, that useradd will only create entries in + Note, that newusers, useradd, and + usermod will only create entries in /etc/subuid if subid delegation is managed via subid files. diff --git a/man/sv/Makefile.am b/man/sv/Makefile.am index 70329edf..1918af72 100644 --- a/man/sv/Makefile.am +++ b/man/sv/Makefile.am @@ -12,7 +12,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man5/gshadow.5 \ man8/logoutd.8 \ @@ -41,8 +40,7 @@ man_MANS += $(man_nopam) endif EXTRA_DIST = \ - $(man_MANS) \ - man1/id.1 + $(man_MANS) if USE_PAM EXTRA_DIST += $(man_nopam) diff --git a/man/sv/Makefile.in b/man/sv/Makefile.in index b3d1b124..94cbfeca 100644 --- a/man/sv/Makefile.in +++ b/man/sv/Makefile.in @@ -197,7 +197,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -348,16 +347,16 @@ top_srcdir = @top_srcdir@ # 2012.01.28 - activate manpages with more than 50% translated messages man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \ man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man5/gshadow.5 man8/logoutd.8 man1/newgrp.1 man8/nologin.8 \ - man1/passwd.1 man5/passwd.5 man8/pwck.8 man1/sg.1 \ - man3/shadow.3 man5/suauth.5 man8/userdel.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) $(am__append_2) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man5/gshadow.5 \ + man8/logoutd.8 man1/newgrp.1 man8/nologin.8 man1/passwd.1 \ + man5/passwd.5 man8/pwck.8 man1/sg.1 man3/shadow.3 \ + man5/suauth.5 man8/userdel.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) man_nopam = \ man5/limits.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_3) +EXTRA_DIST = $(man_MANS) $(am__append_3) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir diff --git a/man/sv/man1/chage.1 b/man/sv/man1/chage.1 index e881b898..34f286aa 100644 --- a/man/sv/man1/chage.1 +++ b/man/sv/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "CHAGE" "1" "28-06-2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHAGE" "1" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man1/chsh.1 b/man/sv/man1/chsh.1 index 4daba49d..adff1653 100644 --- a/man/sv/man1/chsh.1 +++ b/man/sv/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "CHSH" "1" "28-06-2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHSH" "1" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man1/expiry.1 b/man/sv/man1/expiry.1 index f17a208a..a19a13ab 100644 --- a/man/sv/man1/expiry.1 +++ b/man/sv/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "EXPIRY" "1" "28-06-2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "EXPIRY" "1" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man1/groups.1 b/man/sv/man1/groups.1 deleted file mode 100644 index ef277023..00000000 --- a/man/sv/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Swedish -.\" -.TH "GROUPS" "1" "28-06-2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -groups \- visa aktuella gruppnamn -.SH "SYNOPSIS" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "BESKRIVNING" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "NOTERA" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/sv/man1/id.1 b/man/sv/man1/id.1 deleted file mode 100644 index a65ec5e8..00000000 --- a/man/sv/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Swedish -.\" -.TH "ID" "1" "28-06-2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -id \- display current user and group ID names -.SH "SYNOPSIS" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "BESKRIVNING" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/sv/man1/newgrp.1 b/man/sv/man1/newgrp.1 index 302d43ec..38176a1c 100644 --- a/man/sv/man1/newgrp.1 +++ b/man/sv/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "NEWGRP" "1" "28-06-2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGRP" "1" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man1/passwd.1 b/man/sv/man1/passwd.1 index a344f2fa..c75e2460 100644 --- a/man/sv/man1/passwd.1 +++ b/man/sv/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "PASSWD" "1" "28-06-2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "PASSWD" "1" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,7 +110,7 @@ Lock the password of the named account\&. This option disables a password by cha .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. .sp Users with a locked password are not allowed to change their password\&. .RE diff --git a/man/sv/man1/sg.1 b/man/sv/man1/sg.1 index 12a9cf81..55895491 100644 --- a/man/sv/man1/sg.1 +++ b/man/sv/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "SG" "1" "28-06-2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SG" "1" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man3/shadow.3 b/man/sv/man3/shadow.3 index 04ab663d..cd77077f 100644 --- a/man/sv/man3/shadow.3 +++ b/man/sv/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "SHADOW" "3" "28-06-2024" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "SHADOW" "3" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/faillog.5 b/man/sv/man5/faillog.5 index 27943085..a54d2929 100644 --- a/man/sv/man5/faillog.5 +++ b/man/sv/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "FAILLOG" "5" "28-06-2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "FAILLOG" "5" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/gshadow.5 b/man/sv/man5/gshadow.5 index bfc2dfcc..0c48ca37 100644 --- a/man/sv/man5/gshadow.5 +++ b/man/sv/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "GSHADOW" "5" "28-06-2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "GSHADOW" "5" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains the following colon\-separated fields: .PP \fBgroup name\fR .RS 4 -It must be a valid group name, which exist on the system\&. +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/sv/man5/limits.5 b/man/sv/man5/limits.5 index 62fc2356..03907d1f 100644 --- a/man/sv/man5/limits.5 +++ b/man/sv/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "LIMITS" "5" "28-06-2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LIMITS" "5" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/passwd.5 b/man/sv/man5/passwd.5 index d06455e5..40331005 100644 --- a/man/sv/man5/passwd.5 +++ b/man/sv/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "PASSWD" "5" "28-06-2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PASSWD" "5" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/porttime.5 b/man/sv/man5/porttime.5 index b7e0a68b..01c3a173 100644 --- a/man/sv/man5/porttime.5 +++ b/man/sv/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "PORTTIME" "5" "28-06-2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PORTTIME" "5" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/suauth.5 b/man/sv/man5/suauth.5 index db4b50d2..371fe8a6 100644 --- a/man/sv/man5/suauth.5 +++ b/man/sv/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "SUAUTH" "5" "28-06-2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUAUTH" "5" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/faillog.8 b/man/sv/man8/faillog.8 index cbe113e0..6c10ee48 100644 --- a/man/sv/man8/faillog.8 +++ b/man/sv/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "FAILLOG" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "FAILLOG" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/groupadd.8 b/man/sv/man8/groupadd.8 index 19f66c95..3656cd76 100644 --- a/man/sv/man8/groupadd.8 +++ b/man/sv/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "GROUPADD" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPADD" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/sv/man8/groupdel.8 b/man/sv/man8/groupdel.8 index 1e7cb1cb..bc0e6db3 100644 --- a/man/sv/man8/groupdel.8 +++ b/man/sv/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "GROUPDEL" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPDEL" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/groupmems.8 b/man/sv/man8/groupmems.8 index a92e7279..f475bca9 100644 --- a/man/sv/man8/groupmems.8 +++ b/man/sv/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "GROUPMEMS" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMEMS" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/groupmod.8 b/man/sv/man8/groupmod.8 index f1d02b6c..81392ea4 100644 --- a/man/sv/man8/groupmod.8 +++ b/man/sv/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "GROUPMOD" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMOD" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 If group members are specified with \-U, append them to the existing member list, rather than replacing it\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/sv/man8/grpck.8 b/man/sv/man8/grpck.8 index 333ee0b5..986a6e86 100644 --- a/man/sv/man8/grpck.8 +++ b/man/sv/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "GRPCK" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GRPCK" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/lastlog.8 b/man/sv/man8/lastlog.8 index fe4ef1ff..9e76bdb6 100644 --- a/man/sv/man8/lastlog.8 +++ b/man/sv/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "LASTLOG" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LASTLOG" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/logoutd.8 b/man/sv/man8/logoutd.8 index f357c2f0..c0366581 100644 --- a/man/sv/man8/logoutd.8 +++ b/man/sv/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "LOGOUTD" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LOGOUTD" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/nologin.8 b/man/sv/man8/nologin.8 index 968ce38f..1b31d3d1 100644 --- a/man/sv/man8/nologin.8 +++ b/man/sv/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "NOLOGIN" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NOLOGIN" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/pwck.8 b/man/sv/man8/pwck.8 index d75fed0c..0884133c 100644 --- a/man/sv/man8/pwck.8 +++ b/man/sv/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "PWCK" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCK" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/userdel.8 b/man/sv/man8/userdel.8 index 839a2111..14f0ffe4 100644 --- a/man/sv/man8/userdel.8 +++ b/man/sv/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "USERDEL" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERDEL" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/sv/man8/vipw.8 b/man/sv/man8/vipw.8 index eef7c9d3..044786c1 100644 --- a/man/sv/man8/vipw.8 +++ b/man/sv/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28-06-2024 +.\" Date: 06-12-2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Swedish .\" -.TH "VIPW" "8" "28-06-2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "VIPW" "8" "06-12-2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/tr/Makefile.in b/man/tr/Makefile.in index ff1d8845..3a4e4ba1 100644 --- a/man/tr/Makefile.in +++ b/man/tr/Makefile.in @@ -192,7 +192,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/man/uk/Makefile.am b/man/uk/Makefile.am index 3fb5ffb3..a0f106d6 100644 --- a/man/uk/Makefile.am +++ b/man/uk/Makefile.am @@ -16,7 +16,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ @@ -57,7 +56,6 @@ endif EXTRA_DIST = \ $(man_MANS) \ - man1/id.1 \ man8/sulogin.8 if USE_PAM diff --git a/man/uk/Makefile.in b/man/uk/Makefile.in index 83e14faa..cffc9377 100644 --- a/man/uk/Makefile.in +++ b/man/uk/Makefile.in @@ -197,7 +197,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -347,19 +346,19 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ - man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ - man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ - man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ - $(am__append_1) $(am__append_2) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man8/grpconv.8 \ + man8/grpunconv.8 man5/gshadow.5 man1/login.1 man5/login.defs.5 \ + man8/logoutd.8 man1/newgrp.1 man8/newusers.8 man8/nologin.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ + man8/pwunconv.8 man1/sg.1 man3/shadow.3 man5/shadow.5 \ + man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ + man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ + $(am__append_2) man_nopam = \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) +EXTRA_DIST = $(man_MANS) man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir diff --git a/man/uk/man1/chage.1 b/man/uk/man1/chage.1 index 7da2ef8e..e3665db3 100644 --- a/man/uk/man1/chage.1 +++ b/man/uk/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "chage" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "chage" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man1/chfn.1 b/man/uk/man1/chfn.1 index 896ec708..214000b6 100644 --- a/man/uk/man1/chfn.1 +++ b/man/uk/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "chfn" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "chfn" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man1/chsh.1 b/man/uk/man1/chsh.1 index 63e2f372..27748a2d 100644 --- a/man/uk/man1/chsh.1 +++ b/man/uk/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "chsh" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "chsh" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man1/expiry.1 b/man/uk/man1/expiry.1 index cdbd01c1..a467d030 100644 --- a/man/uk/man1/expiry.1 +++ b/man/uk/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "expiry" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "expiry" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man1/gpasswd.1 b/man/uk/man1/gpasswd.1 index f03d882c..a7fc7c9d 100644 --- a/man/uk/man1/gpasswd.1 +++ b/man/uk/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "gpasswd" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "gpasswd" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man1/groups.1 b/man/uk/man1/groups.1 deleted file mode 100644 index de91d567..00000000 --- a/man/uk/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Ukrainian -.\" -.TH "groups" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "НАЗВА" -groups \- показ поточних назв груп -.SH "КОРОТКИЙ ОГЛЯД" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "ОПИС" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "ЗАУВАЖЕННЯ" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "ФАЙЛИ" -.PP -/etc/group -.RS 4 -Відомості щодо груп облікових записів\&. -.RE -.SH "ДИВ\&. ТАКОЖ" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/uk/man1/id.1 b/man/uk/man1/id.1 deleted file mode 100644 index 5b70e685..00000000 --- a/man/uk/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Ukrainian -.\" -.TH "id" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "НАЗВА" -id \- display current user and group ID names -.SH "КОРОТКИЙ ОГЛЯД" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "ОПИС" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "ФАЙЛИ" -.PP -/etc/group -.RS 4 -Відомості щодо груп облікових записів\&. -.RE -.PP -/etc/passwd -.RS 4 -Відомості щодо облікових записів користувача\&. -.RE -.SH "ДИВ\&. ТАКОЖ" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/uk/man1/login.1 b/man/uk/man1/login.1 index c63cc43e..455ceefa 100644 --- a/man/uk/man1/login.1 +++ b/man/uk/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "login" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "login" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -115,11 +115,6 @@ is mandatory\&. Зберегти середовище\&. .RE .PP -\fB\-r\fR -.RS 4 -Виконати протокол автоматичного входу для rlogin\&. -.RE -.PP The \fB\-r\fR, \fB\-h\fR diff --git a/man/uk/man1/newgrp.1 b/man/uk/man1/newgrp.1 index 0f5dc388..f2d535f8 100644 --- a/man/uk/man1/newgrp.1 +++ b/man/uk/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "newgrp" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "newgrp" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man1/passwd.1 b/man/uk/man1/passwd.1 index 960fe6ab..562b2868 100644 --- a/man/uk/man1/passwd.1 +++ b/man/uk/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "passwd" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "passwd" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,7 +110,7 @@ days, the user may no longer sign on to the account\&. .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. .sp Користувачі із заблокованим паролем не зможуть змінювати власний пароль\&. .RE diff --git a/man/uk/man1/sg.1 b/man/uk/man1/sg.1 index 4320dc1d..242260db 100644 --- a/man/uk/man1/sg.1 +++ b/man/uk/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "sg" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "sg" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man1/su.1 b/man/uk/man1/su.1 index ff2ce4b5..ed5e0d42 100644 --- a/man/uk/man1/su.1 +++ b/man/uk/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "su" "1" "28/06/2024" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "su" "1" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man3/shadow.3 b/man/uk/man3/shadow.3 index 2b5df100..ea60c3fd 100644 --- a/man/uk/man3/shadow.3 +++ b/man/uk/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "shadow" "3" "28/06/2024" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "shadow" "3" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man5/faillog.5 b/man/uk/man5/faillog.5 index c797ea0a..41753f5b 100644 --- a/man/uk/man5/faillog.5 +++ b/man/uk/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "faillog" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "faillog" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man5/gshadow.5 b/man/uk/man5/gshadow.5 index 573c5271..7a074664 100644 --- a/man/uk/man5/gshadow.5 +++ b/man/uk/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "gshadow" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "gshadow" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ contains the shadowed information for group accounts\&. .PP \fBgroup name\fR .RS 4 -Це має бути коректна назва групи, яка існує у системі\&. +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/uk/man5/login.access.5 b/man/uk/man5/login.access.5 index db8a8a47..3d3cc866 100644 --- a/man/uk/man5/login.access.5 +++ b/man/uk/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "login\&.access" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "login\&.access" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man5/login.defs.5 b/man/uk/man5/login.defs.5 index 9b1350f0..c97f1a8f 100644 --- a/man/uk/man5/login.defs.5 +++ b/man/uk/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "login\&.defs" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "login\&.defs" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man5/passwd.5 b/man/uk/man5/passwd.5 index e87dd0db..d0ba6038 100644 --- a/man/uk/man5/passwd.5 +++ b/man/uk/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "passwd" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "passwd" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man5/porttime.5 b/man/uk/man5/porttime.5 index dcb18158..eb84c768 100644 --- a/man/uk/man5/porttime.5 +++ b/man/uk/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "porttime" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "porttime" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man5/shadow.5 b/man/uk/man5/shadow.5 index 83678f08..06514c9e 100644 --- a/man/uk/man5/shadow.5 +++ b/man/uk/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "shadow" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "shadow" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ is a file which contains the password information for the system\*(Aqs accounts .PP \fBlogin name\fR .RS 4 -Це має бути коректна назва облікового запису, яка існує у системі\&. +It must be a valid account name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/uk/man5/suauth.5 b/man/uk/man5/suauth.5 index 953854d6..e0b2a163 100644 --- a/man/uk/man5/suauth.5 +++ b/man/uk/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "suauth" "5" "28/06/2024" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "suauth" "5" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/chgpasswd.8 b/man/uk/man8/chgpasswd.8 index f061c9e0..23eca1b9 100644 --- a/man/uk/man8/chgpasswd.8 +++ b/man/uk/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "chgpasswd" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "chgpasswd" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/chpasswd.8 b/man/uk/man8/chpasswd.8 index 780b4ba3..87c752ea 100644 --- a/man/uk/man8/chpasswd.8 +++ b/man/uk/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "chpasswd" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "chpasswd" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/faillog.8 b/man/uk/man8/faillog.8 index 58fe903a..053f0720 100644 --- a/man/uk/man8/faillog.8 +++ b/man/uk/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "faillog" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "faillog" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/groupadd.8 b/man/uk/man8/groupadd.8 index 20367ec5..6c5fe7af 100644 --- a/man/uk/man8/groupadd.8 +++ b/man/uk/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "groupadd" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "groupadd" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -Список імен користувачів, яких слід додати як учасників групи\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/uk/man8/groupdel.8 b/man/uk/man8/groupdel.8 index de50b6fa..39d9ab61 100644 --- a/man/uk/man8/groupdel.8 +++ b/man/uk/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "groupdel" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "groupdel" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/groupmems.8 b/man/uk/man8/groupmems.8 index ee5419f9..a7a48b09 100644 --- a/man/uk/man8/groupmems.8 +++ b/man/uk/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "groupmems" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "groupmems" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/groupmod.8 b/man/uk/man8/groupmod.8 index 92fa2eb9..b489ea33 100644 --- a/man/uk/man8/groupmod.8 +++ b/man/uk/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "groupmod" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "groupmod" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 Учасників групи вказують за допомогою параметра \-U\&. Записи буде дописано до наявного списку учасників, а не використано для заміни цього списку\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -Список імен користувачів, яких слід додати як учасників групи\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/uk/man8/grpck.8 b/man/uk/man8/grpck.8 index 45280bff..3dcd89ef 100644 --- a/man/uk/man8/grpck.8 +++ b/man/uk/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "grpck" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "grpck" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/lastlog.8 b/man/uk/man8/lastlog.8 index 9add8976..ffbb5d76 100644 --- a/man/uk/man8/lastlog.8 +++ b/man/uk/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "lastlog" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "lastlog" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/logoutd.8 b/man/uk/man8/logoutd.8 index 440dfcd6..3dd78680 100644 --- a/man/uk/man8/logoutd.8 +++ b/man/uk/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "logoutd" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "logoutd" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/newusers.8 b/man/uk/man8/newusers.8 index 55cb4479..055d6501 100644 --- a/man/uk/man8/newusers.8 +++ b/man/uk/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "newusers" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "newusers" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/nologin.8 b/man/uk/man8/nologin.8 index 8bce57c1..56aaa1e2 100644 --- a/man/uk/man8/nologin.8 +++ b/man/uk/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "nologin" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "nologin" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/pwck.8 b/man/uk/man8/pwck.8 index e7f038b8..1e8e1f08 100644 --- a/man/uk/man8/pwck.8 +++ b/man/uk/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "pwck" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "pwck" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/pwconv.8 b/man/uk/man8/pwconv.8 index e0ae539c..2b4c61ff 100644 --- a/man/uk/man8/pwconv.8 +++ b/man/uk/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "pwconv" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "pwconv" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/sulogin.8 b/man/uk/man8/sulogin.8 index ce9d7443..746f50de 100644 --- a/man/uk/man8/sulogin.8 +++ b/man/uk/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "sulogin" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "sulogin" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/useradd.8 b/man/uk/man8/useradd.8 index 8943af59..230a9972 100644 --- a/man/uk/man8/useradd.8 +++ b/man/uk/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "useradd" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "useradd" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/userdel.8 b/man/uk/man8/userdel.8 index 0c8dae2a..e0f3f478 100644 --- a/man/uk/man8/userdel.8 +++ b/man/uk/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "userdel" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "userdel" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/uk/man8/usermod.8 b/man/uk/man8/usermod.8 index fe151c74..1164f0df 100644 --- a/man/uk/man8/usermod.8 +++ b/man/uk/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "usermod" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "usermod" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man8/vipw.8 b/man/uk/man8/vipw.8 index f3b13b04..ff963049 100644 --- a/man/uk/man8/vipw.8 +++ b/man/uk/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 28/06/2024 +.\" Date: 06/12/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Ukrainian .\" -.TH "vipw" "8" "28/06/2024" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "vipw" "8" "06/12/2024" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/userdel.8.xml b/man/userdel.8.xml index 5bd2981a..32851f11 100644 --- a/man/userdel.8.xml +++ b/man/userdel.8.xml @@ -77,17 +77,9 @@ - This option forces the removal of the user account, even if the - user is still - logged in. It also forces userdel to remove - the user's home directory and mail spool, even if another - user uses the same home directory or if the mail spool is not - owned by the specified user. If - is defined to yes in /etc/login.defs - and if a group exists with the same name as the deleted user, - then this group will be removed, even if it is still the primary - group of another user. + This option forces the removal of the user account + and any other requested actions, + skipping any safety checks. Note: This option is dangerous and may leave diff --git a/man/zh_CN/Makefile.am b/man/zh_CN/Makefile.am index a8b93a56..59d1072d 100644 --- a/man/zh_CN/Makefile.am +++ b/man/zh_CN/Makefile.am @@ -16,7 +16,6 @@ man_MANS = \ man8/groupdel.8 \ man8/groupmems.8 \ man8/groupmod.8 \ - man1/groups.1 \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ @@ -58,7 +57,6 @@ endif EXTRA_DIST = \ $(man_MANS) \ - man1/id.1 \ man8/sulogin.8 if USE_PAM diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in index 7f100a79..c84495ce 100644 --- a/man/zh_CN/Makefile.in +++ b/man/zh_CN/Makefile.in @@ -197,7 +197,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -347,20 +346,20 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ - man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ - man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ - man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ - $(am__append_1) $(am__append_2) + man8/groupmems.8 man8/groupmod.8 man8/grpck.8 man8/grpconv.8 \ + man8/grpunconv.8 man5/gshadow.5 man1/login.1 man5/login.defs.5 \ + man8/logoutd.8 man1/newgrp.1 man8/newusers.8 man8/nologin.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ + man8/pwunconv.8 man1/sg.1 man3/shadow.3 man5/shadow.5 \ + man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ + man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ + $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) +EXTRA_DIST = $(man_MANS) man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir @ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir diff --git a/man/zh_CN/man1/chage.1 b/man/zh_CN/man1/chage.1 index 0ba783ed..5bbd72d7 100644 --- a/man/zh_CN/man1/chage.1 +++ b/man/zh_CN/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "CHAGE" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHAGE" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/chfn.1 b/man/zh_CN/man1/chfn.1 index 7ebe4191..8c25ddaf 100644 --- a/man/zh_CN/man1/chfn.1 +++ b/man/zh_CN/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "CHFN" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHFN" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/chsh.1 b/man/zh_CN/man1/chsh.1 index d6fce32f..8fd0577d 100644 --- a/man/zh_CN/man1/chsh.1 +++ b/man/zh_CN/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "CHSH" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "CHSH" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/expiry.1 b/man/zh_CN/man1/expiry.1 index 9af44086..cedad4a1 100644 --- a/man/zh_CN/man1/expiry.1 +++ b/man/zh_CN/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "EXPIRY" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "EXPIRY" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/gpasswd.1 b/man/zh_CN/man1/gpasswd.1 index 2c7713de..4fa25639 100644 --- a/man/zh_CN/man1/gpasswd.1 +++ b/man/zh_CN/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "GPASSWD" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "GPASSWD" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/groups.1 b/man/zh_CN/man1/groups.1 deleted file mode 100644 index 4fc5320a..00000000 --- a/man/zh_CN/man1/groups.1 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Chinese Simplified -.\" -.TH "GROUPS" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "名称" -groups \- 显示当前组名 -.SH "大纲" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "描述" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named user\&. -.SH "注意" -.PP -Systems which do not support supplementary groups (see -\fBinitgroups\fR(3)) will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "文件" -.PP -/etc/group -.RS 4 -组账户信息。 -.RE -.SH "参见" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3)\&. diff --git a/man/zh_CN/man1/id.1 b/man/zh_CN/man1/id.1 deleted file mode 100644 index 9bb5e4ad..00000000 --- a/man/zh_CN/man1/id.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 -.\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 -.\" Language: Chinese Simplified -.\" -.TH "ID" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "名称" -id \- display current user and group ID names -.SH "大纲" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "描述" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support supplementary groups (see -\fBinitgroups\fR(3))\&. -.SH "文件" -.PP -/etc/group -.RS 4 -组账户信息。 -.RE -.PP -/etc/passwd -.RS 4 -用户账户信息。 -.RE -.SH "参见" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2), -\fBinitgroups\fR(3) diff --git a/man/zh_CN/man1/login.1 b/man/zh_CN/man1/login.1 index 41962868..22dbb01f 100644 --- a/man/zh_CN/man1/login.1 +++ b/man/zh_CN/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "LOGIN" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "LOGIN" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -115,11 +115,6 @@ is mandatory\&. 保留环境。 .RE .PP -\fB\-r\fR -.RS 4 -为 rlogin (远程登录)执行 autologin (自动登录)协议。 -.RE -.PP The \fB\-r\fR, \fB\-h\fR diff --git a/man/zh_CN/man1/newgrp.1 b/man/zh_CN/man1/newgrp.1 index 81729552..6d29f827 100644 --- a/man/zh_CN/man1/newgrp.1 +++ b/man/zh_CN/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "NEWGRP" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "NEWGRP" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/passwd.1 b/man/zh_CN/man1/passwd.1 index 935f5a04..1126ffab 100644 --- a/man/zh_CN/man1/passwd.1 +++ b/man/zh_CN/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "PASSWD" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "PASSWD" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,7 +110,7 @@ days, the user may no longer sign on to the account\&. .sp Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use \fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. +(this sets the account\*(Aqs expire date to Jan 2, 1970)\&. .sp 被锁定了密码的用户不允许更改密码。 .RE diff --git a/man/zh_CN/man1/sg.1 b/man/zh_CN/man1/sg.1 index 450fe8a1..97cb9bf2 100644 --- a/man/zh_CN/man1/sg.1 +++ b/man/zh_CN/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "SG" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SG" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/su.1 b/man/zh_CN/man1/su.1 index 7453b06f..471114ab 100644 --- a/man/zh_CN/man1/su.1 +++ b/man/zh_CN/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: User Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "SU" "1" "2024-06-28" "shadow\-utils 4\&.15\&.3" "User Commands" +.TH "SU" "1" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man3/shadow.3 b/man/zh_CN/man3/shadow.3 index 746169e6..c34cdb1f 100644 --- a/man/zh_CN/man3/shadow.3 +++ b/man/zh_CN/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: Library Calls -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "SHADOW" "3" "2024-06-28" "shadow\-utils 4\&.15\&.3" "Library Calls" +.TH "SHADOW" "3" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/faillog.5 b/man/zh_CN/man5/faillog.5 index 60db2dec..f8ec0c5c 100644 --- a/man/zh_CN/man5/faillog.5 +++ b/man/zh_CN/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "FAILLOG" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuratio" +.TH "FAILLOG" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/gshadow.5 b/man/zh_CN/man5/gshadow.5 index c3a94970..a8d11ef0 100644 --- a/man/zh_CN/man5/gshadow.5 +++ b/man/zh_CN/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "GSHADOW" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "GSHADOW" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ contains the shadowed information for group accounts\&. .PP \fBgroup name\fR .RS 4 -必须是系统中已经存在的有效组。 +It must be a valid group name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/zh_CN/man5/limits.5 b/man/zh_CN/man5/limits.5 index d869fcc2..2f326ba4 100644 --- a/man/zh_CN/man5/limits.5 +++ b/man/zh_CN/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "LIMITS" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LIMITS" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/login.access.5 b/man/zh_CN/man5/login.access.5 index 8072f67a..ba2f2cf5 100644 --- a/man/zh_CN/man5/login.access.5 +++ b/man/zh_CN/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "LOGIN\&.ACCESS" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/login.defs.5 b/man/zh_CN/man5/login.defs.5 index 4aec5db5..624fd5bc 100644 --- a/man/zh_CN/man5/login.defs.5 +++ b/man/zh_CN/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "LOGIN\&.DEFS" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/passwd.5 b/man/zh_CN/man5/passwd.5 index 1fb5e2b3..9d1330e6 100644 --- a/man/zh_CN/man5/passwd.5 +++ b/man/zh_CN/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "PASSWD" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PASSWD" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/porttime.5 b/man/zh_CN/man5/porttime.5 index d460d85c..a81ecb24 100644 --- a/man/zh_CN/man5/porttime.5 +++ b/man/zh_CN/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "PORTTIME" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "PORTTIME" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/shadow.5 b/man/zh_CN/man5/shadow.5 index 9c4d7a85..9e4e49c2 100644 --- a/man/zh_CN/man5/shadow.5 +++ b/man/zh_CN/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "SHADOW" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SHADOW" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ Each line of this file contains 9 fields, separated by colons (\(lq:\(rq), in th .PP \fBlogin name\fR .RS 4 -必须是有效的账户名,且已经存在于系统中。 +It must be a valid account name, which exists on the system\&. .RE .PP \fBencrypted password\fR diff --git a/man/zh_CN/man5/suauth.5 b/man/zh_CN/man5/suauth.5 index ddb9b8d5..903ac6f2 100644 --- a/man/zh_CN/man5/suauth.5 +++ b/man/zh_CN/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "SUAUTH" "5" "2024-06-28" "shadow\-utils 4\&.15\&.3" "File Formats and Configuration" +.TH "SUAUTH" "5" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/chgpasswd.8 b/man/zh_CN/man8/chgpasswd.8 index 5cef91c1..232e72fa 100644 --- a/man/zh_CN/man8/chgpasswd.8 +++ b/man/zh_CN/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "CHGPASSWD" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHGPASSWD" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/chpasswd.8 b/man/zh_CN/man8/chpasswd.8 index 6acced21..d5d87d55 100644 --- a/man/zh_CN/man8/chpasswd.8 +++ b/man/zh_CN/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "CHPASSWD" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "CHPASSWD" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/faillog.8 b/man/zh_CN/man8/faillog.8 index 27b4dac5..054a7820 100644 --- a/man/zh_CN/man8/faillog.8 +++ b/man/zh_CN/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "FAILLOG" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "FAILLOG" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/groupadd.8 b/man/zh_CN/man8/groupadd.8 index f31690d5..00cec478 100644 --- a/man/zh_CN/man8/groupadd.8 +++ b/man/zh_CN/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "GROUPADD" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPADD" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -146,7 +146,7 @@ Apply changes to configuration files under the root filesystem found under the d .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the \fB\-g\fR, diff --git a/man/zh_CN/man8/groupdel.8 b/man/zh_CN/man8/groupdel.8 index e55a831e..ca69b59c 100644 --- a/man/zh_CN/man8/groupdel.8 +++ b/man/zh_CN/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "GROUPDEL" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPDEL" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/groupmems.8 b/man/zh_CN/man8/groupmems.8 index b2c740ab..5b622c7b 100644 --- a/man/zh_CN/man8/groupmems.8 +++ b/man/zh_CN/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "GROUPMEMS" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMEMS" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/groupmod.8 b/man/zh_CN/man8/groupmod.8 index 487d55dd..55945d10 100644 --- a/man/zh_CN/man8/groupmod.8 +++ b/man/zh_CN/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "GROUPMOD" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GROUPMOD" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ The options which apply to the \fBgroupmod\fR command are: .PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR +\fB\-a\fR, \fB\-\-append\fR .RS 4 If group members are specified with \-U, append them to the existing member list, rather than replacing it\&. .RE @@ -131,11 +131,11 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 -A list of usernames to add as members of the group\&. +A comma\-separated list of usernames to add as members of the group\&. .sp The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and +\fB\-g\fR +and \fB\-U\fR options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR diff --git a/man/zh_CN/man8/grpck.8 b/man/zh_CN/man8/grpck.8 index 7a56eda2..00ea01c8 100644 --- a/man/zh_CN/man8/grpck.8 +++ b/man/zh_CN/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "GRPCK" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "GRPCK" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/lastlog.8 b/man/zh_CN/man8/lastlog.8 index da2b9a54..57ef7c49 100644 --- a/man/zh_CN/man8/lastlog.8 +++ b/man/zh_CN/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "LASTLOG" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LASTLOG" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/logoutd.8 b/man/zh_CN/man8/logoutd.8 index 0b30dcad..eaf0c459 100644 --- a/man/zh_CN/man8/logoutd.8 +++ b/man/zh_CN/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "LOGOUTD" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "LOGOUTD" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/newusers.8 b/man/zh_CN/man8/newusers.8 index 7d0fc64b..4f23f579 100644 --- a/man/zh_CN/man8/newusers.8 +++ b/man/zh_CN/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "NEWUSERS" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NEWUSERS" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/nologin.8 b/man/zh_CN/man8/nologin.8 index 7a9bd47f..5d136362 100644 --- a/man/zh_CN/man8/nologin.8 +++ b/man/zh_CN/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "NOLOGIN" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "NOLOGIN" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/pwck.8 b/man/zh_CN/man8/pwck.8 index 0a0ff7d4..04a6845f 100644 --- a/man/zh_CN/man8/pwck.8 +++ b/man/zh_CN/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "PWCK" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCK" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/pwconv.8 b/man/zh_CN/man8/pwconv.8 index 314b5a26..ea584d24 100644 --- a/man/zh_CN/man8/pwconv.8 +++ b/man/zh_CN/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "PWCONV" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "PWCONV" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/sulogin.8 b/man/zh_CN/man8/sulogin.8 index 74bdc8f6..d70d3b81 100644 --- a/man/zh_CN/man8/sulogin.8 +++ b/man/zh_CN/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "SULOGIN" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "SULOGIN" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/useradd.8 b/man/zh_CN/man8/useradd.8 index 3f29c079..4e1806b2 100644 --- a/man/zh_CN/man8/useradd.8 +++ b/man/zh_CN/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "USERADD" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERADD" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/userdel.8 b/man/zh_CN/man8/userdel.8 index 60cc3e4a..0f03beae 100644 --- a/man/zh_CN/man8/userdel.8 +++ b/man/zh_CN/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "USERDEL" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERDEL" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -46,15 +46,7 @@ command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. +This option forces the removal of the user account and any other requested actions, skipping any safety checks\&. .sp \fINote:\fR This option is dangerous and may leave your system in an inconsistent state\&. diff --git a/man/zh_CN/man8/usermod.8 b/man/zh_CN/man8/usermod.8 index 3745e6bd..0ba298a5 100644 --- a/man/zh_CN/man8/usermod.8 +++ b/man/zh_CN/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "USERMOD" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "USERMOD" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/vipw.8 b/man/zh_CN/man8/vipw.8 index 15fe21c4..c5a06519 100644 --- a/man/zh_CN/man8/vipw.8 +++ b/man/zh_CN/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2024-06-28 +.\" Date: 2024-12-06 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.15.3 +.\" Source: shadow-utils 4.17.0-rc1 .\" Language: Chinese Simplified .\" -.TH "VIPW" "8" "2024-06-28" "shadow\-utils 4\&.15\&.3" "System Management Commands" +.TH "VIPW" "8" "2024-12-06" "shadow\-utils 4\&.17\&.0\-rc1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_TW/Makefile.in b/man/zh_TW/Makefile.in index aa24541d..1ec42f98 100644 --- a/man/zh_TW/Makefile.in +++ b/man/zh_TW/Makefile.in @@ -192,7 +192,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ diff --git a/po/POTFILES.in b/po/POTFILES.in index 9ff6100b..3aff87b2 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -22,8 +22,6 @@ lib/find_new_sub_gids.c lib/find_new_sub_uids.c lib/find_new_uid.c lib/fputsx.c -lib/get_gid.c -lib/get_uid.c lib/getdef.c lib/getgr_nam_gid.c lib/getrange.c @@ -53,7 +51,6 @@ lib/pwdcheck.c lib/pwio.c lib/pwmem.c lib/remove_tree.c -lib/rlogin.c lib/root_flag.c lib/salt.c lib/selinux.c @@ -93,11 +90,9 @@ src/groupadd.c src/groupdel.c src/groupmems.c src/groupmod.c -src/groups.c src/grpck.c src/grpconv.c src/grpunconv.c -src/id.c src/lastlog.c src/login.c src/login_nopam.c diff --git a/po/bs.po b/po/bs.po index d8ff4d6a..ff6e4dc3 100644 --- a/po/bs.po +++ b/po/bs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2004-05-09 12:03+0100\n" "Last-Translator: Safir Šećerović \n" "Language-Team: Bosnian \n" @@ -494,10 +494,6 @@ msgstr "" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "nepoznata grupa: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "nepoznata grupa: %s\n" @@ -816,6 +812,10 @@ msgstr "" msgid "%s: '%s' contains illegal characters\n" msgstr "" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: grupa %s postoji\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: grupa %s postoji\n" @@ -1266,10 +1266,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1370,12 +1366,6 @@ msgstr "" msgid "%s: cannot delete %s\n" msgstr "%s: nepoznat član %s\n" -msgid "Usage: id [-a]\n" -msgstr "" - -msgid " groups=" -msgstr "" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1445,10 +1435,6 @@ msgstr "" msgid " %s [-p] [-h host] [-f name]\n" msgstr "" -#, c-format -msgid " %s [-p] -r host\n" -msgstr "" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1586,6 +1572,10 @@ msgstr "Stara šifra:" msgid "%s: failure forking: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: grupa %s postoji\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: grupa %s postoji\n" @@ -1625,6 +1615,10 @@ msgstr "" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" +#, fuzzy, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "nepoznata grupa: %s\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1856,6 +1850,10 @@ msgstr "" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "" +#, fuzzy, c-format +msgid "invalid user name '%s'\n" +msgstr "nepoznata grupa: %s\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "" @@ -2053,12 +2051,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2650,19 +2648,19 @@ msgid "failed to rename mailbox" msgstr "" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "nepoznata grupa: %s\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "nepoznata grupa: %s\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "nepoznata grupa: %s\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "nepoznata grupa: %s\n" #, c-format diff --git a/po/ca.gmo b/po/ca.gmo index f55a2eb3..f76f84de 100644 Binary files a/po/ca.gmo and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po index acfcc9bb..054bfeb4 100644 --- a/po/ca.po +++ b/po/ca.po @@ -1,22 +1,22 @@ # Shadow Catalan translation. # Guillem Jover , 2004, 2005, 2006. # Innocent De Marchi , 2011-2012 +# Carles Pina i Estany , 2024 # msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" -"PO-Revision-Date: 2012-01-22 18:25+0100\n" -"Last-Translator: Innocent De Marchi \n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" +"PO-Revision-Date: 2024-08-11 21:26+0100\n" +"Last-Translator: Carles Pina i Estany \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Poedit-Language: Catalan\n" -"X-Poedit-Country: SPAIN\n" +"X-Generator: Poedit 3.2.2\n" #, c-format msgid "Warning: unknown group %s\n" @@ -114,57 +114,52 @@ msgstr "%s: Configuració incorrecta: GID_MIN (%lu), GID_MAX (%lu)\n" #, c-format msgid "%s: Encountered error attempting to use preferred GID: %s\n" -msgstr "" +msgstr "%s: s'ha trobat un error en intentar utilitzar el GID preferit: %s\n" #, c-format msgid "%s: failed to allocate memory: %s\n" msgstr "%s: no es pot assignar memòria: %s\n" -#, fuzzy, c-format -#| msgid "%s: Can't get unique system GID (no more available GIDs)\n" +#, c-format msgid "" "%s: Can't get unique system GID (%s). Suppressing additional messages.\n" msgstr "" -"%s: no es pot obtenir un GID de sistema únic (no hi ha més GID disponibles)\n" +"%s: no es pot obtenir un GID de sistema únic (%s). S'estan suprimint els " +"missatges addicionals.\n" -#, fuzzy, c-format -#| msgid "%s: Can't get unique GID (no more available GIDs)\n" +#, c-format msgid "%s: Can't get unique GID (%s). Suppressing additional messages.\n" -msgstr "%s: no es pot obtenir un GID únic (no hi ha més GID disponibles)\n" +msgstr "" +"%s: no es pot obtenir un GID únic (%s). S'estan suprimint els missatges " +"addicionals\n" #, c-format msgid "%s: Can't get unique GID (no more available GIDs)\n" msgstr "%s: no es pot obtenir un GID únic (no hi ha més GID disponibles)\n" -#, fuzzy, c-format -#| msgid "" -#| "%s: Invalid configuration: SYS_GID_MIN (%lu), GID_MIN (%lu), SYS_GID_MAX " -#| "(%lu)\n" +#, c-format msgid "" "%s: Invalid configuration: SUB_GID_MIN (%lu), SUB_GID_MAX (%lu), " "SUB_GID_COUNT (%lu)\n" msgstr "" -"%s: Configuració incorrecta: SYS_GID_MIN (%lu), GID_MIN (%lu), SYS_GID_MAX " -"(%lu)\n" +"%s: la configuració no és vàlida: SUB_GID_MIN (%lu), SUB_GID_MAX (%lu), " +"SUB_GID_COUNT (%lu)\n" -#, fuzzy, c-format +#, c-format msgid "%s: Can't get unique subordinate GID range\n" -msgstr "%s: no es pot generar l'usuari\n" +msgstr "%s: no es pot obtenir un únic rang GID subordinat\n" -#, fuzzy, c-format -#| msgid "" -#| "%s: Invalid configuration: SYS_UID_MIN (%lu), UID_MIN (%lu), SYS_UID_MAX " -#| "(%lu)\n" +#, c-format msgid "" "%s: Invalid configuration: SUB_UID_MIN (%lu), SUB_UID_MAX (%lu), " "SUB_UID_COUNT (%lu)\n" msgstr "" -"%s: Configuració incorrecta: SYS_UID_MIN (%lu), UID_MIN (%lu), SYS_UID_MAX " -"(%lu)\n" +"%s: la configuració no és vàlida: SUB_UID_MIN (%lu), SUB_UID_MAX (%lu), " +"SUB_UID_COUNT (%lu)\n" -#, fuzzy, c-format +#, c-format msgid "%s: Can't get unique subordinate UID range\n" -msgstr "%s: no es pot generar l'usuari\n" +msgstr "%s: no es pot obtenir un únic rang UID subordinat\n" #, c-format msgid "" @@ -180,18 +175,20 @@ msgstr "%s: Configuració incorrecta: UID_MIN (%lu), UID_MAX (%lu)\n" #, c-format msgid "%s: Encountered error attempting to use preferred UID: %s\n" -msgstr "" +msgstr "%s: s'ha trobat un error en intentar utilitzar l'UID preferit: %s\n" -#, fuzzy, c-format -#| msgid "%s: Can't get unique system UID (no more available UIDs)\n" +#, c-format msgid "" "%s: Can't get unique system UID (%s). Suppressing additional messages.\n" -msgstr "%s: no es pot obtenir un UID únic (no hi ha més UID disponibles)\n" +msgstr "" +"%s: no es pot obtenir un UID de sistema únic (%s). S'estan suprimint els " +"missatges addicionals.\n" -#, fuzzy, c-format -#| msgid "%s: Can't get unique UID (no more available UIDs)\n" +#, c-format msgid "%s: Can't get unique UID (%s). Suppressing additional messages.\n" -msgstr "%s: no es pot obtenir un GID únic (no hi ha més GID disponibles)\n" +msgstr "" +"%s: no es pot obtenir un UID únic (%s). S'estan suprimint els missatges " +"addicionals.\n" #, c-format msgid "%s: Can't get unique UID (no more available UIDs)\n" @@ -210,56 +207,45 @@ msgstr "" "error de configuració - element «%s» desconegut (notifiqueu-ho a " "l'administrador)\n" -#, fuzzy, c-format -#| msgid "%s: Authentication failure\n" +#, c-format msgid "%s: Memory allocation failure\n" -msgstr "%s: l'autenticació ha fallat\n" +msgstr "%s: Ha fallat l'assignació de memòria\n" #, c-format msgid "%s: subuid overflow detected.\n" -msgstr "" +msgstr "%s: s'ha detectat un desbordament subuid.\n" -#, fuzzy, c-format -#| msgid "%s: invalid field '%s'\n" +#, c-format msgid "%s: Invalid map file %s specified\n" -msgstr "%s: el camp «%s» no és vàlid\n" +msgstr "%s: S'ha especificat el fitxer mapa %s que no és vàlid\n" #, c-format msgid "%s: Could not prctl(PR_SET_KEEPCAPS)\n" -msgstr "" +msgstr "%s: no s'ha pogut prctl(PR_SET_KEEPCAPS)\n" -#, fuzzy, c-format -#| msgid "Could not set name for %s\n" +#, c-format msgid "%s: Could not seteuid to %d\n" -msgstr "No s'ha pogut establir el nom per a %s\n" +msgstr "%s: No s'ha pogut fer un «seteuid» a %d\n" -#, fuzzy, c-format -#| msgid "Could not set name for %s\n" +#, c-format msgid "%s: Could not set caps\n" -msgstr "No s'ha pogut establir el nom per a %s\n" +msgstr "%s: No s'han pogut establir les «capabilities»\n" -#, fuzzy, c-format -#| msgid "%s: can't open file\n" +#, c-format msgid "%s: stpeprintf failed!\n" -msgstr "%s: no es pot obrir el fitxer\n" +msgstr "%s: ha fallat stpeprintf!\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: open of %s failed: %s\n" -msgstr "" -"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n" +msgstr "%s: L'obertura de %s ha fallat: %s\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: write to %s failed: %s\n" -msgstr "" -"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n" +msgstr "%s: L'escriptura a %s ha fallat: %s\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: closing %s failed: %s\n" -msgstr "" -"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n" +msgstr "%s: El tancament de %s ha fallat: %s\n" msgid "Too many logins.\n" msgstr "Massa entrades.\n" @@ -285,9 +271,9 @@ msgstr "Teniu correu." msgid "%s: nscd did not terminate normally (signal %d)\n" msgstr "%s: nscd no ha acabat correctament (senyal %d)\n" -#, fuzzy, c-format +#, c-format msgid "%s: nscd exited with status %d\n" -msgstr "%s: «nscd» ha sortit amb l'estat %d" +msgstr "%s: «nscd» ha sortit amb l'estat %d\n" msgid "no change" msgstr "no hi ha canvis" @@ -309,7 +295,7 @@ msgstr "massa curta" #, c-format msgid "Bad password: %s. " -msgstr "La contrasenya és incorrecta: %s." +msgstr "La contrasenya és incorrecta: %s. " #, c-format msgid "passwd: pam_start() failed, error %d\n" @@ -327,24 +313,23 @@ msgstr "passwd: s'ha actualitzat la contrasenya satisfactòriament\n" #, c-format msgid "%s: PAM modules requesting echoing are not supported.\n" -msgstr "" +msgstr "%s: Els mòduls PAM que sol·liciten eco no són compatibles.\n" -#, fuzzy, c-format -#| msgid "%s: repository %s not supported\n" +#, c-format msgid "%s: conversation type %d not supported.\n" -msgstr "%s: el dipòsit %s no és admès\n" +msgstr "%s: El tipus de conversació %d no és compatible.\n" -#, fuzzy, c-format -#| msgid "%s: pam_start: error %d\n" +#, c-format msgid "%s: (user %s) pam_start failure %d\n" -msgstr "%s: pam_start: error %d\n" +msgstr "%s: (usuari %s) «pam_start» ha fallat %d\n" -#, fuzzy, c-format -#| msgid "passwd: pam_start() failed, error %d\n" +#, c-format msgid "" "%s: (user %s) pam_chauthtok() failed, error:\n" "%s\n" -msgstr "passwd: pam_start() ha fallat, error %d\n" +msgstr "" +"%s: (usuari %s) «pam_chauthtok()» ha fallat amb l'error:\n" +"%s\n" msgid "Password: " msgstr "Contrasenya: " @@ -363,16 +348,17 @@ msgstr "%s: múltiples opcions «--root»\n" #, c-format msgid "%s: option '%s' requires an argument\n" -msgstr "%s: l'opció '%s' requereix un argument\n" +msgstr "%s: l'opció «%s» requereix un argument\n" #, c-format msgid "%s: failed to drop privileges (%s)\n" msgstr "%s: ha fallat la rebaixa de privilegis (%s)\n" -#, fuzzy, c-format -#| msgid "%s: invalid chroot path '%s'\n" +#, c-format msgid "%s: invalid chroot path '%s', only absolute paths are supported.\n" -msgstr "%s: camí «chroot» incorrecta «%s»\n" +msgstr "" +"%s: el camí «chroot» «%s» no és vàlid, només són acceptats els camins " +"absoluts\n" #, c-format msgid "%s: cannot access chroot directory %s: %s\n" @@ -382,9 +368,9 @@ msgstr "%s: no es pot accedir al directori «chroot» %s: %s\n" msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: no es pot executar «chroot» en el directori %s: %s\n" -#, fuzzy, c-format +#, c-format msgid "%s: cannot chdir in chroot directory %s: %s\n" -msgstr "%s: no es pot accedir al directori «chroot» %s: %s\n" +msgstr "%s: no es pot fer «chdir» al directori «chroot» %s: %s\n" #, c-format msgid "" @@ -400,15 +386,16 @@ msgid "" "ENCRYPT_METHOD and the corresponding configuration for your selected hash " "method.\n" msgstr "" +"No s'ha pogut generar una sal des de la configuració «%s», comproveu la " +"configuració a ENCRYPT_METHOD i la configuració corresponent per al mètode " +"«hash» seleccionat.\n" -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" msgid "Cannot open audit interface.\n" -msgstr "No es pot obrir la interfície d'auditoria - cancel·lant.\n" +msgstr "No es pot obrir la interfície d'auditoria.\n" #, c-format msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" +msgstr "%s: no es pot obtenir el context previ del procés SELinux: %s\n" #, c-format msgid "[libsemanage]: %s\n" @@ -438,10 +425,9 @@ msgstr "No es pot iniciar la transacció SELinux\n" msgid "Could not query seuser for %s\n" msgstr "No es pot consultar el «seuser» per a %s\n" -#, fuzzy, c-format -#| msgid "Could not set serange for %s\n" +#, c-format msgid "Could not set serange for %s to %s\n" -msgstr "No s'ha pogut definir el «serange» per a %s\n" +msgstr "No s'ha pogut definir el «serange» de %s a %s\n" #, c-format msgid "Could not set sename for %s\n" @@ -494,7 +480,7 @@ msgstr "No es pot validar la transacció SELinux\n" #, c-format msgid "Login mapping for %s is not defined, OK if default mapping was used\n" msgstr "" -"L'assignació d'inici de sessió per a %s no està definida, seleccionau «OK» " +"L'assignació d'inici de sessió per a %s no està definida, seleccioneu «OK» " "si s'utilitzava l'assignació per defecte\n" #, c-format @@ -520,7 +506,7 @@ msgstr "No es pot executar %s" #, c-format msgid "Maximum subsystem depth reached\n" -msgstr "" +msgstr "S'ha assolit la profunditat màxima del subsistema\n" #, c-format msgid "Invalid root directory '%s'\n" @@ -546,10 +532,6 @@ msgstr "%s: %s no és ni un directori ni un enllaç simbòlic.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: no es pot llegir l'enllaç simbòlic %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: enllaç simbòlic sospitosament llarg: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: no es pot crear el directori %s: %s\n" @@ -615,10 +597,9 @@ msgstr "%s: no es pot obrir el fitxer %s: %s\n" msgid "%s: user %s is currently logged in\n" msgstr "%s: l'usuari %s està actualment dins el sistema\n" -#, fuzzy, c-format -#| msgid "%s: user %s is currently logged in\n" +#, c-format msgid "%s: user %s is currently used by process %d\n" -msgstr "%s: l'usuari %s està actualment dins el sistema\n" +msgstr "%s: l'usuari %s està actualment en ús pel procés %d\n" msgid "Unable to determine your tty name." msgstr "No s'ha pogut determinar el nom del vostre tty." @@ -654,10 +635,9 @@ msgstr "" msgid " -h, --help display this help message and exit\n" msgstr " -h, --help mostra aquesta ajuda i acaba\n" -#, fuzzy -#| msgid " -g, --group edit group database\n" msgid " -i, --iso8601 use YYYY-MM-DD when printing dates\n" -msgstr " -g, --group edita la base de dades del grup\n" +msgstr "" +" -i, --iso8601 usa YYYY-MM-DD a l'hora de mostrar dates\n" msgid "" " -I, --inactive INACTIVE set password inactive after expiration\n" @@ -678,23 +658,20 @@ msgstr "" " -m, --mindays DIES_MÍN estableix el número mínim de dies abans\n" " del canvi de contrasenya a DIES_MÍN\n" -#, fuzzy msgid "" " -M, --maxdays MAX_DAYS set maximum number of days before password\n" " change to MAX_DAYS\n" msgstr "" -" -M, --maxdays DIES_MÀX estableix el número màxim de dies abans\n" -" del canvi de contrasenya a DIES_MÀX\n" +" -M, --maxdays DIES_MÀX estableix en DIES_MÀX el màxim nombre de " +"dies\n" +" abans de canviar la contrasenya\n" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" -" -R, --root CHROOT_DIR fes «chroot» en el directori CHROOT_DIR \n" +" -R, --root DIR_CHROOT fes «chroot» en el directori DIR_CHROOT\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgid " -P, --prefix PREFIX_DIR directory prefix\n" -msgstr "" -" -R, --root CHROOT_DIR fes «chroot» en el directori CHROOT_DIR \n" +msgstr " -P, --prefix DIR_PREFIX directori prefix\n" msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" @@ -727,7 +704,7 @@ msgid "never" msgstr "mai" msgid "future" -msgstr "" +msgstr "futur" msgid "Last password change\t\t\t\t\t: " msgstr "Últim canvi de contrasenya\t\t\t\t: " @@ -823,30 +800,28 @@ msgstr "" "Opcions:\n" msgid " -f, --full-name FULL_NAME change user's full name\n" -msgstr " -f, --full-name FULL_NAME canviar el nom complet de l'usuari\n" +msgstr " -f, --full-name NOM_COMPLET canvia el nom complet de l'usuari\n" msgid " -h, --home-phone HOME_PHONE change user's home phone number\n" msgstr "" -" -h, --home-phone HOME_PHONE canvia el número de telèfon domestic de " -"l'usuari\n" +" -h, --home-phone TELÈFON_LLAR canvia el número de telèfon domèstic " +"de l'usuari\n" msgid " -o, --other OTHER_INFO change user's other GECOS information\n" msgstr "" -" -o, --other OTHER_INFO canvia altres informacions «GECOS» de " +" -o, --other ALTRA_INFORMACIÓ canvia altres informacions «GECOS» de " "l'usuari\n" msgid " -r, --room ROOM_NUMBER change user's room number\n" -msgstr "" -" -r, --room ROOM_NUMBER canviar el número d'espai de l'usuari\n" +msgstr " -r, --room NÚMERO_SALA canvia el número de sala de l'usuari\n" msgid " -u, --help display this help message and exit\n" -msgstr "" -" -u, --help mostra aquest missatge d'ajuda i surt\n" +msgstr " -u, --help mostra aquest missatge d'ajuda i surt\n" msgid " -w, --work-phone WORK_PHONE change user's office phone number\n" msgstr "" -" -w, --work-phone WORK_PHONE canvia el número de telèfon del treball de " -"l'usuari\n" +" -w, --work-phone TELÈFON_FEINA canvia el número de telèfon de la feina " +"de l'usuari\n" msgid "Full Name" msgstr "Nom complet" @@ -856,7 +831,7 @@ msgid "\t%s: %s\n" msgstr "\t%s: %s\n" msgid "Room Number" -msgstr "Número d'espai" +msgstr "Número de sala" msgid "Work Phone" msgstr "Telèfon de la feina" @@ -885,11 +860,11 @@ msgstr "%s: el nom no és vàlid: «%s»\n" # traducció dubtosa #, c-format msgid "%s: room number with non-ASCII characters: '%s'\n" -msgstr "%s: número d'habitació amb caràcters que no són ASCII: «%s»\n" +msgstr "%s: número de sala amb caràcters que no són ASCII: «%s»\n" #, c-format msgid "%s: invalid room number: '%s'\n" -msgstr "%s: el número d'habitació no és vàlid: «%s»\n" +msgstr "%s: el número de sala no és vàlid: «%s»\n" #, c-format msgid "%s: invalid work phone: '%s'\n" @@ -907,6 +882,11 @@ msgstr "%s: «%s» conté caràcters que no són ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: «%s» conté caràcters no permesos\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: «%s» no és un nom de grup vàlid\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: l'usuari «%s» no existeix\n" @@ -942,21 +922,16 @@ msgstr "" " l'algorisme MD5\n" # traducció dubtosa -#, fuzzy -#| msgid "" -#| " -s, --sha-rounds number of SHA rounds for the SHA*\n" -#| " crypt algorithms\n" msgid "" " -s, --sha-rounds number of rounds for the SHA, BCRYPT\n" " or YESCRYPT crypt algorithms\n" msgstr "" -" -s, --sha-rounds nombre de passos SHA pel\n" -" algorisme de xifratge SHA*\n" +" -s, --sha-rounds nombre de passos pels algoritmes de\n" +" xifratge SHA, BCRYPT o YESCRYPT\n" -#, fuzzy, c-format -#| msgid "%s: unsupported crypt method: %s\n" +#, c-format msgid "%s: no crypt method defined\n" -msgstr "%s: mètode de xifratge no està implementat: %s\n" +msgstr "%s: no s'ha definit cap mètode de xifratge\n" #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" @@ -978,9 +953,9 @@ msgstr "%s: línia %d: la línia és massa llarga\n" msgid "%s: line %d: missing new password\n" msgstr "%s: línia %d: manca la nova contrasenya\n" -#, fuzzy, c-format +#, c-format msgid "%s: failed to crypt password with salt '%s': %s\n" -msgstr "%s: Error en escriure %s: %s\n" +msgstr "%s: no s'ha pogut xifrar la contrasenya amb la sal «%s»: %s\n" #, c-format msgid "%s: line %d: group '%s' does not exist\n" @@ -1010,15 +985,13 @@ msgstr "" msgid "Login Shell" msgstr "Intèrpret d'accés" -#, fuzzy, c-format -#| msgid "%s: Cannot get the size of %s: %s\n" +#, c-format msgid "Cannot parse shell files: %s" -msgstr "%s: No es pot obtenir la mida de %s: %s\n" +msgstr "No es poden analitzar els fitxers d'intèrpret d'ordres: %s" -#, fuzzy, c-format -#| msgid "%s: cannot create new defaults file\n" +#, c-format msgid "Cannot evaluate entries in shell files: %s" -msgstr "%s: no es pot crear un fitxer nou de preferències predeterminades\n" +msgstr "No es poden avaluar les entrades dels fitxers d'intèrpret d'ordres: %s" #, c-format msgid "You may not change the shell for '%s'.\n" @@ -1032,10 +1005,9 @@ msgstr "S'està canviant l'intèrpret d'accés per a %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: L'entrada no és vàlida: %s\n" -#, fuzzy, c-format -#| msgid "%s: %s is an invalid shell\n" +#, c-format msgid "%s: Warning: %s is an invalid shell\n" -msgstr "%s: %s no és un intèrpret («shell») vàlid.\n" +msgstr "%s: Avís: %s no és un intèrpret d'ordres vàlid\n" #, c-format msgid "%s: %s is an invalid shell\n" @@ -1226,7 +1198,7 @@ msgid "Re-enter new password: " msgstr "Tornau a escriure la nova contrasenya: " msgid "They don't match; try again" -msgstr "No coincideixen; intenteu-ho de nou." +msgstr "No coincideixen; intenteu-ho de nou" #, c-format msgid "%s: Try again later\n" @@ -1291,24 +1263,21 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system genera un compte del sistema\n" -#, fuzzy -#| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" -msgstr " -l, --list llista els membres del grup\n" +msgstr "" +" -U, --users USUARIS llista dels usuaris membres d'aquest grup\n" -#, fuzzy, c-format -#| msgid "invalid user name '%s'\n" +#, c-format msgid "Invalid member username %s\n" -msgstr "el nom d'usuari «%s» no és vàlid\n" +msgstr "El nom d'usuari del membre «%s» no és vàlid\n" #, c-format msgid "%s: '%s' is not a valid group name\n" msgstr "%s: «%s» no és un nom de grup vàlid\n" -#, fuzzy, c-format -#| msgid "%s: Cannot open %s: %s\n" +#, c-format msgid "%s: cannot open %s: %s\n" -msgstr "%s: no es pot obrir el fitxer %s: %s\n" +msgstr "%s: no es pot obrir %s: %s\n" #, c-format msgid "%s: invalid group ID '%s'\n" @@ -1334,14 +1303,15 @@ msgid "" " -P, --prefix PREFIX_DIR prefix directory where are located the /etc/" "* files\n" msgstr "" +" -P, --prefix PREFIXDIR prefix del directori on es troben els " +"fitxers /etc/*\n" -#, fuzzy msgid "" " -f, --force delete group even if it is the primary group " "of a user\n" msgstr "" -" -r, --reset restableix els comptadors d'errors " -"d'identificació\n" +" -f, --force esborra el grup encara que sigui el grup " +"primari d'un usuari\n" #, c-format msgid "%s: cannot remove entry '%s' from %s\n" @@ -1415,21 +1385,14 @@ msgstr "%s: el seu nom de grup no concorda amb el seu nom d'usuari\n" msgid "%s: only root can use the -g/--group option\n" msgstr "%s:només l'usuari «root» pot fer servir l'opció -g/--group\n" -#, fuzzy -#| msgid "" -#| " -a, --append append the user to the supplemental " -#| "GROUPS\n" -#| " mentioned by the -G option without " -#| "removing\n" -#| " the user from other groups\n" msgid "" " -a, --append append the users mentioned by -U option to " "the group \n" " without removing existing user members\n" msgstr "" -" -a, --append afegeix l'usuari als GRUPS addicionals\n" -" llistats amb la opció -G sense eliminar-los\n" -" d'altres grups\n" +" -a, --append afegeix al grup els usuaris citats amb " +"l'opció -U\n" +" sense eliminar-ne els usuaris ja existents\n" msgid " -g, --gid GID change the group ID to GID\n" msgstr " -g, --gid GID canvia l'ID del grup per GID\n" @@ -1453,10 +1416,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: el nom de grup «%s» no és vàlid\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: usuari %s desconegut\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1490,6 +1449,7 @@ msgstr " -s, --sort ordena les entrades per UID\n" msgid "" " -S, --silence-warnings silence controversial/paranoid warnings\n" msgstr "" +" -S, --silence-warnings silencia els avisos polèmics/paranoics\n" #, c-format msgid "%s: -s and -r are incompatible\n" @@ -1527,7 +1487,7 @@ msgstr "no hi ha cap entrada coincident al fitxer de grup en %s\n" #, c-format msgid "add group '%s' in %s? " -msgstr "voleu afegir el grup «%s» a %s?" +msgstr "voleu afegir el grup «%s» a %s? " #, c-format msgid "" @@ -1566,33 +1526,25 @@ msgstr "%s: no hi ha canvis\n" msgid "%s: cannot delete %s\n" msgstr "%s: no es pot eliminar %s\n" -msgid "Usage: id [-a]\n" -msgstr "Forma d'ús: id [-a]\n" - -msgid " groups=" -msgstr " grups=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" " -b, --before DIES mostra només els registres de lastlog més\n" " antics que DIES\n" -#, fuzzy msgid "" " -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" -" -a, --all mostra els registres «faillog» per a tots " -"els usuaris\n" +" -C, --clear neteja el registre lastlog de l'usuari " +"(utilitzable només amb -u)\n" -#, fuzzy msgid "" " -S, --set set lastlog record to current time (usable " "only with -u)\n" msgstr "" -" -a, --all mostra els registres «faillog» per a tots " -"els usuaris\n" +" -S, --set estableix el registre de lastlog per l'hora " +"actual (utilitzable només amb -u)\n" msgid "" " -t, --time DAYS print only lastlog records more recent than " @@ -1606,10 +1558,9 @@ msgid "" msgstr "" " -u, --user USUARI mostra el registre de lastlog de l'USUARI\n" -#, fuzzy, c-format -#| msgid "Username Port Latest" +#, c-format msgid "Username Port From%*sLatest\n" -msgstr "Usuari Port Últim" +msgstr "Usuari Port De%*sÚltim\n" msgid "Username Port Latest" msgstr "Usuari Port Últim" @@ -1622,28 +1573,33 @@ msgid "" "%s: Selected uid(s) are higher than LASTLOG_UID_MAX (%lu),\n" "\tthe output might be incorrect.\n" msgstr "" +"%s: els uid seleccionats són més alts que LASTLOG_UID_MAX (%lu),\n" +"\tla sortida pot ser incorrecta.\n" -#, fuzzy, c-format +#, c-format msgid "%s: Failed to update the entry for UID %lu\n" -msgstr "%s: No s'ha pogut obtenir l'entrada de la UID %lu\n" +msgstr "%s: No s'ha pogut actualitzar l'entrada de l'UID %lu\n" #, c-format msgid "" "%s: Selected uid(s) are higher than LASTLOG_UID_MAX (%lu),\n" "\tthey will not be updated.\n" msgstr "" +"%s: els uid seleccionats són més alts que LASTLOG_UID_MAX (%lu),\n" +"\tno s'actualitzaran.\n" -#, fuzzy, c-format +#, c-format msgid "%s: Failed to update the lastlog file\n" -msgstr "%s: no es pot actualitzar el fitxer de contrasenyes\n" +msgstr "%s: No s'ha pogut actualitzar el fitxer lastlog\n" #, c-format msgid "%s: Option -C cannot be used together with option -S\n" -msgstr "" +msgstr "%s: l'opció -C no es pot utilitzar juntament amb l'opció -S\n" #, c-format msgid "%s: Options -C and -S require option -u to specify the user\n" msgstr "" +"%s: les opcions -C i -S requereixen l'opció -u per especificar l'usuari\n" #, c-format msgid "Usage: %s [-p] [name]\n" @@ -1653,10 +1609,6 @@ msgstr "Forma d'ús: %s [-p] [nom]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h ordinador] [-f nom]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r ordinador\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "error de configuració - no es pot analitzar el valor %s: '%d'" @@ -1746,48 +1698,49 @@ msgstr "Forma d'ús: logoutd\n" #, c-format msgid "%s: gid range [%lu-%lu) -> [%lu-%lu) not allowed\n" -msgstr "" +msgstr "%s: l'interval de gid [%lu-%lu) -> [%lu-%lu) no està permès\n" #, c-format msgid "" "usage: %s [] [ " " ] ... \n" msgstr "" +"ús: %s [] [ " +" ] ... \n" #, c-format msgid "%s: kernel doesn't support setgroups restrictions\n" -msgstr "" +msgstr "%s: el nucli no admet restriccions de «setgroups»\n" -#, fuzzy, c-format -#| msgid "%s: can't open group file\n" +#, c-format msgid "%s: couldn't open process setgroups: %s\n" -msgstr "%s: no es pot obrir el fitxer de grups\n" +msgstr "%s: no s'ha pogut obrir el process setgroups: %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to remove %s\n" +#, c-format msgid "%s: failed to read setgroups: %s\n" -msgstr "%s: fallida en eliminar %s\n" +msgstr "%s: no s'ha pogut llegir el «setgroups»: %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to remove %s\n" +#, c-format msgid "%s: failed to seek setgroups: %s\n" -msgstr "%s: fallida en eliminar %s\n" +msgstr "%s: no s'han pogut cercar els setgroups: %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to unlock %s\n" +#, c-format msgid "%s: failed to setgroups %s policy: %s\n" -msgstr "%s: ha fallat el desbloqueig de %s\n" +msgstr "%s: no s'ha pogut establir la política de grups %s: %s\n" -#, fuzzy, c-format -#| msgid "%s: Failed to create tcb directory for %s\n" +#, c-format msgid "%s: Could not stat directory for process\n" -msgstr "%s: no es pot generar el directori «tcb» per a %s\n" +msgstr "" +"%s: No s'ha pogut fer stat al directori del procés\n" +"\n" #, c-format msgid "" "%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" "%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" +"%s: El procés de destinació és propietat d'un usuari diferent: uid:%lu " +"pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgid "Usage: newgrp [-] [group]\n" msgstr "Forma d'ús: newgrp [-] [grup]\n" @@ -1795,9 +1748,9 @@ msgstr "Forma d'ús: newgrp [-] [grup]\n" msgid "Usage: sg group [[-c] command]\n" msgstr "Forma d'ús: sg grup [[-c] ordre]\n" -#, fuzzy, c-format +#, c-format msgid "%s: failed to crypt password with previous salt: %s\n" -msgstr "%s: Error en escriure %s: %s\n" +msgstr "%s: no s'ha pogut xifrar la contrasenya amb la sal prèvia: %s\n" msgid "Invalid password.\n" msgstr "Contrasenya no vàlida.\n" @@ -1806,6 +1759,11 @@ msgstr "Contrasenya no vàlida.\n" msgid "%s: failure forking: %s\n" msgstr "%s: fallada al fer fork: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: «%s» no és un nom de grup vàlid\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: el GID »%lu« no existeix\n" @@ -1815,23 +1773,22 @@ msgstr "hi ha massa grups\n" #, c-format msgid "%s: uid range [%lu-%lu) -> [%lu-%lu) not allowed\n" -msgstr "" +msgstr "%s: l'interval d'uid [%lu-%lu) -> [%lu-%lu) no està permès\n" #, c-format msgid "" "usage: %s [|fd:] [ " " ] ... \n" msgstr "" +"ús: %s [|fd:] [ " +" ] ... \n" -#, fuzzy, c-format -#| msgid "%s: Failed to create tcb directory for %s\n" +#, c-format msgid "%s: Could not stat directory for target process\n" -msgstr "%s: no es pot generar el directori «tcb» per a %s\n" +msgstr "%s: No s'ha pogut fer stat al directori del procés objectiu\n" -#, fuzzy -#| msgid " -q, --quiet quiet mode\n" msgid " -b, --badname allow bad names\n" -msgstr " -q, --quiet mode silenciós\n" +msgstr " -b, --badname permet noms dolents\n" msgid " -r, --system create system accounts\n" msgstr " -r, --system genera els comptes del sistema\n" @@ -1844,14 +1801,17 @@ msgstr "%s: el grup «%s» és un grup «shadow», però no existeix a /etc/grou msgid "%s: invalid user ID '%s'\n" msgstr "%s: l'ID d'usuari «%s» no és vàlid\n" -#, fuzzy, c-format -#| msgid "%s: invalid user name '%s'\n" +#, c-format msgid "%s: invalid user name '%s': use --badname to ignore\n" +msgstr "%s: el nom d'usuari no és vàlid «%s»: useu --badname per ignorar-lo\n" + +#, c-format +msgid "%s: invalid user name '%s'\n" msgstr "%s: el nom d'usuari «%s» no és vàlid\n" #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" -msgstr "" +msgstr "%s: proporciona «--crypt-method» abans del nombre de rondes\n" #, c-format msgid "%s: line %d: invalid line\n" @@ -1875,20 +1835,17 @@ msgstr "%s: línia %d: no es pot generar el grup\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: line %d: l'usuari «%s» no existeix a %s\n" -#, fuzzy, c-format -#| msgid "%s: unlink: %s: %s\n" +#, c-format msgid "%s: line %d: %s\n" -msgstr "%s: desvincular: %s: %s\n" +msgstr "%s: línia %d: %s\n" #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: línia %d: no es pot actualitzar la contrasenya\n" -#, fuzzy, c-format -#| msgid "%s: line %d: mkdir %s failed: %s\n" +#, c-format msgid "%s: line %d: homedir must be an absolute path\n" -msgstr "" -"%s: línia %d: no s'ha pogut generar el directori «%s» (ordre mkdir): %s\n" +msgstr "%s: línia %d: el directori d'usuari ha de ser un camí absolut\n" #, c-format msgid "%s: line %d: mkdir %s failed: %s\n" @@ -1904,17 +1861,17 @@ msgstr "" msgid "%s: line %d: can't update entry\n" msgstr "%s: línia %d: no es pot actualitzar l'entrada\n" -#, fuzzy, c-format +#, c-format msgid "%s: can't find subordinate user range\n" -msgstr "%s: no es pot generar l'usuari\n" +msgstr "%s: no es pot trobar el rang d'usuari subordinat\n" -#, fuzzy, c-format +#, c-format msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: ha fallat la preparació de la nova entrada %s: «%s»\n" +msgstr "%s: ha fallat la preparació de la nova entrada %s\n" -#, fuzzy, c-format +#, c-format msgid "%s: can't find subordinate group range\n" -msgstr "%s: no es pot actualitzar el fitxer de grups\n" +msgstr "%s: no es pot trobar el rang de grups subordinat\n" msgid "" " -a, --all report password status on all accounts\n" @@ -1987,11 +1944,8 @@ msgstr "" " -x, --maxdays DIES_MÀX estableix els dies màxims abans del canvi\n" " de contrasenya a DIES_MÀX\n" -#, fuzzy -#| msgid " -l, --list show account aging information\n" msgid " -s, --stdin read new token from stdin\n" -msgstr "" -" -l, --list mostra informació d'envelliment del compte\n" +msgstr " -s, --stdin llegeix el nou token de stdin\n" msgid "Old password: " msgstr "Contrasenya antiga: " @@ -2013,13 +1967,11 @@ msgstr "" "Feu servir una combinació de lletres majúscules i minúscules i\n" "números.\n" -#, fuzzy -#| msgid "%s: fields too long\n" msgid "Password is too long.\n" -msgstr "%s: els camps són massa llargs\n" +msgstr "La contrasenya és massa llarga.\n" msgid "New password: " -msgstr "Contrasenya nova:" +msgstr "Contrasenya nova: " msgid "Try again." msgstr "Intenteu-ho de nou." @@ -2042,10 +1994,11 @@ msgstr "No es pot canviar la contrasenya de %s.\n" msgid "The password for %s cannot be changed yet.\n" msgstr "Encara no es pot canviar la contrasenya de %s.\n" -#, fuzzy, c-format -#| msgid "%s: shadow passwords required for -e\n" +#, c-format msgid "%s: malformed password data obtained for user %s\n" -msgstr "%s: les contrasenyes ombra són requerides per a «-e»\n" +msgstr "" +"%s: les dades de contrasenya obtingudes per l'usuari %s no estan ben " +"formades\n" #, c-format msgid "" @@ -2061,15 +2014,14 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: el dipòsit %s no és admès\n" -#, fuzzy, c-format -#| msgid "%s: only root can use the -g/--group option\n" +#, c-format msgid "%s: only root can use --stdin/-s option\n" -msgstr "%s:només l'usuari «root» pot fer servir l'opció -g/--group\n" +msgstr "%s: només l'usuari «root» pot fer servir l'opció --stdin/-s\n" -#, fuzzy, c-format -#| msgid "%s: %s is not authorized to change the password of %s\n" +#, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" -msgstr "%s: %s no està autoritzat per canviar la contrasenya de %s\n" +msgstr "" +"%s: «root» no està autoritzat pel SELinux per canviar la contrasenya de %s\n" #, c-format msgid "%s: You may not view or modify password information for %s.\n" @@ -2124,9 +2076,13 @@ msgstr "l'entrada del fitxer de contrasenyes no és vàlida" msgid "duplicate password entry" msgstr "l'entrada de contrasenya està duplicada" +#, c-format +msgid "invalid user name '%s': use --badname to ignore\n" +msgstr "el nom d'usuari «%s» no és vàlid: useu --badname per ignorar-ho\n" + #, fuzzy, c-format #| msgid "%s: invalid user name '%s'\n" -msgid "invalid user name '%s': use --badname to ignore\n" +msgid "invalid user name '%s'\n" msgstr "%s: el nom d'usuari «%s» no és vàlid\n" #, c-format @@ -2223,32 +2179,18 @@ msgid "Session terminated, terminating shell..." msgstr "Sessió acabada, finalitzant el «shell»..." msgid " ...killed.\n" -msgstr "...mort.\n" +msgstr " ...matat.\n" msgid " ...waiting for child to terminate.\n" -msgstr "...esperant al fill per acabar.\n" +msgstr " ...esperant que el fill acabi.\n" msgid " ...terminated.\n" -msgstr "...acabat.\n" +msgstr " ...acabat.\n" #, c-format msgid "%s: %s\n" msgstr "%s: %s\n" -#, fuzzy -#| msgid "" -#| "Usage: su [options] [LOGIN]\n" -#| "\n" -#| "Options:\n" -#| " -c, --command COMMAND pass COMMAND to the invoked shell\n" -#| " -h, --help display this help message and exit\n" -#| " -, -l, --login make the shell a login shell\n" -#| " -m, -p,\n" -#| " --preserve-environment do not reset environment variables, and\n" -#| " keep the same shell\n" -#| " -s, --shell SHELL use SHELL instead of the default in " -#| "passwd\n" -#| "\n" msgid "" "Usage: su [options] [-] [username [args]]\n" "\n" @@ -2263,7 +2205,7 @@ msgid "" "\n" "If no username is given, assume root.\n" msgstr "" -"Forma d'ús: su [opcions] [USUARI]\n" +"Forma d'ús: su [opcions] [-] [USUARI [args]]\n" "\n" "Opcions:\n" " -c, --command ORDRE passa l'ORDRE a l'intèrpret d'ordres\n" @@ -2276,6 +2218,8 @@ msgstr "" " -s, --shell INTÈRPRET fes servir INTÈRPRET en comptes del\n" " predeterminat a passwd\n" "\n" +"\n" +"Si no s'indica cap nom d'usuari, assumeix root.\n" #, c-format msgid "" @@ -2288,10 +2232,13 @@ msgstr "" #, c-format msgid "Password field is empty, this is forbidden for all accounts.\n" msgstr "" +"El camp de contrasenya està buit, això està prohibit per a tots els " +"comptes.\n" #, c-format msgid "Password field is empty, this is forbidden for super-user.\n" msgstr "" +"El camp de contrasenya està buit, això està prohibit per al superusuari.\n" #, c-format msgid "You are not authorized to su %s\n" @@ -2312,10 +2259,9 @@ msgstr "%s: No estau autoritzat a usar «su» en aquest moment\n" msgid "No passwd entry for user '%s'\n" msgstr "No hi ha entrada de contrasenya per a l'usuari «%s»\n" -#, fuzzy, c-format -#| msgid "invalid user name '%s'\n" +#, c-format msgid "Overlong user name '%s'\n" -msgstr "el nom d'usuari «%s» no és vàlid\n" +msgstr "Nom d'usuari massa llarg «%s»\n" #, c-format msgid "%s: must be run from a terminal\n" @@ -2358,26 +2304,30 @@ msgstr "S'està entrant en mode de manteniment del sistema" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s va ser generat, però no és possible eliminar-ho\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" -msgstr "%s: la configuració %s a %s serà ignorada\n" - #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" -msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " -"group\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: la configuració %s a %s serà ignorada\n" #, fuzzy, c-format -#| msgid "%s: cannot create new defaults file\n" -msgid "%s: cannot create new defaults file: %s\n" -msgstr "%s: no es pot crear un fitxer nou de preferències predeterminades\n" +#| msgid "" +#| "%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +#| "group\n" +msgid "" +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" +"%s: la configuració «%s» a %s té un grup no vàlid, s'ignorarà el grup " +"erroni\n" -#, fuzzy, c-format -#| msgid "%s: cannot create new defaults file\n" +#, c-format +msgid "%s: cannot create new defaults file: %s\n" +msgstr "%s: no es pot crear un fitxer nou de valors predeterminats: %s\n" + +#, c-format msgid "%s: cannot create directory for defaults file\n" -msgstr "%s: no es pot crear un fitxer nou de preferències predeterminades\n" +msgstr "" +"%s: no es pot crear un directori per al fitxer de valors predeterminats\n" #, c-format msgid "%s: cannot open new defaults file\n" @@ -2387,9 +2337,9 @@ msgstr "%s: no es pot obrir un fitxer nou de preferències predeterminades\n" msgid "%s: line too long in %s: %s..." msgstr "%s: línia massa llarga a %s: %s..." -#, fuzzy, c-format +#, c-format msgid "%s: Cannot create backup file (%s): %s\n" -msgstr "%s: no es pot generar l'enllaç simbòlic %s: %s\n" +msgstr "%s: No es pot crear el fitxer de còpia de seguretat (%s): %s\n" #, c-format msgid "%s: rename: %s: %s\n" @@ -2399,10 +2349,9 @@ msgstr "%s: reanomena %s: %s\n" msgid "%s: too many groups specified (max %d).\n" msgstr "%s: s'han especificat massa grups (màx de %d).\n" -#, fuzzy, c-format -#| msgid "%s: Out of memory. Cannot update %s.\n" +#, c-format msgid "%s: Out of memory. Cannot find group '%s'.\n" -msgstr "%s: s'ha exhaurit la memòria. No es pot actualitzar %s.\n" +msgstr "%s: s'ha exhaurit la memòria. No es pot trobar el grup «%s».\n" #, c-format msgid "" @@ -2418,11 +2367,8 @@ msgstr "" "\n" "Opcions:\n" -#, fuzzy -#| msgid " -s, --shadow edit shadow or gshadow database\n" msgid " --badname do not check for bad names\n" -msgstr "" -" -s, --shadow edita la base de dades «shadow» o «gshadow»\n" +msgstr " --badname do not check for bad names\n" msgid "" " -b, --base-dir BASE_DIR base directory for the home directory of " @@ -2435,6 +2381,8 @@ msgstr "" msgid "" " --btrfs-subvolume-home use BTRFS subvolume for home directory\n" msgstr "" +" --btrfs-subvolume-home utilitza el subvolum BTRFS per al directori " +"inicial\n" msgid " -c, --comment COMMENT GECOS field of the new account\n" msgstr " -c, --comment COMMENT camp GECOS del nou compte\n" @@ -2461,6 +2409,8 @@ msgid "" " -F, --add-subids-for-system add entries to sub[ud]id even when adding a " "system user\n" msgstr "" +" -F, --add-subids-for-system afegeix entrades al sub[ud]id fins i tot " +"quan s'afegeix un usuari del sistema\n" msgid "" " -g, --gid GROUP name or ID of the primary group of the new\n" @@ -2535,16 +2485,12 @@ msgstr "" " -Z, --selinux-user SEUSER utilitzar un «SEUSER» específic per a " "l'assignació d'usuaris «SELinux»\n" -#, fuzzy -#| msgid "" -#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " -#| "user mapping\n" msgid "" " --selinux-range SERANGE use a specific MLS range for the SELinux " "user mapping\n" msgstr "" -" -Z, --selinux-user SEUSER utilitzar un «SEUSER» específic per a " -"l'assignació d'usuaris «SELinux»\n" +" --selinux-range SERANGE utilitza un rang MLS específic per al mapeig " +"d'usuari de SELinux\n" #, c-format msgid "%s: invalid base directory '%s'\n" @@ -2574,26 +2520,21 @@ msgstr "%s: el camp «%s» no és vàlid\n" msgid "%s: invalid shell '%s'\n" msgstr "%s: l'intèrpret «%s» no és vàlid\n" -#, fuzzy, c-format -#| msgid "%s: Warning: %s is not executable\n" +#, c-format msgid "%s: Warning: missing or non-executable shell '%s'\n" -msgstr "%s: Advertència: %s no és executable\n" +msgstr "%s: avís: falta l'intèrpret d'ordres «%s» o no es pot executar\n" -#, fuzzy, c-format -#| msgid "%s: cannot rewrite password file\n" +#, c-format msgid "%s: -Z cannot be used with --prefix\n" -msgstr "%s: no es pot reescriure el fitxer de contrasenyes\n" +msgstr "%s: -Z no es pot utilitzar amb --prefix\n" #, c-format msgid "%s: -Z requires SELinux enabled kernel\n" -msgstr "%s: -Z requereix nucli «SELinux» habilitat\n" +msgstr "%s: -Z requereix nucli SELinux habilitat\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to open the faillog file for UID %lu: %s\n" -msgstr "" -"%s: ha fallat el restabliment de l'entrada del registre d'errors de UID %lu: " -"%s\n" +msgstr "%s: no s'ha pogut obrir el fitxer faillog per l'UID %lu: %s\n" #, c-format msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" @@ -2601,92 +2542,76 @@ msgstr "" "%s: ha fallat el restabliment de l'entrada del registre d'errors de UID %lu: " "%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to close the faillog file for UID %lu: %s\n" -msgstr "" -"%s: ha fallat el restabliment de l'entrada del registre d'errors de UID %lu: " -"%s\n" +msgstr "%s: no s'ha pogut tancar el fitxer faillog per l'UID %lu: %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to open the lastlog file for UID %lu: %s\n" -msgstr "%s: ha fallat el restabliment del darrer registre de UID %lu: %s\n" +msgstr "%s: no s'ha pogut obrir el fitxer lastlog per a l'UID %lu: %s\n" #, c-format msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" msgstr "%s: ha fallat el restabliment del darrer registre de UID %lu: %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to close the lastlog file for UID %lu: %s\n" -msgstr "%s: ha fallat el restabliment del darrer registre de UID %lu: %s\n" +msgstr "%s: no s'ha pogut tancar el fitxer lastlog per a l'UID %lu: %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to reset the tallylog entry of user \"%s\"\n" -msgstr "" -"%s: ha fallat el restabliment de l'entrada del registre d'errors de UID %lu: " -"%s\n" +msgstr "%s: no s'ha pogut restablir l'entrada a tallylog de l'usuari «%s»\n" -#, fuzzy, c-format +#, c-format msgid "%s: failed to prepare the new %s entry\n" -msgstr "%s: ha fallat la preparació de la nova entrada %s: «%s»\n" +msgstr "%s: no s'ha pogut preparar la nova entrada %s\n" -#, fuzzy, c-format -#| msgid "%s: error updating files\n" +#, c-format msgid "%s: error while duplicating string %s\n" -msgstr "%s: s'ha produït un error en actualitzar el fitxer\n" +msgstr "%s: s'ha produït un error al duplicar la cadena %s\n" -#, fuzzy, c-format -#| msgid "%s: cannot create directory %s\n" +#, c-format msgid "%s: cannot set SELinux context for home directory %s\n" -msgstr "%s: no es pot crear el directori %s\n" +msgstr "%s: no es pot establir el context SELinux al directori d'usuari %s\n" #, c-format msgid "%s: error while duplicating string in BTRFS check %s\n" msgstr "" +"%s: s'ha produït un error en duplicar la cadena a la comprovació BTRFS %s\n" -#, fuzzy, c-format -#| msgid "%s: %s home directory (%s) not found\n" +#, c-format msgid "%s: home directory \"%s\" must be mounted on BTRFS\n" -msgstr "%s: no s'ha trobat el directori personal (%s) de %s \n" +msgstr "%s: el directori home «%s» ha d'estar muntat a BTRFS\n" -#, fuzzy, c-format -#| msgid "%s: failed to allocate memory: %s\n" +#, c-format msgid "%s: failed to create BTRFS subvolume: %s\n" -msgstr "%s: no es pot assignar memòria: %s\n" +msgstr "%s: no s'ha pogut crear el subvolum BTRFS: %s\n" #, c-format msgid "%s: cannot create directory %s\n" msgstr "%s: no es pot crear el directori %s\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: warning: chown on `%s' failed: %m\n" -msgstr "" -"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n" +msgstr "%s: avís: ha fallat chown a «%s»: %m\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: warning: chmod on `%s' failed: %m\n" -msgstr "" -"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n" +msgstr "%s: avís: ha fallat chmod a «%s»: %m\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: warning: chown on '%s' failed: %m\n" -msgstr "" -"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n" +msgstr "%s: avís: ha fallat chown a «%s»: %m\n" #, c-format msgid "%s: cannot reset SELinux file creation context\n" msgstr "" +"%s: no s'ha pogut reinicialitzar el context de creació de fitxers SELinux\n" -#, fuzzy, c-format -#| msgid "Cannot create SELinux login mapping for %s\n" +#, c-format msgid "%s: cannot set SELinux context for mailbox file %s\n" -msgstr "No es pot generar el mapatge d'inici de sessió SELinux per a %s\n" +msgstr "" +"%s: no s'ha pogut establir el context SELinux per al fitxer de bústia %s\n" msgid "Creating mailbox file" msgstr "S'està creant la bústia de correu" @@ -2694,30 +2619,28 @@ msgstr "S'està creant la bústia de correu" msgid "" "Group 'mail' not found. Creating the user mailbox file with 0600 mode.\n" msgstr "" -"No s'ha trobat el grup «mail». S'està creant la bústia de correu de " -"l'usuariamb mode 0600.\n" +"No s'ha trobat el grup «mail». S'està creant la bústia de correu de l'usuari " +"amb mode 0600.\n" msgid "Setting mailbox file permissions" msgstr "S'estan establint els permisos de la bústia de correu" -#, fuzzy -#| msgid "Creating mailbox file" msgid "Synchronize mailbox file" -msgstr "S'està creant la bústia de correu" +msgstr "Sincronitza la bústia de correu" -#, fuzzy -#| msgid "Creating mailbox file" msgid "Closing mailbox file" -msgstr "S'està creant la bústia de correu" +msgstr "S'està tancant la bústia de correu" #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" -msgstr "" +msgstr "Avís %s: l'uid de %s, %d, és més gran que el SYS_UID_MAX %d\n" #, c-format msgid "" "%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n" msgstr "" +"Avís %s: l'uid de %s, %d, està fora de l'interval entre UID_MIN %d i UID_MAX " +"%d.\n" #, c-format msgid "%s: user '%s' already exists\n" @@ -2746,42 +2669,39 @@ msgstr "%s: no es pot generar el directori «tcb» per a %s\n" msgid "%s: can't create group\n" msgstr "%s: no es pot generar el grup\n" -#, fuzzy, c-format +#, c-format msgid "%s: can't create subordinate user IDs\n" -msgstr "%s: no es pot generar l'usuari\n" +msgstr "%s: no es poden crear identificadors d'usuari subordinat\n" -#, fuzzy, c-format +#, c-format msgid "%s: can't create subordinate group IDs\n" -msgstr "%s: no es pot generar el grup\n" +msgstr "%s: no es poden crear identificadors de grup subordinat\n" #, c-format msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n" msgstr "" "%s: avís: falla el nom d'usuari %s a %s a l'assignació d'usuaris «SELinux».\n" -#, fuzzy, c-format -#| msgid "" -#| "%s: warning: the home directory already exists.\n" -#| "Not copying any file from skel directory into it.\n" +#, c-format msgid "" "%s: warning: the home directory %s already exists.\n" "%s: Not copying any file from skel directory into it.\n" msgstr "" -"%s: avís: el directori personal ja existeix.\n" -"No s'hi copiarà cap fitxer del directori skel.\n" +"%s: avís: el directori d'inici %s ja existeix.\n" +"%s: no s'hi copiarà cap fitxer del directori skel\n" -#, fuzzy -#| msgid "" -#| " -f, --force force removal of files,\n" -#| " even if not owned by user\n" msgid "" " -f, --force force some actions that would fail " "otherwise\n" " e.g. removal of user still logged in\n" " or files, even if not owned by the user\n" msgstr "" -" -f, --force força l'eliminació de fitxers, encara que\n" -" no siguin propietat de l'usuari\n" +" -f, --force força algunes accions que altrament " +"fallarien\n" +" p.ex. eliminació d'un usuari que està encara " +"loguejat\n" +" o de fitxers, fins i tot si no son propietat " +"de l'usuari\n" msgid " -r, --remove remove home directory and mail spool\n" msgstr "" @@ -2812,9 +2732,9 @@ msgstr "" "%s: no es pot eliminar el grup %s, que és el grup primari per un altre " "usuari.\n" -#, fuzzy, c-format +#, c-format msgid "%s: cannot remove entry %lu from %s\n" -msgstr "%s: no es pot eliminar l'entrada «%s» de %s\n" +msgstr "%s: no es pot eliminar l'entrada %lu de %s\n" #, c-format msgid "%s: %s mail spool (%s) not found\n" @@ -2855,10 +2775,9 @@ msgstr "" "%s: no s'elimina el directori %s (eliminaria el directori personal de " "l'usuari %s)\n" -#, fuzzy, c-format -#| msgid "%s: error removing directory %s\n" +#, c-format msgid "%s: error removing subvolume %s\n" -msgstr "%s: s'ha produït un error en eliminar el directori %s\n" +msgstr "%s: s'ha produït un error en eliminar el subvolum %s\n" #, c-format msgid "%s: error removing directory %s\n" @@ -2932,22 +2851,16 @@ msgstr "" " -p, --password CONTRASENYA usa contrasenya xifrada per a la nova\n" " contrasenya\n" -#, fuzzy -#| msgid "" -#| " -a, --append append the user to the supplemental " -#| "GROUPS\n" -#| " mentioned by the -G option without " -#| "removing\n" -#| " the user from other groups\n" msgid "" " -r, --remove remove the user from only the supplemental " "GROUPS\n" " mentioned by the -G option without removing\n" " the user from other groups\n" msgstr "" -" -a, --append afegeix l'usuari als GRUPS addicionals\n" -" llistats amb la opció -G sense eliminar-los\n" -" d'altres grups\n" +" -r, --remove elimina l'usuari de només els grups " +"suplementaris GROUPS\n" +" mencionats per l'opció -G sense eliminar\n" +" l'usuari d'altres grups\n" msgid " -u, --uid UID new UID for the user account\n" msgstr " -u, --uid UID nou UID per al compte d'usuari\n" @@ -2956,16 +2869,16 @@ msgid " -U, --unlock unlock the user account\n" msgstr " -U, --unlock desbloca el compte d'usuari\n" msgid " -v, --add-subuids FIRST-LAST add range of subordinate uids\n" -msgstr "" +msgstr " -v, --add-subuids FIRST-LAST afegeix un rang d'uids subordinats\n" msgid " -V, --del-subuids FIRST-LAST remove range of subordinate uids\n" -msgstr "" +msgstr " -V, --del-subuids FIRST-LAST esborra un rang d'uids subordinats\n" msgid " -w, --add-subgids FIRST-LAST add range of subordinate gids\n" -msgstr "" +msgstr " -w, --add-subgids FIRST-LAST afegeix un rang de gids subordinats\n" msgid " -W, --del-subgids FIRST-LAST remove range of subordinate gids\n" -msgstr "" +msgstr " -W, --del-subgids FIRST-LAST esborra un rang de gids subordinats\n" msgid "" " -Z, --selinux-user SEUSER new SELinux user mapping for the user " @@ -2974,14 +2887,10 @@ msgstr "" " -Z, --selinux-user SEUSER nova assignació SELinux per al compte " "d'usuari\n" -#, fuzzy -#| msgid "" -#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " -#| "account\n" msgid "" " --selinux-range SERANGE new SELinux MLS range for the user account\n" msgstr "" -" -Z, --selinux-user SEUSER nova assignació SELinux per al compte " +" --selinux-range SERANGE nou rang de SELinux MLS per la compta " "d'usuari\n" #, c-format @@ -2991,7 +2900,7 @@ msgid "" msgstr "" "%s: el desbloqueig de la contrasenya de l'usuari deixarà el compte sense " "contrasenya.\n" -"Ha d'establir una contrasenya amb «usermod-p» per desbloquejar la " +"Heu d'establir una contrasenya amb «usermod-p» per desbloquejar la " "contrasenya de l'usuari.\n" #, c-format @@ -3000,15 +2909,15 @@ msgstr "%s: l'usuari «%s» ja existeix a %s\n" #, c-format msgid "%s: homedir must be an absolute path\n" -msgstr "" +msgstr "%s: el directori d'inici ha de ser un camí absolut\n" -#, fuzzy, c-format +#, c-format msgid "%s: invalid subordinate uid range '%s'\n" -msgstr "%s: la data «%s» no és vàlida\n" +msgstr "%s: el rang d'UID subordinat «%s» no és vàlid\n" -#, fuzzy, c-format +#, c-format msgid "%s: invalid subordinate gid range '%s'\n" -msgstr "%s: la data «%s» no és vàlida\n" +msgstr "%s: el rang de GID subordinat «%s» no és vàlid\n" #, c-format msgid "%s: no options\n" @@ -3016,7 +2925,7 @@ msgstr "%s: sense opcions\n" #, c-format msgid "%s: %s and %s are mutually exclusive flags\n" -msgstr "" +msgstr "%s: %s and %s son flags que s'exclouen mútuament\n" #, c-format msgid "%s: the -L, -p, and -U flags are exclusive\n" @@ -3030,9 +2939,9 @@ msgstr "%s: les contrasenyes ombra són obligatòries per a «-e» i «-f»\n" msgid "%s: UID '%lu' already exists\n" msgstr "%s: UID '%lu' ja existeix\n" -#, fuzzy, c-format +#, c-format msgid "%s: %s does not exist, you cannot use the flags %s or %s\n" -msgstr "%s: %s no està autoritzat per canviar la contrasenya de %s\n" +msgstr "%s: %s no existeix, no es poden utilitzar els flags %s o %s\n" #, c-format msgid "%s: directory %s exists\n" @@ -3053,6 +2962,7 @@ msgstr "%s: No s'ha pogut canviar la propietat del directori d'inici" #, c-format msgid "%s: error: cannot move subvolume from %s to %s - different device\n" msgstr "" +"%s: error: no es pot moure el subvolum de %s a %s - dispositiu diferent\n" #, c-format msgid "%s: warning: failed to completely remove old home directory %s" @@ -3063,16 +2973,13 @@ msgstr "" msgid "%s: cannot rename directory %s to %s\n" msgstr "%s: no es pot reanomenar el directori %s a %s\n" -#, fuzzy, c-format -#| msgid "" -#| "%s: The previous home directory (%s) was not a directory. It is not " -#| "removed and no home directories are created.\n" +#, c-format msgid "" "%s: The previous home directory (%s) does not exist or is inaccessible. Move " "cannot be completed.\n" msgstr "" -"%s: El directori arrel d'usuari anterior (%s) no és un directori. No s'ha " -"eliminat i no s'han generat els directoris arrels d'usuaris.\n" +"%s: el directori home anterior (%s) no existeix o és inaccessible. No s'ha " +"pogut completar el move.\n" #, c-format msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" @@ -3080,12 +2987,11 @@ msgstr "" "%s: ha fallat la còpia de l'entrada del darrer registre de l'usuari %lu al " "usuari %lu: %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +#, c-format msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" msgstr "" -"%s: ha fallat la còpia de l'entrada del darrer registre de l'usuari %lu al " -"usuari %lu: %s\n" +"%s: no s'ha pogut copiar l'entrada de lastlog de l'usuari %ju a l'usuari " +"%ju: %s\n" #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" @@ -3093,12 +2999,11 @@ msgstr "" "%s: ha fallat la còpia de l'entrada del registre d'errors del usuari %lu al " "usuari %lu: %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +#, c-format msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" msgstr "" -"%s: ha fallat la còpia de l'entrada del registre d'errors del usuari %lu al " -"usuari %lu: %s\n" +"%s: ha fallat la còpia de l'entrada de lastlog de l'usuari %ju a l'usuari " +"%ju: %s\n" #, c-format msgid "%s: warning: %s not owned by %s\n" @@ -3111,20 +3016,24 @@ msgid "failed to rename mailbox" msgstr "no s'ha pogut reanomenar la bústia de correu" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" -msgstr "%s: ha fallat la preparació de la nova entrada %s: «%s»\n" +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" +msgstr "%s: failed to remove uid range %lu-%lu from '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" -msgstr "%s: ha fallat la preparació de la nova entrada %s: «%s»\n" +#| msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" +msgstr "%s: no s'ha pogut afegir el rang d'uids %lu-%lu a «%s»\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" -msgstr "%s: ha fallat la preparació de la nova entrada %s: «%s»\n" +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" +msgstr "%s: no s'ha pogut treure el rang d'uids %lu-%lu de «%s»\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" -msgstr "%s: ha fallat la preparació de la nova entrada %s: «%s»\n" +#| msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" +msgstr "%s: no s'ha pogut afegir el rang de gids %lu-%lu a «%s»\n" #, c-format msgid "" @@ -3181,31 +3090,29 @@ msgstr "No s'ha pogut blocar el fitxer" msgid "Couldn't make backup" msgstr "No s'ha pogut fer una còpia de seguretat" -#, fuzzy, c-format +#, c-format msgid "%s: %s: %s\n" -msgstr "%s: PAM: %s\n" +msgstr "%s: %s: %s\n" -#, fuzzy, c-format +#, c-format msgid "%s: %s returned with status %d\n" -msgstr "%s: «nscd» ha sortit amb l'estat %d" +msgstr "%s: %s ha retornat amb estat %d\n" #, c-format msgid "%s: %s killed by signal %d\n" -msgstr "" +msgstr "%s: %s ha estat matat pel senyal %d\n" msgid "failed to open scratch file" msgstr "no s'ha pogut obrir el fitxer de treball («scratch file»)" msgid "failed to unlink scratch file" -msgstr "no s'ha pogut desvincular el fitxer de treball " +msgstr "no s'ha pogut desvincular el fitxer de treball" msgid "failed to stat edited file" msgstr "no s'ha pogut comptabilitzar el fitxer editat" -#, fuzzy -#| msgid "%s: can't open file\n" msgid "asprintf(3) failed" -msgstr "%s: no es pot obrir el fitxer\n" +msgstr "ha fallat asprintf(3)" msgid "failed to create backup file" msgstr "no es pot generar el fitxer de còpia de seguretat" @@ -3218,6 +3125,24 @@ msgstr "%s: no es pot restaurar %s: %s (els seus canvis estan a %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: no es pot trobar el directori «tcb» per %s\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: enllaç simbòlic sospitosament llarg: %s\n" + +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: usuari %s desconegut\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Forma d'ús: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grups=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r ordinador\n" + #~ msgid "Environment overflow\n" #~ msgstr "Desbordament d'entorn\n" @@ -3262,7 +3187,6 @@ msgstr "%s: no es pot trobar el directori «tcb» per %s\n" #~ "baix" #, fuzzy, c-format -#~| msgid "%s: failed to find tcb directory for %s\n" #~ msgid "%s: Could not open proc directory for target %u\n" #~ msgstr "%s: no es pot trobar el directori «tcb» per %s\n" @@ -3276,10 +3200,6 @@ msgstr "%s: no es pot trobar el directori «tcb» per %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Última accés: %.19s a %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: el nom d'usuari «%s» no és vàlid\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: la informació de caducitat de la contrasenya ha canviat.\n" @@ -3624,16 +3544,6 @@ msgstr "%s: no es pot trobar el directori «tcb» per %s\n" #~ msgid "%s: no flags given\n" #~ msgstr "%s: no s'han especificat assenyaladors\n" -#~| msgid "" -#~| "Usage: vipw [options]\n" -#~| "\n" -#~| "Options:\n" -#~| " -g, --group edit group database\n" -#~| " -h, --help display this help message and exit\n" -#~| " -p, --passwd edit passwd database\n" -#~| " -q, --quiet quiet mode\n" -#~| " -s, --shadow edit shadow or gshadow database\n" -#~| "\n" #~ msgid "" #~ "Usage: vipw [options]\n" #~ "\n" @@ -3657,7 +3567,6 @@ msgstr "%s: no es pot trobar el directori «tcb» per %s\n" #~ "gshadow\n" #~ "\n" -#~| msgid "Usage: %s [input]\n" #~ msgid "" #~ "Usage: useradd [options] LOGIN\n" #~ "\n" @@ -3670,25 +3579,6 @@ msgstr "%s: no es pot trobar el directori «tcb» per %s\n" #~ msgid "%s: can't chown %s\n" #~ msgstr "%s: no es pot fer canviar el propietari a %s\n" -#~| msgid "" -#~| "Usage: faillog [options]\n" -#~| "\n" -#~| "Options:\n" -#~| " -a, --all display faillog records for all users\n" -#~| " -h, --help display this help message and exit\n" -#~| " -l, --lock-time SEC after failed login lock accout to SEC " -#~| "seconds\n" -#~| " -m, --maximum MAX set maximum failed login counters to " -#~| "MAX\n" -#~| " -r, --reset reset the counters of login failures\n" -#~| " -t, --time DAYS display faillog records more recent than " -#~| "DAYS\n" -#~| " -u, --user LOGIN display faillog record or maintains " -#~| "failure\n" -#~| " counters and limits (if used with -r, -m " -#~| "or -l\n" -#~| " options) only for user with LOGIN\n" -#~| "\n" #~ msgid "" #~ "Usage: faillog [options]\n" #~ "\n" diff --git a/po/cs.gmo b/po/cs.gmo index 6d012cee..38f389fa 100644 Binary files a/po/cs.gmo and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po index cb45fea3..8cd9e573 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.2\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2014-08-24 15:07+0200\n" "Last-Translator: Miroslav Kure \n" "Language-Team: Czech \n" @@ -531,10 +531,6 @@ msgstr "%s: %s není ani adresář, ani symbolický odkaz.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: Nelze číst symbolický odkaz %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Podezřele dlouhý symbolický odkaz: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: Nelze vytvořit adresář %s: %s\n" @@ -876,6 +872,11 @@ msgstr "%s: „%s“ obsahuje jiné znaky než ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: „%s“ obsahuje nepovolené znaky\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: „%s“ není platným jménem skupiny\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: uživatel „%s“ neexistuje\n" @@ -1392,10 +1393,6 @@ msgstr " -p, --password HESLO změní heslo na (šifrované) HESLO\n" msgid "%s: invalid group name '%s'\n" msgstr "%s: neplatné jméno skupiny „%s“\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: neznámý uživatel %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1505,12 +1502,6 @@ msgstr "%s: žádné změny nebyly provedeny\n" msgid "%s: cannot delete %s\n" msgstr "%s: nelze smazat %s\n" -msgid "Usage: id [-a]\n" -msgstr "Použití: id [-a]\n" - -msgid " groups=" -msgstr " skupiny=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1590,10 +1581,6 @@ msgstr "Použití: %s [-p] [jméno]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h počítač] [-f jméno]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r počítač\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "konfigurační chyba - nelze zpracovat hodnotu %s: „%d“" @@ -1748,6 +1735,11 @@ msgstr "Neplatné heslo.\n" msgid "%s: failure forking: %s\n" msgstr "%s: chyba rozdvojení: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: „%s“ není platným jménem skupiny\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID „%lu“ neexistuje\n" @@ -1796,6 +1788,10 @@ msgstr "%s: chybné uživatelské ID „%s“\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: chybné uživatelské jméno „%s“\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: chybné uživatelské jméno „%s“\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2060,6 +2056,11 @@ msgstr "duplikovaná položka v souboru s hesly" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: chybné uživatelské jméno „%s“\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: chybné uživatelské jméno „%s“\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "chybné uživatelské ID „%lu“\n" @@ -2288,14 +2289,15 @@ msgstr "Vstupuji do režimu údržby systému" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s byl vytvořen, ale nemůže být odstraněn\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: nastavení %s v %s bude ignorováno\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: nastavení %s v %s bude ignorováno\n" @@ -3014,22 +3016,24 @@ msgstr "chyba při změně vlastníka poštovní schránky" msgid "failed to rename mailbox" msgstr "chyba při přejmenovávání poštovní schránky" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: odebrání rozsahu uid %lu-%lu z „%s“ selhalo\n" #, fuzzy, c-format #| msgid "%s: failed to add uid range %lu-%lu from '%s'\n" -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: přidání rozsahu uid %lu-%lu z „%s“ selhalo\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: odebrání rozsahu gid %lu-%lu z „%s“ selhalo\n" #, fuzzy, c-format #| msgid "%s: failed to add gid range %lu-%lu from '%s'\n" -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: přidání rozsahu gid %lu-%lu z „%s“ selhalo\n" #, c-format @@ -3123,6 +3127,10 @@ msgstr "%s: nepodařilo se nalézt tcb adresář uživatele %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Přetečení prostředí\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: Podezřele dlouhý symbolický odkaz: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: uživatele „%s“ nelze na NIS klientu změnit.\n" @@ -3143,6 +3151,20 @@ msgstr "%s: nepodařilo se nalézt tcb adresář uživatele %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: skupina %s je NIS skupinou\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: neznámý uživatel %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Použití: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " skupiny=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r počítač\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: nelze vytvořit nový soubor s výchozími hodnotami\n" @@ -3179,10 +3201,6 @@ msgstr "%s: nepodařilo se nalézt tcb adresář uživatele %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Poslední přihlášení: %.19s na %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: chybné uživatelské jméno „%s“\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: informace o vypršení platnosti hesla byly změněny.\n" diff --git a/po/da.gmo b/po/da.gmo index e515ea33..e11480bf 100644 Binary files a/po/da.gmo and b/po/da.gmo differ diff --git a/po/da.po b/po/da.po index 3eceb6d2..856e2873 100644 --- a/po/da.po +++ b/po/da.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2012-01-26 23:57+0100\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" @@ -548,10 +548,6 @@ msgstr "%s: %s er hverken en mappe eller en symbolsk henvisning.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: Kan ikke omdøbe symbolsk henvisning %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Mistænkelig lang symbolsk henvisning: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: Kan ikke oprette mappen %s: %s\n" @@ -894,6 +890,11 @@ msgstr "%s: »%s« indeholder ikke-ASCII-tegn\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: »%s« indeholder ugyldige tegn\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: »%s« er ikke et gyldigt gruppenavn\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: Brugeren »%s« findes ikke\n" @@ -1422,10 +1423,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: Ugyldigt gruppenavn »%s«\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: Ukendt bruger %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1535,12 +1532,6 @@ msgstr "%s: Ingen ændringer\n" msgid "%s: cannot delete %s\n" msgstr "%s: Kan ikke slette %s\n" -msgid "Usage: id [-a]\n" -msgstr "Brug: id [-a]\n" - -msgid " groups=" -msgstr " grupper=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1619,10 +1610,6 @@ msgstr "Brug: %s [-p] [navn]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h vært] [-f navn]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r vært\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "konfigurationsfejl - kan ikke fortolke %s-værdi: »%d«" @@ -1771,6 +1758,11 @@ msgstr "Ugyldig adgangskode.\n" msgid "%s: failure forking: %s\n" msgstr "%s: fejl under forgrening: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: »%s« er ikke et gyldigt gruppenavn\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID »%lu« findes ikke\n" @@ -1814,6 +1806,10 @@ msgstr "%s: Ugyldigt bruger-id »%s«\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: Ugyldigt brugernavn »%s«\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: Ugyldigt brugernavn »%s«\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2081,6 +2077,11 @@ msgstr "adgangskodepunkt er en dublet" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: Ugyldigt brugernavn »%s«\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: Ugyldigt brugernavn »%s«\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "ugyldigt bruger-id »%lu«\n" @@ -2309,14 +2310,15 @@ msgstr "Går i systemvedligeholdelsestilstand" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s blev oprettet, men kunne ikke fjernes\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: Konfigurationen %s i %s vil blive ignoreret\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: Konfigurationen %s i %s vil blive ignoreret\n" @@ -3044,19 +3046,19 @@ msgid "failed to rename mailbox" msgstr "kunne ikke omdøbe postkasse" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: Kunne ikke forberede det nye %s-punkt »%s«\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: Kunne ikke forberede det nye %s-punkt »%s«\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: Kunne ikke forberede det nye %s-punkt »%s«\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: Kunne ikke forberede det nye %s-punkt »%s«\n" #, c-format @@ -3150,6 +3152,10 @@ msgstr "%s: Kunne ikke finde tcb-mappe for %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Miljøoverløb\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: Mistænkelig lang symbolsk henvisning: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: Kan ikke ændre brugeren »%s« på NIS-klienten.\n" @@ -3170,6 +3176,20 @@ msgstr "%s: Kunne ikke finde tcb-mappe for %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: Gruppen %s er en NIS-gruppe\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: Ukendt bruger %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Brug: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupper=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r vært\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: Kan ikke oprette ny standardværdifil\n" @@ -3203,10 +3223,6 @@ msgstr "%s: Kunne ikke finde tcb-mappe for %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Sidst logget på: %.19s på %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: Ugyldigt brugernavn »%s«\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: Information om udløb af adgangskode blev ændret.\n" diff --git a/po/de.gmo b/po/de.gmo index cf7dcbd5..742ee3c1 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 5c57b78d..d65431c4 100644 --- a/po/de.po +++ b/po/de.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.2-2\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2020-09-22 15:10+0200\n" "Last-Translator: Björn Esser \n" "Language-Team: German \n" @@ -547,10 +547,6 @@ msgstr "%s: %s ist weder ein Verzeichnis noch eine symbolische Verknüpfung.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: Symbolische Verknüpfung %s kann nicht gelesen werden: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Verdächtig lange symbolische Verknüpfung: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: Verzeichnis %s kann nicht erstellt werden: %s\n" @@ -903,6 +899,11 @@ msgstr "%s: »%s« enthält Zeichen, die nicht zum ASCII-Zeichensatz gehören.\n msgid "%s: '%s' contains illegal characters\n" msgstr "%s: »%s« enthält ungültige Zeichen.\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: »%s« ist kein gültiger Gruppenname.\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: Benutzer »%s« ist nicht vorhanden.\n" @@ -1449,10 +1450,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: Ungültiger Gruppenname »%s«\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: Unbekannter Benutzer %s\n" - # NOTE: group is a file (/etc/group) #, c-format msgid "" @@ -1564,12 +1561,6 @@ msgstr "%s: Keine Änderungen\n" msgid "%s: cannot delete %s\n" msgstr "%s: %s kann nicht gelöscht werden.\n" -msgid "Usage: id [-a]\n" -msgstr "Aufruf: id [-a]\n" - -msgid " groups=" -msgstr " Gruppen=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1653,10 +1644,6 @@ msgstr "Aufruf: %s [-p] [Name]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h Rechner] [-f Name]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r Rechner\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "Konfigurationsfehler - Wert für %s kann nicht ausgewertet werden: »%d«" @@ -1806,6 +1793,11 @@ msgstr "Ungültiges Passwort.\n" msgid "%s: failure forking: %s\n" msgstr "%s: Fehler bei Prozessaufspaltung (fork): %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: »%s« ist kein gültiger Gruppenname.\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID »%lu« existiert nicht.\n" @@ -1850,6 +1842,10 @@ msgstr "%s: Ungültige Benutzer-ID »%s«\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: Ungültiger Benutzername »%s«\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: Ungültiger Benutzername »%s«\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2125,6 +2121,11 @@ msgstr "Doppelter Passworteintrag" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: Ungültiger Benutzername »%s«\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: Ungültiger Benutzername »%s«\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "Ungültige Benutzer-ID »%lu«\n" @@ -2353,14 +2354,15 @@ msgstr "Wechsel in den Systemwartungsmodus" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s wurde erstellt, konnte aber nicht entfernt werden\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: die %s-Konfiguration in %s wird ignoriert.\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: die %s-Konfiguration in %s wird ignoriert.\n" @@ -3115,19 +3117,19 @@ msgid "failed to rename mailbox" msgstr "Fehler beim Umbenennen von mailbox" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: Vorbereiten des neuen %s-Eintrags »%s« fehlgeschlagen.\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: Vorbereiten des neuen %s-Eintrags »%s« fehlgeschlagen.\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: Vorbereiten des neuen %s-Eintrags »%s« fehlgeschlagen.\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: Vorbereiten des neuen %s-Eintrags »%s« fehlgeschlagen.\n" #, c-format @@ -3224,6 +3226,10 @@ msgstr "%s: tcb-Verzeichnis für %s konnte nicht gefunden werden\n" #~ msgid "Environment overflow\n" #~ msgstr "Umgebungsüberlauf\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: Verdächtig lange symbolische Verknüpfung: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "" @@ -3245,6 +3251,20 @@ msgstr "%s: tcb-Verzeichnis für %s konnte nicht gefunden werden\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: Gruppe %s ist eine NIS-Gruppe.\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: Unbekannter Benutzer %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Aufruf: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " Gruppen=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r Rechner\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: Neue defaults-Datei kann nicht erzeugt werden.\n" @@ -3284,10 +3304,6 @@ msgstr "%s: tcb-Verzeichnis für %s konnte nicht gefunden werden\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Letztes Login: %.19s auf %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: Ungültiger Benutzername »%s«\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: Passwortablauf-Informationen geändert.\n" diff --git a/po/dz.gmo b/po/dz.gmo index 96279bac..1921466b 100644 Binary files a/po/dz.gmo and b/po/dz.gmo differ diff --git a/po/dz.po b/po/dz.po index 1a5efea9..c4a45aa7 100644 --- a/po/dz.po +++ b/po/dz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2006-06-01 15:28+0530\n" "Last-Translator: Jurmey Rabgay \n" "Language-Team: dzongkha \n" @@ -511,10 +511,6 @@ msgstr "%s: ནུས་མེད་ཁྱིམ་གྱི་སྣོད་ msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" @@ -832,6 +828,10 @@ msgstr "%s: '%s' ནང་ལུ་ ཁྲིམས་འགལ་ཡིག་ msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' ནང་ལུ་ ཁྲིམས་འགལ་ཡིག་ཆ་ཚུ་ཡོད།\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s འདི་ ནུས་ཅན་གྱི་སྡེ་ཚན་མིང་མེན་པས།\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: ལག་ལེན་པ་ %sའདི་ མེད།\n" @@ -1286,10 +1286,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "ནུས་མེད་སྡེཚན་གྱི་མིང་ '%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: མ་ཤེས་པའི་ལག་ལེན་པ་%s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1389,12 +1385,6 @@ msgstr "%s: སོར་ནི་མེད།\n" msgid "%s: cannot delete %s\n" msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n" -msgid "Usage: id [-a]\n" -msgstr "ལག་ལེནཔ་:id [-a]\n" - -msgid " groups=" -msgstr "སྡེ་ཚན་=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1465,10 +1455,6 @@ msgstr "ལག་ལེན་: %s [-p] [མིང་]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f name]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1616,6 +1602,10 @@ msgstr "ཆོག་ཡིག་རྙིངམ་:" msgid "%s: failure forking: %s\n" msgstr "%s: ཁ་སྤེལ་བ་འཐུས་ཤོར་:%s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s འདི་ ནུས་ཅན་གྱི་སྡེ་ཚན་མིང་མེན་པས།\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: ལག་ལེན་པ་ %sའདི་ མེད།\n" @@ -1656,6 +1646,10 @@ msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'།\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'།\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1890,6 +1884,11 @@ msgstr "ཆོག་ཡིག་ཐོ་བཀོད་རྫུན་མ།" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'།\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'།\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'\n" @@ -2103,12 +2102,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2720,19 +2719,19 @@ msgid "failed to rename mailbox" msgstr "ཡིག་སྒྲོམ་གྱི་བསྐྱར་མིང་བཏགས་ནི་ལུ་ འཛོལ་བ།" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: ཁེ་དབང་(%s)ཚུ་བཀོག་ནིའི་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: ཁེ་དབང་(%s)ཚུ་བཀོག་ནིའི་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: ཁེ་དབང་(%s)ཚུ་བཀོག་ནིའི་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: ཁེ་དབང་(%s)ཚུ་བཀོག་ནིའི་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" #, c-format @@ -2853,6 +2852,20 @@ msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: སྡེ་ཚན་ %s འདི་ ཨེན་ཇི་ཨེསི་ སྡེ་ཚན་ཨིན།\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: མ་ཤེས་པའི་ལག་ལེན་པ་%s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "ལག་ལེནཔ་:id [-a]\n" + +#~ msgid " groups=" +#~ msgstr "སྡེ་ཚན་=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: སྔོན་སྒྲིག་ཡིག་སྣོད་གསརཔ་ གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" @@ -2887,10 +2900,6 @@ msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ #~ msgid "Last login: %.19s on %s" #~ msgstr "མཇུག་གི་ནང་བསྐྱོད་: %.19s གུ་ %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'།\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "ཆོག་ཡིག་དུས་ཡོལ་ཉེན་བརྡ།" diff --git a/po/el.gmo b/po/el.gmo index cd53fce0..79da4c7f 100644 Binary files a/po/el.gmo and b/po/el.gmo differ diff --git a/po/el.po b/po/el.po index 25ad63eb..c8562d9e 100644 --- a/po/el.po +++ b/po/el.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow_po_el\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2012-01-21 00:22+0200\n" "Last-Translator: Thomas Vasileiou \n" "Language-Team: Greek \n" @@ -545,10 +545,6 @@ msgstr "%s: το %s δεν είναι ούτε κατάλογος ούτε συ msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: Αδυναμία ανάγνωσης του συμβολικού συνδέσμου %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Ύποπτα μεγάλος συμβολικός σύνδεσμος: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: Αδυναμία δημιουργίας καταλόγου %s: %s\n" @@ -910,6 +906,11 @@ msgstr "%s: '%s' περιέχει μη-ASCII χαρακτήρες\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' περιέχει μη έγκυρους χαρακτήρες\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: Το '%s' δεν είναι έγκυρο όνομα ομάδας\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: Ο χρήστης '%s' δεν υπάρχει\n" @@ -1450,10 +1451,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: μη έγκυρο όνομα ομάδας '%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: άγνωστος χρήστης %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1563,12 +1560,6 @@ msgstr "%s: καμιά αλλαγή\n" msgid "%s: cannot delete %s\n" msgstr "%s: αδυναμία διαγραφής του %s\n" -msgid "Usage: id [-a]\n" -msgstr "Χρήση: id [-a]\n" - -msgid " groups=" -msgstr " ομάδες=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1651,10 +1642,6 @@ msgstr "Χρήση: %s [-p] [όνομα]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h σύστημα] [-f όνομα]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r σύστημα\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "σφάλμα διαρρύθμισης - αδυναμία ανάλυσης της τιμής %s: '%d'" @@ -1805,6 +1792,11 @@ msgstr "Λάθος συνθηματικό.\n" msgid "%s: failure forking: %s\n" msgstr "%s: αποτυχία διχάλωσης: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: Το '%s' δεν είναι έγκυρο όνομα ομάδας\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: Ο GID '%lu' δεν υπάρχει\n" @@ -1849,6 +1841,10 @@ msgstr "%s: μη έγκυρο ID χρήστη '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: μη έγκυρο όνομα χρήστη '%s'\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: μη έγκυρο όνομα χρήστη '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2139,6 +2135,11 @@ msgstr "διπλότυπη καταχώριση στο αρχείο συνθημ msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: μη έγκυρο όνομα χρήστη '%s'\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: μη έγκυρο όνομα χρήστη '%s'\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "Μη έγκυρο ID χρήστη '%lu'\n" @@ -2369,14 +2370,15 @@ msgstr "Έναρξη Κατάστασης Συντήρησης Συστήματ msgid "%s: %s was created, but could not be removed\n" msgstr "%s: το %s δημιουργήθηκε, αλλά δεν μπορεί να διαγραφεί\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: η %s διαμόρφωση στο %s θα αγνοηθεί\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: η %s διαμόρφωση στο %s θα αγνοηθεί\n" @@ -3127,19 +3129,19 @@ msgid "failed to rename mailbox" msgstr "αποτυχία μετονομασίας γραμματοκιβωτίου" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: αποτυχία προετοιμασίας της νέας εγγραφής %s '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: αποτυχία προετοιμασίας της νέας εγγραφής %s '%s'\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: αποτυχία προετοιμασίας της νέας εγγραφής %s '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: αποτυχία προετοιμασίας της νέας εγγραφής %s '%s'\n" #, c-format @@ -3237,6 +3239,10 @@ msgstr "%s: αποτυχία εύρεσης καταλόγου tcb %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Υπερχείλιση περιβάλλοντος\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: Ύποπτα μεγάλος συμβολικός σύνδεσμος: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: αδυναμία αλλαγής χρήστη '%s' στον εξυπηρετητή NIS.\n" @@ -3258,6 +3264,20 @@ msgstr "%s: αποτυχία εύρεσης καταλόγου tcb %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: Η ομάδα %s είναι NIS ομάδα\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: άγνωστος χρήστης %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Χρήση: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " ομάδες=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r σύστημα\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: αδυναμία δημιουργίας νέου αρχείου προκαθορισμένων ρυθμίσεων\n" @@ -3293,10 +3313,6 @@ msgstr "%s: αποτυχία εύρεσης καταλόγου tcb %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Τελευταία είσοδος: %.19s στο %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: μη έγκυρο όνομα χρήστη '%s'\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: αλλαγή πληροφοριών λήξης συνθηματικού.\n" diff --git a/po/es.gmo b/po/es.gmo index 802fd084..1f1d30e8 100644 Binary files a/po/es.gmo and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po index e01bf8b8..849d8356 100644 --- a/po/es.po +++ b/po/es.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.4.2\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2011-11-23 23:56+0100\n" "Last-Translator: Francisco Javier Cuadrado \n" "Language-Team: Debian l10n Spanish \n" @@ -564,10 +564,6 @@ msgstr "%s: %s no es ni un directorio ni un enlace simbólico.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: no se pudo leer el enlace simbólico %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: enlace simbólico sospechosamente largo: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: no se pudo crear el directorio %s: %s\n" @@ -751,7 +747,7 @@ msgid "future" msgstr "" msgid "Last password change\t\t\t\t\t: " -msgstr "Último cambio de contraseña\t\t\t\t\t:" +msgstr "Último cambio de contraseña\t\t\t\t\t: " msgid "password must be changed" msgstr "se debe cambiar la contraseña" @@ -921,6 +917,11 @@ msgstr "%s: «%s» contiene caracteres ilegales (que no son ASCII)\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: «%s» contiene caracteres ilegales\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: «%s» no es un nombre de grupo válido\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: el usuario «%s» no existe\n" @@ -1454,10 +1455,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: nombre del grupo «%s» incorrecto\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: usuario desconocido %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1565,12 +1562,6 @@ msgstr "%s: sin cambios\n" msgid "%s: cannot delete %s\n" msgstr "%s: no se pudo borrar %s\n" -msgid "Usage: id [-a]\n" -msgstr "Modo de uso: id [-a]\n" - -msgid " groups=" -msgstr "grupos=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1654,10 +1645,6 @@ msgstr "Modo de uso: %s [-p] [nombre]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h máquina] [-f nombre]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r máquina\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "error de configuración, no se pudo procesar el valor %s: «%d»" @@ -1807,6 +1794,11 @@ msgstr "Contraseña incorrecta.\n" msgid "%s: failure forking: %s\n" msgstr "%s: se produjo un fallo al realizar el «fork»: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: «%s» no es un nombre de grupo válido\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: el GID «%lu» no existe\n" @@ -1850,6 +1842,10 @@ msgstr "%s: identificador de usuario «%s» incorrecto\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nombre de usuario «%s» incorrecto\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: nombre de usuario «%s» incorrecto\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2132,6 +2128,11 @@ msgstr "entrada de contraseña duplicada" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: nombre de usuario «%s» incorrecto\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: nombre de usuario «%s» incorrecto\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "identificador «%lu» de usuario incorrecto\n" @@ -2363,14 +2364,15 @@ msgstr "Entrando en el modo de mantenimiento del sistema" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: se creó %s, pero no se pudo eliminar\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: se ignorará la configuración %s en %s\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: se ignorará la configuración %s en %s\n" @@ -3114,19 +3116,19 @@ msgid "failed to rename mailbox" msgstr "se produjo un fallo al cambiar el nombre del buzón de correo" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: se produjo un fallo al preparar la nueva %s entrada «%s»\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: se produjo un fallo al preparar la nueva %s entrada «%s»\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: se produjo un fallo al preparar la nueva %s entrada «%s»\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: se produjo un fallo al preparar la nueva %s entrada «%s»\n" #, c-format @@ -3224,6 +3226,10 @@ msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Desbordamiento de entorno\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: enlace simbólico sospechosamente largo: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: no se pudo cambiar el usuario «%s» en el cliente NIS.\n" @@ -3244,6 +3250,20 @@ msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: el grupo %s es un grupo NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: usuario desconocido %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Modo de uso: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr "grupos=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r máquina\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "" @@ -3279,10 +3299,6 @@ msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Último acceso: %.19s en %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: nombre de usuario «%s» incorrecto\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: información de caducidad de la contraseña cambiada.\n" diff --git a/po/eu.gmo b/po/eu.gmo index 5c35de36..837e70d1 100644 Binary files a/po/eu.gmo and b/po/eu.gmo differ diff --git a/po/eu.po b/po/eu.po index 1aab0800..ec186797 100644 --- a/po/eu.po +++ b/po/eu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: eu\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2011-11-26 19:42+0100\n" "Last-Translator: Piarres Beobide \n" "Language-Team: Euskara \n" @@ -521,10 +521,6 @@ msgstr "%s: %s etxe-direktorioa (%s) ez dago\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: ezin da '%s' sarrera %s-tik kendu\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: ezin da %s direktorioa sortu\n" @@ -864,6 +860,11 @@ msgstr "%s: '%s'(e)k ASCII ez diren karaktereak ditu\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s'(e)k karaktere baliogabeak ditu\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: '%s' ez da baliozko talde-izena\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: '%s' erabiltzailea ez da existitzen\n" @@ -1388,10 +1389,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: '%s' talde izen baliogabea\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: %s erabiltzaile ezezaguna\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1499,12 +1496,6 @@ msgstr "%s: aldaketarik gabe\n" msgid "%s: cannot delete %s\n" msgstr "%s: ezin da %s ezabatu\n" -msgid "Usage: id [-a]\n" -msgstr "Erabilera: id [-a]\n" - -msgid " groups=" -msgstr " taldeak=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1587,10 +1578,6 @@ msgstr "Erabilera: %s [-p] [izena]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h ostalaria] [-f izena]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r ostalaria\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "konfigurazio errorea - ezin da %s balioa analizatu: '%d'" @@ -1739,6 +1726,11 @@ msgstr "Pasahitz baliogabea.\n" msgid "%s: failure forking: %s\n" msgstr "%s: huts zatitzerakoan: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: '%s' ez da baliozko talde-izena\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: `%lu' GIDa ez da existitzen\n" @@ -1781,6 +1773,10 @@ msgstr "%s: '%s' erabiltzaile ID baliogabea\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' erabiltzaile-izen baliogabea\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: '%s' erabiltzaile-izen baliogabea\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2052,6 +2048,11 @@ msgstr "bikoiztutako pasahitz sarrera" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' erabiltzaile-izen baliogabea\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: '%s' erabiltzaile-izen baliogabea\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "'%lu' erabiltzaile ID baliogabea\n" @@ -2280,14 +2281,15 @@ msgstr "Sistemaren mantentze-lanetako moduan sartzen" msgid "%s: %s was created, but could not be removed\n" msgstr "" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: %s konfigurazioa %s-n dagoena alde batetara utziko da\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: %s konfigurazioa %s-n dagoena alde batetara utziko da\n" @@ -2987,19 +2989,19 @@ msgid "failed to rename mailbox" msgstr "huts egin du postontzia izenez aldatzean" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: huts %s sarrera berria prestatzean '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: huts %s sarrera berria prestatzean '%s'\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: huts %s sarrera berria prestatzean '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: huts %s sarrera berria prestatzean '%s'\n" #, c-format @@ -3117,6 +3119,20 @@ msgstr "%s: oinarrizko '%s' direktorio baliogabea\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: %s taldea NIS talde bat da\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: %s erabiltzaile ezezaguna\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Erabilera: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " taldeak=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r ostalaria\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: ezin da lehenespen fitxategi berria sortu\n" @@ -3152,10 +3168,6 @@ msgstr "%s: oinarrizko '%s' direktorio baliogabea\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Azken saio-hasiera: %.19s %s(e)n" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: '%s' erabiltzaile-izen baliogabea\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: pasahitz iraungitzea informazioa aldatua.\n" diff --git a/po/fi.gmo b/po/fi.gmo index 69b441e6..cfe6c92d 100644 Binary files a/po/fi.gmo and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po index 8b8e226d..68c2dc90 100644 --- a/po/fi.po +++ b/po/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2007-11-24 22:54+0100\n" "Last-Translator: Tommi Vainikainen \n" "Language-Team: Finnish \n" @@ -505,10 +505,6 @@ msgstr "%s: virheellinen kotihakemisto \"%s\"\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: hakemistoa %s ei voi luoda\n" @@ -828,6 +824,10 @@ msgstr "%s: \"%s\" sisältää ei-sallittuja merkkejä\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: \"%s\" sisältää ei-sallittuja merkkejä\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s ei ole kelpo ryhmänimi\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: käyttäjää %s ei ole olemassa\n" @@ -1282,10 +1282,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "virheellinen ryhmänimi \"%s\"\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: Tuntematon käyttäjä %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1385,12 +1381,6 @@ msgstr "%s: ei muutoksia\n" msgid "%s: cannot delete %s\n" msgstr "%s: tiedostoa %s ei voi päivittää\n" -msgid "Usage: id [-a]\n" -msgstr "Käyttö: id [-a]\n" - -msgid " groups=" -msgstr " ryhmät=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1461,10 +1451,6 @@ msgstr "Käyttö: %s [-p] [nimi]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h isäntä] [-f nimi]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r isäntä\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1613,6 +1599,10 @@ msgstr "Vanha salasana: " msgid "%s: failure forking: %s\n" msgstr "%s: fork-kutsu epäonnistui: %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s ei ole kelpo ryhmänimi\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: käyttäjää %s ei ole olemassa\n" @@ -1653,6 +1643,10 @@ msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1891,6 +1885,11 @@ msgstr "kaksinkertainen salasanatietue" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "virheellinen käyttäjätunnus \"%s\"\n" @@ -2118,12 +2117,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2739,19 +2738,19 @@ msgid "failed to rename mailbox" msgstr "postilaatikon uudelleennimeäminen epäonnistui" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: Oikeuksien pudottaminen epäonnistui (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: Oikeuksien pudottaminen epäonnistui (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: Oikeuksien pudottaminen epäonnistui (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: Oikeuksien pudottaminen epäonnistui (%s)\n" #, c-format @@ -2873,6 +2872,20 @@ msgstr "%s: virheellinen perushakemisto \"%s\"\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: ryhmä %s on NIS-ryhmä\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: Tuntematon käyttäjä %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Käyttö: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " ryhmät=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r isäntä\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: uutta defaults-tiedostoa ei voi luoda\n" @@ -2906,10 +2919,6 @@ msgstr "%s: virheellinen perushakemisto \"%s\"\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Edellinen kirjautuminen: %.19s päätteellä %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Salasanan vanhenemisvaroitus" diff --git a/po/fr.gmo b/po/fr.gmo index 49f574e0..1a5200c3 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 946e855a..25697477 100644 --- a/po/fr.po +++ b/po/fr.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow-man-pages 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2023-04-26 20:04+0200\n" "Last-Translator: bubu \n" "Language-Team: French \n" @@ -571,10 +571,6 @@ msgstr "%s : %s n'est ni un répertoire, ni un lien symbolique.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s : Impossible de lire le lien symbolique %s : %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s : Lien symbolique suspicieusement long : %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s : Impossible de créer le répertoire %s : %s\n" @@ -935,6 +931,11 @@ msgstr "%s : '%s' contient des caractères non-ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s : '%s' contient des caractères illégaux\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s : '%s' n'est pas un nom de groupe valable\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s : l'utilisateur '%s' n'existe pas\n" @@ -1478,10 +1479,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s : nom de groupe '%s' non valable\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s : utilisateur inconnu %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1593,12 +1590,6 @@ msgstr "%s : aucun changement\n" msgid "%s: cannot delete %s\n" msgstr "%s : impossible d'effacer %s\n" -msgid "Usage: id [-a]\n" -msgstr "Utilisation : id [-a]\n" - -msgid " groups=" -msgstr " groupes =" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1689,10 +1680,6 @@ msgstr "Utilisation : %s[-p][nom]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr "\t%s [-p][-h host][-f nom]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "erreur de paramétrage - ne peut pas analyser %s valeur : '%d'" @@ -1851,6 +1838,11 @@ msgstr "Mot de passe non valable.\n" msgid "%s: failure forking: %s\n" msgstr "%s : échec du fourchage : %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s : '%s' n'est pas un nom de groupe valable\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s : le GID '%lu' n'existe pas\n" @@ -1898,6 +1890,11 @@ msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" "%s : nom d'utilisateur '%s' non valable ; utilisez --badname pour l'ignorer\n" +#, fuzzy, c-format +#| msgid "%s: invalid user ID '%s'\n" +msgid "%s: invalid user name '%s'\n" +msgstr "%s : IDentification d'utilisateur '%s' non valable\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2193,6 +2190,11 @@ msgid "invalid user name '%s': use --badname to ignore\n" msgstr "" "Nom d'utilisateur '%s' non valable ; utilisez --badname pour l'ignorer\n" +#, fuzzy, c-format +#| msgid "invalid group name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "nom de groupe '%s' non valable\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "ID utilisateur '%lu' non valable\n" @@ -2417,14 +2419,15 @@ msgstr "Commencement du mode de maintenance du système" msgid "%s: %s was created, but could not be removed\n" msgstr "%s : %s a été créé, mais n'a pas pu être supprimé\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s : le paramétrage %s dans %s sera ignoré \n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s : le paramétrage %s dans %s sera ignoré \n" @@ -3181,20 +3184,24 @@ msgstr "impossible de changer le proriétaire du fichier mailbox" msgid "failed to rename mailbox" msgstr "impossible de renommer le fichier mailbox" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s : échec de la suppression de la gamme d'uid %lu-%lu de '%s'\n" -#, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s : échec de l'ajout de la gamme d'uid %lu-%lu à '%s'\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s : échec de la suppression de la gamme de gid %lu-%lu de '%s'\n" -#, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s : échec de l'ajout de la gamme de gid %lu-%lu à '%s'\n" #, c-format @@ -3297,6 +3304,10 @@ msgstr "" #~ msgid "Environment overflow\n" #~ msgstr "Débordement de l'environnement\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s : Lien symbolique suspicieusement long : %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s : impossible de changer l'utilisateur '%s' sur le client NIS.\n" @@ -3319,6 +3330,20 @@ msgstr "" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s : le groupe %s est un groupe NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s : utilisateur inconnu %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Utilisation : id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " groupes =" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "" diff --git a/po/gl.gmo b/po/gl.gmo index 55b30c05..f523cac3 100644 Binary files a/po/gl.gmo and b/po/gl.gmo differ diff --git a/po/gl.po b/po/gl.po index 99e0e7b2..2ba00ec9 100644 --- a/po/gl.po +++ b/po/gl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2006-07-18 23:27+0200\n" "Last-Translator: Jacobo Tarrio \n" "Language-Team: Galician \n" @@ -507,10 +507,6 @@ msgstr "%s: directorio inicial \"%s\" non válido\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: non se pode crear o directorio %s\n" @@ -828,6 +824,10 @@ msgstr "%s: \"%s\" contén caracteres non válidos\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: \"%s\" contén caracteres non válidos\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s non é un nome de grupo válido\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: o usuario %s non existe\n" @@ -1282,10 +1282,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "nome de grupo \"%s\" non válido\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: usuario %s descoñecido\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1385,12 +1381,6 @@ msgstr "%s: non hai cambios\n" msgid "%s: cannot delete %s\n" msgstr "%s: non se pode actualizar o ficheiro %s\n" -msgid "Usage: id [-a]\n" -msgstr "Emprego: id [-a]\n" - -msgid " groups=" -msgstr " grupos=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1461,10 +1451,6 @@ msgstr "Emprego: %s [-p] [nome]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h servidor] [-f nome]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r servidor\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1612,6 +1598,10 @@ msgstr "Contrasinal antigo: " msgid "%s: failure forking: %s\n" msgstr "%s: fallo ao lanzar o proceso: %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s non é un nome de grupo válido\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: o usuario %s non existe\n" @@ -1652,6 +1642,10 @@ msgstr "%s: nome de usuario \"%s\" non válido\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nome de usuario \"%s\" non válido\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: nome de usuario \"%s\" non válido\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1889,6 +1883,11 @@ msgstr "entrada de contrasinal duplicada" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: nome de usuario \"%s\" non válido\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: nome de usuario \"%s\" non válido\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "nome de usuario \"%s\" non válido\n" @@ -2102,12 +2101,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2723,19 +2722,19 @@ msgid "failed to rename mailbox" msgstr "non se puido cambiar o nome da caixa do correo" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: non se puido deixar os privilexios (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: non se puido deixar os privilexios (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: non se puido deixar os privilexios (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: non se puido deixar os privilexios (%s)\n" #, c-format @@ -2856,6 +2855,20 @@ msgstr "%s: directorio base \"%s\" non válido\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: o grupo %s é un grupo NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: usuario %s descoñecido\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Emprego: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupos=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r servidor\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: non se pode crear o novo ficheiro de valores por defecto\n" @@ -2891,10 +2904,6 @@ msgstr "%s: directorio base \"%s\" non válido\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Última entrada: %.19s en %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: nome de usuario \"%s\" non válido\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Aviso de caducidade de contrasinal" diff --git a/po/he.gmo b/po/he.gmo index 61b8e663..d0790108 100644 Binary files a/po/he.gmo and b/po/he.gmo differ diff --git a/po/he.po b/po/he.po index f008d996..179b8b20 100644 --- a/po/he.po +++ b/po/he.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2004-07-21 23:59+0300\n" "Last-Translator: Lior Kaplan \n" "Language-Team: Hebrew \n" @@ -496,10 +496,6 @@ msgstr "ספרית שורש לא חוקית \"%s\"\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" @@ -821,6 +817,10 @@ msgstr "%s: \"%s\" מכיל תווים לא חוקיים\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: \"%s\" מכיל תווים לא חוקיים\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: שם לא חוקי: \"%s\"\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: שם לא חוקי: \"%s\"\n" @@ -1271,10 +1271,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: שם לא חוקי: \"%s\"\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1378,12 +1374,6 @@ msgstr "" msgid "%s: cannot delete %s\n" msgstr "%s: לא יכול לנעול קובץ צל\n" -msgid "Usage: id [-a]\n" -msgstr "שימוש: id [-a]\n" - -msgid " groups=" -msgstr "" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1453,10 +1443,6 @@ msgstr "שימוש: %s [-p] [name]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr "" -#, c-format -msgid " %s [-p] -r host\n" -msgstr "" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1595,6 +1581,10 @@ msgstr "סיסמה לא טובה: %s. " msgid "%s: failure forking: %s\n" msgstr "%s: מספר טלפון בעבודה לא חוקי: \"%s\"\n" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: שם לא חוקי: \"%s\"\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: שם לא חוקי: \"%s\"\n" @@ -1634,6 +1624,10 @@ msgstr "%s: שם לא חוקי: \"%s\"\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: שם לא חוקי: \"%s\"\n" +#, fuzzy, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: שם לא חוקי: \"%s\"\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1865,6 +1859,10 @@ msgstr "שגיאה בעדכון רשומת הסיסמה." msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: שם לא חוקי: \"%s\"\n" +#, fuzzy, c-format +msgid "invalid user name '%s'\n" +msgstr "%s: שם לא חוקי: \"%s\"\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "%s: שם לא חוקי: \"%s\"\n" @@ -2063,12 +2061,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2661,19 +2659,19 @@ msgid "failed to rename mailbox" msgstr "" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: מספר טלפון בעבודה לא חוקי: \"%s\"\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: שדות ארוכים מידי\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: מספר טלפון בעבודה לא חוקי: \"%s\"\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "ספרית שורש לא חוקית \"%s\"\n" #, c-format @@ -2772,6 +2770,9 @@ msgstr "ספרית שורש לא חוקית \"%s\"\n" #~ msgid "%s: group '%s' is a NIS group\n" #~ msgstr "%s: שם לא חוקי: \"%s\"\n" +#~ msgid "Usage: id [-a]\n" +#~ msgstr "שימוש: id [-a]\n" + #, fuzzy, c-format #~ msgid "%s: Could not open proc directory for target %u\n" #~ msgstr "ספרית שורש לא חוקית \"%s\"\n" diff --git a/po/hu.gmo b/po/hu.gmo index 251636d4..297c3673 100644 Binary files a/po/hu.gmo and b/po/hu.gmo differ diff --git a/po/hu.po b/po/hu.po index e9a27a2b..87271952 100644 --- a/po/hu.po +++ b/po/hu.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2007-11-25 20:56+0100\n" "Last-Translator: SZERVÁC Attila \n" "Language-Team: Hungarian \n" @@ -502,10 +502,6 @@ msgstr "%s: érvénytelen saját könyvtár: \"%s\"\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: %s könyvtár nem hozható létre\n" @@ -823,6 +819,10 @@ msgstr "%s: \"%s\" illegális karaktereket tartalmaz\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: \"%s\" illegális karaktereket tartalmaz\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s rossz csoport név\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: %s felhasználó nem létezik\n" @@ -1277,10 +1277,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "érvénytelen csoportnév: `%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: ismeretlen %s felhasználó\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1380,12 +1376,6 @@ msgstr "%s: nincs változás\n" msgid "%s: cannot delete %s\n" msgstr "%s: %s fájl nem frissíthető\n" -msgid "Usage: id [-a]\n" -msgstr "Használat: id [-a]\n" - -msgid " groups=" -msgstr " csoportok=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1456,10 +1446,6 @@ msgstr "Használat: %s [-p] [név]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f név]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1607,6 +1593,10 @@ msgstr "Régi jelszó: " msgid "%s: failure forking: %s\n" msgstr "%s: hiba a következő indításakor: %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s rossz csoport név\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: %s felhasználó nem létezik\n" @@ -1647,6 +1637,10 @@ msgstr "%s: érvénytelen '%s' felhasználónév\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: érvénytelen '%s' felhasználónév\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: érvénytelen '%s' felhasználónév\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1884,6 +1878,11 @@ msgstr "dupla jelszó bejegyzés" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: érvénytelen '%s' felhasználónév\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: érvénytelen '%s' felhasználónév\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "érvénytelen '%s' felhasználó név\n" @@ -2112,12 +2111,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2730,19 +2729,19 @@ msgid "failed to rename mailbox" msgstr "a postafiók átnevezése sikertelen" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: a jogosultságok eldobása meghiúsult (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: a jogosultságok eldobása meghiúsult (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: a jogosultságok eldobása meghiúsult (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: a jogosultságok eldobása meghiúsult (%s)\n" #, c-format @@ -2863,6 +2862,20 @@ msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: %s egy NIS csoport\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: ismeretlen %s felhasználó\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Használat: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " csoportok=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: nem tudom létrehozni az új defaults fájlt\n" @@ -2898,10 +2911,6 @@ msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Utolsó bejelentkezés: %.19s ide: %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: érvénytelen '%s' felhasználónév\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Jelszó elévülési figyelmeztetés" diff --git a/po/id.gmo b/po/id.gmo index 773b1d1f..8901d464 100644 Binary files a/po/id.gmo and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po index b3c210da..8180d4b1 100644 --- a/po/id.po +++ b/po/id.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.15\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2007-11-25 20:58+0100\n" "Last-Translator: Parlin Imanuel Toh \n" "Language-Team: Debian Indonesia \n" @@ -501,10 +501,6 @@ msgstr "%s: direktori rumah `%s' tak sah\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: tak dapat membuat direktori %s\n" @@ -822,6 +818,10 @@ msgstr "%s: \"%s\" berisi karakter-karakter ilegal\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: \"%s\" berisi karakter-karakter ilegal\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: nama grup %s tidak sah\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: pengguna %s tak ada\n" @@ -1276,10 +1276,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "nama grup `%s' tidak sah\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: pengguna %s tak dikenal\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1379,12 +1375,6 @@ msgstr "%s: tak ada perubahan\n" msgid "%s: cannot delete %s\n" msgstr "%s: tidak dapat memperbaharui berkas %s\n" -msgid "Usage: id [-a]\n" -msgstr "Penggunaan: id [-a]\n" - -msgid " groups=" -msgstr " grup=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1455,10 +1445,6 @@ msgstr "Penggunaan: %s [-p] [nama]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f nama]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1606,6 +1592,10 @@ msgstr "Kata sandi lama: " msgid "%s: failure forking: %s\n" msgstr "%s: gagal membuat proses: %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: nama grup %s tidak sah\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: pengguna %s tak ada\n" @@ -1646,6 +1636,10 @@ msgstr "%s: nama pengguna `%s' tak sah\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nama pengguna `%s' tak sah\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: nama pengguna `%s' tak sah\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1883,6 +1877,11 @@ msgstr "entri kata sandi berduplikat" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: nama pengguna `%s' tak sah\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: nama pengguna `%s' tak sah\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "nama pengguna tak sah '%s'\n" @@ -2098,12 +2097,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2709,19 +2708,19 @@ msgid "failed to rename mailbox" msgstr "gagal mengubah nama kotak-surat" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: gagal membuang hak (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: gagal membuang hak (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: gagal membuang hak (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: gagal membuang hak (%s)\n" #, c-format @@ -2842,6 +2841,20 @@ msgstr "%s: direktori awal `%s' tak sah\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: grup %s merupakan sebuah grup NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: pengguna %s tak dikenal\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Penggunaan: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grup=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: tak dapat membuat berkas-berkas bawaan yang baru\n" @@ -2877,10 +2890,6 @@ msgstr "%s: direktori awal `%s' tak sah\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Login terakhir: %.19s pada %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: nama pengguna `%s' tak sah\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Peringatan Kadaluarsanya Kata Sandi" diff --git a/po/it.gmo b/po/it.gmo index eafc7481..868b31b6 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index d05d7f85..fd8a6670 100644 --- a/po/it.po +++ b/po/it.po @@ -25,7 +25,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2008-03-27 14:40+0100\n" "Last-Translator: Danilo Piazzalunga \n" "Language-Team: Italian \n" @@ -531,10 +531,6 @@ msgstr "%s: directory home «%s» non valida\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: impossibile rinominare la directory %s in %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: impossibile creare la directory %s\n" @@ -861,6 +857,10 @@ msgstr "%s: «%s» contiene caratteri non ammessi\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: «%s» contiene caratteri non ammessi\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s non è un nome di gruppo valido\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: l'utente «%s» non esiste\n" @@ -1346,10 +1346,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: nome di gruppo «%s» non valido\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: utente «%s» sconosciuto\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1452,12 +1448,6 @@ msgstr "%s: nessuna modifica\n" msgid "%s: cannot delete %s\n" msgstr "%s: impossibile aggiornare il file %s\n" -msgid "Usage: id [-a]\n" -msgstr "Uso: id [-a]\n" - -msgid " groups=" -msgstr " gruppi=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1528,10 +1518,6 @@ msgstr "Uso: %s [-p] [NOME]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h HOST] [-f NOME]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r HOST\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1680,6 +1666,10 @@ msgstr "Password non valida.\n" msgid "%s: failure forking: %s\n" msgstr "%s: impossibile eseguire fork(): %s\n" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s non è un nome di gruppo valido\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: l'utente «%s» non esiste\n" @@ -1720,6 +1710,10 @@ msgstr "%s: nome utente «%s» non valido\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nome utente «%s» non valido\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: nome utente «%s» non valido\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1972,6 +1966,11 @@ msgstr "voce duplicata nel file delle password" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: nome utente «%s» non valido\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: nome utente «%s» non valido\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "nome utente «%s» non valido\n" @@ -2199,12 +2198,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2862,19 +2861,19 @@ msgid "failed to rename mailbox" msgstr "impossibile rinominare la casella di posta" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: impossibile abbandonare i privilegi (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: impossibile abbandonare i privilegi (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: impossibile abbandonare i privilegi (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: impossibile abbandonare i privilegi (%s)\n" #, fuzzy, c-format @@ -2999,6 +2998,20 @@ msgstr "%s: directory di base «%s» non valida\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: il gruppo «%s» è un gruppo NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: utente «%s» sconosciuto\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Uso: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " gruppi=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r HOST\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: impossibile creare il nuovo file dei valori predefiniti\n" @@ -3033,10 +3046,6 @@ msgstr "%s: directory di base «%s» non valida\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Ultimo accesso: %.19s su %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: nome utente «%s» non valido\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Avviso di scadenza della password" diff --git a/po/ja.gmo b/po/ja.gmo index 4726f5a8..1a4934a5 100644 Binary files a/po/ja.gmo and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po index e69e890d..336b025d 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.5\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2012-05-21 02:52+0900\n" "Last-Translator: NAKANO Takeo \n" "Language-Team: Japanese \n" @@ -535,10 +535,6 @@ msgstr "%s: %s はディレクトリでもシンボリックリンクでもあ msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: シンボリックリンク %s を読めません: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: シンボリックリンクが長すぎるようです: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: ディレクトリ %s を作成できません: %s\n" @@ -878,6 +874,11 @@ msgstr "%s: '%s' には非 ASCII 文字が含まれています\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' には利用できない文字が含まれています\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: '%s' はグループ名として正しくありません\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: ユーザ '%s' は存在しません\n" @@ -1398,10 +1399,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s '%s' はグループ名として正しくありません\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: ユーザ %s は不明です\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1511,12 +1508,6 @@ msgstr "%s: 変更はありません\n" msgid "%s: cannot delete %s\n" msgstr "%s: %s を削除できません\n" -msgid "Usage: id [-a]\n" -msgstr "使い方: id [-a]\n" - -msgid " groups=" -msgstr " グループ=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1593,10 +1584,6 @@ msgstr "使い方: %s [-p] [ユーザ名]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h ホスト] [-f ユーザ名]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r ホスト\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "設定エラー - %s の値 '%d' をパースできません" @@ -1746,6 +1733,11 @@ msgstr "そのパスワードは使えません。\n" msgid "%s: failure forking: %s\n" msgstr "%s: fork に失敗しました: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: '%s' はグループ名として正しくありません\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID '%lu' は存在しません\n" @@ -1790,6 +1782,10 @@ msgstr "%s: '%s' はユ−ザ ID に使えません\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' はユーザ名に使えません\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: '%s' はユーザ名に使えません\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2057,6 +2053,11 @@ msgstr "パスワードエントリが重複しています" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' はユーザ名に使えません\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: '%s' はユーザ名に使えません\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "'%lu' はユーザ ID に使えません\n" @@ -2284,14 +2285,15 @@ msgstr "システムメンテナンスモードへ入ります" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s を作成しましたが、削除できません\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%1$s: %3$s 中の設定 %2$s は無視されます\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%1$s: %3$s 中の設定 %2$s は無視されます\n" @@ -2998,19 +3000,19 @@ msgid "failed to rename mailbox" msgstr "mailbox の名前変更に失敗しました" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: %s の新しいエントリ '%s' を準備できませんでした。\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: %s の新しいエントリ '%s' を準備できませんでした。\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: %s の新しいエントリ '%s' を準備できませんでした。\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: %s の新しいエントリ '%s' を準備できませんでした。\n" #, c-format @@ -3102,6 +3104,10 @@ msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n" #~ msgid "Environment overflow\n" #~ msgstr "環境変数領域のオーバーフロー\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: シンボリックリンクが長すぎるようです: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: NIS クライアントではユーザ '%s' を変更できません。\n" @@ -3122,6 +3128,20 @@ msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: グループ %s は NIS のグループです\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: ユーザ %s は不明です\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "使い方: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " グループ=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r ホスト\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: 新しいデフォルトファイルを作れません\n" @@ -3157,10 +3177,6 @@ msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "最近のログイン: %.19s on %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: '%s' はユーザ名に使えません\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: パスワード期限切れ情報を変更しました\n" diff --git a/po/ka.gmo b/po/ka.gmo index 98fc7b96..15536b7c 100644 Binary files a/po/ka.gmo and b/po/ka.gmo differ diff --git a/po/ka.po b/po/ka.po index 609afa0f..3da44846 100644 --- a/po/ka.po +++ b/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow-utils\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2024-02-08 06:13+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian <(nothing)>\n" @@ -528,10 +528,6 @@ msgstr "%s: %s არც საქაღალდეა, არც სიმბ msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: სიმბმულის წაკითხვის შეცდომა %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: საეჭვოდ გრძელი სიმბმული %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s საქაღალდის (%s) შექმნის შეცდომა: %s\n" @@ -874,6 +870,11 @@ msgstr "%s: %s: არა-ASCII სიმბოლოებს შეიცა msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' არასწორ სიმბოლოებს შეიცავს\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s ჯგუფის სწორ სახელს არ წარმოადგენს\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: მომხმარებელი \"%s\" არ არსებობს\n" @@ -1393,10 +1394,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: არასწორი ჯგუფის სახელი \"%s\"\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: უცნობი მომხმარებელი %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1508,12 +1505,6 @@ msgstr "%s: ცვლილებების გარეშე\n" msgid "%s: cannot delete %s\n" msgstr "%s: %s-ის წაშლა შეუძლებელია\n" -msgid "Usage: id [-a]\n" -msgstr "გამოყენება: id [-a]\n" - -msgid " groups=" -msgstr " ჯგუფები=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1597,10 +1588,6 @@ msgstr "გამოყენება: %s [-p] [სახელი]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h ჰოსტი] [-f სახელი]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r ჰოსტი\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1751,6 +1738,11 @@ msgstr "არასწორი პაროლი.\n" msgid "%s: failure forking: %s\n" msgstr "%s: განტოტვის შეცდომა: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s ჯგუფის სწორ სახელს არ წარმოადგენს\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID '%lu' არ არსებობს\n" @@ -1793,6 +1785,11 @@ msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" "%s: მომხმარებლის არასწორი სახელი '%s': დასაიგნორებლად გამოიყენეთ --badname\n" +#, fuzzy, c-format +#| msgid "%s: invalid user ID '%s'\n" +msgid "%s: invalid user name '%s'\n" +msgstr "%s: მომხმარებლის არასწორი ID \"%s\"\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "%s: მიაწოდეთ '--crypt-method', წრეების რაოდენობამდე\n" @@ -2062,6 +2059,11 @@ msgid "invalid user name '%s': use --badname to ignore\n" msgstr "" "მომხმარებლის არასწორი სახელი '%s': დასაიგნორებლად გამოიყენეთ --badname\n" +#, fuzzy, c-format +#| msgid "invalid group name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "ჯგუფის არასწორი სახელი: '%s'\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "მომხმარებლის არასწორი ID \"%lu\"\n" @@ -2279,13 +2281,17 @@ msgstr "მიმდინარეობს სისტემის სარ msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s შეიქმნა, მაგრამ ვერ ვშლი\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: %s-ის კონფიგურაცია %s-ში იგნორირებული იქნება\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +#| "group\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" "%s: '%s'-ის კონფიგურაციას %s-ში არასწორი ჯგუფი აქვს. არასწორი ჯგუფების " @@ -2988,20 +2994,24 @@ msgstr "საფოსტო ყუთის მფლობელის შე msgid "failed to rename mailbox" msgstr "საფოსტო ყუთის სახელის გადარქმევა ვერ მოხერხდა" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: UID-ის დიაპაზონის %lu-%lu '%s'-დან წაშლის შეცდომა\n" -#, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: UID-ის დიაპაზონის %lu-%lu '%s'-ში ჩამატების შეცდომა\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: GID-ის დიაპაზონის %lu-%lu '%s'-დან წაშლის შეცდომა\n" -#, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: GID-ის დიაპაზონის %lu-%lu '%s'-ში ჩამატების შეცდომა\n" #, c-format @@ -3095,6 +3105,10 @@ msgstr "%s: %s-სთვის tcb საქაღალდის პოვნ #~ msgid "Environment overflow\n" #~ msgstr "გარემო გადავსებულია\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: საეჭვოდ გრძელი სიმბმული %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: მომხმარებლის '%s' შეცვლა NIS კლიენტზე შეუძლებელია.\n" @@ -3115,6 +3129,20 @@ msgstr "%s: %s-სთვის tcb საქაღალდის პოვნ #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: ჯგუფი '%s' NIS ჯგუფია\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: უცნობი მომხმარებელი %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "გამოყენება: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " ჯგუფები=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r ჰოსტი\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: ნაგულისხმები მნიშვნელობების შემცველი ფაილის შექმნის შეცდომა\n" diff --git a/po/kk.gmo b/po/kk.gmo index 7cd3c694..924bb3d3 100644 Binary files a/po/kk.gmo and b/po/kk.gmo differ diff --git a/po/kk.po b/po/kk.po index 50314f60..d7970aa4 100644 --- a/po/kk.po +++ b/po/kk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadowutils\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2017-02-07 17:09+0500\n" "Last-Translator: Baurzhan Muftakhidinov \n" "Language-Team: Kazakh \n" @@ -534,10 +534,6 @@ msgstr "%s: %s бума да, сілтеме де емес.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: %s символдық сілтемесін оқу мүмкін емес: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Күдіктілі ұзын символдық сілтеме: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: %s бумасын жасау мүмкін емес: %s\n" @@ -886,6 +882,11 @@ msgstr "%s: '%s' құрамында ASCII-емес таңбалар бар\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' құрамында қате таңбалар бар\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: '%s' дұрыс топ аты емес\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: пайдаланушы '%s' жоқ болып тұр\n" @@ -1413,10 +1414,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: қате топ аты '%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: белгісіз пайдаланушы %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1526,12 +1523,6 @@ msgstr "%s: өзгерістер жоқ\n" msgid "%s: cannot delete %s\n" msgstr "%s: %s өшіру мүмкін емес\n" -msgid "Usage: id [-a]\n" -msgstr "Қолданылуы: id [-a]\n" - -msgid " groups=" -msgstr " топтар=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1617,10 +1608,6 @@ msgstr "Қолданылуы: %s [-p] [аты]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h хост] [-f аты]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r хост\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "баптау қатесі - %s мәнің өндеу мүмкін емес: '%d'" @@ -1770,6 +1757,11 @@ msgstr "пароль қате.\n" msgid "%s: failure forking: %s\n" msgstr "%s: үрдісті бастау қатесі: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: '%s' дұрыс топ аты емес\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: '%lu' GID-і жоқ болып тұр\n" @@ -1814,6 +1806,10 @@ msgstr "%s: пайдаланушы ID-і '%s' қате\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' пайдаланушы аты қате\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: '%s' пайдаланушы аты қате\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2089,6 +2085,11 @@ msgstr "қайталанатын пароль жазбасы" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' пайдаланушы аты қате\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: '%s' пайдаланушы аты қате\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "пайдаланушы ID-і '%lu' қате\n" @@ -2318,14 +2319,15 @@ msgstr "Жүйені жөндеу режиміне өту" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s жасалды, бірақ оны өшіру мүмкін емес\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: %s баптауы, ол %s ішінде, есепке алынбайды\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: %s баптауы, ол %s ішінде, есепке алынбайды\n" @@ -3042,22 +3044,24 @@ msgstr "mailbox иесін ауыстыру қатемен аяқталды" msgid "failed to rename mailbox" msgstr "mailbox атын ауыстыру қатемен аяқталды" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: %lu-%lu uid-тар ауқымын '%s' ішінен өшіру сәтсіз аяқталды\n" #, fuzzy, c-format #| msgid "%s: failed to add uid range %lu-%lu from '%s'\n" -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: %lu-%lu uid ауқымын '%s' ішіне қосу сәтсіз аяқталды\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: %lu-%lu gid-тар ауқымын '%s' ішінен өшіру сәтсіз аяқталды\n" #, fuzzy, c-format #| msgid "%s: failed to add gid range %lu-%lu from '%s'\n" -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: %lu-%lu gid ауқымын '%s' ішіне қосу сәтсіз аяқталды\n" #, c-format @@ -3151,6 +3155,10 @@ msgstr "%s: %s үшін tcb бумасын табу сәтсіз\n" #~ msgid "Environment overflow\n" #~ msgstr "Орындалу орта айнымалыларының шектен көп саны\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: Күдіктілі ұзын символдық сілтеме: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: NIS клиентінде '%s' пайдаланушыны ауыстыруға мүмкін емес.\n" @@ -3171,6 +3179,20 @@ msgstr "%s: %s үшін tcb бумасын табу сәтсіз\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: %s тобы NIS тобы болып тұр\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: белгісіз пайдаланушы %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Қолданылуы: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " топтар=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r хост\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: жаңа defaults файлын жасау мүмкін емес\n" @@ -3206,10 +3228,6 @@ msgstr "%s: %s үшін tcb бумасын табу сәтсіз\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Жүйеге соңғы кіру: %.19s, терминал %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: '%s' пайдаланушы аты қате\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: пароль мерзімі туралы ақпарат өзгертілді.\n" diff --git a/po/km.gmo b/po/km.gmo index 0b647b23..88aa9062 100644 Binary files a/po/km.gmo and b/po/km.gmo differ diff --git a/po/km.po b/po/km.po index e35987ab..c35def95 100644 --- a/po/km.po +++ b/po/km.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow_po_km\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2006-06-28 10:08+0700\n" "Last-Translator: Khoem Sokhem \n" "Language-Team: Khmer \n" @@ -515,10 +515,6 @@ msgstr "%s ៖ ថត​ផ្ទះ​មិន​ត្រឹមត្រូ msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" @@ -839,6 +835,10 @@ msgstr "%s ៖ '%s' មាន​តួអក្សរ​មិន​ត្រ msgid "%s: '%s' contains illegal characters\n" msgstr "%s ៖ '%s' មាន​តួអក្សរ​មិន​ត្រឹមត្រូវ​\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s  ៖ %s ជា​ឈ្មោះ​ក្រុម​មិន​ត្រឹមត្រូវ​\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s ៖ មិនទាន់មានអ្នក​ប្រើ​ %s ទេ​\n" @@ -1293,10 +1293,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "ឈ្មោះ​ក្រុម​ '%s' មិនត្រឹមត្រូវ\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s ៖ មិន​ស្គាល់​អ្នកប្រើ​ %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1400,12 +1396,6 @@ msgstr "%s ៖គ្មាន​ការផ្លាស់ប្ដូរ​\n msgid "%s: cannot delete %s\n" msgstr "%s ៖ មិនអាច​ធ្វើឲ្យឯកសារ %s ទាន់សម័យ​បានទេ\n" -msgid "Usage: id [-a]\n" -msgstr "របៀបប្រើ ៖ លេខសម្គាល់ [-a]\n" - -msgid " groups=" -msgstr " ក្រុម​=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1476,10 +1466,6 @@ msgstr "របៀបប្រើ ៖ %s [-p] [name]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h ម៉ាស៊ីន] [-f ឈ្មោះ]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r ម៉ាស៊ីន​\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1631,6 +1617,10 @@ msgstr "ពាក្យ​សម្ងាត់​ចាស់ ៖ " msgid "%s: failure forking: %s\n" msgstr "%s ៖ ការចែកជាពីរវិធី​​បានបរាជ័យ​ ៖ %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s  ៖ %s ជា​ឈ្មោះ​ក្រុម​មិន​ត្រឹមត្រូវ​\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s ៖ មិនទាន់មានអ្នក​ប្រើ​ %s ទេ​\n" @@ -1671,6 +1661,10 @@ msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ត msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1912,6 +1906,11 @@ msgstr "ធាតុបញ្ចូល​ពាក្យ​សម្ងាត់ msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" @@ -2130,12 +2129,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2742,19 +2741,19 @@ msgid "failed to rename mailbox" msgstr "​បរាជ័យ​ក្នុងការប្ដូរឈ្មោះប្រអប់" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s ៖ បរាជ័យ​ក្នុងការ​ទម្លាក់​សិទ្ធ (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s ៖ បរាជ័យ​ក្នុងការ​ទម្លាក់​សិទ្ធ (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s ៖ បរាជ័យ​ក្នុងការ​ទម្លាក់​សិទ្ធ (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s ៖ បរាជ័យ​ក្នុងការ​ទម្លាក់​សិទ្ធ (%s)\n" #, c-format @@ -2875,6 +2874,20 @@ msgstr "%s  ៖ ថត​មូលដ្ឋាន​មិន​ត្រឹ #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s ៖ ក្រុម​ %s គឺជា​ក្រុម NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s ៖ មិន​ស្គាល់​អ្នកប្រើ​ %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "របៀបប្រើ ៖ លេខសម្គាល់ [-a]\n" + +#~ msgid " groups=" +#~ msgstr " ក្រុម​=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r ម៉ាស៊ីន​\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s ៖ មិន​អាច​បង្កើត​ឯកសារ​លំនាំ​ដើម​ថ្មី​បានឡើយ​\n" @@ -2908,10 +2921,6 @@ msgstr "%s  ៖ ថត​មូលដ្ឋាន​មិន​ត្រឹ #~ msgid "Last login: %.19s on %s" #~ msgstr "ចូល​ចុងក្រោយ​ ៖ %.19s លើ​ %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "ការព្រមាន​ការផុត​កំណត់​នៃ​ពាក្យ​សម្ងាត់​" diff --git a/po/ko.gmo b/po/ko.gmo index ea9ba3bb..4d8b2708 100644 Binary files a/po/ko.gmo and b/po/ko.gmo differ diff --git a/po/ko.po b/po/ko.po index c1e786e6..ac4f6a15 100644 --- a/po/ko.po +++ b/po/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2009-04-19 21:32+0900\n" "Last-Translator: Changwoo Ryu \n" "Language-Team: Korean \n" @@ -509,10 +509,6 @@ msgstr "%s: 홈 디렉터리 '%s'은(는) 잘못되었습니다\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: '%s' 항목을 %s에서 제거할 수 없습니다\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" @@ -832,6 +828,11 @@ msgstr "%s: '%s'에 ASCII가 아닌 문자가 들어 있습니다\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s'에 사용할 수 없는 글자가 들어 있습니다\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: '%s'은(는) 사용할 수 없는 그룹 이름입니다\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: '%s' 사용자가 없습니다\n" @@ -1300,10 +1301,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: '%s' 그룹 이름은 쓸 수 없습니다\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: 알 수 없는 사용자 %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1404,12 +1401,6 @@ msgstr "%s: 바뀐 점이 없음\n" msgid "%s: cannot delete %s\n" msgstr "%s: '%s'을(를) 삭제할 수 없습니다\n" -msgid "Usage: id [-a]\n" -msgstr "사용법: id [-a]\n" - -msgid " groups=" -msgstr " 그룹 목록=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1480,10 +1471,6 @@ msgstr "사용법: %s [-p] [이름]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h 호스트이름] [-f 이름]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r 호스트\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1631,6 +1618,11 @@ msgstr "쓸 수 없는 암호입니다.\n" msgid "%s: failure forking: %s\n" msgstr "%s: 프로세스 만들기 실패: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: '%s'은(는) 사용할 수 없는 그룹 이름입니다\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: '%lu' GID가 없습니다\n" @@ -1671,6 +1663,10 @@ msgstr "%s: 사용할 수 없는 사용자 ID '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: 쓸 수 없는 사용자 이름 '%s'\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: 쓸 수 없는 사용자 이름 '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1917,6 +1913,11 @@ msgstr "암호 입력값 복제" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: 쓸 수 없는 사용자 이름 '%s'\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: 쓸 수 없는 사용자 이름 '%s'\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "올바르지 않은 사용자 ID '%lu'\n" @@ -2143,12 +2144,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2790,19 +2791,19 @@ msgid "failed to rename mailbox" msgstr "메일함의 이름을 바꾸는 데 실패했습니다" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: 새 %s 항목 '%s'을(를) 준비하는데 실패했습니다\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: 새 %s 항목 '%s'을(를) 준비하는데 실패했습니다\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: 새 %s 항목 '%s'을(를) 준비하는데 실패했습니다\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: 새 %s 항목 '%s'을(를) 준비하는데 실패했습니다\n" #, c-format @@ -2922,6 +2923,20 @@ msgstr "%s: 기본 디렉터리 '%s' 잘못되었습니다\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: %s 그룹은 NIS 그룹입니다\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: 알 수 없는 사용자 %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "사용법: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " 그룹 목록=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r 호스트\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: 새로운 기본값 파일을 만들 수 없습니다\n" @@ -2956,10 +2971,6 @@ msgstr "%s: 기본 디렉터리 '%s' 잘못되었습니다\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "마지막 로그인: %.19s on %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: 쓸 수 없는 사용자 이름 '%s'\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "암호 사용만료 예고" diff --git a/po/nb.gmo b/po/nb.gmo index 59b4c0c4..946ac066 100644 Binary files a/po/nb.gmo and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po index f2552285..83d93a1c 100644 --- a/po/nb.po +++ b/po/nb.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2018-03-05 12:33+0100\n" "Last-Translator: Åka Sikrom \n" "Language-Team: Norwegian Bokmål \n" @@ -557,10 +557,6 @@ msgstr "%s: %s er hverken en mappe eller symbolsk lenke.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: Klarte ikke å lese symbolsk lenke %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Mistenkelig lang symlenke: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: Klarte ikke å opprette mappa %s: %s\n" @@ -910,6 +906,12 @@ msgstr "%s: «%s» inneholder tegn som ikke er ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: «%s» inneholder ugyldige tegn\n" +# , c-format +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: «%s» er et ugyldig gruppenavn\n" + # , c-format #, c-format msgid "%s: user '%s' does not exist\n" @@ -1467,10 +1469,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: ugyldig gruppenavn «%s»\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: ukjent bruker %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1583,12 +1581,6 @@ msgstr "%s: ingen endringer\n" msgid "%s: cannot delete %s\n" msgstr "%s: klarte ikke å slette %s\n" -msgid "Usage: id [-a]\n" -msgstr "Bruk: id [-a]\n" - -msgid " groups=" -msgstr " grupper=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1670,10 +1662,6 @@ msgstr "Bruk: %s [-p] [navn]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f navn]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "oppsettsfeil – klarte ikke å tolke %s-verdi: «%d»" @@ -1828,6 +1816,12 @@ msgstr "Ugyldig passord.\n" msgid "%s: failure forking: %s\n" msgstr "%s: mislykket utspalting: %s\n" +# , c-format +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: «%s» er et ugyldig gruppenavn\n" + # , c-format #, c-format msgid "%s: GID '%lu' does not exist\n" @@ -1874,6 +1868,10 @@ msgstr "%s: ugyldig bruker-ID «%s»\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ugyldig brukernavn «%s»\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: ugyldig brukernavn «%s»\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2148,6 +2146,11 @@ msgstr "duplisert oppføring i passordfil" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: ugyldig brukernavn «%s»\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: ugyldig brukernavn «%s»\n" + # , c-format #, c-format msgid "invalid user ID '%lu'\n" @@ -2383,14 +2386,15 @@ msgstr "Starter systemvedlikeholds-modus" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s ble opprettet, men ikke fjernet\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: oppsettet for %s i %s blir ignorert\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: oppsettet for %s i %s blir ignorert\n" @@ -3126,25 +3130,27 @@ msgid "failed to rename mailbox" msgstr "klarte ikke å gi nytt navn til e-postboks" # , c-format -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: klarte ikke å fjerne uid-rekkevidde %lu-%lu fra «%s»\n" # , c-format #, fuzzy, c-format #| msgid "%s: failed to add uid range %lu-%lu from '%s'\n" -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: klarte ikke å legge til uid-rekkevidde %lu-%lu fra «%s»\n" # , c-format -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: klarte ikke å fjerne gid-rekkevidde %lu-%lu fra «%s»\n" # , c-format #, fuzzy, c-format #| msgid "%s: failed to add gid range %lu-%lu from '%s'\n" -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: klarte ikke å legge til gid-rekkevidde %lu-%lu fra «%s»\n" #, c-format @@ -3241,6 +3247,10 @@ msgstr "%s: fant ikke tcb-mappe for %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Miljøet er fullt\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: Mistenkelig lang symlenke: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: klarte ikke å endre bruker «%s» på NIS-klient.\n" @@ -3262,6 +3272,20 @@ msgstr "%s: fant ikke tcb-mappe for %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: gruppa %s er en NIS-gruppe\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: ukjent bruker %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Bruk: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupper=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: klarte ikke å opprette ny forvalg-fil\n" @@ -3296,10 +3320,6 @@ msgstr "%s: fant ikke tcb-mappe for %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Forrige login: %.19s på %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: ugyldig brukernavn «%s»\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: informasjon om utløp av passord er endret.\n" diff --git a/po/ne.gmo b/po/ne.gmo index c72fe576..45a9c92c 100644 Binary files a/po/ne.gmo and b/po/ne.gmo differ diff --git a/po/ne.po b/po/ne.po index 4fafd66e..9d787f6e 100644 --- a/po/ne.po +++ b/po/ne.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2006-06-16 14:30+0545\n" "Last-Translator: Shiva Pokharel \n" "Language-Team: Nepali \n" @@ -508,10 +508,6 @@ msgstr "%s: अवैध गृह डाइरेक्ट्री '%s'\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" @@ -829,6 +825,10 @@ msgstr "%s: '%s' ले गैरकानूनी क्यारेक्ट msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' ले गैरकानूनी क्यारेक्टरहरू समाविष्ट गर्दछ\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s वैध समूह नाम होइन\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: प्रयोगकर्ता %s अवस्थित छैन\n" @@ -1283,10 +1283,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "अवैध समूह नाम '%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: अज्ञात प्रयोगकर्ता %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1386,12 +1382,6 @@ msgstr "%s: कुनै परिवर्तनहरू छैन\n" msgid "%s: cannot delete %s\n" msgstr "%s: फाइल %s अद्यावधिक गर्न सकिएन\n" -msgid "Usage: id [-a]\n" -msgstr "उपयोग: id [-a]\n" - -msgid " groups=" -msgstr " समूहहरू=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1462,10 +1452,6 @@ msgstr "उपयोग: %s [-p] [name]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f name]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1613,6 +1599,10 @@ msgstr "पुरानो पासवर्ड: " msgid "%s: failure forking: %s\n" msgstr "%s: फोर्क गर्दा असफल: %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s वैध समूह नाम होइन\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: प्रयोगकर्ता %s अवस्थित छैन\n" @@ -1653,6 +1643,10 @@ msgstr "%s: अवैध प्रयोगकर्ता नाम '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: अवैध प्रयोगकर्ता नाम '%s'\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: अवैध प्रयोगकर्ता नाम '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1891,6 +1885,11 @@ msgstr "नक्कली पासवर्ड प्रविष्टि" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: अवैध प्रयोगकर्ता नाम '%s'\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: अवैध प्रयोगकर्ता नाम '%s'\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "अवैध प्रयोगकर्ता नाम '%s'\n" @@ -2104,12 +2103,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2718,19 +2717,19 @@ msgid "failed to rename mailbox" msgstr "मेल बक्सलाई पुन:नामकरण गर्न असफल भयो" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: विशेषधिकारहरू छोड्न असफल भयो (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: विशेषधिकारहरू छोड्न असफल भयो (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: विशेषधिकारहरू छोड्न असफल भयो (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: विशेषधिकारहरू छोड्न असफल भयो (%s)\n" #, c-format @@ -2851,6 +2850,20 @@ msgstr "%s: अवैध डाइरेक्ट्री '%s'\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: समूह %s NIS समूह हो\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: अज्ञात प्रयोगकर्ता %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "उपयोग: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " समूहहरू=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: नयाँ पूर्वनिर्धारित फाइल सिर्जना गर्न सकिएन\n" @@ -2886,10 +2899,6 @@ msgstr "%s: अवैध डाइरेक्ट्री '%s'\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "अन्तिम लगइन: %s मा %.19s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: अवैध प्रयोगकर्ता नाम '%s'\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "पासवर्ड समाप्ति चेतावनी" diff --git a/po/nl.gmo b/po/nl.gmo index b3c8d3cb..4814a0ec 100644 Binary files a/po/nl.gmo and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po index f0d3dd89..49f9d59e 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.15.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2024-05-09 12:30+0200\n" "Last-Translator: Frans Spiesschaert \n" "Language-Team: Debian Dutch l10n Team \n" @@ -536,10 +536,6 @@ msgstr "%s: %s is geen map en ook geen symbolische koppeling.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: kan symbolische koppeling %s niet lezen: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: verdacht lange symbolische koppeling: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: kan map %s niet aanmaken: %s\n" @@ -886,6 +882,11 @@ msgstr "%s: '%s' bevat niet-ASCII tekens\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' bevat ongeldige tekens\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: '%s' is geen geldige groepsnaam\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: gebruiker '%s' bestaat niet\n" @@ -1405,10 +1406,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: ongeldige groepsnaam '%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: onbekende gebruiker %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1521,12 +1518,6 @@ msgstr "%s: geen aanpassingen\n" msgid "%s: cannot delete %s\n" msgstr "%s: kan %s niet verwijderen\n" -msgid "Usage: id [-a]\n" -msgstr "Gebruik: id [-a]\n" - -msgid " groups=" -msgstr " groepen=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1608,10 +1599,6 @@ msgstr "Gebruik: %s [-p] [naam]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h computer] [-f naam]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r computer\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "configuratiefout - kan waarde %s niet ontleden: '%d'" @@ -1763,6 +1750,11 @@ msgstr "Ongeldig wachtwoord.\n" msgid "%s: failure forking: %s\n" msgstr "%s: nieuw proces beginnen is mislukt: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: '%s' is geen geldige groepsnaam\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID '%lu' bestaat niet\n" @@ -1804,6 +1796,11 @@ msgstr "%s: ongeldig gebruikers-ID '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ongeldige gebruikersnaam '%s': gebruik --badname om te negeren\n" +#, fuzzy, c-format +#| msgid "%s: invalid user ID '%s'\n" +msgid "%s: invalid user name '%s'\n" +msgstr "%s: ongeldig gebruikers-ID '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "%s: Geef '--crypt-method' op vóór het aantal rondes\n" @@ -2076,6 +2073,11 @@ msgstr "identieke regel in wachtwoordbestand" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "ongeldige gebruikersnaam '%s': gebruik --badname om te negeren\n" +#, fuzzy, c-format +#| msgid "invalid group name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "ongeldige groepsnaam '%s'\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "ongeldig gebruikers-ID '%lu'\n" @@ -2290,13 +2292,17 @@ msgstr "Systeemonderhoudsmodus wordt opgestart" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s was aangemaakt, maar kon niet verwijderd worden\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: de %s-instellingen in %s zullen genegeerd worden\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +#| "group\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" "%s: de configuratie van '%s' in %s heeft een ongeldige groep, deze groep " @@ -3009,20 +3015,24 @@ msgstr "aanpassen van de postvak-eigenaar is mislukt" msgid "failed to rename mailbox" msgstr "hernoemen van het postvak is mislukt" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: verwijderen van UID-bereik %lu-%lu van '%s' is mislukt\n" -#, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: toevoegen van UID-bereik %lu-%lu aan '%s' is mislukt\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: verwijderen van GID-bereik %lu-%lu van '%s' is mislukt\n" -#, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: toevoegen van GID-bereik %lu-%lu aan '%s' is mislukt\n" #, c-format @@ -3117,6 +3127,10 @@ msgstr "%s: tcb-map van %s vinden is mislukt\n" #~ msgid "Environment overflow\n" #~ msgstr "Omgeving wordt te groot\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: verdacht lange symbolische koppeling: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: kan gebruiker '%s' niet veranderen op NIS-client.\n" @@ -3137,6 +3151,20 @@ msgstr "%s: tcb-map van %s vinden is mislukt\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: groep %s is een NIS-groep\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: onbekende gebruiker %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Gebruik: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " groepen=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r computer\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: kan geen nieuw bestand met standaardwaarden aanmaken\n" diff --git a/po/nn.gmo b/po/nn.gmo index 54977643..5c3bfba1 100644 Binary files a/po/nn.gmo and b/po/nn.gmo differ diff --git a/po/nn.po b/po/nn.po index 504d7699..9f56399d 100644 --- a/po/nn.po +++ b/po/nn.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2004-06-03 21:41+0200\n" "Last-Translator: Håvard Korsvoll \n" "Language-Team: Norwegian (Nynorsk) \n" @@ -502,10 +502,6 @@ msgstr "%s: ugyldig heimemappe «%s»\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: kan ikkje oppretta mappa %s\n" @@ -829,6 +825,10 @@ msgstr "%s: «%s» inneheld ulovlege teikn\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: «%s» inneheld ulovlege teikn\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s er ikkje eit gyldig gruppenamn\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: brukar %s finst ikkje\n" @@ -1283,10 +1283,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "ugyldig gruppenamn «%s»\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: ukjend brukar %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1386,12 +1382,6 @@ msgstr "%s: ingen endringar\n" msgid "%s: cannot delete %s\n" msgstr "%s: klarer ikkje oppdatere fila %s\n" -msgid "Usage: id [-a]\n" -msgstr "Bruk: id [-a]\n" - -msgid " groups=" -msgstr " grupper=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1462,10 +1452,6 @@ msgstr "Bruk: %s [-p] [namn]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h vert] [-f namn]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r vert\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1616,6 +1602,10 @@ msgstr "Gamalt passord:" msgid "%s: failure forking: %s\n" msgstr "%s: ugyldig telefonnummer, arbeid: «%s»\n" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s er ikkje eit gyldig gruppenamn\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: brukar %s finst ikkje\n" @@ -1656,6 +1646,10 @@ msgstr "%s: ugyldig brukarnamn «%s»\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ugyldig brukarnamn «%s»\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: ugyldig brukarnamn «%s»\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1893,6 +1887,11 @@ msgstr "duplisert oppføring i passordfila" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: ugyldig brukarnamn «%s»\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: ugyldig brukarnamn «%s»\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "ugyldig brukarnamn «%s»\n" @@ -2094,12 +2093,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2700,19 +2699,19 @@ msgid "failed to rename mailbox" msgstr "klarte ikkje endra namn på mailbox" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: ugyldig telefonnummer, arbeid: «%s»\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: felta er for lange\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: ugyldig telefonnummer, arbeid: «%s»\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: ugyldig startmappe «%s»\n" #, c-format @@ -2832,6 +2831,20 @@ msgstr "%s: ugyldig startmappe «%s»\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: gruppe %s er ei NIS-gruppe\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: ukjend brukar %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Bruk: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupper=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r vert\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: klarer ikkje opprette fil for standardverdiar\n" @@ -2859,10 +2872,6 @@ msgstr "%s: ugyldig startmappe «%s»\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Førre inlogging: %.19s på %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: ugyldig brukarnamn «%s»\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Åtvaring for utgått passord" diff --git a/po/pl.gmo b/po/pl.gmo index 3736da76..68ad796b 100644 Binary files a/po/pl.gmo and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index 1ec774f5..cdf1439c 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2007-11-25 20:53+0100\n" "Last-Translator: Tomasz Kłoczko \n" "Language-Team: Polish \n" @@ -512,10 +512,6 @@ msgstr "%s: nieprawidłowy katalog domowy '%s'\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: nie można utworzyć katalogu %s\n" @@ -833,6 +829,10 @@ msgstr "%s: '%s' zawiera nieprawidłowe znaki\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' zawiera nieprawidłowe znaki\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s: nie jest prawidłową nazwą grupy\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: użytkownik %s nie istnieje\n" @@ -1287,10 +1287,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "nieprawidłowa nazwa grupy '%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: nieznany użytkownik %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1392,12 +1388,6 @@ msgstr "%s: bez zmian\n" msgid "%s: cannot delete %s\n" msgstr "%s: nie można zaktualizować pliku %s\n" -msgid "Usage: id [-a]\n" -msgstr "Użycie: id [-a]\n" - -msgid " groups=" -msgstr " grupy=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1468,10 +1458,6 @@ msgstr "Użycie: %s [-p] [nazwa]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f nazwa]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1619,6 +1605,10 @@ msgstr "Stare hasło: " msgid "%s: failure forking: %s\n" msgstr "%s: failure forking: %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s: nie jest prawidłową nazwą grupy\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: użytkownik %s nie istnieje\n" @@ -1659,6 +1649,10 @@ msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1896,6 +1890,11 @@ msgstr "powtórzony wpis w pliku z hasłami" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "nieprawidłowa nazwa użytkownika '%s'\n" @@ -2121,12 +2120,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2740,19 +2739,19 @@ msgid "failed to rename mailbox" msgstr "zmiana nazwy skrzynki pocztowej nie powiodła się" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: niepowiodło się porzucenie uprawnień (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: niepowiodło się porzucenie uprawnień (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: niepowiodło się porzucenie uprawnień (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: niepowiodło się porzucenie uprawnień (%s)\n" #, c-format @@ -2873,6 +2872,20 @@ msgstr "%s: nieprawidłowy katalog bazowy '%s'\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: grupa %s jest grupą NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: nieznany użytkownik %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Użycie: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupy=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: nie można utworzyć nowego pliku z ustawieniami domyślnymi\n" @@ -2907,10 +2920,6 @@ msgstr "%s: nieprawidłowy katalog bazowy '%s'\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Ostatnie logowanie: %s na %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Ostrzeżenie o utracie ważności hasła" diff --git a/po/pt.gmo b/po/pt.gmo index 8e2f3321..fab7a7d8 100644 Binary files a/po/pt.gmo and b/po/pt.gmo differ diff --git a/po/pt.po b/po/pt.po index 33702a21..8d8e679d 100644 --- a/po/pt.po +++ b/po/pt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2012-01-14 12:41+0000\n" "Last-Translator: Miguel Figueiredo \n" "Language-Team: Portuguese \n" @@ -548,10 +548,6 @@ msgstr "%s: %s não é nem um directório, nem um symlink.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: não é possível ler o link simbólico %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: link simbólico longo suspeito: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: não é possível criar o directório %s: %s\n" @@ -903,6 +899,11 @@ msgstr "%s: '%s' contém caracteres não-ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' contém caracteres não permitidos.\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: '%s' não é um nome válido para o grupo\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: o utilizador '%s' não existe\n" @@ -1435,10 +1436,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: nome de grupo '%s' inválido\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: utilizador desconhecido %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1548,12 +1545,6 @@ msgstr "%s: sem alterações\n" msgid "%s: cannot delete %s\n" msgstr "%s: não é possível apagar %s\n" -msgid "Usage: id [-a]\n" -msgstr "Utilização: id [-a]\n" - -msgid " groups=" -msgstr " grupos=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1636,10 +1627,6 @@ msgstr "Utilização: %s [-p] [nome]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h máquina] [-f nome]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r máquina\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "erro de configuração - não foi possível processar o valor %s: '%d'" @@ -1788,6 +1775,11 @@ msgstr "Palavra-passe inválida.\n" msgid "%s: failure forking: %s\n" msgstr "%s: falhou a bifurcação de: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: '%s' não é um nome válido para o grupo\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: o GID '%lu' não existe\n" @@ -1831,6 +1823,10 @@ msgstr "%s: ID '%s' de utilizador inválido\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: o nome de utilizador '%s' é inválido\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: o nome de utilizador '%s' é inválido\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2114,6 +2110,11 @@ msgstr "entrada de palavra-passe duplicada" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: o nome de utilizador '%s' é inválido\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: o nome de utilizador '%s' é inválido\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "ID '%lu' de utilizador inválido\n" @@ -2341,14 +2342,15 @@ msgstr "A Entrar no Modo de Manutenção do Sistema" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: foi criado %s, mas não pode ser removido\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: a configuração %s em %s será ignorada\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: a configuração %s em %s será ignorada\n" @@ -3086,19 +3088,19 @@ msgid "failed to rename mailbox" msgstr "falha ao renomear a caixa do correio" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: falhou a preparação para a nova %s entrada '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: falhou a preparação para a nova %s entrada '%s'\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: falhou a preparação para a nova %s entrada '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: falhou a preparação para a nova %s entrada '%s'\n" #, c-format @@ -3193,6 +3195,10 @@ msgstr "%s: falhou encontrar o directório tcb para %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Overflow do ambiente\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: link simbólico longo suspeito: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: não é possível alterar o utilizador '%s' no cliente NIS.\n" @@ -3213,6 +3219,20 @@ msgstr "%s: falhou encontrar o directório tcb para %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: o grupo %s é um grupo NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: utilizador desconhecido %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Utilização: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupos=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r máquina\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "" @@ -3249,10 +3269,6 @@ msgstr "%s: falhou encontrar o directório tcb para %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Última entrada no sistema: %.19s em %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: o nome de utilizador '%s' é inválido\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: informação de caducidade da palavra-passe alterada.\n" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index ec40de22..93255ea1 100644 Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ diff --git a/po/pt_BR.po b/po/pt_BR.po index 5995e22c..39d7ae9f 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.15\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2011-11-25 20:20+0100\n" "Last-Translator: Fred Ulisses Maranhão \n" "Language-Team: Debian-BR Project \n" @@ -535,10 +535,6 @@ msgstr "%s: %s não é diretório, nem link simbólico.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: Não foi possível ler o link simbólico %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: link simbólico longo suspeito: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: não foi possível criar o diretório %s: %s\n" @@ -882,6 +878,11 @@ msgstr "%s: '%s' contém caracteres não-ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' contém caracteres ilegais\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: '%s' não é um nome de grupo válido\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: usuário '%s' não existe\n" @@ -1405,10 +1406,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: nome de grupo '%s' inválido\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s : usuário %s desconhecido\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1516,12 +1513,6 @@ msgstr "%s : nenhuma mudança\n" msgid "%s: cannot delete %s\n" msgstr "%s: não é possível apagar %s\n" -msgid "Usage: id [-a]\n" -msgstr "Uso : id [-a]\n" - -msgid " groups=" -msgstr " grupos=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1604,10 +1595,6 @@ msgstr "Uso : %s [-p] [nome]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f nome]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "erro de configuração - não foi possível verificar o valor %s: '%d'" @@ -1757,6 +1744,11 @@ msgstr "Senha inválida.\n" msgid "%s: failure forking: %s\n" msgstr "%s: falha ramificando: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: '%s' não é um nome de grupo válido\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID '%lu' não existe\n" @@ -1800,6 +1792,10 @@ msgstr "%s: ID de usuário '%s' inválido\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s : nome de usuário '%s' inválido\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s : nome de usuário '%s' inválido\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2075,6 +2071,11 @@ msgstr "entrada de senha duplicada" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s : nome de usuário '%s' inválido\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s : nome de usuário '%s' inválido\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "ID de usuário '%lu' inválido\n" @@ -2302,14 +2303,15 @@ msgstr "Entrando em Modo de Manutenção do Sistema" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s foi criado, mas não pode ser removido\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: a configuração %s em %s será ignorada\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: a configuração %s em %s será ignorada\n" @@ -3035,19 +3037,19 @@ msgid "failed to rename mailbox" msgstr "falha ao renomear caixa-postal" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: falha ao preparar a nova entrada %s '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: falha ao preparar a nova entrada %s '%s'\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: falha ao preparar a nova entrada %s '%s'\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: falha ao preparar a nova entrada %s '%s'\n" #, c-format @@ -3143,6 +3145,10 @@ msgstr "%s: falha ao procurar o diretório tcb para %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Overflow de ambiente\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: link simbólico longo suspeito: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: não foi possível mudar o usuário '%s' no cliente NIS.\n" @@ -3163,6 +3169,20 @@ msgstr "%s: falha ao procurar o diretório tcb para %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s : grupo %s é um grupo NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s : usuário %s desconhecido\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Uso : id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupos=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: não foi possível criar novo arquivo de padrões\n" @@ -3198,10 +3218,6 @@ msgstr "%s: falha ao procurar o diretório tcb para %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Último login : %.19s em %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s : nome de usuário '%s' inválido\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: informação de expiração de senha alterada.\n" diff --git a/po/ro.gmo b/po/ro.gmo index 7aa55de5..448f52fa 100644 Binary files a/po/ro.gmo and b/po/ro.gmo differ diff --git a/po/ro.po b/po/ro.po index a4e4a66a..8f55df91 100644 --- a/po/ro.po +++ b/po/ro.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2007-11-26 18:18+0100\n" "Last-Translator: Sorin Batariuc \n" "Language-Team: Romanian \n" @@ -508,10 +508,6 @@ msgstr "%s: director personal nevalid '%s'\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: nu pot redenumi directorul %s în %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: nu pot crea directorul %s\n" @@ -829,6 +825,10 @@ msgstr "%s: '%s' conţine caractere ilegale\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' conţine caractere ilegale\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s nu este un nume de grup valid\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: utilizatorul %s nu există\n" @@ -1283,10 +1283,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "nume de grup nevalid '%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: utilizator necunoscut %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1386,12 +1382,6 @@ msgstr "%s: nici o schimbare\n" msgid "%s: cannot delete %s\n" msgstr "%s: nu pot actualiza fişierul %s\n" -msgid "Usage: id [-a]\n" -msgstr "Utilizare: id [-a]\n" - -msgid " groups=" -msgstr " grupuri=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1462,10 +1452,6 @@ msgstr "Utilizare: %s [-p] [nume]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h gazdă] [-f nume]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r gazdă\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1613,6 +1599,10 @@ msgstr "Parola veche: " msgid "%s: failure forking: %s\n" msgstr "%s : eşuare la bifurcare: %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s nu este un nume de grup valid\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: utilizatorul %s nu există\n" @@ -1653,6 +1643,10 @@ msgstr "%s: nume utilizator nevalid '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nume utilizator nevalid '%s'\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: nume utilizator nevalid '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1891,6 +1885,11 @@ msgstr "intrare duplicată în passwd" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: nume utilizator nevalid '%s'\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: nume utilizator nevalid '%s'\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "nume de utilizator nevalid '%s'\n" @@ -2105,12 +2104,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2725,19 +2724,19 @@ msgid "failed to rename mailbox" msgstr "eşuare în redenumirea căsuţei poştale" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s : eşuare în abandonarea privilegiilor (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s : eşuare în abandonarea privilegiilor (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s : eşuare în abandonarea privilegiilor (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s : eşuare în abandonarea privilegiilor (%s)\n" #, c-format @@ -2858,6 +2857,20 @@ msgstr "%s: director de bază nevalid '%s'\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: grupul %s este un grup NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: utilizator necunoscut %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Utilizare: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupuri=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r gazdă\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: nu pot crea noile fişiere implicite\n" @@ -2893,10 +2906,6 @@ msgstr "%s: director de bază nevalid '%s'\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Ultima autentificare: %.19s în %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: nume utilizator nevalid '%s'\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Avertisment de expirare a parolei" diff --git a/po/ru.gmo b/po/ru.gmo index 55fecd61..5e4a4adc 100644 Binary files a/po/ru.gmo and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po index 422f3595..d77917cb 100644 --- a/po/ru.po +++ b/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.5.1-1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2017-03-05 11:14+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" @@ -553,10 +553,6 @@ msgstr "%s: %s не является каталогом или символьн msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: не удалось прочитать символьную ссылку %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: вероятно, слишком длинная символьная ссылка: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: не удалось создать каталог %s: %s\n" @@ -909,6 +905,11 @@ msgstr "%s: в «%s» содержатся не ASCII-символы\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: в «%s» содержатся недопустимые символы\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: «%s» не может быть именем группы\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: пользователь «%s» не существует\n" @@ -1443,10 +1444,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: неверное имя группы «%s»\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: неизвестный пользователь %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1554,12 +1551,6 @@ msgstr "%s: изменения не внесены\n" msgid "%s: cannot delete %s\n" msgstr "%s: не удалось удалить %s\n" -msgid "Usage: id [-a]\n" -msgstr "Использование: id [-a]\n" - -msgid " groups=" -msgstr " группы=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1645,10 +1636,6 @@ msgstr "Использование: %s [-p] [имя пользователя]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h узел] [-f имя пользователя]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r узел\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "ошибка настройки: не удалось разобрать значение %s: «%d»" @@ -1798,6 +1785,11 @@ msgstr "Неправильный пароль.\n" msgid "%s: failure forking: %s\n" msgstr "%s: ошибка при вызове fork: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: «%s» не может быть именем группы\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID «%lu» не существует\n" @@ -1843,6 +1835,10 @@ msgstr "%s: неверный пользовательский ID «%s»\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: неверное имя пользователя «%s»\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: неверное имя пользователя «%s»\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2119,6 +2115,11 @@ msgstr "повторяющаяся запись в файле паролей" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: неверное имя пользователя «%s»\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: неверное имя пользователя «%s»\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "неверный пользовательский ID «%lu»\n" @@ -2347,14 +2348,15 @@ msgstr "Вход в режим системного обслуживания" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: каталог %s создан, но не может быть удалён\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: настройка %s в %s будет проигнорирована\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: настройка %s в %s будет проигнорирована\n" @@ -3098,22 +3100,24 @@ msgstr "не удалось сменить владельца почтового msgid "failed to rename mailbox" msgstr "не удалось переименовать почтовый ящик" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: не удалось удалить диапазон uid %lu-%lu из «%s»\n" #, fuzzy, c-format #| msgid "%s: failed to add uid range %lu-%lu from '%s'\n" -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: не удалось добавить диапазон uid %lu-%lu в «%s»\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: не удалось удалить диапазон gid %lu-%lu из «%s»\n" #, fuzzy, c-format #| msgid "%s: failed to add gid range %lu-%lu from '%s'\n" -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: не удалось добавить диапазон gid %lu-%lu в «%s»\n" #, c-format @@ -3210,6 +3214,10 @@ msgstr "%s: не удалось найти каталог tcb для %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Слишком большое количество переменных окружения\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: вероятно, слишком длинная символьная ссылка: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: невозможно изменить пользователя «%s» в клиенте NIS.\n" @@ -3230,6 +3238,20 @@ msgstr "%s: не удалось найти каталог tcb для %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: группа %s является группой NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: неизвестный пользователь %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Использование: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " группы=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r узел\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: не удалось создать новый файл значений по умолчанию\n" @@ -3265,10 +3287,6 @@ msgstr "%s: не удалось найти каталог tcb для %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Последний вход в систему: %.19s на %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: неверное имя пользователя «%s»\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: информация об истечении срока действия пароля изменена.\n" diff --git a/po/shadow.pot b/po/shadow.pot index 90331784..45efee96 100644 --- a/po/shadow.pot +++ b/po/shadow.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: shadow 4.15.3\n" +"Project-Id-Version: shadow 4.17.0-rc1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -493,10 +493,6 @@ msgstr "" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "" @@ -812,6 +808,10 @@ msgstr "" msgid "%s: '%s' contains illegal characters\n" msgstr "" +#, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "" @@ -1262,10 +1262,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1365,12 +1361,6 @@ msgstr "" msgid "%s: cannot delete %s\n" msgstr "" -msgid "Usage: id [-a]\n" -msgstr "" - -msgid " groups=" -msgstr "" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1440,10 +1430,6 @@ msgstr "" msgid " %s [-p] [-h host] [-f name]\n" msgstr "" -#, c-format -msgid " %s [-p] -r host\n" -msgstr "" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1580,6 +1566,10 @@ msgstr "" msgid "%s: failure forking: %s\n" msgstr "" +#, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "" @@ -1619,6 +1609,10 @@ msgstr "" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1846,6 +1840,10 @@ msgstr "" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "" +#, c-format +msgid "invalid user name '%s'\n" +msgstr "" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "" @@ -2041,12 +2039,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2638,19 +2636,19 @@ msgid "failed to rename mailbox" msgstr "" #, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "" #, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "" #, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "" #, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "" #, c-format diff --git a/po/sk.gmo b/po/sk.gmo index 6d36ce9a..43291ff1 100644 Binary files a/po/sk.gmo and b/po/sk.gmo differ diff --git a/po/sk.po b/po/sk.po index 61a7f7b2..f9237a9b 100644 --- a/po/sk.po +++ b/po/sk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2011-11-26 22:06+0100\n" "Last-Translator: Ivan Masár \n" "Language-Team: Slovak \n" @@ -515,10 +515,6 @@ msgstr "%s: chybný domovský adresár „%s“\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: nie je možné odstrániť položku „%s“ z %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: nedá sa vytvoriť adresár %s\n" @@ -857,6 +853,11 @@ msgstr "%s: „%s“ obsahuje znaky, ktoré nie sú v ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: „%s“ obsahuje chybné znaky\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: „%s“ nie je platným názvom skupiny\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: používateľ „%s“ neexistuje\n" @@ -1364,10 +1365,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: chybné pomenovanie skupiny „%s“\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: používateľ %s je neznámy\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1473,12 +1470,6 @@ msgstr "%s: bezo zmien\n" msgid "%s: cannot delete %s\n" msgstr "%s: nie je možné zmazať %s\n" -msgid "Usage: id [-a]\n" -msgstr "Použitie: id [-a]\n" - -msgid " groups=" -msgstr " skupiny=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1555,10 +1546,6 @@ msgstr "Použitie: %s [-p] [meno]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h počítač] [-f meno]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r počítač\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1707,6 +1694,11 @@ msgstr "Neplatné heslo.\n" msgid "%s: failure forking: %s\n" msgstr "%s: chybné vetvenie: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: „%s“ nie je platným názvom skupiny\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID „%lu“ neexistuje\n" @@ -1749,6 +1741,10 @@ msgstr "%s: chybný ID používateľa „%s“\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: chybné používateľské meno „%s“\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: chybné používateľské meno „%s“\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2010,6 +2006,11 @@ msgstr "duplikovaná položka v súbore s heslami" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: chybné používateľské meno „%s“\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: chybné používateľské meno „%s“\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "chybný ID používateľa „%lu“\n" @@ -2237,12 +2238,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2922,19 +2923,19 @@ msgid "failed to rename mailbox" msgstr "chyba pri premenovaní schránky" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: zlyhalo pripravenie novej položky %s „%s“\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: zlyhalo pripravenie novej položky %s „%s“\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: zlyhalo pripravenie novej položky %s „%s“\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: zlyhalo pripravenie novej položky %s „%s“\n" #, c-format @@ -3055,6 +3056,20 @@ msgstr "%s: chybný základný adresár „%s“\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: skupina %s je NIS skupinou\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: používateľ %s je neznámy\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Použitie: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " skupiny=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r počítač\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: nedá sa vytvoriť nový súbor s predvolenými hodnotami\n" @@ -3089,10 +3104,6 @@ msgstr "%s: chybný základný adresár „%s“\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Posledné prihlásenie: %.19s na %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: chybné používateľské meno „%s“\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Upozornenie o uplynutí doby platnosti hesla" diff --git a/po/sq.po b/po/sq.po index b084c446..fde7ee38 100644 --- a/po/sq.po +++ b/po/sq.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.3\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2004-11-20 03:28+0100\n" "Last-Translator: Elian Myftiu \n" "Language-Team: Albanian \n" @@ -495,10 +495,6 @@ msgstr "" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "Kujdes: grup i panjohur %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "Kujdes: grup i panjohur %s\n" @@ -815,6 +811,10 @@ msgstr "" msgid "%s: '%s' contains illegal characters\n" msgstr "" +#, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "" @@ -1265,10 +1265,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1369,12 +1365,6 @@ msgstr "" msgid "%s: cannot delete %s\n" msgstr "Kujdes: grup i panjohur %s\n" -msgid "Usage: id [-a]\n" -msgstr "" - -msgid " groups=" -msgstr "" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1444,10 +1434,6 @@ msgstr "" msgid " %s [-p] [-h host] [-f name]\n" msgstr "" -#, c-format -msgid " %s [-p] -r host\n" -msgstr "" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1585,6 +1571,10 @@ msgstr " Zgjidh një fjalëkalim të ri.\n" msgid "%s: failure forking: %s\n" msgstr "" +#, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "" @@ -1624,6 +1614,10 @@ msgstr "" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" +#, fuzzy, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1853,6 +1847,10 @@ msgstr "" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "" +#, fuzzy, c-format +msgid "invalid user name '%s'\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "" @@ -2049,12 +2047,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2646,19 +2644,19 @@ msgid "failed to rename mailbox" msgstr "" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "Kujdes: grup i panjohur %s\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "Kujdes: grup i panjohur %s\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "Kujdes: grup i panjohur %s\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "Kujdes: grup i panjohur %s\n" #, c-format diff --git a/po/sv.gmo b/po/sv.gmo index 8a5531a4..479fa7f2 100644 Binary files a/po/sv.gmo and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index 2e3f3f20..f12c6737 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2011-11-25 22:08+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -529,10 +529,6 @@ msgstr "%s: %s är varken en katalog eller symbolisk länk.\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: Kan inte läsa symboliska länken %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Misstänkt lång symbolisk länk: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: Kan inte skapa katalogen %s: %s\n" @@ -877,6 +873,11 @@ msgstr "%s: \"%s\" innehåller icke-ASCII-tecken\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: \"%s\" innehåller ogiltiga tecken\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: \"%s\" är inte ett giltigt gruppnamn\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: användaren \"%s\" finns inte\n" @@ -1399,10 +1400,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: ogiltigt gruppnamn \"%s\"\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: okänd användare %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1510,12 +1507,6 @@ msgstr "%s: inga ändringar\n" msgid "%s: cannot delete %s\n" msgstr "%s: kan inte ta bort %s\n" -msgid "Usage: id [-a]\n" -msgstr "Usage: id [-a]\n" - -msgid " groups=" -msgstr " grupper=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1598,10 +1589,6 @@ msgstr "Användning: %s [-p] [namn]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h värd] [-f namn]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r värd\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "konfigurationsfel - kan inte tolka %s-värde: \"%d\"" @@ -1750,6 +1737,11 @@ msgstr "Ogiltigt lösenord.\n" msgid "%s: failure forking: %s\n" msgstr "%s: fel vid processgrening: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: \"%s\" är inte ett giltigt gruppnamn\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID \"%lu\" finns inte\n" @@ -1793,6 +1785,10 @@ msgstr "%s: ogiltigt användar-id \"%s\"\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ogiltigt användarnamn \"%s\"\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: ogiltigt användarnamn \"%s\"\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2067,6 +2063,11 @@ msgstr "duplikata lösenordsposter" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: ogiltigt användarnamn \"%s\"\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: ogiltigt användarnamn \"%s\"\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "ogiltigt användar-id \"%lu\"\n" @@ -2295,14 +2296,15 @@ msgstr "Går över till läge för systemunderhåll" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s skapades men kunde inte tas bort\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: %s-konfigurationen i %s kommer att ignoreras\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: %s-konfigurationen i %s kommer att ignoreras\n" @@ -3021,19 +3023,19 @@ msgid "failed to rename mailbox" msgstr "misslyckades med att byta namn på postlåda" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: misslyckades med att förbereda den nya %s-posten \"%s\"\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: misslyckades med att förbereda den nya %s-posten \"%s\"\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: misslyckades med att förbereda den nya %s-posten \"%s\"\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: misslyckades med att förbereda den nya %s-posten \"%s\"\n" #, c-format @@ -3128,6 +3130,10 @@ msgstr "%s: misslyckades med att hitta tcb-katalog för %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Överskott av miljövariabler\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: Misstänkt lång symbolisk länk: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: kan inte ändra användare \"%s\" på en NIS-klient.\n" @@ -3148,6 +3154,20 @@ msgstr "%s: misslyckades med att hitta tcb-katalog för %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: gruppen %s är en NIS-grupp\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: okänd användare %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Usage: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " grupper=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r värd\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: kan inte skapa ny standardfil\n" @@ -3182,10 +3202,6 @@ msgstr "%s: misslyckades med att hitta tcb-katalog för %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Senast inloggad: %.19s på %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: ogiltigt användarnamn \"%s\"\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: information om lösenordets utgång har ändrats.\n" diff --git a/po/tl.gmo b/po/tl.gmo index 7750180d..49300ede 100644 Binary files a/po/tl.gmo and b/po/tl.gmo differ diff --git a/po/tl.po b/po/tl.po index 0fb37a4c..04bfa09c 100644 --- a/po/tl.po +++ b/po/tl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2007-11-26 21:34+0100\n" "Last-Translator: Eric Pareja \n" "Language-Team: Tagalog \n" @@ -515,10 +515,6 @@ msgstr "%s: hindi tanggap na directory na tahanan '%s'\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: hindi malikha ang directory %s\n" @@ -836,6 +832,10 @@ msgstr "%s: '%s' ay may hindi legal na mga karakter\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' ay may hindi legal na mga karakter\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: hindi tanggap na pangalan ng grupo ang %s\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: walang gumagamit na nagngangalang %s\n" @@ -1290,10 +1290,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "hindi tanggap na pangalan ng grupo '%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: di kilalang gumagamit %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1393,12 +1389,6 @@ msgstr "%s: walang pagbabago\n" msgid "%s: cannot delete %s\n" msgstr "%s: hindi ma-apdeyt ang talaksang %s\n" -msgid "Usage: id [-a]\n" -msgstr "Pag-gamit: id [-a]\n" - -msgid " groups=" -msgstr " mga grupo=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1469,10 +1459,6 @@ msgstr "Pag-gamit: %s [-p] [pangalan]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f pangalan]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1620,6 +1606,10 @@ msgstr "Lumang kontrasenyas:" msgid "%s: failure forking: %s\n" msgstr "%s: bigo sa pag-fork: %s" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: hindi tanggap na pangalan ng grupo ang %s\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: walang gumagamit na nagngangalang %s\n" @@ -1660,6 +1650,10 @@ msgstr "%s: hindi tanggap na pangalan `%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: hindi tanggap na pangalan `%s'\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: hindi tanggap na pangalan `%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1898,6 +1892,11 @@ msgstr "nadobleng ipinasok sa password" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: hindi tanggap na pangalan `%s'\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: hindi tanggap na pangalan `%s'\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "hindi tanggap na pangalan '%s'\n" @@ -2126,12 +2125,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2745,19 +2744,19 @@ msgid "failed to rename mailbox" msgstr "bigo sa pagpalit ng pangalan ng mailbox" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: bigo sa pagtanggal ng mga pribilehiyo (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: bigo sa pagtanggal ng mga pribilehiyo (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: bigo sa pagtanggal ng mga pribilehiyo (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: bigo sa pagtanggal ng mga pribilehiyo (%s)\n" #, c-format @@ -2878,6 +2877,20 @@ msgstr "%s: hindi tanggap na batayang directory '%s'\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: ang grupong %s ay grupong NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: di kilalang gumagamit %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Pag-gamit: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " mga grupo=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: hindi malikha ang bagong talaksan ng mga default\n" @@ -2913,10 +2926,6 @@ msgstr "%s: hindi tanggap na batayang directory '%s'\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Huling pagpasok: %.19s sa %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: hindi tanggap na pangalan `%s'\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Babala ng Paglipas ng Taning ng Password" diff --git a/po/tr.gmo b/po/tr.gmo index 5ec46dda..50cc1be0 100644 Binary files a/po/tr.gmo and b/po/tr.gmo differ diff --git a/po/tr.po b/po/tr.po index 76c56b87..753cca29 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2008-03-29 20:31+0200\n" "Last-Translator: Mehmet Türker \n" "Language-Team: Türkçe \n" @@ -509,10 +509,6 @@ msgstr "%s: geçersiz ev dizini '%s'\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - #, fuzzy, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: %s dizini yaratılamıyor\n" @@ -839,6 +835,10 @@ msgstr "%s: '%s' geçersiz karakterler içeriyor\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: '%s' geçersiz karakterler içeriyor\n" +#, fuzzy, c-format +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: %s geçerli bir grup adı değil\n" + #, fuzzy, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: kullanıcı `%s' mevcut değil\n" @@ -1320,10 +1320,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: geçersiz grup adı `%s'\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: bilinmeyen kullanıcı %s\n" - #, fuzzy, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1426,12 +1422,6 @@ msgstr "%s: değişiklik yok\n" msgid "%s: cannot delete %s\n" msgstr "%s: %s dosyası güncellenemiyor\n" -msgid "Usage: id [-a]\n" -msgstr "Kullanım: id [-a]\n" - -msgid " groups=" -msgstr ".gruplar=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1502,10 +1492,6 @@ msgstr "Kullanım: %s [-p] [isim]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f isim]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r host\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "" @@ -1652,6 +1638,10 @@ msgstr "Geçersiz parola.\n" msgid "%s: failure forking: %s\n" msgstr "%s: çatallama (fork) hatası: %s\n" +#, fuzzy, c-format +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: %s geçerli bir grup adı değil\n" + #, fuzzy, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: kullanıcı `%s' mevcut değil\n" @@ -1692,6 +1682,10 @@ msgstr "%s: geçersiz kullanıcı adı '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: geçersiz kullanıcı adı '%s'\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: geçersiz kullanıcı adı '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1944,6 +1938,11 @@ msgstr "mükerrer parola kaydı" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: geçersiz kullanıcı adı '%s'\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: geçersiz kullanıcı adı '%s'\n" + #, fuzzy, c-format msgid "invalid user ID '%lu'\n" msgstr "geçersiz kullanıcı adı '%s'\n" @@ -2171,12 +2170,12 @@ msgid "%s: %s was created, but could not be removed\n" msgstr "" #, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "" #, c-format msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "" @@ -2830,19 +2829,19 @@ msgid "failed to rename mailbox" msgstr "postakutusu isim değişikliği başarısız" #, fuzzy, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: ayrıcalıklar iptal edilemedi (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: ayrıcalıklar iptal edilemedi (%s)\n" #, fuzzy, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: ayrıcalıklar iptal edilemedi (%s)\n" #, fuzzy, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: ayrıcalıklar iptal edilemedi (%s)\n" #, fuzzy, c-format @@ -2966,6 +2965,20 @@ msgstr "%s: geçersiz ana dizin '%s'\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: grup %s bir NIS grubudur\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: bilinmeyen kullanıcı %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Kullanım: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr ".gruplar=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r host\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: yeni varsayılanlar dosyası oluşturulamadı\n" @@ -3001,10 +3014,6 @@ msgstr "%s: geçersiz ana dizin '%s'\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Son giriş: %s üzerinden %.19s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: geçersiz kullanıcı adı '%s'\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Parola Kullanım Süresi Bitti Uyarısı" diff --git a/po/uk.gmo b/po/uk.gmo index 9528c68e..9c3dc87c 100644 Binary files a/po/uk.gmo and b/po/uk.gmo differ diff --git a/po/uk.po b/po/uk.po index 8b3874a7..f330628f 100644 --- a/po/uk.po +++ b/po/uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2022-05-16 19:32+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" @@ -538,10 +538,6 @@ msgstr "%s: %s не є ні каталогом, ні символічним по msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: не вдалося прочитати символічне посилання %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: підозріливо довге символічне посилання: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: не вдалося створити каталог %s: %s\n" @@ -889,6 +885,11 @@ msgstr "%s: «%s» містить символи поза ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: «%s» містить заборонені символи\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: «%s» є некоректною назвою групи\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: запису користувача «%s» не існує\n" @@ -1410,10 +1411,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: некоректна назва групи «%s»\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: невідомий користувач %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1525,12 +1522,6 @@ msgstr "%s: без змін\n" msgid "%s: cannot delete %s\n" msgstr "%s: не вдалося вилучити %s\n" -msgid "Usage: id [-a]\n" -msgstr "Користування: id [-a]\n" - -msgid " groups=" -msgstr " групи=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1619,10 +1610,6 @@ msgstr "Користування: %s [-p] [ім'я]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h вузол] [-f ім'я]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r вузол\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "помилка у налаштуваннях — не вдалося обробити значення %s: «%d»" @@ -1780,6 +1767,11 @@ msgstr "Некоректний пароль.\n" msgid "%s: failure forking: %s\n" msgstr "%s: помилка відгалуження: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: «%s» є некоректною назвою групи\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID «%lu» не існує\n" @@ -1828,6 +1820,10 @@ msgstr "" "%s: некоректне ім'я користувача «%s»: скористайтеся --badname, щоб " "проігнорувати\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: невірне ім'я користувача '%s'\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2108,6 +2104,11 @@ msgid "invalid user name '%s': use --badname to ignore\n" msgstr "" "некоректне ім'я користувача «%s»: скористайтеся --badname, щоб ігнорувати\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: невірне ім'я користувача '%s'\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "некоректний ідентифікатор користувача «%lu»\n" @@ -2322,14 +2323,15 @@ msgstr "Входимо у режим відновлення системи" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: було створено %s, але його не вдалося вилучити\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: налаштування %s у %s буде проігноровано\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: налаштування %s у %s буде проігноровано\n" @@ -3062,20 +3064,24 @@ msgstr "не вдалося змінити власника поштової с msgid "failed to rename mailbox" msgstr "не вдалося перейменувати поштову скриньку" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: не вдалося вилучити діапазон UID %lu-%lu з «%s»\n" -#, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: не вдалося додати діапазон UID %lu-%lu до «%s»\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: не вдалося вилучити діапазон GID %lu-%lu з «%s»\n" -#, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: не вдалося додати діапазон GID %lu-%lu до «%s»\n" #, c-format @@ -3172,6 +3178,10 @@ msgstr "%s: не вдалося знайти каталог tcb для %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Переповнення середовища\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: підозріливо довге символічне посилання: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: не вдалося змінити користувача «%s» у клієнті NIS.\n" @@ -3192,6 +3202,20 @@ msgstr "%s: не вдалося знайти каталог tcb для %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: група %s є групою NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: невідомий користувач %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Користування: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " групи=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r вузол\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: не вдалося створити файл з типовими значеннями\n" @@ -3241,10 +3265,6 @@ msgstr "%s: не вдалося знайти каталог tcb для %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Останній вхід в систему: %.19s на %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: невірне ім'я користувача '%s'\n" - #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Застереження про прострочення пароля" diff --git a/po/vi.gmo b/po/vi.gmo index a7d1742d..c71e3cc3 100644 Binary files a/po/vi.gmo and b/po/vi.gmo differ diff --git a/po/vi.po b/po/vi.po index 87257121..62e8836c 100644 --- a/po/vi.po +++ b/po/vi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow master\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2016-10-04 07:07+0700\n" "Last-Translator: Trần Ngọc Quân \n" "Language-Team: Vietnamese \n" @@ -543,10 +543,6 @@ msgstr "%s: %s không phải là thư mục mà cũng không phải là liên k msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s: Không thể đọc liên kết mềm %s: %s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Liên kết mềm dài một cách điên rồ: %s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s: Không thể tạo thư mục %s: %s\n" @@ -896,6 +892,11 @@ msgstr "%s: “%s” chứa ký tự không thuộc bảng mã ASCII\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s: “%s” chứa ký tự bị cấm\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s: “%s” không phải là tên nhóm hợp lệ\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s: người dùng “%s” không tồn tại\n" @@ -1425,10 +1426,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: tên nhóm không hợp lệ “%s”\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s: không rõ người dùng %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1538,12 +1535,6 @@ msgstr "%s: chưa thay đổi gì\n" msgid "%s: cannot delete %s\n" msgstr "%s: không thể xóa %s\n" -msgid "Usage: id [-a]\n" -msgstr "Cách dùng: id [-a]\n" - -msgid " groups=" -msgstr " nhóm=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr "" @@ -1629,10 +1620,6 @@ msgstr "Cách dùng: %s [-p] [tên]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h máy] [-f tên]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r máy\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "lỗi cấu hình — không thể phân tích cú pháp của giá trị %s: “%d”" @@ -1785,6 +1772,11 @@ msgstr "Mật khẩu không hợp lệ.\n" msgid "%s: failure forking: %s\n" msgstr "%s: lỗi tạo tiến trình con: %s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s: “%s” không phải là tên nhóm hợp lệ\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s: GID “%lu” không tồn tại\n" @@ -1829,6 +1821,10 @@ msgstr "%s: mã số người dùng không hợp lệ “%s”\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: tên dùng không hợp lệ “%s”\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: tên dùng không hợp lệ “%s”\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2105,6 +2101,11 @@ msgstr "mục tin mật khẩu trùng" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s: tên dùng không hợp lệ “%s”\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s: tên dùng không hợp lệ “%s”\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "mã số người dùng không hợp lệ “%lu”\n" @@ -2337,14 +2338,15 @@ msgstr "Đang vào Chế độ Bảo dưỡng Hệ thống" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s đã được tạo, nhưng không thể bị gỡ bỏ\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s: cấu hình %s trong %s sẽ bị bỏ qua\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s: cấu hình %s trong %s sẽ bị bỏ qua\n" @@ -3062,22 +3064,24 @@ msgstr "gặp lỗi khi đổi chủ sở hữu hộp thư" msgid "failed to rename mailbox" msgstr "gặp lỗi khi đổi tên của hộp thư" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%s: gặp lỗi khi xóa bỏ vùng mã người dùng %lu-%lu khỏi “%s”\n" #, fuzzy, c-format #| msgid "%s: failed to add uid range %lu-%lu from '%s'\n" -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s: gặp lỗi khi thêm vùng mã người dùng %lu-%lu vào “%s”\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%s: gặp lỗi khi gỡ bỏ vùng mã số nhóm %lu-%lu khỏi “%s”\n" #, fuzzy, c-format #| msgid "%s: failed to add gid range %lu-%lu from '%s'\n" -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s: gặp lỗi khi thêm vùng mã số nhóm %lu-%lu vào “%s”\n" #, c-format @@ -3170,6 +3174,10 @@ msgstr "%s: gặp lỗi khi tìm thư mục tcb cho %s\n" #~ msgid "Environment overflow\n" #~ msgstr "Tràn môi trường\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s: Liên kết mềm dài một cách điên rồ: %s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s: không thể thay đổi người dùng “%s” trên ứng dụng khách NIS.\n" @@ -3190,6 +3198,20 @@ msgstr "%s: gặp lỗi khi tìm thư mục tcb cho %s\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s: nhóm %s là một nhóm kiểu NIS\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s: không rõ người dùng %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "Cách dùng: id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " nhóm=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r máy\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s: không thể tạo tập tin mặc định mới\n" @@ -3225,10 +3247,6 @@ msgstr "%s: gặp lỗi khi tìm thư mục tcb cho %s\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "Đang nhập cuối cùng: %.19s vào %s" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s: tên dùng không hợp lệ “%s”\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: thông tin đã thay đổi về sự hết hạn sử dụng mật khẩu.\n" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 813401ca..681fd7c2 100644 Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ diff --git a/po/zh_CN.po b/po/zh_CN.po index 04ce20f2..8b1e8ff3 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.15\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2022-07-27 23:04+0800\n" "Last-Translator: Celeste Liu \n" "Language-Team: Chinese (simplified) \n" @@ -510,10 +510,6 @@ msgstr "%s:%s 既不是目录也不是符号链接。\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s:无法读取符号链接 %s:%s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s:可疑的长符合链接:%s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s:无法创建目录 %s:%s\n" @@ -845,6 +841,11 @@ msgstr "%s:“%s”包含非 ASCII 字符\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s:“%s”包含非法字符\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s:“%s”不是有效的组名\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s:用户“%s”不存在\n" @@ -1325,10 +1326,6 @@ msgstr " -p, --password PASSWORD 将密码更改为(加密过的) PASSWOR msgid "%s: invalid group name '%s'\n" msgstr "%s:无效的组名“%s”\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s:未知用户 %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1434,12 +1431,6 @@ msgstr "%s:无改变\n" msgid "%s: cannot delete %s\n" msgstr "%s:无法删除 %s\n" -msgid "Usage: id [-a]\n" -msgstr "用法:id [-a]\n" - -msgid " groups=" -msgstr " 组=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr " -b, --before DAYS 仅打印早于 DAYS 的最近登录记录\n" @@ -1515,10 +1506,6 @@ msgstr "用法:%s [-p] [名称]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h 主机] [-f 名称]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r 主机\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "配置出错 - 无法解析 %s 值:“%d”" @@ -1664,6 +1651,11 @@ msgstr "无效的密码。\n" msgid "%s: failure forking: %s\n" msgstr "%s:fork 失败:%s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s:“%s”不是有效的组名\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s:GID“%lu”不存在\n" @@ -1704,6 +1696,10 @@ msgstr "%s:无效的用户 ID“%s”\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s:无效的用户名“%s”: 使用 --badname 忽略\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s:无效的用户名“%s”\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -1955,6 +1951,11 @@ msgstr "重复的用户条目" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "无效的用户名'%s':使用 --badname 忽略\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s:无效的用户名“%s”\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "无效的用户 ID“%lu”\n" @@ -2166,14 +2167,15 @@ msgstr "正在进入系统维护模式" msgid "%s: %s was created, but could not be removed\n" msgstr "%s:%s 已经创建,但是不能删除\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%s:%s 配置(位于 %s) 将被忽略\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%s:%s 配置(位于 %s) 将被忽略\n" @@ -2811,22 +2813,24 @@ msgstr "改变信箱所有者失败" msgid "failed to rename mailbox" msgstr "信箱改名失败" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%1$s:从“%4$s”移除 UID 范围 %2$lu~%3$lu 失败\n" #, fuzzy, c-format #| msgid "%s: failed to add uid range %lu-%lu from '%s'\n" -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%1$s:向“%4$s”添加 UID 范围 %2$lu~%3$lu 失败\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%1$s:从“%4$s”移除 GID 范围 %2$lu~%3$lu 失败\n" #, fuzzy, c-format #| msgid "%s: failed to add gid range %lu-%lu from '%s'\n" -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%1$s:向“%4$s”添加 GID 范围 %2$lu~%3$lu 失败\n" #, c-format @@ -2920,6 +2924,10 @@ msgstr "%s:无法为“%s”找到 tcb 目录\n" #~ msgid "Environment overflow\n" #~ msgstr "环境溢出\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s:可疑的长符合链接:%s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s:不能在 NIS 客户端上修改用户“%s”。\n" @@ -2940,6 +2948,20 @@ msgstr "%s:无法为“%s”找到 tcb 目录\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s:%s 组是一个 NIS 组\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s:未知用户 %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "用法:id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " 组=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r 主机\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s:无法创建新的默认文件\n" @@ -2977,10 +2999,6 @@ msgstr "%s:无法为“%s”找到 tcb 目录\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "上次登录:%.19s 在 %s 上" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s:无效的用户名“%s”\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s:密码过期信息已更改。\n" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo index c4ffca84..f8f10f83 100644 Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ diff --git a/po/zh_TW.po b/po/zh_TW.po index 403b9d56..fece60dd 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.9\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2024-06-28 23:49+0200\n" +"POT-Creation-Date: 2024-12-05 23:57-0600\n" "PO-Revision-Date: 2022-07-27 23:04+0800\n" "Last-Translator: Celeste Liu \n" "Language-Team: Chinese \n" @@ -527,10 +527,6 @@ msgstr "%s:%s 既不是目錄,也不是符號連結。\n" msgid "%s: Cannot read symbolic link %s: %s\n" msgstr "%s:無法讀取 %s 符號連結:%s\n" -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s:符號連結過長:%s\n" - #, c-format msgid "%s: Cannot create directory %s: %s\n" msgstr "%s:無法建立 %s 目錄:%s\n" @@ -862,6 +858,11 @@ msgstr "%s:「%s」有非 ASCII 字元\n" msgid "%s: '%s' contains illegal characters\n" msgstr "%s:「%s」包含無效字元\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: Provided user name is not a valid name\n" +msgstr "%s:「%s」非有效群組名稱\n" + #, c-format msgid "%s: user '%s' does not exist\n" msgstr "%s:使用者「%s」不存在\n" @@ -1359,10 +1360,6 @@ msgstr " -p, --password 密碼 將密碼變更成此(已加密)< msgid "%s: invalid group name '%s'\n" msgstr "%s:群組名稱「%s」無效\n" -#, c-format -msgid "%s: unknown user %s\n" -msgstr "%s:未知使用者 %s\n" - #, c-format msgid "" "Usage: %s [options] [group [gshadow]]\n" @@ -1471,12 +1468,6 @@ msgstr "%s:無改變\n" msgid "%s: cannot delete %s\n" msgstr "%s:無法刪除 %s\n" -msgid "Usage: id [-a]\n" -msgstr "用法:id [-a]\n" - -msgid " groups=" -msgstr " 群組=" - msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr " -b, --before DAYS 僅輸出舊於 DAYS 天的 lastlog 記錄\n" @@ -1559,10 +1550,6 @@ msgstr "用法:%s [-p] [名稱]\n" msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h 主機] [-f 名稱]\n" -#, c-format -msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r 主機\n" - #, c-format msgid "configuration error - cannot parse %s value: '%d'" msgstr "組態設定錯誤 - 無法解析 %s 的值:'%d'" @@ -1712,6 +1699,11 @@ msgstr "密碼無效。\n" msgid "%s: failure forking: %s\n" msgstr "%s:fork 失敗:%s\n" +#, fuzzy, c-format +#| msgid "%s: '%s' is not a valid group name\n" +msgid "%s: provided group is not a valid group name\n" +msgstr "%s:「%s」非有效群組名稱\n" + #, c-format msgid "%s: GID '%lu' does not exist\n" msgstr "%s:「%lu」群組 ID 不存在\n" @@ -1755,6 +1747,10 @@ msgstr "%s:使用者 ID「%s」無效\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s:無效使用者名稱「%s」\n" +#, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s:無效使用者名稱「%s」\n" + #, c-format msgid "%s: Provide '--crypt-method' before number of rounds\n" msgstr "" @@ -2008,6 +2004,11 @@ msgstr "重復的密碼項目" msgid "invalid user name '%s': use --badname to ignore\n" msgstr "%s:無效使用者名稱「%s」\n" +#, fuzzy, c-format +#| msgid "%s: invalid user name '%s'\n" +msgid "invalid user name '%s'\n" +msgstr "%s:無效使用者名稱「%s」\n" + #, c-format msgid "invalid user ID '%lu'\n" msgstr "使用者 ID '%lu' 無效\n" @@ -2223,14 +2224,15 @@ msgstr "正在進入系統維護模式" msgid "%s: %s was created, but could not be removed\n" msgstr "%s: %s 已經建立,但是無法移除\n" -#, c-format -msgid "%s: the %s configuration in %s will be ignored\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "%s: the %s= configuration in %s will be ignored\n" msgstr "%1$s: 會忽略 %3$s 中的 %2$s 組態設定檔\n" #, fuzzy, c-format #| msgid "%s: the %s configuration in %s will be ignored\n" msgid "" -"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"%s: the '%s=' configuration in %s has an invalid group, ignoring the bad " "group\n" msgstr "%1$s: 會忽略 %3$s 中的 %2$s 組態設定檔\n" @@ -2892,20 +2894,24 @@ msgstr "改變信箱所有者失敗" msgid "failed to rename mailbox" msgstr "無法為信箱改名" -#, c-format -msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove uid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove uid range %ju-%ju from '%s'\n" msgstr "%1$s:無法從「%4$s」移除 UID 範圍 %2$lu-%3$lu\n" -#, c-format -msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add uid range %lu-%lu to '%s'\n" +msgid "%s: failed to add uid range %ju-%ju to '%s'\n" msgstr "%s:無法新增 UID 範圍 %lu-%lu 至「%s」\n" -#, c-format -msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to remove gid range %lu-%lu from '%s'\n" +msgid "%s: failed to remove gid range %ju-%ju from '%s'\n" msgstr "%1$s:無法從「%4$s」移除 GID 範圍 %2$lu-%3$lu\n" -#, c-format -msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +#, fuzzy, c-format +#| msgid "%s: failed to add gid range %lu-%lu to '%s'\n" +msgid "%s: failed to add gid range %ju-%ju to '%s'\n" msgstr "%s:無法新增 GID 範圍 %lu-%lu 至「%s」\n" #, c-format @@ -2999,6 +3005,10 @@ msgstr "%s:找不到 %s 的 tcb 目錄\n" #~ msgid "Environment overflow\n" #~ msgstr "環境溢位\n" +#, c-format +#~ msgid "%s: Suspiciously long symlink: %s\n" +#~ msgstr "%s:符號連結過長:%s\n" + #, c-format #~ msgid "%s: cannot change user '%s' on NIS client.\n" #~ msgstr "%s:無法在 NIS 客戶端變更使用者「%s」。\n" @@ -3019,6 +3029,20 @@ msgstr "%s:找不到 %s 的 tcb 目錄\n" #~ msgid "%s: group %s is a NIS group\n" #~ msgstr "%s:%s 群組是 NIS 群組\n" +#, c-format +#~ msgid "%s: unknown user %s\n" +#~ msgstr "%s:未知使用者 %s\n" + +#~ msgid "Usage: id [-a]\n" +#~ msgstr "用法:id [-a]\n" + +#~ msgid " groups=" +#~ msgstr " 群組=" + +#, c-format +#~ msgid " %s [-p] -r host\n" +#~ msgstr " %s [-p] -r 主機\n" + #, c-format #~ msgid "%s: cannot create new defaults file\n" #~ msgstr "%s:無法建立新的預設檔案\n" @@ -3052,10 +3076,6 @@ msgstr "%s:找不到 %s 的 tcb 目錄\n" #~ msgid "Last login: %.19s on %s" #~ msgstr "上次登入:%.19s 在 %s 上" -#, c-format -#~ msgid "%s: invalid user name '%s'\n" -#~ msgstr "%s:無效使用者名稱「%s」\n" - #, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s:已變更密碼過期資訊。\n" diff --git a/src/Makefile.am b/src/Makefile.am index b6cb09ef..d4e6f3ab 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -26,7 +26,7 @@ AM_CFLAGS = $(LIBBSD_CFLAGS) # and installation would be much simpler (just two directories, # $prefix/bin and $prefix/sbin, no install-data hacks...) -bin_PROGRAMS = groups login +bin_PROGRAMS = login sbin_PROGRAMS = nologin ubin_PROGRAMS = faillog chage chfn chsh expiry gpasswd newgrp passwd if ENABLE_SUBIDS @@ -58,8 +58,8 @@ usbin_PROGRAMS = \ usermod \ vipw -# id and groups are from gnu, sulogin from sysvinit -noinst_PROGRAMS = id sulogin +# sulogin from sysvinit +noinst_PROGRAMS = sulogin suidusbins = suidbins = diff --git a/src/Makefile.in b/src/Makefile.in index f62a5cf8..36be81bd 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -88,8 +88,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -bin_PROGRAMS = groups$(EXEEXT) login$(EXEEXT) $(am__EXEEXT_1) \ - $(am__EXEEXT_2) +bin_PROGRAMS = login$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) sbin_PROGRAMS = nologin$(EXEEXT) ubin_PROGRAMS = faillog$(EXEEXT) chage$(EXEEXT) chfn$(EXEEXT) \ chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) newgrp$(EXEEXT) \ @@ -104,7 +103,7 @@ usbin_PROGRAMS = chgpasswd$(EXEEXT) chpasswd$(EXEEXT) \ pwck$(EXEEXT) pwconv$(EXEEXT) pwunconv$(EXEEXT) \ useradd$(EXEEXT) userdel$(EXEEXT) usermod$(EXEEXT) \ vipw$(EXEEXT) -noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT) $(am__EXEEXT_3) +noinst_PROGRAMS = sulogin$(EXEEXT) $(am__EXEEXT_3) @WITH_SU_TRUE@am__append_4 = su @WITH_TCB_FALSE@am__append_5 = passwd @ACCT_TOOLS_SETUID_TRUE@am__append_6 = chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod @@ -250,11 +249,6 @@ groupmod_OBJECTS = groupmod.$(OBJEXT) groupmod_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) -groups_SOURCES = groups.c -groups_OBJECTS = groups.$(OBJEXT) -groups_LDADD = $(LDADD) -groups_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - $(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1) grpck_SOURCES = grpck.c grpck_OBJECTS = grpck.$(OBJEXT) grpck_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ @@ -267,11 +261,6 @@ grpunconv_SOURCES = grpunconv.c grpunconv_OBJECTS = grpunconv.$(OBJEXT) grpunconv_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -id_SOURCES = id.c -id_OBJECTS = id.$(OBJEXT) -id_LDADD = $(LDADD) -id_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - $(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1) lastlog_SOURCES = lastlog.c lastlog_OBJECTS = lastlog.$(OBJEXT) lastlog_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ @@ -386,10 +375,10 @@ am__depfiles_remade = ./$(DEPDIR)/chage.Po \ ./$(DEPDIR)/getsubids-getsubids.Po ./$(DEPDIR)/gpasswd.Po \ ./$(DEPDIR)/groupadd.Po ./$(DEPDIR)/groupdel.Po \ ./$(DEPDIR)/groupmems.Po ./$(DEPDIR)/groupmod.Po \ - ./$(DEPDIR)/groups.Po ./$(DEPDIR)/grpck.Po \ - ./$(DEPDIR)/grpconv.Po ./$(DEPDIR)/grpunconv.Po \ - ./$(DEPDIR)/id.Po ./$(DEPDIR)/lastlog.Po ./$(DEPDIR)/login.Po \ - ./$(DEPDIR)/login_nopam.Po ./$(DEPDIR)/logoutd.Po \ + ./$(DEPDIR)/grpck.Po ./$(DEPDIR)/grpconv.Po \ + ./$(DEPDIR)/grpunconv.Po ./$(DEPDIR)/lastlog.Po \ + ./$(DEPDIR)/login.Po ./$(DEPDIR)/login_nopam.Po \ + ./$(DEPDIR)/logoutd.Po \ ./$(DEPDIR)/new_subid_range-new_subid_range.Po \ ./$(DEPDIR)/newgidmap.Po ./$(DEPDIR)/newgrp.Po \ ./$(DEPDIR)/newuidmap.Po ./$(DEPDIR)/newusers.Po \ @@ -421,18 +410,18 @@ am__v_CCLD_1 = SOURCES = chage.c check_subid_range.c chfn.c chgpasswd.c chpasswd.c \ chsh.c expiry.c faillog.c free_subid_range.c \ get_subid_owners.c getsubids.c gpasswd.c groupadd.c groupdel.c \ - groupmems.c groupmod.c groups.c grpck.c grpconv.c grpunconv.c \ - id.c lastlog.c $(login_SOURCES) logoutd.c new_subid_range.c \ - newgidmap.c newgrp.c newuidmap.c newusers.c nologin.c passwd.c \ - pwck.c pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c \ + groupmems.c groupmod.c grpck.c grpconv.c grpunconv.c lastlog.c \ + $(login_SOURCES) logoutd.c new_subid_range.c newgidmap.c \ + newgrp.c newuidmap.c newusers.c nologin.c passwd.c pwck.c \ + pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c \ userdel.c usermod.c vipw.c DIST_SOURCES = chage.c check_subid_range.c chfn.c chgpasswd.c \ chpasswd.c chsh.c expiry.c faillog.c free_subid_range.c \ get_subid_owners.c getsubids.c gpasswd.c groupadd.c groupdel.c \ - groupmems.c groupmod.c groups.c grpck.c grpconv.c grpunconv.c \ - id.c lastlog.c $(login_SOURCES) logoutd.c new_subid_range.c \ - newgidmap.c newgrp.c newuidmap.c newusers.c nologin.c passwd.c \ - pwck.c pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c \ + groupmems.c groupmod.c grpck.c grpconv.c grpunconv.c lastlog.c \ + $(login_SOURCES) logoutd.c new_subid_range.c newgidmap.c \ + newgrp.c newuidmap.c newusers.c nologin.c passwd.c pwck.c \ + pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c \ userdel.c usermod.c vipw.c am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ @@ -489,7 +478,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -1064,10 +1052,6 @@ groupmod$(EXEEXT): $(groupmod_OBJECTS) $(groupmod_DEPENDENCIES) $(EXTRA_groupmod @rm -f groupmod$(EXEEXT) $(AM_V_CCLD)$(LINK) $(groupmod_OBJECTS) $(groupmod_LDADD) $(LIBS) -groups$(EXEEXT): $(groups_OBJECTS) $(groups_DEPENDENCIES) $(EXTRA_groups_DEPENDENCIES) - @rm -f groups$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(groups_OBJECTS) $(groups_LDADD) $(LIBS) - grpck$(EXEEXT): $(grpck_OBJECTS) $(grpck_DEPENDENCIES) $(EXTRA_grpck_DEPENDENCIES) @rm -f grpck$(EXEEXT) $(AM_V_CCLD)$(LINK) $(grpck_OBJECTS) $(grpck_LDADD) $(LIBS) @@ -1080,10 +1064,6 @@ grpunconv$(EXEEXT): $(grpunconv_OBJECTS) $(grpunconv_DEPENDENCIES) $(EXTRA_grpun @rm -f grpunconv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(grpunconv_OBJECTS) $(grpunconv_LDADD) $(LIBS) -id$(EXEEXT): $(id_OBJECTS) $(id_DEPENDENCIES) $(EXTRA_id_DEPENDENCIES) - @rm -f id$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(id_OBJECTS) $(id_LDADD) $(LIBS) - lastlog$(EXEEXT): $(lastlog_OBJECTS) $(lastlog_DEPENDENCIES) $(EXTRA_lastlog_DEPENDENCIES) @rm -f lastlog$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lastlog_OBJECTS) $(lastlog_LDADD) $(LIBS) @@ -1182,11 +1162,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupdel.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupmems.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupmod.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groups.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpck.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpconv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpunconv.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lastlog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login_nopam.Po@am__quote@ # am--include-marker @@ -1456,11 +1434,9 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/groupdel.Po -rm -f ./$(DEPDIR)/groupmems.Po -rm -f ./$(DEPDIR)/groupmod.Po - -rm -f ./$(DEPDIR)/groups.Po -rm -f ./$(DEPDIR)/grpck.Po -rm -f ./$(DEPDIR)/grpconv.Po -rm -f ./$(DEPDIR)/grpunconv.Po - -rm -f ./$(DEPDIR)/id.Po -rm -f ./$(DEPDIR)/lastlog.Po -rm -f ./$(DEPDIR)/login.Po -rm -f ./$(DEPDIR)/login_nopam.Po @@ -1543,11 +1519,9 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/groupdel.Po -rm -f ./$(DEPDIR)/groupmems.Po -rm -f ./$(DEPDIR)/groupmod.Po - -rm -f ./$(DEPDIR)/groups.Po -rm -f ./$(DEPDIR)/grpck.Po -rm -f ./$(DEPDIR)/grpconv.Po -rm -f ./$(DEPDIR)/grpunconv.Po - -rm -f ./$(DEPDIR)/id.Po -rm -f ./$(DEPDIR)/lastlog.Po -rm -f ./$(DEPDIR)/login.Po -rm -f ./$(DEPDIR)/login_nopam.Po diff --git a/src/chage.c b/src/chage.c index 1edab47f..a7933e0d 100644 --- a/src/chage.c +++ b/src/chage.c @@ -26,17 +26,18 @@ #endif /* ACCT_TOOLS_SETUID */ #include -#include "alloc.h" -#include "atoi/str2i.h" +#include "atoi/a2i/a2s.h" #include "defines.h" -#include "memzero.h" #include "prototypes.h" #include "pwio.h" #include "shadowio.h" #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/memset/memzero.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strtcpy.h" +#include "string/strdup/xstrdup.h" #include "string/strftime.h" -#include "string/strtcpy.h" #include "time/day_to_str.h" /*@-exitarg@*/ #include "exitcodes.h" @@ -171,17 +172,13 @@ static int new_fields (void) SNPRINTF(buf, "%ld", mindays); change_field (buf, sizeof buf, _("Minimum Password Age")); - if ( (str2sl(&mindays, buf) == -1) - || (mindays < -1)) { + if (a2sl(&mindays, buf, NULL, 0, -1, LONG_MAX) == -1) return 0; - } SNPRINTF(buf, "%ld", maxdays); change_field (buf, sizeof buf, _("Maximum Password Age")); - if ( (str2sl(&maxdays, buf) == -1) - || (maxdays < -1)) { + if (a2sl(&maxdays, buf, NULL, 0, -1, LONG_MAX) == -1) return 0; - } if (-1 == lstchgdate || lstchgdate > LONG_MAX / DAY) strcpy(buf, "-1"); @@ -190,7 +187,7 @@ static int new_fields (void) change_field (buf, sizeof buf, _("Last Password Change (YYYY-MM-DD)")); - if (strcmp (buf, "-1") == 0) { + if (streq(buf, "-1")) { lstchgdate = -1; } else { lstchgdate = strtoday (buf); @@ -201,17 +198,13 @@ static int new_fields (void) SNPRINTF(buf, "%ld", warndays); change_field (buf, sizeof buf, _("Password Expiration Warning")); - if ( (str2sl(&warndays, buf) == -1) - || (warndays < -1)) { + if (a2sl(&warndays, buf, NULL, 0, -1, LONG_MAX) == -1) return 0; - } SNPRINTF(buf, "%ld", inactdays); change_field (buf, sizeof buf, _("Password Inactive")); - if ( (str2sl(&inactdays, buf) == -1) - || (inactdays < -1)) { + if (a2sl(&inactdays, buf, NULL, 0, -1, LONG_MAX) == -1) return 0; - } if (-1 == expdate || LONG_MAX / DAY < expdate) strcpy(buf, "-1"); @@ -221,7 +214,7 @@ static int new_fields (void) change_field (buf, sizeof buf, _("Account Expiration Date (YYYY-MM-DD)")); - if (strcmp (buf, "-1") == 0) { + if (streq(buf, "-1")) { expdate = -1; } else { expdate = strtoday (buf); @@ -250,12 +243,16 @@ print_day_as_date(long day) return; } - if (gmtime_r(&date, &tm) == NULL) { - (void) printf ("time_t: %lu\n", (unsigned long)date); + if (localtime_r(&date, &tm) == NULL) { + puts(_("future")); + return; + } + + if (STRFTIME(buf, iflg ? "%F" : "%b %d, %Y", &tm) == 0) { + puts(_("future")); return; } - STRFTIME(buf, iflg ? "%Y-%m-%d" : "%b %d, %Y", &tm); (void) puts (buf); } @@ -397,8 +394,7 @@ static void process_flags (int argc, char **argv) break; case 'I': Iflg = true; - if ( (str2sl(&inactdays, optarg) == -1) - || (inactdays < -1)) { + if (a2sl(&inactdays, optarg, NULL, 0, -1, LONG_MAX) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -410,8 +406,7 @@ static void process_flags (int argc, char **argv) break; case 'm': mflg = true; - if ( (str2sl(&mindays, optarg) == -1) - || (mindays < -1)) { + if (a2sl(&mindays, optarg, NULL, 0, -1, LONG_MAX) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -420,8 +415,7 @@ static void process_flags (int argc, char **argv) break; case 'M': Mflg = true; - if ( (str2sl(&maxdays, optarg) == -1) - || (maxdays < -1)) { + if (a2sl(&maxdays, optarg, NULL, 0, -1, LONG_MAX) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -434,8 +428,7 @@ static void process_flags (int argc, char **argv) break; case 'W': Wflg = true; - if ( (str2sl(&warndays, optarg) == -1) - || (warndays < -1)) { + if (a2sl(&warndays, optarg, NULL, 0, -1, LONG_MAX) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -574,7 +567,7 @@ static void open_files (bool readonly) /* * For shadow password files we have to lock the file and read in * the entries as was done for the password file. The user entries - * does not have to exist in this case; a new entry will be created + * do not have to exist in this case; a new entry will be created * for this user if one does not exist already. */ if (!readonly) { diff --git a/src/check_subid_range.c b/src/check_subid_range.c index 68266f55..48226758 100644 --- a/src/check_subid_range.c +++ b/src/check_subid_range.c @@ -6,27 +6,32 @@ #include #include #include -#include #include #include #include #include #include -#include "atoi/str2i.h" +#include "atoi/getnum.h" +#include "atoi/str2i/str2u.h" #include "defines.h" #include "prototypes.h" #include "subordinateio.h" #include "idmapping.h" #include "shadowlog.h" + static const char Prog[] = "check_subid_range"; -int main(int argc, char **argv) + +int +main(int argc, char **argv) { - char *owner; - unsigned long start, count; - bool check_uids; + bool check_uids; + char *owner; + uid_t start; + unsigned long count; + log_set_progname(Prog); log_set_logfd(stderr); @@ -35,8 +40,7 @@ int main(int argc, char **argv) owner = argv[1]; check_uids = argv[2][0] == 'u'; - errno = 0; - if (str2ul(&start, argv[3]) == -1) + if (get_uid(argv[3], &start) == -1) exit(1); if (str2ul(&count, argv[4]) == -1) exit(1); diff --git a/src/chfn.c b/src/chfn.c index 9043212a..2bb24638 100644 --- a/src/chfn.c +++ b/src/chfn.c @@ -18,22 +18,24 @@ #include #include -#include "alloc.h" +#include "chkname.h" #include "defines.h" +/*@-exitarg@*/ +#include "exitcodes.h" #include "getdef.h" #include "nscd.h" -#include "sssd.h" #ifdef USE_PAM #include "pam_defs.h" #endif #include "prototypes.h" #include "pwauth.h" #include "pwio.h" -/*@-exitarg@*/ -#include "exitcodes.h" #include "shadowlog.h" -#include "string/sprintf.h" -#include "string/strtcpy.h" +#include "sssd.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strtcpy.h" +#include "string/strdup/xstrdup.h" /* @@ -150,9 +152,9 @@ static bool may_change_field (int field) cp = getdef_str ("CHFN_RESTRICT"); if (NULL == cp) { cp = ""; - } else if (strcmp (cp, "yes") == 0) { + } else if (streq(cp, "yes")) { cp = "rwh"; - } else if (strcmp (cp, "no") == 0) { + } else if (streq(cp, "no")) { cp = "frwh"; } @@ -214,32 +216,27 @@ static void new_fields (void) */ static char *copy_field (char *in, char *out, char *extra) { - char *cp = NULL; - while (NULL != in) { - cp = strchr (in, ','); - if (NULL != cp) { - *cp++ = '\0'; - } + char *f; - if (strchr (in, '=') == NULL) { + f = strsep(&in, ","); + + if (strchr(f, '=') == NULL) break; - } if (NULL != extra) { if ('\0' != extra[0]) { strcat (extra, ","); } - strcat (extra, in); + strcat(extra, f); } - in = cp; } if ((NULL != in) && (NULL != out)) { strcpy (out, in); } - return cp; + return in; } /* @@ -648,6 +645,10 @@ int main (int argc, char **argv) * name, or the name getlogin() returns. */ if (optind < argc) { + if (!is_valid_user_name (argv[optind])) { + fprintf (stderr, _("%s: Provided user name is not a valid name\n"), Prog); + fail_exit (E_NOPERM); + } user = argv[optind]; pw = xgetpwnam (user); if (NULL == pw) { diff --git a/src/chgpasswd.c b/src/chgpasswd.c index 1ff6776b..2d50337e 100644 --- a/src/chgpasswd.c +++ b/src/chgpasswd.c @@ -22,7 +22,7 @@ #include "pam_defs.h" #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ -#include "atoi/str2i.h" +#include "atoi/str2i/str2s.h" #include "defines.h" #include "nscd.h" #include "sssd.h" @@ -34,6 +34,8 @@ /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" /* @@ -197,19 +199,19 @@ static void process_flags (int argc, char **argv) usage (E_USAGE); } #if defined(USE_SHA_CRYPT) - if ( ( ((0 == strcmp (crypt_method, "SHA256")) || (0 == strcmp (crypt_method, "SHA512"))) + if ( ( (streq(crypt_method, "SHA256") || streq(crypt_method, "SHA512")) && (-1 == str2sl(&sha_rounds, optarg)))) { bad_s = 1; } #endif /* USE_SHA_CRYPT */ #if defined(USE_BCRYPT) - if (( (0 == strcmp (crypt_method, "BCRYPT")) + if (( streq(crypt_method, "BCRYPT") && (-1 == str2sl(&bcrypt_rounds, optarg)))) { bad_s = 1; } #endif /* USE_BCRYPT */ #if defined(USE_YESCRYPT) - if (( (0 == strcmp (crypt_method, "YESCRYPT")) + if (( streq(crypt_method, "YESCRYPT") && (-1 == str2sl(&yescrypt_cost, optarg)))) { bad_s = 1; } @@ -258,18 +260,18 @@ static void check_flags (void) } if (cflg) { - if ( (0 != strcmp (crypt_method, "DES")) - && (0 != strcmp (crypt_method, "MD5")) - && (0 != strcmp (crypt_method, "NONE")) + if ( !streq(crypt_method, "DES") + && !streq(crypt_method, "MD5") + && !streq(crypt_method, "NONE") #ifdef USE_SHA_CRYPT - && (0 != strcmp (crypt_method, "SHA256")) - && (0 != strcmp (crypt_method, "SHA512")) + && !streq(crypt_method, "SHA256") + && !streq(crypt_method, "SHA512") #endif /* USE_SHA_CRYPT */ #ifdef USE_BCRYPT - && (0 != strcmp (crypt_method, "BCRYPT")) + && !streq(crypt_method, "BCRYPT") #endif /* USE_BCRYPT */ #ifdef USE_YESCRYPT - && (0 != strcmp (crypt_method, "YESCRYPT")) + && !streq(crypt_method, "YESCRYPT") #endif /* USE_YESCRYPT */ ) { fprintf (stderr, @@ -460,10 +462,7 @@ int main (int argc, char **argv) */ while (fgets (buf, (int) sizeof buf, stdin) != NULL) { line++; - cp = strrchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } else { + if (stpsep(buf, "\n") == NULL) { fprintf (stderr, _("%s: line %d: line too long\n"), Prog, line); errors++; @@ -480,11 +479,8 @@ int main (int argc, char **argv) */ name = buf; - cp = strchr (name, ':'); - if (NULL != cp) { - *cp = '\0'; - cp++; - } else { + cp = stpsep(name, ":"); + if (cp == NULL) { fprintf (stderr, _("%s: line %d: missing new password\n"), Prog, line); @@ -494,7 +490,7 @@ int main (int argc, char **argv) newpwd = cp; if ( (!eflg) && ( (NULL == crypt_method) - || (0 != strcmp (crypt_method, "NONE")))) { + || !streq(crypt_method, "NONE"))) { void *arg = NULL; const char *salt; if (md5flg) { @@ -503,18 +499,18 @@ int main (int argc, char **argv) #if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) if (sflg) { #if defined(USE_SHA_CRYPT) - if ( (0 == strcmp (crypt_method, "SHA256")) - || (0 == strcmp (crypt_method, "SHA512"))) { + if ( streq(crypt_method, "SHA256") + || streq(crypt_method, "SHA512")) { arg = &sha_rounds; } #endif /* USE_SHA_CRYPT */ #if defined(USE_BCRYPT) - if (0 == strcmp (crypt_method, "BCRYPT")) { + if (streq(crypt_method, "BCRYPT")) { arg = &bcrypt_rounds; } #endif /* USE_BCRYPT */ #if defined(USE_YESCRYPT) - if (0 == strcmp (crypt_method, "YESCRYPT")) { + if (streq(crypt_method, "YESCRYPT")) { arg = &yescrypt_cost; } #endif /* USE_YESCRYPT */ @@ -553,8 +549,8 @@ int main (int argc, char **argv) sg = sgr_locate (name); if ( (NULL == sg) - && (strcmp (gr->gr_passwd, - SHADOW_PASSWD_STRING) == 0)) { + && streq(gr->gr_passwd, SHADOW_PASSWD_STRING)) + { static char *empty = NULL; /* If the password is set to 'x' in * group, but there are no entries in @@ -581,7 +577,7 @@ int main (int argc, char **argv) newsg.sg_passwd = cp; } if ( (NULL == sg) - || (strcmp (gr->gr_passwd, SHADOW_PASSWD_STRING) != 0)) + || !streq(gr->gr_passwd, SHADOW_PASSWD_STRING)) #endif { newgr = *gr; @@ -604,7 +600,7 @@ int main (int argc, char **argv) } } if ( (NULL == sg) - || (strcmp (gr->gr_passwd, SHADOW_PASSWD_STRING) != 0)) + || !streq(gr->gr_passwd, SHADOW_PASSWD_STRING)) #endif { if (gr_update (&newgr) == 0) { diff --git a/src/chpasswd.c b/src/chpasswd.c index 79880f56..dfe50740 100644 --- a/src/chpasswd.c +++ b/src/chpasswd.c @@ -20,7 +20,7 @@ #ifdef USE_PAM #include "pam_defs.h" #endif /* USE_PAM */ -#include "atoi/str2i.h" +#include "atoi/str2i/str2s.h" #include "defines.h" #include "nscd.h" #include "sssd.h" @@ -31,9 +31,11 @@ /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" -#define IS_CRYPT_METHOD(str) ((crypt_method != NULL && strcmp(crypt_method, str) == 0) ? true : false) +#define IS_CRYPT_METHOD(str) ((crypt_method != NULL && streq(crypt_method, str)) ? true : false) /* * Global variables @@ -501,12 +503,8 @@ int main (int argc, char **argv) */ while (fgets (buf, sizeof buf, stdin) != NULL) { line++; - cp = strrchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } else { + if (stpsep(buf, "\n") == NULL) { if (feof (stdin) == 0) { - // Drop all remaining characters on this line. while (fgets (buf, sizeof buf, stdin) != NULL) { cp = strchr (buf, '\n'); @@ -533,11 +531,8 @@ int main (int argc, char **argv) */ name = buf; - cp = strchr (name, ':'); - if (NULL != cp) { - *cp = '\0'; - cp++; - } else { + cp = stpsep(name, ":"); + if (cp == NULL) { fprintf (stderr, _("%s: line %d: missing new password\n"), Prog, line); @@ -594,8 +589,8 @@ int main (int argc, char **argv) sp = spw_locate (name); if ( (NULL == sp) - && (strcmp (pw->pw_passwd, - SHADOW_PASSWD_STRING) == 0)) { + && streq(pw->pw_passwd, SHADOW_PASSWD_STRING)) + { /* If the password is set to 'x' in * passwd, but there are no entries in * shadow, create one. @@ -632,7 +627,7 @@ int main (int argc, char **argv) } if ( (NULL == sp) - || (strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING) != 0)) { + || !streq(pw->pw_passwd, SHADOW_PASSWD_STRING)) { newpw = *pw; newpw.pw_passwd = cp; } @@ -652,7 +647,7 @@ int main (int argc, char **argv) } } if ( (NULL == sp) - || (strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING) != 0)) { + || !streq(pw->pw_passwd, SHADOW_PASSWD_STRING)) { if (pw_update (&newpw) == 0) { fprintf (stderr, _("%s: line %d: failed to prepare the new %s entry '%s'\n"), diff --git a/src/chsh.c b/src/chsh.c index c4918c1b..15bfae32 100644 --- a/src/chsh.c +++ b/src/chsh.c @@ -17,21 +17,24 @@ #include #include -#include "alloc.h" +#include "chkname.h" #include "defines.h" +/*@-exitarg@*/ +#include "exitcodes.h" #include "getdef.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" #include "pwauth.h" #include "pwio.h" #ifdef USE_PAM #include "pam_defs.h" #endif -/*@-exitarg@*/ -#include "exitcodes.h" #include "shadowlog.h" -#include "string/strtcpy.h" +#include "sssd.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strtcpy.h" +#include "string/strdup/xstrdup.h" + #ifndef SHELLS_FILE #define SHELLS_FILE "/etc/shells" @@ -43,6 +46,7 @@ #define ETCDIR "/etc" #endif + /* * Global variables */ @@ -176,7 +180,7 @@ static bool shell_is_listed (const char *sh) } for (size_t i = 0; i < size; i++) { - if (strcmp (keys[i], sh) == 0) { + if (streq(keys[i], sh)) { found = true; break; } @@ -197,7 +201,7 @@ static bool shell_is_listed (const char *sh) char *cp; setusershell (); while ((cp = getusershell ())) { - if (strcmp (cp, sh) == 0) { + if (streq(cp, sh)) { found = true; break; } @@ -218,7 +222,7 @@ static bool shell_is_listed (const char *sh) continue; } - if (strcmp (buf, sh) == 0) { + if (streq(buf, sh)) { found = true; break; } @@ -498,6 +502,10 @@ int main (int argc, char **argv) * name, or the name getlogin() returns. */ if (optind < argc) { + if (!is_valid_user_name (argv[optind])) { + fprintf (stderr, _("%s: Provided user name is not a valid name\n"), Prog); + fail_exit (1); + } user = argv[optind]; pw = xgetpwnam (user); if (NULL == pw) { diff --git a/src/faillog.c b/src/faillog.c index 77c25b8a..709d741c 100644 --- a/src/faillog.c +++ b/src/faillog.c @@ -19,14 +19,14 @@ #include #include -#include "atoi/str2i.h" +#include "atoi/str2i/str2s.h" #include "defines.h" #include "faillog.h" -#include "memzero.h" #include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/memset/memzero.h" #include "string/strftime.h" @@ -154,7 +154,7 @@ static void print_one (/*@null@*/const struct passwd *pw, bool force) return; } - (void) time(&now); + now = time(NULL); /* Filter out entries that do not match with the -t option */ if (tflg && ((now - fl.fail_time) > seconds)) { @@ -557,16 +557,12 @@ int main (int argc, char **argv) break; case 'm': { - long lmax; - - if ( (str2sl(&lmax, optarg) == -1) - || ((long)(short) lmax != lmax)) { + if (str2sh(&fail_max, optarg) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); exit (E_BAD_ARG); } - fail_max = lmax; mflg = true; break; } diff --git a/src/free_subid_range.c b/src/free_subid_range.c index 441c2277..bff6f7b2 100644 --- a/src/free_subid_range.c +++ b/src/free_subid_range.c @@ -1,12 +1,16 @@ /* SPDX-License-Identifier: BSD-3-Clause */ + #include #include + +#include "atoi/str2i/str2u.h" #include "subid.h" #include "stdlib.h" #include "prototypes.h" #include "shadowlog.h" + /* Test program for the subid freeing routine */ static const char Prog[] = "free_subid_range"; @@ -38,8 +42,8 @@ int main(int argc, char *argv[]) if (argc < 3) usage(); range.owner = argv[0]; - range.start = atoi(argv[1]); - range.count = atoi(argv[2]); + str2ul(&range.start, argv[1]); + str2ul(&range.count, argv[2]); if (group) ok = subid_ungrant_gid_range(&range); else diff --git a/src/get_subid_owners.c b/src/get_subid_owners.c index e1c1e795..abb42ba8 100644 --- a/src/get_subid_owners.c +++ b/src/get_subid_owners.c @@ -1,13 +1,19 @@ /* SPDX-License-Identifier: BSD-3-Clause */ + #include -#include "subid.h" -#include "stdlib.h" + +#include "atoi/getnum.h" #include "prototypes.h" #include "shadowlog.h" +#include "stdlib.h" +#include "string/strcmp/streq.h" +#include "subid.h" + static const char Prog[] = "get_subid_owners"; + static void usage(void) { fprintf(stderr, "Usage: [-g] %s subuid\n", Prog); @@ -18,20 +24,24 @@ static void usage(void) int main(int argc, char *argv[]) { - int i, n; - uid_t *uids; + int i, n; + uid_t u; + uid_t *uids; log_set_progname(Prog); log_set_logfd(stderr); if (argc < 2) { usage(); } - if (argc == 3 && strcmp(argv[1], "-g") == 0) - n = subid_get_gid_owners(atoi(argv[2]), &uids); - else if (argc == 2 && strcmp(argv[1], "-h") == 0) + if (argc == 3 && streq(argv[1], "-g")) { + get_uid(argv[2], &u); + n = subid_get_gid_owners(u, &uids); + } else if (argc == 2 && streq(argv[1], "-h")) { usage(); - else - n = subid_get_uid_owners(atoi(argv[1]), &uids); + } else { + get_gid(argv[1], &u); + n = subid_get_uid_owners(u, &uids); + } if (n < 0) { fprintf(stderr, "No owners found\n"); exit(1); diff --git a/src/getsubids.c b/src/getsubids.c index 0753abd7..739792e9 100644 --- a/src/getsubids.c +++ b/src/getsubids.c @@ -1,11 +1,13 @@ /* SPDX-License-Identifier: BSD-3-Clause */ #include -#include #include -#include "subid.h" +#include + #include "prototypes.h" #include "shadowlog.h" +#include "string/strcmp/streq.h" +#include "subid.h" static const char Prog[] = "getsubids"; @@ -28,10 +30,10 @@ int main(int argc, char *argv[]) if (argc < 2) usage(); owner = argv[1]; - if (argc == 3 && strcmp(argv[1], "-g") == 0) { + if (argc == 3 && streq(argv[1], "-g")) { owner = argv[2]; count = subid_get_gid_ranges(owner, &ranges); - } else if (argc == 2 && strcmp(argv[1], "-h") == 0) { + } else if (argc == 2 && streq(argv[1], "-h")) { usage(); } else { count = subid_get_uid_ranges(owner, &ranges); @@ -44,6 +46,6 @@ int main(int argc, char *argv[]) printf("%d: %s %lu %lu\n", i, owner, ranges[i].start, ranges[i].count); } - free(ranges); + subid_free(ranges); return 0; } diff --git a/src/gpasswd.c b/src/gpasswd.c index de6b1c4c..d129aca2 100644 --- a/src/gpasswd.c +++ b/src/gpasswd.c @@ -21,22 +21,24 @@ #include #include "agetpass.h" -#include "alloc.h" +#include "alloc/x/xmalloc.h" #include "attr.h" #include "defines.h" +/*@-exitarg@*/ +#include "exitcodes.h" #include "groupio.h" -#include "memzero.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" #ifdef SHADOWGRP #include "sgroupio.h" #endif -/*@-exitarg@*/ -#include "exitcodes.h" #include "shadowlog.h" -#include "string/sprintf.h" -#include "string/strtcpy.h" +#include "sssd.h" +#include "string/memset/memzero.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strtcpy.h" +#include "string/strdup/xstrdup.h" /* @@ -172,33 +174,29 @@ static void catch_signals (int killed) */ static bool is_valid_user_list (const char *users) { - const char *username; - char *end; bool is_valid = true; - /*@owned@*/char *tmpusers = xstrdup (users); + char *dup, *tmpusers; - for (username = tmpusers; - (NULL != username) && ('\0' != *username); - username = end) { - end = strchr (username, ','); - if (NULL != end) { - *end = '\0'; - end++; - } + tmpusers = dup = xstrdup(users); + + while (NULL != tmpusers && '\0' != *tmpusers) { + const char *u; + + u = strsep(&tmpusers, ","); /* * This user must exist. */ /* local, no need for xgetpwnam */ - if (getpwnam (username) == NULL) { + if (getpwnam(u) == NULL) { fprintf (stderr, _("%s: user '%s' does not exist\n"), - Prog, username); + Prog, u); is_valid = false; } } - free (tmpusers); + free(dup); return is_valid; } @@ -687,30 +685,8 @@ static void check_perms (const struct group *gr) } } else #endif /* SHADOWGRP */ - if (!amroot) { - /* - * The policy here for changing a group is that - * 1) you must be root or - * 2) you must be the first listed member of the group. - * The first listed member of a group can do anything to - * that group that the root user can. The rationale for - * this hack is that the FIRST user is probably the most - * important user in this entire group. - * - * This feature enabled by default could be a security - * problem when installed on existing systems where the - * first group member might be just a normal user. - * --marekm - */ -#if !defined(FIRST_MEMBER_IS_ADMIN) + if (!amroot) failure(); -#endif - if (gr->gr_mem[0] == NULL) - failure(); - - if (strcmp(gr->gr_mem[0], myname) != 0) - failure(); - } } /* @@ -810,16 +786,8 @@ static void get_group (struct group *gr) sg->sg_mem = dup_list (gr->gr_mem); - sg->sg_adm = XMALLOC(2, char *); -#ifdef FIRST_MEMBER_IS_ADMIN - if (sg->sg_mem[0]) { - sg->sg_adm[0] = xstrdup (sg->sg_mem[0]); - sg->sg_adm[1] = NULL; - } else -#endif - { - sg->sg_adm[0] = NULL; - } + sg->sg_adm = XMALLOC(1, char *); + sg->sg_adm[0] = NULL; } if (sgr_close () == 0) { @@ -876,7 +844,7 @@ static void change_passwd (struct group *gr) exit (1); } - if (strcmp (pass, cp) == 0) { + if (streq(pass, cp)) { erase_pass (cp); break; } diff --git a/src/groupadd.c b/src/groupadd.c index 46e6550a..9f0eb2e5 100644 --- a/src/groupadd.c +++ b/src/groupadd.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #ifdef ACCT_TOOLS_SETUID #ifdef USE_PAM @@ -23,19 +24,23 @@ #include #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ + +#include "atoi/getnum.h" #include "chkname.h" #include "defines.h" #include "getdef.h" #include "groupio.h" -#include "memzero.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" +#include "run_part.h" #ifdef SHADOWGRP #include "sgroupio.h" #endif #include "shadowlog.h" -#include "run_part.h" +#include "string/memset/memzero.h" +#include "string/strtok/stpsep.h" + /* * exit status values @@ -160,7 +165,8 @@ static void new_sgent (struct sgrp *sgent) * * grp_update() writes the new records to the group files. */ -static void grp_update (void) +static void +grp_update(void) { struct group grp; @@ -192,15 +198,20 @@ static void grp_update (void) #endif /* SHADOWGRP */ if (user_list) { - char *token; - token = strtok(user_list, ","); - while (token) { - if (prefix_getpwnam (token) == NULL) { - fprintf (stderr, _("Invalid member username %s\n"), token); + char *u, *ul; + + ul = user_list; + while (NULL != (u = strsep(&ul, ","))) { + if (prefix_getpwnam(u) == NULL) { + fprintf(stderr, _("Invalid member username %s\n"), u); exit (E_GRP_UPDATE); } - grp.gr_mem = add_list(grp.gr_mem, token); - token = strtok(NULL, ","); + + grp.gr_mem = add_list(grp.gr_mem, u); +#ifdef SHADOWGRP + if (is_shadow_grp) + sgrp.sg_mem = add_list(sgrp.sg_mem, u); +#endif } } @@ -232,20 +243,17 @@ static void grp_update (void) * check_new_name() insures that the new name doesn't contain any * illegal characters. */ -static void check_new_name (void) +static void +check_new_name(void) { - if (is_valid_group_name (group_name)) { - return; + if (!is_valid_group_name(group_name)) { + fprintf(stderr, _("%s: '%s' is not a valid group name\n"), + Prog, group_name); + + exit(E_BAD_ARG); } - /* - * All invalid group names land here. - */ - - fprintf (stderr, _("%s: '%s' is not a valid group name\n"), - Prog, group_name); - - exit (E_BAD_ARG); + return; } /* @@ -420,15 +428,13 @@ static void process_flags (int argc, char **argv) * example: -K GID_MIN=100 -K GID_MAX=499 * note: -K GID_MIN=10,GID_MAX=499 doesn't work yet */ - cp = strchr (optarg, '='); + cp = stpsep(optarg, "="); if (NULL == cp) { fprintf (stderr, _("%s: -K requires KEY=VALUE\n"), Prog); exit (E_BAD_ARG); } - /* terminate name, point to value */ - *cp++ = '\0'; if (putdef_str (optarg, cp, NULL) < 0) { exit (E_BAD_ARG); } @@ -481,11 +487,11 @@ static void check_flags (void) check_new_name (); /* - * Check if the group already exist. + * Check if the group already exists. */ /* local, no need for xgetgrnam */ if (prefix_getgrnam (group_name) != NULL) { - /* The group already exist */ + /* The group already exists */ if (fflg) { /* OK, no need to do anything */ exit (E_SUCCESS); @@ -497,7 +503,7 @@ static void check_flags (void) } if (gflg && (prefix_getgrgid (group_id) != NULL)) { - /* A GID was specified, and a group already exist with that GID + /* A GID was specified, and a group already exists with that GID * - either we will use this GID anyway (-o) * - either we ignore the specified GID and * we will use another one (-f) diff --git a/src/groupmems.c b/src/groupmems.c index a369a619..53729b76 100644 --- a/src/groupmems.c +++ b/src/groupmems.c @@ -19,14 +19,17 @@ #endif /* USE_PAM */ #include -#include "alloc.h" +#include "alloc/x/xmalloc.h" #include "defines.h" -#include "prototypes.h" #include "groupio.h" +#include "prototypes.h" #ifdef SHADOWGRP #include "sgroupio.h" #endif #include "shadowlog.h" +#include "string/strcmp/streq.h" +#include "string/strdup/xstrdup.h" + /* Exit Status Values */ /*@-exitarg@*/ @@ -83,7 +86,7 @@ static char *whoami (void) if ( (NULL != usr) && (NULL != grp) - && (0 == strcmp (usr->pw_name, grp->gr_name))) { + && streq(usr->pw_name, grp->gr_name)) { return xstrdup (usr->pw_name); } else { return NULL; @@ -128,15 +131,7 @@ static void add_user (const char *user, sgrent.sg_name = xstrdup (newgrp->gr_name); sgrent.sg_mem = dup_list (newgrp->gr_mem); sgrent.sg_adm = XMALLOC(1, char *); -#ifdef FIRST_MEMBER_IS_ADMIN - if (sgrent.sg_mem[0]) { - sgrent.sg_adm[0] = xstrdup (sgrent.sg_mem[0]); - sgrent.sg_adm[1] = NULL; - } else -#endif - { - sgrent.sg_adm[0] = NULL; - } + sgrent.sg_adm[0] = NULL; /* Move any password to gshadow */ sgrent.sg_passwd = newgrp->gr_passwd; @@ -211,15 +206,7 @@ static void remove_user (const char *user, sgrent.sg_name = xstrdup (newgrp->gr_name); sgrent.sg_mem = dup_list (newgrp->gr_mem); sgrent.sg_adm = XMALLOC(1, char *); -#ifdef FIRST_MEMBER_IS_ADMIN - if (sgrent.sg_mem[0]) { - sgrent.sg_adm[0] = xstrdup (sgrent.sg_mem[0]); - sgrent.sg_adm[1] = NULL; - } else -#endif - { - sgrent.sg_adm[0] = NULL; - } + sgrent.sg_adm[0] = NULL; /* Move any password to gshadow */ sgrent.sg_passwd = newgrp->gr_passwd; diff --git a/src/groupmod.c b/src/groupmod.c index 989d7ea3..7342707d 100644 --- a/src/groupmod.c +++ b/src/groupmod.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #ifdef ACCT_TOOLS_SETUID @@ -26,20 +27,25 @@ #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ -#include "alloc.h" +#include "alloc/x/xmalloc.h" +#include "atoi/getnum.h" #include "chkname.h" #include "defines.h" #include "groupio.h" -#include "pwio.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" +#include "pwio.h" #ifdef SHADOWGRP #include "sgroupio.h" #endif #include "shadowlog.h" -#include "string/stpecpy.h" -#include "string/stpeprintf.h" +#include "sssd.h" +#include "string/sprintf/stpeprintf.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/stpecpy.h" +#include "string/strdup/xstrdup.h" + + /* * exit status values */ @@ -150,7 +156,7 @@ static void new_grent (struct group *grent) if ( pflg #ifdef SHADOWGRP && ( (!is_shadow_grp) - || (strcmp (grent->gr_passwd, SHADOW_PASSWD_STRING) != 0)) + || !streq(grent->gr_passwd, SHADOW_PASSWD_STRING)) #endif ) { /* Update the password in group if there is no gshadow @@ -193,7 +199,8 @@ static void new_sgent (struct sgrp *sgent) * * grp_update() updates the new records in the memory databases. */ -static void grp_update (void) +static void +grp_update(void) { struct group grp; const struct group *ogrp; @@ -217,13 +224,13 @@ static void grp_update (void) new_grent (&grp); #ifdef SHADOWGRP if ( is_shadow_grp - && (pflg || nflg)) { + && (pflg || nflg || user_list)) { osgrp = sgr_locate (group_name); if (NULL != osgrp) { sgrp = *osgrp; new_sgent (&sgrp); } else if ( pflg - && (strcmp (grp.gr_passwd, SHADOW_PASSWD_STRING) == 0)) { + && streq(grp.gr_passwd, SHADOW_PASSWD_STRING)) { static char *empty = NULL; /* If there is a gshadow file with no entries for * the group, but the group file indicates a @@ -246,7 +253,7 @@ static void grp_update (void) } if (user_list) { - char *token; + char *u, *ul; if (!aflg) { // requested to replace the existing groups @@ -257,15 +264,30 @@ static void grp_update (void) if (NULL != grp.gr_mem[0]) grp.gr_mem = dup_list (grp.gr_mem); } +#ifdef SHADOWGRP + if (NULL != osgrp) { + if (!aflg) { + sgrp.sg_mem = XMALLOC(1, char *); + sgrp.sg_mem[0] = NULL; + } else { + if (NULL != sgrp.sg_mem[0]) + sgrp.sg_mem = dup_list(sgrp.sg_mem); + } + } +#endif /* SHADOWGRP */ - token = strtok(user_list, ","); - while (token) { - if (prefix_getpwnam (token) == NULL) { - fprintf (stderr, _("Invalid member username %s\n"), token); + ul = user_list; + while (NULL != (u = strsep(&ul, ","))) { + if (prefix_getpwnam(u) == NULL) { + fprintf(stderr, _("Invalid member username %s\n"), u); exit (E_GRP_UPDATE); } - grp.gr_mem = add_list(grp.gr_mem, token); - token = strtok(NULL, ","); + + grp.gr_mem = add_list(grp.gr_mem, u); +#ifdef SHADOWGRP + if (NULL != osgrp) + sgrp.sg_mem = add_list(sgrp.sg_mem, u); +#endif /* SHADOWGRP */ } } @@ -347,39 +369,33 @@ static void check_new_gid (void) * check_new_name() insures that the new name does not exist already. * You can't have the same name twice, period. */ -static void check_new_name (void) +static void +check_new_name(void) { /* * Make sure they are actually changing the name. */ - if (strcmp (group_name, group_newname) == 0) { + if (streq(group_name, group_newname)) { nflg = 0; return; } - if (is_valid_group_name (group_newname)) { - - /* - * If the entry is found, too bad. - */ - /* local, no need for xgetgrnam */ - if (prefix_getgrnam (group_newname) != NULL) { - fprintf (stderr, - _("%s: group '%s' already exists\n"), - Prog, group_newname); - exit (E_NAME_IN_USE); - } - return; + if (!is_valid_group_name(group_newname)) { + fprintf(stderr, + _("%s: invalid group name '%s'\n"), + Prog, group_newname); + exit(E_BAD_ARG); } - /* - * All invalid group names land here. - */ + /* local, no need for xgetgrnam */ + if (prefix_getgrnam(group_newname) != NULL) { + fprintf(stderr, + _("%s: group '%s' already exists\n"), + Prog, group_newname); + exit(E_NAME_IN_USE); + } - fprintf (stderr, - _("%s: invalid group name '%s'\n"), - Prog, group_newname); - exit (E_BAD_ARG); + return; } /* @@ -487,7 +503,7 @@ static void close_files (void) #ifdef SHADOWGRP if ( is_shadow_grp - && (pflg || nflg)) { + && (pflg || nflg || user_list)) { if (sgr_close () == 0) { fprintf (stderr, _("%s: failure while writing changes to %s\n"), @@ -619,7 +635,7 @@ static void prepare_failure_reports (void) add_cleanup (cleanup_report_mod_group, &info_group); #ifdef SHADOWGRP if ( is_shadow_grp - && (pflg || nflg)) { + && (pflg || nflg || user_list)) { add_cleanup (cleanup_report_mod_gshadow, &info_gshadow); } #endif @@ -646,7 +662,7 @@ static void lock_files (void) #ifdef SHADOWGRP if ( is_shadow_grp - && (pflg || nflg)) { + && (pflg || nflg || user_list)) { if (sgr_lock () == 0) { fprintf (stderr, _("%s: cannot lock %s; try again later.\n"), @@ -684,7 +700,7 @@ static void open_files (void) #ifdef SHADOWGRP if ( is_shadow_grp - && (pflg || nflg)) { + && (pflg || nflg || user_list)) { if (sgr_open (O_CREAT | O_RDWR) == 0) { fprintf (stderr, _("%s: cannot open %s\n"), diff --git a/src/groups.c b/src/groups.c deleted file mode 100644 index d19a80a3..00000000 --- a/src/groups.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1991 - 1993, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 2000, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2001 - 2006, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2007 - 2008, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#ident "$Id$" - -#include -#include -#include - -#include "alloc.h" -#include "defines.h" -#include "prototypes.h" -#include "shadowlog.h" - -/* - * Global variables - */ -static const char Prog[] = "groups"; - -/* local function prototypes */ -static void print_groups (const char *member); - -/* - * print_groups - print the groups which the named user is a member of - * - * print_groups() scans the groups file for the list of groups which - * the user is listed as being a member of. - */ -static void print_groups (const char *member) -{ - int groups = 0; - struct group *grp; - struct passwd *pwd; - bool flag = false; - - pwd = getpwnam (member); /* local, no need for xgetpwnam */ - if (NULL == pwd) { - (void) fprintf (stderr, _("%s: unknown user %s\n"), - Prog, member); - exit (EXIT_FAILURE); - } - - setgrent (); - while ((grp = getgrent ()) != NULL) { - if (is_on_list (grp->gr_mem, member)) { - if (0 != groups) { - (void) putchar (' '); - } - groups++; - - (void) printf ("%s", grp->gr_name); - if (grp->gr_gid == pwd->pw_gid) { - flag = true; - } - } - } - endgrent (); - - /* The user may not be in the list of members of its primary group */ - if (!flag) { - grp = getgrgid (pwd->pw_gid); /* local, no need for xgetgrgid */ - if (NULL != grp) { - if (0 != groups) { - (void) putchar (' '); - } - groups++; - - (void) printf ("%s", grp->gr_name); - } - } - - if (0 != groups) { - (void) putchar ('\n'); - } -} - -/* - * groups - print out the groups a process is a member of - */ -int main (int argc, char **argv) -{ - long sys_ngroups; - GETGROUPS_T *groups; - - sys_ngroups = sysconf (_SC_NGROUPS_MAX); - groups = XMALLOC(sys_ngroups, GETGROUPS_T); - - (void) setlocale (LC_ALL, ""); - (void) bindtextdomain (PACKAGE, LOCALEDIR); - (void) textdomain (PACKAGE); - - log_set_progname(Prog); - log_set_logfd(stderr); - - if (argc == 1) { - - /* - * Called with no arguments - give the group set for the - * current user. - */ - - int i; - int pri_grp; /* TODO: should be GETGROUPS_T */ - /* - * This system supports concurrent group sets, so I can ask - * the system to tell me which groups are currently set for - * this process. - */ - int ngroups = getgroups (sys_ngroups, groups); - if (ngroups < 0) { - perror ("getgroups"); - exit (EXIT_FAILURE); - } - - /* - * The groupset includes the primary group as well. - */ - pri_grp = getegid (); - for (i = 0; i < ngroups; i++) { - if (pri_grp == (int) groups[i]) { - break; - } - } - - if (i != ngroups) { - pri_grp = -1; - } - - /* - * Print out the name of every group in the current group - * set. Unknown groups are printed as their decimal group ID - * values. - */ - if (-1 != pri_grp) { - struct group *gr; - /* local, no need for xgetgrgid */ - gr = getgrgid (pri_grp); - if (NULL != gr) { - (void) printf ("%s", gr->gr_name); - } else { - (void) printf ("%d", pri_grp); - } - } - - for (i = 0; i < ngroups; i++) { - struct group *gr; - if ((0 != i) || (-1 != pri_grp)) { - (void) putchar (' '); - } - - /* local, no need for xgetgrgid */ - gr = getgrgid (groups[i]); - if (NULL != gr) { - (void) printf ("%s", gr->gr_name); - } else { - (void) printf ("%ld", (long) groups[i]); - } - } - (void) putchar ('\n'); - } else { - - /* - * The invoker wanted to know about some other user. Use - * that name to look up the groups instead. - */ - print_groups (argv[1]); - } - return EXIT_SUCCESS; -} - diff --git a/src/grpck.c b/src/grpck.c index 4ef1b154..405ae6c5 100644 --- a/src/grpck.c +++ b/src/grpck.c @@ -15,14 +15,16 @@ #include #include #include + #include "chkname.h" #include "commonio.h" #include "defines.h" #include "groupio.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" #include "shadowlog.h" +#include "sssd.h" +#include "string/strcmp/streq.h" #ifdef SHADOWGRP #include "sgroupio.h" @@ -436,7 +438,7 @@ static void compare_members_lists (const char *groupname, for (pmem = members; NULL != *pmem; pmem++) { for (other_pmem = other_members; NULL != *other_pmem; other_pmem++) { - if (strcmp (*pmem, *other_pmem) == 0) { + if (streq(*pmem, *other_pmem)) { break; } } @@ -535,7 +537,7 @@ static void check_grp_file (int *errors, bool *changed) continue; } - if (strcmp (grp->gr_name, ent->gr_name) != 0) { + if (!streq(grp->gr_name, ent->gr_name)) { continue; } @@ -647,7 +649,7 @@ static void check_grp_file (int *errors, bool *changed) /* The group entry has a gshadow counterpart. * Make sure no passwords are in group. */ - if (strcmp (grp->gr_passwd, SHADOW_PASSWD_STRING) != 0) { + if (!streq(grp->gr_passwd, SHADOW_PASSWD_STRING)) { printf (_("group %s has an entry in %s, but its password field in %s is not set to 'x'\n"), grp->gr_name, sgr_file, grp_file); *errors += 1; @@ -737,7 +739,7 @@ static void check_sgr_file (int *errors, bool *changed) continue; } - if (strcmp (sgr->sg_name, ent->sg_name) != 0) { + if (!streq(sgr->sg_name, ent->sg_name)) { continue; } diff --git a/src/grpconv.c b/src/grpconv.c index 4d941cdc..16cd52c9 100644 --- a/src/grpconv.c +++ b/src/grpconv.c @@ -17,6 +17,7 @@ #include #include +#include #include #include #include @@ -24,18 +25,21 @@ #include #include #include -#include #include "attr.h" -#include "nscd.h" -#include "sssd.h" -#include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" +#include "nscd.h" +#include "prototypes.h" +#include "string/strcmp/streq.h" + #ifdef SHADOWGRP #include "groupio.h" #include "sgroupio.h" #include "shadowlog.h" +#include "sssd.h" + + /* * Global variables */ @@ -194,10 +198,10 @@ int main (int argc, char **argv) if (NULL != sg) { /* update existing shadow group entry */ sgent = *sg; - if (strcmp (gr->gr_passwd, SHADOW_PASSWD_STRING) != 0) + if (!streq(gr->gr_passwd, SHADOW_PASSWD_STRING)) sgent.sg_passwd = gr->gr_passwd; } else { - static char *empty = 0; + static char *empty = NULL; /* add new shadow group entry */ bzero(&sgent, sizeof sgent); diff --git a/src/grpunconv.c b/src/grpunconv.c index d001ece7..ea65a329 100644 --- a/src/grpunconv.c +++ b/src/grpunconv.c @@ -26,15 +26,19 @@ #include #include "attr.h" -#include "nscd.h" -#include "sssd.h" -#include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" +#include "nscd.h" +#include "prototypes.h" +#include "sssd.h" +#include "string/strcmp/streq.h" + #ifdef SHADOWGRP #include "groupio.h" #include "sgroupio.h" #include "shadowlog.h" + + /* * Global variables */ @@ -174,7 +178,7 @@ int main (int argc, char **argv) while ((gr = gr_next ()) != NULL) { sg = sgr_locate (gr->gr_name); if ( (NULL != sg) - && (strcmp (gr->gr_passwd, SHADOW_PASSWD_STRING) == 0)) { + && streq(gr->gr_passwd, SHADOW_PASSWD_STRING)) { /* add password to /etc/group */ grent = *gr; grent.gr_passwd = sg->sg_passwd; diff --git a/src/id.c b/src/id.c deleted file mode 100644 index 673693e0..00000000 --- a/src/id.c +++ /dev/null @@ -1,175 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1991 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 2000, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2001 - 2006, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2007 - 2008, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -/* - * id - print current process user identification information - * - * Print the current process identifiers. This includes the - * UID, GID, effective-UID and effective-GID. Optionally print - * the concurrent group set if the current system supports it. - */ - -#include - -#ident "$Id$" - -#include -#include -#include -#include - -#include "alloc.h" -#include "defines.h" - -/* local function prototypes */ -static void usage (void); - -static void usage (void) -{ - (void) fputs (_("Usage: id [-a]\n"), stderr); - exit (EXIT_FAILURE); -} - -int -main(int argc, char *argv[]) -{ - uid_t ruid, euid; - gid_t rgid, egid; - long sys_ngroups; - -/* - * This block of declarations is particularly strained because of several - * different ways of doing concurrent groups. Old BSD systems used int for - * gid's, but short for the type passed to getgroups(). Newer systems use - * gid_t for everything. Some systems have a small and fixed NGROUPS, - * usually about 16 or 32. Others use bigger values. - */ - GETGROUPS_T *groups; - int ngroups; - bool aflg = 0; - struct passwd *pw; - struct group *gr; - - (void) setlocale (LC_ALL, ""); - (void) bindtextdomain (PACKAGE, LOCALEDIR); - (void) textdomain (PACKAGE); - - /* - * Dynamically get the maximum number of groups from system, instead - * of using the symbolic constant NGROUPS_MAX. This ensures that the - * group limit is not hard coded into the binary, so it will still - * work if the system library is recompiled. - */ - sys_ngroups = sysconf (_SC_NGROUPS_MAX); - groups = MALLOC(sys_ngroups, GETGROUPS_T); - - /* - * See if the -a flag has been given to print out the concurrent - * group set. - */ - - if (argc > 1) { - if (argc > 2 || strcmp(argv[1], "-a") != 0) - usage(); - else - aflg = true; - } - - ruid = getuid (); - euid = geteuid (); - rgid = getgid (); - egid = getegid (); - - /* - * Print out the real user ID and group ID. If the user or group - * does not exist, just give the numerical value. - */ - - pw = getpwuid (ruid); /* local, no need for xgetpwuid */ - if (NULL != pw) { - (void) printf ("UID=%lu(%s)", - (unsigned long) ruid, pw->pw_name); - } else { - (void) printf ("UID=%lu", (unsigned long) ruid); - } - - gr = getgrgid (rgid);; /* local, no need for xgetgrgid */ - if (NULL != gr) { - (void) printf (" GID=%lu(%s)", - (unsigned long) rgid, gr->gr_name); - } else { - (void) printf (" GID=%lu", (unsigned long) rgid); - } - - /* - * Print out the effective user ID and group ID if they are - * different from the real values. - */ - - if (ruid != euid) { - pw = getpwuid (euid); /* local, no need for xgetpwuid */ - if (NULL != pw) { - (void) printf (" EUID=%lu(%s)", - (unsigned long) euid, pw->pw_name); - } else { - (void) printf (" EUID=%lu", (unsigned long) euid); - } - } - if (rgid != egid) { - gr = getgrgid (egid); /* local, no need for xgetgrgid */ - if (NULL != gr) { - (void) printf (" EGID=%lu(%s)", - (unsigned long) egid, gr->gr_name); - } else { - (void) printf (" EGID=%lu", (unsigned long) egid); - } - } - - /* - * Print out the concurrent group set if the user has requested it. - * The group numbers will be printed followed by their names. - */ - if (aflg && (ngroups = getgroups (sys_ngroups, groups)) != -1) { - int i; - - /* - * Start off the group message. It will be of the format - * - * groups=###(aaa),###(aaa),###(aaa) - * - * where "###" is a numerical value and "aaa" is the - * corresponding name for each respective numerical value. - */ - (void) puts (_(" groups=")); - for (i = 0; i < ngroups; i++) { - if (0 != i) - (void) putchar (','); - - /* local, no need for xgetgrgid */ - gr = getgrgid (groups[i]); - if (NULL != gr) { - (void) printf ("%lu(%s)", - (unsigned long) groups[i], - gr->gr_name); - } else { - (void) printf ("%lu", - (unsigned long) groups[i]); - } - } - } - free (groups); - - /* - * Finish off the line. - */ - (void) putchar ('\n'); - - return EXIT_SUCCESS; -} - diff --git a/src/lastlog.c b/src/lastlog.c index 3914b72b..3bd5c62f 100644 --- a/src/lastlog.c +++ b/src/lastlog.c @@ -23,14 +23,14 @@ #include #endif -#include "atoi/str2i.h" +#include "atoi/str2i/str2u.h" #include "defines.h" #include "prototypes.h" #include "getdef.h" -#include "memzero.h" /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/memset/memzero.h" #include "string/strftime.h" diff --git a/src/login.c b/src/login.c index 9fed7b38..31162af1 100644 --- a/src/login.c +++ b/src/login.c @@ -25,22 +25,24 @@ #include #include -#include "alloc.h" +#include "alloc/x/xmalloc.h" #include "attr.h" #include "chkname.h" #include "defines.h" +/*@-exitarg@*/ +#include "exitcodes.h" #include "faillog.h" #include "failure.h" #include "getdef.h" -#include "memzero.h" #include "prototypes.h" #include "pwauth.h" -/*@-exitarg@*/ -#include "exitcodes.h" #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/memset/memzero.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strtcpy.h" +#include "string/strdup/xstrdup.h" #include "string/strftime.h" -#include "string/strtcpy.h" #ifdef USE_PAM @@ -85,11 +87,6 @@ static struct lastlog ll; static bool pflg = false; static bool fflg = false; -#ifdef RLOGIN -static bool rflg = false; -#else /* RLOGIN */ -#define rflg false -#endif /* !RLOGIN */ static bool hflg = false; static bool preauth_flag = false; @@ -134,7 +131,6 @@ static void exit_handler (int); * usage - print login command usage and exit * * login [ name ] - * login -r hostname (for rlogind) * login -h hostname (for telnetd, etc.) * login -f name (for pre-authenticated login: datakit, xterm, etc.) */ @@ -145,9 +141,6 @@ static void usage (void) exit (1); } fprintf (stderr, _(" %s [-p] [-h host] [-f name]\n"), Prog); -#ifdef RLOGIN - fprintf (stderr, _(" %s [-p] -r host\n"), Prog); -#endif /* RLOGIN */ exit (1); } @@ -271,13 +264,13 @@ static void process_flags (int argc, char *const *argv) /* * Check the flags for proper form. Every argument starting with * "-" must be exactly two characters long. This closes all the - * clever rlogin, telnet, and getty holes. + * clever telnet, and getty holes. */ for (arg = 1; arg < argc; arg++) { if (argv[arg][0] == '-' && strlen (argv[arg]) > 2) { usage (); } - if (strcmp(argv[arg], "--") == 0) { + if (streq(argv[arg], "--")) { break; /* stop checking on a "--" */ } } @@ -298,13 +291,6 @@ static void process_flags (int argc, char *const *argv) hostname = optarg; reason = PW_TELNET; break; -#ifdef RLOGIN - case 'r': - rflg = true; - hostname = optarg; - reason = PW_RLOGIN; - break; -#endif /* RLOGIN */ case 'p': pflg = true; break; @@ -313,21 +299,11 @@ static void process_flags (int argc, char *const *argv) } } -#ifdef RLOGIN - /* - * Neither -h nor -f should be combined with -r. - */ - - if (rflg && (hflg || fflg)) { - usage (); - } -#endif /* RLOGIN */ - /* * Allow authentication bypass only if real UID is zero. */ - if ((rflg || fflg || hflg) && !amroot) { + if ((fflg || hflg) && !amroot) { fprintf (stderr, _("%s: Permission denied.\n"), Prog); exit (1); } @@ -342,11 +318,6 @@ static void process_flags (int argc, char *const *argv) ++optind; } -#ifdef RLOGIN - if (rflg && (NULL != username)) { - usage (); - } -#endif /* RLOGIN */ if (fflg && (NULL == username)) { usage (); } @@ -474,7 +445,6 @@ static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *use * the flags which login supports are * * -p - preserve the environment - * -r - perform autologin protocol for rlogin * -f - do not perform authentication, user is preauthenticated * -h - the name of the remote host */ @@ -505,9 +475,6 @@ int main (int argc, char **argv) # if defined(ENABLE_LASTLOG) char ptime[80]; # endif -#endif -#if defined(RLOGIN) - char term[128] = ""; #endif /* @@ -559,7 +526,7 @@ int main (int argc, char **argv) is_console = console (tty); #endif - if (rflg || hflg) { + if (hflg) { /* * Add remote hostname to the environment. I think * (not sure) I saw it once on Irix. --marekm @@ -572,23 +539,6 @@ int main (int argc, char **argv) if (hflg) { reason = PW_RLOGIN; } -#ifdef RLOGIN - if (rflg) { - size_t max_size; - - max_size = login_name_max_size(); - assert (NULL == username); - username = XMALLOC(max_size, char); - username[max_size - 1] = '\0'; - if (do_rlogin(hostname, username, max_size, term, sizeof(term))) - { - preauth_flag = true; - } else { - free (username); - username = NULL; - } - } -#endif /* RLOGIN */ OPENLOG (Prog); @@ -623,18 +573,11 @@ int main (int argc, char **argv) } } -#ifdef RLOGIN - if (term[0] != '\0') { - addenv ("TERM", term); - } else -#endif /* RLOGIN */ - { - /* preserve TERM from getty */ - if (!pflg) { - tmp = getenv ("TERM"); - if (NULL != tmp) { - addenv ("TERM", tmp); - } + /* preserve TERM from getty */ + if (!pflg) { + tmp = getenv ("TERM"); + if (NULL != tmp) { + addenv ("TERM", tmp); } } @@ -644,7 +587,7 @@ int main (int argc, char **argv) set_env (argc - optind, &argv[optind]); } - if (rflg || hflg) { + if (hflg) { cp = hostname; } else if ((host != NULL) && (host[0] != '\0')) { cp = host; @@ -893,7 +836,6 @@ int main (int argc, char **argv) } preauth_flag = false; username = XMALLOC(max_size, char); - username[max_size - 1] = '\0'; login_prompt(username, max_size); if ('\0' == username[0]) { @@ -923,22 +865,22 @@ int main (int argc, char **argv) failed = true; } - if (strcmp (user_passwd, "") == 0) { + if (streq(user_passwd, "")) { const char *prevent_no_auth = getdef_str("PREVENT_NO_AUTH"); if (prevent_no_auth == NULL) { prevent_no_auth = "superuser"; } - if (strcmp(prevent_no_auth, "yes") == 0) { + if (streq(prevent_no_auth, "yes")) { failed = true; } else if ((pwd->pw_uid == 0) - && (strcmp(prevent_no_auth, "superuser") == 0)) { + && streq(prevent_no_auth, "superuser")) { failed = true; } } } - if (strcmp (user_passwd, SHADOW_PASSWD_STRING) == 0) { + if (streq(user_passwd, SHADOW_PASSWD_STRING)) { spwd = xgetspnam (username); if (NULL != spwd) { user_passwd = spwd->sp_pwdp; @@ -954,7 +896,7 @@ int main (int argc, char **argv) } /* - * The -r and -f flags provide a name which has already + * The -f flag provides a name which has already * been authenticated by some server. */ if (preauth_flag) { @@ -1043,8 +985,8 @@ int main (int argc, char **argv) (void) puts (_("Login incorrect")); - /* allow only one attempt with -r or -f */ - if (rflg || fflg || (retries <= 0)) { + /* allow only one attempt with -f */ + if (fflg || (retries <= 0)) { closelog (); exit (1); } diff --git a/src/login_nopam.c b/src/login_nopam.c index e6f77d1c..56692e15 100644 --- a/src/login_nopam.c +++ b/src/login_nopam.c @@ -52,26 +52,21 @@ #include #include #include +#include #include #include #include /* for inet_ntoa() */ #include "sizeof.h" +#include "string/strchr/strrspn.h" +#include "string/strtok/stpsep.h" -#if !defined(MAXHOSTNAMELEN) || (MAXHOSTNAMELEN < 64) -#undef MAXHOSTNAMELEN -#define MAXHOSTNAMELEN 256 -#endif /* Path name of the access control file. */ #ifndef TABLE #define TABLE "/etc/login.access" #endif -/* Delimiters for fields and for lists of users, ttys or hosts. */ -static char fs[] = ":"; /* field separator */ -static char sep[] = ", \t"; /* list-element separator */ - static bool list_match (char *list, const char *item, bool (*match_fn) (const char *, const char *)); static bool user_match (const char *tok, const char *string); static bool from_match (const char *tok, const char *string); @@ -79,7 +74,8 @@ static bool string_match (const char *tok, const char *string); static const char *resolve_hostname (const char *string); /* login_access - match username/group and host/tty with access control file */ -int login_access (const char *user, const char *from) +int +login_access(const char *user, const char *from) { FILE *fp; char line[BUFSIZ]; @@ -99,11 +95,12 @@ int login_access (const char *user, const char *from) if (NULL != fp) { int lineno = 0; /* for diagnostics */ while ( !match - && (fgets (line, sizeof (line), fp) == line)) { - ptrdiff_t end; + && (fgets (line, sizeof (line), fp) == line)) + { + char *p; + lineno++; - end = strlen (line) - 1; - if (line[0] == '\0' || line[end] != '\n') { + if (stpsep(line, "\n") == NULL) { SYSLOG ((LOG_ERR, "%s: line %d: missing newline or line too long", TABLE, lineno)); @@ -112,17 +109,15 @@ int login_access (const char *user, const char *from) if (line[0] == '#') { continue; /* comment line */ } - while (end > 0 && isspace (line[end - 1])) { - end--; - } - line[end] = '\0'; /* strip trailing whitespace */ + stpcpy(strrspn(line, " \t"), ""); if (line[0] == '\0') { /* skip blank lines */ continue; } - if ( ((perm = strtok (line, fs)) == NULL) - || ((users = strtok (NULL, fs)) == NULL) - || ((froms = strtok (NULL, fs)) == NULL) - || (strtok (NULL, fs) != NULL)) { + p = line; + perm = strsep(&p, ":"); + users = strsep(&p, ":"); + froms = strsep(&p, ":"); + if (froms == NULL || p != NULL) { SYSLOG ((LOG_ERR, "%s: line %d: bad field count", TABLE, lineno)); @@ -146,8 +141,11 @@ int login_access (const char *user, const char *from) } /* list_match - match an item against a list of tokens with exceptions */ -static bool list_match (char *list, const char *item, bool (*match_fn) (const char *, const char*)) +static bool +list_match(char *list, const char *item, bool (*match_fn)(const char *, const char*)) { + static const char sep[] = ", \t"; + char *tok; bool match = false; @@ -157,7 +155,7 @@ static bool list_match (char *list, const char *item, bool (*match_fn) (const ch * a match, look for an "EXCEPT" list and recurse to determine whether * the match is affected by any exceptions. */ - for (tok = strtok (list, sep); tok != NULL; tok = strtok (NULL, sep)) { + while (NULL != (tok = strsep(&list, sep))) { if (strcasecmp (tok, "EXCEPT") == 0) { /* EXCEPT: give up */ break; } @@ -169,10 +167,10 @@ static bool list_match (char *list, const char *item, bool (*match_fn) (const ch /* Process exceptions to matches. */ if (match) { - while ( ((tok = strtok (NULL, sep)) != NULL) + while ( (NULL != (tok = strsep(&list, sep))) && (strcasecmp (tok, "EXCEPT") != 0)) /* VOID */ ; - if (tok == 0 || !list_match (NULL, item, match_fn)) { + if (tok == NULL || !list_match(NULL, item, match_fn)) { return (match); } } @@ -186,7 +184,7 @@ static char *myhostname (void) if (name[0] == '\0') { gethostname (name, sizeof (name)); - name[MAXHOSTNAMELEN] = '\0'; + stpcpy(&name[MAXHOSTNAMELEN], ""); } return (name); } @@ -217,18 +215,16 @@ static bool user_match (const char *tok, const char *string) #ifdef PRIMARY_GROUP_MATCH struct passwd *userinf; #endif - char *at; + char *host; /* * If a token has the magic value "ALL" the match always succeeds. * Otherwise, return true if the token fully matches the username, or if * the token is a group that contains the username. */ - at = strchr (tok + 1, '@'); - if (NULL != at) { /* split user@host pattern */ - *at = '\0'; - return ( user_match (tok, string) - && from_match (at + 1, myhostname ())); + host = stpsep(tok + 1, "@"); /* split user@host pattern */ + if (host != NULL) { + return user_match(tok, string) && from_match(host, myhostname()); #if HAVE_INNETGR } else if (tok[0] == '@') { /* netgroup */ return (netgroup_match (tok + 1, NULL, string)); @@ -270,7 +266,7 @@ static const char *resolve_hostname (const char *string) const char *addr_str; struct addrinfo *addrs; - static char host[MAXHOSTNAMELEN]; + static char host[NI_MAXHOST]; gai_err = getaddrinfo(string, NULL, NULL, &addrs); if (gai_err != 0) { diff --git a/src/logoutd.c b/src/logoutd.c index c8705101..11a5d60a 100644 --- a/src/logoutd.c +++ b/src/logoutd.c @@ -16,11 +16,15 @@ #include #include #include + #include "defines.h" #include "prototypes.h" #include "shadowlog.h" #include "sizeof.h" -#include "string/zustr2stp.h" +#include "string/strcpy/strncat.h" +#include "string/strdup/strndupa.h" + + /* * Global variables */ @@ -46,22 +50,16 @@ static void send_mesg_to_tty (int tty_fd); static int check_login(const struct utmpx *ut) { - char user[sizeof(ut->ut_user) + 1]; - char line[sizeof(ut->ut_line) + 1]; + char *user; + char *line; time_t now; - ZUSTR2STP(user, ut->ut_user); - ZUSTR2STP(line, ut->ut_line); + user = STRNDUPA(ut->ut_user); + line = STRNDUPA(ut->ut_line); - (void) time (&now); + now = time(NULL); - /* - * Check if they are allowed to be logged in right now. - */ - if (!isttytime(user, line, now)) { - return 0; - } - return 1; + return isttytime(user, line, now); } @@ -118,15 +116,8 @@ static void send_mesg_to_tty (int tty_fd) int main(int argc, char **argv) { - int i; - int status; pid_t pid; - struct utmpx *ut; - char user[sizeof (ut->ut_user) + 1]; /* terminating NUL */ - char tty_name[sizeof (ut->ut_line) + 6]; /* /dev/ + NUL */ - int tty_fd; - if (1 != argc) { (void) fputs (_("Usage: logoutd\n"), stderr); } @@ -136,7 +127,7 @@ main(int argc, char **argv) (void) textdomain (PACKAGE); #ifndef DEBUG - for (i = 0; close (i) == 0; i++); + for (int i = 0; close(i) == 0; i++); setpgrp (); @@ -167,6 +158,7 @@ main(int argc, char **argv) * are not supposed to still be logged in. */ while (true) { + struct utmpx *ut; /* * Attempt to re-open the utmp file. The file is only @@ -180,6 +172,9 @@ main(int argc, char **argv) * is permitted to be signed on at this time. */ while ((ut = getutxent()) != NULL) { + int tty_fd; + char tty_name[sizeof(ut->ut_line) + 6]; // /dev/ + NUL + if (ut->ut_type != USER_PROCESS) { continue; } @@ -205,13 +200,12 @@ main(int argc, char **argv) } /* child */ - if (strncmp (ut->ut_line, "/dev/", 5) != 0) { - strcpy (tty_name, "/dev/"); - } else { - tty_name[0] = '\0'; - } + if (strncmp(ut->ut_line, "/dev/", 5) != 0) + strcpy(tty_name, "/dev/"); + else + strcpy(tty_name, ""); - strncat(tty_name, ut->ut_line, NITEMS(ut->ut_line)); + STRNCAT(tty_name, ut->ut_line); #ifndef O_NOCTTY #define O_NOCTTY 0 #endif @@ -229,10 +223,9 @@ main(int argc, char **argv) kill (-ut->ut_pid, SIGKILL); } - ZUSTR2STP(user, ut->ut_user); - SYSLOG ((LOG_NOTICE, - "logged off user '%s' on '%s'", user, + "logged off user '%s' on '%s'", + STRNDUPA(ut->ut_user), tty_name)); /* @@ -249,7 +242,7 @@ main(int argc, char **argv) /* * Reap any dead babies ... */ - while (wait (&status) != -1); + while (wait(NULL) != -1); } return EXIT_FAILURE; diff --git a/src/new_subid_range.c b/src/new_subid_range.c index 1ef71f36..6c62cc08 100644 --- a/src/new_subid_range.c +++ b/src/new_subid_range.c @@ -2,11 +2,14 @@ #include #include + +#include "atoi/str2i/str2u.h" #include "subid.h" #include "stdlib.h" #include "prototypes.h" #include "shadowlog.h" + /* Test program for the subid creation routine */ static const char Prog[] = "new_subid_range"; @@ -45,7 +48,7 @@ int main(int argc, char *argv[]) range.start = 0; range.count = 65536; if (argc > 1) - range.count = atoi(argv[1]); + str2ul(&range.count, argv[1]); if (group) ok = subid_grant_gid_range(&range, !makenew); else diff --git a/src/newgidmap.c b/src/newgidmap.c index 96a89de7..b1bf80e2 100644 --- a/src/newgidmap.c +++ b/src/newgidmap.c @@ -177,7 +177,7 @@ int main(int argc, char **argv) if (proc_dir_fd < 0) usage(); } - /* Who am i? */ + /* Who am I? */ pw = get_my_pwent (); if (NULL == pw) { fprintf (stderr, diff --git a/src/newgrp.c b/src/newgrp.c index 1b3d76b8..427ae586 100644 --- a/src/newgrp.c +++ b/src/newgrp.c @@ -18,14 +18,17 @@ #include #include "agetpass.h" -#include "alloc.h" +#include "alloc/x/xmalloc.h" +#include "chkname.h" #include "defines.h" -#include "getdef.h" -#include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" +#include "getdef.h" +#include "prototypes.h" #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" +#include "string/strdup/xstrdup.h" /* @@ -72,7 +75,7 @@ static bool ingroup(const char *name, struct group *gr) look = gr->gr_mem; while (*look && notfound) - notfound = strcmp (*look++, name); + notfound = !streq(*look++, name); return !notfound; } @@ -186,7 +189,7 @@ static void check_perms (const struct group *grp, } if (grp->gr_passwd[0] == '\0' || - strcmp (cpasswd, grp->gr_passwd) != 0) { + !streq(cpasswd, grp->gr_passwd)) { #ifdef WITH_AUDIT SNPRINTF(audit_buf, "authentication new-gid=%lu", (unsigned long) grp->gr_gid); @@ -399,7 +402,7 @@ int main (int argc, char **argv) /* * Save my name for error messages and save my real gid in case of - * errors. If there is an error i have to exec a new login shell for + * errors. If there is an error, I have to exec a new login shell for * the user since her old shell won't have fork'd to create the * process. Skip over the program name to the next command line * argument. @@ -426,7 +429,7 @@ int main (int argc, char **argv) * injecting arbitrary strings into our stderr/stdout, as this can * be an exploit vector. */ - is_newgrp = (strcmp (Basename (argv[0]), "newgrp") == 0); + is_newgrp = streq(Basename (argv[0]), "newgrp"); Prog = is_newgrp ? "newgrp" : "sg"; log_set_progname(Prog); @@ -459,7 +462,7 @@ int main (int argc, char **argv) * for sg causes a command string to be executed. * * The next argument, if present, must be the new group name. Any - * remaining remaining arguments will be used to execute a command + * remaining arguments will be used to execute a command * as the named group. If the group name isn't present, I just use * the login group ID of the current user. * @@ -470,8 +473,8 @@ int main (int argc, char **argv) * sg [-] groupid [[-c command] */ if ( (argc > 0) - && ( (strcmp (argv[0], "-") == 0) - || (strcmp (argv[0], "-l") == 0))) { + && ( streq(argv[0], "-") + || streq(argv[0], "-l"))) { argc--; argv++; initflag = true; @@ -482,6 +485,12 @@ int main (int argc, char **argv) * not "newgrp". */ if ((argc > 0) && (argv[0][0] != '-')) { + if (!is_valid_group_name (argv[0])) { + fprintf ( + stderr, _("%s: provided group is not a valid group name\n"), + Prog); + goto failure; + } group = argv[0]; argc--; argv++; @@ -497,7 +506,7 @@ int main (int argc, char **argv) * "sg group -c command" (as in the man page) or * "sg group command" (as in the usage message). */ - if ((argc > 1) && (strcmp (argv[0], "-c") == 0)) { + if ((argc > 1) && streq(argv[0], "-c")) { command = argv[1]; } else { command = argv[0]; @@ -513,6 +522,12 @@ int main (int argc, char **argv) usage (); goto failure; } else if (argv[0] != NULL) { + if (!is_valid_group_name (argv[0])) { + fprintf ( + stderr, _("%s: provided group is not a valid group name\n"), + Prog); + goto failure; + } group = argv[0]; } else { /* @@ -538,9 +553,9 @@ int main (int argc, char **argv) #ifdef HAVE_SETGROUPS /* - * get the current users groupset. The new group will be added to + * get the current user's groupset. The new group will be added to * the concurrent groupset if there is room, otherwise you get a - * nasty message but at least your real and effective group id's are + * nasty message but at least your real and effective group ids are * set. */ /* don't use getgroups(0, 0) - it doesn't work on some systems */ @@ -575,7 +590,7 @@ int main (int argc, char **argv) * now we put her in the new group. The password file entry for her * current user id has been gotten. If there was no optional group * argument she will have her real and effective group id set to the - * set to the value from her password file entry. + * value from her password file entry. * * If run as newgrp, or as sg with no command, this process exec's * an interactive subshell with the effective GID of the new group. @@ -676,8 +691,8 @@ int main (int argc, char **argv) #ifdef HAVE_SETGROUPS /* * I am going to try to add her new group id to her concurrent group - * set. If the group id is already present i'll just skip this part. - * If the group doesn't fit, i'll complain loudly and skip this + * set. If the group id is already present I'll just skip this part. + * If the group doesn't fit, I'll complain loudly and skip this * part. */ for (i = 0; i < ngroups; i++) { @@ -736,7 +751,7 @@ int main (int argc, char **argv) } /* - * See if the "-c" flag was used. If it was, i just create a shell + * See if the "-c" flag was used. If it was, I just create a shell * command for her using the argument that followed the "-c" flag. */ if (cflag) { @@ -752,7 +767,7 @@ int main (int argc, char **argv) } /* - * I have to get the pathname of her login shell. As a favor, i'll + * I have to get the pathname of her login shell. As a favor, I'll * try her environment for a $SHELL value first, and then try the * password file entry. Obviously this shouldn't be in the * restricted command directory since it could be used to leave the @@ -784,7 +799,7 @@ int main (int argc, char **argv) progbase = Basename (prog); /* - * Switch back to her home directory if i am doing login + * Switch back to her home directory if I am doing login * initialization. */ if (initflag) { diff --git a/src/newuidmap.c b/src/newuidmap.c index e2652b50..8deb06f0 100644 --- a/src/newuidmap.c +++ b/src/newuidmap.c @@ -106,7 +106,7 @@ int main(int argc, char **argv) usage(); } - /* Who am i? */ + /* Who am I? */ pw = get_my_pwent (); if (NULL == pw) { fprintf (stderr, diff --git a/src/newusers.c b/src/newusers.c index 0705b579..32d224d2 100644 --- a/src/newusers.c +++ b/src/newusers.c @@ -30,28 +30,32 @@ #include #include -#include "alloc.h" -#include "atoi/str2i.h" +#include "alloc/reallocf.h" +#include "atoi/getnum.h" +#include "atoi/str2i/str2s.h" #ifdef ACCT_TOOLS_SETUID #ifdef USE_PAM #include "pam_defs.h" #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ -#include "prototypes.h" +#include "chkname.h" #include "defines.h" #include "getdef.h" #include "groupio.h" #include "nscd.h" -#include "sssd.h" +#include "prototypes.h" #include "pwio.h" #include "sgroupio.h" #include "shadowio.h" #ifdef ENABLE_SUBIDS #include "subordinateio.h" #endif /* ENABLE_SUBIDS */ -#include "chkname.h" #include "shadowlog.h" -#include "string/sprintf.h" +#include "sssd.h" +#include "string/sprintf/snprintf.h" +#include "string/strcmp/streq.h" +#include "string/strdup/xstrdup.h" +#include "string/strtok/stpsep.h" /* @@ -383,10 +387,16 @@ static int add_user (const char *name, uid_t uid, gid_t gid) struct passwd pwent; /* Check if this is a valid user name */ - if (!is_valid_user_name (name)) { - fprintf (stderr, - _("%s: invalid user name '%s': use --badname to ignore\n"), - Prog, name); + if (!is_valid_user_name(name)) { + if (errno == EINVAL) { + fprintf(stderr, + _("%s: invalid user name '%s': use --badname to ignore\n"), + Prog, name); + } else { + fprintf(stderr, + _("%s: invalid user name '%s'\n"), + Prog, name); + } return -1; } @@ -419,29 +429,29 @@ static int update_passwd (struct passwd *pwd, const char *password) if (NULL != crypt_method) { #if defined(USE_SHA_CRYPT) if (sflg) { - if ( (0 == strcmp (crypt_method, "SHA256")) - || (0 == strcmp (crypt_method, "SHA512"))) { + if ( streq(crypt_method, "SHA256") + || streq(crypt_method, "SHA512")) { crypt_arg = &sha_rounds; } } #endif /* USE_SHA_CRYPT */ #if defined(USE_BCRYPT) if (sflg) { - if (0 == strcmp (crypt_method, "BCRYPT")) { + if (streq(crypt_method, "BCRYPT")) { crypt_arg = &bcrypt_rounds; } } #endif /* USE_BCRYPT */ #if defined(USE_YESCRYPT) if (sflg) { - if (0 == strcmp (crypt_method, "YESCRYPT")) { + if (streq(crypt_method, "YESCRYPT")) { crypt_arg = &yescrypt_cost; } } #endif /* USE_YESCRYPT */ } - if ((NULL != crypt_method) && (0 == strcmp(crypt_method, "NONE"))) { + if ((NULL != crypt_method) && streq(crypt_method, "NONE")) { pwd->pw_passwd = (char *)password; } else { const char *salt = crypt_make_salt (crypt_method, crypt_arg); @@ -475,22 +485,23 @@ static int add_passwd (struct passwd *pwd, const char *password) if (NULL != crypt_method) { #if defined(USE_SHA_CRYPT) if (sflg) { - if ( (0 == strcmp (crypt_method, "SHA256")) - || (0 == strcmp (crypt_method, "SHA512"))) { + if (streq(crypt_method, "SHA256") + || streq(crypt_method, "SHA512")) + { crypt_arg = &sha_rounds; } } #endif /* USE_SHA_CRYPT */ #if defined(USE_BCRYPT) if (sflg) { - if (0 == strcmp (crypt_method, "BCRYPT")) { + if (streq(crypt_method, "BCRYPT")) { crypt_arg = &bcrypt_rounds; } } #endif /* USE_BCRYPT */ #if defined(USE_YESCRYPT) if (sflg) { - if (0 == strcmp (crypt_method, "YESCRYPT")) { + if (streq(crypt_method, "YESCRYPT")) { crypt_arg = &yescrypt_cost; } } @@ -516,7 +527,8 @@ static int add_passwd (struct passwd *pwd, const char *password) if (NULL != sp) { spent = *sp; if ( (NULL != crypt_method) - && (0 == strcmp(crypt_method, "NONE"))) { + && streq(crypt_method, "NONE")) + { spent.sp_pwdp = (char *)password; } else { const char *salt = crypt_make_salt (crypt_method, @@ -545,7 +557,7 @@ static int add_passwd (struct passwd *pwd, const char *password) * when the entry was created, so this user would have to have had * the password set someplace else. */ - if (strcmp (pwd->pw_passwd, "x") != 0) { + if (!streq(pwd->pw_passwd, "x")) { return update_passwd (pwd, password); } #else /* USE_PAM */ @@ -556,7 +568,7 @@ static int add_passwd (struct passwd *pwd, const char *password) * The password will be updated later for all users using PAM. */ if ( (NULL != sp) - || (strcmp (pwd->pw_passwd, "x") != 0)) { + || !streq(pwd->pw_passwd, "x")) { return 0; } #endif /* USE_PAM */ @@ -567,7 +579,7 @@ static int add_passwd (struct passwd *pwd, const char *password) */ spent.sp_namp = pwd->pw_name; #ifndef USE_PAM - if ((crypt_method != NULL) && (0 == strcmp(crypt_method, "NONE"))) { + if ((crypt_method != NULL) && streq(crypt_method, "NONE")) { spent.sp_pwdp = (char *)password; } else { const char *salt = crypt_make_salt (crypt_method, crypt_arg); @@ -673,19 +685,19 @@ static void process_flags (int argc, char **argv) usage (EXIT_FAILURE); } #if defined(USE_SHA_CRYPT) - if ( ( ((0 == strcmp (crypt_method, "SHA256")) || (0 == strcmp (crypt_method, "SHA512"))) + if ( ( (streq(crypt_method, "SHA256") || streq(crypt_method, "SHA512")) && (-1 == str2sl(&sha_rounds, optarg)))) { bad_s = 1; } #endif /* USE_SHA_CRYPT */ #if defined(USE_BCRYPT) - if (( (0 == strcmp (crypt_method, "BCRYPT")) + if (( streq(crypt_method, "BCRYPT") && (-1 == str2sl(&bcrypt_rounds, optarg)))) { bad_s = 1; } #endif /* USE_BCRYPT */ #if defined(USE_YESCRYPT) - if (( (0 == strcmp (crypt_method, "YESCRYPT")) + if (( streq(crypt_method, "YESCRYPT") && (-1 == str2sl(&yescrypt_cost, optarg)))) { bad_s = 1; } @@ -742,18 +754,18 @@ static void check_flags (void) #endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */ if (cflg) { - if ( (0 != strcmp (crypt_method, "DES")) - && (0 != strcmp (crypt_method, "MD5")) - && (0 != strcmp (crypt_method, "NONE")) + if ( !streq(crypt_method, "DES") + && !streq(crypt_method, "MD5") + && !streq(crypt_method, "NONE") #ifdef USE_SHA_CRYPT - && (0 != strcmp (crypt_method, "SHA256")) - && (0 != strcmp (crypt_method, "SHA512")) + && !streq(crypt_method, "SHA256") + && !streq(crypt_method, "SHA512") #endif /* USE_SHA_CRYPT */ #ifdef USE_BCRYPT - && (0 != strcmp (crypt_method, "BCRYPT")) + && !streq(crypt_method, "BCRYPT") #endif /* USE_BCRYPT */ #ifdef USE_YESCRYPT - && (0 != strcmp (crypt_method, "YESCRYPT")) + && !streq(crypt_method, "YESCRYPT") #endif /* USE_YESCRYPT */ ) { fprintf (stderr, @@ -1099,15 +1111,11 @@ int main (int argc, char **argv) */ while (fgets (buf, sizeof buf, stdin) != NULL) { line++; - cp = strrchr (buf, '\n'); - if (cp == NULL && feof (stdin) == 0) { + if (stpsep(buf, "\n") == NULL && feof(stdin) == 0) { fprintf (stderr, _("%s: line %d: line too long\n"), Prog, line); fail_exit (EXIT_FAILURE); } - if (cp != NULL) { - *cp = '\0'; - } /* * Break the string into fields and screw around with them. @@ -1115,13 +1123,9 @@ int main (int argc, char **argv) * values aren't that particular. */ for (cp = buf, nfields = 0; nfields < 7; nfields++) { - fields[nfields] = cp; - cp = strchr (cp, ':'); + fields[nfields] = strsep(&cp, ":"); if (cp == NULL) break; - - *cp = '\0'; - cp++; } if (nfields != 6) { fprintf (stderr, _("%s: line %d: invalid line\n"), @@ -1209,8 +1213,8 @@ int main (int argc, char **argv) fail_exit (EXIT_FAILURE); } lines[nusers-1] = line; - usernames[nusers-1] = strdup (fields[0]); - passwords[nusers-1] = strdup (fields[1]); + usernames[nusers-1] = xstrdup(fields[0]); + passwords[nusers-1] = xstrdup(fields[1]); #endif /* USE_PAM */ if (add_passwd (&newpw, fields[1]) != 0) { fprintf (stderr, diff --git a/src/passwd.c b/src/passwd.c index 2999a3c8..e75b0b94 100644 --- a/src/passwd.c +++ b/src/passwd.c @@ -21,23 +21,25 @@ #include #include "agetpass.h" -#include "alloc.h" -#include "atoi/str2i.h" +#include "atoi/a2i/a2s.h" +#include "chkname.h" #include "defines.h" #include "getdef.h" -#include "memzero.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" #include "pwauth.h" #include "pwio.h" #include "shadowio.h" #include "shadowlog.h" -#include "string/strtcpy.h" +#include "sssd.h" +#include "string/memset/memzero.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strtcpy.h" +#include "string/strdup/xstrdup.h" #include "time/day_to_str.h" - /* * exit status values */ @@ -211,7 +213,7 @@ static int new_password (const struct passwd *pw) return -1; } - if (strcmp (cipher, crypt_passwd) != 0) { + if (!streq(cipher, crypt_passwd)) { erase_pass (clear); strzero (cipher); SYSLOG ((LOG_WARN, "incorrect password for %s", @@ -226,7 +228,7 @@ static int new_password (const struct passwd *pw) erase_pass (clear); strzero (cipher); } else { - orig[0] = '\0'; + strcpy(orig, ""); } /* @@ -241,16 +243,16 @@ static int new_password (const struct passwd *pw) pass_max_len = getdef_num ("PASS_MAX_LEN", 8); } } else { - if ( (strcmp (method, "MD5") == 0) + if ( streq(method, "MD5") #ifdef USE_SHA_CRYPT - || (strcmp (method, "SHA256") == 0) - || (strcmp (method, "SHA512") == 0) + || streq(method, "SHA256") + || streq(method, "SHA512") #endif /* USE_SHA_CRYPT */ #ifdef USE_BCRYPT - || (strcmp (method, "BCRYPT") == 0) + || streq(method, "BCRYPT") #endif /* USE_BCRYPT*/ #ifdef USE_YESCRYPT - || (strcmp (method, "YESCRYPT") == 0) + || streq(method, "YESCRYPT") #endif /* USE_YESCRYPT*/ ) { @@ -297,7 +299,7 @@ static int new_password (const struct passwd *pw) MEMZERO(pass); return -1; } - if (warned && (strcmp (pass, cp) != 0)) { + if (warned && !streq(pass, cp)) { warned = false; } ret = STRTCPY (pass, cp); @@ -331,7 +333,7 @@ static int new_password (const struct passwd *pw) MEMZERO(pass); return -1; } - if (strcmp (cp, pass) != 0) { + if (!streq(cp, pass)) { erase_pass (cp); (void) fputs (_("They don't match; try again.\n"), stderr); } else { @@ -514,9 +516,8 @@ static char *update_crypt_pw (char *cp) } } - if (dflg) { - *cp = '\0'; - } + if (dflg) + strcpy(cp, ""); if (uflg && *cp == '!') { if (cp[1] == '\0') { @@ -531,10 +532,9 @@ static char *update_crypt_pw (char *cp) } if (lflg && *cp != '!') { - char *newpw = XMALLOC(strlen(cp) + 2, char); + char *newpw; - strcpy (newpw, "!"); - strcat (newpw, cp); + xasprintf(&newpw, "!%s", cp); if (!use_pam) { if (do_update_pwd) { @@ -723,7 +723,8 @@ static void update_shadow (void) * appropriate internal format. For finer resolute the chage * command must be used. */ -int main (int argc, char **argv) +int +main(int argc, char **argv) { const struct passwd *pw; /* Password file entry for user */ @@ -801,8 +802,9 @@ int main (int argc, char **argv) usage (E_SUCCESS); /*@notreached@*/break; case 'i': - if ( (str2sl(&inact, optarg) == -1) - || (inact < -1)) { + if (a2sl(&inact, optarg, NULL, 0, -1, LONG_MAX) + == -1) + { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -820,8 +822,9 @@ int main (int argc, char **argv) anyflag = true; break; case 'n': - if ( (str2sl(&age_min, optarg) == -1) - || (age_min < -1)) { + if (a2sl(&age_min, optarg, NULL, 0, -1, LONG_MAX) + == -1) + { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -836,7 +839,7 @@ int main (int argc, char **argv) case 'r': /* -r repository (files|nis|nisplus) */ /* only "files" supported for now */ - if (strcmp (optarg, "files") != 0) { + if (!streq(optarg, "files")) { fprintf (stderr, _("%s: repository %s not supported\n"), Prog, optarg); @@ -855,8 +858,9 @@ int main (int argc, char **argv) anyflag = true; break; case 'w': - if ( (str2sl(&warn, optarg) == -1) - || (warn < -1)) { + if (a2sl(&warn, optarg, NULL, 0, -1, LONG_MAX) + == -1) + { (void) fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -866,8 +870,9 @@ int main (int argc, char **argv) anyflag = true; break; case 'x': - if ( (str2sl(&age_max, optarg) == -1) - || (age_max < -1)) { + if (a2sl(&age_max, optarg, NULL, 0, -1, LONG_MAX) + == -1) + { (void) fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -907,6 +912,10 @@ int main (int argc, char **argv) } myname = xstrdup (pw->pw_name); if (optind < argc) { + if (!is_valid_user_name (argv[optind])) { + fprintf (stderr, _("%s: Provided user name is not a valid name\n"), Prog); + fail_exit (E_NOPERM); + } name = argv[optind]; } else { name = myname; diff --git a/src/pwck.c b/src/pwck.c index 70ff5e68..271a2c21 100644 --- a/src/pwck.c +++ b/src/pwck.c @@ -13,23 +13,26 @@ #ident "$Id$" #include +#include #include #include #include -#include + #include "chkname.h" #include "commonio.h" #include "defines.h" +#include "getdef.h" +#include "nscd.h" #include "prototypes.h" #include "pwio.h" #include "shadowio.h" -#include "getdef.h" -#include "nscd.h" +#include "shadowlog.h" #include "sssd.h" +#include "string/strcmp/streq.h" #ifdef WITH_TCB #include "tcbfuncs.h" #endif /* WITH_TCB */ -#include "shadowlog.h" + /* * Exit codes @@ -447,7 +450,7 @@ static void check_pw_file (int *errors, bool *changed) continue; } - if (strcmp (pwd->pw_name, ent->pw_name) != 0) { + if (!streq(pwd->pw_name, ent->pw_name)) { continue; } @@ -471,9 +474,14 @@ static void check_pw_file (int *errors, bool *changed) * Check for invalid usernames. --marekm */ - if (!is_valid_user_name (pwd->pw_name)) { - printf (_("invalid user name '%s': use --badname to ignore\n"), - pwd->pw_name); + if (!is_valid_user_name(pwd->pw_name)) { + if (errno == EINVAL) { + printf(_("invalid user name '%s': use --badname to ignore\n"), + pwd->pw_name); + } else { + printf(_("invalid user name '%s'\n"), + pwd->pw_name); + } *errors += 1; } @@ -513,7 +521,7 @@ static void check_pw_file (int *errors, bool *changed) /* * Home directory does not exist, give a warning (unless intentional) */ - if (NULL == nonexistent || strcmp (pwd->pw_dir, nonexistent) != 0) { + if (NULL == nonexistent || !streq(pwd->pw_dir, nonexistent)) { printf (_("user '%s': directory '%s' does not exist\n"), pwd->pw_name, pwd->pw_dir); *errors += 1; @@ -639,8 +647,7 @@ static void check_pw_file (int *errors, bool *changed) * Make sure no passwords are in passwd. */ if ( !quiet - && (strcmp (pwd->pw_passwd, - SHADOW_PASSWD_STRING) != 0)) { + && !streq(pwd->pw_passwd, SHADOW_PASSWD_STRING)) { printf (_("user %s has an entry in %s, but its password field in %s is not set to 'x'\n"), pwd->pw_name, spw_dbname (), pw_dbname ()); *errors += 1; @@ -768,7 +775,7 @@ static void check_spw_file (int *errors, bool *changed) continue; } - if (strcmp (spw->sp_namp, ent->sp_namp) != 0) { + if (!streq(spw->sp_namp, ent->sp_namp)) { continue; } diff --git a/src/pwconv.c b/src/pwconv.c index 7dd327ae..1bb92752 100644 --- a/src/pwconv.c +++ b/src/pwconv.c @@ -47,12 +47,14 @@ #include "defines.h" #include "getdef.h" +#include "nscd.h" #include "prototypes.h" #include "pwio.h" -#include "shadowio.h" -#include "nscd.h" #include "sssd.h" +#include "shadowio.h" #include "shadowlog.h" +#include "string/strcmp/streq.h" + /* * exit status values @@ -231,7 +233,7 @@ int main (int argc, char **argv) sp = spw_locate (pw->pw_name); if (NULL != sp) { /* do we need to update this entry? */ - if (strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING) == 0) { + if (streq(pw->pw_passwd, SHADOW_PASSWD_STRING)) { continue; } /* update existing shadow entry */ diff --git a/src/pwunconv.c b/src/pwunconv.c index fe18113a..2e4d3d75 100644 --- a/src/pwunconv.c +++ b/src/pwunconv.c @@ -17,16 +17,19 @@ #include #include #include + #include "defines.h" +/*@-exitarg@*/ +#include "exitcodes.h" #include "getdef.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" #include "pwio.h" #include "shadowio.h" -/*@-exitarg@*/ -#include "exitcodes.h" #include "shadowlog.h" +#include "sssd.h" +#include "string/strcmp/streq.h" + /* * Global variables @@ -180,7 +183,7 @@ int main (int argc, char **argv) /* * Update password if non-shadow is "x". */ - if (strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING) == 0) { + if (streq(pw->pw_passwd, SHADOW_PASSWD_STRING)) { pwent.pw_passwd = spwd->sp_pwdp; } diff --git a/src/su.c b/src/su.c index 80c08597..67195ea0 100644 --- a/src/su.c +++ b/src/su.c @@ -46,21 +46,24 @@ #include #endif /* !USE_PAM */ -#include "alloc.h" +#include "alloc/x/xmalloc.h" #include "attr.h" #include "cast.h" -#include "prototypes.h" #include "defines.h" -#include "pwauth.h" +/*@-exitarg@*/ +#include "exitcodes.h" #include "getdef.h" #ifdef USE_PAM #include "pam_defs.h" #endif /* USE_PAM */ -/*@-exitarg@*/ -#include "exitcodes.h" +#include "pwauth.h" +#include "prototypes.h" #include "shadowlog.h" -#include "string/sprintf.h" -#include "string/strtcpy.h" +#include "string/sprintf/snprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" +#include "string/strcpy/strtcpy.h" +#include "string/strdup/xstrdup.h" /* @@ -126,7 +129,7 @@ static void check_perms_pam (const struct passwd *pw); #else /* !USE_PAM */ static void check_perms_nopam (const struct passwd *pw); #endif /* !USE_PAM */ -static void save_caller_context (char **argv); +static void save_caller_context(void); static void process_flags (int argc, char **argv); static void set_environment (struct passwd *pw); @@ -184,7 +187,7 @@ static bool restricted_shell (const char *shellname) setusershell (); while ((line = getusershell ()) != NULL) { - if (('#' != *line) && (strcmp (line, shellname) == 0)) { + if (('#' != *line) && streq(line, shellname)) { endusershell (); return false; } @@ -509,17 +512,17 @@ static void check_perms_nopam (const struct passwd *pw) return; } - if (strcmp (pw->pw_passwd, "") == 0) { + if (streq(pw->pw_passwd, "")) { const char *prevent_no_auth = getdef_str("PREVENT_NO_AUTH"); if (prevent_no_auth == NULL) { prevent_no_auth = "superuser"; } - if (strcmp(prevent_no_auth, "yes") == 0) { + if (streq(prevent_no_auth, "yes")) { fprintf(stderr, _("Password field is empty, this is forbidden for all accounts.\n")); exit(1); } else if ((pw->pw_uid == 0) - && (strcmp(prevent_no_auth, "superuser") == 0)) { + && streq(prevent_no_auth, "superuser")) { fprintf(stderr, _("Password field is empty, this is forbidden for super-user.\n")); exit(1); } @@ -553,7 +556,7 @@ static void check_perms_nopam (const struct passwd *pw) } spwd = getspnam (name); /* !USE_PAM, no need for xgetspnam */ #ifdef SU_ACCESS - if (strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING) == 0) { + if (streq(pw->pw_passwd, SHADOW_PASSWD_STRING)) { if (NULL != spwd) { password = spwd->sp_pwdp; } @@ -678,7 +681,7 @@ static /*@only@*/struct passwd * do_check_perms (void) su_failure (caller_tty, 0 == pw->pw_uid); } tmp_name = item; - if (strcmp (name, tmp_name) != 0) { + if (!streq(name, tmp_name)) { SYSLOG ((LOG_INFO, "Change user from '%s' to '%s' as requested by PAM", name, tmp_name)); @@ -722,6 +725,7 @@ static /*@only@*/struct passwd * do_check_perms (void) return pw; } + /* * save_caller_context - save information from the call context * @@ -730,7 +734,8 @@ static /*@only@*/struct passwd * do_check_perms (void) * the TTY (ttyp), and whether su was called from a console * (is_console) for further processing and before they might change. */ -static void save_caller_context (char **argv) +static void +save_caller_context(void) { struct passwd *pw = NULL; #ifndef USE_PAM @@ -788,7 +793,7 @@ static void save_caller_context (char **argv) * -- chris */ password = pw->pw_passwd; - if (strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING) == 0) { + if (streq(pw->pw_passwd, SHADOW_PASSWD_STRING)) { const struct spwd *spwd = getspnam (caller_name); if (NULL != spwd) { password = spwd->sp_pwdp; @@ -801,6 +806,7 @@ static void save_caller_context (char **argv) pw_free (pw); } + /* * process_flags - Process the command line arguments * @@ -848,7 +854,7 @@ static void process_flags (int argc, char **argv) } } - if ((optind < argc) && (strcmp (argv[optind], "-") == 0)) { + if ((optind < argc) && streq(argv[optind], "-")) { fakelogin = true; optind++; } @@ -1013,7 +1019,7 @@ int main (int argc, char **argv) (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); - save_caller_context (argv); + save_caller_context(); OPENLOG (Prog); @@ -1198,17 +1204,14 @@ int main (int argc, char **argv) * case they will be provided to the new user's shell as arguments. */ if (fakelogin) { - char *arg0; + char *arg0; cp = getdef_str ("SU_NAME"); if (NULL == cp) { cp = Basename (shellstr); } - arg0 = XMALLOC(strlen(cp) + 2, char); - arg0[0] = '-'; - strcpy (arg0 + 1, cp); - cp = arg0; + xasprintf(&arg0, "-%s", cp); } else { cp = Basename (shellstr); } diff --git a/src/suauth.c b/src/suauth.c index 4d631904..936b3a2f 100644 --- a/src/suauth.c +++ b/src/suauth.c @@ -8,13 +8,21 @@ */ #include + #include #include #include #include +#include #include + #include "defines.h" #include "prototypes.h" +#include "string/strchr/stpspn.h" +#include "string/strchr/strrspn.h" +#include "string/strcmp/streq.h" +#include "string/strtok/stpsep.h" + #ifndef SUAUTHFILE #define SUAUTHFILE "/etc/suauth" @@ -37,12 +45,9 @@ static int isgrp (const char *, const char *); static int lines = 0; -int check_su_auth (const char *actual_id, - const char *wanted_id, - bool su_to_root) +int +check_su_auth(const char *actual_id, const char *wanted_id, bool su_to_root) { - int posn, endline; - const char field[] = ":"; FILE *authfile_fd; char temp[1024]; char *to_users; @@ -67,34 +72,27 @@ int check_su_auth (const char *actual_id, } while (fgets (temp, sizeof (temp), authfile_fd) != NULL) { - lines++; - endline = strlen(temp) - 1; + char *p; - if (temp[0] == '\0' || temp[endline] != '\n') { + lines++; + + if (stpsep(temp, "\n") == NULL) { SYSLOG ((LOG_ERR, "%s, line %d: line too long or missing newline", SUAUTHFILE, lines)); continue; } - while (endline > 0 && (temp[endline - 1] == ' ' - || temp[endline - 1] == '\t' - || temp[endline - 1] == '\n')) - endline--; - temp[endline] = '\0'; + stpcpy(strrspn(temp, " \t"), ""); - posn = 0; - while (temp[posn] == ' ' || temp[posn] == '\t') - posn++; - - if (temp[posn] == '\n' || temp[posn] == '#' - || temp[posn] == '\0') { + p = stpspn(temp, " \t"); + if (*p == '#' || *p == '\0') continue; - } - if (!(to_users = strtok (temp + posn, field)) - || !(from_users = strtok (NULL, field)) - || !(action = strtok (NULL, field)) - || strtok (NULL, field)) { + + to_users = strsep(&p, ":"); + from_users = strsep(&p, ":"); + action = strsep(&p, ":"); + if (action == NULL || p != NULL) { SYSLOG ((LOG_ERR, "%s, line %d. Bad number of fields.\n", SUAUTHFILE, lines)); @@ -105,7 +103,7 @@ int check_su_auth (const char *actual_id, continue; if (!applies (actual_id, from_users)) continue; - if (!strcmp (action, "DENY")) { + if (streq(action, "DENY")) { SYSLOG ((su_to_root ? LOG_WARN : LOG_NOTICE, "DENIED su from '%s' to '%s' (%s)\n", actual_id, wanted_id, SUAUTHFILE)); @@ -113,14 +111,14 @@ int check_su_auth (const char *actual_id, stderr); fclose (authfile_fd); return DENY; - } else if (!strcmp (action, "NOPASS")) { + } else if (streq(action, "NOPASS")) { SYSLOG ((su_to_root ? LOG_NOTICE : LOG_INFO, "NO password asked for su from '%s' to '%s' (%s)\n", actual_id, wanted_id, SUAUTHFILE)); fputs (_("Password authentication bypassed.\n"),stderr); fclose (authfile_fd); return NOPWORD; - } else if (!strcmp (action, "OWNPASS")) { + } else if (streq(action, "OWNPASS")) { SYSLOG ((su_to_root ? LOG_NOTICE : LOG_INFO, "su from '%s' to '%s': asking for user's own password (%s)\n", actual_id, wanted_id, SUAUTHFILE)); @@ -138,17 +136,16 @@ int check_su_auth (const char *actual_id, return NOACTION; } -static int applies (const char *single, char *list) +static int +applies(const char *single, char *list) { - const char split[] = ", "; char *tok; int state = 0; - for (tok = strtok (list, split); tok != NULL; - tok = strtok (NULL, split)) { + while (NULL != (tok = strsep(&list, ", "))) { - if (!strcmp (tok, "ALL")) { + if (streq(tok, "ALL")) { if (state != 0) { SYSLOG ((LOG_ERR, "%s, line %d: ALL in bad place\n", @@ -156,7 +153,7 @@ static int applies (const char *single, char *list) return 0; } state = 1; - } else if (!strcmp (tok, "EXCEPT")) { + } else if (streq(tok, "EXCEPT")) { if (state != 1) { SYSLOG ((LOG_ERR, "%s, line %d: EXCEPT in bas place\n", @@ -164,7 +161,7 @@ static int applies (const char *single, char *list) return 0; } state = 2; - } else if (!strcmp (tok, "GROUP")) { + } else if (streq(tok, "GROUP")) { if ((state != 0) && (state != 2)) { SYSLOG ((LOG_ERR, "%s, line %d: GROUP in bad place\n", @@ -175,7 +172,7 @@ static int applies (const char *single, char *list) } else { switch (state) { case 0: /* No control words yet */ - if (!strcmp (tok, single)) + if (streq(tok, single)) return 1; break; case 1: /* An all */ @@ -184,7 +181,7 @@ static int applies (const char *single, char *list) SUAUTHFILE, lines)); return 0; case 2: /* All except */ - if (!strcmp (tok, single)) + if (streq(tok, single)) return 0; break; case 3: /* Group */ diff --git a/src/sulogin.c b/src/sulogin.c index 20971743..6af471b5 100644 --- a/src/sulogin.c +++ b/src/sulogin.c @@ -19,7 +19,6 @@ #include #include "agetpass.h" -#include "alloc.h" #include "attr.h" #include "defines.h" #include "getdef.h" @@ -28,6 +27,7 @@ /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/strdup/xstrdup.h" /* diff --git a/src/useradd.c b/src/useradd.c index 347334a6..891fd142 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -36,16 +36,15 @@ #include #include -#include "alloc.h" -#include "atoi/str2i.h" +#include "alloc/x/xmalloc.h" +#include "atoi/a2i/a2s.h" +#include "atoi/getnum.h" #include "chkname.h" #include "defines.h" #include "faillog.h" #include "getdef.h" #include "groupio.h" -#include "memzero.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" #include "pwauth.h" #include "pwio.h" @@ -64,7 +63,13 @@ #include "tcbfuncs.h" #endif #include "shadowlog.h" -#include "string/sprintf.h" +#include "sssd.h" +#include "string/memset/memzero.h" +#include "string/sprintf/snprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" +#include "string/strdup/xstrdup.h" +#include "string/strtok/stpsep.h" #ifndef SKEL_DIR @@ -197,16 +202,16 @@ static bool home_added = false; #define E_SUB_GID_UPDATE 18 /* can't update the subordinate gid file */ #endif /* ENABLE_SUBIDS */ -#define DGROUP "GROUP=" -#define DGROUPS "GROUPS=" -#define DHOME "HOME=" -#define DSHELL "SHELL=" -#define DINACT "INACTIVE=" -#define DEXPIRE "EXPIRE=" -#define DSKEL "SKEL=" -#define DUSRSKEL "USRSKEL=" -#define DCREATE_MAIL_SPOOL "CREATE_MAIL_SPOOL=" -#define DLOG_INIT "LOG_INIT=" +#define DGROUP "GROUP" +#define DGROUPS "GROUPS" +#define DHOME "HOME" +#define DSHELL "SHELL" +#define DINACT "INACTIVE" +#define DEXPIRE "EXPIRE" +#define DSKEL "SKEL" +#define DUSRSKEL "USRSKEL" +#define DCREATE_MAIL_SPOOL "CREATE_MAIL_SPOOL" +#define DLOG_INIT "LOG_INIT" /* local function prototypes */ NORETURN static void fail_exit (int); @@ -238,7 +243,7 @@ static void create_home (void); static void create_mail (void); static void check_uid_range(int rflg, uid_t user_id); -static FILE *fmkstemp(char *template); +static FILE *fmkomstemp(char *template, unsigned int flags, mode_t m); /* @@ -322,8 +327,6 @@ static void fail_exit (int code) exit(code); } -#define MATCH(x,y) (strncmp((x),(y),strlen(y)) == 0) - /* * get_defaults - read the defaults file * @@ -331,7 +334,8 @@ static void fail_exit (int code) * various values from the file, or uses built-in default values if the * file does not exist. */ -static void get_defaults (void) +static void +get_defaults(void) { FILE *fp; char *default_file = USER_DEFAULTS_FILE; @@ -358,29 +362,23 @@ static void get_defaults (void) * values are used, everything else can be ignored. */ while (fgets (buf, sizeof buf, fp) == buf) { - cp = strrchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } + stpsep(buf, "\n"); - cp = strchr (buf, '='); - if (NULL == cp) { + cp = stpsep(buf, "="); + if (NULL == cp) continue; - } - - cp++; /* * Primary GROUP identifier */ - if (MATCH (buf, DGROUP)) { + if (streq(buf, DGROUP)) { const struct group *grp = prefix_getgr_nam_gid (cp); if (NULL == grp) { fprintf (stderr, _("%s: group '%s' does not exist\n"), Prog, cp); fprintf (stderr, - _("%s: the %s configuration in %s will be ignored\n"), + _("%s: the %s= configuration in %s will be ignored\n"), Prog, DGROUP, default_file); } else { def_group = grp->gr_gid; @@ -390,10 +388,10 @@ static void get_defaults (void) ccp = cp; - if (MATCH (buf, DGROUPS)) { + if (streq(buf, DGROUPS)) { if (get_groups (cp) != 0) { fprintf (stderr, - _("%s: the '%s' configuration in %s has an invalid group, ignoring the bad group\n"), + _("%s: the '%s=' configuration in %s has an invalid group, ignoring the bad group\n"), Prog, DGROUPS, default_file); } if (user_groups[0] != NULL) { @@ -404,28 +402,27 @@ static void get_defaults (void) /* * Default HOME filesystem */ - else if (MATCH (buf, DHOME)) { + else if (streq(buf, DHOME)) { def_home = xstrdup(ccp); } /* * Default Login Shell command */ - else if (MATCH (buf, DSHELL)) { + else if (streq(buf, DSHELL)) { def_shell = xstrdup(ccp); } /* * Default Password Inactive value */ - else if (MATCH (buf, DINACT)) { - if ( (str2sl(&def_inactive, ccp) == -1) - || (def_inactive < -1)) { + else if (streq(buf, DINACT)) { + if (a2sl(&def_inactive, ccp, NULL, 0, -1, LONG_MAX) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, ccp); fprintf (stderr, - _("%s: the %s configuration in %s will be ignored\n"), + _("%s: the %s= configuration in %s will be ignored\n"), Prog, DINACT, default_file); def_inactive = -1; } @@ -434,14 +431,14 @@ static void get_defaults (void) /* * Default account expiration date */ - else if (MATCH (buf, DEXPIRE)) { + else if (streq(buf, DEXPIRE)) { def_expire = xstrdup(ccp); } /* * Default Skeleton information */ - else if (MATCH (buf, DSKEL)) { + else if (streq(buf, DSKEL)) { if ('\0' == *ccp) ccp = SKEL_DIR; @@ -458,7 +455,7 @@ static void get_defaults (void) /* * Default Usr Skeleton information */ - else if (MATCH (buf, DUSRSKEL)) { + else if (streq(buf, DUSRSKEL)) { if ('\0' == *ccp) ccp = USRSKELDIR; @@ -474,7 +471,7 @@ static void get_defaults (void) /* * Create by default user mail spool or not ? */ - else if (MATCH (buf, DCREATE_MAIL_SPOOL)) { + else if (streq(buf, DCREATE_MAIL_SPOOL)) { if (*ccp == '\0') ccp = "no"; @@ -484,7 +481,7 @@ static void get_defaults (void) /* * By default do we add the user to the lastlog and faillog databases ? */ - else if (MATCH (buf, DLOG_INIT)) { + else if (streq(buf, DLOG_INIT)) { if (*ccp == '\0') ccp = def_log_init; @@ -525,7 +522,8 @@ static void show_defaults (void) * are currently set. Duplicated lines are pruned, missing lines are * added, and unrecognized lines are copied as is. */ -static int set_defaults (void) +static int +set_defaults(void) { int ret = -1; bool out_group = false; @@ -584,7 +582,7 @@ static int set_defaults (void) /* * Create a temporary file to copy the new output to. */ - ofp = fmkstemp(new_file); + ofp = fmkomstemp(new_file, 0, 0644); if (NULL == ofp) { fprintf (stderr, _("%s: cannot open new defaults file\n"), @@ -604,10 +602,9 @@ static int set_defaults (void) } while (fgets (buf, sizeof buf, ifp) == buf) { - cp = strrchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } else { + char *val; + + if (stpsep(buf, "\n") == NULL) { /* A line which does not end with \n is only valid * at the end of the file. */ @@ -621,44 +618,46 @@ static int set_defaults (void) } } - if (!out_group && MATCH (buf, DGROUP)) { - fprintf (ofp, DGROUP "%u\n", (unsigned int) def_group); + val = stpsep(buf, "="); + if (val == NULL) { + fprintf(ofp, "%s\n", buf); + } else if (!out_group && streq(buf, DGROUP)) { + fprintf(ofp, DGROUP "=%u\n", (unsigned int) def_group); out_group = true; - } else if (!out_groups && MATCH (buf, DGROUPS)) { - fprintf (ofp, DGROUPS "%s\n", def_groups); + } else if (!out_groups && streq(buf, DGROUPS)) { + fprintf(ofp, DGROUPS "=%s\n", def_groups); out_groups = true; - } else if (!out_home && MATCH (buf, DHOME)) { - fprintf (ofp, DHOME "%s\n", def_home); + } else if (!out_home && streq(buf, DHOME)) { + fprintf(ofp, DHOME "=%s\n", def_home); out_home = true; - } else if (!out_inactive && MATCH (buf, DINACT)) { - fprintf (ofp, DINACT "%ld\n", def_inactive); + } else if (!out_inactive && streq(buf, DINACT)) { + fprintf(ofp, DINACT "=%ld\n", def_inactive); out_inactive = true; - } else if (!out_expire && MATCH (buf, DEXPIRE)) { - fprintf (ofp, DEXPIRE "%s\n", def_expire); + } else if (!out_expire && streq(buf, DEXPIRE)) { + fprintf(ofp, DEXPIRE "=%s\n", def_expire); out_expire = true; - } else if (!out_shell && MATCH (buf, DSHELL)) { - fprintf (ofp, DSHELL "%s\n", def_shell); + } else if (!out_shell && streq(buf, DSHELL)) { + fprintf(ofp, DSHELL "=%s\n", def_shell); out_shell = true; - } else if (!out_skel && MATCH (buf, DSKEL)) { - fprintf (ofp, DSKEL "%s\n", def_template); + } else if (!out_skel && streq(buf, DSKEL)) { + fprintf(ofp, DSKEL "=%s\n", def_template); out_skel = true; - } else if (!out_usrskel && MATCH (buf, DUSRSKEL)) { - fprintf (ofp, DUSRSKEL "%s\n", def_usrtemplate); + } else if (!out_usrskel && streq(buf, DUSRSKEL)) { + fprintf(ofp, DUSRSKEL "=%s\n", def_usrtemplate); out_usrskel = true; } else if (!out_create_mail_spool - && MATCH (buf, DCREATE_MAIL_SPOOL)) { - fprintf (ofp, - DCREATE_MAIL_SPOOL "%s\n", - def_create_mail_spool); + && streq(buf, DCREATE_MAIL_SPOOL)) + { + fprintf(ofp, + DCREATE_MAIL_SPOOL "=%s\n", + def_create_mail_spool); out_create_mail_spool = true; - } else if (!out_log_init - && MATCH (buf, DLOG_INIT)) { - fprintf (ofp, - DLOG_INIT "%s\n", - def_log_init); + } else if (!out_log_init && streq(buf, DLOG_INIT)) { + fprintf(ofp, DLOG_INIT "=%s\n", def_log_init); out_log_init = true; - } else - fprintf (ofp, "%s\n", buf); + } else { + fprintf(ofp, "%s=%s\n", buf, val); + } } (void) fclose (ifp); @@ -669,26 +668,26 @@ static int set_defaults (void) * have an entry for that value. */ if (!out_group) - fprintf (ofp, DGROUP "%u\n", (unsigned int) def_group); + fprintf (ofp, DGROUP "=%u\n", (unsigned int) def_group); if (!out_groups) - fprintf (ofp, DGROUPS "%s\n", def_groups); + fprintf (ofp, DGROUPS "=%s\n", def_groups); if (!out_home) - fprintf (ofp, DHOME "%s\n", def_home); + fprintf (ofp, DHOME "=%s\n", def_home); if (!out_inactive) - fprintf (ofp, DINACT "%ld\n", def_inactive); + fprintf (ofp, DINACT "=%ld\n", def_inactive); if (!out_expire) - fprintf (ofp, DEXPIRE "%s\n", def_expire); + fprintf (ofp, DEXPIRE "=%s\n", def_expire); if (!out_shell) - fprintf (ofp, DSHELL "%s\n", def_shell); + fprintf (ofp, DSHELL "=%s\n", def_shell); if (!out_skel) - fprintf (ofp, DSKEL "%s\n", def_template); + fprintf (ofp, DSKEL "=%s\n", def_template); if (!out_usrskel) - fprintf (ofp, DUSRSKEL "%s\n", def_usrtemplate); + fprintf (ofp, DUSRSKEL "=%s\n", def_usrtemplate); if (!out_create_mail_spool) - fprintf (ofp, DCREATE_MAIL_SPOOL "%s\n", def_create_mail_spool); + fprintf (ofp, DCREATE_MAIL_SPOOL "=%s\n", def_create_mail_spool); if (!out_log_init) - fprintf (ofp, DLOG_INIT "%s\n", def_log_init); + fprintf (ofp, DLOG_INIT "=%s\n", def_log_init); /* * Flush and close the file. Check for errors to make certain * the new file is intact. @@ -758,11 +757,19 @@ err_free_new: */ static int get_groups (char *list) { - char *cp; struct group *grp; int errors = 0; int ngroups = 0; + /* + * Free previous group list before creating a new one. + */ + int i = 0; + while (NULL != user_groups[i]) { + free(user_groups[i]); + user_groups[i++] = NULL; + } + if ('\0' == *list) { return 0; } @@ -777,20 +784,19 @@ static int get_groups (char *list) * each name and look it up. A mix of numerical and string * values for group identifiers is permitted. */ - do { + while (NULL != list) { + char *g; + /* * Strip off a single name from the list */ - cp = strchr (list, ','); - if (NULL != cp) { - *cp++ = '\0'; - } + g = strsep(&list, ","); /* * Names starting with digits are treated as numerical * GID values, otherwise the string is looked up as is. */ - grp = get_local_group (list); + grp = get_local_group(g); /* * There must be a match, either by GID value or by @@ -801,10 +807,9 @@ static int get_groups (char *list) if (NULL == grp) { fprintf (stderr, _("%s: group '%s' does not exist\n"), - Prog, list); + Prog, g); errors++; } - list = cp; /* * If the group doesn't exist, don't dump core... @@ -827,7 +832,7 @@ static int get_groups (char *list) */ user_groups[ngroups++] = xstrdup (grp->gr_name); gr_free (grp); - } while (NULL != list); + } close_group_files (); unlock_group_files (); @@ -853,21 +858,14 @@ static int get_groups (char *list) */ static struct group * get_local_group(char * grp_name) { - char *end; - const struct group *grp; - struct group *result_grp = NULL; - long long gid; + gid_t gid; + struct group *result_grp = NULL; + const struct group *grp; - gid = strtoll(grp_name, &end, 10); - if ( ('\0' != *grp_name) - && ('\0' == *end) - && (ERANGE != errno) - && (gid == (gid_t)gid)) { - grp = gr_locate_gid (gid); - } - else { + if (get_gid(grp_name, &gid) == 0) + grp = gr_locate_gid(gid); + else grp = gr_locate(grp_name); - } if (grp != NULL) { result_grp = __gr_dup (grp); @@ -1298,8 +1296,9 @@ static void process_flags (int argc, char **argv) eflg = true; break; case 'f': - if ( (str2sl(&def_inactive, optarg) == -1) - || (def_inactive < -1)) { + if (a2sl(&def_inactive, optarg, NULL, 0, -1, LONG_MAX) + == -1) + { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -1360,16 +1359,13 @@ static void process_flags (int argc, char **argv) * example: -K UID_MIN=100 -K UID_MAX=499 * note: -K UID_MIN=10,UID_MAX=499 doesn't work yet */ - cp = strchr (optarg, '='); + cp = stpsep(optarg, "="); if (NULL == cp) { fprintf (stderr, _("%s: -K requires KEY=VALUE\n"), Prog); exit (E_BAD_ARG); } - /* terminate name, point to value */ - *cp = '\0'; - cp++; if (putdef_str (optarg, cp, NULL) < 0) { exit (E_BAD_ARG); } @@ -1417,7 +1413,7 @@ static void process_flags (int argc, char **argv) } if ( '\0' != optarg[0] && '*' != optarg[0] - && strcmp(optarg, "/sbin/nologin") != 0 + && !streq(optarg, "/sbin/nologin") && ( stat(optarg, &st) != 0 || S_ISDIR(st.st_mode) || access(optarg, X_OK) != 0)) { @@ -1537,10 +1533,16 @@ static void process_flags (int argc, char **argv) } user_name = argv[optind]; - if (!is_valid_user_name (user_name)) { - fprintf (stderr, - _("%s: invalid user name '%s': use --badname to ignore\n"), - Prog, user_name); + if (!is_valid_user_name(user_name)) { + if (errno == EINVAL) { + fprintf(stderr, + _("%s: invalid user name '%s': use --badname to ignore\n"), + Prog, user_name); + } else { + fprintf(stderr, + _("%s: invalid user name '%s'\n"), + Prog, user_name); + } #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_USER, Prog, "adding user", @@ -1582,7 +1584,7 @@ static void process_flags (int argc, char **argv) if (!lflg) { /* If we are missing the flag lflg aka -l, check the defaults * file to see if we need to disable it as a default*/ - if (strcmp (def_log_init, "no") == 0) { + if (streq(def_log_init, "no")) { lflg = true; } } @@ -2050,7 +2052,7 @@ static void lastlog_reset (uid_t uid) return; } if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid) - || (write_full (fd, &ll, sizeof (ll)) != (ssize_t) sizeof (ll)) + || (write_full (fd, &ll, sizeof (ll)) == -1) || (fsync (fd) != 0)) { fprintf (stderr, _("%s: failed to reset the lastlog entry of UID %lu: %s\n"), @@ -2089,11 +2091,7 @@ static void tallylog_reset (const char *user_name) failed = 1; break; case 0: /* child */ - pname = strrchr(pam_tally2, '/'); - if (pname == NULL) - pname = pam_tally2; - else - pname++; /* Skip the '/' */ + pname = Basename(pam_tally2); execl(pam_tally2, pname, "--user", user_name, "--reset", "--quiet", NULL); /* If we come here, something has gone terribly wrong */ perror(pam_tally2); @@ -2237,7 +2235,7 @@ static void create_home (void) if (access (prefix_user_home, F_OK) == 0) return; - path[0] = '\0'; + strcpy(path, ""); bhome = strdup(prefix_user_home); if (!bhome) { fprintf(stderr, @@ -2283,7 +2281,7 @@ static void create_home (void) Prog, path); fail_exit(E_HOMEDIR); } - btrfs_check[strlen(path) - strlen(cp) - 1] = '\0'; + stpcpy(&btrfs_check[strlen(path) - strlen(cp) - 1], ""); if (is_btrfs(btrfs_check) <= 0) { fprintf(stderr, _("%s: home directory \"%s\" must be mounted on BTRFS\n"), @@ -2749,21 +2747,25 @@ int main (int argc, char **argv) static FILE * -fmkstemp(char *template) +fmkomstemp(char *template, unsigned int flags, mode_t m) { int fd; FILE *fp; - fd = mkstemp(template); + fd = mkostemp(template, flags); if (fd == -1) return NULL; + if (fchmod(fd, m) == -1) + goto fail; + fp = fdopen(fd, "w"); - if (fp == NULL) { - close(fd); - unlink(template); - return NULL; - } + if (fp == NULL) + goto fail; return fp; +fail: + close(fd); + unlink(template); + return NULL; } diff --git a/src/userdel.c b/src/userdel.c index ff1f7ddf..6552c5ae 100644 --- a/src/userdel.c +++ b/src/userdel.c @@ -20,7 +20,6 @@ #include #include -#include "alloc.h" #ifdef ACCT_TOOLS_SETUID #ifdef USE_PAM #include "pam_defs.h" @@ -52,7 +51,9 @@ #include "subordinateio.h" #endif /* ENABLE_SUBIDS */ #include "shadowlog.h" -#include "string/sprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" +#include "string/strdup/xstrdup.h" /* @@ -319,7 +320,7 @@ static void remove_usergroup (void) */ prefix_setpwent (); while ((pwd = prefix_getpwent ()) != NULL) { - if (strcmp (pwd->pw_name, user_name) == 0) { + if (streq(pwd->pw_name, user_name)) { continue; } if (pwd->pw_gid == grp->gr_gid) { @@ -1183,7 +1184,7 @@ int main (int argc, char **argv) */ prefix_setpwent (); while ((pwd = prefix_getpwent ())) { - if (strcmp (pwd->pw_name, user_name) == 0) { + if (streq(pwd->pw_name, user_name)) { continue; } if (path_prefix (user_home, pwd->pw_dir)) { diff --git a/src/usermod.c b/src/usermod.c index f8896984..f33aec31 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -32,16 +32,18 @@ #include #include -#include "alloc.h" -#include "atoi/str2i.h" +#include "alloc/malloc.h" +#include "alloc/x/xmalloc.h" +#include "atoi/a2i/a2i.h" +#include "atoi/a2i/a2s.h" +#include "atoi/getnum.h" #include "chkname.h" #include "defines.h" #include "faillog.h" #include "getdef.h" #include "groupio.h" -#include "memzero.h" +#include "must_be.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" #include "pwauth.h" #include "pwio.h" @@ -59,7 +61,11 @@ #include "tcbfuncs.h" #endif #include "shadowlog.h" -#include "string/sprintf.h" +#include "sssd.h" +#include "string/memset/memzero.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" +#include "string/strdup/xstrdup.h" #include "time/day_to_str.h" @@ -212,7 +218,6 @@ extern int allow_bad_names; */ static int get_groups (char *list) { - char *cp; struct group *grp; int errors = 0; int ngroups = 0; @@ -231,21 +236,19 @@ static int get_groups (char *list) * name and look it up. A mix of numerical and string values for * group identifiers is permitted. */ - do { + while (NULL != list) { + char *g; + /* * Strip off a single name from the list */ - cp = strchr (list, ','); - if (NULL != cp) { - *cp = '\0'; - cp++; - } + g = strsep(&list, ","); /* * Names starting with digits are treated as numerical GID * values, otherwise the string is looked up as is. */ - grp = prefix_getgr_nam_gid (list); + grp = prefix_getgr_nam_gid(g); /* * There must be a match, either by GID value or by @@ -253,10 +256,9 @@ static int get_groups (char *list) */ if (NULL == grp) { fprintf (stderr, _("%s: group '%s' does not exist\n"), - Prog, list); + Prog, g); errors++; } - list = cp; /* * If the group doesn't exist, don't dump core. Instead, @@ -279,7 +281,7 @@ static int get_groups (char *list) */ user_groups[ngroups++] = xstrdup (grp->gr_name); gr_free (grp); - } while (NULL != list); + } user_groups[ngroups] = NULL; @@ -294,63 +296,64 @@ static int get_groups (char *list) } #ifdef ENABLE_SUBIDS -struct ulong_range +struct id_range { - unsigned long first; - unsigned long last; + id_t first; + id_t last; }; -static struct ulong_range getulong_range(const char *str) +static struct id_range +getid_range(const char *str) { - struct ulong_range result = { .first = ULONG_MAX, .last = 0 }; - long long first, last; - char *pos; + id_t first, last; + const char *pos; + struct id_range result = { + .first = type_max(id_t), + .last = type_min(id_t) + }; - errno = 0; - first = strtoll(str, &pos, 10); - if (('\0' == *str) || ('-' != *pos ) || (0 != errno) || - (first != (unsigned long)first)) - goto out; + static_assert(is_same_type(id_t, uid_t), ""); + static_assert(is_same_type(id_t, gid_t), ""); - errno = 0; - last = strtoll(pos + 1, &pos, 10); - if (('\0' != *pos ) || (0 != errno) || - (last != (unsigned long)last)) - goto out; + first = type_min(id_t); + last = type_max(id_t); - if (first > last) - goto out; + if (a2i(id_t, &first, str, &pos, 10, first, last) == -1 + && errno != ENOTSUP) + { + return result; + } - /* - * uid_t in linux is an unsigned int, anything over this is an invalid - * range will be later refused anyway by get_map_ranges(). - */ - if (first > UINT_MAX || last > UINT_MAX) - goto out; + if ('-' != *pos++) + return result; - result.first = (unsigned long)first; - result.last = (unsigned long)last; -out: + if (a2i(id_t, &last, pos, NULL, 10, first, last) == -1) + return result; + + result.first = first; + result.last = last; return result; } -struct ulong_range_list_entry { - struct ulong_range_list_entry *next; - struct ulong_range range; +struct id_range_list_entry { + struct id_range_list_entry *next; + struct id_range range; }; -static struct ulong_range_list_entry *add_sub_uids = NULL, *del_sub_uids = NULL; -static struct ulong_range_list_entry *add_sub_gids = NULL, *del_sub_gids = NULL; +static struct id_range_list_entry *add_sub_uids = NULL, *del_sub_uids = NULL; +static struct id_range_list_entry *add_sub_gids = NULL, *del_sub_gids = NULL; -static int prepend_range(const char *str, struct ulong_range_list_entry **head) +static int +prepend_range(const char *str, struct id_range_list_entry **head) { - struct ulong_range range; - struct ulong_range_list_entry *entry; - range = getulong_range(str); + struct id_range range; + struct id_range_list_entry *entry; + + range = getid_range(str); if (range.first > range.last) return 0; - entry = MALLOC(1, struct ulong_range_list_entry); + entry = MALLOC(1, struct id_range_list_entry); if (!entry) { fprintf (stderr, _("%s: failed to allocate memory: %s\n"), @@ -424,15 +427,14 @@ usage (int status) static char *new_pw_passwd (char *pw_pass) { if (Lflg && ('!' != pw_pass[0])) { - char *buf = XMALLOC(strlen(pw_pass) + 2, char); + char *buf; #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "updating passwd", user_newname, user_newid, 0); #endif SYSLOG ((LOG_INFO, "lock user '%s' password", user_newname)); - strcpy (buf, "!"); - strcat (buf, pw_pass); + xasprintf(&buf, "!%s", pw_pass); pw_pass = buf; } else if (Uflg && pw_pass[0] == '!') { if (pw_pass[1] == '\0') { @@ -494,7 +496,7 @@ static void new_pwent (struct passwd *pwent) * used for this account. */ if ( (!is_shadow_pwd) - || (strcmp (pwent->pw_passwd, SHADOW_PASSWD_STRING) != 0)) { + || !streq(pwent->pw_passwd, SHADOW_PASSWD_STRING)) { pwent->pw_passwd = new_pw_passwd (pwent->pw_passwd); } @@ -981,7 +983,8 @@ static void grp_update (void) * values that the user will be created with accordingly. The values * are checked for sanity. */ -static void process_flags (int argc, char **argv) +static void +process_flags(int argc, char **argv) { struct stat st; bool anyflag = false; @@ -1060,7 +1063,7 @@ static void process_flags (int argc, char **argv) } dflg = true; user_newhome = optarg; - if (user_newhome[0] != '/') { + if ((user_newhome[0] != '/') && !streq(user_newhome, "")) { fprintf (stderr, _("%s: homedir must be an absolute path\n"), Prog); @@ -1078,8 +1081,9 @@ static void process_flags (int argc, char **argv) eflg = true; break; case 'f': - if ( (str2sl(&user_newinactive, optarg) == -1) - || (user_newinactive < -1)) { + if (a2sl(&user_newinactive, optarg, NULL, 0, -1, LONG_MAX) + == -1) + { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -1113,10 +1117,16 @@ static void process_flags (int argc, char **argv) usage (E_SUCCESS); /*@notreached@*/break; case 'l': - if (!is_valid_user_name (optarg)) { - fprintf (stderr, - _("%s: invalid user name '%s': use --badname to ignore\n"), - Prog, optarg); + if (!is_valid_user_name(optarg)) { + if (errno == EINVAL) { + fprintf(stderr, + _("%s: invalid user name '%s': use --badname to ignore\n"), + Prog, optarg); + } else { + fprintf(stderr, + _("%s: invalid user name '%s'\n"), + Prog, optarg); + } exit (E_BAD_ARG); } lflg = true; @@ -1154,7 +1164,7 @@ static void process_flags (int argc, char **argv) } if ( '\0' != optarg[0] && '*' != optarg[0] - && strcmp(optarg, "/sbin/nologin") != 0 + && !streq(optarg, "/sbin/nologin") && ( stat(optarg, &st) != 0 || S_ISDIR(st.st_mode) || access(optarg, X_OK) != 0)) { @@ -1364,10 +1374,10 @@ static void process_flags (int argc, char **argv) gflg = false; } if ( (NULL != user_newshell) - && (strcmp (user_newshell, user_shell) == 0)) { + && streq(user_newshell, user_shell)) { sflg = false; } - if (strcmp (user_newname, user_name) == 0) { + if (streq(user_newname, user_name)) { lflg = false; } if (user_newinactive == user_inactive) { @@ -1377,12 +1387,12 @@ static void process_flags (int argc, char **argv) eflg = false; } if ( (NULL != user_newhome) - && (strcmp (user_newhome, user_home) == 0)) { + && streq(user_newhome, user_home)) { dflg = false; mflg = false; } if ( (NULL != user_newcomment) - && (strcmp (user_newcomment, user_comment) == 0)) { + && streq(user_newcomment, user_comment)) { cflg = false; } @@ -1717,7 +1727,7 @@ static void usr_update (void) spent = *spwd; new_spent (&spent); } else if ( ( pflg - && (strcmp (pwent.pw_passwd, SHADOW_PASSWD_STRING) == 0)) + && streq(pwent.pw_passwd, SHADOW_PASSWD_STRING)) || eflg || fflg) { /* In some cases, we force the creation of a * shadow entry: @@ -1794,7 +1804,7 @@ static void move_home (void) if (access (prefix_user_newhome, F_OK) == 0) { /* - * If the new home directory already exist, the user + * If the new home directory already exists, the user * should not use -m. */ fprintf (stderr, @@ -2241,53 +2251,69 @@ int main (int argc, char **argv) } #ifdef ENABLE_SUBIDS if (Vflg) { - struct ulong_range_list_entry *ptr; + struct id_range_list_entry *ptr; + for (ptr = del_sub_uids; ptr != NULL; ptr = ptr->next) { - unsigned long count = ptr->range.last - ptr->range.first + 1; + id_t count = ptr->range.last - ptr->range.first + 1; + if (sub_uid_remove(user_name, ptr->range.first, count) == 0) { - fprintf (stderr, - _("%s: failed to remove uid range %lu-%lu from '%s'\n"), - Prog, ptr->range.first, ptr->range.last, - sub_uid_dbname ()); + fprintf(stderr, + _("%s: failed to remove uid range %ju-%ju from '%s'\n"), + Prog, + (uintmax_t) ptr->range.first, + (uintmax_t) ptr->range.last, + sub_uid_dbname()); fail_exit (E_SUB_UID_UPDATE); } } } if (vflg) { - struct ulong_range_list_entry *ptr; + struct id_range_list_entry *ptr; + for (ptr = add_sub_uids; ptr != NULL; ptr = ptr->next) { - unsigned long count = ptr->range.last - ptr->range.first + 1; + id_t count = ptr->range.last - ptr->range.first + 1; + if (sub_uid_add(user_name, ptr->range.first, count) == 0) { - fprintf (stderr, - _("%s: failed to add uid range %lu-%lu to '%s'\n"), - Prog, ptr->range.first, ptr->range.last, - sub_uid_dbname ()); + fprintf(stderr, + _("%s: failed to add uid range %ju-%ju to '%s'\n"), + Prog, + (uintmax_t) ptr->range.first, + (uintmax_t) ptr->range.last, + sub_uid_dbname()); fail_exit (E_SUB_UID_UPDATE); } } } if (Wflg) { - struct ulong_range_list_entry *ptr; + struct id_range_list_entry *ptr; + for (ptr = del_sub_gids; ptr != NULL; ptr = ptr->next) { - unsigned long count = ptr->range.last - ptr->range.first + 1; + id_t count = ptr->range.last - ptr->range.first + 1; + if (sub_gid_remove(user_name, ptr->range.first, count) == 0) { - fprintf (stderr, - _("%s: failed to remove gid range %lu-%lu from '%s'\n"), - Prog, ptr->range.first, ptr->range.last, - sub_gid_dbname ()); + fprintf(stderr, + _("%s: failed to remove gid range %ju-%ju from '%s'\n"), + Prog, + (uintmax_t) ptr->range.first, + (uintmax_t) ptr->range.last, + sub_gid_dbname()); fail_exit (E_SUB_GID_UPDATE); } } } if (wflg) { - struct ulong_range_list_entry *ptr; + struct id_range_list_entry *ptr; + for (ptr = add_sub_gids; ptr != NULL; ptr = ptr->next) { - unsigned long count = ptr->range.last - ptr->range.first + 1; + id_t count = ptr->range.last - ptr->range.first + 1; + if (sub_gid_add(user_name, ptr->range.first, count) == 0) { - fprintf (stderr, - _("%s: failed to add gid range %lu-%lu to '%s'\n"), - Prog, ptr->range.first, ptr->range.last, - sub_gid_dbname ()); + fprintf(stderr, + _("%s: failed to add gid range %ju-%ju to '%s'\n"), + Prog, + (uintmax_t) ptr->range.first, + (uintmax_t) ptr->range.last, + sub_gid_dbname()); fail_exit (E_SUB_GID_UPDATE); } } diff --git a/src/vipw.c b/src/vipw.c index c30b32de..a855e0d7 100644 --- a/src/vipw.c +++ b/src/vipw.c @@ -27,12 +27,10 @@ #include #include -#include "alloc.h" #include "defines.h" #include "getdef.h" #include "groupio.h" #include "nscd.h" -#include "sssd.h" #include "prototypes.h" #include "pwio.h" #include "sgroupio.h" @@ -44,7 +42,10 @@ #include "tcbfuncs.h" #endif /* WITH_TCB */ #include "shadowlog.h" -#include "string/sprintf.h" +#include "sssd.h" +#include "string/sprintf/snprintf.h" +#include "string/sprintf/xasprintf.h" +#include "string/strcmp/streq.h" #define MSG_WARN_EDIT_OTHER_FILE _( \ @@ -389,7 +390,7 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) vipwexit (fileedit, 1, 1); } if (st1.st_mtime == st2.st_mtime) { - vipwexit (0, 0, 0); + vipwexit(NULL, 0, 0); } #ifdef WITH_SELINUX /* unset the fscreatecon */ @@ -446,7 +447,7 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) free(to_rename); } #endif /* WITH_TCB */ - vipwexit (0, 0, 1); + vipwexit(NULL, 0, 1); } #ifdef WITH_TCB @@ -471,7 +472,7 @@ int main (int argc, char **argv) bool editshadow = false; bool do_vigr; - do_vigr = (strcmp(Basename(argv[0]), "vigr") == 0); + do_vigr = streq(Basename(argv[0]), "vigr"); Prog = do_vigr ? "vigr" : "vipw"; log_set_progname(Prog); diff --git a/tests/bug332198-test.exp b/tests/bug332198-test.exp deleted file mode 100755 index fd365bb6..00000000 --- a/tests/bug332198-test.exp +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/expect -f - -# This is a script for repeatedly logging into the localhost -# using `rlogin` in order to apparently see a symptoms described -# in bug #332198. -# As described in the bug log, sometimes `rlogind` will fail to -# establish a connection, because it starts "login" process and -# the latter fails with "unable to determine TTY name, got /dev/pts/1" -# message. -# -# BUGS -# -# * the script rlogins to localhost -# * the script doesn't handle passwdord prompt, because it's intended -# to use .rhosts auth and expects shell prompt immediately after -# `rlogin` -# * the regexp for shell prompt is hardcoded - -log_user 0 -match_max 8192 - -while {1} { - set rlogin_spawn [spawn rlogin localhost] - if { $rlogin_spawn == 0 } { exit 1 } - expect { - -timeout 10 -re "^.*(Last login\[^\r\n\]*).*\n(\[^\r\n\]*\[#$\] )$" { - send_error "$expect_out(1,string)\n" - send_error "$expect_out(2,string)\n" -# send_error "$expect_out(0,string)\n" - } - timeout { - send_error "TIMEOUT/prompt\n" - send_error "$expect_out(buffer)\n" - send_error "RETRYING\n" - log_user 1 - send "tty /\r" - expect -timeout 2 -re "^.*\r?\n(\[^\r\n\]*# )$" {} - send "tty /\r" - expect -timeout 2 -re "^.*\r?\n(\[^\r\n\]*# )$" {} - send_error "\n" - exit 2 - } - } - send "tty\r" - expect { - -timeout 4 -re "tty\r?\n(\[^\r\n\]*)\r?\n(\[^\r\n\]*\[#$\] )$" { - send_error "$expect_out(2,string)$expect_out(1,string)\n" -# send_error "$expect_out(0,string)\n" - } - timeout { send_error "TIMEOUT/tty\n" ; exit 3 } - } - send "exit\r" - expect { - -timeout 2 eof { -# send_error "OK4: EOF\n" - } - timeout { send_error "TIMEOUT/eof\n" ; exit 4 } - } - wait -} -# vi: set sw=4: diff --git a/tests/cptools/01/data/group b/tests/cptools/01/data/group deleted file mode 100644 index 10123908..00000000 --- a/tests/cptools/01/data/group +++ /dev/null @@ -1,41 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3: -adm:x:4: -tty:x:5: -disk:x:6: -lp:x:7: -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21: -voice:x:22: -cdrom:x:24: -floppy:x:25: -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100: -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: diff --git a/tests/cptools/01/data/group.new b/tests/cptools/01/data/group.new deleted file mode 100644 index db5f1341..00000000 --- a/tests/cptools/01/data/group.new +++ /dev/null @@ -1,42 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3: -adm:x:4: -tty:x:5: -disk:x:6: -lp:x:7: -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21: -voice:x:22: -cdrom:x:24: -floppy:x:25: -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100: -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: -test:x:10000: diff --git a/tests/cptools/01/data/gshadow b/tests/cptools/01/data/gshadow deleted file mode 100644 index ae424865..00000000 --- a/tests/cptools/01/data/gshadow +++ /dev/null @@ -1,41 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*:: -adm:*:: -tty:*:: -disk:*:: -lp:*:: -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:: -voice:*:: -cdrom:*:: -floppy:*:: -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: diff --git a/tests/cptools/01/data/gshadow.new b/tests/cptools/01/data/gshadow.new deleted file mode 100644 index 3c9bae92..00000000 --- a/tests/cptools/01/data/gshadow.new +++ /dev/null @@ -1,42 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*:: -adm:*:: -tty:*:: -disk:*:: -lp:*:: -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:: -voice:*:: -cdrom:*:: -floppy:*:: -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: -test:x:: diff --git a/tests/cptools/01/data/passwd b/tests/cptools/01/data/passwd deleted file mode 100644 index 43fc135a..00000000 --- a/tests/cptools/01/data/passwd +++ /dev/null @@ -1,19 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:x:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/cptools/01/data/passwd.new b/tests/cptools/01/data/passwd.new deleted file mode 100644 index 148b7944..00000000 --- a/tests/cptools/01/data/passwd.new +++ /dev/null @@ -1,20 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:x:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:x:102:102::/var/spool/exim4:/bin/false -test:x:10002:10002::/tmp:/bin/false diff --git a/tests/cptools/01/data/shadow b/tests/cptools/01/data/shadow deleted file mode 100644 index 5f50d187..00000000 --- a/tests/cptools/01/data/shadow +++ /dev/null @@ -1,19 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cptools/01/data/shadow.new b/tests/cptools/01/data/shadow.new deleted file mode 100644 index c6e351ee..00000000 --- a/tests/cptools/01/data/shadow.new +++ /dev/null @@ -1,20 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -test:!:10:0:99999:7::: diff --git a/tests/cptools/01/run1 b/tests/cptools/01/run1 deleted file mode 100755 index 26fc0440..00000000 --- a/tests/cptools/01/run1 +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -# Rational: -# Test that useradd can add an user and userdel removes it. - -save() -{ - [ ! -d tmp ] && mkdir tmp - for i in passwd group shadow gshadow - do - [ -f /etc/$i ] && cp /etc/$i tmp/$i - done - - true -} - -restore() -{ - for i in passwd group shadow gshadow - do - [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i - done - rmdir tmp -} - -save - -# restore the files on exit -trap 'restore' 0 - -for i in passwd group shadow gshadow -do - cp data/$i /etc -done - -lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ") -lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ") -lines_group=$(wc -l /etc/group | cut -f1 -d" ") -lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ") - -echo -n "Copy passwd.new " -cppw data/passwd.new -echo "OK" - -echo -n "test if the password file was copied" -diff -au /etc/passwd data/passwd.new -echo " OK" - -echo -n "check that the other files were not modified" -diff -au /etc/group data/group -diff -au /etc/gshadow data/gshadow -diff -au /etc/shadow data/shadow -echo " OK" diff --git a/tests/cptools/01/run2 b/tests/cptools/01/run2 deleted file mode 100755 index c42238e6..00000000 --- a/tests/cptools/01/run2 +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -# Rational: -# Test that useradd can add an user and userdel removes it. - -save() -{ - [ ! -d tmp ] && mkdir tmp - for i in passwd group shadow gshadow - do - [ -f /etc/$i ] && cp /etc/$i tmp/$i - done - - true -} - -restore() -{ - for i in passwd group shadow gshadow - do - [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i - done - rmdir tmp -} - -save - -# restore the files on exit -trap 'restore' 0 - -for i in passwd group shadow gshadow -do - cp data/$i /etc -done - -lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ") -lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ") -lines_group=$(wc -l /etc/group | cut -f1 -d" ") -lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ") - -echo -n "Copy group.new " -cpgr data/group.new -echo "OK" - -echo -n "test if the password file was copied" -diff -au /etc/group data/group.new -echo " OK" - -echo -n "check that the other files were not modified" -diff -au /etc/gshadow data/gshadow -diff -au /etc/passwd data/passwd -diff -au /etc/shadow data/shadow -echo " OK" diff --git a/tests/cptools/01/run3 b/tests/cptools/01/run3 deleted file mode 100755 index d213e477..00000000 --- a/tests/cptools/01/run3 +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -# Rational: -# Test that useradd can add an user and userdel removes it. - -save() -{ - [ ! -d tmp ] && mkdir tmp - for i in passwd group shadow gshadow - do - [ -f /etc/$i ] && cp /etc/$i tmp/$i - done - - true -} - -restore() -{ - for i in passwd group shadow gshadow - do - [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i - done - rmdir tmp -} - -save - -# restore the files on exit -trap 'restore' 0 - -for i in passwd group shadow gshadow -do - cp data/$i /etc -done - -lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ") -lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ") -lines_group=$(wc -l /etc/group | cut -f1 -d" ") -lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ") - -echo -n "Copy shadow.new " -cppw -s data/shadow.new -echo "OK" - -echo -n "test if the password file was copied" -diff -au /etc/shadow data/shadow.new -echo " OK" - -echo -n "check that the other files were not modified" -diff -au /etc/group data/group -diff -au /etc/gshadow data/gshadow -diff -au /etc/passwd data/passwd -echo " OK" diff --git a/tests/cptools/01/run4 b/tests/cptools/01/run4 deleted file mode 100755 index 7cc3fb8d..00000000 --- a/tests/cptools/01/run4 +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -# Rational: -# Test that useradd can add an user and userdel removes it. - -save() -{ - [ ! -d tmp ] && mkdir tmp - for i in passwd group shadow gshadow - do - [ -f /etc/$i ] && cp /etc/$i tmp/$i - done - - true -} - -restore() -{ - for i in passwd group shadow gshadow - do - [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i - done - rmdir tmp -} - -save - -# restore the files on exit -trap 'restore' 0 - -for i in passwd group shadow gshadow -do - cp data/$i /etc -done - -lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ") -lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ") -lines_group=$(wc -l /etc/group | cut -f1 -d" ") -lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ") - -echo -n "Copy gshadow.new " -cpgr -s data/gshadow.new -echo "OK" - -echo -n "test if the password file was copied" -diff -au /etc/gshadow data/gshadow.new -echo " OK" - -echo -n "check that the other files were not modified" -diff -au /etc/group data/group -diff -au /etc/passwd data/passwd -diff -au /etc/shadow data/shadow -echo " OK" diff --git a/tests/cptools/02_cppw_usage/config.txt b/tests/cptools/02_cppw_usage/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/02_cppw_usage/config/etc/group b/tests/cptools/02_cppw_usage/config/etc/group deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/02_cppw_usage/config/etc/gshadow b/tests/cptools/02_cppw_usage/config/etc/gshadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/02_cppw_usage/config/etc/passwd b/tests/cptools/02_cppw_usage/config/etc/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/02_cppw_usage/config/etc/shadow b/tests/cptools/02_cppw_usage/config/etc/shadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/02_cppw_usage/cppw.test b/tests/cptools/02_cppw_usage/cppw.test deleted file mode 100755 index ef3b77f2..00000000 --- a/tests/cptools/02_cppw_usage/cppw.test +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw can displays its usage message" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Get cppw usage (cppw -h)..." -cppw -h >tmp/usage.out -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/usage.out -echo "=======================================================================" -echo -n "Check the usage message..." -diff -au data/usage.out tmp/usage.out -echo "usage message OK." -rm -f tmp/usage.out - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/02_cppw_usage/data/usage.out b/tests/cptools/02_cppw_usage/data/usage.out deleted file mode 100644 index 9efb2a70..00000000 --- a/tests/cptools/02_cppw_usage/data/usage.out +++ /dev/null @@ -1,3 +0,0 @@ -Usage: -`cppw ' copys over /etc/passwd `cppw -s ' copys over /etc/shadow -`cpgr ' copys over /etc/group `cpgr -s ' copys over /etc/gshadow diff --git a/tests/cptools/03_cppw_usage_invalid_option/config.txt b/tests/cptools/03_cppw_usage_invalid_option/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/03_cppw_usage_invalid_option/config/etc/group b/tests/cptools/03_cppw_usage_invalid_option/config/etc/group deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/03_cppw_usage_invalid_option/config/etc/gshadow b/tests/cptools/03_cppw_usage_invalid_option/config/etc/gshadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/03_cppw_usage_invalid_option/config/etc/passwd b/tests/cptools/03_cppw_usage_invalid_option/config/etc/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/03_cppw_usage_invalid_option/config/etc/shadow b/tests/cptools/03_cppw_usage_invalid_option/config/etc/shadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/03_cppw_usage_invalid_option/cppw.test b/tests/cptools/03_cppw_usage_invalid_option/cppw.test deleted file mode 100755 index c6d41e98..00000000 --- a/tests/cptools/03_cppw_usage_invalid_option/cppw.test +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw reports usage of invalid option" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Use wrong cppw option (cppw -Z)..." -/usr/sbin/cppw -Z 2>tmp/usage.out && exit 1 || { - status=$? -} -echo "OK" - -echo -n "Check returned status ($status)..." -test "$status" = "2" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/usage.out -echo "=======================================================================" -echo -n "Check the usage message..." -diff -au data/usage.out tmp/usage.out -echo "usage message OK." -rm -f tmp/usage.out - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/03_cppw_usage_invalid_option/data/usage.out b/tests/cptools/03_cppw_usage_invalid_option/data/usage.out deleted file mode 100644 index 633ff23d..00000000 --- a/tests/cptools/03_cppw_usage_invalid_option/data/usage.out +++ /dev/null @@ -1,4 +0,0 @@ -/usr/sbin/cppw: invalid option -- 'Z' -Usage: -`cppw ' copys over /etc/passwd `cppw -s ' copys over /etc/shadow -`cpgr ' copys over /etc/group `cpgr -s ' copys over /etc/gshadow diff --git a/tests/cptools/04_cppw_no_file_argument/config.txt b/tests/cptools/04_cppw_no_file_argument/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/04_cppw_no_file_argument/config/etc/group b/tests/cptools/04_cppw_no_file_argument/config/etc/group deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/04_cppw_no_file_argument/config/etc/gshadow b/tests/cptools/04_cppw_no_file_argument/config/etc/gshadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/04_cppw_no_file_argument/config/etc/passwd b/tests/cptools/04_cppw_no_file_argument/config/etc/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/04_cppw_no_file_argument/config/etc/shadow b/tests/cptools/04_cppw_no_file_argument/config/etc/shadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/04_cppw_no_file_argument/cppw.test b/tests/cptools/04_cppw_no_file_argument/cppw.test deleted file mode 100755 index 7ccef735..00000000 --- a/tests/cptools/04_cppw_no_file_argument/cppw.test +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw reports an error if no files are provided" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Use cppw without a file argument (cppw)..." -cppw 2>tmp/usage.out && exit 1 || { - status=$? -} -echo "OK" - -echo -n "Check returned status ($status)..." -test "$status" = "1" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/usage.out -echo "=======================================================================" -echo -n "Check the usage message..." -diff -au data/usage.out tmp/usage.out -echo "usage message OK." -rm -f tmp/usage.out - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/04_cppw_no_file_argument/data/usage.out b/tests/cptools/04_cppw_no_file_argument/data/usage.out deleted file mode 100644 index 808df395..00000000 --- a/tests/cptools/04_cppw_no_file_argument/data/usage.out +++ /dev/null @@ -1,2 +0,0 @@ -cppw: wrong number of arguments, -h for usage -cppw: no changes diff --git a/tests/cptools/05_cppw_2_files/config.txt b/tests/cptools/05_cppw_2_files/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/05_cppw_2_files/config/etc/group b/tests/cptools/05_cppw_2_files/config/etc/group deleted file mode 100644 index 245cc9cf..00000000 --- a/tests/cptools/05_cppw_2_files/config/etc/group +++ /dev/null @@ -1,42 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3: -adm:x:4: -tty:x:5: -disk:x:6: -lp:x:7: -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21: -voice:x:22: -cdrom:x:24: -floppy:x:25: -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100: -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: -myuser:x:424242: diff --git a/tests/cptools/05_cppw_2_files/config/etc/gshadow b/tests/cptools/05_cppw_2_files/config/etc/gshadow deleted file mode 100644 index 25bd55bd..00000000 --- a/tests/cptools/05_cppw_2_files/config/etc/gshadow +++ /dev/null @@ -1,42 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*:: -adm:*:: -tty:*:: -disk:*:: -lp:*:: -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:: -voice:*:: -cdrom:*:: -floppy:*:: -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: -myuser:x:: diff --git a/tests/cptools/05_cppw_2_files/config/etc/passwd b/tests/cptools/05_cppw_2_files/config/etc/passwd deleted file mode 100644 index ae3eda3f..00000000 --- a/tests/cptools/05_cppw_2_files/config/etc/passwd +++ /dev/null @@ -1,21 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:x:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:x:102:102::/var/spool/exim4:/bin/false -myuser:x:424242:424242::/home:/bin/sh -myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/cptools/05_cppw_2_files/config/etc/shadow b/tests/cptools/05_cppw_2_files/config/etc/shadow deleted file mode 100644 index f004fa26..00000000 --- a/tests/cptools/05_cppw_2_files/config/etc/shadow +++ /dev/null @@ -1,21 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: -myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/cptools/05_cppw_2_files/cppw.test b/tests/cptools/05_cppw_2_files/cppw.test deleted file mode 100755 index 49ca1d57..00000000 --- a/tests/cptools/05_cppw_2_files/cppw.test +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw reports an error if 2 files are provided" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Use cppw with 2 files (cppw data/passwd data/passwd)..." -cppw data/passwd data/passwd 2>tmp/usage.out && exit 1 || { - status=$? -} -echo "OK" - -echo -n "Check returned status ($status)..." -test "$status" = "1" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/usage.out -echo "=======================================================================" -echo -n "Check the usage message..." -diff -au data/usage.out tmp/usage.out -echo "usage message OK." -rm -f tmp/usage.out - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/05_cppw_2_files/data/passwd b/tests/cptools/05_cppw_2_files/data/passwd deleted file mode 100644 index e8e3c399..00000000 --- a/tests/cptools/05_cppw_2_files/data/passwd +++ /dev/null @@ -1,17 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh diff --git a/tests/cptools/05_cppw_2_files/data/usage.out b/tests/cptools/05_cppw_2_files/data/usage.out deleted file mode 100644 index 808df395..00000000 --- a/tests/cptools/05_cppw_2_files/data/usage.out +++ /dev/null @@ -1,2 +0,0 @@ -cppw: wrong number of arguments, -h for usage -cppw: no changes diff --git a/tests/cptools/06_cppw_no_file/config.txt b/tests/cptools/06_cppw_no_file/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/06_cppw_no_file/config/etc/group b/tests/cptools/06_cppw_no_file/config/etc/group deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/06_cppw_no_file/config/etc/gshadow b/tests/cptools/06_cppw_no_file/config/etc/gshadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/06_cppw_no_file/config/etc/passwd b/tests/cptools/06_cppw_no_file/config/etc/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/06_cppw_no_file/config/etc/shadow b/tests/cptools/06_cppw_no_file/config/etc/shadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/06_cppw_no_file/cppw.test b/tests/cptools/06_cppw_no_file/cppw.test deleted file mode 100755 index f4adb89c..00000000 --- a/tests/cptools/06_cppw_no_file/cppw.test +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw reports an error if no files are provided" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Use cppw with a nonexistent file (cppw data/passwd)..." -cppw data/passwd 2>tmp/usage.out && exit 1 || { - status=$? -} -echo "OK" - -echo -n "Check returned status ($status)..." -test "$status" = "1" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/usage.out -echo "=======================================================================" -echo -n "Check the usage message..." -diff -au data/usage.out tmp/usage.out -echo "usage message OK." -rm -f tmp/usage.out - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/06_cppw_no_file/data/usage.out b/tests/cptools/06_cppw_no_file/data/usage.out deleted file mode 100644 index 133dea3e..00000000 --- a/tests/cptools/06_cppw_no_file/data/usage.out +++ /dev/null @@ -1,2 +0,0 @@ -cppw: data/passwd: No such file or directory -cppw: /etc/passwd is unchanged diff --git a/tests/cptools/07_cppw_locked_passwd/config.txt b/tests/cptools/07_cppw_locked_passwd/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/07_cppw_locked_passwd/config/etc/group b/tests/cptools/07_cppw_locked_passwd/config/etc/group deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/07_cppw_locked_passwd/config/etc/gshadow b/tests/cptools/07_cppw_locked_passwd/config/etc/gshadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/07_cppw_locked_passwd/config/etc/passwd b/tests/cptools/07_cppw_locked_passwd/config/etc/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/07_cppw_locked_passwd/config/etc/shadow b/tests/cptools/07_cppw_locked_passwd/config/etc/shadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/07_cppw_locked_passwd/cppw.test b/tests/cptools/07_cppw_locked_passwd/cppw.test deleted file mode 100755 index 366618e0..00000000 --- a/tests/cptools/07_cppw_locked_passwd/cppw.test +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw checks if the password file is locked" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Create lock file for /etc/passwd..." -touch /etc/passwd.lock -echo "done" - -echo -n "Use cppw (cppw data/passwd)..." -cppw data/passwd 2>tmp/usage.out && exit 1 || { - status=$? -} -echo "OK" - -rm -f /etc/passwd.lock - -echo -n "Check returned status ($status)..." -test "$status" = "5" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/usage.out -echo "=======================================================================" -echo -n "Check the usage message..." -diff -au data/usage.out tmp/usage.out -echo "usage message OK." -rm -f tmp/usage.out - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/07_cppw_locked_passwd/data/passwd b/tests/cptools/07_cppw_locked_passwd/data/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/07_cppw_locked_passwd/data/usage.out b/tests/cptools/07_cppw_locked_passwd/data/usage.out deleted file mode 100644 index c99e46a1..00000000 --- a/tests/cptools/07_cppw_locked_passwd/data/usage.out +++ /dev/null @@ -1,3 +0,0 @@ -cppw: existing lock file /etc/passwd.lock without a PID -cppw: Couldn't lock file -cppw: /etc/passwd is unchanged diff --git a/tests/cptools/08_cppw-p/config.txt b/tests/cptools/08_cppw-p/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/08_cppw-p/config/etc/group b/tests/cptools/08_cppw-p/config/etc/group deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/08_cppw-p/config/etc/gshadow b/tests/cptools/08_cppw-p/config/etc/gshadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/08_cppw-p/config/etc/passwd b/tests/cptools/08_cppw-p/config/etc/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/08_cppw-p/config/etc/shadow b/tests/cptools/08_cppw-p/config/etc/shadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/08_cppw-p/cppw.test b/tests/cptools/08_cppw-p/cppw.test deleted file mode 100755 index d4ee8646..00000000 --- a/tests/cptools/08_cppw-p/cppw.test +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw -p option" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Use cppw -p (cppw -p data/passwd)..." -cppw -p data/passwd -echo "OK" - -echo -n "Check the passwd file..." -../../common/compare_file.pl data/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/08_cppw-p/data/passwd b/tests/cptools/08_cppw-p/data/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/09_cppw-g/config.txt b/tests/cptools/09_cppw-g/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/09_cppw-g/config/etc/group b/tests/cptools/09_cppw-g/config/etc/group deleted file mode 100644 index b6fae894..00000000 --- a/tests/cptools/09_cppw-g/config/etc/group +++ /dev/null @@ -1,42 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3:root -adm:x:4:root,foo -tty:x:5: -disk:x:6: -lp:x:7:foo,root -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21:foo -voice:x:22: -cdrom:x:24: -floppy:x:25:foo -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100:foo -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: -foo:x:1000: diff --git a/tests/cptools/09_cppw-g/config/etc/gshadow b/tests/cptools/09_cppw-g/config/etc/gshadow deleted file mode 100644 index 1f2ba8da..00000000 --- a/tests/cptools/09_cppw-g/config/etc/gshadow +++ /dev/null @@ -1,42 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*::root -adm:*::root,foo -tty:*::foo -disk:*:foo: -lp:*::foo,root -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:foo:foo -voice:*:: -cdrom:*:foo:foo -floppy:*::foo -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: -foo:*:: diff --git a/tests/cptools/09_cppw-g/config/etc/passwd b/tests/cptools/09_cppw-g/config/etc/passwd deleted file mode 100644 index 06b331b3..00000000 --- a/tests/cptools/09_cppw-g/config/etc/passwd +++ /dev/null @@ -1,20 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:x:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:x:102:102::/var/spool/exim4:/bin/false -foo:blahblahblah:1000:1000::/home/foo:/bin/false diff --git a/tests/cptools/09_cppw-g/config/etc/shadow b/tests/cptools/09_cppw-g/config/etc/shadow deleted file mode 100644 index 2baad3b4..00000000 --- a/tests/cptools/09_cppw-g/config/etc/shadow +++ /dev/null @@ -1,20 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -foo:!:12977:0:99999:7::: diff --git a/tests/cptools/09_cppw-g/cppw.test b/tests/cptools/09_cppw-g/cppw.test deleted file mode 100755 index 7ac6d16c..00000000 --- a/tests/cptools/09_cppw-g/cppw.test +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw can copy the group file" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Use cppw -g (cppw -g data/group)..." -cppw -g data/group -echo "OK" - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl data/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/09_cppw-g/data/group b/tests/cptools/09_cppw-g/data/group deleted file mode 100644 index 11b5c118..00000000 --- a/tests/cptools/09_cppw-g/data/group +++ /dev/null @@ -1,39 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3:root -adm:x:4:root,foo -tty:x:5: -disk:x:6: -lp:x:7:foo,root -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21:foo -voice:x:22: -cdrom:x:24: -floppy:x:25:foo -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100:foo -nogroup:x:65534: diff --git a/tests/cptools/10_cppw-g-s/config.txt b/tests/cptools/10_cppw-g-s/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/10_cppw-g-s/config/etc/group b/tests/cptools/10_cppw-g-s/config/etc/group deleted file mode 100644 index b6fae894..00000000 --- a/tests/cptools/10_cppw-g-s/config/etc/group +++ /dev/null @@ -1,42 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3:root -adm:x:4:root,foo -tty:x:5: -disk:x:6: -lp:x:7:foo,root -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21:foo -voice:x:22: -cdrom:x:24: -floppy:x:25:foo -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100:foo -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: -foo:x:1000: diff --git a/tests/cptools/10_cppw-g-s/config/etc/gshadow b/tests/cptools/10_cppw-g-s/config/etc/gshadow deleted file mode 100644 index 1f2ba8da..00000000 --- a/tests/cptools/10_cppw-g-s/config/etc/gshadow +++ /dev/null @@ -1,42 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*::root -adm:*::root,foo -tty:*::foo -disk:*:foo: -lp:*::foo,root -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:foo:foo -voice:*:: -cdrom:*:foo:foo -floppy:*::foo -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: -foo:*:: diff --git a/tests/cptools/10_cppw-g-s/config/etc/passwd b/tests/cptools/10_cppw-g-s/config/etc/passwd deleted file mode 100644 index 06b331b3..00000000 --- a/tests/cptools/10_cppw-g-s/config/etc/passwd +++ /dev/null @@ -1,20 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:x:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:x:102:102::/var/spool/exim4:/bin/false -foo:blahblahblah:1000:1000::/home/foo:/bin/false diff --git a/tests/cptools/10_cppw-g-s/config/etc/shadow b/tests/cptools/10_cppw-g-s/config/etc/shadow deleted file mode 100644 index 2baad3b4..00000000 --- a/tests/cptools/10_cppw-g-s/config/etc/shadow +++ /dev/null @@ -1,20 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -foo:!:12977:0:99999:7::: diff --git a/tests/cptools/10_cppw-g-s/cppw.test b/tests/cptools/10_cppw-g-s/cppw.test deleted file mode 100755 index 602c34ac..00000000 --- a/tests/cptools/10_cppw-g-s/cppw.test +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw can copy the gshadow file" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Use cppw -g -s (cppw -g -s data/gshadow)..." -cppw -g -s data/gshadow -echo "OK" - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl data/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/10_cppw-g-s/data/gshadow b/tests/cptools/10_cppw-g-s/data/gshadow deleted file mode 100644 index 93fc0558..00000000 --- a/tests/cptools/10_cppw-g-s/data/gshadow +++ /dev/null @@ -1,39 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*::root -adm:*::root,foo -tty:*::foo -disk:*:foo: -lp:*::foo,root -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:foo:foo -voice:*:: -cdrom:*:foo:foo -floppy:*::foo -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: diff --git a/tests/cptools/11_cppw-p-s/config.txt b/tests/cptools/11_cppw-p-s/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/11_cppw-p-s/config/etc/group b/tests/cptools/11_cppw-p-s/config/etc/group deleted file mode 100644 index b6fae894..00000000 --- a/tests/cptools/11_cppw-p-s/config/etc/group +++ /dev/null @@ -1,42 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3:root -adm:x:4:root,foo -tty:x:5: -disk:x:6: -lp:x:7:foo,root -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21:foo -voice:x:22: -cdrom:x:24: -floppy:x:25:foo -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100:foo -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: -foo:x:1000: diff --git a/tests/cptools/11_cppw-p-s/config/etc/gshadow b/tests/cptools/11_cppw-p-s/config/etc/gshadow deleted file mode 100644 index 1f2ba8da..00000000 --- a/tests/cptools/11_cppw-p-s/config/etc/gshadow +++ /dev/null @@ -1,42 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*::root -adm:*::root,foo -tty:*::foo -disk:*:foo: -lp:*::foo,root -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:foo:foo -voice:*:: -cdrom:*:foo:foo -floppy:*::foo -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: -foo:*:: diff --git a/tests/cptools/11_cppw-p-s/config/etc/passwd b/tests/cptools/11_cppw-p-s/config/etc/passwd deleted file mode 100644 index 06b331b3..00000000 --- a/tests/cptools/11_cppw-p-s/config/etc/passwd +++ /dev/null @@ -1,20 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:x:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:x:102:102::/var/spool/exim4:/bin/false -foo:blahblahblah:1000:1000::/home/foo:/bin/false diff --git a/tests/cptools/11_cppw-p-s/config/etc/shadow b/tests/cptools/11_cppw-p-s/config/etc/shadow deleted file mode 100644 index 2baad3b4..00000000 --- a/tests/cptools/11_cppw-p-s/config/etc/shadow +++ /dev/null @@ -1,20 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -foo:!:12977:0:99999:7::: diff --git a/tests/cptools/11_cppw-p-s/cppw.test b/tests/cptools/11_cppw-p-s/cppw.test deleted file mode 100755 index 3c68f056..00000000 --- a/tests/cptools/11_cppw-p-s/cppw.test +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw can copy the shadow file" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Use cppw -p -s (cppw -p -s data/shadow)..." -cppw -p -s data/shadow -echo "OK" - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../common/compare_file.pl data/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/11_cppw-p-s/data/shadow b/tests/cptools/11_cppw-p-s/data/shadow deleted file mode 100644 index 62144232..00000000 --- a/tests/cptools/11_cppw-p-s/data/shadow +++ /dev/null @@ -1,16 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -foo:!:12977:0:99999:7::: diff --git a/tests/cptools/12_cppw-s_no_shadow_file/config.txt b/tests/cptools/12_cppw-s_no_shadow_file/config.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/12_cppw-s_no_shadow_file/config/etc/group b/tests/cptools/12_cppw-s_no_shadow_file/config/etc/group deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/12_cppw-s_no_shadow_file/config/etc/gshadow b/tests/cptools/12_cppw-s_no_shadow_file/config/etc/gshadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/12_cppw-s_no_shadow_file/config/etc/passwd b/tests/cptools/12_cppw-s_no_shadow_file/config/etc/passwd deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/12_cppw-s_no_shadow_file/config/etc/shadow b/tests/cptools/12_cppw-s_no_shadow_file/config/etc/shadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cptools/12_cppw-s_no_shadow_file/cppw.test b/tests/cptools/12_cppw-s_no_shadow_file/cppw.test deleted file mode 100755 index a0c2095b..00000000 --- a/tests/cptools/12_cppw-s_no_shadow_file/cppw.test +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../common/config.sh -. ../../common/log.sh - -log_start "$0" "cppw can copy a shadow file even if there were no shadow file" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Remove /etc/shadow..." -rm -f /etc/shadow -echo "done" - -echo -n "Use cppw (cppw -s data/shadow)..." -cppw -s data/shadow 2>tmp/cppw.err && exit 1 || { - status=$? -} -echo "OK" - -echo -n "Check returned status ($status)..." -test "$status" = "1" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/cppw.err -echo "=======================================================================" -echo -n "Check the usage message..." -diff -au data/cppw.err tmp/cppw.err -echo "usage message OK." -rm -f tmp/cppw.err - -echo -n "Check the passwd file..." -../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -test ! -f /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/cptools/12_cppw-s_no_shadow_file/data/cppw.err b/tests/cptools/12_cppw-s_no_shadow_file/data/cppw.err deleted file mode 100644 index 0c7d649e..00000000 --- a/tests/cptools/12_cppw-s_no_shadow_file/data/cppw.err +++ /dev/null @@ -1,2 +0,0 @@ -cppw: /etc/shadow: No such file or directory -cppw: /etc/shadow is unchanged diff --git a/tests/cptools/12_cppw-s_no_shadow_file/data/shadow b/tests/cptools/12_cppw-s_no_shadow_file/data/shadow deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/debian/01/data/passwd_files b/tests/debian/01/data/passwd_files index 78380f45..1afa1ca0 100644 --- a/tests/debian/01/data/passwd_files +++ b/tests/debian/01/data/passwd_files @@ -24,8 +24,6 @@ /usr/sbin /usr/sbin/chgpasswd /usr/sbin/chpasswd -/usr/sbin/cpgr -/usr/sbin/cppw /usr/sbin/groupadd /usr/sbin/groupdel /usr/sbin/groupmems @@ -245,8 +243,6 @@ /usr/share/man/man8 /usr/share/man/man8/chgpasswd.8.gz /usr/share/man/man8/chpasswd.8.gz -/usr/share/man/man8/cpgr.8.gz -/usr/share/man/man8/cppw.8.gz /usr/share/man/man8/groupadd.8.gz /usr/share/man/man8/groupdel.8.gz /usr/share/man/man8/groupmems.8.gz diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config.txt b/tests/failures/cppw/01_cppw_open_passwd_in_failure/config.txt deleted file mode 100644 index e9e4bbed..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config.txt +++ /dev/null @@ -1 +0,0 @@ -group foo, GID 1000 diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/group b/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/group deleted file mode 100644 index fecba0c4..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/group +++ /dev/null @@ -1,42 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3: -adm:x:4: -tty:x:5: -disk:x:6: -lp:x:7: -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21: -voice:x:22: -cdrom:x:24: -floppy:x:25: -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100: -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: -foo:x:1000: diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/gshadow b/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/gshadow deleted file mode 100644 index 5042e581..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/gshadow +++ /dev/null @@ -1,42 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*:: -adm:*:: -tty:*:: -disk:*:: -lp:*:: -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:: -voice:*:: -cdrom:*:: -floppy:*:: -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: -foo:*:: diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/login.defs b/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/login.defs deleted file mode 100644 index cf181ac0..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/login.defs +++ /dev/null @@ -1,314 +0,0 @@ -# -# /etc/login.defs - Configuration control definitions for the login package. -# -# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. -# If unspecified, some arbitrary (and possibly incorrect) value will -# be assumed. All other items are optional - if not specified then -# the described action or option will be inhibited. -# -# Comment lines (lines beginning with "#") and blank lines are ignored. -# -# Modified for Linux. --marekm - -# REQUIRED for useradd/userdel/usermod -# Directory where mailboxes reside, _or_ name of file, relative to the -# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, -# MAIL_DIR takes precedence. -# -# Essentially: -# - MAIL_DIR defines the location of users mail spool files -# (for mbox use) by appending the username to MAIL_DIR as defined -# below. -# - MAIL_FILE defines the location of the users mail spool files as the -# fully-qualified filename obtained by prepending the user home -# directory before $MAIL_FILE -# -# NOTE: This is no more used for setting up users MAIL environment variable -# which is, starting from shadow 4.0.12-1 in Debian, entirely the -# job of the pam_mail PAM modules -# See default PAM configuration files provided for -# login, su, etc. -# -# This is a temporary situation: setting these variables will soon -# move to /etc/default/useradd and the variables will then be -# no more supported -MAIL_DIR /var/mail -#MAIL_FILE .mail - -# -# Enable logging and display of /var/log/faillog login failure info. -# This option conflicts with the pam_tally PAM module. -# -FAILLOG_ENAB yes - -# -# Enable display of unknown usernames when login failures are recorded. -# -# WARNING: Unknown usernames may become world readable. -# See #290803 and #298773 for details about how this could become a security -# concern -LOG_UNKFAIL_ENAB no - -# -# Enable logging of successful logins -# -LOG_OK_LOGINS no - -# -# Enable "syslog" logging of su activity - in addition to sulog file logging. -# SYSLOG_SG_ENAB does the same for newgrp and sg. -# -SYSLOG_SU_ENAB yes -SYSLOG_SG_ENAB yes - -# -# If defined, all su activity is logged to this file. -# -#SULOG_FILE /var/log/sulog - -# -# If defined, file which maps tty line to TERM environment parameter. -# Each line of the file is in a format something like "vt100 tty01". -# -#TTYTYPE_FILE /etc/ttytype - -# -# If defined, login failures will be logged here in a utmp format -# last, when invoked as lastb, will read /var/log/btmp, so... -# -FTMP_FILE /var/log/btmp - -# -# If defined, the command name to display when running "su -". For -# example, if this is defined as "su" then a "ps" will display the -# command is "-su". If not defined, then "ps" would display the -# name of the shell actually being run, e.g. something like "-sh". -# -SU_NAME su - -# -# If defined, file which inhibits all the usual chatter during the login -# sequence. If a full pathname, then hushed mode will be enabled if the -# user's name or shell are found in the file. If not a full pathname, then -# hushed mode will be enabled if the file exists in the user's home directory. -# -HUSHLOGIN_FILE .hushlogin -#HUSHLOGIN_FILE /etc/hushlogins - -# -# *REQUIRED* The default PATH settings, for superuser and normal users. -# -# (they are minimal, add the rest in the shell startup files) -ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games - -# -# Terminal permissions -# -# TTYGROUP Login tty will be assigned this group ownership. -# TTYPERM Login tty will be set to this permission. -# -# If you have a "write" program which is "setgid" to a special group -# which owns the terminals, define TTYGROUP to the group number and -# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign -# TTYPERM to either 622 or 600. -# -# In Debian /usr/bin/bsd-write or similar programs are setgid tty -# However, the default and recommended value for TTYPERM is still 0600 -# to not allow anyone to write to anyone else console or terminal - -# Users can still allow other people to write them by issuing -# the "mesg y" command. - -TTYGROUP tty -TTYPERM 0600 - -# -# Login configuration initializations: -# -# ERASECHAR Terminal ERASE character ('\010' = backspace). -# KILLCHAR Terminal KILL character ('\025' = CTRL/U). -# UMASK Default "umask" value. -# -# The ERASECHAR and KILLCHAR are used only on System V machines. -# -# UMASK usage is discouraged because it catches only some classes of user -# entries to system, in fact only those made through login(1), while setting -# umask in shell rc file will catch also logins through su, cron, ssh etc. -# -# At the same time, using shell rc to set umask won't catch entries which use -# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" -# user and alike. -# -# Therefore the use of pam_umask is recommended (Debian package libpam-umask) -# as the solution which catches all these cases on PAM-enabled systems. -# -# This avoids the confusion created by having the umask set -# in two different places -- in login.defs and shell rc files (i.e. -# /etc/profile). -# -# For discussion, see #314539 and #248150 as well as the thread starting at -# http://lists.debian.org/debian-devel/2005/06/msg01598.html -# -# Prefix these values with "0" to get octal, "0x" to get hexadecimal. -# -ERASECHAR 0177 -KILLCHAR 025 -# 022 is the "historical" value in Debian for UMASK when it was used -# 027, or even 077, could be considered better for privacy -# There is no One True Answer here : each sysadmin must make up their -# mind. -#UMASK 022 - -# -# Password aging controls: -# -# PASS_MAX_DAYS Maximum number of days a password may be used. -# PASS_MIN_DAYS Minimum number of days allowed between password changes. -# PASS_WARN_AGE Number of days warning given before a password expires. -# -PASS_MAX_DAYS 99999 -PASS_MIN_DAYS 0 -PASS_WARN_AGE 7 - -# -# Min/max values for automatic uid selection in useradd -# -UID_MIN 1000 -UID_MAX 60000 - -# -# Min/max values for automatic gid selection in groupadd -# -GID_MIN 100 -GID_MAX 60000 - -# -# Max number of login retries if password is bad. This will most likely be -# overridden by PAM, since the default pam_unix module has it's own built -# in of 3 retries. However, this is a safe fallback in case you are using -# an authentication module that does not enforce PAM_MAXTRIES. -# -LOGIN_RETRIES 5 - -# -# Max time in seconds for login -# -LOGIN_TIMEOUT 60 - -# -# Which fields may be changed by regular users using chfn - use -# any combination of letters "frwh" (full name, room number, work -# phone, home phone). If not defined, no changes are allowed. -# For backward compatibility, "yes" = "rwh" and "no" = "frwh". -# -CHFN_RESTRICT rwh - -# -# Should login be allowed if we can't cd to the home directory? -# Default is no. -# -DEFAULT_HOME yes - -# -# If defined, this command is run when removing a user. -# It should remove any at/cron/print jobs etc. owned by -# the user to be removed (passed as the first argument). -# -#USERDEL_CMD /usr/sbin/userdel_local - -# -# This enables userdel to remove user groups if no members exist. -# -# Other former uses of this variable such as setting the umask when -# user==primary group are not used in PAM environments, thus in Debian -# -USERGROUPS_ENAB yes - -# -# Instead of the real user shell, the program specified by this parameter -# will be launched, although its visible name (argv[0]) will be the shell's. -# The program may do whatever it wants (logging, additional authentification, -# banner, ...) before running the actual shell. -# -# FAKE_SHELL /bin/fakeshell - -# -# If defined, either full pathname of a file containing device names or -# a ":" delimited list of device names. Root logins will be allowed only -# upon these devices. -# -# This variable is used by login and su. -# -#CONSOLE /etc/consoles -#CONSOLE console:tty01:tty02:tty03:tty04 - -# -# List of groups to add to the user's supplementary group set -# when logging in on the console (as determined by the CONSOLE -# setting). Default is none. -# -# Use with caution - it is possible for users to gain permanent -# access to these groups, even when not logged in on the console. -# How to do it is left as an exercise for the reader... -# -# This variable is used by login and su. -# -#CONSOLE_GROUPS floppy:audio:cdrom - -# -# Only works if compiled with MD5_CRYPT defined: -# If set to "yes", new passwords will be encrypted using the MD5-based -# algorithm compatible with the one used by recent releases of FreeBSD. -# It supports passwords of unlimited length and longer salt strings. -# Set to "no" if you need to copy encrypted passwords to other systems -# which don't understand the new algorithm. Default is "no". -# -# This variable is used by chpasswd, gpasswd and newusers. -# -#MD5_CRYPT_ENAB no - -################# OBSOLETED BY PAM ############## -# # -# These options are now handled by PAM. Please # -# edit the appropriate file in /etc/pam.d/ to # -# enable the equivalents of them. -# -############### - -#MOTD_FILE -#DIALUPS_CHECK_ENAB -#LASTLOG_ENAB -#MAIL_CHECK_ENAB -#OBSCURE_CHECKS_ENAB -#PORTTIME_CHECKS_ENAB -#SU_WHEEL_ONLY -#PASS_CHANGE_TRIES -#PASS_ALWAYS_WARN -#ENVIRON_FILE -#NOLOGINS_FILE -#ISSUE_FILE -#PASS_MIN_LEN -#PASS_MAX_LEN -#ULIMIT -#ENV_HZ -#CHFN_AUTH -#CHSH_AUTH -#FAIL_DELAY - -################# OBSOLETED ####################### -# # -# These options are no more handled by shadow. # -# # -# Shadow utilities will display a warning if they # -# still appear. # -# # -################################################### - -# CLOSE_SESSIONS -# LOGIN_STRING -# NO_PASSWORD_CONSOLE -# QMAIL_DIR - - - diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/passwd b/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/passwd deleted file mode 100644 index dbb06b81..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/passwd +++ /dev/null @@ -1,20 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:x:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:x:102:102::/var/spool/exim4:/bin/false -foo:x:1000:1000::/nonexistent:/bin/sh diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/shadow b/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/shadow deleted file mode 100644 index 2baad3b4..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/shadow +++ /dev/null @@ -1,20 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -foo:!:12977:0:99999:7::: diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/cppw.test b/tests/failures/cppw/01_cppw_open_passwd_in_failure/cppw.test deleted file mode 100755 index 57aa57b3..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/cppw.test +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../../common/config.sh -. ../../../common/log.sh - -log_start "$0" "cppw report failures when it cannot open the input passwd file" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Copy data/passwd (cppw data/passwd)..." -LD_PRELOAD=../../../common/fopen_failure.so FAILURE_PATH=data/passwd /usr/sbin/cppw data/passwd 2>tmp/cppw.err && exit 1 || { - status=$? -} -echo "OK" - -echo -n "Check returned status ($status)..." -test "$status" = "1" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/cppw.err -echo "=======================================================================" -echo -n "Check that there were a failure message..." -diff -au data/cppw.err tmp/cppw.err -echo "error message OK." -rm -f tmp/cppw.err - -echo -n "Check the passwd file..." -../../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/data/cppw.err b/tests/failures/cppw/01_cppw_open_passwd_in_failure/data/cppw.err deleted file mode 100644 index 3816592a..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/data/cppw.err +++ /dev/null @@ -1,3 +0,0 @@ -fopen64 FAILURE data/passwd r ... -cppw: data/passwd: Input/output error -cppw: /etc/passwd is unchanged diff --git a/tests/failures/cppw/01_cppw_open_passwd_in_failure/data/passwd b/tests/failures/cppw/01_cppw_open_passwd_in_failure/data/passwd deleted file mode 100644 index e8e3c399..00000000 --- a/tests/failures/cppw/01_cppw_open_passwd_in_failure/data/passwd +++ /dev/null @@ -1,17 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config.txt b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config.txt deleted file mode 100644 index e9e4bbed..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config.txt +++ /dev/null @@ -1 +0,0 @@ -group foo, GID 1000 diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/group b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/group deleted file mode 100644 index fecba0c4..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/group +++ /dev/null @@ -1,42 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3: -adm:x:4: -tty:x:5: -disk:x:6: -lp:x:7: -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21: -voice:x:22: -cdrom:x:24: -floppy:x:25: -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100: -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: -foo:x:1000: diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/gshadow b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/gshadow deleted file mode 100644 index 5042e581..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/gshadow +++ /dev/null @@ -1,42 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*:: -adm:*:: -tty:*:: -disk:*:: -lp:*:: -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:: -voice:*:: -cdrom:*:: -floppy:*:: -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: -foo:*:: diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/login.defs b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/login.defs deleted file mode 100644 index cf181ac0..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/login.defs +++ /dev/null @@ -1,314 +0,0 @@ -# -# /etc/login.defs - Configuration control definitions for the login package. -# -# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. -# If unspecified, some arbitrary (and possibly incorrect) value will -# be assumed. All other items are optional - if not specified then -# the described action or option will be inhibited. -# -# Comment lines (lines beginning with "#") and blank lines are ignored. -# -# Modified for Linux. --marekm - -# REQUIRED for useradd/userdel/usermod -# Directory where mailboxes reside, _or_ name of file, relative to the -# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, -# MAIL_DIR takes precedence. -# -# Essentially: -# - MAIL_DIR defines the location of users mail spool files -# (for mbox use) by appending the username to MAIL_DIR as defined -# below. -# - MAIL_FILE defines the location of the users mail spool files as the -# fully-qualified filename obtained by prepending the user home -# directory before $MAIL_FILE -# -# NOTE: This is no more used for setting up users MAIL environment variable -# which is, starting from shadow 4.0.12-1 in Debian, entirely the -# job of the pam_mail PAM modules -# See default PAM configuration files provided for -# login, su, etc. -# -# This is a temporary situation: setting these variables will soon -# move to /etc/default/useradd and the variables will then be -# no more supported -MAIL_DIR /var/mail -#MAIL_FILE .mail - -# -# Enable logging and display of /var/log/faillog login failure info. -# This option conflicts with the pam_tally PAM module. -# -FAILLOG_ENAB yes - -# -# Enable display of unknown usernames when login failures are recorded. -# -# WARNING: Unknown usernames may become world readable. -# See #290803 and #298773 for details about how this could become a security -# concern -LOG_UNKFAIL_ENAB no - -# -# Enable logging of successful logins -# -LOG_OK_LOGINS no - -# -# Enable "syslog" logging of su activity - in addition to sulog file logging. -# SYSLOG_SG_ENAB does the same for newgrp and sg. -# -SYSLOG_SU_ENAB yes -SYSLOG_SG_ENAB yes - -# -# If defined, all su activity is logged to this file. -# -#SULOG_FILE /var/log/sulog - -# -# If defined, file which maps tty line to TERM environment parameter. -# Each line of the file is in a format something like "vt100 tty01". -# -#TTYTYPE_FILE /etc/ttytype - -# -# If defined, login failures will be logged here in a utmp format -# last, when invoked as lastb, will read /var/log/btmp, so... -# -FTMP_FILE /var/log/btmp - -# -# If defined, the command name to display when running "su -". For -# example, if this is defined as "su" then a "ps" will display the -# command is "-su". If not defined, then "ps" would display the -# name of the shell actually being run, e.g. something like "-sh". -# -SU_NAME su - -# -# If defined, file which inhibits all the usual chatter during the login -# sequence. If a full pathname, then hushed mode will be enabled if the -# user's name or shell are found in the file. If not a full pathname, then -# hushed mode will be enabled if the file exists in the user's home directory. -# -HUSHLOGIN_FILE .hushlogin -#HUSHLOGIN_FILE /etc/hushlogins - -# -# *REQUIRED* The default PATH settings, for superuser and normal users. -# -# (they are minimal, add the rest in the shell startup files) -ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games - -# -# Terminal permissions -# -# TTYGROUP Login tty will be assigned this group ownership. -# TTYPERM Login tty will be set to this permission. -# -# If you have a "write" program which is "setgid" to a special group -# which owns the terminals, define TTYGROUP to the group number and -# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign -# TTYPERM to either 622 or 600. -# -# In Debian /usr/bin/bsd-write or similar programs are setgid tty -# However, the default and recommended value for TTYPERM is still 0600 -# to not allow anyone to write to anyone else console or terminal - -# Users can still allow other people to write them by issuing -# the "mesg y" command. - -TTYGROUP tty -TTYPERM 0600 - -# -# Login configuration initializations: -# -# ERASECHAR Terminal ERASE character ('\010' = backspace). -# KILLCHAR Terminal KILL character ('\025' = CTRL/U). -# UMASK Default "umask" value. -# -# The ERASECHAR and KILLCHAR are used only on System V machines. -# -# UMASK usage is discouraged because it catches only some classes of user -# entries to system, in fact only those made through login(1), while setting -# umask in shell rc file will catch also logins through su, cron, ssh etc. -# -# At the same time, using shell rc to set umask won't catch entries which use -# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" -# user and alike. -# -# Therefore the use of pam_umask is recommended (Debian package libpam-umask) -# as the solution which catches all these cases on PAM-enabled systems. -# -# This avoids the confusion created by having the umask set -# in two different places -- in login.defs and shell rc files (i.e. -# /etc/profile). -# -# For discussion, see #314539 and #248150 as well as the thread starting at -# http://lists.debian.org/debian-devel/2005/06/msg01598.html -# -# Prefix these values with "0" to get octal, "0x" to get hexadecimal. -# -ERASECHAR 0177 -KILLCHAR 025 -# 022 is the "historical" value in Debian for UMASK when it was used -# 027, or even 077, could be considered better for privacy -# There is no One True Answer here : each sysadmin must make up their -# mind. -#UMASK 022 - -# -# Password aging controls: -# -# PASS_MAX_DAYS Maximum number of days a password may be used. -# PASS_MIN_DAYS Minimum number of days allowed between password changes. -# PASS_WARN_AGE Number of days warning given before a password expires. -# -PASS_MAX_DAYS 99999 -PASS_MIN_DAYS 0 -PASS_WARN_AGE 7 - -# -# Min/max values for automatic uid selection in useradd -# -UID_MIN 1000 -UID_MAX 60000 - -# -# Min/max values for automatic gid selection in groupadd -# -GID_MIN 100 -GID_MAX 60000 - -# -# Max number of login retries if password is bad. This will most likely be -# overridden by PAM, since the default pam_unix module has it's own built -# in of 3 retries. However, this is a safe fallback in case you are using -# an authentication module that does not enforce PAM_MAXTRIES. -# -LOGIN_RETRIES 5 - -# -# Max time in seconds for login -# -LOGIN_TIMEOUT 60 - -# -# Which fields may be changed by regular users using chfn - use -# any combination of letters "frwh" (full name, room number, work -# phone, home phone). If not defined, no changes are allowed. -# For backward compatibility, "yes" = "rwh" and "no" = "frwh". -# -CHFN_RESTRICT rwh - -# -# Should login be allowed if we can't cd to the home directory? -# Default is no. -# -DEFAULT_HOME yes - -# -# If defined, this command is run when removing a user. -# It should remove any at/cron/print jobs etc. owned by -# the user to be removed (passed as the first argument). -# -#USERDEL_CMD /usr/sbin/userdel_local - -# -# This enables userdel to remove user groups if no members exist. -# -# Other former uses of this variable such as setting the umask when -# user==primary group are not used in PAM environments, thus in Debian -# -USERGROUPS_ENAB yes - -# -# Instead of the real user shell, the program specified by this parameter -# will be launched, although its visible name (argv[0]) will be the shell's. -# The program may do whatever it wants (logging, additional authentification, -# banner, ...) before running the actual shell. -# -# FAKE_SHELL /bin/fakeshell - -# -# If defined, either full pathname of a file containing device names or -# a ":" delimited list of device names. Root logins will be allowed only -# upon these devices. -# -# This variable is used by login and su. -# -#CONSOLE /etc/consoles -#CONSOLE console:tty01:tty02:tty03:tty04 - -# -# List of groups to add to the user's supplementary group set -# when logging in on the console (as determined by the CONSOLE -# setting). Default is none. -# -# Use with caution - it is possible for users to gain permanent -# access to these groups, even when not logged in on the console. -# How to do it is left as an exercise for the reader... -# -# This variable is used by login and su. -# -#CONSOLE_GROUPS floppy:audio:cdrom - -# -# Only works if compiled with MD5_CRYPT defined: -# If set to "yes", new passwords will be encrypted using the MD5-based -# algorithm compatible with the one used by recent releases of FreeBSD. -# It supports passwords of unlimited length and longer salt strings. -# Set to "no" if you need to copy encrypted passwords to other systems -# which don't understand the new algorithm. Default is "no". -# -# This variable is used by chpasswd, gpasswd and newusers. -# -#MD5_CRYPT_ENAB no - -################# OBSOLETED BY PAM ############## -# # -# These options are now handled by PAM. Please # -# edit the appropriate file in /etc/pam.d/ to # -# enable the equivalents of them. -# -############### - -#MOTD_FILE -#DIALUPS_CHECK_ENAB -#LASTLOG_ENAB -#MAIL_CHECK_ENAB -#OBSCURE_CHECKS_ENAB -#PORTTIME_CHECKS_ENAB -#SU_WHEEL_ONLY -#PASS_CHANGE_TRIES -#PASS_ALWAYS_WARN -#ENVIRON_FILE -#NOLOGINS_FILE -#ISSUE_FILE -#PASS_MIN_LEN -#PASS_MAX_LEN -#ULIMIT -#ENV_HZ -#CHFN_AUTH -#CHSH_AUTH -#FAIL_DELAY - -################# OBSOLETED ####################### -# # -# These options are no more handled by shadow. # -# # -# Shadow utilities will display a warning if they # -# still appear. # -# # -################################################### - -# CLOSE_SESSIONS -# LOGIN_STRING -# NO_PASSWORD_CONSOLE -# QMAIL_DIR - - - diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/passwd b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/passwd deleted file mode 100644 index dbb06b81..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/passwd +++ /dev/null @@ -1,20 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:x:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:x:102:102::/var/spool/exim4:/bin/false -foo:x:1000:1000::/nonexistent:/bin/sh diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/shadow b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/shadow deleted file mode 100644 index 2baad3b4..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/shadow +++ /dev/null @@ -1,20 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -foo:!:12977:0:99999:7::: diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/cppw.test b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/cppw.test deleted file mode 100755 index 5ae4ef01..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/cppw.test +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../../common/config.sh -. ../../../common/log.sh - -log_start "$0" "cppw report failures when it cannot open the input passwd file" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Copy data/passwd (cppw data/passwd)..." -LD_PRELOAD=../../../common/fopen_failure.so FAILURE_PATH=/etc/passwd.new cppw data/passwd 2>tmp/cppw.err && exit 1 || { - status=$? -} -echo "OK" - -echo -n "Check returned status ($status)..." -test "$status" = "1" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/cppw.err -echo "=======================================================================" -echo -n "Check that there were a failure message..." -diff -au data/cppw.err tmp/cppw.err -echo "error message OK." -rm -f tmp/cppw.err - -echo -n "Check the passwd file..." -../../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/data/cppw.err b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/data/cppw.err deleted file mode 100644 index 78606fd5..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/data/cppw.err +++ /dev/null @@ -1,3 +0,0 @@ -fopen64 FAILURE /etc/passwd.new w ... -cppw: Couldn't make copy: Input/output error -cppw: /etc/passwd is unchanged diff --git a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/data/passwd b/tests/failures/cppw/02_cppw_open_passwd_backup_failure/data/passwd deleted file mode 100644 index e8e3c399..00000000 --- a/tests/failures/cppw/02_cppw_open_passwd_backup_failure/data/passwd +++ /dev/null @@ -1,17 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/config.txt b/tests/failures/cppw/03_cppw_rename_passwd_failure/config.txt deleted file mode 100644 index e9e4bbed..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/config.txt +++ /dev/null @@ -1 +0,0 @@ -group foo, GID 1000 diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/group b/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/group deleted file mode 100644 index fecba0c4..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/group +++ /dev/null @@ -1,42 +0,0 @@ -root:x:0: -daemon:x:1: -bin:x:2: -sys:x:3: -adm:x:4: -tty:x:5: -disk:x:6: -lp:x:7: -mail:x:8: -news:x:9: -uucp:x:10: -man:x:12: -proxy:x:13: -kmem:x:15: -dialout:x:20: -fax:x:21: -voice:x:22: -cdrom:x:24: -floppy:x:25: -tape:x:26: -sudo:x:27: -audio:x:29: -dip:x:30: -www-data:x:33: -backup:x:34: -operator:x:37: -list:x:38: -irc:x:39: -src:x:40: -gnats:x:41: -shadow:x:42: -utmp:x:43: -video:x:44: -sasl:x:45: -plugdev:x:46: -staff:x:50: -games:x:60: -users:x:100: -nogroup:x:65534: -crontab:x:101: -Debian-exim:x:102: -foo:x:1000: diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/gshadow b/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/gshadow deleted file mode 100644 index 5042e581..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/gshadow +++ /dev/null @@ -1,42 +0,0 @@ -root:*:: -daemon:*:: -bin:*:: -sys:*:: -adm:*:: -tty:*:: -disk:*:: -lp:*:: -mail:*:: -news:*:: -uucp:*:: -man:*:: -proxy:*:: -kmem:*:: -dialout:*:: -fax:*:: -voice:*:: -cdrom:*:: -floppy:*:: -tape:*:: -sudo:*:: -audio:*:: -dip:*:: -www-data:*:: -backup:*:: -operator:*:: -list:*:: -irc:*:: -src:*:: -gnats:*:: -shadow:*:: -utmp:*:: -video:*:: -sasl:*:: -plugdev:*:: -staff:*:: -games:*:: -users:*:: -nogroup:*:: -crontab:x:: -Debian-exim:x:: -foo:*:: diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/login.defs b/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/login.defs deleted file mode 100644 index cf181ac0..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/login.defs +++ /dev/null @@ -1,314 +0,0 @@ -# -# /etc/login.defs - Configuration control definitions for the login package. -# -# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. -# If unspecified, some arbitrary (and possibly incorrect) value will -# be assumed. All other items are optional - if not specified then -# the described action or option will be inhibited. -# -# Comment lines (lines beginning with "#") and blank lines are ignored. -# -# Modified for Linux. --marekm - -# REQUIRED for useradd/userdel/usermod -# Directory where mailboxes reside, _or_ name of file, relative to the -# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, -# MAIL_DIR takes precedence. -# -# Essentially: -# - MAIL_DIR defines the location of users mail spool files -# (for mbox use) by appending the username to MAIL_DIR as defined -# below. -# - MAIL_FILE defines the location of the users mail spool files as the -# fully-qualified filename obtained by prepending the user home -# directory before $MAIL_FILE -# -# NOTE: This is no more used for setting up users MAIL environment variable -# which is, starting from shadow 4.0.12-1 in Debian, entirely the -# job of the pam_mail PAM modules -# See default PAM configuration files provided for -# login, su, etc. -# -# This is a temporary situation: setting these variables will soon -# move to /etc/default/useradd and the variables will then be -# no more supported -MAIL_DIR /var/mail -#MAIL_FILE .mail - -# -# Enable logging and display of /var/log/faillog login failure info. -# This option conflicts with the pam_tally PAM module. -# -FAILLOG_ENAB yes - -# -# Enable display of unknown usernames when login failures are recorded. -# -# WARNING: Unknown usernames may become world readable. -# See #290803 and #298773 for details about how this could become a security -# concern -LOG_UNKFAIL_ENAB no - -# -# Enable logging of successful logins -# -LOG_OK_LOGINS no - -# -# Enable "syslog" logging of su activity - in addition to sulog file logging. -# SYSLOG_SG_ENAB does the same for newgrp and sg. -# -SYSLOG_SU_ENAB yes -SYSLOG_SG_ENAB yes - -# -# If defined, all su activity is logged to this file. -# -#SULOG_FILE /var/log/sulog - -# -# If defined, file which maps tty line to TERM environment parameter. -# Each line of the file is in a format something like "vt100 tty01". -# -#TTYTYPE_FILE /etc/ttytype - -# -# If defined, login failures will be logged here in a utmp format -# last, when invoked as lastb, will read /var/log/btmp, so... -# -FTMP_FILE /var/log/btmp - -# -# If defined, the command name to display when running "su -". For -# example, if this is defined as "su" then a "ps" will display the -# command is "-su". If not defined, then "ps" would display the -# name of the shell actually being run, e.g. something like "-sh". -# -SU_NAME su - -# -# If defined, file which inhibits all the usual chatter during the login -# sequence. If a full pathname, then hushed mode will be enabled if the -# user's name or shell are found in the file. If not a full pathname, then -# hushed mode will be enabled if the file exists in the user's home directory. -# -HUSHLOGIN_FILE .hushlogin -#HUSHLOGIN_FILE /etc/hushlogins - -# -# *REQUIRED* The default PATH settings, for superuser and normal users. -# -# (they are minimal, add the rest in the shell startup files) -ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games - -# -# Terminal permissions -# -# TTYGROUP Login tty will be assigned this group ownership. -# TTYPERM Login tty will be set to this permission. -# -# If you have a "write" program which is "setgid" to a special group -# which owns the terminals, define TTYGROUP to the group number and -# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign -# TTYPERM to either 622 or 600. -# -# In Debian /usr/bin/bsd-write or similar programs are setgid tty -# However, the default and recommended value for TTYPERM is still 0600 -# to not allow anyone to write to anyone else console or terminal - -# Users can still allow other people to write them by issuing -# the "mesg y" command. - -TTYGROUP tty -TTYPERM 0600 - -# -# Login configuration initializations: -# -# ERASECHAR Terminal ERASE character ('\010' = backspace). -# KILLCHAR Terminal KILL character ('\025' = CTRL/U). -# UMASK Default "umask" value. -# -# The ERASECHAR and KILLCHAR are used only on System V machines. -# -# UMASK usage is discouraged because it catches only some classes of user -# entries to system, in fact only those made through login(1), while setting -# umask in shell rc file will catch also logins through su, cron, ssh etc. -# -# At the same time, using shell rc to set umask won't catch entries which use -# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" -# user and alike. -# -# Therefore the use of pam_umask is recommended (Debian package libpam-umask) -# as the solution which catches all these cases on PAM-enabled systems. -# -# This avoids the confusion created by having the umask set -# in two different places -- in login.defs and shell rc files (i.e. -# /etc/profile). -# -# For discussion, see #314539 and #248150 as well as the thread starting at -# http://lists.debian.org/debian-devel/2005/06/msg01598.html -# -# Prefix these values with "0" to get octal, "0x" to get hexadecimal. -# -ERASECHAR 0177 -KILLCHAR 025 -# 022 is the "historical" value in Debian for UMASK when it was used -# 027, or even 077, could be considered better for privacy -# There is no One True Answer here : each sysadmin must make up their -# mind. -#UMASK 022 - -# -# Password aging controls: -# -# PASS_MAX_DAYS Maximum number of days a password may be used. -# PASS_MIN_DAYS Minimum number of days allowed between password changes. -# PASS_WARN_AGE Number of days warning given before a password expires. -# -PASS_MAX_DAYS 99999 -PASS_MIN_DAYS 0 -PASS_WARN_AGE 7 - -# -# Min/max values for automatic uid selection in useradd -# -UID_MIN 1000 -UID_MAX 60000 - -# -# Min/max values for automatic gid selection in groupadd -# -GID_MIN 100 -GID_MAX 60000 - -# -# Max number of login retries if password is bad. This will most likely be -# overridden by PAM, since the default pam_unix module has it's own built -# in of 3 retries. However, this is a safe fallback in case you are using -# an authentication module that does not enforce PAM_MAXTRIES. -# -LOGIN_RETRIES 5 - -# -# Max time in seconds for login -# -LOGIN_TIMEOUT 60 - -# -# Which fields may be changed by regular users using chfn - use -# any combination of letters "frwh" (full name, room number, work -# phone, home phone). If not defined, no changes are allowed. -# For backward compatibility, "yes" = "rwh" and "no" = "frwh". -# -CHFN_RESTRICT rwh - -# -# Should login be allowed if we can't cd to the home directory? -# Default is no. -# -DEFAULT_HOME yes - -# -# If defined, this command is run when removing a user. -# It should remove any at/cron/print jobs etc. owned by -# the user to be removed (passed as the first argument). -# -#USERDEL_CMD /usr/sbin/userdel_local - -# -# This enables userdel to remove user groups if no members exist. -# -# Other former uses of this variable such as setting the umask when -# user==primary group are not used in PAM environments, thus in Debian -# -USERGROUPS_ENAB yes - -# -# Instead of the real user shell, the program specified by this parameter -# will be launched, although its visible name (argv[0]) will be the shell's. -# The program may do whatever it wants (logging, additional authentification, -# banner, ...) before running the actual shell. -# -# FAKE_SHELL /bin/fakeshell - -# -# If defined, either full pathname of a file containing device names or -# a ":" delimited list of device names. Root logins will be allowed only -# upon these devices. -# -# This variable is used by login and su. -# -#CONSOLE /etc/consoles -#CONSOLE console:tty01:tty02:tty03:tty04 - -# -# List of groups to add to the user's supplementary group set -# when logging in on the console (as determined by the CONSOLE -# setting). Default is none. -# -# Use with caution - it is possible for users to gain permanent -# access to these groups, even when not logged in on the console. -# How to do it is left as an exercise for the reader... -# -# This variable is used by login and su. -# -#CONSOLE_GROUPS floppy:audio:cdrom - -# -# Only works if compiled with MD5_CRYPT defined: -# If set to "yes", new passwords will be encrypted using the MD5-based -# algorithm compatible with the one used by recent releases of FreeBSD. -# It supports passwords of unlimited length and longer salt strings. -# Set to "no" if you need to copy encrypted passwords to other systems -# which don't understand the new algorithm. Default is "no". -# -# This variable is used by chpasswd, gpasswd and newusers. -# -#MD5_CRYPT_ENAB no - -################# OBSOLETED BY PAM ############## -# # -# These options are now handled by PAM. Please # -# edit the appropriate file in /etc/pam.d/ to # -# enable the equivalents of them. -# -############### - -#MOTD_FILE -#DIALUPS_CHECK_ENAB -#LASTLOG_ENAB -#MAIL_CHECK_ENAB -#OBSCURE_CHECKS_ENAB -#PORTTIME_CHECKS_ENAB -#SU_WHEEL_ONLY -#PASS_CHANGE_TRIES -#PASS_ALWAYS_WARN -#ENVIRON_FILE -#NOLOGINS_FILE -#ISSUE_FILE -#PASS_MIN_LEN -#PASS_MAX_LEN -#ULIMIT -#ENV_HZ -#CHFN_AUTH -#CHSH_AUTH -#FAIL_DELAY - -################# OBSOLETED ####################### -# # -# These options are no more handled by shadow. # -# # -# Shadow utilities will display a warning if they # -# still appear. # -# # -################################################### - -# CLOSE_SESSIONS -# LOGIN_STRING -# NO_PASSWORD_CONSOLE -# QMAIL_DIR - - - diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/passwd b/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/passwd deleted file mode 100644 index 8656be41..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/passwd +++ /dev/null @@ -1,20 +0,0 @@ -root:*:0:0:root:/root:/bin/bash -daemon:*:1:1:daemon:/usr/sbin:/bin/sh -bin:*:2:2:bin:/bin:/bin/sh -sys:*:3:3:sys:/dev:/bin/sh -sync:*:4:65534:sync:/bin:/bin/sync -games:*:5:60:games:/usr/games:/bin/sh -man:*:6:12:man:/var/cache/man:/bin/sh -lp:*:7:7:lp:/var/spool/lpd:/bin/sh -mail:*:8:8:mail:/var/mail:/bin/sh -news:*:9:9:news:/var/spool/news:/bin/sh -uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:*:13:13:proxy:/bin:/bin/sh -www-data:*:33:33:www-data:/var/www:/bin/sh -backup:*:34:34:backup:/var/backups:/bin/sh -list:*:38:38:Mailing List Manager:/var/list:/bin/sh -irc:*:39:39:ircd:/var/run/ircd:/bin/sh -gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh -nobody:*:65534:65534:nobody:/nonexistent:/bin/sh -Debian-exim:*:102:102::/var/spool/exim4:/bin/false -foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/shadow b/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/shadow deleted file mode 100644 index 2baad3b4..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/shadow +++ /dev/null @@ -1,20 +0,0 @@ -root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: -daemon:*:12977:0:99999:7::: -bin:*:12977:0:99999:7::: -sys:*:12977:0:99999:7::: -sync:*:12977:0:99999:7::: -games:*:12977:0:99999:7::: -man:*:12977:0:99999:7::: -lp:*:12977:0:99999:7::: -mail:*:12977:0:99999:7::: -news:*:12977:0:99999:7::: -uucp:*:12977:0:99999:7::: -proxy:*:12977:0:99999:7::: -www-data:*:12977:0:99999:7::: -backup:*:12977:0:99999:7::: -list:*:12977:0:99999:7::: -irc:*:12977:0:99999:7::: -gnats:*:12977:0:99999:7::: -nobody:*:12977:0:99999:7::: -Debian-exim:!:12977:0:99999:7::: -foo:!:12977:0:99999:7::: diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/cppw.test b/tests/failures/cppw/03_cppw_rename_passwd_failure/cppw.test deleted file mode 100755 index 2e809a7d..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/cppw.test +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -set -e - -cd $(dirname $0) - -. ../../../common/config.sh -. ../../../common/log.sh - -log_start "$0" "cppw report failures to write the passwd file" - -save_config - -# restore the files on exit -trap 'log_status "$0" "FAILURE"; restore_config' 0 - -change_config - -echo -n "Copy data/passwd (cppw data/passwd)..." -LD_PRELOAD=../../../common/rename_failure.so FAILURE_PATH=/etc/passwd cppw data/passwd 2>tmp/cppw.err && exit 1 || { - status=$? -} -echo "OK" - -echo -n "Check returned status ($status)..." -test "$status" = "1" -echo "OK" - -echo "cppw reported:" -echo "=======================================================================" -cat tmp/cppw.err -echo "=======================================================================" -echo -n "Check that there were a failure message..." -diff -au data/cppw.err tmp/cppw.err -echo "error message OK." -rm -f tmp/cppw.err - -echo -n "Check the passwd file..." -../../../common/compare_file.pl config/etc/passwd /etc/passwd -echo "OK" -echo -n "Check the group file..." -../../../common/compare_file.pl config/etc/group /etc/group -echo "OK" -echo -n "Check the shadow file..." -../../../common/compare_file.pl config/etc/shadow /etc/shadow -echo "OK" -echo -n "Check the gshadow file..." -../../../common/compare_file.pl config/etc/gshadow /etc/gshadow -echo "OK" - -log_status "$0" "SUCCESS" -restore_config -trap '' 0 - diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/data/cppw.err b/tests/failures/cppw/03_cppw_rename_passwd_failure/data/cppw.err deleted file mode 100644 index 7e27e3e4..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/data/cppw.err +++ /dev/null @@ -1,3 +0,0 @@ -rename FAILURE /etc/passwd.new /etc/passwd -cppw: can't copy /etc/passwd.new: Input/output error) -cppw: /etc/passwd is unchanged diff --git a/tests/failures/cppw/03_cppw_rename_passwd_failure/data/passwd b/tests/failures/cppw/03_cppw_rename_passwd_failure/data/passwd deleted file mode 100644 index e8e3c399..00000000 --- a/tests/failures/cppw/03_cppw_rename_passwd_failure/data/passwd +++ /dev/null @@ -1,17 +0,0 @@ -root:x:0:0:root:/root:/bin/bash -daemon:x:1:1:daemon:/usr/sbin:/bin/sh -bin:x:2:2:bin:/bin:/bin/sh -sys:x:3:3:sys:/dev:/bin/sh -sync:x:4:65534:sync:/bin:/bin/sync -games:x:5:60:games:/usr/games:/bin/sh -man:x:6:12:man:/var/cache/man:/bin/sh -lp:x:7:7:lp:/var/spool/lpd:/bin/sh -mail:x:8:8:mail:/var/mail:/bin/sh -news:x:9:9:news:/var/spool/news:/bin/sh -uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh -proxy:x:13:13:proxy:/bin:/bin/sh -www-data:x:33:33:www-data:/var/www:/bin/sh -backup:x:34:34:backup:/var/backups:/bin/sh -list:x:38:38:Mailing List Manager:/var/list:/bin/sh -irc:x:39:39:ircd:/var/run/ircd:/bin/sh -gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh diff --git a/tests/libsubid/04_nss/Makefile b/tests/libsubid/04_nss/Makefile index 7d7ae3e6..3fbf989e 100644 --- a/tests/libsubid/04_nss/Makefile +++ b/tests/libsubid/04_nss/Makefile @@ -1,7 +1,7 @@ all: test_nss libsubid_zzz.so -BASE_TEST_DIR ?= $(shell git rev-parse --show-toplevel) -basedir := $(BASE_TEST_DIR) +BUILD_BASE_DIR ?= $(shell git rev-parse --show-toplevel) +basedir := $(BUILD_BASE_DIR) test_nss: test_nss.c $(basedir)/lib/nss.c gcc -c -I$(basedir)/lib/ -I$(basedir) -o test_nss.o test_nss.c diff --git a/tests/libsubid/04_nss/libsubid_zzz.c b/tests/libsubid/04_nss/libsubid_zzz.c index 1a9de237..d8141ba3 100644 --- a/tests/libsubid/04_nss/libsubid_zzz.c +++ b/tests/libsubid/04_nss/libsubid_zzz.c @@ -4,7 +4,7 @@ #include #include #include -#include "alloc.h" +#include "alloc/malloc.h" enum subid_status shadow_subid_has_any_range(const char *owner, enum subid_type t, bool *result) { @@ -138,3 +138,8 @@ enum subid_status shadow_subid_list_owner_ranges(const char *owner, enum subid_t return SUBID_STATUS_SUCCESS; } + +void shadow_subid_free(void *ptr) +{ + free(ptr); +} diff --git a/tests/run_all b/tests/run_all index ba6993aa..584e1bd3 100755 --- a/tests/run_all +++ b/tests/run_all @@ -233,17 +233,6 @@ run_test ./convtools/31_pwconv_usage/pwconv.test run_test ./convtools/32_pwconv_usage_extra_arg/pwconv.test run_test ./convtools/33_grpunconv_usage/grpunconv.test run_test ./convtools/34_grpunconv_usage_extra_arg/grpunconv.test -run_test ./cptools/02_cppw_usage/cppw.test -run_test ./cptools/03_cppw_usage_invalid_option/cppw.test -run_test ./cptools/04_cppw_no_file_argument/cppw.test -run_test ./cptools/05_cppw_2_files/cppw.test -run_test ./cptools/06_cppw_no_file/cppw.test -run_test ./cptools/07_cppw_locked_passwd/cppw.test -run_test ./cptools/08_cppw-p/cppw.test -run_test ./cptools/09_cppw-g/cppw.test -run_test ./cptools/10_cppw-g-s/cppw.test -run_test ./cptools/11_cppw-p-s/cppw.test -run_test ./cptools/12_cppw-s_no_shadow_file/cppw.test run_test ./debian/01/run run_test ./grouptools/chgpasswd/01_chgpasswd_invalid_group/chgpasswd.test run_test ./grouptools/chgpasswd/02_chgpasswd_multiple_groups/chgpasswd.test @@ -845,10 +834,6 @@ run_test ./usertools/usermod/49_usermod_change_gid+move_homedir_other_device/use run_test ./usertools/usermod/50_usermod_change_uid+move_homedir/usermod.test run_test ./usertools/usermod/51_usermod_change_gid+move_homedir/usermod.test run_test ./usertools/usermod/52_usermod_move_homedir_symlink/usermod.test -run_test ./cptools/01/run1 -run_test ./cptools/01/run2 -run_test ./cptools/01/run3 -run_test ./cptools/01/run4 run_test ./cktools/01/run1 run_test ./cktools/01/run2 run_test ./cktools/02_pwck_sort/pwck.test @@ -1060,9 +1045,6 @@ if [ "$USE_PAM" = "yes" ]; then fi run_test ./failures/chsh/01_chsh_open_passwd_failure/chsh.test run_test ./failures/chsh/02_chsh_rename_passwd_failure/chsh.test -run_test ./failures/cppw/01_cppw_open_passwd_in_failure/cppw.test -run_test ./failures/cppw/02_cppw_open_passwd_backup_failure/cppw.test -run_test ./failures/cppw/03_cppw_rename_passwd_failure/cppw.test run_test ./failures/gpasswd/01_gpasswd_group_open_failure/gpasswd.test run_test ./failures/gpasswd/02_gpasswd_gshadow_open_failure/gpasswd.test run_test ./failures/gpasswd/03_gpasswd-a_group_open_failure/gpasswd.test diff --git a/tests/run_all.coverage b/tests/run_all.coverage index d865c0eb..94fe7fa4 100755 --- a/tests/run_all.coverage +++ b/tests/run_all.coverage @@ -249,17 +249,6 @@ run_test ./convtools/31_pwconv_usage/pwconv.test run_test ./convtools/32_pwconv_usage_extra_arg/pwconv.test run_test ./convtools/33_grpunconv_usage/grpunconv.test run_test ./convtools/34_grpunconv_usage_extra_arg/grpunconv.test -run_test ./cptools/02_cppw_usage/cppw.test -run_test ./cptools/03_cppw_usage_invalid_option/cppw.test -run_test ./cptools/04_cppw_no_file_argument/cppw.test -run_test ./cptools/05_cppw_2_files/cppw.test -run_test ./cptools/06_cppw_no_file/cppw.test -run_test ./cptools/07_cppw_locked_passwd/cppw.test -run_test ./cptools/08_cppw-p/cppw.test -run_test ./cptools/09_cppw-g/cppw.test -run_test ./cptools/10_cppw-g-s/cppw.test -run_test ./cptools/11_cppw-p-s/cppw.test -run_test ./cptools/12_cppw-s_no_shadow_file/cppw.test run_test ./debian/01/run run_test ./grouptools/chgpasswd/01_chgpasswd_invalid_group/chgpasswd.test run_test ./grouptools/chgpasswd/02_chgpasswd_multiple_groups/chgpasswd.test @@ -861,10 +850,6 @@ run_test ./usertools/usermod/49_usermod_change_gid+move_homedir_other_device/use run_test ./usertools/usermod/50_usermod_change_uid+move_homedir/usermod.test run_test ./usertools/usermod/51_usermod_change_gid+move_homedir/usermod.test run_test ./usertools/usermod/52_usermod_move_homedir_symlink/usermod.test -run_test ./cptools/01/run1 -run_test ./cptools/01/run2 -run_test ./cptools/01/run3 -run_test ./cptools/01/run4 run_test ./cktools/01/run1 run_test ./cktools/01/run2 run_test ./cktools/02_pwck_sort/pwck.test @@ -1076,9 +1061,6 @@ if [ "$USE_PAM" = "yes" ]; then fi run_test ./failures/chsh/01_chsh_open_passwd_failure/chsh.test run_test ./failures/chsh/02_chsh_rename_passwd_failure/chsh.test -run_test ./failures/cppw/01_cppw_open_passwd_in_failure/cppw.test -run_test ./failures/cppw/02_cppw_open_passwd_backup_failure/cppw.test -run_test ./failures/cppw/03_cppw_rename_passwd_failure/cppw.test run_test ./failures/gpasswd/01_gpasswd_group_open_failure/gpasswd.test run_test ./failures/gpasswd/02_gpasswd_gshadow_open_failure/gpasswd.test run_test ./failures/gpasswd/03_gpasswd-a_group_open_failure/gpasswd.test diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am index d89367a3..6a83973d 100644 --- a/tests/unit/Makefile.am +++ b/tests/unit/Makefile.am @@ -7,11 +7,11 @@ check_PROGRAMS = \ test_adds \ test_atoi_strtoi \ test_chkname \ - test_sprintf \ + test_snprintf \ test_strncpy \ test_strtcpy \ - test_xasprintf \ - test_zustr2stp + test_typetraits \ + test_xasprintf if ENABLE_LOGIND check_PROGRAMS += \ @@ -35,7 +35,8 @@ test_adds_LDADD = \ $(NULL) test_atoi_strtoi_SOURCES = \ - ../../lib/atoi/strtoi.c \ + ../../lib/atoi/strtoi/strtoi.c \ + ../../lib/atoi/strtoi/strtou_noneg.c \ test_atoi_strtoi.c \ $(NULL) test_atoi_strtoi_CFLAGS = \ @@ -77,16 +78,16 @@ test_logind_LDADD = \ $(LIBSYSTEMD) \ $(NULL) -test_sprintf_SOURCES = \ - ../../lib/string/sprintf.c \ - test_sprintf.c \ +test_snprintf_SOURCES = \ + ../../lib/string/sprintf/snprintf.c \ + test_snprintf.c \ $(NULL) -test_sprintf_CFLAGS = \ +test_snprintf_CFLAGS = \ $(AM_CFLAGS) \ $(NULL) -test_sprintf_LDFLAGS = \ +test_snprintf_LDFLAGS = \ $(NULL) -test_sprintf_LDADD = \ +test_snprintf_LDADD = \ $(CMOCKA_LIBS) \ $(NULL) @@ -103,7 +104,7 @@ test_strncpy_LDADD = \ $(NULL) test_strtcpy_SOURCES = \ - ../../lib/string/strtcpy.c \ + ../../lib/string/strcpy/strtcpy.c \ test_strtcpy.c \ $(NULL) test_strtcpy_CFLAGS = \ @@ -115,8 +116,20 @@ test_strtcpy_LDADD = \ $(CMOCKA_LIBS) \ $(NULL) +test_typetraits_SOURCES = \ + test_typetraits.c \ + $(NULL) +test_typetraits_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_typetraits_LDFLAGS = \ + $(NULL) +test_typetraits_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + test_xasprintf_SOURCES = \ - ../../lib/string/sprintf.c \ + ../../lib/string/sprintf/xasprintf.c \ test_xasprintf.c \ $(NULL) test_xasprintf_CFLAGS = \ @@ -130,16 +143,4 @@ test_xasprintf_LDADD = \ $(CMOCKA_LIBS) \ $(NULL) -test_zustr2stp_SOURCES = \ - test_zustr2stp.c \ - $(NULL) -test_zustr2stp_CFLAGS = \ - $(AM_CFLAGS) \ - $(NULL) -test_zustr2stp_LDFLAGS = \ - $(NULL) -test_zustr2stp_LDADD = \ - $(CMOCKA_LIBS) \ - $(NULL) - endif # HAVE_CMOCKA diff --git a/tests/unit/Makefile.in b/tests/unit/Makefile.in index 108070c3..334d01a0 100644 --- a/tests/unit/Makefile.in +++ b/tests/unit/Makefile.in @@ -89,10 +89,10 @@ build_triplet = @build@ host_triplet = @host@ @HAVE_CMOCKA_TRUE@check_PROGRAMS = test_adds$(EXEEXT) \ @HAVE_CMOCKA_TRUE@ test_atoi_strtoi$(EXEEXT) \ -@HAVE_CMOCKA_TRUE@ test_chkname$(EXEEXT) test_sprintf$(EXEEXT) \ +@HAVE_CMOCKA_TRUE@ test_chkname$(EXEEXT) test_snprintf$(EXEEXT) \ @HAVE_CMOCKA_TRUE@ test_strncpy$(EXEEXT) test_strtcpy$(EXEEXT) \ -@HAVE_CMOCKA_TRUE@ test_xasprintf$(EXEEXT) \ -@HAVE_CMOCKA_TRUE@ test_zustr2stp$(EXEEXT) $(am__EXEEXT_1) +@HAVE_CMOCKA_TRUE@ test_typetraits$(EXEEXT) \ +@HAVE_CMOCKA_TRUE@ test_xasprintf$(EXEEXT) $(am__EXEEXT_1) @ENABLE_LOGIND_TRUE@@HAVE_CMOCKA_TRUE@am__append_1 = \ @ENABLE_LOGIND_TRUE@@HAVE_CMOCKA_TRUE@ test_logind @@ -131,9 +131,10 @@ am__v_lt_1 = test_adds_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_adds_CFLAGS) \ $(CFLAGS) $(test_adds_LDFLAGS) $(LDFLAGS) -o $@ -am__test_atoi_strtoi_SOURCES_DIST = ../../lib/atoi/strtoi.c \ - test_atoi_strtoi.c -@HAVE_CMOCKA_TRUE@am_test_atoi_strtoi_OBJECTS = ../../lib/atoi/test_atoi_strtoi-strtoi.$(OBJEXT) \ +am__test_atoi_strtoi_SOURCES_DIST = ../../lib/atoi/strtoi/strtoi.c \ + ../../lib/atoi/strtoi/strtou_noneg.c test_atoi_strtoi.c +@HAVE_CMOCKA_TRUE@am_test_atoi_strtoi_OBJECTS = ../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ ../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.$(OBJEXT) \ @HAVE_CMOCKA_TRUE@ test_atoi_strtoi-test_atoi_strtoi.$(OBJEXT) test_atoi_strtoi_OBJECTS = $(am_test_atoi_strtoi_OBJECTS) @HAVE_CMOCKA_TRUE@test_atoi_strtoi_DEPENDENCIES = \ @@ -161,15 +162,15 @@ test_logind_OBJECTS = $(am_test_logind_OBJECTS) test_logind_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_logind_CFLAGS) \ $(CFLAGS) $(test_logind_LDFLAGS) $(LDFLAGS) -o $@ -am__test_sprintf_SOURCES_DIST = ../../lib/string/sprintf.c \ - test_sprintf.c -@HAVE_CMOCKA_TRUE@am_test_sprintf_OBJECTS = ../../lib/string/test_sprintf-sprintf.$(OBJEXT) \ -@HAVE_CMOCKA_TRUE@ test_sprintf-test_sprintf.$(OBJEXT) -test_sprintf_OBJECTS = $(am_test_sprintf_OBJECTS) -@HAVE_CMOCKA_TRUE@test_sprintf_DEPENDENCIES = $(am__DEPENDENCIES_1) -test_sprintf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_sprintf_CFLAGS) \ - $(CFLAGS) $(test_sprintf_LDFLAGS) $(LDFLAGS) -o $@ +am__test_snprintf_SOURCES_DIST = ../../lib/string/sprintf/snprintf.c \ + test_snprintf.c +@HAVE_CMOCKA_TRUE@am_test_snprintf_OBJECTS = ../../lib/string/sprintf/test_snprintf-snprintf.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_snprintf-test_snprintf.$(OBJEXT) +test_snprintf_OBJECTS = $(am_test_snprintf_OBJECTS) +@HAVE_CMOCKA_TRUE@test_snprintf_DEPENDENCIES = $(am__DEPENDENCIES_1) +test_snprintf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_snprintf_CFLAGS) \ + $(CFLAGS) $(test_snprintf_LDFLAGS) $(LDFLAGS) -o $@ am__test_strncpy_SOURCES_DIST = test_strncpy.c @HAVE_CMOCKA_TRUE@am_test_strncpy_OBJECTS = \ @HAVE_CMOCKA_TRUE@ test_strncpy-test_strncpy.$(OBJEXT) @@ -178,18 +179,28 @@ test_strncpy_OBJECTS = $(am_test_strncpy_OBJECTS) test_strncpy_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_strncpy_CFLAGS) \ $(CFLAGS) $(test_strncpy_LDFLAGS) $(LDFLAGS) -o $@ -am__test_strtcpy_SOURCES_DIST = ../../lib/string/strtcpy.c \ +am__test_strtcpy_SOURCES_DIST = ../../lib/string/strcpy/strtcpy.c \ test_strtcpy.c -@HAVE_CMOCKA_TRUE@am_test_strtcpy_OBJECTS = ../../lib/string/test_strtcpy-strtcpy.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@am_test_strtcpy_OBJECTS = ../../lib/string/strcpy/test_strtcpy-strtcpy.$(OBJEXT) \ @HAVE_CMOCKA_TRUE@ test_strtcpy-test_strtcpy.$(OBJEXT) test_strtcpy_OBJECTS = $(am_test_strtcpy_OBJECTS) @HAVE_CMOCKA_TRUE@test_strtcpy_DEPENDENCIES = $(am__DEPENDENCIES_1) test_strtcpy_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_strtcpy_CFLAGS) \ $(CFLAGS) $(test_strtcpy_LDFLAGS) $(LDFLAGS) -o $@ -am__test_xasprintf_SOURCES_DIST = ../../lib/string/sprintf.c \ - test_xasprintf.c -@HAVE_CMOCKA_TRUE@am_test_xasprintf_OBJECTS = ../../lib/string/test_xasprintf-sprintf.$(OBJEXT) \ +am__test_typetraits_SOURCES_DIST = test_typetraits.c +@HAVE_CMOCKA_TRUE@am_test_typetraits_OBJECTS = \ +@HAVE_CMOCKA_TRUE@ test_typetraits-test_typetraits.$(OBJEXT) +test_typetraits_OBJECTS = $(am_test_typetraits_OBJECTS) +@HAVE_CMOCKA_TRUE@test_typetraits_DEPENDENCIES = \ +@HAVE_CMOCKA_TRUE@ $(am__DEPENDENCIES_1) +test_typetraits_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(test_typetraits_CFLAGS) $(CFLAGS) $(test_typetraits_LDFLAGS) \ + $(LDFLAGS) -o $@ +am__test_xasprintf_SOURCES_DIST = \ + ../../lib/string/sprintf/xasprintf.c test_xasprintf.c +@HAVE_CMOCKA_TRUE@am_test_xasprintf_OBJECTS = ../../lib/string/sprintf/test_xasprintf-xasprintf.$(OBJEXT) \ @HAVE_CMOCKA_TRUE@ test_xasprintf-test_xasprintf.$(OBJEXT) test_xasprintf_OBJECTS = $(am_test_xasprintf_OBJECTS) @HAVE_CMOCKA_TRUE@test_xasprintf_DEPENDENCIES = $(am__DEPENDENCIES_1) @@ -197,15 +208,6 @@ test_xasprintf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(test_xasprintf_CFLAGS) $(CFLAGS) $(test_xasprintf_LDFLAGS) \ $(LDFLAGS) -o $@ -am__test_zustr2stp_SOURCES_DIST = test_zustr2stp.c -@HAVE_CMOCKA_TRUE@am_test_zustr2stp_OBJECTS = \ -@HAVE_CMOCKA_TRUE@ test_zustr2stp-test_zustr2stp.$(OBJEXT) -test_zustr2stp_OBJECTS = $(am_test_zustr2stp_OBJECTS) -@HAVE_CMOCKA_TRUE@test_zustr2stp_DEPENDENCIES = $(am__DEPENDENCIES_1) -test_zustr2stp_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(test_zustr2stp_CFLAGS) $(CFLAGS) $(test_zustr2stp_LDFLAGS) \ - $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -224,19 +226,20 @@ am__maybe_remake_depfiles = depfiles am__depfiles_remade = ../../lib/$(DEPDIR)/test_adds-adds.Po \ ../../lib/$(DEPDIR)/test_chkname-chkname.Po \ ../../lib/$(DEPDIR)/test_logind-logind.Po \ - ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po \ - ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po \ - ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po \ - ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po \ + ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po \ + ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Po \ + ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Po \ + ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Po \ + ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Po \ ./$(DEPDIR)/test_adds-test_adds.Po \ ./$(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po \ ./$(DEPDIR)/test_chkname-test_chkname.Po \ ./$(DEPDIR)/test_logind-test_logind.Po \ - ./$(DEPDIR)/test_sprintf-test_sprintf.Po \ + ./$(DEPDIR)/test_snprintf-test_snprintf.Po \ ./$(DEPDIR)/test_strncpy-test_strncpy.Po \ ./$(DEPDIR)/test_strtcpy-test_strtcpy.Po \ - ./$(DEPDIR)/test_xasprintf-test_xasprintf.Po \ - ./$(DEPDIR)/test_zustr2stp-test_zustr2stp.Po + ./$(DEPDIR)/test_typetraits-test_typetraits.Po \ + ./$(DEPDIR)/test_xasprintf-test_xasprintf.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -258,18 +261,18 @@ am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(test_adds_SOURCES) $(test_atoi_strtoi_SOURCES) \ $(test_chkname_SOURCES) $(test_logind_SOURCES) \ - $(test_sprintf_SOURCES) $(test_strncpy_SOURCES) \ - $(test_strtcpy_SOURCES) $(test_xasprintf_SOURCES) \ - $(test_zustr2stp_SOURCES) + $(test_snprintf_SOURCES) $(test_strncpy_SOURCES) \ + $(test_strtcpy_SOURCES) $(test_typetraits_SOURCES) \ + $(test_xasprintf_SOURCES) DIST_SOURCES = $(am__test_adds_SOURCES_DIST) \ $(am__test_atoi_strtoi_SOURCES_DIST) \ $(am__test_chkname_SOURCES_DIST) \ $(am__test_logind_SOURCES_DIST) \ - $(am__test_sprintf_SOURCES_DIST) \ + $(am__test_snprintf_SOURCES_DIST) \ $(am__test_strncpy_SOURCES_DIST) \ $(am__test_strtcpy_SOURCES_DIST) \ - $(am__test_xasprintf_SOURCES_DIST) \ - $(am__test_zustr2stp_SOURCES_DIST) + $(am__test_typetraits_SOURCES_DIST) \ + $(am__test_xasprintf_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -531,7 +534,6 @@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -697,7 +699,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) @HAVE_CMOCKA_TRUE@ $(NULL) @HAVE_CMOCKA_TRUE@test_atoi_strtoi_SOURCES = \ -@HAVE_CMOCKA_TRUE@ ../../lib/atoi/strtoi.c \ +@HAVE_CMOCKA_TRUE@ ../../lib/atoi/strtoi/strtoi.c \ +@HAVE_CMOCKA_TRUE@ ../../lib/atoi/strtoi/strtou_noneg.c \ @HAVE_CMOCKA_TRUE@ test_atoi_strtoi.c \ @HAVE_CMOCKA_TRUE@ $(NULL) @@ -748,19 +751,19 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) @HAVE_CMOCKA_TRUE@ $(LIBSYSTEMD) \ @HAVE_CMOCKA_TRUE@ $(NULL) -@HAVE_CMOCKA_TRUE@test_sprintf_SOURCES = \ -@HAVE_CMOCKA_TRUE@ ../../lib/string/sprintf.c \ -@HAVE_CMOCKA_TRUE@ test_sprintf.c \ +@HAVE_CMOCKA_TRUE@test_snprintf_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/string/sprintf/snprintf.c \ +@HAVE_CMOCKA_TRUE@ test_snprintf.c \ @HAVE_CMOCKA_TRUE@ $(NULL) -@HAVE_CMOCKA_TRUE@test_sprintf_CFLAGS = \ +@HAVE_CMOCKA_TRUE@test_snprintf_CFLAGS = \ @HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ @HAVE_CMOCKA_TRUE@ $(NULL) -@HAVE_CMOCKA_TRUE@test_sprintf_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@test_snprintf_LDFLAGS = \ @HAVE_CMOCKA_TRUE@ $(NULL) -@HAVE_CMOCKA_TRUE@test_sprintf_LDADD = \ +@HAVE_CMOCKA_TRUE@test_snprintf_LDADD = \ @HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ @HAVE_CMOCKA_TRUE@ $(NULL) @@ -780,7 +783,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) @HAVE_CMOCKA_TRUE@ $(NULL) @HAVE_CMOCKA_TRUE@test_strtcpy_SOURCES = \ -@HAVE_CMOCKA_TRUE@ ../../lib/string/strtcpy.c \ +@HAVE_CMOCKA_TRUE@ ../../lib/string/strcpy/strtcpy.c \ @HAVE_CMOCKA_TRUE@ test_strtcpy.c \ @HAVE_CMOCKA_TRUE@ $(NULL) @@ -795,8 +798,23 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) @HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ @HAVE_CMOCKA_TRUE@ $(NULL) +@HAVE_CMOCKA_TRUE@test_typetraits_SOURCES = \ +@HAVE_CMOCKA_TRUE@ test_typetraits.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_typetraits_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_typetraits_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_typetraits_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + @HAVE_CMOCKA_TRUE@test_xasprintf_SOURCES = \ -@HAVE_CMOCKA_TRUE@ ../../lib/string/sprintf.c \ +@HAVE_CMOCKA_TRUE@ ../../lib/string/sprintf/xasprintf.c \ @HAVE_CMOCKA_TRUE@ test_xasprintf.c \ @HAVE_CMOCKA_TRUE@ $(NULL) @@ -813,21 +831,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) @HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ @HAVE_CMOCKA_TRUE@ $(NULL) -@HAVE_CMOCKA_TRUE@test_zustr2stp_SOURCES = \ -@HAVE_CMOCKA_TRUE@ test_zustr2stp.c \ -@HAVE_CMOCKA_TRUE@ $(NULL) - -@HAVE_CMOCKA_TRUE@test_zustr2stp_CFLAGS = \ -@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ -@HAVE_CMOCKA_TRUE@ $(NULL) - -@HAVE_CMOCKA_TRUE@test_zustr2stp_LDFLAGS = \ -@HAVE_CMOCKA_TRUE@ $(NULL) - -@HAVE_CMOCKA_TRUE@test_zustr2stp_LDADD = \ -@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ -@HAVE_CMOCKA_TRUE@ $(NULL) - all: all-am .SUFFIXES: @@ -882,15 +885,18 @@ clean-checkPROGRAMS: test_adds$(EXEEXT): $(test_adds_OBJECTS) $(test_adds_DEPENDENCIES) $(EXTRA_test_adds_DEPENDENCIES) @rm -f test_adds$(EXEEXT) $(AM_V_CCLD)$(test_adds_LINK) $(test_adds_OBJECTS) $(test_adds_LDADD) $(LIBS) -../../lib/atoi/$(am__dirstamp): - @$(MKDIR_P) ../../lib/atoi - @: > ../../lib/atoi/$(am__dirstamp) -../../lib/atoi/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) ../../lib/atoi/$(DEPDIR) - @: > ../../lib/atoi/$(DEPDIR)/$(am__dirstamp) -../../lib/atoi/test_atoi_strtoi-strtoi.$(OBJEXT): \ - ../../lib/atoi/$(am__dirstamp) \ - ../../lib/atoi/$(DEPDIR)/$(am__dirstamp) +../../lib/atoi/strtoi/$(am__dirstamp): + @$(MKDIR_P) ../../lib/atoi/strtoi + @: > ../../lib/atoi/strtoi/$(am__dirstamp) +../../lib/atoi/strtoi/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ../../lib/atoi/strtoi/$(DEPDIR) + @: > ../../lib/atoi/strtoi/$(DEPDIR)/$(am__dirstamp) +../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.$(OBJEXT): \ + ../../lib/atoi/strtoi/$(am__dirstamp) \ + ../../lib/atoi/strtoi/$(DEPDIR)/$(am__dirstamp) +../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.$(OBJEXT): \ + ../../lib/atoi/strtoi/$(am__dirstamp) \ + ../../lib/atoi/strtoi/$(DEPDIR)/$(am__dirstamp) test_atoi_strtoi$(EXEEXT): $(test_atoi_strtoi_OBJECTS) $(test_atoi_strtoi_DEPENDENCIES) $(EXTRA_test_atoi_strtoi_DEPENDENCIES) @rm -f test_atoi_strtoi$(EXEEXT) @@ -907,47 +913,54 @@ test_chkname$(EXEEXT): $(test_chkname_OBJECTS) $(test_chkname_DEPENDENCIES) $(EX test_logind$(EXEEXT): $(test_logind_OBJECTS) $(test_logind_DEPENDENCIES) $(EXTRA_test_logind_DEPENDENCIES) @rm -f test_logind$(EXEEXT) $(AM_V_CCLD)$(test_logind_LINK) $(test_logind_OBJECTS) $(test_logind_LDADD) $(LIBS) -../../lib/string/$(am__dirstamp): - @$(MKDIR_P) ../../lib/string - @: > ../../lib/string/$(am__dirstamp) -../../lib/string/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) ../../lib/string/$(DEPDIR) - @: > ../../lib/string/$(DEPDIR)/$(am__dirstamp) -../../lib/string/test_sprintf-sprintf.$(OBJEXT): \ - ../../lib/string/$(am__dirstamp) \ - ../../lib/string/$(DEPDIR)/$(am__dirstamp) +../../lib/string/sprintf/$(am__dirstamp): + @$(MKDIR_P) ../../lib/string/sprintf + @: > ../../lib/string/sprintf/$(am__dirstamp) +../../lib/string/sprintf/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ../../lib/string/sprintf/$(DEPDIR) + @: > ../../lib/string/sprintf/$(DEPDIR)/$(am__dirstamp) +../../lib/string/sprintf/test_snprintf-snprintf.$(OBJEXT): \ + ../../lib/string/sprintf/$(am__dirstamp) \ + ../../lib/string/sprintf/$(DEPDIR)/$(am__dirstamp) -test_sprintf$(EXEEXT): $(test_sprintf_OBJECTS) $(test_sprintf_DEPENDENCIES) $(EXTRA_test_sprintf_DEPENDENCIES) - @rm -f test_sprintf$(EXEEXT) - $(AM_V_CCLD)$(test_sprintf_LINK) $(test_sprintf_OBJECTS) $(test_sprintf_LDADD) $(LIBS) +test_snprintf$(EXEEXT): $(test_snprintf_OBJECTS) $(test_snprintf_DEPENDENCIES) $(EXTRA_test_snprintf_DEPENDENCIES) + @rm -f test_snprintf$(EXEEXT) + $(AM_V_CCLD)$(test_snprintf_LINK) $(test_snprintf_OBJECTS) $(test_snprintf_LDADD) $(LIBS) test_strncpy$(EXEEXT): $(test_strncpy_OBJECTS) $(test_strncpy_DEPENDENCIES) $(EXTRA_test_strncpy_DEPENDENCIES) @rm -f test_strncpy$(EXEEXT) $(AM_V_CCLD)$(test_strncpy_LINK) $(test_strncpy_OBJECTS) $(test_strncpy_LDADD) $(LIBS) -../../lib/string/test_strtcpy-strtcpy.$(OBJEXT): \ - ../../lib/string/$(am__dirstamp) \ - ../../lib/string/$(DEPDIR)/$(am__dirstamp) +../../lib/string/strcpy/$(am__dirstamp): + @$(MKDIR_P) ../../lib/string/strcpy + @: > ../../lib/string/strcpy/$(am__dirstamp) +../../lib/string/strcpy/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ../../lib/string/strcpy/$(DEPDIR) + @: > ../../lib/string/strcpy/$(DEPDIR)/$(am__dirstamp) +../../lib/string/strcpy/test_strtcpy-strtcpy.$(OBJEXT): \ + ../../lib/string/strcpy/$(am__dirstamp) \ + ../../lib/string/strcpy/$(DEPDIR)/$(am__dirstamp) test_strtcpy$(EXEEXT): $(test_strtcpy_OBJECTS) $(test_strtcpy_DEPENDENCIES) $(EXTRA_test_strtcpy_DEPENDENCIES) @rm -f test_strtcpy$(EXEEXT) $(AM_V_CCLD)$(test_strtcpy_LINK) $(test_strtcpy_OBJECTS) $(test_strtcpy_LDADD) $(LIBS) -../../lib/string/test_xasprintf-sprintf.$(OBJEXT): \ - ../../lib/string/$(am__dirstamp) \ - ../../lib/string/$(DEPDIR)/$(am__dirstamp) + +test_typetraits$(EXEEXT): $(test_typetraits_OBJECTS) $(test_typetraits_DEPENDENCIES) $(EXTRA_test_typetraits_DEPENDENCIES) + @rm -f test_typetraits$(EXEEXT) + $(AM_V_CCLD)$(test_typetraits_LINK) $(test_typetraits_OBJECTS) $(test_typetraits_LDADD) $(LIBS) +../../lib/string/sprintf/test_xasprintf-xasprintf.$(OBJEXT): \ + ../../lib/string/sprintf/$(am__dirstamp) \ + ../../lib/string/sprintf/$(DEPDIR)/$(am__dirstamp) test_xasprintf$(EXEEXT): $(test_xasprintf_OBJECTS) $(test_xasprintf_DEPENDENCIES) $(EXTRA_test_xasprintf_DEPENDENCIES) @rm -f test_xasprintf$(EXEEXT) $(AM_V_CCLD)$(test_xasprintf_LINK) $(test_xasprintf_OBJECTS) $(test_xasprintf_LDADD) $(LIBS) -test_zustr2stp$(EXEEXT): $(test_zustr2stp_OBJECTS) $(test_zustr2stp_DEPENDENCIES) $(EXTRA_test_zustr2stp_DEPENDENCIES) - @rm -f test_zustr2stp$(EXEEXT) - $(AM_V_CCLD)$(test_zustr2stp_LINK) $(test_zustr2stp_OBJECTS) $(test_zustr2stp_LDADD) $(LIBS) - mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f ../../lib/*.$(OBJEXT) - -rm -f ../../lib/atoi/*.$(OBJEXT) - -rm -f ../../lib/string/*.$(OBJEXT) + -rm -f ../../lib/atoi/strtoi/*.$(OBJEXT) + -rm -f ../../lib/string/sprintf/*.$(OBJEXT) + -rm -f ../../lib/string/strcpy/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @@ -955,19 +968,20 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/test_adds-adds.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/test_chkname-chkname.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/test_logind-logind.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_adds-test_adds.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_chkname-test_chkname.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_logind-test_logind.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_sprintf-test_sprintf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_snprintf-test_snprintf.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_strncpy-test_strncpy.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_strtcpy-test_strtcpy.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_typetraits-test_typetraits.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_xasprintf-test_xasprintf.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_zustr2stp-test_zustr2stp.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @@ -1027,19 +1041,33 @@ test_adds-test_adds.obj: test_adds.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -c -o test_adds-test_adds.obj `if test -f 'test_adds.c'; then $(CYGPATH_W) 'test_adds.c'; else $(CYGPATH_W) '$(srcdir)/test_adds.c'; fi` -../../lib/atoi/test_atoi_strtoi-strtoi.o: ../../lib/atoi/strtoi.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/test_atoi_strtoi-strtoi.o -MD -MP -MF ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo -c -o ../../lib/atoi/test_atoi_strtoi-strtoi.o `test -f '../../lib/atoi/strtoi.c' || echo '$(srcdir)/'`../../lib/atoi/strtoi.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtoi.c' object='../../lib/atoi/test_atoi_strtoi-strtoi.o' libtool=no @AMDEPBACKSLASH@ +../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.o: ../../lib/atoi/strtoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.o -MD -MP -MF ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo -c -o ../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.o `test -f '../../lib/atoi/strtoi/strtoi.c' || echo '$(srcdir)/'`../../lib/atoi/strtoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtoi/strtoi.c' object='../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/test_atoi_strtoi-strtoi.o `test -f '../../lib/atoi/strtoi.c' || echo '$(srcdir)/'`../../lib/atoi/strtoi.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.o `test -f '../../lib/atoi/strtoi/strtoi.c' || echo '$(srcdir)/'`../../lib/atoi/strtoi/strtoi.c -../../lib/atoi/test_atoi_strtoi-strtoi.obj: ../../lib/atoi/strtoi.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/test_atoi_strtoi-strtoi.obj -MD -MP -MF ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo -c -o ../../lib/atoi/test_atoi_strtoi-strtoi.obj `if test -f '../../lib/atoi/strtoi.c'; then $(CYGPATH_W) '../../lib/atoi/strtoi.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtoi.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtoi.c' object='../../lib/atoi/test_atoi_strtoi-strtoi.obj' libtool=no @AMDEPBACKSLASH@ +../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.obj: ../../lib/atoi/strtoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.obj -MD -MP -MF ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo -c -o ../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.obj `if test -f '../../lib/atoi/strtoi/strtoi.c'; then $(CYGPATH_W) '../../lib/atoi/strtoi/strtoi.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtoi/strtoi.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtoi/strtoi.c' object='../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/test_atoi_strtoi-strtoi.obj `if test -f '../../lib/atoi/strtoi.c'; then $(CYGPATH_W) '../../lib/atoi/strtoi.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtoi.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/strtoi/test_atoi_strtoi-strtoi.obj `if test -f '../../lib/atoi/strtoi/strtoi.c'; then $(CYGPATH_W) '../../lib/atoi/strtoi/strtoi.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtoi/strtoi.c'; fi` + +../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.o: ../../lib/atoi/strtoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.o -MD -MP -MF ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Tpo -c -o ../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.o `test -f '../../lib/atoi/strtoi/strtou_noneg.c' || echo '$(srcdir)/'`../../lib/atoi/strtoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Tpo ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtoi/strtou_noneg.c' object='../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.o `test -f '../../lib/atoi/strtoi/strtou_noneg.c' || echo '$(srcdir)/'`../../lib/atoi/strtoi/strtou_noneg.c + +../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.obj: ../../lib/atoi/strtoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.obj -MD -MP -MF ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Tpo -c -o ../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.obj `if test -f '../../lib/atoi/strtoi/strtou_noneg.c'; then $(CYGPATH_W) '../../lib/atoi/strtoi/strtou_noneg.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtoi/strtou_noneg.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Tpo ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtoi/strtou_noneg.c' object='../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/strtoi/test_atoi_strtoi-strtou_noneg.obj `if test -f '../../lib/atoi/strtoi/strtou_noneg.c'; then $(CYGPATH_W) '../../lib/atoi/strtoi/strtou_noneg.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtoi/strtou_noneg.c'; fi` test_atoi_strtoi-test_atoi_strtoi.o: test_atoi_strtoi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT test_atoi_strtoi-test_atoi_strtoi.o -MD -MP -MF $(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Tpo -c -o test_atoi_strtoi-test_atoi_strtoi.o `test -f 'test_atoi_strtoi.c' || echo '$(srcdir)/'`test_atoi_strtoi.c @@ -1111,33 +1139,33 @@ test_logind-test_logind.obj: test_logind.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -c -o test_logind-test_logind.obj `if test -f 'test_logind.c'; then $(CYGPATH_W) 'test_logind.c'; else $(CYGPATH_W) '$(srcdir)/test_logind.c'; fi` -../../lib/string/test_sprintf-sprintf.o: ../../lib/string/sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_sprintf-sprintf.o -MD -MP -MF ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Tpo -c -o ../../lib/string/test_sprintf-sprintf.o `test -f '../../lib/string/sprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Tpo ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf.c' object='../../lib/string/test_sprintf-sprintf.o' libtool=no @AMDEPBACKSLASH@ +../../lib/string/sprintf/test_snprintf-snprintf.o: ../../lib/string/sprintf/snprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_snprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/sprintf/test_snprintf-snprintf.o -MD -MP -MF ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Tpo -c -o ../../lib/string/sprintf/test_snprintf-snprintf.o `test -f '../../lib/string/sprintf/snprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf/snprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Tpo ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf/snprintf.c' object='../../lib/string/sprintf/test_snprintf-snprintf.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_sprintf-sprintf.o `test -f '../../lib/string/sprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_snprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/sprintf/test_snprintf-snprintf.o `test -f '../../lib/string/sprintf/snprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf/snprintf.c -../../lib/string/test_sprintf-sprintf.obj: ../../lib/string/sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_sprintf-sprintf.obj -MD -MP -MF ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Tpo -c -o ../../lib/string/test_sprintf-sprintf.obj `if test -f '../../lib/string/sprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Tpo ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf.c' object='../../lib/string/test_sprintf-sprintf.obj' libtool=no @AMDEPBACKSLASH@ +../../lib/string/sprintf/test_snprintf-snprintf.obj: ../../lib/string/sprintf/snprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_snprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/sprintf/test_snprintf-snprintf.obj -MD -MP -MF ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Tpo -c -o ../../lib/string/sprintf/test_snprintf-snprintf.obj `if test -f '../../lib/string/sprintf/snprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf/snprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf/snprintf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Tpo ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf/snprintf.c' object='../../lib/string/sprintf/test_snprintf-snprintf.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_sprintf-sprintf.obj `if test -f '../../lib/string/sprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_snprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/sprintf/test_snprintf-snprintf.obj `if test -f '../../lib/string/sprintf/snprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf/snprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf/snprintf.c'; fi` -test_sprintf-test_sprintf.o: test_sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -MT test_sprintf-test_sprintf.o -MD -MP -MF $(DEPDIR)/test_sprintf-test_sprintf.Tpo -c -o test_sprintf-test_sprintf.o `test -f 'test_sprintf.c' || echo '$(srcdir)/'`test_sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_sprintf-test_sprintf.Tpo $(DEPDIR)/test_sprintf-test_sprintf.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_sprintf.c' object='test_sprintf-test_sprintf.o' libtool=no @AMDEPBACKSLASH@ +test_snprintf-test_snprintf.o: test_snprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_snprintf_CFLAGS) $(CFLAGS) -MT test_snprintf-test_snprintf.o -MD -MP -MF $(DEPDIR)/test_snprintf-test_snprintf.Tpo -c -o test_snprintf-test_snprintf.o `test -f 'test_snprintf.c' || echo '$(srcdir)/'`test_snprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_snprintf-test_snprintf.Tpo $(DEPDIR)/test_snprintf-test_snprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_snprintf.c' object='test_snprintf-test_snprintf.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -c -o test_sprintf-test_sprintf.o `test -f 'test_sprintf.c' || echo '$(srcdir)/'`test_sprintf.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_snprintf_CFLAGS) $(CFLAGS) -c -o test_snprintf-test_snprintf.o `test -f 'test_snprintf.c' || echo '$(srcdir)/'`test_snprintf.c -test_sprintf-test_sprintf.obj: test_sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -MT test_sprintf-test_sprintf.obj -MD -MP -MF $(DEPDIR)/test_sprintf-test_sprintf.Tpo -c -o test_sprintf-test_sprintf.obj `if test -f 'test_sprintf.c'; then $(CYGPATH_W) 'test_sprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_sprintf.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_sprintf-test_sprintf.Tpo $(DEPDIR)/test_sprintf-test_sprintf.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_sprintf.c' object='test_sprintf-test_sprintf.obj' libtool=no @AMDEPBACKSLASH@ +test_snprintf-test_snprintf.obj: test_snprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_snprintf_CFLAGS) $(CFLAGS) -MT test_snprintf-test_snprintf.obj -MD -MP -MF $(DEPDIR)/test_snprintf-test_snprintf.Tpo -c -o test_snprintf-test_snprintf.obj `if test -f 'test_snprintf.c'; then $(CYGPATH_W) 'test_snprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_snprintf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_snprintf-test_snprintf.Tpo $(DEPDIR)/test_snprintf-test_snprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_snprintf.c' object='test_snprintf-test_snprintf.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -c -o test_sprintf-test_sprintf.obj `if test -f 'test_sprintf.c'; then $(CYGPATH_W) 'test_sprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_sprintf.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_snprintf_CFLAGS) $(CFLAGS) -c -o test_snprintf-test_snprintf.obj `if test -f 'test_snprintf.c'; then $(CYGPATH_W) 'test_snprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_snprintf.c'; fi` test_strncpy-test_strncpy.o: test_strncpy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strncpy_CFLAGS) $(CFLAGS) -MT test_strncpy-test_strncpy.o -MD -MP -MF $(DEPDIR)/test_strncpy-test_strncpy.Tpo -c -o test_strncpy-test_strncpy.o `test -f 'test_strncpy.c' || echo '$(srcdir)/'`test_strncpy.c @@ -1153,19 +1181,19 @@ test_strncpy-test_strncpy.obj: test_strncpy.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strncpy_CFLAGS) $(CFLAGS) -c -o test_strncpy-test_strncpy.obj `if test -f 'test_strncpy.c'; then $(CYGPATH_W) 'test_strncpy.c'; else $(CYGPATH_W) '$(srcdir)/test_strncpy.c'; fi` -../../lib/string/test_strtcpy-strtcpy.o: ../../lib/string/strtcpy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_strtcpy-strtcpy.o -MD -MP -MF ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Tpo -c -o ../../lib/string/test_strtcpy-strtcpy.o `test -f '../../lib/string/strtcpy.c' || echo '$(srcdir)/'`../../lib/string/strtcpy.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Tpo ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/strtcpy.c' object='../../lib/string/test_strtcpy-strtcpy.o' libtool=no @AMDEPBACKSLASH@ +../../lib/string/strcpy/test_strtcpy-strtcpy.o: ../../lib/string/strcpy/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT ../../lib/string/strcpy/test_strtcpy-strtcpy.o -MD -MP -MF ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Tpo -c -o ../../lib/string/strcpy/test_strtcpy-strtcpy.o `test -f '../../lib/string/strcpy/strtcpy.c' || echo '$(srcdir)/'`../../lib/string/strcpy/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Tpo ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/strcpy/strtcpy.c' object='../../lib/string/strcpy/test_strtcpy-strtcpy.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_strtcpy-strtcpy.o `test -f '../../lib/string/strtcpy.c' || echo '$(srcdir)/'`../../lib/string/strtcpy.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o ../../lib/string/strcpy/test_strtcpy-strtcpy.o `test -f '../../lib/string/strcpy/strtcpy.c' || echo '$(srcdir)/'`../../lib/string/strcpy/strtcpy.c -../../lib/string/test_strtcpy-strtcpy.obj: ../../lib/string/strtcpy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_strtcpy-strtcpy.obj -MD -MP -MF ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Tpo -c -o ../../lib/string/test_strtcpy-strtcpy.obj `if test -f '../../lib/string/strtcpy.c'; then $(CYGPATH_W) '../../lib/string/strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/strtcpy.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Tpo ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/strtcpy.c' object='../../lib/string/test_strtcpy-strtcpy.obj' libtool=no @AMDEPBACKSLASH@ +../../lib/string/strcpy/test_strtcpy-strtcpy.obj: ../../lib/string/strcpy/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT ../../lib/string/strcpy/test_strtcpy-strtcpy.obj -MD -MP -MF ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Tpo -c -o ../../lib/string/strcpy/test_strtcpy-strtcpy.obj `if test -f '../../lib/string/strcpy/strtcpy.c'; then $(CYGPATH_W) '../../lib/string/strcpy/strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/strcpy/strtcpy.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Tpo ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/strcpy/strtcpy.c' object='../../lib/string/strcpy/test_strtcpy-strtcpy.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_strtcpy-strtcpy.obj `if test -f '../../lib/string/strtcpy.c'; then $(CYGPATH_W) '../../lib/string/strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/strtcpy.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o ../../lib/string/strcpy/test_strtcpy-strtcpy.obj `if test -f '../../lib/string/strcpy/strtcpy.c'; then $(CYGPATH_W) '../../lib/string/strcpy/strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/strcpy/strtcpy.c'; fi` test_strtcpy-test_strtcpy.o: test_strtcpy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT test_strtcpy-test_strtcpy.o -MD -MP -MF $(DEPDIR)/test_strtcpy-test_strtcpy.Tpo -c -o test_strtcpy-test_strtcpy.o `test -f 'test_strtcpy.c' || echo '$(srcdir)/'`test_strtcpy.c @@ -1181,19 +1209,33 @@ test_strtcpy-test_strtcpy.obj: test_strtcpy.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o test_strtcpy-test_strtcpy.obj `if test -f 'test_strtcpy.c'; then $(CYGPATH_W) 'test_strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/test_strtcpy.c'; fi` -../../lib/string/test_xasprintf-sprintf.o: ../../lib/string/sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_xasprintf-sprintf.o -MD -MP -MF ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Tpo -c -o ../../lib/string/test_xasprintf-sprintf.o `test -f '../../lib/string/sprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Tpo ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf.c' object='../../lib/string/test_xasprintf-sprintf.o' libtool=no @AMDEPBACKSLASH@ +test_typetraits-test_typetraits.o: test_typetraits.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_typetraits_CFLAGS) $(CFLAGS) -MT test_typetraits-test_typetraits.o -MD -MP -MF $(DEPDIR)/test_typetraits-test_typetraits.Tpo -c -o test_typetraits-test_typetraits.o `test -f 'test_typetraits.c' || echo '$(srcdir)/'`test_typetraits.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_typetraits-test_typetraits.Tpo $(DEPDIR)/test_typetraits-test_typetraits.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_typetraits.c' object='test_typetraits-test_typetraits.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_xasprintf-sprintf.o `test -f '../../lib/string/sprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_typetraits_CFLAGS) $(CFLAGS) -c -o test_typetraits-test_typetraits.o `test -f 'test_typetraits.c' || echo '$(srcdir)/'`test_typetraits.c -../../lib/string/test_xasprintf-sprintf.obj: ../../lib/string/sprintf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_xasprintf-sprintf.obj -MD -MP -MF ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Tpo -c -o ../../lib/string/test_xasprintf-sprintf.obj `if test -f '../../lib/string/sprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Tpo ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf.c' object='../../lib/string/test_xasprintf-sprintf.obj' libtool=no @AMDEPBACKSLASH@ +test_typetraits-test_typetraits.obj: test_typetraits.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_typetraits_CFLAGS) $(CFLAGS) -MT test_typetraits-test_typetraits.obj -MD -MP -MF $(DEPDIR)/test_typetraits-test_typetraits.Tpo -c -o test_typetraits-test_typetraits.obj `if test -f 'test_typetraits.c'; then $(CYGPATH_W) 'test_typetraits.c'; else $(CYGPATH_W) '$(srcdir)/test_typetraits.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_typetraits-test_typetraits.Tpo $(DEPDIR)/test_typetraits-test_typetraits.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_typetraits.c' object='test_typetraits-test_typetraits.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_xasprintf-sprintf.obj `if test -f '../../lib/string/sprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_typetraits_CFLAGS) $(CFLAGS) -c -o test_typetraits-test_typetraits.obj `if test -f 'test_typetraits.c'; then $(CYGPATH_W) 'test_typetraits.c'; else $(CYGPATH_W) '$(srcdir)/test_typetraits.c'; fi` + +../../lib/string/sprintf/test_xasprintf-xasprintf.o: ../../lib/string/sprintf/xasprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/sprintf/test_xasprintf-xasprintf.o -MD -MP -MF ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Tpo -c -o ../../lib/string/sprintf/test_xasprintf-xasprintf.o `test -f '../../lib/string/sprintf/xasprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf/xasprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Tpo ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf/xasprintf.c' object='../../lib/string/sprintf/test_xasprintf-xasprintf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/sprintf/test_xasprintf-xasprintf.o `test -f '../../lib/string/sprintf/xasprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf/xasprintf.c + +../../lib/string/sprintf/test_xasprintf-xasprintf.obj: ../../lib/string/sprintf/xasprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/sprintf/test_xasprintf-xasprintf.obj -MD -MP -MF ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Tpo -c -o ../../lib/string/sprintf/test_xasprintf-xasprintf.obj `if test -f '../../lib/string/sprintf/xasprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf/xasprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf/xasprintf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Tpo ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf/xasprintf.c' object='../../lib/string/sprintf/test_xasprintf-xasprintf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/sprintf/test_xasprintf-xasprintf.obj `if test -f '../../lib/string/sprintf/xasprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf/xasprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf/xasprintf.c'; fi` test_xasprintf-test_xasprintf.o: test_xasprintf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT test_xasprintf-test_xasprintf.o -MD -MP -MF $(DEPDIR)/test_xasprintf-test_xasprintf.Tpo -c -o test_xasprintf-test_xasprintf.o `test -f 'test_xasprintf.c' || echo '$(srcdir)/'`test_xasprintf.c @@ -1209,20 +1251,6 @@ test_xasprintf-test_xasprintf.obj: test_xasprintf.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o test_xasprintf-test_xasprintf.obj `if test -f 'test_xasprintf.c'; then $(CYGPATH_W) 'test_xasprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_xasprintf.c'; fi` -test_zustr2stp-test_zustr2stp.o: test_zustr2stp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_zustr2stp_CFLAGS) $(CFLAGS) -MT test_zustr2stp-test_zustr2stp.o -MD -MP -MF $(DEPDIR)/test_zustr2stp-test_zustr2stp.Tpo -c -o test_zustr2stp-test_zustr2stp.o `test -f 'test_zustr2stp.c' || echo '$(srcdir)/'`test_zustr2stp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_zustr2stp-test_zustr2stp.Tpo $(DEPDIR)/test_zustr2stp-test_zustr2stp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_zustr2stp.c' object='test_zustr2stp-test_zustr2stp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_zustr2stp_CFLAGS) $(CFLAGS) -c -o test_zustr2stp-test_zustr2stp.o `test -f 'test_zustr2stp.c' || echo '$(srcdir)/'`test_zustr2stp.c - -test_zustr2stp-test_zustr2stp.obj: test_zustr2stp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_zustr2stp_CFLAGS) $(CFLAGS) -MT test_zustr2stp-test_zustr2stp.obj -MD -MP -MF $(DEPDIR)/test_zustr2stp-test_zustr2stp.Tpo -c -o test_zustr2stp-test_zustr2stp.obj `if test -f 'test_zustr2stp.c'; then $(CYGPATH_W) 'test_zustr2stp.c'; else $(CYGPATH_W) '$(srcdir)/test_zustr2stp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_zustr2stp-test_zustr2stp.Tpo $(DEPDIR)/test_zustr2stp-test_zustr2stp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_zustr2stp.c' object='test_zustr2stp-test_zustr2stp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_zustr2stp_CFLAGS) $(CFLAGS) -c -o test_zustr2stp-test_zustr2stp.obj `if test -f 'test_zustr2stp.c'; then $(CYGPATH_W) 'test_zustr2stp.c'; else $(CYGPATH_W) '$(srcdir)/test_zustr2stp.c'; fi` - mostlyclean-libtool: -rm -f *.lo @@ -1443,9 +1471,9 @@ test_chkname.log: test_chkname$(EXEEXT) --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) -test_sprintf.log: test_sprintf$(EXEEXT) - @p='test_sprintf$(EXEEXT)'; \ - b='test_sprintf'; \ +test_snprintf.log: test_snprintf$(EXEEXT) + @p='test_snprintf$(EXEEXT)'; \ + b='test_snprintf'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ @@ -1464,16 +1492,16 @@ test_strtcpy.log: test_strtcpy$(EXEEXT) --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) -test_xasprintf.log: test_xasprintf$(EXEEXT) - @p='test_xasprintf$(EXEEXT)'; \ - b='test_xasprintf'; \ +test_typetraits.log: test_typetraits$(EXEEXT) + @p='test_typetraits$(EXEEXT)'; \ + b='test_typetraits'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) -test_zustr2stp.log: test_zustr2stp$(EXEEXT) - @p='test_zustr2stp$(EXEEXT)'; \ - b='test_zustr2stp'; \ +test_xasprintf.log: test_xasprintf$(EXEEXT) + @p='test_xasprintf$(EXEEXT)'; \ + b='test_xasprintf'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ @@ -1569,10 +1597,12 @@ distclean-generic: -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f ../../lib/$(DEPDIR)/$(am__dirstamp) -rm -f ../../lib/$(am__dirstamp) - -rm -f ../../lib/atoi/$(DEPDIR)/$(am__dirstamp) - -rm -f ../../lib/atoi/$(am__dirstamp) - -rm -f ../../lib/string/$(DEPDIR)/$(am__dirstamp) - -rm -f ../../lib/string/$(am__dirstamp) + -rm -f ../../lib/atoi/strtoi/$(DEPDIR)/$(am__dirstamp) + -rm -f ../../lib/atoi/strtoi/$(am__dirstamp) + -rm -f ../../lib/string/sprintf/$(DEPDIR)/$(am__dirstamp) + -rm -f ../../lib/string/sprintf/$(am__dirstamp) + -rm -f ../../lib/string/strcpy/$(DEPDIR)/$(am__dirstamp) + -rm -f ../../lib/string/strcpy/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1586,19 +1616,20 @@ distclean: distclean-am -rm -f ../../lib/$(DEPDIR)/test_adds-adds.Po -rm -f ../../lib/$(DEPDIR)/test_chkname-chkname.Po -rm -f ../../lib/$(DEPDIR)/test_logind-logind.Po - -rm -f ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po - -rm -f ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po - -rm -f ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po - -rm -f ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po + -rm -f ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po + -rm -f ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Po + -rm -f ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Po + -rm -f ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Po + -rm -f ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Po -rm -f ./$(DEPDIR)/test_adds-test_adds.Po -rm -f ./$(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po -rm -f ./$(DEPDIR)/test_chkname-test_chkname.Po -rm -f ./$(DEPDIR)/test_logind-test_logind.Po - -rm -f ./$(DEPDIR)/test_sprintf-test_sprintf.Po + -rm -f ./$(DEPDIR)/test_snprintf-test_snprintf.Po -rm -f ./$(DEPDIR)/test_strncpy-test_strncpy.Po -rm -f ./$(DEPDIR)/test_strtcpy-test_strtcpy.Po + -rm -f ./$(DEPDIR)/test_typetraits-test_typetraits.Po -rm -f ./$(DEPDIR)/test_xasprintf-test_xasprintf.Po - -rm -f ./$(DEPDIR)/test_zustr2stp-test_zustr2stp.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1647,19 +1678,20 @@ maintainer-clean: maintainer-clean-am -rm -f ../../lib/$(DEPDIR)/test_adds-adds.Po -rm -f ../../lib/$(DEPDIR)/test_chkname-chkname.Po -rm -f ../../lib/$(DEPDIR)/test_logind-logind.Po - -rm -f ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po - -rm -f ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po - -rm -f ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po - -rm -f ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po + -rm -f ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po + -rm -f ../../lib/atoi/strtoi/$(DEPDIR)/test_atoi_strtoi-strtou_noneg.Po + -rm -f ../../lib/string/sprintf/$(DEPDIR)/test_snprintf-snprintf.Po + -rm -f ../../lib/string/sprintf/$(DEPDIR)/test_xasprintf-xasprintf.Po + -rm -f ../../lib/string/strcpy/$(DEPDIR)/test_strtcpy-strtcpy.Po -rm -f ./$(DEPDIR)/test_adds-test_adds.Po -rm -f ./$(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po -rm -f ./$(DEPDIR)/test_chkname-test_chkname.Po -rm -f ./$(DEPDIR)/test_logind-test_logind.Po - -rm -f ./$(DEPDIR)/test_sprintf-test_sprintf.Po + -rm -f ./$(DEPDIR)/test_snprintf-test_snprintf.Po -rm -f ./$(DEPDIR)/test_strncpy-test_strncpy.Po -rm -f ./$(DEPDIR)/test_strtcpy-test_strtcpy.Po + -rm -f ./$(DEPDIR)/test_typetraits-test_typetraits.Po -rm -f ./$(DEPDIR)/test_xasprintf-test_xasprintf.Po - -rm -f ./$(DEPDIR)/test_zustr2stp-test_zustr2stp.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff --git a/tests/unit/test_atoi_strtoi.c b/tests/unit/test_atoi_strtoi.c index 535b6ab7..782c8a4c 100644 --- a/tests/unit/test_atoi_strtoi.c +++ b/tests/unit/test_atoi_strtoi.c @@ -14,8 +14,8 @@ #include // Required by #include -#include "atoi/strtoi.h" -#include "atoi/strtou_noneg.h" +#include "atoi/strtoi/strtoi.h" +#include "atoi/strtoi/strtou_noneg.h" static void test_strtoi(void **state); @@ -46,6 +46,9 @@ test_strtoi(void **state) assert_true(strtoi_("42", NULL, -1, 1, 2, &status) == 1); assert_true(status == EINVAL); + assert_true(strtoi_("42", NULL, 1, 1, 2, &status) == 1); + assert_true(status == EINVAL); + assert_true(strtoi_("40", &end, 5, INTMAX_MIN, INTMAX_MAX, &status) == 20); assert_true(status == 0); assert_true(strcmp(end, "") == 0); @@ -84,6 +87,9 @@ test_strtou(void **state) assert_true(strtou_("42", NULL, -1, 1, 2, &status) == 1); assert_true(status == EINVAL); + assert_true(strtou_("42", NULL, 1, 1, 2, &status) == 1); + assert_true(status == EINVAL); + assert_true(strtou_("40", &end, 5, 0, UINTMAX_MAX, &status) == 20); assert_true(status == 0); assert_true(strcmp(end, "") == 0); @@ -123,6 +129,10 @@ test_strtou_noneg(void **state) == 1); assert_true(status == EINVAL); + assert_true(strtou_noneg("42", NULL, 1, 1, 2, &status) + == 1); + assert_true(status == EINVAL); + assert_true(strtou_noneg("40", &end, 5, 0, UINTMAX_MAX, &status) == 20); assert_true(status == 0); diff --git a/tests/unit/test_chkname.c b/tests/unit/test_chkname.c index e0f9f84b..3f190a77 100644 --- a/tests/unit/test_chkname.c +++ b/tests/unit/test_chkname.c @@ -16,7 +16,7 @@ #include // Required by #include -#include "alloc.h" +#include "alloc/malloc.h" #include "chkname.h" @@ -139,10 +139,10 @@ test_is_valid_user_name_long(void **state) memset(name, '_', max); - name[max] = '\0'; + stpcpy(&name[max], ""); assert_true(false == is_valid_user_name(name)); - name[max - 1] = '\0'; + stpcpy(&name[max - 1], ""); assert_true(is_valid_user_name(name)); free(name); diff --git a/tests/unit/test_sprintf.c b/tests/unit/test_snprintf.c similarity index 97% rename from tests/unit/test_sprintf.c rename to tests/unit/test_snprintf.c index bedcff6f..bdef8ac9 100644 --- a/tests/unit/test_sprintf.c +++ b/tests/unit/test_snprintf.c @@ -14,7 +14,7 @@ #include #include "sizeof.h" -#include "string/sprintf.h" +#include "string/sprintf/snprintf.h" static void test_SNPRINTF_trunc(void **state); diff --git a/tests/unit/test_strncpy.c b/tests/unit/test_strncpy.c index 968765bb..dedd4e2b 100644 --- a/tests/unit/test_strncpy.c +++ b/tests/unit/test_strncpy.c @@ -15,7 +15,7 @@ #include #include "sizeof.h" -#include "string/strncpy.h" +#include "string/strcpy/strncpy.h" static void test_STRNCPY_trunc(void **state); diff --git a/tests/unit/test_strtcpy.c b/tests/unit/test_strtcpy.c index 12351a53..c27d7c9d 100644 --- a/tests/unit/test_strtcpy.c +++ b/tests/unit/test_strtcpy.c @@ -15,7 +15,7 @@ #include #include "sizeof.h" -#include "string/strtcpy.h" +#include "string/strcpy/strtcpy.h" static void test_STRTCPY_trunc(void **state); diff --git a/tests/unit/test_typetraits.c b/tests/unit/test_typetraits.c new file mode 100644 index 00000000..4aeb616b --- /dev/null +++ b/tests/unit/test_typetraits.c @@ -0,0 +1,55 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "typetraits.h" + + +static void test_type_max(void **state); +static void test_type_min(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_type_max), + cmocka_unit_test(test_type_min), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_type_max(void **state) +{ + assert_true(type_max(long) == LONG_MAX); + assert_true(type_max(unsigned long) == ULONG_MAX); + assert_true(type_max(int) == INT_MAX); + assert_true(type_max(unsigned short) == USHRT_MAX); + assert_true(type_max(char) == CHAR_MAX); + assert_true(type_max(signed char) == SCHAR_MAX); + assert_true(type_max(unsigned char) == UCHAR_MAX); +} + + +static void +test_type_min(void **state) +{ + assert_true(type_min(long) == LONG_MIN); + assert_true(type_min(unsigned long) == 0); + assert_true(type_min(int) == INT_MIN); + assert_true(type_min(unsigned short) == 0); + assert_true(type_min(char) == CHAR_MIN); + assert_true(type_min(signed char) == SCHAR_MIN); + assert_true(type_min(unsigned char) == 0); +} diff --git a/tests/unit/test_xasprintf.c b/tests/unit/test_xasprintf.c index 4c27d78a..3f356689 100644 --- a/tests/unit/test_xasprintf.c +++ b/tests/unit/test_xasprintf.c @@ -16,7 +16,7 @@ #include // Required by #include -#include "string/sprintf.h" +#include "string/sprintf/xasprintf.h" #define assert_unreachable() assert_true(0) diff --git a/tests/unit/test_zustr2stp.c b/tests/unit/test_zustr2stp.c deleted file mode 100644 index 198d2eb6..00000000 --- a/tests/unit/test_zustr2stp.c +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-FileCopyrightText: 2024, Alejandro Colomar -// SPDX-License-Identifier: BSD-3-Clause - - -#include - -#include -#include - -#include // Required by -#include // Required by -#include // Required by -#include // Required by -#include - -#include "string/zustr2stp.h" - - -static void test_ZUSTR2STP(void **state); - - -int -main(void) -{ - const struct CMUnitTest tests[] = { - cmocka_unit_test(test_ZUSTR2STP), - }; - - return cmocka_run_group_tests(tests, NULL, NULL); -} - - -static void -test_ZUSTR2STP(void **state) -{ - char src[3] = {'1', '2', '3'}; - char dst[4]; - - assert_true(ZUSTR2STP(&dst, src) == dst + strlen("123")); - assert_true(strcmp("123", dst) == 0); - - src[2] = '\0'; - assert_true(ZUSTR2STP(&dst, src) == dst + strlen("12")); - assert_true(strcmp("12", dst) == 0); - - src[1] = '\0'; - assert_true(ZUSTR2STP(&dst, src) == dst + strlen("1")); - assert_true(strcmp("1", dst) == 0); - - src[0] = '\0'; - assert_true(ZUSTR2STP(&dst, src) == dst + strlen("")); - assert_true(strcmp("", dst) == 0); -}