From f78a468368391ef41251d1bd93d4b5f86780960a Mon Sep 17 00:00:00 2001 From: Chris Hofstaedtler Date: Fri, 6 Dec 2024 19:17:25 +0100 Subject: [PATCH] New upstream version 4.17.0~rc1 --- Makefile.am | 4 +- Makefile.in | 5 +- aclocal.m4 | 43 +- config.h.in | 6 - configure | 406 ++----- configure.ac | 13 +- contrib/Makefile.in | 1 - contrib/adduser.c | 21 +- doc/HOWTO | 10 +- doc/Makefile.in | 1 - etc/Makefile.in | 1 - etc/pam.d/Makefile.in | 1 - etc/shadow-maint/Makefile.in | 1 - lib/Makefile.am | 106 +- lib/Makefile.in | 1044 +++++++++++++---- lib/addgrps.c | 24 +- lib/agetpass.c | 2 +- lib/alloc.c | 73 -- lib/alloc.h | 101 -- lib/alloc/calloc.c | 11 + lib/alloc/calloc.h | 20 + lib/alloc/malloc.c | 16 + lib/alloc/malloc.h | 34 + lib/alloc/realloc.c | 11 + lib/alloc/realloc.h | 20 + lib/alloc/reallocf.c | 16 + lib/alloc/reallocf.h | 41 + lib/alloc/x/xcalloc.c | 36 + lib/alloc/x/xcalloc.h | 28 + lib/alloc/x/xmalloc.c | 16 + lib/alloc/x/xmalloc.h | 35 + lib/alloc/x/xrealloc.c | 35 + lib/alloc/x/xrealloc.h | 31 + lib/atoi/a2i.c | 46 - lib/atoi/a2i.h | 386 ------ lib/atoi/a2i/a2i.c | 7 + lib/atoi/a2i/a2i.h | 62 + lib/atoi/a2i/a2s.c | 7 + lib/atoi/a2i/a2s.h | 56 + lib/atoi/a2i/a2s_c.c | 17 + lib/atoi/a2i/a2s_c.h | 64 + lib/atoi/a2i/a2s_nc.c | 17 + lib/atoi/a2i/a2s_nc.h | 91 ++ lib/atoi/a2i/a2u.c | 7 + lib/atoi/a2i/a2u.h | 56 + lib/atoi/a2i/a2u_c.c | 19 + lib/atoi/a2i/a2u_c.h | 65 + lib/atoi/a2i/a2u_nc.c | 18 + lib/atoi/a2i/a2u_nc.h | 94 ++ lib/atoi/getnum.c | 16 + lib/atoi/getnum.h | 60 + lib/atoi/str2i.h | 108 -- lib/atoi/str2i/str2i.c | 8 + lib/atoi/str2i/str2i.h | 31 + lib/atoi/str2i/str2s.c | 14 + lib/atoi/str2i/str2s.h | 57 + lib/atoi/{str2i.c => str2i/str2u.c} | 6 +- lib/atoi/str2i/str2u.h | 57 + lib/atoi/strtoi.c | 15 - lib/atoi/strtoi.h | 96 -- lib/atoi/strtoi/strtoi.c | 13 + lib/atoi/strtoi/strtoi.h | 64 + lib/atoi/strtoi/strtou.c | 13 + lib/atoi/strtoi/strtou.h | 64 + lib/atoi/{ => strtoi}/strtou_noneg.c | 4 +- lib/atoi/{ => strtoi}/strtou_noneg.h | 9 +- lib/attr.h | 14 +- lib/chkname.c | 36 +- lib/chowndir.c | 11 +- lib/cleanup.c | 2 +- lib/commonio.c | 61 +- lib/console.c | 27 +- lib/copydir.c | 53 +- lib/csrand.c | 27 +- lib/env.c | 7 +- lib/failure.c | 10 +- lib/fields.c | 26 +- lib/find_new_gid.c | 3 +- lib/find_new_uid.c | 11 +- lib/fputsx.c | 10 +- lib/fs/readlink/areadlink.c | 10 + lib/fs/readlink/areadlink.h | 53 + lib/fs/readlink/readlinknul.c | 13 + lib/fs/readlink/readlinknul.h | 50 + lib/get_gid.c | 34 - lib/get_pid.c | 48 +- lib/get_uid.c | 34 - lib/getdate.c | 247 ++-- lib/getdate.y | 41 +- lib/getdef.c | 70 +- lib/getgr_nam_gid.c | 40 +- lib/getrange.c | 2 +- lib/gettime.c | 2 +- lib/groupio.c | 16 +- lib/groupmem.c | 13 +- lib/gshadow.c | 160 +-- lib/gshadow_.h | 10 - lib/hushed.c | 18 +- lib/idmapping.c | 65 +- lib/isexpired.c | 3 +- lib/limits.c | 90 +- lib/list.c | 40 +- lib/log.c | 8 +- lib/loginprompt.c | 27 +- lib/mail.c | 3 +- lib/memzero.c | 17 - lib/motd.c | 16 +- lib/must_be.h | 26 +- lib/nss.c | 31 +- lib/obscure.c | 44 +- lib/pam_pass_non_interactive.c | 7 +- lib/port.c | 166 ++- lib/prefix_flag.c | 32 +- lib/prototypes.h | 25 +- lib/pwauth.c | 4 +- lib/pwmem.c | 12 +- lib/readpassphrase.c | 2 +- lib/remove_tree.c | 9 +- lib/rlogin.c | 135 --- lib/root_flag.c | 12 +- lib/run_part.c | 47 +- lib/run_part.h | 1 - lib/salt.c | 35 +- lib/setupenv.c | 30 +- lib/sgetgrent.c | 12 +- lib/sgetpwent.c | 6 +- lib/sgetspent.c | 68 +- lib/sgroupio.c | 13 +- lib/shadow.c | 192 +-- lib/shadowlog_internal.h | 2 +- lib/shadowmem.c | 12 +- lib/shell.c | 2 +- lib/sssd.c | 37 +- lib/string/memset/memzero.c | 13 + lib/{ => string/memset}/memzero.h | 23 +- lib/string/sprintf.c | 24 - lib/string/sprintf/snprintf.c | 16 + lib/string/{sprintf.h => sprintf/snprintf.h} | 49 +- lib/string/{ => sprintf}/stpeprintf.c | 18 +- lib/string/{ => sprintf}/stpeprintf.h | 22 +- lib/string/sprintf/xasprintf.c | 14 + lib/string/sprintf/xasprintf.h | 54 + lib/string/stpecpy.c | 20 - lib/string/strchr/stpspn.c | 7 + lib/string/strchr/stpspn.h | 26 + lib/string/strchr/strchrcnt.c | 12 + lib/string/strchr/strchrcnt.h | 35 + lib/string/strchr/strnul.c | 7 + lib/string/strchr/strnul.h | 25 + lib/string/strchr/strrspn.c | 10 + lib/string/strchr/strrspn.h | 38 + lib/string/strcmp/streq.c | 12 + lib/string/strcmp/streq.h | 30 + lib/string/strcpy/stpecpy.c | 12 + lib/string/{ => strcpy}/stpecpy.h | 18 +- lib/string/strcpy/strncat.c | 7 + lib/string/strcpy/strncat.h | 19 + lib/string/strcpy/strncpy.c | 7 + lib/string/strcpy/strncpy.h | 19 + lib/string/{ => strcpy}/strtcpy.c | 10 +- lib/string/{ => strcpy}/strtcpy.h | 11 +- lib/string/strdup/strndupa.c | 7 + lib/string/strdup/strndupa.h | 25 + lib/string/strdup/xstrdup.c | 14 + lib/string/strdup/xstrdup.h | 32 + lib/string/strdup/xstrndup.c | 7 + lib/string/strdup/xstrndup.h | 25 + lib/string/strftime.h | 2 +- lib/string/strncpy.h | 21 - lib/string/strtok/stpsep.c | 10 + lib/string/strtok/stpsep.h | 33 + lib/string/zustr2stp.h | 58 - lib/strtoday.c | 9 +- lib/subordinateio.c | 50 +- lib/subordinateio.h | 3 + lib/sulog.c | 2 +- lib/tcbfuncs.c | 32 +- lib/time/day_to_str.h | 6 +- lib/ttytype.c | 16 +- lib/typetraits.h | 46 + lib/tz.c | 20 +- lib/user_busy.c | 18 +- lib/utmp.c | 35 +- lib/valid.c | 14 +- lib/xgetXXbyYY.c | 3 +- libsubid/Makefile.in | 1 - libsubid/api.c | 7 + libsubid/subid.h | 17 +- libsubid/subid.h.in | 13 + ltmain.sh | 859 ++++++-------- m4/libtool.m4 | 229 ++-- m4/ltoptions.m4 | 4 +- m4/ltsugar.m4 | 2 +- m4/ltversion.m4 | 13 +- m4/lt~obsolete.m4 | 4 +- man/Makefile.am | 6 +- man/Makefile.in | 42 +- man/config.xml | 2 +- man/cs/Makefile.am | 2 - man/cs/Makefile.in | 8 +- man/cs/man1/groups.1 | 29 - man/cs/man1/id.1 | 62 - man/da/Makefile.am | 4 +- man/da/Makefile.in | 9 +- man/da/man1/chfn.1 | 6 +- man/da/man1/groups.1 | 65 - man/da/man1/id.1 | 62 - man/da/man1/newgrp.1 | 6 +- man/da/man1/sg.1 | 6 +- man/da/man5/gshadow.5 | 8 +- man/da/man8/groupdel.8 | 6 +- man/da/man8/logoutd.8 | 6 +- man/da/man8/nologin.8 | 6 +- man/da/man8/vipw.8 | 6 +- man/de/Makefile.am | 2 - man/de/Makefile.in | 19 +- man/de/man1/chage.1 | 6 +- man/de/man1/chfn.1 | 6 +- man/de/man1/chsh.1 | 6 +- man/de/man1/expiry.1 | 6 +- man/de/man1/gpasswd.1 | 6 +- man/de/man1/groups.1 | 65 - man/de/man1/id.1 | 62 - man/de/man1/login.1 | 13 +- man/de/man1/newgrp.1 | 6 +- man/de/man1/passwd.1 | 8 +- man/de/man1/sg.1 | 6 +- man/de/man1/su.1 | 6 +- man/de/man3/shadow.3 | 6 +- man/de/man5/faillog.5 | 6 +- man/de/man5/gshadow.5 | 8 +- man/de/man5/limits.5 | 6 +- man/de/man5/login.access.5 | 6 +- man/de/man5/login.defs.5 | 6 +- man/de/man5/passwd.5 | 6 +- man/de/man5/porttime.5 | 6 +- man/de/man5/shadow.5 | 8 +- man/de/man5/suauth.5 | 6 +- man/de/man8/chgpasswd.8 | 6 +- man/de/man8/chpasswd.8 | 6 +- man/de/man8/faillog.8 | 6 +- man/de/man8/groupadd.8 | 8 +- man/de/man8/groupdel.8 | 6 +- man/de/man8/groupmems.8 | 6 +- man/de/man8/groupmod.8 | 14 +- man/de/man8/grpck.8 | 6 +- man/de/man8/lastlog.8 | 6 +- man/de/man8/logoutd.8 | 6 +- man/de/man8/newusers.8 | 6 +- man/de/man8/nologin.8 | 6 +- man/de/man8/pwck.8 | 6 +- man/de/man8/pwconv.8 | 6 +- man/de/man8/sulogin.8 | 6 +- man/de/man8/useradd.8 | 6 +- man/de/man8/userdel.8 | 16 +- man/de/man8/usermod.8 | 6 +- man/de/man8/vipw.8 | 6 +- man/es/Makefile.in | 1 - man/fi/Makefile.in | 1 - man/fr/Makefile.am | 2 - man/fr/Makefile.in | 19 +- man/fr/man1/chage.1 | 6 +- man/fr/man1/chfn.1 | 6 +- man/fr/man1/chsh.1 | 6 +- man/fr/man1/expiry.1 | 6 +- man/fr/man1/gpasswd.1 | 6 +- man/fr/man1/groups.1 | 65 - man/fr/man1/id.1 | 62 - man/fr/man1/login.1 | 11 +- man/fr/man1/newgidmap.1 | 6 +- man/fr/man1/newgrp.1 | 6 +- man/fr/man1/newuidmap.1 | 6 +- man/fr/man1/passwd.1 | 8 +- man/fr/man1/sg.1 | 6 +- man/fr/man1/su.1 | 6 +- man/fr/man3/shadow.3 | 6 +- man/fr/man5/faillog.5 | 6 +- man/fr/man5/gshadow.5 | 8 +- man/fr/man5/limits.5 | 6 +- man/fr/man5/login.access.5 | 6 +- man/fr/man5/login.defs.5 | 6 +- man/fr/man5/passwd.5 | 6 +- man/fr/man5/porttime.5 | 6 +- man/fr/man5/shadow.5 | 8 +- man/fr/man5/suauth.5 | 6 +- man/fr/man5/subgid.5 | 10 +- man/fr/man5/subuid.5 | 10 +- man/fr/man8/chgpasswd.8 | 6 +- man/fr/man8/chpasswd.8 | 6 +- man/fr/man8/faillog.8 | 6 +- man/fr/man8/groupadd.8 | 8 +- man/fr/man8/groupdel.8 | 6 +- man/fr/man8/groupmems.8 | 6 +- man/fr/man8/groupmod.8 | 14 +- man/fr/man8/grpck.8 | 6 +- man/fr/man8/lastlog.8 | 6 +- man/fr/man8/logoutd.8 | 6 +- man/fr/man8/newusers.8 | 6 +- man/fr/man8/nologin.8 | 6 +- man/fr/man8/pwck.8 | 6 +- man/fr/man8/pwconv.8 | 6 +- man/fr/man8/sulogin.8 | 6 +- man/fr/man8/useradd.8 | 6 +- man/fr/man8/userdel.8 | 16 +- man/fr/man8/usermod.8 | 6 +- man/fr/man8/vipw.8 | 6 +- man/groupadd.8.xml | 2 +- man/groupmod.8.xml | 12 +- man/groups.1.xml | 108 -- man/gshadow.5.xml | 2 +- man/hu/Makefile.am | 1 - man/hu/Makefile.in | 5 +- man/hu/man1/groups.1 | 35 - man/id.1.xml | 99 -- man/id/Makefile.in | 1 - man/it/Makefile.am | 2 - man/it/Makefile.in | 19 +- man/it/man1/chage.1 | 6 +- man/it/man1/chfn.1 | 6 +- man/it/man1/chsh.1 | 6 +- man/it/man1/expiry.1 | 6 +- man/it/man1/gpasswd.1 | 6 +- man/it/man1/groups.1 | 65 - man/it/man1/id.1 | 62 - man/it/man1/login.1 | 11 +- man/it/man1/newgrp.1 | 6 +- man/it/man1/passwd.1 | 8 +- man/it/man1/sg.1 | 6 +- man/it/man1/su.1 | 6 +- man/it/man3/shadow.3 | 6 +- man/it/man5/faillog.5 | 6 +- man/it/man5/gshadow.5 | 8 +- man/it/man5/limits.5 | 6 +- man/it/man5/login.access.5 | 6 +- man/it/man5/login.defs.5 | 6 +- man/it/man5/passwd.5 | 6 +- man/it/man5/porttime.5 | 6 +- man/it/man5/shadow.5 | 8 +- man/it/man5/suauth.5 | 6 +- man/it/man8/chgpasswd.8 | 6 +- man/it/man8/chpasswd.8 | 6 +- man/it/man8/faillog.8 | 6 +- man/it/man8/groupadd.8 | 8 +- man/it/man8/groupdel.8 | 6 +- man/it/man8/groupmems.8 | 6 +- man/it/man8/groupmod.8 | 14 +- man/it/man8/grpck.8 | 6 +- man/it/man8/lastlog.8 | 6 +- man/it/man8/logoutd.8 | 6 +- man/it/man8/newusers.8 | 6 +- man/it/man8/nologin.8 | 6 +- man/it/man8/pwck.8 | 6 +- man/it/man8/pwconv.8 | 6 +- man/it/man8/sulogin.8 | 6 +- man/it/man8/useradd.8 | 6 +- man/it/man8/userdel.8 | 16 +- man/it/man8/usermod.8 | 6 +- man/it/man8/vipw.8 | 6 +- man/ja/Makefile.am | 2 - man/ja/Makefile.in | 18 +- man/ja/man1/groups.1 | 39 - man/ja/man1/id.1 | 33 - man/ko/Makefile.am | 1 - man/ko/Makefile.in | 2 - man/ko/man1/groups.1 | 32 - man/login.1.xml | 8 - man/login.defs.5.xml | 1 - man/login.defs.d/TTYGROUP.xml | 2 +- man/man1/chage.1 | 6 +- man/man1/chfn.1 | 6 +- man/man1/chsh.1 | 6 +- man/man1/expiry.1 | 6 +- man/man1/getsubids.1 | 6 +- man/man1/gpasswd.1 | 6 +- man/man1/groups.1 | 65 - man/man1/id.1 | 62 - man/man1/login.1 | 13 +- man/man1/newgidmap.1 | 6 +- man/man1/newgrp.1 | 6 +- man/man1/newuidmap.1 | 6 +- man/man1/passwd.1 | 8 +- man/man1/sg.1 | 6 +- man/man1/su.1 | 6 +- man/man3/shadow.3 | 6 +- man/man5/faillog.5 | 6 +- man/man5/gshadow.5 | 8 +- man/man5/limits.5 | 6 +- man/man5/login.access.5 | 6 +- man/man5/login.defs.5 | 8 +- man/man5/passwd.5 | 6 +- man/man5/porttime.5 | 6 +- man/man5/shadow.5 | 8 +- man/man5/suauth.5 | 6 +- man/man5/subgid.5 | 10 +- man/man5/subuid.5 | 10 +- man/man8/chgpasswd.8 | 6 +- man/man8/chpasswd.8 | 6 +- man/man8/faillog.8 | 6 +- man/man8/groupadd.8 | 8 +- man/man8/groupdel.8 | 6 +- man/man8/groupmems.8 | 6 +- man/man8/groupmod.8 | 14 +- man/man8/grpck.8 | 6 +- man/man8/lastlog.8 | 6 +- man/man8/logoutd.8 | 6 +- man/man8/newusers.8 | 6 +- man/man8/nologin.8 | 6 +- man/man8/pwck.8 | 6 +- man/man8/pwconv.8 | 6 +- man/man8/sulogin.8 | 6 +- man/man8/useradd.8 | 6 +- man/man8/userdel.8 | 16 +- man/man8/usermod.8 | 6 +- man/man8/vipw.8 | 6 +- man/passwd.1.xml | 2 +- man/pl/Makefile.am | 4 +- man/pl/Makefile.in | 11 +- man/pl/man1/chage.1 | 6 +- man/pl/man1/chsh.1 | 6 +- man/pl/man1/expiry.1 | 6 +- man/pl/man1/groups.1 | 65 - man/pl/man1/id.1 | 62 - man/pl/man1/newgrp.1 | 6 +- man/pl/man1/sg.1 | 6 +- man/pl/man3/shadow.3 | 6 +- man/pl/man5/faillog.5 | 6 +- man/pl/man5/porttime.5 | 6 +- man/pl/man8/faillog.8 | 6 +- man/pl/man8/groupadd.8 | 8 +- man/pl/man8/groupdel.8 | 6 +- man/pl/man8/groupmems.8 | 6 +- man/pl/man8/groupmod.8 | 14 +- man/pl/man8/grpck.8 | 6 +- man/pl/man8/lastlog.8 | 6 +- man/pl/man8/logoutd.8 | 6 +- man/pl/man8/userdel.8 | 16 +- man/pl/man8/usermod.8 | 6 +- man/pl/man8/vipw.8 | 6 +- man/po/XMLFILES | 1 - man/po/de.po | 2 +- man/pt_BR/Makefile.in | 1 - man/ru/Makefile.am | 2 - man/ru/Makefile.in | 19 +- man/ru/man1/chage.1 | 6 +- man/ru/man1/chfn.1 | 6 +- man/ru/man1/chsh.1 | 6 +- man/ru/man1/expiry.1 | 6 +- man/ru/man1/gpasswd.1 | 6 +- man/ru/man1/groups.1 | 65 - man/ru/man1/id.1 | 62 - man/ru/man1/login.1 | 11 +- man/ru/man1/newgrp.1 | 6 +- man/ru/man1/passwd.1 | 8 +- man/ru/man1/sg.1 | 6 +- man/ru/man1/su.1 | 6 +- man/ru/man3/shadow.3 | 6 +- man/ru/man5/faillog.5 | 6 +- man/ru/man5/gshadow.5 | 8 +- man/ru/man5/limits.5 | 6 +- man/ru/man5/login.access.5 | 6 +- man/ru/man5/login.defs.5 | 6 +- man/ru/man5/passwd.5 | 6 +- man/ru/man5/porttime.5 | 6 +- man/ru/man5/shadow.5 | 8 +- man/ru/man5/suauth.5 | 6 +- man/ru/man8/chgpasswd.8 | 6 +- man/ru/man8/chpasswd.8 | 6 +- man/ru/man8/faillog.8 | 6 +- man/ru/man8/groupadd.8 | 8 +- man/ru/man8/groupdel.8 | 6 +- man/ru/man8/groupmems.8 | 6 +- man/ru/man8/groupmod.8 | 14 +- man/ru/man8/grpck.8 | 6 +- man/ru/man8/lastlog.8 | 6 +- man/ru/man8/logoutd.8 | 6 +- man/ru/man8/newusers.8 | 6 +- man/ru/man8/nologin.8 | 6 +- man/ru/man8/pwck.8 | 6 +- man/ru/man8/pwconv.8 | 6 +- man/ru/man8/sulogin.8 | 6 +- man/ru/man8/useradd.8 | 6 +- man/ru/man8/userdel.8 | 16 +- man/ru/man8/usermod.8 | 6 +- man/ru/man8/vipw.8 | 6 +- man/shadow.5.xml | 2 +- man/subgid.5.xml | 3 +- man/subuid.5.xml | 3 +- man/sv/Makefile.am | 4 +- man/sv/Makefile.in | 13 +- man/sv/man1/chage.1 | 6 +- man/sv/man1/chsh.1 | 6 +- man/sv/man1/expiry.1 | 6 +- man/sv/man1/groups.1 | 65 - man/sv/man1/id.1 | 62 - man/sv/man1/newgrp.1 | 6 +- man/sv/man1/passwd.1 | 8 +- man/sv/man1/sg.1 | 6 +- man/sv/man3/shadow.3 | 6 +- man/sv/man5/faillog.5 | 6 +- man/sv/man5/gshadow.5 | 8 +- man/sv/man5/limits.5 | 6 +- man/sv/man5/passwd.5 | 6 +- man/sv/man5/porttime.5 | 6 +- man/sv/man5/suauth.5 | 6 +- man/sv/man8/faillog.8 | 6 +- man/sv/man8/groupadd.8 | 8 +- man/sv/man8/groupdel.8 | 6 +- man/sv/man8/groupmems.8 | 6 +- man/sv/man8/groupmod.8 | 14 +- man/sv/man8/grpck.8 | 6 +- man/sv/man8/lastlog.8 | 6 +- man/sv/man8/logoutd.8 | 6 +- man/sv/man8/nologin.8 | 6 +- man/sv/man8/pwck.8 | 6 +- man/sv/man8/userdel.8 | 16 +- man/sv/man8/vipw.8 | 6 +- man/tr/Makefile.in | 1 - man/uk/Makefile.am | 2 - man/uk/Makefile.in | 19 +- man/uk/man1/chage.1 | 6 +- man/uk/man1/chfn.1 | 6 +- man/uk/man1/chsh.1 | 6 +- man/uk/man1/expiry.1 | 6 +- man/uk/man1/gpasswd.1 | 6 +- man/uk/man1/groups.1 | 65 - man/uk/man1/id.1 | 62 - man/uk/man1/login.1 | 11 +- man/uk/man1/newgrp.1 | 6 +- man/uk/man1/passwd.1 | 8 +- man/uk/man1/sg.1 | 6 +- man/uk/man1/su.1 | 6 +- man/uk/man3/shadow.3 | 6 +- man/uk/man5/faillog.5 | 6 +- man/uk/man5/gshadow.5 | 8 +- man/uk/man5/login.access.5 | 6 +- man/uk/man5/login.defs.5 | 6 +- man/uk/man5/passwd.5 | 6 +- man/uk/man5/porttime.5 | 6 +- man/uk/man5/shadow.5 | 8 +- man/uk/man5/suauth.5 | 6 +- man/uk/man8/chgpasswd.8 | 6 +- man/uk/man8/chpasswd.8 | 6 +- man/uk/man8/faillog.8 | 6 +- man/uk/man8/groupadd.8 | 8 +- man/uk/man8/groupdel.8 | 6 +- man/uk/man8/groupmems.8 | 6 +- man/uk/man8/groupmod.8 | 14 +- man/uk/man8/grpck.8 | 6 +- man/uk/man8/lastlog.8 | 6 +- man/uk/man8/logoutd.8 | 6 +- man/uk/man8/newusers.8 | 6 +- man/uk/man8/nologin.8 | 6 +- man/uk/man8/pwck.8 | 6 +- man/uk/man8/pwconv.8 | 6 +- man/uk/man8/sulogin.8 | 6 +- man/uk/man8/useradd.8 | 6 +- man/uk/man8/userdel.8 | 16 +- man/uk/man8/usermod.8 | 6 +- man/uk/man8/vipw.8 | 6 +- man/userdel.8.xml | 14 +- man/zh_CN/Makefile.am | 2 - man/zh_CN/Makefile.in | 19 +- man/zh_CN/man1/chage.1 | 6 +- man/zh_CN/man1/chfn.1 | 6 +- man/zh_CN/man1/chsh.1 | 6 +- man/zh_CN/man1/expiry.1 | 6 +- man/zh_CN/man1/gpasswd.1 | 6 +- man/zh_CN/man1/groups.1 | 65 - man/zh_CN/man1/id.1 | 62 - man/zh_CN/man1/login.1 | 11 +- man/zh_CN/man1/newgrp.1 | 6 +- man/zh_CN/man1/passwd.1 | 8 +- man/zh_CN/man1/sg.1 | 6 +- man/zh_CN/man1/su.1 | 6 +- man/zh_CN/man3/shadow.3 | 6 +- man/zh_CN/man5/faillog.5 | 6 +- man/zh_CN/man5/gshadow.5 | 8 +- man/zh_CN/man5/limits.5 | 6 +- man/zh_CN/man5/login.access.5 | 6 +- man/zh_CN/man5/login.defs.5 | 6 +- man/zh_CN/man5/passwd.5 | 6 +- man/zh_CN/man5/porttime.5 | 6 +- man/zh_CN/man5/shadow.5 | 8 +- man/zh_CN/man5/suauth.5 | 6 +- man/zh_CN/man8/chgpasswd.8 | 6 +- man/zh_CN/man8/chpasswd.8 | 6 +- man/zh_CN/man8/faillog.8 | 6 +- man/zh_CN/man8/groupadd.8 | 8 +- man/zh_CN/man8/groupdel.8 | 6 +- man/zh_CN/man8/groupmems.8 | 6 +- man/zh_CN/man8/groupmod.8 | 14 +- man/zh_CN/man8/grpck.8 | 6 +- man/zh_CN/man8/lastlog.8 | 6 +- man/zh_CN/man8/logoutd.8 | 6 +- man/zh_CN/man8/newusers.8 | 6 +- man/zh_CN/man8/nologin.8 | 6 +- man/zh_CN/man8/pwck.8 | 6 +- man/zh_CN/man8/pwconv.8 | 6 +- man/zh_CN/man8/sulogin.8 | 6 +- man/zh_CN/man8/useradd.8 | 6 +- man/zh_CN/man8/userdel.8 | 16 +- man/zh_CN/man8/usermod.8 | 6 +- man/zh_CN/man8/vipw.8 | 6 +- man/zh_TW/Makefile.in | 1 - po/POTFILES.in | 5 - po/bs.po | 48 +- po/ca.gmo | Bin 64794 -> 86253 bytes po/ca.po | 862 ++++++-------- po/cs.gmo | Bin 67218 -> 66613 bytes po/cs.po | 82 +- po/da.gmo | Bin 60496 -> 60123 bytes po/da.po | 76 +- po/de.gmo | Bin 66320 -> 65969 bytes po/de.po | 76 +- po/dz.gmo | Bin 30605 -> 30428 bytes po/dz.po | 67 +- po/el.gmo | Bin 81341 -> 80937 bytes po/el.po | 76 +- po/es.gmo | Bin 58297 -> 57914 bytes po/es.po | 78 +- po/eu.gmo | Bin 45911 -> 45647 bytes po/eu.po | 72 +- po/fi.gmo | Bin 17856 -> 17695 bytes po/fi.po | 67 +- po/fr.gmo | Bin 85223 -> 84184 bytes po/fr.po | 85 +- po/gl.gmo | Bin 17915 -> 17753 bytes po/gl.po | 67 +- po/he.gmo | Bin 4540 -> 4487 bytes po/he.po | 51 +- po/hu.gmo | Bin 17635 -> 17473 bytes po/hu.po | 67 +- po/id.gmo | Bin 15129 -> 14977 bytes po/id.po | 67 +- po/it.gmo | Bin 20119 -> 19940 bytes po/it.po | 67 +- po/ja.gmo | Bin 69659 -> 69284 bytes po/ja.po | 76 +- po/ka.gmo | Bin 126863 -> 125249 bytes po/ka.po | 90 +- po/kk.gmo | Bin 80737 -> 79933 bytes po/kk.po | 82 +- po/km.gmo | Bin 26518 -> 26322 bytes po/km.po | 67 +- po/ko.gmo | Bin 29994 -> 29848 bytes po/ko.po | 69 +- po/nb.gmo | Bin 63851 -> 63229 bytes po/nb.po | 84 +- po/ne.gmo | Bin 26502 -> 26320 bytes po/ne.po | 67 +- po/nl.gmo | Bin 86354 -> 85246 bytes po/nl.po | 90 +- po/nn.gmo | Bin 12114 -> 11945 bytes po/nn.po | 67 +- po/pl.gmo | Bin 17995 -> 17845 bytes po/pl.po | 67 +- po/pt.gmo | Bin 64276 -> 63900 bytes po/pt.po | 76 +- po/pt_BR.gmo | Bin 55421 -> 55050 bytes po/pt_BR.po | 76 +- po/ro.gmo | Bin 17796 -> 17630 bytes po/ro.po | 67 +- po/ru.gmo | Bin 86939 -> 86138 bytes po/ru.po | 82 +- po/shadow.pot | 50 +- po/sk.gmo | Bin 41925 -> 41767 bytes po/sk.po | 69 +- po/sq.po | 48 +- po/sv.gmo | Bin 52938 -> 52581 bytes po/sv.po | 76 +- po/tl.gmo | Bin 17855 -> 17691 bytes po/tl.po | 67 +- po/tr.gmo | Bin 19549 -> 19360 bytes po/tr.po | 67 +- po/uk.gmo | Bin 101973 -> 100917 bytes po/uk.po | 88 +- po/vi.gmo | Bin 72137 -> 71447 bytes po/vi.po | 82 +- po/zh_CN.gmo | Bin 68997 -> 68405 bytes po/zh_CN.po | 82 +- po/zh_TW.gmo | Bin 65146 -> 64279 bytes po/zh_TW.po | 88 +- src/Makefile.am | 6 +- src/Makefile.in | 54 +- src/chage.c | 55 +- src/check_subid_range.c | 20 +- src/chfn.c | 39 +- src/chgpasswd.c | 54 +- src/chpasswd.c | 27 +- src/chsh.c | 24 +- src/faillog.c | 12 +- src/free_subid_range.c | 8 +- src/get_subid_owners.c | 28 +- src/getsubids.c | 12 +- src/gpasswd.c | 78 +- src/groupadd.c | 60 +- src/groupmems.c | 29 +- src/groupmod.c | 100 +- src/groups.c | 178 --- src/grpck.c | 12 +- src/grpconv.c | 16 +- src/grpunconv.c | 12 +- src/id.c | 175 --- src/lastlog.c | 4 +- src/login.c | 108 +- src/login_nopam.c | 62 +- src/logoutd.c | 55 +- src/new_subid_range.c | 5 +- src/newgidmap.c | 2 +- src/newgrp.c | 55 +- src/newuidmap.c | 2 +- src/newusers.c | 94 +- src/passwd.c | 71 +- src/pwck.c | 31 +- src/pwconv.c | 8 +- src/pwunconv.c | 11 +- src/su.c | 49 +- src/suauth.c | 69 +- src/sulogin.c | 2 +- src/useradd.c | 274 ++--- src/userdel.c | 9 +- src/usermod.c | 220 ++-- src/vipw.c | 13 +- tests/bug332198-test.exp | 61 - tests/cptools/01/data/group | 41 - tests/cptools/01/data/group.new | 42 - tests/cptools/01/data/gshadow | 41 - tests/cptools/01/data/gshadow.new | 42 - tests/cptools/01/data/passwd | 19 - tests/cptools/01/data/passwd.new | 20 - tests/cptools/01/data/shadow | 19 - tests/cptools/01/data/shadow.new | 20 - tests/cptools/01/run1 | 57 - tests/cptools/01/run2 | 57 - tests/cptools/01/run3 | 57 - tests/cptools/01/run4 | 57 - tests/cptools/02_cppw_usage/config.txt | 0 tests/cptools/02_cppw_usage/config/etc/group | 0 .../cptools/02_cppw_usage/config/etc/gshadow | 0 tests/cptools/02_cppw_usage/config/etc/passwd | 0 tests/cptools/02_cppw_usage/config/etc/shadow | 0 tests/cptools/02_cppw_usage/cppw.test | 48 - tests/cptools/02_cppw_usage/data/usage.out | 3 - .../03_cppw_usage_invalid_option/config.txt | 0 .../config/etc/group | 0 .../config/etc/gshadow | 0 .../config/etc/passwd | 0 .../config/etc/shadow | 0 .../03_cppw_usage_invalid_option/cppw.test | 54 - .../data/usage.out | 4 - .../04_cppw_no_file_argument/config.txt | 0 .../04_cppw_no_file_argument/config/etc/group | 0 .../config/etc/gshadow | 0 .../config/etc/passwd | 0 .../config/etc/shadow | 0 .../04_cppw_no_file_argument/cppw.test | 54 - .../04_cppw_no_file_argument/data/usage.out | 2 - tests/cptools/05_cppw_2_files/config.txt | 0 .../cptools/05_cppw_2_files/config/etc/group | 42 - .../05_cppw_2_files/config/etc/gshadow | 42 - .../cptools/05_cppw_2_files/config/etc/passwd | 21 - .../cptools/05_cppw_2_files/config/etc/shadow | 21 - tests/cptools/05_cppw_2_files/cppw.test | 54 - tests/cptools/05_cppw_2_files/data/passwd | 17 - tests/cptools/05_cppw_2_files/data/usage.out | 2 - tests/cptools/06_cppw_no_file/config.txt | 0 .../cptools/06_cppw_no_file/config/etc/group | 0 .../06_cppw_no_file/config/etc/gshadow | 0 .../cptools/06_cppw_no_file/config/etc/passwd | 0 .../cptools/06_cppw_no_file/config/etc/shadow | 0 tests/cptools/06_cppw_no_file/cppw.test | 54 - tests/cptools/06_cppw_no_file/data/usage.out | 2 - .../cptools/07_cppw_locked_passwd/config.txt | 0 .../07_cppw_locked_passwd/config/etc/group | 0 .../07_cppw_locked_passwd/config/etc/gshadow | 0 .../07_cppw_locked_passwd/config/etc/passwd | 0 .../07_cppw_locked_passwd/config/etc/shadow | 0 tests/cptools/07_cppw_locked_passwd/cppw.test | 60 - .../cptools/07_cppw_locked_passwd/data/passwd | 0 .../07_cppw_locked_passwd/data/usage.out | 3 - tests/cptools/08_cppw-p/config.txt | 0 tests/cptools/08_cppw-p/config/etc/group | 0 tests/cptools/08_cppw-p/config/etc/gshadow | 0 tests/cptools/08_cppw-p/config/etc/passwd | 0 tests/cptools/08_cppw-p/config/etc/shadow | 0 tests/cptools/08_cppw-p/cppw.test | 39 - tests/cptools/08_cppw-p/data/passwd | 0 tests/cptools/09_cppw-g/config.txt | 0 tests/cptools/09_cppw-g/config/etc/group | 42 - tests/cptools/09_cppw-g/config/etc/gshadow | 42 - tests/cptools/09_cppw-g/config/etc/passwd | 20 - tests/cptools/09_cppw-g/config/etc/shadow | 20 - tests/cptools/09_cppw-g/cppw.test | 39 - tests/cptools/09_cppw-g/data/group | 39 - tests/cptools/10_cppw-g-s/config.txt | 0 tests/cptools/10_cppw-g-s/config/etc/group | 42 - tests/cptools/10_cppw-g-s/config/etc/gshadow | 42 - tests/cptools/10_cppw-g-s/config/etc/passwd | 20 - tests/cptools/10_cppw-g-s/config/etc/shadow | 20 - tests/cptools/10_cppw-g-s/cppw.test | 39 - tests/cptools/10_cppw-g-s/data/gshadow | 39 - tests/cptools/11_cppw-p-s/config.txt | 0 tests/cptools/11_cppw-p-s/config/etc/group | 42 - tests/cptools/11_cppw-p-s/config/etc/gshadow | 42 - tests/cptools/11_cppw-p-s/config/etc/passwd | 20 - tests/cptools/11_cppw-p-s/config/etc/shadow | 20 - tests/cptools/11_cppw-p-s/cppw.test | 39 - tests/cptools/11_cppw-p-s/data/shadow | 16 - .../12_cppw-s_no_shadow_file/config.txt | 0 .../12_cppw-s_no_shadow_file/config/etc/group | 0 .../config/etc/gshadow | 0 .../config/etc/passwd | 0 .../config/etc/shadow | 0 .../12_cppw-s_no_shadow_file/cppw.test | 58 - .../12_cppw-s_no_shadow_file/data/cppw.err | 2 - .../12_cppw-s_no_shadow_file/data/shadow | 0 tests/debian/01/data/passwd_files | 4 - .../01_cppw_open_passwd_in_failure/config.txt | 1 - .../config/etc/group | 42 - .../config/etc/gshadow | 42 - .../config/etc/login.defs | 314 ----- .../config/etc/passwd | 20 - .../config/etc/shadow | 20 - .../01_cppw_open_passwd_in_failure/cppw.test | 54 - .../data/cppw.err | 3 - .../data/passwd | 17 - .../config.txt | 1 - .../config/etc/group | 42 - .../config/etc/gshadow | 42 - .../config/etc/login.defs | 314 ----- .../config/etc/passwd | 20 - .../config/etc/shadow | 20 - .../cppw.test | 54 - .../data/cppw.err | 3 - .../data/passwd | 17 - .../03_cppw_rename_passwd_failure/config.txt | 1 - .../config/etc/group | 42 - .../config/etc/gshadow | 42 - .../config/etc/login.defs | 314 ----- .../config/etc/passwd | 20 - .../config/etc/shadow | 20 - .../03_cppw_rename_passwd_failure/cppw.test | 54 - .../data/cppw.err | 3 - .../03_cppw_rename_passwd_failure/data/passwd | 17 - tests/libsubid/04_nss/Makefile | 4 +- tests/libsubid/04_nss/libsubid_zzz.c | 7 +- tests/run_all | 18 - tests/run_all.coverage | 18 - tests/unit/Makefile.am | 49 +- tests/unit/Makefile.in | 422 ++++--- tests/unit/test_atoi_strtoi.c | 14 +- tests/unit/test_chkname.c | 6 +- .../unit/{test_sprintf.c => test_snprintf.c} | 2 +- tests/unit/test_strncpy.c | 2 +- tests/unit/test_strtcpy.c | 2 +- tests/unit/test_typetraits.c | 55 + tests/unit/test_xasprintf.c | 2 +- tests/unit/test_zustr2stp.c | 53 - 858 files changed, 9076 insertions(+), 13407 deletions(-) delete mode 100644 lib/alloc.c delete mode 100644 lib/alloc.h create mode 100644 lib/alloc/calloc.c create mode 100644 lib/alloc/calloc.h create mode 100644 lib/alloc/malloc.c create mode 100644 lib/alloc/malloc.h create mode 100644 lib/alloc/realloc.c create mode 100644 lib/alloc/realloc.h create mode 100644 lib/alloc/reallocf.c create mode 100644 lib/alloc/reallocf.h create mode 100644 lib/alloc/x/xcalloc.c create mode 100644 lib/alloc/x/xcalloc.h create mode 100644 lib/alloc/x/xmalloc.c create mode 100644 lib/alloc/x/xmalloc.h create mode 100644 lib/alloc/x/xrealloc.c create mode 100644 lib/alloc/x/xrealloc.h delete mode 100644 lib/atoi/a2i.c delete mode 100644 lib/atoi/a2i.h create mode 100644 lib/atoi/a2i/a2i.c create mode 100644 lib/atoi/a2i/a2i.h create mode 100644 lib/atoi/a2i/a2s.c create mode 100644 lib/atoi/a2i/a2s.h create mode 100644 lib/atoi/a2i/a2s_c.c create mode 100644 lib/atoi/a2i/a2s_c.h create mode 100644 lib/atoi/a2i/a2s_nc.c create mode 100644 lib/atoi/a2i/a2s_nc.h create mode 100644 lib/atoi/a2i/a2u.c create mode 100644 lib/atoi/a2i/a2u.h create mode 100644 lib/atoi/a2i/a2u_c.c create mode 100644 lib/atoi/a2i/a2u_c.h create mode 100644 lib/atoi/a2i/a2u_nc.c create mode 100644 lib/atoi/a2i/a2u_nc.h create mode 100644 lib/atoi/getnum.c create mode 100644 lib/atoi/getnum.h delete mode 100644 lib/atoi/str2i.h create mode 100644 lib/atoi/str2i/str2i.c create mode 100644 lib/atoi/str2i/str2i.h create mode 100644 lib/atoi/str2i/str2s.c create mode 100644 lib/atoi/str2i/str2s.h rename lib/atoi/{str2i.c => str2i/str2u.c} (62%) create mode 100644 lib/atoi/str2i/str2u.h delete mode 100644 lib/atoi/strtoi.c delete mode 100644 lib/atoi/strtoi.h create mode 100644 lib/atoi/strtoi/strtoi.c create mode 100644 lib/atoi/strtoi/strtoi.h create mode 100644 lib/atoi/strtoi/strtou.c create mode 100644 lib/atoi/strtoi/strtou.h rename lib/atoi/{ => strtoi}/strtou_noneg.c (67%) rename lib/atoi/{ => strtoi}/strtou_noneg.h (73%) create mode 100644 lib/fs/readlink/areadlink.c create mode 100644 lib/fs/readlink/areadlink.h create mode 100644 lib/fs/readlink/readlinknul.c create mode 100644 lib/fs/readlink/readlinknul.h delete mode 100644 lib/get_gid.c delete mode 100644 lib/get_uid.c delete mode 100644 lib/memzero.c delete mode 100644 lib/rlogin.c create mode 100644 lib/string/memset/memzero.c rename lib/{ => string/memset}/memzero.h (52%) delete mode 100644 lib/string/sprintf.c create mode 100644 lib/string/sprintf/snprintf.c rename lib/string/{sprintf.h => sprintf/snprintf.h} (51%) rename lib/string/{ => sprintf}/stpeprintf.c (56%) rename lib/string/{ => sprintf}/stpeprintf.h (88%) create mode 100644 lib/string/sprintf/xasprintf.c create mode 100644 lib/string/sprintf/xasprintf.h delete mode 100644 lib/string/stpecpy.c create mode 100644 lib/string/strchr/stpspn.c create mode 100644 lib/string/strchr/stpspn.h create mode 100644 lib/string/strchr/strchrcnt.c create mode 100644 lib/string/strchr/strchrcnt.h create mode 100644 lib/string/strchr/strnul.c create mode 100644 lib/string/strchr/strnul.h create mode 100644 lib/string/strchr/strrspn.c create mode 100644 lib/string/strchr/strrspn.h create mode 100644 lib/string/strcmp/streq.c create mode 100644 lib/string/strcmp/streq.h create mode 100644 lib/string/strcpy/stpecpy.c rename lib/string/{ => strcpy}/stpecpy.h (87%) create mode 100644 lib/string/strcpy/strncat.c create mode 100644 lib/string/strcpy/strncat.h create mode 100644 lib/string/strcpy/strncpy.c create mode 100644 lib/string/strcpy/strncpy.h rename lib/string/{ => strcpy}/strtcpy.c (52%) rename lib/string/{ => strcpy}/strtcpy.h (85%) create mode 100644 lib/string/strdup/strndupa.c create mode 100644 lib/string/strdup/strndupa.h create mode 100644 lib/string/strdup/xstrdup.c create mode 100644 lib/string/strdup/xstrdup.h create mode 100644 lib/string/strdup/xstrndup.c create mode 100644 lib/string/strdup/xstrndup.h delete mode 100644 lib/string/strncpy.h create mode 100644 lib/string/strtok/stpsep.c create mode 100644 lib/string/strtok/stpsep.h delete mode 100644 lib/string/zustr2stp.h create mode 100644 lib/typetraits.h delete mode 100644 man/cs/man1/groups.1 delete mode 100644 man/cs/man1/id.1 delete mode 100644 man/da/man1/groups.1 delete mode 100644 man/da/man1/id.1 delete mode 100644 man/de/man1/groups.1 delete mode 100644 man/de/man1/id.1 delete mode 100644 man/fr/man1/groups.1 delete mode 100644 man/fr/man1/id.1 delete mode 100644 man/groups.1.xml delete mode 100644 man/hu/man1/groups.1 delete mode 100644 man/id.1.xml delete mode 100644 man/it/man1/groups.1 delete mode 100644 man/it/man1/id.1 delete mode 100644 man/ja/man1/groups.1 delete mode 100644 man/ja/man1/id.1 delete mode 100644 man/ko/man1/groups.1 delete mode 100644 man/man1/groups.1 delete mode 100644 man/man1/id.1 delete mode 100644 man/pl/man1/groups.1 delete mode 100644 man/pl/man1/id.1 delete mode 100644 man/ru/man1/groups.1 delete mode 100644 man/ru/man1/id.1 delete mode 100644 man/sv/man1/groups.1 delete mode 100644 man/sv/man1/id.1 delete mode 100644 man/uk/man1/groups.1 delete mode 100644 man/uk/man1/id.1 delete mode 100644 man/zh_CN/man1/groups.1 delete mode 100644 man/zh_CN/man1/id.1 delete mode 100644 src/groups.c delete mode 100644 src/id.c delete mode 100755 tests/bug332198-test.exp delete mode 100644 tests/cptools/01/data/group delete mode 100644 tests/cptools/01/data/group.new delete mode 100644 tests/cptools/01/data/gshadow delete mode 100644 tests/cptools/01/data/gshadow.new delete mode 100644 tests/cptools/01/data/passwd delete mode 100644 tests/cptools/01/data/passwd.new delete mode 100644 tests/cptools/01/data/shadow delete mode 100644 tests/cptools/01/data/shadow.new delete mode 100755 tests/cptools/01/run1 delete mode 100755 tests/cptools/01/run2 delete mode 100755 tests/cptools/01/run3 delete mode 100755 tests/cptools/01/run4 delete mode 100644 tests/cptools/02_cppw_usage/config.txt delete mode 100644 tests/cptools/02_cppw_usage/config/etc/group delete mode 100644 tests/cptools/02_cppw_usage/config/etc/gshadow delete mode 100644 tests/cptools/02_cppw_usage/config/etc/passwd delete mode 100644 tests/cptools/02_cppw_usage/config/etc/shadow delete mode 100755 tests/cptools/02_cppw_usage/cppw.test delete mode 100644 tests/cptools/02_cppw_usage/data/usage.out delete mode 100644 tests/cptools/03_cppw_usage_invalid_option/config.txt delete mode 100644 tests/cptools/03_cppw_usage_invalid_option/config/etc/group delete mode 100644 tests/cptools/03_cppw_usage_invalid_option/config/etc/gshadow delete mode 100644 tests/cptools/03_cppw_usage_invalid_option/config/etc/passwd delete mode 100644 tests/cptools/03_cppw_usage_invalid_option/config/etc/shadow delete mode 100755 tests/cptools/03_cppw_usage_invalid_option/cppw.test delete mode 100644 tests/cptools/03_cppw_usage_invalid_option/data/usage.out delete mode 100644 tests/cptools/04_cppw_no_file_argument/config.txt delete mode 100644 tests/cptools/04_cppw_no_file_argument/config/etc/group delete mode 100644 tests/cptools/04_cppw_no_file_argument/config/etc/gshadow delete mode 100644 tests/cptools/04_cppw_no_file_argument/config/etc/passwd delete mode 100644 tests/cptools/04_cppw_no_file_argument/config/etc/shadow delete mode 100755 tests/cptools/04_cppw_no_file_argument/cppw.test delete mode 100644 tests/cptools/04_cppw_no_file_argument/data/usage.out delete mode 100644 tests/cptools/05_cppw_2_files/config.txt delete mode 100644 tests/cptools/05_cppw_2_files/config/etc/group delete mode 100644 tests/cptools/05_cppw_2_files/config/etc/gshadow delete mode 100644 tests/cptools/05_cppw_2_files/config/etc/passwd delete mode 100644 tests/cptools/05_cppw_2_files/config/etc/shadow delete mode 100755 tests/cptools/05_cppw_2_files/cppw.test delete mode 100644 tests/cptools/05_cppw_2_files/data/passwd delete mode 100644 tests/cptools/05_cppw_2_files/data/usage.out delete mode 100644 tests/cptools/06_cppw_no_file/config.txt delete mode 100644 tests/cptools/06_cppw_no_file/config/etc/group delete mode 100644 tests/cptools/06_cppw_no_file/config/etc/gshadow delete mode 100644 tests/cptools/06_cppw_no_file/config/etc/passwd delete mode 100644 tests/cptools/06_cppw_no_file/config/etc/shadow delete mode 100755 tests/cptools/06_cppw_no_file/cppw.test delete mode 100644 tests/cptools/06_cppw_no_file/data/usage.out delete mode 100644 tests/cptools/07_cppw_locked_passwd/config.txt delete mode 100644 tests/cptools/07_cppw_locked_passwd/config/etc/group delete mode 100644 tests/cptools/07_cppw_locked_passwd/config/etc/gshadow delete mode 100644 tests/cptools/07_cppw_locked_passwd/config/etc/passwd delete mode 100644 tests/cptools/07_cppw_locked_passwd/config/etc/shadow delete mode 100755 tests/cptools/07_cppw_locked_passwd/cppw.test delete mode 100644 tests/cptools/07_cppw_locked_passwd/data/passwd delete mode 100644 tests/cptools/07_cppw_locked_passwd/data/usage.out delete mode 100644 tests/cptools/08_cppw-p/config.txt delete mode 100644 tests/cptools/08_cppw-p/config/etc/group delete mode 100644 tests/cptools/08_cppw-p/config/etc/gshadow delete mode 100644 tests/cptools/08_cppw-p/config/etc/passwd delete mode 100644 tests/cptools/08_cppw-p/config/etc/shadow delete mode 100755 tests/cptools/08_cppw-p/cppw.test delete mode 100644 tests/cptools/08_cppw-p/data/passwd delete mode 100644 tests/cptools/09_cppw-g/config.txt delete mode 100644 tests/cptools/09_cppw-g/config/etc/group delete mode 100644 tests/cptools/09_cppw-g/config/etc/gshadow delete mode 100644 tests/cptools/09_cppw-g/config/etc/passwd delete mode 100644 tests/cptools/09_cppw-g/config/etc/shadow delete mode 100755 tests/cptools/09_cppw-g/cppw.test delete mode 100644 tests/cptools/09_cppw-g/data/group delete mode 100644 tests/cptools/10_cppw-g-s/config.txt delete mode 100644 tests/cptools/10_cppw-g-s/config/etc/group delete mode 100644 tests/cptools/10_cppw-g-s/config/etc/gshadow delete mode 100644 tests/cptools/10_cppw-g-s/config/etc/passwd delete mode 100644 tests/cptools/10_cppw-g-s/config/etc/shadow delete mode 100755 tests/cptools/10_cppw-g-s/cppw.test delete mode 100644 tests/cptools/10_cppw-g-s/data/gshadow delete mode 100644 tests/cptools/11_cppw-p-s/config.txt delete mode 100644 tests/cptools/11_cppw-p-s/config/etc/group delete mode 100644 tests/cptools/11_cppw-p-s/config/etc/gshadow delete mode 100644 tests/cptools/11_cppw-p-s/config/etc/passwd delete mode 100644 tests/cptools/11_cppw-p-s/config/etc/shadow delete mode 100755 tests/cptools/11_cppw-p-s/cppw.test delete mode 100644 tests/cptools/11_cppw-p-s/data/shadow delete mode 100644 tests/cptools/12_cppw-s_no_shadow_file/config.txt delete mode 100644 tests/cptools/12_cppw-s_no_shadow_file/config/etc/group delete mode 100644 tests/cptools/12_cppw-s_no_shadow_file/config/etc/gshadow delete mode 100644 tests/cptools/12_cppw-s_no_shadow_file/config/etc/passwd delete mode 100644 tests/cptools/12_cppw-s_no_shadow_file/config/etc/shadow delete mode 100755 tests/cptools/12_cppw-s_no_shadow_file/cppw.test delete mode 100644 tests/cptools/12_cppw-s_no_shadow_file/data/cppw.err delete mode 100644 tests/cptools/12_cppw-s_no_shadow_file/data/shadow delete mode 100644 tests/failures/cppw/01_cppw_open_passwd_in_failure/config.txt delete mode 100644 tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/group delete mode 100644 tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/gshadow delete mode 100644 tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/login.defs delete mode 100644 tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/passwd delete mode 100644 tests/failures/cppw/01_cppw_open_passwd_in_failure/config/etc/shadow delete mode 100755 tests/failures/cppw/01_cppw_open_passwd_in_failure/cppw.test delete mode 100644 tests/failures/cppw/01_cppw_open_passwd_in_failure/data/cppw.err delete mode 100644 tests/failures/cppw/01_cppw_open_passwd_in_failure/data/passwd delete mode 100644 tests/failures/cppw/02_cppw_open_passwd_backup_failure/config.txt delete mode 100644 tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/group delete mode 100644 tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/gshadow delete mode 100644 tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/login.defs delete mode 100644 tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/passwd delete mode 100644 tests/failures/cppw/02_cppw_open_passwd_backup_failure/config/etc/shadow delete mode 100755 tests/failures/cppw/02_cppw_open_passwd_backup_failure/cppw.test delete mode 100644 tests/failures/cppw/02_cppw_open_passwd_backup_failure/data/cppw.err delete mode 100644 tests/failures/cppw/02_cppw_open_passwd_backup_failure/data/passwd delete mode 100644 tests/failures/cppw/03_cppw_rename_passwd_failure/config.txt delete mode 100644 tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/group delete mode 100644 tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/gshadow delete mode 100644 tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/login.defs delete mode 100644 tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/passwd delete mode 100644 tests/failures/cppw/03_cppw_rename_passwd_failure/config/etc/shadow delete mode 100755 tests/failures/cppw/03_cppw_rename_passwd_failure/cppw.test delete mode 100644 tests/failures/cppw/03_cppw_rename_passwd_failure/data/cppw.err delete mode 100644 tests/failures/cppw/03_cppw_rename_passwd_failure/data/passwd rename tests/unit/{test_sprintf.c => test_snprintf.c} (97%) create mode 100644 tests/unit/test_typetraits.c delete mode 100644 tests/unit/test_zustr2stp.c 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 f55a2eb3e354d6a1d4d0028cddccc219601f2a71..f76f84de1352056a932f017aa208f4d5590c900d 100644 GIT binary patch literal 86253 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 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 6d012ceedc1cef081901e23ff68086ee093eefac..38f389fa3abb5306ff072d4e8e5dcc13875f7d0e 100644 GIT binary patch delta 12205 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 Q>EC8vDwuxo@u}ed0cP_9!vFvP delta 12735 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\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 e515ea33096f5977ca12d46f21a8d189fd42d2b7..e11480bff96b61969433cd587387f9bd6b90a219 100644 GIT binary patch delta 11386 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 delta 11657 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 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 cf7dcbd5b540d9f093d0b7b78a275fd1aa8ce30d..742ee3c14b6de8fdbe3ce2c0d3300b5c457dbb9e 100644 GIT binary patch delta 11449 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 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 96279bac30fd542dc6b0e45f6764c5c03168c284..1921466bf451b6a3194f852849371b6895aeb2ae 100644 GIT binary patch delta 4259 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\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 cd53fce0a1985216aa13b9268d54ed263a90169e..79da4c7f220b8b1ba746340f4719c189004d3794 100644 GIT binary patch delta 11345 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 U`yeVHd;FsVRkx>9_GFa)KXpDk(f|Me delta 11623 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\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 802fd08455b397d445793c87f9ef945105113ae2..1f1d30e83e0ad8c220c8025f8145c9821aaa7dad 100644 GIT binary patch delta 10280 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 delta 10622 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 Qo!IaFPoFPx# 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 5c35de36d4108e88525bb4e19b1decda30cfe7d7..837e70d1504aa7c03189f852b8f42a95387310de 100644 GIT binary patch delta 8624 zcmYk=34Bji-pBEiG_hnABuIpR5)lzw>=8>glq~k0T7%g4oj-~YsV$|nsMc7fw6tkW z_0esrL#rKqstc{|ns)S|n=$g#@O-}ib3Eg|`pf%w&OP_sbI&>VCi-cG|M@Ha-Y;tg zY&RUGe#X?tWg*7I`Wth(u4;|x8)r;4?1wZl!!Z~~VggRa##oA@u^c;Lt$1UaV*#q& zGMs|@Fc*WV%rwSphLFsqVi#s%Xd`3VV_&3!DaJH>2Oq=-5{=2jJnV?Ouor%a1F$}$ zX^pc`_4~00Uc;W)Hi@>l40E}^>C?oRE>t{$z3~!uz(&c89!H{Xd<66H25MkgO&KJv zK|RsOxD(@2>;t`mnu!+8jOmU=*cOlBV!VRc+}}LJJZT1=#te*VVN6#Xg57WjYUH1w zZrGruF`aQH_QIpM2yfyF)weQcBVI?9m!ulA5Gzsr%w~Gp;Ysx7k^D?jfSudeC)g8&Fe!9yL?d=q&>?Q0G^n`a6UDFpBle#>uFeK8ot^YJ28i187Sx zU*Ia#iP7|~k^dR%ViPt1+rwmH2o^f$U=U?5j>8gHzJ}qHZ(#sdV;!nuC`Mo;YI7!a zV*V3J22l}%OR+XShN?g6{1DkM<`!xoo^)eaK9hsdI2(1o6dU4;7=s@nlWTr)Ca`Ym zcQD4|GA{|sWS&I!o%sMY^_8d&6PYhH%*R-q<=li(l#gN`^uCc_cSL_7v4nOAdDTTCrCs+*-(tcMW`EY!dmzuYM^Ib{ZGh# zGZ7iKT{bqLT!cBe9$8wid7ng2UV$26IPVs(x@n3Y?1P%>S;&88kMk?kQp9E1^W9N< zWe&3M%tq&%uKr)B2dlwO^zA83()*uDq5%}4rfM7Z#zUwN$8V^Sr!j0f6g9ww$SJcM zJ@_@&L%;5J=3-DcY>j%b-dGS8EW?jGyjR$ z0oCCsS1v)FKkmGY9?I2nZM$S_LU}N1s=c@!cjKejI?q1f8T8Fi9`moM4CTYFiWF42 zk1J2drj)m$X5pd06ueFu`y<1A?iU6p_c3->Pde?f2`8SK3H|s9%|_&(b^Bh z>NpLxBnwa%ZbLOZh+4CAs4rLrYHDwxo;bL#y zgYX)*##`=u$`Jc@WMeS*H{(e>I1_c_Ef|GQx%!teh4Lj#!oZ>ShRsm}>5JO5(@+B{ zLEU&aM&coCiLastdJWZojbY5cHb)YP-tS!0W}AY%%4RcaYA>R0d>30`(r{Zp6jk=3 zmgYD{;~S{=|8vxJf1qX{VT9dugHi2fjbQ#Y(v4Jja0hCt|ALe7Z>UYvVx*ngOjL)% zPy=4&>i3~KeA#&c)$TfaFlv;23p!v3sHv1^LePXoQ8Um&8X`SVpTkadaF)j1FS%8-oUZ;bqz*6h&Pf%Yn+C9&BkCN zPQw`7=FUHd8u7=d8(eqgo2bnhKF&UII%*RSMST~FQ2oxuT=ZfyJcr2?%`Fmj96#Q! zSvqd_bk3%|9&LnSr9$pOV}L$KuvivS8v66 zNS~(4Qu|3>j_oO*KwWnYdtsYpyh*qm*P`EY`=rH~MfvZTi4m-eW`4j5e#W!eE>Mw2 z#ZAhZ%IuYP_rHs6DOX@kjA8ylu>}TWXH-WIVi2Ci+IRs2@JH0!at-U_KT-YFTy5X7 zo?em|DyE|@+<>XL7n|S*s2Qn5?e-)duM_5B11v_hKZr?q5o6J;u}j&&IU3d9K2*DR zFde=7=p`D4^o1)@JZAImZJyH zquT$1O*MJZ#rA{H9qVyo4ys`(cE)Eh4zHrVj3Mi72aPb2asjr$3D_9RPaM6Vh~Z?+w^!+6SLQ1uU^F4&72@muJ@tFAtHi~aVu zLJe%BE3d<5lwUy2#8<9dhj-aSIR`c4g*u2CpK#?* zu({efn{Brp3`ec`64X+hKt0(v_#~Pg{DlnrP}dKC%no!t>VaPOlIX;bt|Dru-Ob%l z9nU}w>>1PrS1 z35>$as0)5a?TPwN*s1G=(UgZ_3!H~BxF6N-b<}m=q6dR_+nH>__L1B;1Z%=QXdA zXe}#|Yf#d;zr- zr!f`JpzrVhN|O3i1U_vC5|14yXP|cRBGeLXMBQ+Qt3QEyJ>PNl*D;=Q*nT_URMd^S zpq6YVYKcoQ6py1}BBSEzyhfa)jsnEksT6*c8uQ4iDyTj~8@PZCVUNo;{{ zqt@~UYGAdG+Z&`|b;?6gduAMV!?ozU4#Ozlz#x3!dE0Loj-ecl8MqX+DNmvA|Ns3? zqN$2`!Tv*o74RK*`MK7QzwHSfG&3HeCFKY3zlokiC6VmfjK>W`Tk59czwu#rj?{N- z=4Tb^{zs(@qAziYV9%Hri6@A6i1{?qu4l>r|2XNg3hYfhQr6E?%R89tOLu01yImL# zrEV56l)MkN!35$#VhiPF*p0{~|Bkpx+&juhYI07;3XAUp{wVnnf?rs^KjOjbdyH4e zbPVI79{3}{2f=sfGd7wiBK%#aI-!@H^)kJw8%$)~cdmiUKji#>5vhcZs?-M{`@^g! zc5#0*n@a6_9XaG1ZR*>a=_(WBsMD6LP2Q1c>DqY7A0l-0$Hlmf*iZb0SWMj-La%|2 z$1Uapb|OBn#t*i;>E&CDJ7j(|{|xUPYe=*ylkZhvATgI%M^vZ1j<<*(i2g)h>i&hB zh+gFXi?;|J!-!MFuf$3slk-i830jOAR2(GYiBZG?PUr~2Rm9umdSeQRY|58$AhsoR zG{-E=Cc+85Es504Bwi=4LIjX+$8fAe+&gl#7-K2TCLSgh-aCT}?#st78Q(YmCHig6@q7#uqe9E~QxLm8*l=#3k-hq2vuHUi`5z9DV*VTQ2 z)hORP{vZh<{zgo5^?mL;e}(!w#4_S3qA~F*F_$*cMEClx@klCLxSZ7Y|B2(mt{pL-Tt^1EAx`*8_Qx2D*Y}H3 zzwTpbFoGCFzSf@f{rrlbsno|3Pm@n4dXn$-oi)ZouA>ys+0?v;GYNfk?j7&DKBR14kHCN#W2YCEAL=nUpsacB)$(R} zk>Tb2Mw|>TPnvWwy1e>oZ&+Ez=Bj0{?Fj(358?J Tjy;xNp8Hs0MERP-7lQr|^DtnM delta 8835 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 On-}>1uJd+X@%\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 69b441e6f9254f37ab98067b2a0a7bf269d57a2a..cfe6c92d5a508dfa982d24b716caac90e83b0fb3 100644 GIT binary patch delta 4269 zcmZA2dsNr;9mnza50P6Y@IyrqR;Nx|bgE-zZI#t_j;Gr??)mzCKm618@cKSJ-|z2x`CPx8 zXb$Y$7zn)|jBYcwPLe@J#FzyFW;uOy)+{&4>>`|iqp%Pc;!?Z}U%_#B0f*zbWV3-- zfjX{6J*ov0a62x>z5a2?;)7<1oal$KI0E_2a&ROTIhSHO#~a=89vr~&U$8HJh^hD= z?1%9wW(7C|C*lIk#1hd7J=3qYRxC%XNcIP`# zJ@pQ%B2hF~zmLKqEJO9cdUkZG?Ls~0c~p;fBd@XxY4pEpo=P)x;Uv@rWvG_j%1(2k z3Ax9%p(bG%J?utR;0M$TGI>}wmZDm^5;a8kBb{qou?hF%B%G2#|9cdwnfmeAjAht{ znyv34*V?~O4~%9UC|W8G#XQstu0>t99H(LvYSnb2hTt^ny7zDj{?{F6g&1(1C_>HR zdS@f5Ct5KMkDy-MiL5kxAM^1m)O}-^+P(2oR7DC=JvSdUCzhkSyagFG+ly*o=r{!} zk3YK$enkGPzvs7LGV*67>_+2a)B`u7Ui1vo80$j4@Ke--ze9C-G~J}@(~KZL5tVboZEhPp7CyY;|K^e`LM;@PMnxgOQB8s`J3`*t{wpq~FGdiVos z&SbFbqxC4zbgV-a(Dw7pUt4jE}l96*V-usGciFM#XB}@0(E9 z?{UY+oNwVE-f!n9=*D=aFqN|`)D3em78fI(Vb!PyZ^GXAG-}cwL{;<{YIS^ontU-F zP_!WGd_Fr>cp>V!YcQmB-#|ev=s-=bF4Tj&Q4jhU^*#6+HwPGR`cvQZ1AGK@{v}+8 zpW)TGEX!;r9z}J1bhiKE9OM!!MXie3Z2DhazK#4XB~rjb(TyhyGXBXYn-NZ8PyQtV7M}XHhRa zjUHY=wZI$icj-*z&sMV2b9SOCejIPcZqyL`>=OU}TbvJ~hVrQp1%}_cP-FNdss+JZ zzw0hRou7v~e;29(Tiy9ir15svnM`d}kwVm5x&d{61L{5Pn2cRmj-hucsEe{D`eRgp z9>;T$pX_#|(e@xz+meIaLqLKvirBY6#Y&z7rkj z;VU>;>;Ei;`#I6;Qh)55P+fWwwFXGoE;C;~?z7kZSZN3hJ^ms0RlM{4Vc<12~?98j@M49$1YmZ404>ZlC-8 zEmT+ki0Yx?v`S+=8RLjnxhbc4sq07TQ92cW1JO>$7TaW6olQ?~LSANO)YbV1TSt;xA1$U0gZ@(f($jf9a`RS&fRU@<=B*P*lCZOK0?%zpnC%3sD zmf!;^Hb$t$j_(I#N!Kkq5~#qE+%+qHQ=?PO5d_wis+82_&BUhBT5$|A#5u zOP(S<8=q}!Cch)2$mQfoqPbE`enFlk50gFQIdThGLGC2A4rqxAFH5V83!ff(B(8OL_C4V-W7A@im!E21TUU3gz4}ypU43nB{p!{exdX!` S6F!Ox&&VrC2yZSLANzk}@Um_I delta 4401 zcmYk;3slzi9mnzS0|Jjkf*_z6_y;l)AzfG!LKq8C>>?Xk6AK|RFB2RW^-1li%u6_M z>b#T|PAT%THKm%fnHMQT3tUWh4I&r7E(bQtOnJC0P4WasNeS> zAA5~2t%c7}7yK5rC=)r!!9r96?nT|;5zNLeRFB_4HS}X-^zGln8UHnG#If}Aa2q;! z5(nZJScaESi?f*V=UgjCU2qQalLasxx1ert2zA^kya_);Jw=(!r>0^IhSo}ujT@<` z^eWbQ`#Vvq_#MylsFC;vd2B3YgnQ#mbzJMh|I<;?r)`RI8-b|KGx2c-c$!sEk26s$=g_rpCBL0Vm@@Esi?WU4|RMKYD6DL zt&Lr%4jn~i&(3@F6t?%;7e1u6gku$!=QfH%aTY{_?t3l1_YE%#QqDJudUj3I|eFCk~abuCeu}aT}Q61TjT2sN3 zZ0Nu*Q8!4q-W~FMyq*1W)W~c@P0>DduopSSK1K$^l6igV4O+^V_5-K}cA;+6i~0Bo zszc7WP#=R<%!Y<$5#EL!s2hEbYFNY#W_)ZEUmE&qOvF~y5byN%|A-puv#16{@>)&6 zaj5#qsJU-IE^Rw7^!NXDHq^q4s3{mS-hFWtpu_$TP;ay*T!|Y{bDv0eG_=!Di*q?v z;cC1BKR`{*1=L6+@rNKC^HBA7q1KoSsO!919CUm3E)}U%e1&RR+(dWC zZ^ShAD^T@|y!|bx<6lJ0{hO$sy@x3nd5imZKOIM~Uxm8iG8}^KcopsrvY{Is!*o20 z>XDBL;!(Dds1{F0U1&AxxMxuf_yg+r^Qe)E{=PdBH(&<)wdluHs1CHFgD;?_F!(kb zF>L$|S$FmYvJ5QiR(HtmN3HS()CIPq*1~bT63?I>r%&-}Of7XE&l1#---GJ$Y@CDv z^q~q5T+rR(dmkw$tH|R-C5#l4b!0cu`{7ZdqES`pOGz943)o#eTetOeEbz>m+pl zQK-4TT@{o&Ttff#OlMmwnnye|{7bNeJVG8MN6BLHBAG+(A$kd{ohD{Tb2ozL(4+JIFDziKz6FRm|B zi?=DBAh){v!O$Yo_B7H$lC?uw=wf$cHpwN=kWx}e#*>FhU#VjwKr+0F#J(SJCOJZy z$R1Kd4v~Wz|KGClBw^v(ugDLH9<5BG5=%yqwc4R@N~mbnt4t>Mlb?`fMDO-lq=@vD zXT1&HOQE87!64G0i#-&oa=+SPM!)^1*w*8=hSc|~uVy>F-+mX{Pm=_%ZkMOtnkrS~ z$7H*9C_N;PggP@^HI(bfE95>hfvhIalWj!rhFbCj`6>AYQTY*hiTs?bAf2R{R1%dT zF7|8mlSSk>SwMcHwYr>*$B4>Q@=G$HJ2x)Y=g)0)<~B4nM{mj*{Gi`?ps}H4QBzU( zGlLHe=nf>chYhMFXQxDVzcKd1uwj)g_04q)YnmJCodrFefo2Y#-_yzEx}VQ0 NiSE1JM@18&{txG=%>4iW 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 49f574e03f80f76b83d069d97615fae21db31ac2..1a5200c360de17bf0be53d2c7fbabb84f8080bdc 100644 GIT binary patch delta 13837 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 delta 14636 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 Ocs2DqcGhvZ{r(Gz89MC% 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 55b30c0551ecece1226405c1b6780df83844a253..f523cac3f3a82dd8ee4aebe51759a1543f20842a 100644 GIT binary patch delta 4263 zcmZA2c~BQ+9LMo52m)$?AfjlxDry{-5-J{mrshdTQF)}MLM4hMij|d{rJ-V&5_xsl zpCWjI8%t)arb{Pk%BIO0YwG>^?ZZFq@Y&b1``dl?xpuiw6LD%?g#Tq? zRK2k^l5QlewOK@jSynrpH5-s%))oh1U(CbVSc1dwE$ol~VsGrUc`S8(iGT%uV#CpuybrXjys7WTn>X9=cqyv`l(#7-O^$M*OQrryU?20%KBb@*pT|oufxGpfp_qon=;58H9&JNC=qU1MC)rKJX7q4yvRN0r z0oB08sO#6Dhdc0MY}9$4Z(mVRi_T+rOyw@!FciCD5$c9=^solikOovkKS5pBjH)Mw zn?1}xjqD`M!x_ln*j7}B8_@SCyiFk!e?Sd+BEM!~F6y`xJ*;u(8&D&43e}KEx~t#& zVm^*Tjlcu!7*yMVs%IZ+M4OOD*}q*Ff3-Y?Zs@|xQ5TFu^=u(Kt%Yjj9@~mqgdy~> z3DtlLs0Z|*vJ4!H>gjE$DY_pST-$=xxCbxC!QB{tk3tzsKMref9M+>&>uKa#JBz9? zig}=DDcBQpP!G5sb=?9Siq)vMrV%v-AEK^1jf3$wcbx7s;X09zTE$h)Rj84u!&p3s zdT=B1rrDR6i@%`myM(13jYCik$wQ6YG}M|{fEw~zWY%mKs)PP93VJ<0a2Nc8{8_RW z^k5M3XQSBl!?~ym*P$M?8|jR_k9y!4RK zLk^(k`bX4-QQWNxd!UCIs2)#3P04gr&&r*vQTILOJcz3Q1bTP@wPw1pYp3^rBn7p! z5Y>ZuSb$Z?pY3O-2c1IA;ZLaRBbXlzWeRF)2B1c+5SbM#cfYSkUBA;EA8~$$U3tF! zOhGrsv4m-yrK4_`j4?PD84N2!RlFXf@kP|4-HU4I5!Bo96>9Od=76FlqR!{CQ-f!t z>b(Pfz4!N0P!AeVi|c(<#Z9P+zC(Qve#PYx%s1ny^IP}`48&(}F`mRi9G@P1dLKdl z>;yZlk$+HA+%+Q@>8mmre^qo7Czj(v)LfrIeGh&^wX`*@)Ny-Mg}t1UQ6sVpRdGG4 zBk!T6?0eLr`xCV$;_1a`%)pVjD2wr@Q}z-k^6(@M!jAk))9Rjx+-o~wxJdUyyYV-u?0emTJ!n~V&eZ!;-q1Zq%owGY+u zu8CXHgxAWO#;QU+jo;FcFub z{{Pro3L|irPT;rhSa<2dJm=M@2h78GtVPZJ)Pr({2j7VasNbic&R3#F zpc?(I6hai_$EY4RBaOGeP^&ka)@ewmqDJ5zWH4+4YNXyp_4FKe!(?71O-(j-!6Iyr z3sAo=N8PtMkNNLRq0#-&gu3xOYE5)vJ_@h^)j%IF#_gDlhfuHY$JiGCzyyrsCjFj- zS`+D*ibbe3v=B7{wFQ1KG>18%9-c1 zDWif1<)W^ij;u$!54D&NqUt^4Q_xVfVd8pV4r)$|kyqGOA?woiV|V-sW3cV$V91kD z4;X^cI2+Z0Qe-e}DUQJqYJ~no)f>f0HN+o8L32`qt#Ku4?$@9i)`(g(&8Uj?F6lTP zb1)4f@Oh#RXww>blIVUlR@=*jw%g-GZ`&?X%JU(paD2FAb`_3v<=34LI@KeVhOHp4 zx^pacyO|s$N68lQ|4nN~>p|OI(kooz8=&X+m1O>H%4L*mFrvWkSqKSW_Ad4aTSe6FpAY$kol81fv^ zYA+zykeA3qWG8ur+)66QailIf{{eS{s}2AF delta 4402 zcmYk-eQ*@@9mnzS0ZEPnb0m_45J@%$NI3|gP((-!7Q>@pQ-e@~gphy&l7pOqB%lil z^3!(3v_`z&cXe!Kx#UlxZ1?qkVsJdo%e>KKJ_V-tPV$ z_i}Ng@75-t`$ck>CZn{GJ4k-KS%S}OR(G8>tL2Y-fjsD@gwFP=mP|A885 z=agtexyUIi#7S6!4mM*tzK`nQXQ+-{)AzJ*T{+taL#Qt%pgJ@MGx1sPd<*KjIci3?Vgc?$Ce6M?S0lYi#ld6_2I4T(OqAguT09V$Ec28L1y3nm%;q6qtb(|KMc2` zgJ-cTUd8cv1GPB|nSbuJNvH?TN4~N;%*K~c4ID#VcMk8xuTgJN4(q9<7=rD4#icTW z6D8h>P2TY?)Gj{n`6X&5{)4VjONmb)*?Jb0<)H;~Z+n z-S4TejOKTuBg{s<9)nO9lp&Yca?}W3M*i$|K60@Q^}ugY4F#D725SRR4NgSOTq$bG z=cBG)iR@d~nyF|?j-uB115|^TQ4RRGS{)jITJu?`>z1J&yagTHfg1Tq)Y6Hi!&iF6~bvs~6g4NXR^Noo;2$v# z`|wI=^X8yBnumHziuuqI)*_eM8g%u=n|!DPe?dL?8`ST>zfmK|WF550Mx!45AnHMn zpnf0bV!hAodGCB+fZ1J~PsOD;0jJ<`%tt@(r1nTri23K7Rd^>FP;31bYRbPrHS|4d z*Z+X^7)S2{xC-?dCdsy;8f-&uv1_OwxNO$N!D*0g$9wP~G6uVXBd{l}=y)<}r1hv@z#Yh+ zeaeTXJ}|ufd)IQQIGmV>58^^p18-vw{2ZB8yNViN2J^0^dH^+oQq*R0Q4Q}zHGCHJ z{(pyBl6ZQj=k!Aj_+jj;_kRTyP1!Ci!jI6wB!;Ioy&Ltq%*Ktl2Jge*$mrBh#oIWp z#S(lDlkjio;8oNTCNd3rjYFvRreM0>|5_><$%{A&k77@}hRGPuNljTg>h&4n9Y?(5 z7f{!o^ZYxif$JE=%+b+3Fc{T=+4u`wjjkGMqoN;r*bTQ9y3tLx+q>WhYIA&qz41C~ zGbN6R&csmE6wX48)J1i8H#*pg`u-D~f;UjlE4n|r85g4lvKICHS6wO&m3J^3KSSN{ z1F~_gFAJqzJrnid4X7D8fLZt{>izyN@`_vkvC-FXI%aab858gz=HL<3^Dm;7-1R*W z9YF#zYnF=q*)%>hMcYviegoB!^QfthFCv(O+5;g}$0|^JrvWuHE#C1V9M16v=tC7= zG&fq~^DQ!otR)+WN+-e!*e3Ei(eJ}EL`9=hamZcdG4dkmSRUtKA8F`ta$tvgZHM;l zdGCvA>`G3MN}?YjR>KaFj%6VS?~*v8pW2B;QynXRq;i~SmQ)UqX=Ds(C0hUX_BCyq zVr>|esZrYhQ$0exn2aL*$a2C`+iFrzPLXBg2$@f2kW|u{JWI5MDvy%!L~qGMMCB#o zYV)WxlU<}QX(HNuNknU_qBVbk^e1nU1!M<#pEMGcHnNetOvaHdM5Q|kwAajjg{KMI zNX2dcAyMs@q=uyFfU-D>O~(+)BYQ{@$tU-aRU}sCQK=($dM8q1U*Ifql0?XUQcjMM z!;&mdXaUcio{A8mF(C7?j^61+r4uwp88c)DJ4&kS9Cx*Lxz#| z!DQ$RWiWY<%qFABbL97AE4i1=C3HcLQ zMBdh3T}fpPQJG8*k}j=zJ%T=eUbXXhIPzqmaZpmd-+8P$T(cxn(7Gq-SeMqi)Xkj| zs}@y-msdG8k$KflzsTYAQh)q{N~bihytO#H(chih`DWRI%5Zg{@#6v8^@y4!VIHw4 y)E3wH#E@>SbB2!YoK_R5DX(4-<`GWiyhug(%%OP|+|=4MY-%9(!1D#qB>W!-9?r`E 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 61b8e6636f4c09fb724b6709e9904ad39c0e6a1e..d0790108407460035eecc0b45beb7123d1a63291 100644 GIT binary patch delta 999 zcmX}qKS*0q6vy$SiN=48)|&b!{)r~BnrO5rSb{~gplu0GLg^-gope!i4h}U#L2xvSTWH79?@yl|xcS`o^4>l7oqK)+mx6Pb*C!VsQe1!mEY1$kyo7()F&gpbVTY=Vhi zOyWb_#Ae*X0H!gFe=vgne6ubb#6q0KB3#5qT*YGiirTQ13tkx2FPz?OjOzh z?86;Y;tWo399gX6dX#KY{Ddm`F81OP>ivJHN;UCv557d*Pht$W9nUe!b#4juZ(tH* zqS6ebDlv_EU=`!|9oz9QzQND~vwr-DtYrtN-Z{l~%%INNM_B^+%<(ODb3Kb?xbLO@ z9ETlpqaIICCAva#Sq`11X7lo+h3iopOJD@wV*tM(&1A=@_kUwEX0Zcn$fgaw#ul8! z=eSWu{k3448%m%CNI(qrWgn0exGBH>Z)Nat_o2lVO0Lj5>LH!4qLZPX(WVq?SVh|{ zRQ?Bg|&5cP-Jb-)%R3Kco%en`55{b?OUg%&_}5yVvKOA&OPo*efC^< JQuC$p-2a6kQaJzs delta 1042 zcmYMyUr3Wt7{~Fa-s$VgP2J42%wCk;s=~p;@D4 z>CN;fYs~gzkHZITSIDdpcVhyNVGUlyBwoV?T)<8E8r!ji_2^WXZN^4y!(P`uVOboLk~Y8kIVj|_K6TA zg`Kz!kD?BiuOy&WA&Eli2aEnPV8#G6z#HBM1}%N?jE8M}S 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 251636d4089c6ed9ac5ac520029dfd54afbfb3e2..297c367398ae73783eb2a81b51096cfe083ad649 100644 GIT binary patch delta 4278 zcmZA3e{@fE9LMqZ*4QSq*=%FRE@AnaOnx-6UrF+-lBG-$ZOUedCYAasKj!BqOOX^6 z{ji3i3^?ZHrXa981Uib02_j~XC{JfV_OCuVWL-s{ z7PuZK;}-uoXt9ZA@tkOb(bxs~&9bm7<~d6+jpJqRcr&JO{2{i&Z!s0mVH=E1G8=>) z@k$(z8CZ>-u^zix(Cjk`YVifU922-(6%D{HScD!vfa=lHsEXc3{_H5b;rJ7J*gx5< z9o~v+;Jv8pm!O9mu>&^hJoVd23Tn{>?1*XHr5grddmN3rp#nWzj%r99s-d5vuKNk~ zoM>+LFn}7_5txhPk-@Qbs1Da*(4+7!g&z1lYRD7$H4Af4$EE1ua(BKCHBw)r8WKr& z^?NtW!=b1VSj>(=wT-Cf>_m;|F{CQ{w;kiJmZ#DUUDyY8!BAAsrm@pns6y_sb*M!c zLJyCj8t^x&f(#xOz#*uf&O}Yo0%UM)EmmPY_QC$?jK4>rjHMro%W){KL9N!~$hGz( z>VZ+r14T>4PS_V!!C2IFO$jYKWR z;2u=PjmVp3Col(pMcsEfOS>6fg=$DHYUIYD)+ylR;3D#8 z$)4YXe#oB{vdhHDs0S`XRrDIt89R)s@CVd`|3VFU6vL$J(~$LPxyWo;5mHakW>CKN`wZ)YN37Ms5@`D^}rtUxB)Qvpe4B{1V$! zzx_f%H^#DrX`FRO-7pfPaWXO(R)%`;3T%d3QHyp5s-gQ(Z^ud0;%m+UMN34T&tazq zPeeU;E(Z19&!?as)S(vFVbp_ z`{4rANWF=A?l-6ke?+a3XnLXdJ_Cp0m@LMhPT2-d^ul*gi|{;Zb!YNV8=bYmsGgK# zHr61sW(VBycc_M?T;UIKJ{EI)8|wZL>iTa`Q?1I>FfT}fPFX(k3@byuPHWxq8>os; zBb~4qYG+ifFRCFE*!9L5)cuX93Vubs1@Zi-`va&7Z$PcB3e<-xxPXFQw+7VW_zJZa z&Z0&lj-4J*fa+n1J6?$z(jBNC9!53r9I7E57-#i(1Zt>fq8hXp!)piWc+k#J;2ulv z>sNd|GWu4EiMSf+jBQ2_kGk_0Pz`Uv#4|Y71vPR-s5LMP^_(Y=Dy$LJvENY*OyslM zA^iSRSj345Scs=lJ?eIqzxr>$yE!h#csz*e$>*ro^%vCj2|4}<<)F?_LJj#s)N@}z zb?7@x#y>HM^=GY^2(_>?CgE754OWJ6xXHNatgM5)+@;~}U;T8u4l5wbjN6?%9O)9@5(3jRU$ zJbjSArUs%KRD^m?32IH%3}XD-QwVWFE&2rYI-Wz#QQKS=5MGD6ZZ&#XkLvL!s1f)U zTVrINKeTO7&k0~#9F6+D40Yc;RDCshjK5m4gAr!FoGc{a@efgWl)Ors zHhqwmlc$Il%C+QWqE((xZYJBvDzcfpPVONy$b)1$d73nBT9k?88B$2<30t^+zsUX; zSJJDeO$+P}ayMB|w9O|Y$ekpej3-Uo?G&zX2QN9-;3cm75Dp^)$yhR}ss4@}JVCVG zPsWhJB!}Ef_7c9b;Vsgs*YsAhlk6w6$wX31hLfhP9R-i*trV!Z delta 4405 zcmYk-4^)-)9mnx6q=0`B6#pUe5SbH2O>`-O(p)0wLd#hb6j3ov9*=_$K!FH+}@x2Jog-ahtGZep6A}@`Tcz! zjyFbpy(S{?MSQzWMmb6Pk*p}Q=m@i-&N^$hw3}HctiwC80gG`DW@6_!vvkbGURZ;v zxE_1sKJWNL)GaS#N4$wKW&w+eH=E0eSkxCjjKvigjq8!$+9n);yF5>0UyiSO$6dRd z_2hUYcE!o44$Z_K=)){rjU(_RCeyxMr*b)f<9OYY6NwtA8tZ@ z--`U%M|@~6TteOOCTdeAaFK&qs1D3RHSh$c;V#sO&!Rf|4`lZ3zlqHMYAW5>`Wd(d z9Xy2{@L!mV*HN2uJoC@BmXEsO0^}>J!xU^nHES{f zQ17G%#2jjA}3sHFJfi zDPMs4{c>dA2CSKirsM!>jsJ*h@B*rV2!5>&4MMGX5$bo3qHg>QI`{%=C`*trChZ9SXKij~E-cYmL``Ke>cVA6=WQ#hfg>1=e?cb6K1bd7 z7PiME9tmyUR8&XPQBTPOF7;HG=-EgErY%)QzX0 zZZre+ewd5zM3_B|nu**&?t7sKmvh{J6EKozF$X82mS%Mt^RFH@b3#*j0yUDqq8hx0 zT8b!oqXxTU4kn}C4|A{!R%0}-^vW1M=)TUgETB^gy;O!ICfFg#P4aWhj@Fwba z=^W_3g{Y?>u#Ac>Y(h132(`&RLA|;Dje6_`FMMUA``xu>VnhQfZyRgSar8M zvLJTi_%nPMFJdefjCKc7jCy?QQ8Td(HB*1kdD^$jR5bN*%(rel9My9lCSU`0$E~Oi z?)8qpM*3pcu?r5(bj?D|RK9n-0=4GrQ1^We$KeqSsHZp-KFS(-8deDDVUGy zNE!CRmDmBFN6pYq?15)dOLY-DVtkgn`I6A#xB&ZNC2B_3WikI6c`GM+QZ9eMz@mbIu3HzWJd_F^CWJLcmp)P3`E-0Lb)oBdf-JMRX( z%2`wc-+6Yq$DO)is0&I^4L^mt;cj&B4C>8x1&3kppRo^c5;|CmTFNb$jIEf2A7DES zT%^*K%J;~i?WSku1b0{0p{BM0)o>8ChM%I=_!_cGW4!olxId!qM89*HL5@)ngtB+5In2Y*R&NRVh2 zL+ua3;p7)OLAlQ*^bF6SK8<7&t#d75h3pAZPmYpD$=hTBd5H8Rw~;4_mOy0|$t8O6 z6cCjr640hmX(lg{JIE$7ifA226P14CHzc(Aa1nWd93vZv%1N@8Y$g-QGeo5`(Oyxx zpZuP%4O9Z5&7s;$qKTQRFmmMrH6~Xi7}*- z94Cv(JKC$usjMO@lgaC(T`;{{Y(z}D&skXEukN^UNL+o4^RTa?rqZ7sd^zr5yI@_< z4Ut{T7nfJmmOC~6QlB%xzrRmmOw^+JPGNdUa9YZrW7=MxyfGtfMki;UzoN3jS6#6< zJJ^_Zq<5-9AJx^uTME@U! CFVzqL 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 773b1d1f2829b43ef411bf6cc884f5555cbfb554..8901d464a4dd20cd4cecacb6b051f2d20427240a 100644 GIT binary patch delta 3769 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\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 eafc7481bae7303da70839617b38ae38603e163e..868b31b61e38c3173a32d217e4d9a9ffc6e6ebb4 100644 GIT binary patch delta 4650 zcmZ|S3s6;c0>|+`3SM~#2`Z1Pcz_TEkx=kKC>f}TxM7RpYU)OknF}i7O67V~QXwCk zOQ@xyp=l2+?dH0b+KT0?)h*37Yj$l%cblQw(RFHdcdGsV?m5gr?7u|@HW|tV(wn^2#hBOtV~V@!tTFq$8xx8Lupb`5S$Gw5uprWybhI%E z_hAga?;f{f7{}pJ#)P03%dwwxY?}ru5uA7mJ-8crwrRy=JnDKC<2VlK;hay#UK~%r za4g4YT!{QJ4SeKcvwQv%)b%%TFoyIrrmwM$8A&CP6Ejc^F2@4ggBr=_*dGJATOCNp z+p!QWtVE4`1F8eBqV79`v}LYf5#B@#^SLM%XJaqgH_NE##wI>2+=qSeoO}KYR0jij zYCNVOr_5ON;!M=_kD`TJurI#u9$!Lr@V}@5#M8R&8-cbSJei7xwWy_d8b{&_s0V$9 zETi#oH_tF}XyFh{!&3Cm91i4ok9&N<{r;9~GOg;qNvP|pz0AL+b_XXC@D!@2?e2x) z?8s3ZXCQqrRme6l^{587p_ZZzH6x!Px0>%z*Lj&1eV>8!!IYx*)_m0SR`g;1wX3&s z!ooIG2dPQBv z!O^ItDn?yjj(XlIjMMwSjfy&O2=(BrqR$2Q{$c$o@1}-0wRLaIW{Fts63_$RgBKK7hK>MorlcR0D13!H`vACL!eWdKXyp6|spWpO?cYq1O`;(K@}#t(8jJ`FX%rGsqe{ock2t>sDViXY;7 zyo@1Onc;M#7S+)P)DmpOY}}3X*?f%Zc+eegM^H0bh8pN1)J(2J?X4D@N->qgs3{H3 zbT&sCj_0@-S$4AtbMYwh$NZ0v8JNyawQw!!x>oo21JwKf6|zcZAiqjXf|-I^n#YkB z#@NqO(Hft{GQ5WD6H~}MYKj)3Mz9ezvVEvEJcDZRn)`hW)1Zd3Q0Hf&u3wFM{x0|X z6R4TG<{aC`OEaNRYD-&Nf>88s72Tz8@#a2hqzo2Zc{^7IlcLUnj6 zY5;Gd26PEE;t+PAW+WRmpnEZn_DwAnb)XR~d}5QHa)a$L67CW;G__E>uTP-~d+Id`U$k zk1le4qsL$>$16}bwxXu+G^)WbF$E(gIM)qB%~&~VQ*A^KzJj{$5T@Z}?2MuO+-mA0 zaESi?x2R~-m0~EaLp^W{rs7Go@ZT7WQ4^hiAM`WE4bSw|8`J*gyp$s&?ZE|6UEJh_9Yw2&R7MhBE7 z~R8jacLuiS%`gj0kAVih9_$H>w~g zc=4i&YOCu0%8JHkW1@VY#}sz<752Uu>`U+WcGpHvMy;s`-@_*5aCqs+x+% XS=lkZlA)agebqVB!+f8NJ?!~EOc~{0 delta 4788 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 Wo;jzcy0ZD?h@!3?x3b0@_y0e{V*zgf 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 4726f5a8bea0ee0a92aeae3a0e089c5e72ba5df5..1a4934a5cf283c79cd0c04b60bc4edd213334576 100644 GIT binary patch delta 11455 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 delta 11733 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\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 98fc7b9673842c9030220dad275214aa9b9cf818..15536b7cddac6b500439440e32f246405b9b3ee1 100644 GIT binary patch delta 14531 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 delta 15347 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 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 7cd3c694e4eb653c054018683cba3a061a9fa3e0..924bb3d32ce8a6ac35a54a57627bd96091a76fa2 100644 GIT binary patch delta 12054 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 je~w>=+!>+$$Ue|#&(lUC?|evqHG delta 12586 zcmaLdd3a4%+sE;JVkR|{kc1<|OroecVpd|FXF(Dn5)z>v<(P-6F{Z~%skUfo%=1)3 zX(ehXEu~Z+Q)$ss%KQDDwLGtX-gjTuozH!*z0Tfiuf6upiFV(^%-8?S?75mh^8$x0 z)W>lGaeh9>c|h)4Qmu}2qO#*;$CK#7vzQCdp}Jhd(wI5aar$5dtc^3U5*|Z8e2nVv z8|FBJFbrEej>lO_(vpTdI27Nh;y4X(JtpIAY>2(yW*@FX?Z1f4u}D?NNx^5jtci82YXBZTOrirGwPxik?@~9%RyYqCsdEiGU}z1;;oQzdRKM-m z6m`^Q&Y9N~Lk;`_wncvq(g@>FC)|Wx@EI<~cHxfm9^OI5=JaP29-UwrNiyC=&f)ZlF!yjN zYQz^%`vW-}v**k~UD;Qt6V_)`5jYXm@2IV7vQq;eg`CqljGV%8H8wNVpfU5Wkx!?A zi*PQZ4(!KSb!Br=Q~Vuj z*O0sIlxg8{oM9xr=%pQJP>ZB6^QW2Vj~d9ASOFhnRdmy7ICezM&`Hz<Rz>%o- zg~(lXend^V9|zT~ZHo~&P4llQIf?o}jy7hB+aOKOBy5M@p{6>7>C%EZB)Cq5( zK3|E>x`1T7f(KDkzoNbI3aWo#2eXzuF(jJ8PthOCb~Mjv1N5bi#=Mw>rEsEc|HQft zbJBhov*S0|4=>pETAi2`>c*HEJ7PBMhWYgTN0IPkILTNEH(?0=fC1?0>^PM%2n%8) zsyzxz;22c@l~^3VLLKK9%!LJb1hl_6mcb@i5{F<#J^yn_iqf#(cDRH(kgKaXQ3=!l z>!F_ek=D;p1Gs|0_zHF4;BMwbO;L4%t>>WzvKw{$Ygmr+J5G0VqVlK%HAR1nLqD8= zVYmc!fKylme@C4lR}XW-P%KN`1$BaPsN=0d9p?z@*8G6gFuW)8U!EkHL?2v%TII)4 zQ}qaSfPh}6Jse9@55fSPi$S=_dJ1b&-$vG}6WrUFgla#Gh4DG&#{7Ml|LPIz??MjFC=sl6_$eE@0=%s@BpN6p|*s1xPv&r1o*qZVrf>Vi690UV9N zI2-jeed)0sE@BlL{;_rF0COdsurck!QEOrs>Qu;!g9~NWQlqZ^`Bn=Bu2i|S#8>lPK7HbX^iW)#q)Id|L>ruDxk~Pmj)2|8Y*7dga z2rNTA8_VJjWQIJ>HIf!IJi(?I5ocbJQ&DfK1E_nNW00{d>WZ6TBaBBkZbm&78K_%# z7c~H%!Dgn4Vjy*ObYpuA((|88qK

Q}-$Agr{x$UDU`k#TzT2PSgRl=!T#hXQ0-= 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 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 0b647b23d4689e34c7617d667664351684ac8c14..88aa9062f2393bc7180d700bf4f014f42afc814c 100644 GIT binary patch delta 3750 zcmYk;c~DkW7{~DkK~YgqP!v>r-4IYv5p!X4Ur@t+4@5CsvfOj+b>A|#H*tw5OU<#F zN?(^8t+6pHm(-k+u_l_SKT>ndsm6Av@9*A=(;1%oIp@Cjz2}_go^xMHuZ7(BJj7oa z9k$CThl!@dr0QlrU|DSrl%zU{@~<0y%!x#-L?2dX8X7<%s)IaC!8xdzzJg57 z-a*D}=Wzqx!dh6wO$XpC)Zz@H2J|6nk$;UX@b@_KuN%cNEM1U>-7ycf>er%Dy&ZMk z>-Yqo@Y?shb_ieAV(sQR05#(=SQD3FH(cv|{sC5}eZ^0OKfA#}DY=h&)*2?suvW;V zEE6@8QJ9W}-sd|}tN#dUz?aa6H?b}Lj=EoSR;K#tjasAy9MqqGITfXFE9$}n$m6t6 zk;z#ls)Ij~tXUjOS?4>W2J|HQa6BplOHq$#6KVowp2tz&yW;sHGC;po7`WtQ4gth2E6HewfAuqfj$mL+`_}6m{dmPdaH0X&c!gM(E}IZN<50AFg;ZdkgbOk zF+9y|8cxL`yomZ=d5E=WsE5b}Zh;W!SSTZ&5tkmEjMd65Wl?aRRo$ zUy(^!LtX~sun%s>GF*eHOiMFAipo@{OlF5c+>G&A?hFs2GT1EJy?z@WrX7{zX7YVM z6((!lb6KG{3m4&+NMAO%r~3@op*pyY6EMFQj|-3BAk69QW@01Gr~NA`Qzd=)p}}jo z5r>fGbNCewMt^BP-pf?JM|Ci|Kj{e}HQ0pqzoaLUcHBTWBT4kOnDb+hKI|GU!RS2q zXL$?i*ANdS?q|RBY1b{A!bmS!3iH%Y4vW#1bl!C zF^b`?#&xKf)@0@A#;frqj2YwJa6f7--N5-6&x+F;+KPI_XOX91_pt!eSy>?PmQ`C`otwd@wn(&w*o$aOX!VB^>_q2fl!wcS z=0p;qH(?Gjlu&6&yhQ9Hv{S|qTIp5gpjSDJyNMUo|9&bf2^FpGiA1~_6fI7bWEbaW z_ZjM}SLdIQjkv=5Y#D0xrxM$UnnXP!kq8h4#7?4w7(qCtYW}ThZ6!k8)6V{XnR*RE zJE0G;j!@Cdr8m))Xi97+1`^qXN;RUPQ*(b4`cm&fXiL9E93VOqGYDncDN{Kv@ak1; zp%O;4BC?1&L{-VBGM5-1cq-B#_$@Lum=bj=tk%N$)8_e}Et)+ocr|8!wcy&=V0dsq zLWA(YhBgyJ+Z6i(m5EJ)4HMsu3|w#DAP|#WKTw$+5eW234HR~wo*o{&nz5s1@Njl8 LK3G2PkI4T3tz4zu delta 3909 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 Y_TaxtQergdy$Qj+6+^<`R{Y}mKb6(g;s5{u 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 ea9ba3bbf6a6dad4e676742447e63e5631914acb..4d8b27083b1aebc26dac9e437fc0d71ed09a551c 100644 GIT binary patch delta 6174 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 delta 6324 zcmY+|30zfG0>|+~i6DX^o8ST$1qIw8G*Lp4)X)rk`4w;XzAs)vzcnTjz-$-N9umC&YI^-*J1Y6@d z%kFn&X{(BpZ)0G2V(XLr@o(gDr83^&^a+eI6U(@2K;Fm@bVp1=WE8 zs2hwy{eC)j#Ff|+524QYCfOKv*iH;}5dE5(UazH;Ag$_Q2OoCZ$ z+k24Tnv&mKOtHfL}- zUdLtl65Wi&xFmPveNi*?xNXn3?X9+b82K}o_@K`win}`43-7^vRL9q$mhu>~xjm+q zibik?nOzf4_p~Z?dj8K)(F|O}a17+3orbM&951?kY2*bF)SwuxY+<@J2FE+&M*cg3z*ww*s?21XYop0MyP#xKZjqqn{y<}tV zpdE^uxd`;f9;l9Fp(mJ1K9#$%6m@|u=!?5i9ovUZ@FZ$?UqUTW6Q)I*GZ8fdnaEe> ze$@9fQJc9EHJ}=F@F42GXH%GeJt-L|wlCHIq+U7ozsinpEarJ>1Cw-S7lz1h-I|DVh1!i33qLDntiM zQ8QJ6h4?ClU;qoRk+(!$FBSE|$+O3wMqO{2b%%$FPCSebUP0~FP}U<5yI}-oVK|ON zjeHVj;B&~nH3v|?yNv2cI2$Pp6HvcP$4DHCTKgi@z&+1XQ4crS6Aqz%@GUmQYxa2K zH1`4tsHNzQx1m*OoTTO5`496K=z^ScnzOe-{3VEwEQF_YIeay1^pUW~@PV=z{e+ zYH0&{bA9e_no=2rZBd(QiggZZgv&4#*I*{Tj=I5B?1wEmNFPiAGP|Y<^>4~Is18Q= zahKo`987zT^#po&VoV}uX{twKG|oniXaj1h_u&KhCF;Dyd)-&=1E?vThB{t_Y!~w} zGD*g_ue)Sfs18rSVYnQ1--~^je_bGkVcd@cF%DOuMzR-qAj}P9FebUbJEC&rm0@;c z5njU1IPyMYxVKq|nvvtE8---M|KZUOb$lrn>-%ixzko{S0QcYZji?))LcIrK2Qn)- z4At{$?1KLER!fqGZEz5(!{w+Mcpc;MB2L9%);AaDV_W2yd_n~(Ee5AAHAnJ#qL){ln20FASViGPwb$A!5Ll>;EOq*tO1V-UnEW@41OVeZ8 zJ?L(>v8We^2X*3d)CG4S`^B6>%~1S9Zo3$D;dgBNIVguC?oPo=V#FS-nOM|K&z(~cS8j%+yIMSC{3#$A|*UtucxjdV>%b)XDK;ZD?J z7)C==Jp?tN>8OEh##rueexeeF5qWM0+F?`L!?7n$!W7(&TI18mqi_7#nQCXFmY@W+ zl&kIWPwerlcn`;;A9nXdp4EdMZIbm=p1=b*6O+fdJ*-BJ{3h1N_@}@5VC!Ji4aQBkWkrMF$Ho8t0;ZSY_KMFq!r* z_#7sVb6=&~th=!R$3Mj0cnmeOp#|

V|t)KZidc-(jVdJbrWZ=gm{gX+MisI|L- zq1gOUcMo(zf7(M)OEe0#CstxtJb(ds1ND2~LU+bGqOO~P+MJ_3R60{xfV#jQ`^8z* z2%0?RZmOZ!n)V7*2lt?U_c;zgzwz$xhhhubGf*8~W!;W3wBN&4cp9~|9^c2^H&Yrq z99W7vp&E68&rwgqMbxH@o4}KRJuwdVV;ek&2^du5j<72x(S8uy;!Ny;8&RA247Str zA34#TiY#>aq6F2mC8(+V0M((J$RlnXcB(ejRMd061LN@mYDO9ryB*E2=3*?zi>*sg zzpwVn`qxrX&s&$c4#ZBh%aIiZF>>sF!$^s#MULyr#!atYV)z6B4W%J<}5qQ|U0C!Ir0KZ7w_iApHPeNmmQBj<^V zW+RJ)knLmvnL(n+Frv-`>&9Atl@CcH!kgH;_HW|tl1GK5^%iY7jZ|fw_tTi?t&UY( zvvtj$%1}~4(g+*hd_z>4>Hb=4m2b(t-rE0vjG?)TXbpcMD!&q~tx6+C@;d%RE|3A_ zPee=g0eOtvBwI*lvVo}FAYq#S9B-3Hhx*6V14tWt>^2Wmi6l)q$6K&B75-85zR^B$ zkD4Jkm<%N2?6Dv`Nvg>sq$_!esCfRyM>+YK3@2;J9b9}G?jQ|_O1;}Rrv4O3(Lq~A z<3d~i=k0^|N1{jbcj9M%e?{_L zsbnH~hO{TM$O<>sG3b?lT1>>{Y@{jjHq04@qVu1bA)a8$4$0g zWEID3eH;GE)^}OI!het{5=!*$ZpO$b<5i;aXL5@) z=lFlnADf~|PqN-yb6>abQ-9I6|Cg6-V-N=F`CmlkucRd@CjLa_OBe5F05`fw?J)U* zOegI~Yob!(;{6{fO{llE?bCRQj3xJwe-o8HB!X*t-#>3i$}40g*+?S!@-zIJY$j(& zDoH0F5f5oj4v;zIEuylITp@3h$BF)5_1mS2N+9jIm``3K4fXtolS&#Ydq@avm7OkT zsa4!b=8?vn6RZOiUwi)D)b|rVatBd)n*5!7PL7Z+SaQ&d3h=)typ52ngb8KUCJ#EqLvR1vLQ`XEXLRb}sI$sok*4solJ( zcKzD)>Q{PI23Ne06Hq;2@Ur?*3!S?8l}_D?xwQ+HId!wP)~(u9_wr(0`dV)1Cbusg IHQv+kzuQyvHUIzs 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 59b4c0c49e9dc100d07537129eb5e676b70c93fe..946ac066335d71f9e7ce1661acbf7efb8ecc4a7c 100644 GIT binary patch delta 12042 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\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 c72fe576c7ba30b69f33532b953e8d26784a5d47..45a9c92c29eb3f4be45f77c643d7cadfc3ef1b8e 100644 GIT binary patch delta 4263 zcmZA2e^giX9mnza*APWnAS%c&`J&_xM1)j+BtJAYRA5Lc2)aPSmM8|=x1#C3k|hom z!*5nvnO531Nvp4=rQ$eiHP>;Yt#wXrnP+p$tu)8B$8ihokX!T#8B9j$`l$-e!KYk143d*KqVgLJ;x<%6 zI#CVnL7n#%>OOY)D& z1-%}>a!quwpEb4(@qHg>j)R2cTOgcXfS)Z1V z%$6-ep5wO%Dd@&KQ4Kkcn(M!#P7L8{-7pEgn2PFgF=|SxQ9WyLeG+xui>@b7_x~Mw z@mtiINnjVQ_kSh@wX_t~gZr=$eaN4^%}x*c3^j*eqt5p*KN`vy)YN34My?c@6>D&R z-;O%}pj$ub`U%GKe7izH7lyHfX`D?&T~LC9a0N0LR*$;zb{vR@QH%CXR6|dq-i|L& zi!YQ4MTZCsUq!X_ zmpBD`un8@li(wtk#cQ|;vp6XekE2HLZ#V~U;sTtLVfJg>i2=Mflku;j(92b;u!I%( z7`}tEF_W*vV)S7?euU~-*fg`daR)BJi^!klPItbHYcY%wc@}dxet>tJzS((H#|C9P zPV!T@lLKYQ=-4jQTz9$0FQRTdmb-Xy3F`c2R8LP~Jzm8+tm5lKXRQnQv#acu;DkGz zMcsnxNH=z%|0V^VVI4D^#c~$a^KY;Lr{t?qTGjS=s*_8X54^WYIc_yvtqMxzTW?43XLAKpX0myFl`p9aVs)d)`|6a8Cj=xPqDK`TF^)R6V&|{lsF%#0fSPkJ^YJt;#8mtXhGXPHXT%awYo-R5VF&t| z7Q0HJ64T3_Pw5ssNqryQht(|g#n^=jIN~0so{8#lD}En)Q9Z3*<0qWW8EEOF9-SP^-I<-8ejpS$GX= za6H2!Tk!$>5*aL8$U@qPFID@^9;A@C)M@z+R1a^Vd34sisJUH_hwv!Uc&qrH^Po=5 zrT%Bsd5J6>HM9!#pna&3y@D%oF0HA>!#ESe{nWH7OOdaqJ%y|jdk^)XP?j{;+A^Gg zC-GLigu3xRu?~w@IR8W5z%kT&aJ7ENCahr|W7S zOs8!{t>!;sG!D7n8KGqCpk9C;{0T`S+J=z>L>M2 zXV_-C<|+&Z;2cj=^lI&HA326*7K7oyhI)*>xec+ z$DSl1&i}%6!+K^jB(4ma0A&+9w!X6MX3MN$!5Y- z^=+B1;uWHAfwpX-HSiGOlhF5y{s>o*a`Ft(HkN4a^=kHSp%hxl5E4c@$P=V*{DTx) z$WKZCHkHCQ@+=ug=8zwgQKXRQ?Kn!FA_vJ^0!^B7r6_LBZhi#Ce9KxUC6gst!S zPLaJDsl0cS{{%skBbhq-F>u$WoE&l-LlNqFfEbo8* zXev(=ZI2MG{MjUjG?Dj+-g9jO9Qr=Vm6VT>Gh{ufApx?0^lz~gyyQEiio8wI$i1Xn z{U1-3kVc~Iby7wiC2PoJ(!VuR&^24!1Cww++342A9=F_%FOn>>(>>OJgWYl*mipMu zB^e}-XgluE_dPgFc{qu5kBOg=yGSY-NQ%hq#Dc!a2v6XJVfDd?sN*4FzV$2DdDkv) zSQ(fVJv{h9bo+qds@O$?gXfYfhXnG{E(h}__YMuL$p{PFn35bglM^4z$gK?x{Jz#3 Oyi%AE6U?qGi~JwPiQD1; delta 4421 zcmYk;4OCa<0mtzNUjUKGivj|YS9w$9FP2n_AeM>^Xk9q3s`}^PPIsbe3{Xfrh|M%YKxzF?5 z`{$#6pB*3ixc?kFWS?O>PsWgRUt|1yj9C__y~eB$HfA{1V*+l+LOg+K7#L!V3+G}4 zuEki~jid2xr~W?blAmJ$-bR08+{QQ5m=bmbp}wfWAl!(4xEndv?8A6G?%0n})c@<$ zM~pNkoO&vbz-&~9mf|R^!E|iId+aFiNIL-o7}Cty9Qp>~YJ(`eye zQFl5x%x)+V*<~_uKIWo@hcFV)p*r{nRL8#5_q1<@u{Q>jP+!bLb*KpM!mZB!cGPk2 zqJ>vb9k_++U<@Zm<22OyxoBY>YD5oU2EK+2nz@E<-RUg~7KT!pgi}!?QHaU7-Klq@ zMg5Ai{}yV561Y9x`65(@O3}idI1@XOKl3Rc47M3WZ*~3fD8^qyn$8aTV2V+9P>(ur zAL{!~VmgXi!zLpEKEmr;Biy~n=uKGqwe@)R7d}gjK29Mn(=R>5X{n_ ziU-ib4{#X%3+LiZ)Z)x!{5jXmM_q6w@|CH_akwAVKriaJew>asP)|`T^QoywLC;!o zQ@D>Exz3JVPW>=y6<>C|h8l_gA&-rT8f!Nki#&;D7EZ$))Ok%f6x&c8IfNRylc=@P zj~a3J7ZjLA<8Rq_I1crAB%=-}L=G`^s5^KO`7=lPNW}A~3x0-bD2QR;X3Zp2gAb!d zt^hUUD^bU9K-R6>9HO8hc?UJezd|+m7gPg29IXybM9uj!)N$)j7j8id52Eh;G-_%- zK;6Jq$D640f>gpHn#<*= z<7-hP`YdW~w4-k5EHZoMs`LGK7)JXhf~BexT#i|&p)5q5_zco{^D?S|Gw6rEMFz?I z5q073a45#`NNDlKqB`nAJtaAOXbRUOhnj8Z))%kyp$=R`UHBiU_rQNpcW@W;phY$V zb>T-)7s^AuA4+h)k1@}qMkHY(^NiCmi2a9gfO;3t;#O?o;+mSUWX9jqL#{HH9XVKz zZ5W7t{IY0mj6$6dhc_`DH6^K&?K{juKkBP71#7Sx+i@d~V&@#(gPZUQ-i`TF7=I1v zt|`Vmghy~bUc(D`H%GOiR$xBt#Z~w@HsBIo8nf{dF2;yd`xRS`y3;rCQB1j)V{r?z z%Y1@*a|XM4_=hn>({UO*X5ViQ=?2uubUOCqgVeu7O-(8XYwn9s`?sJj{7ba(8`K>} z^Y&Sd3$PS>Q6m(SX1|!+3n(mMMygL%T`NSo#h)S{V?Zr|}jET_H)*P%|T zhB{RJ1}?&)nRW-du!4Ftjc|%-!UcN%e@#I>3!BA!VFT7+%memszzbMMy#saP7;aY` z%EvrxK@H`ns0KoqkEOT?ImLW}nz|U~w+QR77_Z<;J^yK}4E6X3ZpG1A_K+S#rpa8z zhcS#5TIIuIiG9>Rn#bs16JLho4g46jfJVY4REMu)EXHN?1mQf?lx#y6?VEp7&?1R> zgnyr~3U$G27=_=WIx?E^+KCI1={1*~dhkN~x1kL+MQ2ct-``Nz$z~oj0wt)qKZSeo zGju0W*!+F_aXWz;vOd(}xsA)vm1D1sCj0^Q_b~#;)9aI%hAZ%ET#QQ}v)>zCsCqx@ zj$?C;c>YMaQT9XnYIo7s+C*q<#r? z2eawj80_&~q1!S7dOje!?_h2}lLygd7Y{9S42emOGZo9 zVdNy?W<9@r58&Ixd((xQv`8wWO02lU~xT z@$aMX5}8fjB3i{UB$j9kB4f!;RoFPiv!y!D!xf~OJVO#m5y>ETwpX3POvg~vV_B(- z{m|Jdn#oeH`YV)2lSWeEwZD+^IIsF~%0D6_oqg?&k&XrU6nWXH{{p8H&&@;;sEc{6I*{X>0-1s(9t{4@z%hxEdw2Wp1&^28798e zYTcY2);if$))V1cJG|$^X(hg`sY^z-KAK|r#n%Ry_}aAAMJcg8Ihj);?zB;!w<7re DsFDEA 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 b3c8d3cb67b2f0db1d3d2f1eabc8fe4b683e5e53..4814a0ec735df19a93dc44eb653fd1a133cd132a 100644 GIT binary patch delta 14542 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 Jl;pbU|9>Z+wz~iT delta 15484 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\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 549776433e82905d16c4a39cf8c8745e9b69f00d..5c3bfba10b67b173deb3e3fcd31f658978d7efa5 100644 GIT binary patch delta 3055 zcmXxmdrZ}39LMpmbdZ~%K!8Z<4+Zgt7xHdIc}YPd@q(I)VFwWqQV0zNkD;Q?oO%1h zEw@_gCQeGo2K9j5sO#;h4lkgGSCNm!_A<-IKA41y zPy?w!54YklJc1hNr#KvM>zMv6i#&K(gc^AbY5@D)`PVR=<8Lq-|3Ez`irzG{T+{&P zqORAW2HuL?YKKtmPob9Zef01*45*_-TIqpfaVRc9u2~x@RR?i9p2T}`949@j#u(g* zTH6Dtb}wKi29b|_!57=benw^NmOI})h5YM=jFj+Nk8&2EW>$>ahYhIB*^Fe(4kD{& z?HGxtQ5kp>HRH>urMiY1ST8nI9%f(~7Nhpi%2e{Nk+pFm2lt{Hopq8^+^ zYdvrXa>~Y_QauYp4@5nu4b|aERO&lX_x+7(pUMXDFf%|!Gns-)T?ulJ`JK(EhWnkT zP#t`L9$rT+VKTiG;CN)xwjQ};yHJ@siW=ZK?1x?MdLV+Qt3d{;!D!UXi!d}JR7ToR znL38rD;=o&FQaz%4OB-SjkQGis9j!+$GVwqbmy~4XD;W*VWr-GKb1M0_z)*xUxud+ zOHr9hY#Pw)RHR7P;( zcN~SD7k-UOP^qp!#%8-vGd+$P;8&;t{)G!LDKnhfRj3(mcXpsM(}mm`YOE#8b<_Y7Y3*S?YQ|;mcpI{;b`&*$w@@Abin=e3S4tDf zLp^s628L2uMMVwvAxW^eQ3L2i4{xG&dn)Uoy^@QJ#ipVZlZTy#e(@(u(Xm+l!j{33vTn z=a-nt`70QYQT)8BzZ6vaiG#_%DutZz;bPQC%TT+x8JWE8LjBUcg4$efpgO*adZ2Ge z`1)Yf{duU47ox5=AxW@9s7-hdwVA&SP*F;+q8|7kdf10`(aa~~3|xU4SUV~c@1X{M z1=Z0_RA$oHAbKkXp`JIvInP;#dMlnml45})RJ3*bOWLk!q`HbNH8W_O^hVA5qHXF zD$VYo(pig-5L=0QLfKnSXnC~OdbRJAGFPd_Nvga4t;Ai3bS_7wtB%mSx`fa&DRtwB zVqy(3muMn9Vm{GIs60h%C#Dcee-WY55GJ&=dKCkYx)Uofmgr7sqZJT(1y#m|vGK@0 z3;hRp0v{wECbT~)h$vzXq4IPXd(0^cU45pL6%B-510A#RLq9t6+(n@cRql>wU?UOZ zj_<-9!~;YQp`v}HJ)<&;hz`~GM}=#NRm9^&JfR<;fbt(fWdXrP4wcDH{h(|h77?X{ zpHQg^WB1`YLa(FBMq&)Hl-NSdA~K0hgi0H+lJF4^5n04&9ZU_r6W6obzF&G&2bags zj!3PlTUWli%I`HcRMdNQ<+T-FPIg01@JP>+h+tgO>B!*cX-QH0{^?f}tnYs)BE7M) pX|=zq(pypASW{ll{dL~ioUk}C%sEr6do0Z%>cyj1r-~Us(A|U_( delta 3181 zcmZ|QTToS19LMp+3E|)Yk3wP+(k2rX!4Nf5Lc6G#7qq-oatq-EiUJ-kDyAodQX^{0 z%$i1>G(#Vn(lgHFgGp+IGgwVdjStymsne8QOdo7UtM6~0#f&el@qa#R@6EdX*V@|y zC100@zE6zaZYUi@D$y8i%rWfs@M?CSd^8 z;X2gHcB3YG(mwwIwSa3#SH@2xwNJ;8_B4-*gUe6@wV^uf!c07kv^CdJ6Y}x1866yt z`_aMgFb;2`_BeKMq+KGWb3FoiWD1buV~Pipf2FS4K3Hq*M7GK7u^vRNtQ&PMFQN|X z??_gSj{~B=PsM&X29<$vs1?scosBZo#5Q3rb|#a5o!V}0=n$Pn&Fngk#AqI>VHT>x z`8W(~P#teYb@(>Y#Jq=E&{0&%Pow(%8P%Vc1EGO)P+L$DqM|?Cfa>T?bZ{?fMJG|I zKZEpPE?NIUwM(WKISw_zTy(GzwUyg(8XiHCW&TE*8b6Jc!O$own&Avg!vN|J+EER5 z+UqbX1HI_32$dNxHHYT!Rm8A)U|8aNa6fmwjcWC`jpR-?8mh{|L;>d^1NEWQ69Q(+F~ zSJWTGI*}Em;54qsBmYbTKV$KA%)t}L3t_IIySE&1osAsS$_r5wZ9z?RCoaarsD=7? zn9cZRG8Lt$3LR`m?cF}>Db#E88y294hZ=Y`s^d~58KxOE@OE_Y6Vyt7wAXRGLTtau zL``5ihP1~)Dw@C+RD*q}mGq(p_ysf3L!Q+z8%dTaLQP~nI`|4|i#|m4`#Caaa}L$N zI#;`4=wN;Z`Ol?N$_+Jq6*cgFY{bt{d!I*sS%hgs_boxa9eYvj4k3SPPN4?+(>_n& zGpg4y6*;da3zdNaRQvK#fFGbbIAi?@qq)9{n&@@ZsZJgp`9O_C z9lE)wQ@#W>a2u+>T^NVQk))d55ETu41@#9>ts8ijHN@*Kv!f&BE-j5ER zKxN# z5cy}0^W$a^_4+2=8+i*dFpBGbghP-Rx7~VFztf3F^!}^#C)8ObF^PDRP{||4xwXi* z;6CbWiDr9m8BQfgmYHYov6E&A@u(ObYlbI(o?+ll!^E1~ht^KOOz(@`HCecR^{`Y@>^ z5DSP6x}ZEr=&RR6sOZz1@75wekK4K*^~$axbTBs(n~1&=pt7}ZHRHLM)%OHByygi) zucpd#ggvXKO*bg3i85k2v4vPltRikBstFTb&4D0& zEKX~QqmQQg`am#0{6*R>Pq-t!$}_O3W<{X3(peU4swsE7xIBDlOkWo_M!z5ZAJ}Fy AdjJ3c 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 3736da768e96ac86a1e9d1587b26f245300b5a88..68ad796bb0286034d955975a054a7956b5fa838d 100644 GIT binary patch delta 4276 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 DV2RAK 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 8e2f3321e8aad92d30a40a087f0801908a70a289..fab7a7d8f513e0c0067dff3a244a37828c64a076 100644 GIT binary patch delta 11418 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 Qe?PtKztg\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 ec40de229fa819a24a01a05e73c9a166d6b94ef8..93255ea18ce3e63a3661ab6fec9813103c54ba2a 100644 GIT binary patch delta 10285 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 delta 10618 zcmYk>2VB+F|Htt!P6QVY6bD`hLj^^|g?k|`!j&00zyT<72}Imiv`n+1lCw+=XQid2 zi6b*t&eWWhS-*Z|nweIbmF55S<{W>2zmGomdCuoM&ir1$UffdrpZAM$~w+BA&%pX-y)YdH_#VvVtu@i!B{KQafV}8jK+Kn$FH#(mThRR zZ-8T|$6}o0c$@+Xy-5^nUgu}juVer*p>F3gA{tBca-BS!-1#={ft@Iu7%^Y z#rIKDdlS232-BhS98AZF_ycOjhSIubdSeIXpTRh{ zNj!_e^hQgu47G+=Q8N+N$#h^Uvh2=Y)C^olb+jqHQ^(R!`5nmMoCnC@offP^CmfGF z(%FK#?p7C%X&{RE>PKQWYUGf?N_=)GoO8CJ(? z46{B)U|Af96)_PTV5Y~OSZZC1KAhN!-na*o@Q}@ivVaw+H^&m#6-#3*`e8h>(VZj= z!Ub3pcVH7di&fBz-s-%^pMq{^XA@&Fg!%$h&v#-NeuXu#3=6394X_UOK{b$uY!_!P zveBJStaq_4^-y+rJ?w>g?s%ieSx7+-+>Ywe71V=^GrxLpebkK|QB#_P)o?2EMml+@ z`wn6N-as`_f_F~O4aHE5M?H5k>i*@Jr1yU-1-(91*lCThC+da?*cex$9&{Adkvmu$ zt2|+hL~XWsRcGOELKu^R0=TPWzkhf#0Ab<`Rqup>3)8K?&5 zV<2wAaQqZCqI;ja1~LD7@E{UlI0<=W zopsi0sI_ePq~;mQK%bcpbOtXE!AFIzk-^Xf3YssOE5Fh4K>m!SOed}nz$F$;APbH4=@-# zfzOyJ?T*@9nOF%Iq6^nzLp+3?@E5Fr5kt*4WGB>;%s_SU9n}5Du{wT@nxQ|iGL|1^ zo?8ziXy55dL9f{a)TUdFdf;JO{|z-W0mDrL&9Eu;eyIC$t((zB{W9wQzffx(GQuoH zJZjCyqdGDR7wi3BLg6(MVTopH_M@iuJFJbRlT1AbRqtu*$*Av(`KYPffiAp)b@5;9 zfUc2dQx8W*?5sg8@mZ`)`_4@Y#n2gLW}rA~(=|kmJPym?7}Q#3phoZ#Ho(=WwLXM? z_zh|aenrhd$LRf!_P|Lv6kos# z*c^u?n+Gq#F4PN99lwV?&`B{r++tA!8IZ#Kx1!)Cp&oCr?!sEsPok#s2C4&PQ_YQa zu?_Y1=!-e1O*tENT^_c?jTnqqZNAi4ldp;DQ2(*azrK@KkdT{DOR*Ch;BNHBZ%`e& zjuo-gIP;xf4Rv2Umc-$xk&Q+zMK0FEJk(O|K)n^G&ijT@>`d z*46>23)9hsOHecLA(q82QB(gTYUUoIA6CsWKNUl)L$D+H`KY~f9K-QP)bso&&_UXF zqA6(C_C-A~3AITkp>AA=nvpH2o}aS$pHWNYlWnFr95q7&t?8(>pNo3lTGT-IqV~ci z^z@-{k3v=KI?+tk5Y!FNT3zmA%*BUlmti)!#L z>bVcGH~LOCKO+WDX8s$Jc#cGM+=5#BBlxx#KkZQO|B9*Ruit#s9$1H(fo&Lu=WzxW zn`VBW$i)`aPhimuO*hvEAp6#7hy8K0hr*i_bT@CFvkJRnIXcGjI{i>fbQq(t@=Wt9 zRvc<1c^HpZF$N=Y%`c%j*n#>H)ODq1G2Pf7mH!fZpr^)c^Jj4qs-Yct6pKG+zT;0? zW1csE3GK7~jcTyf9MiEG*qwSIvTDvl?2I`tn7^zFF^0M?y%>P~v6tTe^%U5D&K-OO zljoTc+(Ty7iFwidHv0)`1|DKxjGoUQ9XJ;?qPsW~qh2x%ZAU%#0d~R6m-#&tx1*lp zOJlKm|6?e$BJnCdg-5U*x?WZH_zFh#{0csU4HmHRFc+Bw=K(IkSqu5c1`Jqa?q7}S zz!hZQIRo;{44<$DyvB8EU0nO6NGL zqy9_H2#2BuwhVRtG`7c@%S?Mi(33!70|hp^Q+&C3z;skc4x(--y~3=0chrM&k$vi% zz%pKR_I0ya2fblt;1~vQzTZmojW`Z{sjo!7^PNrT!ornIa9Ijpkf?~)&>Qbtz1}qc zg5iTc9V zd$svZC<4Q&CtyvShb?g(y6`Kkh5ukY)>va^XqiJ%8nWcz8-JgQZaFvHb6ooU` z2216e5p=@F)H6^QzJZPK6sn_tVrL9oYwjO`!PFO{uHS=N`&;&W@H+F{1k@Mad`v;l zb_%U21gccmi8FHic$Oe1{&!e6b zxy3Zx7qtl|U_)Gl>ewEv%l>n&QfP!;@0qXAFpQ&~iMnAwHpQP%4b^<#?BbrNB}%fc zKs9_8tKrYKUUI9MVHawqVo?KgqyGMM=2Pg6KVVVMx0wt2VqNm7s1eV{`gjuS;2qTK ziP`SCeA~3@C3T>HtP9)JB%$+*C${o&e*~HH=(e>p16ROsQ-y-uNcq|;H?FU6|31=XR07=_n86tuR1g{DVws1fJb`a0B< zoVg=G|c_LvdpV`J*) zP&Ybz&4U9`uUi+?2oh1(&A~9-hU(x|)Xe#OWcEy3e46@nY=f7u7FOD4fB$bvp%{sd z7=&F=YoCHua1oZl4XB2s=q44)(%2)KgJQGY{3^Zq%AzLTyg3{n{fQ zMn^#xcEg@H5!KMgs2jdVJ+S;IrbA6|4)w0M7>{8G9C5(R$STwq&2cP;RSufpcJu>lU%)8Zch*p-h8NHeZ=nmFL+16Vi`A*dqVkE@7H463{0J-HNz`V$f-UfO)Y3FM zZ1RIq`E+~&*P=%~{GEaPe`X$hEG= z?$nQCF#4S^9cqnw&InX~p{?(<=dYt?*3Wa&OqC0@DVm@fibah$8C&C0)Y_i5=dYng zQ0kOvs2XYy#o|O9fkjJ!HK^akhFI}4^ZaPkTjUvH3u&lL=0S~c8S1s!i`xBPV0rw@ z=F6Nm`CwE7F&Kl1*a)OTVN{2nzkRnD8Gi^5XW<4|A4gHR)#j3x0+tcYt-OS)aszH^I$3qvlLKQ3cY z9TjHus#pu04K3R3xwO{Rc#by@sL_Zpt1f&?eQh zBtqW@I<#gwdJykEcB67H>Vsn!`8O~c^*^w8P=4{TYYQpQBew!eK9(m{biC!o{O3@- zLu?|7*^9oS{4Sxxm)ves{NLvXAlH?jzo#9D^H)|4@D%m+1nIVZ;m6lZkIBhu|4P$0V!D^Yy{uCbtC# z;SnrDJWFtRioS(XI5CyljG~-*pNHx}3VZCf>{^uNHN-~5tK@3p zPlOMl<4uAu!lI))pKEQorH6}e*@|dQef(qfA08{m+ww)O`H(nAJUZT|`~|U`#4p4? zd*U^6)hT~$>j$ZSM|l?U0^wOoLdQ1ZEh3wG37hlB#>6M&-zQ2CI;z?8d#oRk`sv5a7jn!bKBImBpTWMwV~1A799ylOx!@Cf(G8nBYU{_b3Q?9A#kq8wx0gBFsp}iF z9P;Jne2NcIUvfJ111XZ+c_NW0+7&CHBXNSndqf0Lk9tkiPrztmC1n@(!!Ly+)7(di z{#)1+zme!q`8W#nTS@ks{?(o#pdi+bgDWzo^msT15q{rYP|jBml1g4HEM6aT+k2R0nY zcdJvQ$Lo{E53DgAOB|KBt+13=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 7aa55de595e4ed75869153b30cf5da33c0c92515..448f52fa868c305a7e50ff95175f9dc6e88feae7 100644 GIT binary patch delta 4271 zcmZA2X>b))9)|J%jagYt2q7C08UYO@2&n zco97u(#?7g6=ZakGaxsF5whLY$5aj%`PExEVtph4(4+$FERBp3Gl!u>f^kfgaYo^UbJ{ zI)`dV6y4R|Z^9xhMUB8Zb_}ZRMb+~bYDCW?kFskSjK5l*MmKcfAk+n=sGcokr?pUr z++*8Oi!h8Ho<}v{D(V3}sVoQYK=pJ9YKm4PgKOKc4iDiV9FoQOdlafz`UzN%rMLyP zTHBCo?LVjrqnQVamWI7>FzNx5QP(ZNVOWQHYg$lK(2BaQ4Ts=mcib<;gzH2RY8BTy z*PuqC5##X~>cK6@n`RfV0KZ4wm(9|S!J(*z6rx6MDr!wEKn-~VGHZ4a)xppy3VJrdhCG^K()F3h`m{o1wrmpe zoRBT1po%x68gdjh*I%P9jOK1t*b_a>LG`!{H6_zfJ*#%EMcudCc??zmr|98T)SAg+ z*GcdHND6A{cvKJOVKLSsKRd!s4?2gM!*5X62bdoXWg2Q~f~b)jkIafyyT5NlU4OtG zpKyML-Fd!!OF=g#u!L!x^+Vk-4&!hxG8k5cs(2&DU=wQ59!53v1nTYh0=4*JIiP6C zsPhHv)Zp2udY55H@BK;&>OnJVaeaiU_&lnjf1$nyKj2FN=9}@<>)OIcAP+ysMHti1 zYy#F`5q^kjKx~e`R&tR`?M~ENu{4MA*8`s9L<4R@4Rsc+l6k0>-j14@u}GaZ0~s`1 zhgwuksD}IvHTRcM4eU&-b=(U*9D!qTCh9ePC71EnkbcPt{TB*`WHm_V zZ4cgtAE2&_x`qFYn2V}s7HWuB;B4HAnwnowBb-SqwYY~m%R>}&!2;CKY(}l-W2m)o z2G!FaQ5B>I{k4#fYS@Pz?pOxE0m1uTT%x zyU5Rav(t@}QJ>7m-SHc!hM#rEzah7p$3;VN0&>bWU>UxPYFNTxe=TGq9SGTI3VOg| zRLi!YDsDnG=pV@F*?&^D6Hbd-*GgS(R|JA)7S}*V-G5qkpFz%9rz4&Uj{2R z7PC>`k38&x<){&uhaufqM?o#xjq&(4^0QOy)WfT&Dash(S6qyA%I-#uR2^!O9!5>Y zS$95`UUlaxfdb3d-9fNw_4Agy(7Ki*H-^qzAP8`7w_z7yr+E8R`cogcm z3KQ{J&^CL4Y#;|oh2DQ{Ddf&biA9AY zUHM(-CMVMx>CF@PwmUZ*|3HqBlVltD|4mb(Y0`F>sAJk*)bo2$*hBtE9wyr6k+me6 z{Ds_0v`r$-k&?eI^nK8U@rSw-fPMD;(PtR{1bwp)E7 z`xiZ>fjmRjkjVIlDLhI3Oxia- z*H%xSCt8rB$txtC6q5<$b@DVhK;9$|k;P;=Swwb__D!#6GTB8+$RWZOdA?s{f1fK2 zc8C1r9lY$^g4en7pYSen8<|Yzv_HQG2hS00kCKUG z6wy1olpH5~jU!u>voB5|Z;?~v5i*-JlCh+H)7#~d&SWY%LUPG0(xU#~OztO3h_=_r zJ!BbKNCuGh?J)|vXPrCIANP_K?pSPh(rTw^d8AHER$B`SP* NP*sQUlA@Hj{{aTRt@Ho@ delta 4388 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\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 55fecd61f163ecf72cbb6aa8040d778aa5552724..5e4a4adc9fe5e3906dbb23b3ff8fd47ad162d372 100644 GIT binary patch delta 12055 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 RJxkX#b*pSoY32q6|1aAER73y( 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 6d36ce9aacc02190977b95f1b0eb413553761416..43291ff1bbd9e20d7348bb54e7b2e2a405ae9bed 100644 GIT binary patch delta 7993 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 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 8a5531a49e7001dc052dc47ef952079b70f9878c..479fa7f2a5649e52c385c7bbcfd05e87dd16f70a 100644 GIT binary patch delta 9983 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 UpYuwyQd!4O7SF$S>ZfA=1LX8nL;wH) delta 10288 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\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 7750180deb7d1160ca42a1e7e742ef56ab1d36ca..49300edebf85b8b569cb3b429c9aedb85b2d023b 100644 GIT binary patch delta 4237 zcmZA3dvwor9LMqZu&c{1jLpWr!^m$fW5l*L8*?dliBf6WnB;!RCHzv7kV_LqTC~Wm z(l3)r6S^Eb)u~gGPEN{Eol}X-YQYpFU@=-{bTB{=UEO=lcCpyDDtU$}s<# zghtO8D2u@%+Ohu8tnqK6UORU_$yYG@Fup)x*h!};jpF-*pDs1E*% zx;`;6^nDh#;dm(O{1j|Q`?icqTiofs_z+V#K7;zfRrD~4yQ(9(sE*!?x^6ydWE;@K zgUHm{DJ;OBkx8(Qw5p}aMGr@!Kaiiyb(We$CuFKIEi2Bd@gFHCZamB7Cj7L zA%2OPf#!TLd6tE`Z!u~{E09~-YE;LolbL^Ac*I@sC2C}UqxM1z4yam3)aENf4=Yd| zSb=I_FZ%Ec)JU%(vu|;d5{}?K|U?uWr+xgH4 zj-rR3Vkf+Sx?w9$s-Zlj?=~9M;2hMAm!qb9J?i?M$o{hv$g0>` z-*7I@#HQ%i2y&@tbB#vbxB_*fnW*P}F)j=<+wIP0@Dk9Hbwv%J9Q)uoEW%EmLsLHq zJ&xBQU)g@t)SpHz?N6Qgxhj`9p((zG>S2N}G!v~+4P~P`Qs!KTy5V8e)SpM~jR=ON zJ&}kSaTX55{#bx(Q8V@l>T$f7N%wnFxq-WDs!Nf3*`vs;+dk}tU!WRn%s+Kqusf=O za@6k@<5a9d{;cUup(V{nkK=Ku>-?zSZ$n-8xlX8|>+VDczNK?E5TwnFXUF)^ z_kX(MwCvDY4@2E&t~=h0Jvcss+Eag_mZ(YBP{)Tk{gbFL>$Vg%6MK-s+K;GLWgPRb z;}X;+or$`B1M+9@@xi5b5%svW=SKr@5UN9!sF`{THRYe9W+JM4@V($S9~C-h#i-|Z z7HWh~ps^Mk~PaP^oHC&E)xEi(AAE6$za9ULd($T{_T#0vMp|2bJDff*R>EWKwJgs^{M!`_q0ybtv_g(3JN_Ey* z8&robp=KzB^^ti6%)dwFE>36-7h*APM{S;S=wWnW=sy%bR0j&(@g&rU7NM?R@2o*B z>9?qcBN?3rl#Of)t3Ykqt-bxBH{WNR(1qWlhtWm+lZ!sobGiUq<4#P&qp0H_uq|Fg z4^!#AHfI59MrNP}wh29~MGfG4RC_Ug9!ef%%RxN_Wymty2K4Y#jKmA58(v0@v~Aze z()7hRj&DabT#ms8QJb&U9oL}-@+Ydp=_R4P;xD42=X(HZbIrk2tU|5fyVx90Aj@ZG zFbrQIx{-=H@FLNO)LE6+2!ph(`WjB$zigI{J&@b+7~LXlk{MX*DiYG1u~b+)bp=$KUqc^k+;Y&qH;Ug6Rd@Hb~SZP ztIA8{F7gg(PgL}jv<%kRjQB8FMV68>qNlApd6bMN!S=Q8^<_JiC)|N{tk!Zi8BE?L zE65}=oIFER+L6iR0Ufv!fy+q@i6-mFV?^Z*@(9^Q-1tMAXC)^#k_^(9>?Ey7AsInl zC2NVweo{fEkp*Nbd5+WJ97yuW9i)_~v>}zj8h3w)%1F|O@M^aiWUC{uDk>dXP2l+!Ty*^<?R2$meiM8D*Z@j5>EP)uEYWp z;$p)pSI18dT#p~sD0=Sf3A4OuwJ98ts}EwbDFp)8jg)t<1H?IjqjHOsr3;T60I)5e+=;q7=8wqXwK+W`t{;J2tAe}dOxJl|GBg?J4vLWhm05$-}Y zbOiaavwSSVL3Eg(ZZ;loLv=8Sx_&DpfA-;Vjeco%c1e}dUKns4a~g_wm4&|wX# z1MR2|9>j@w3ibU#bQsH*HKVy$iqnzFux8Xi+tG6ro}n-mkE3Sd66WI=u2Q`W9oC@E zx1(k#gc|t=s1ALG4$~R-%{T)!11)?osrE4Hem$reJw2ZJr!D&jCp3b1hNBB}P#4TV zjj)mr?S&1{(R9eaMq%zsH$4fcoAzwsss&L3Jb_HFFD5d!qt1<6Dr` zGOvq*MtB(Yc)a3Ya0&UbSQi<=HOP-mW3iV}4W2{Y_hZzQUq)R& zg6U#^T0Sx(o|RKz*=#AQ!3IarQ1|}>Iz9hiQPAd@$cNrgWvCu6L5<{IEW`E4j~(Gd4V_1=S|?3u25N~4 zQ3G0ntd6bmf4>8D{Q=c!-}?Pu{1G*kmr!3!WGmA*yAJh*#h8ErWHPJ{b>kfvhX+xc zw-43Pe$-PkfZBv{R47_1>U;?wo_c&Y1>JZf>OJ70M$n7eWWPh*_)n-CeTaGwe2SZ5 zxR&|U`Q5w}v}8S~ft|x!aCx5D9NdFin)gvl@Od7WISLc5kGxQ3qn4l=wZ`jEH{R^m zJ5W>JiR$oksF~?QHT)Y?$Nud*h0)LlTZ)>|&8WT7jp|76RJy4dILV2H_yLw;E_cxs zR-qot?O1}Zqo)2#qz%jDPamsgSMX5vRrlfk#e8`JdNQQ zMm78e&caDFQmSowCj~urU8s@2hz`%-gLn~d#tjT#4ZegaIEYpFPfW!-*Z}JADpUtM zP*dN7+7qWyFS5^3k8Lu4Aa106n@V9M*5D{yhYq))db%HV z8K{oeBm393pgQzCYRb={mgIlPE5ovR#MItA&A)nF$%#y?Lv^4PHATHR7SH(g0d&;= zi@I?(>oOPTqxMh-Iy{8>-dm`S{MD}~(|Zlfp{}1^=0yq>oY2~Os1EcZ%Wm%=`^84i ziR|9FIGTDh>bf>`cnH6RZ=oL7EP6Eo7voj9%CEO$HuZhz@VG}oyL1pWHEBG98rf`g zScMuv8>+#>$Rls>p`M0>^2k3LGtp6R!UXI@-ES{yq;H~@=mKg0|3bCvC4SRy5VZ-b z{CXp5B)d^PK85l45$gHBh~YQjyvW~*a@11ZgPQsVWVx*sV^D`?GI|`OaI2pGHVPg7 z*_Zl^GU^ph&0 zX_`a&$k3yX%Bv)fXs;|Jn(F8gqVNjQEa~VacM!Ia{fg*O)S+e65-w4N_U$$mIBp=z z$ae^jczE45;9PP)xsSX~TF4PnL+&K$WH@OhT0$M)BlF3%L>p5_7t!OX<7x5?@h0=} z7%3*&7`)8F$3#9KCb{I7q?YU@Z;(fcj+5jk+b*IbnIwfv{GW&?NV#9v9?|h_ zvR>oQ2v_;{$agvBk$iH1u+NP5P55!tY(>;<1Lz@5ZQkXjGZ9lu=_j;#^Gf9+IUK<*`L$tE&|tR&j)(c|ZSf%jDSNcC;N zEq+-%q!Fzca-y5^IMPn)hn&BgvKvzW1?8v682{WpU%f?jRFKu=NmV%BBt_v;tt@7ch}DlH=qD)h(PHGwsOhM)_!)CYor`nvVH;ipB*lcF~)Dg7wn{|u4JQvd(} 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 5ec46dda2d6c72eb25a0cdebd7b17feca4123321..50cc1be08fe1078db34140ccf92ca953a34960f4 100644 GIT binary patch delta 4659 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 L&-KOB1A+eo>UaU9 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 9528c68e2a4d72f169e5f3baf06a5e6d4eed9722..9c3dc87c933f7d72ffd5566299cd81f12b7320fb 100644 GIT binary patch delta 13875 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 LoIBP#n*aX*_za4R delta 14526 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\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 a7d1742dd4e5f29f037973c735e477bf66a67003..c71e3cc37c39fcf1ce81093e8660401e11a18e7f 100644 GIT binary patch delta 12034 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 T#s_(h|Lz;U^_H*eRN4Onf;+LD delta 12552 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 ldwmki5TCP^7HK)#mPGlv%47xqRw?M&I_#+J\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 813401caec9270d6f9a8da7356807e8a6541301c..681fd7c282a82d1e57d9f09fc8100ff8aa357ce6 100644 GIT binary patch delta 13240 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 delta 13789 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 W%}Lwbw1W38=l-w7`1PNLS^fhsDLy#> 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 c4ffca84f0b8d993eb1e54263b95e42e6d66b733..f8f10f83c7c6011db0e97b5f44631c4ea1e81b2e 100644 GIT binary patch delta 12507 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 delta 13235 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 YF?Y?4F%#Xi_1{hZ*ZN1?yOsOD01J*m=>Px# 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); -}