From 97c26c1924b076ef23ebe4381558e8aa025712b2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 16:54:37 +0200 Subject: Adding upstream version 1:4.13+dfsg1. Signed-off-by: Daniel Baumann --- ABOUT-NLS | 1282 ++ AUTHORS.md | 89 + COPYING | 41 + ChangeLog | 15440 ++++++++++++++++++ Makefile.am | 15 + Makefile.in | 878 ++ NEWS | 2166 +++ README | 36 + TODO | 127 + acinclude.m4 | 54 + aclocal.m4 | 1201 ++ compile | 348 + config.guess | 1754 +++ config.h.in | 635 + config.rpath | 690 + config.sub | 1890 +++ configure | 22685 +++++++++++++++++++++++++++ configure.ac | 762 + contrib/Makefile.am | 6 + contrib/Makefile.in | 496 + contrib/README | 10 + contrib/adduser.c | 502 + contrib/adduser.sh | 90 + contrib/adduser2.sh | 743 + contrib/groupmems.shar | 465 + contrib/pwdauth.c | 308 + contrib/shadow-anonftp.patch | 147 + contrib/udbachk.tgz | Bin 0 -> 17571 bytes depcomp | 791 + doc/HOWTO | 1918 +++ doc/Makefile.am | 5 + doc/Makefile.in | 495 + doc/README.limits | 65 + doc/README.platforms | 33 + doc/WISHLIST | 39 + doc/console.c.spec.txt | 36 + doc/cracklib26.diff | 340 + etc/Makefile.am | 23 + etc/Makefile.in | 786 + etc/limits | 30 + etc/login.access | 54 + etc/login.defs | 478 + etc/pam.d/Makefile.am | 35 + etc/pam.d/Makefile.in | 564 + etc/pam.d/chage | 4 + etc/pam.d/chfn | 4 + etc/pam.d/chgpasswd | 4 + etc/pam.d/chpasswd | 4 + etc/pam.d/chsh | 4 + etc/pam.d/groupadd | 4 + etc/pam.d/groupdel | 4 + etc/pam.d/groupmems | 4 + etc/pam.d/groupmod | 4 + etc/pam.d/login | 11 + etc/pam.d/newusers | 4 + etc/pam.d/passwd | 4 + etc/pam.d/su | 13 + etc/pam.d/useradd | 4 + etc/pam.d/userdel | 4 + etc/pam.d/usermod | 4 + install-sh | 541 + lib/.indent.pro | 5 + lib/Makefile.am | 82 + lib/Makefile.in | 1085 ++ lib/commonio.c | 1276 ++ lib/commonio.h | 144 + lib/defines.h | 339 + lib/encrypt.c | 79 + lib/exitcodes.h | 26 + lib/faillog.h | 34 + lib/fields.c | 107 + lib/fputsx.c | 67 + lib/get_gid.c | 31 + lib/get_pid.c | 31 + lib/get_uid.c | 31 + lib/getdef.c | 623 + lib/getdef.h | 25 + lib/getlong.c | 36 + lib/getulong.c | 39 + lib/groupio.c | 438 + lib/groupio.h | 32 + lib/groupmem.c | 118 + lib/gshadow.c | 506 + lib/gshadow_.h | 52 + lib/lockpw.c | 85 + lib/nscd.c | 58 + lib/nscd.h | 13 + lib/nss.c | 151 + lib/pam_defs.h | 35 + lib/port.c | 454 + lib/port.h | 60 + lib/prototypes.h | 501 + lib/pwauth.c | 211 + lib/pwauth.h | 48 + lib/pwio.c | 207 + lib/pwio.h | 32 + lib/pwmem.c | 85 + lib/run_part.c | 104 + lib/run_part.h | 7 + lib/selinux.c | 210 + lib/semanage.c | 361 + lib/sgetgrent.c | 129 + lib/sgetpwent.c | 109 + lib/sgetspent.c | 187 + lib/sgroupio.c | 306 + lib/sgroupio.h | 29 + lib/shadow.c | 530 + lib/shadowio.c | 247 + lib/shadowio.h | 30 + lib/shadowlog.c | 31 + lib/shadowlog.h | 40 + lib/shadowlog_internal.h | 7 + lib/shadowmem.c | 68 + lib/spawn.c | 63 + lib/sssd.c | 75 + lib/sssd.h | 17 + lib/subordinateio.c | 1102 ++ lib/subordinateio.h | 48 + lib/tcbfuncs.c | 604 + lib/tcbfuncs.h | 19 + lib/utent.c | 70 + libmisc/.indent.pro | 5 + libmisc/Makefile.am | 80 + libmisc/Makefile.in | 927 ++ libmisc/addgrps.c | 114 + libmisc/age.c | 178 + libmisc/audit_help.c | 87 + libmisc/basename.c | 27 + libmisc/btrfs.c | 110 + libmisc/chkname.c | 101 + libmisc/chkname.h | 27 + libmisc/chowndir.c | 146 + libmisc/chowntty.c | 79 + libmisc/cleanup.c | 121 + libmisc/cleanup_group.c | 215 + libmisc/cleanup_user.c | 130 + libmisc/console.c | 108 + libmisc/copydir.c | 968 ++ libmisc/date_to_str.c | 46 + libmisc/entry.c | 45 + libmisc/env.c | 253 + libmisc/failure.c | 295 + libmisc/failure.h | 61 + libmisc/find_new_gid.c | 483 + libmisc/find_new_sub_gids.c | 64 + libmisc/find_new_sub_uids.c | 64 + libmisc/find_new_uid.c | 483 + libmisc/getdate.c | 2540 +++ libmisc/getdate.h | 16 + libmisc/getdate.y | 954 ++ libmisc/getgr_nam_gid.c | 43 + libmisc/getrange.c | 101 + libmisc/gettime.c | 68 + libmisc/hushed.c | 77 + libmisc/idmapping.c | 223 + libmisc/idmapping.h | 23 + libmisc/isexpired.c | 102 + libmisc/limits.c | 589 + libmisc/list.c | 249 + libmisc/log.c | 93 + libmisc/loginprompt.c | 155 + libmisc/mail.c | 69 + libmisc/motd.c | 58 + libmisc/myname.c | 49 + libmisc/obscure.c | 306 + libmisc/pam_pass.c | 59 + libmisc/pam_pass_non_interactive.c | 145 + libmisc/prefix_flag.c | 340 + libmisc/pwd2spwd.c | 67 + libmisc/pwd_init.c | 79 + libmisc/pwdcheck.c | 38 + libmisc/remove_tree.c | 101 + libmisc/rlogin.c | 175 + libmisc/root_flag.c | 108 + libmisc/salt.c | 566 + libmisc/setugid.c | 125 + libmisc/setupenv.c | 290 + libmisc/shell.c | 80 + libmisc/strtoday.c | 220 + libmisc/sub.c | 55 + libmisc/sulog.c | 83 + libmisc/ttytype.c | 67 + libmisc/tz.c | 57 + libmisc/ulimit.c | 47 + libmisc/user_busy.c | 273 + libmisc/utmp.c | 474 + libmisc/valid.c | 82 + libmisc/xgetXXbyYY.c | 121 + libmisc/xgetgrgid.c | 41 + libmisc/xgetgrnam.c | 41 + libmisc/xgetpwnam.c | 41 + libmisc/xgetpwuid.c | 41 + libmisc/xgetspnam.c | 41 + libmisc/xmalloc.c | 46 + libmisc/yesno.c | 56 + libsubid/Makefile.am | 30 + libsubid/Makefile.in | 764 + libsubid/api.c | 108 + libsubid/subid.h | 163 + libsubid/subid.h.in | 163 + ltmain.sh | 11251 +++++++++++++ m4/gettext.m4 | 401 + m4/iconv.m4 | 268 + m4/intlmacosx.m4 | 56 + m4/lib-ld.m4 | 119 + m4/lib-link.m4 | 777 + m4/lib-prefix.m4 | 224 + m4/libtool.m4 | 8394 ++++++++++ m4/ltoptions.m4 | 437 + m4/ltsugar.m4 | 124 + m4/ltversion.m4 | 23 + m4/lt~obsolete.m4 | 99 + m4/nls.m4 | 32 + m4/po.m4 | 453 + m4/progtest.m4 | 91 + man/Makefile.am | 227 + man/Makefile.in | 1090 ++ man/README.md | 10 + man/chage.1.xml | 326 + man/chfn.1.xml | 215 + man/chgpasswd.8.xml | 227 + man/chpasswd.8.xml | 280 + man/chsh.1.xml | 181 + man/config.xml.in | 2 + man/cs/Makefile.am | 26 + man/cs/Makefile.in | 682 + man/cs/man1/expiry.1 | 25 + man/cs/man1/gpasswd.1 | 76 + man/cs/man1/groups.1 | 29 + man/cs/man1/id.1 | 62 + man/cs/man1/su.1 | 111 + man/cs/man5/faillog.5 | 35 + man/cs/man5/gshadow.5 | 52 + man/cs/man5/passwd.5 | 57 + man/cs/man5/shadow.5 | 64 + man/cs/man8/faillog.8 | 86 + man/cs/man8/groupadd.8 | 113 + man/cs/man8/groupdel.8 | 60 + man/cs/man8/groupmems.8 | 85 + man/cs/man8/groupmod.8 | 79 + man/cs/man8/grpck.8 | 111 + man/cs/man8/lastlog.8 | 40 + man/cs/man8/logoutd.8 | 30 + man/cs/man8/nologin.8 | 28 + man/cs/man8/vipw.8 | 71 + man/da/Makefile.am | 32 + man/da/Makefile.in | 732 + man/da/man1/chfn.1 | 123 + man/da/man1/groups.1 | 65 + man/da/man1/id.1 | 62 + man/da/man1/newgrp.1 | 91 + man/da/man1/sg.1 | 90 + man/da/man5/gshadow.5 | 101 + man/da/man8/groupdel.8 | 135 + man/da/man8/logoutd.8 | 57 + man/da/man8/nologin.8 | 55 + man/da/man8/vigr.8 | 1 + man/da/man8/vipw.8 | 137 + man/de/Makefile.am | 66 + man/de/Makefile.in | 787 + man/de/man1/chage.1 | 214 + man/de/man1/chfn.1 | 123 + man/de/man1/chsh.1 | 105 + man/de/man1/expiry.1 | 74 + man/de/man1/gpasswd.1 | 160 + man/de/man1/groups.1 | 65 + man/de/man1/id.1 | 62 + man/de/man1/login.1 | 213 + man/de/man1/newgrp.1 | 91 + man/de/man1/passwd.1 | 283 + man/de/man1/sg.1 | 90 + man/de/man1/su.1 | 290 + man/de/man3/getspnam.3 | 1 + man/de/man3/shadow.3 | 245 + man/de/man5/faillog.5 | 64 + man/de/man5/gshadow.5 | 101 + man/de/man5/limits.5 | 274 + man/de/man5/login.access.5 | 67 + man/de/man5/login.defs.5 | 220 + man/de/man5/passwd.5 | 193 + man/de/man5/porttime.5 | 96 + man/de/man5/shadow.5 | 148 + man/de/man5/suauth.5 | 146 + man/de/man8/chgpasswd.8 | 136 + man/de/man8/chpasswd.8 | 156 + man/de/man8/faillog.8 | 165 + man/de/man8/groupadd.8 | 235 + man/de/man8/groupdel.8 | 135 + man/de/man8/groupmems.8 | 165 + man/de/man8/groupmod.8 | 237 + man/de/man8/grpck.8 | 240 + man/de/man8/grpconv.8 | 1 + man/de/man8/grpunconv.8 | 1 + man/de/man8/lastlog.8 | 132 + man/de/man8/logoutd.8 | 57 + man/de/man8/newusers.8 | 236 + man/de/man8/nologin.8 | 55 + man/de/man8/pwck.8 | 314 + man/de/man8/pwconv.8 | 163 + man/de/man8/pwunconv.8 | 1 + man/de/man8/sulogin.8 | 97 + man/de/man8/useradd.8 | 607 + man/de/man8/userdel.8 | 227 + man/de/man8/usermod.8 | 379 + man/de/man8/vigr.8 | 1 + man/de/man8/vipw.8 | 137 + man/es/Makefile.am | 17 + man/es/Makefile.in | 502 + man/expiry.1.xml | 125 + man/faillog.5.xml | 92 + man/faillog.8.xml | 242 + man/fi/Makefile.am | 12 + man/fi/Makefile.in | 578 + man/fi/man1/chfn.1 | 68 + man/fi/man1/chsh.1 | 49 + man/fi/man1/su.1 | 119 + man/fr/Makefile.am | 80 + man/fr/Makefile.in | 796 + man/fr/man1/chage.1 | 214 + man/fr/man1/chfn.1 | 123 + man/fr/man1/chsh.1 | 105 + man/fr/man1/expiry.1 | 74 + man/fr/man1/gpasswd.1 | 160 + man/fr/man1/groups.1 | 65 + man/fr/man1/id.1 | 62 + man/fr/man1/login.1 | 213 + man/fr/man1/newgidmap.1 | 100 + man/fr/man1/newgrp.1 | 91 + man/fr/man1/newuidmap.1 | 100 + man/fr/man1/passwd.1 | 283 + man/fr/man1/sg.1 | 90 + man/fr/man1/su.1 | 290 + man/fr/man3/getspnam.3 | 1 + man/fr/man3/shadow.3 | 245 + man/fr/man5/faillog.5 | 64 + man/fr/man5/gshadow.5 | 101 + man/fr/man5/limits.5 | 274 + man/fr/man5/login.access.5 | 67 + man/fr/man5/login.defs.5 | 220 + man/fr/man5/passwd.5 | 193 + man/fr/man5/porttime.5 | 96 + man/fr/man5/shadow.5 | 148 + man/fr/man5/suauth.5 | 146 + man/fr/man5/subgid.5 | 120 + man/fr/man5/subuid.5 | 120 + man/fr/man8/chgpasswd.8 | 136 + man/fr/man8/chpasswd.8 | 156 + man/fr/man8/faillog.8 | 165 + man/fr/man8/groupadd.8 | 235 + man/fr/man8/groupdel.8 | 135 + man/fr/man8/groupmems.8 | 165 + man/fr/man8/groupmod.8 | 237 + man/fr/man8/grpck.8 | 240 + man/fr/man8/grpconv.8 | 1 + man/fr/man8/grpunconv.8 | 1 + man/fr/man8/lastlog.8 | 134 + man/fr/man8/logoutd.8 | 57 + man/fr/man8/newusers.8 | 236 + man/fr/man8/nologin.8 | 55 + man/fr/man8/pwck.8 | 314 + man/fr/man8/pwconv.8 | 163 + man/fr/man8/pwunconv.8 | 1 + man/fr/man8/sulogin.8 | 97 + man/fr/man8/useradd.8 | 607 + man/fr/man8/userdel.8 | 227 + man/fr/man8/usermod.8 | 379 + man/fr/man8/vigr.8 | 1 + man/fr/man8/vipw.8 | 137 + man/generate_mans.mak | 56 + man/generate_translations.mak | 30 + man/getsubids.1.xml | 127 + man/gpasswd.1.xml | 299 + man/groupadd.8.xml | 376 + man/groupdel.8.xml | 233 + man/groupmems.8.xml | 234 + man/groupmod.8.xml | 357 + man/groups.1.xml | 108 + man/grpck.8.xml | 301 + man/gshadow.5.xml | 169 + man/hu/Makefile.am | 17 + man/hu/Makefile.in | 672 + man/hu/man1/chsh.1 | 37 + man/hu/man1/gpasswd.1 | 81 + man/hu/man1/groups.1 | 35 + man/hu/man1/login.1 | 99 + man/hu/man1/newgrp.1 | 66 + man/hu/man1/passwd.1 | 137 + man/hu/man1/sg.1 | 1 + man/hu/man1/su.1 | 185 + man/hu/man5/passwd.5 | 99 + man/hu/man8/lastlog.8 | 45 + man/id.1.xml | 99 + man/id/Makefile.am | 9 + man/id/Makefile.in | 619 + man/id/man1/chsh.1 | 53 + man/id/man1/login.1 | 311 + man/id/man8/useradd.8 | 214 + man/it/Makefile.am | 66 + man/it/Makefile.in | 787 + man/it/man1/chage.1 | 214 + man/it/man1/chfn.1 | 123 + man/it/man1/chsh.1 | 105 + man/it/man1/expiry.1 | 74 + man/it/man1/gpasswd.1 | 160 + man/it/man1/groups.1 | 65 + man/it/man1/id.1 | 62 + man/it/man1/login.1 | 213 + man/it/man1/newgrp.1 | 91 + man/it/man1/passwd.1 | 283 + man/it/man1/sg.1 | 90 + man/it/man1/su.1 | 290 + man/it/man3/getspnam.3 | 1 + man/it/man3/shadow.3 | 245 + man/it/man5/faillog.5 | 64 + man/it/man5/gshadow.5 | 101 + man/it/man5/limits.5 | 274 + man/it/man5/login.access.5 | 67 + man/it/man5/login.defs.5 | 220 + man/it/man5/passwd.5 | 193 + man/it/man5/porttime.5 | 96 + man/it/man5/shadow.5 | 148 + man/it/man5/suauth.5 | 146 + man/it/man8/chgpasswd.8 | 136 + man/it/man8/chpasswd.8 | 156 + man/it/man8/faillog.8 | 165 + man/it/man8/groupadd.8 | 235 + man/it/man8/groupdel.8 | 135 + man/it/man8/groupmems.8 | 165 + man/it/man8/groupmod.8 | 237 + man/it/man8/grpck.8 | 240 + man/it/man8/grpconv.8 | 1 + man/it/man8/grpunconv.8 | 1 + man/it/man8/lastlog.8 | 133 + man/it/man8/logoutd.8 | 57 + man/it/man8/newusers.8 | 236 + man/it/man8/nologin.8 | 55 + man/it/man8/pwck.8 | 314 + man/it/man8/pwconv.8 | 163 + man/it/man8/pwunconv.8 | 1 + man/it/man8/sulogin.8 | 97 + man/it/man8/useradd.8 | 607 + man/it/man8/userdel.8 | 227 + man/it/man8/usermod.8 | 379 + man/it/man8/vigr.8 | 1 + man/it/man8/vipw.8 | 137 + man/ja/Makefile.am | 58 + man/ja/Makefile.in | 677 + man/ja/man1/chage.1 | 92 + man/ja/man1/chfn.1 | 44 + man/ja/man1/chsh.1 | 47 + man/ja/man1/expiry.1 | 30 + man/ja/man1/gpasswd.1 | 70 + man/ja/man1/groups.1 | 39 + man/ja/man1/id.1 | 33 + man/ja/man1/login.1 | 119 + man/ja/man1/newgrp.1 | 68 + man/ja/man1/passwd.1 | 193 + man/ja/man1/sg.1 | 1 + man/ja/man1/su.1 | 64 + man/ja/man3/shadow.3 | 129 + man/ja/man5/faillog.5 | 40 + man/ja/man5/limits.5 | 89 + man/ja/man5/login.access.5 | 69 + man/ja/man5/login.defs.5 | 169 + man/ja/man5/passwd.5 | 88 + man/ja/man5/porttime.5 | 68 + man/ja/man5/shadow.5 | 77 + man/ja/man5/suauth.5 | 116 + man/ja/man8/chpasswd.8 | 45 + man/ja/man8/faillog.8 | 71 + man/ja/man8/groupadd.8 | 43 + man/ja/man8/groupdel.8 | 40 + man/ja/man8/groupmod.8 | 44 + man/ja/man8/grpck.8 | 90 + man/ja/man8/grpconv.8 | 1 + man/ja/man8/grpunconv.8 | 1 + man/ja/man8/lastlog.8 | 56 + man/ja/man8/logoutd.8 | 29 + man/ja/man8/newusers.8 | 45 + man/ja/man8/pwck.8 | 95 + man/ja/man8/pwconv.8 | 80 + man/ja/man8/pwunconv.8 | 1 + man/ja/man8/sulogin.8 | 69 + man/ja/man8/useradd.8 | 150 + man/ja/man8/userdel.8 | 51 + man/ja/man8/usermod.8 | 119 + man/ja/man8/vigr.8 | 1 + man/ja/man8/vipw.8 | 38 + man/ko/Makefile.am | 16 + man/ko/Makefile.in | 672 + man/ko/man1/chfn.1 | 54 + man/ko/man1/chsh.1 | 43 + man/ko/man1/groups.1 | 32 + man/ko/man1/login.1 | 300 + man/ko/man1/su.1 | 92 + man/ko/man5/passwd.5 | 119 + man/ko/man8/vigr.8 | 1 + man/ko/man8/vipw.8 | 36 + man/lastlog.8.xml | 221 + man/limits.5.xml | 195 + man/login.1.xml | 405 + man/login.access.5.xml | 116 + man/login.defs.5.xml | 549 + man/login.defs.d/CHFN_AUTH.xml | 16 + man/login.defs.d/CHFN_RESTRICT.xml | 27 + man/login.defs.d/CHSH_AUTH.xml | 16 + man/login.defs.d/CONSOLE.xml | 22 + man/login.defs.d/CONSOLE_GROUPS.xml | 20 + man/login.defs.d/CREATE_HOME.xml | 17 + man/login.defs.d/DEFAULT_HOME.xml | 20 + man/login.defs.d/ENCRYPT_METHOD.xml | 33 + man/login.defs.d/ENVIRON_FILE.xml | 18 + man/login.defs.d/ENV_HZ.xml | 23 + man/login.defs.d/ENV_PATH.xml | 19 + man/login.defs.d/ENV_SUPATH.xml | 20 + man/login.defs.d/ENV_TZ.xml | 24 + man/login.defs.d/ERASECHAR.xml | 19 + man/login.defs.d/FAILLOG_ENAB.xml | 15 + man/login.defs.d/FAIL_DELAY.xml | 15 + man/login.defs.d/FAKE_SHELL.xml | 15 + man/login.defs.d/FTMP_FILE.xml | 14 + man/login.defs.d/GID_MAX.xml | 21 + man/login.defs.d/HMAC_CRYPTO_ALGO.xml | 20 + man/login.defs.d/HOME_MODE.xml | 19 + man/login.defs.d/HUSHLOGIN_FILE.xml | 18 + man/login.defs.d/ISSUE_FILE.xml | 14 + man/login.defs.d/KILLCHAR.xml | 18 + man/login.defs.d/LASTLOG_ENAB.xml | 14 + man/login.defs.d/LASTLOG_UID_MAX.xml | 22 + man/login.defs.d/LOGIN_RETRIES.xml | 20 + man/login.defs.d/LOGIN_STRING.xml | 20 + man/login.defs.d/LOGIN_TIMEOUT.xml | 14 + man/login.defs.d/LOG_OK_LOGINS.xml | 14 + man/login.defs.d/LOG_UNKFAIL_ENAB.xml | 19 + man/login.defs.d/MAIL_CHECK_ENAB.xml | 18 + man/login.defs.d/MAIL_DIR.xml | 38 + man/login.defs.d/MAX_MEMBERS_PER_GROUP.xml | 33 + man/login.defs.d/MD5_CRYPT_ENAB.xml | 36 + man/login.defs.d/MOTD_FILE.xml | 15 + man/login.defs.d/NOLOGINS_FILE.xml | 16 + man/login.defs.d/NONEXISTENT.xml | 17 + man/login.defs.d/OBSCURE_CHECKS_ENAB.xml | 14 + man/login.defs.d/PASS_ALWAYS_WARN.xml | 14 + man/login.defs.d/PASS_CHANGE_TRIES.xml | 15 + man/login.defs.d/PASS_MAX_DAYS.xml | 16 + man/login.defs.d/PASS_MAX_LEN.xml | 19 + man/login.defs.d/PASS_MIN_DAYS.xml | 16 + man/login.defs.d/PASS_WARN_AGE.xml | 17 + man/login.defs.d/PORTTIME_CHECKS_ENAB.xml | 15 + man/login.defs.d/QUOTAS_ENAB.xml | 16 + man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml | 45 + man/login.defs.d/SUB_GID_COUNT.xml | 24 + man/login.defs.d/SUB_UID_COUNT.xml | 24 + man/login.defs.d/SULOG_FILE.xml | 14 + man/login.defs.d/SU_NAME.xml | 17 + man/login.defs.d/SU_WHEEL_ONLY.xml | 20 + man/login.defs.d/SYSLOG_SG_ENAB.xml | 14 + man/login.defs.d/SYSLOG_SU_ENAB.xml | 15 + man/login.defs.d/SYS_GID_MAX.xml | 19 + man/login.defs.d/SYS_UID_MAX.xml | 18 + man/login.defs.d/TCB_AUTH_GROUP.xml | 13 + man/login.defs.d/TCB_SYMLINKS.xml | 29 + man/login.defs.d/TTYGROUP.xml | 32 + man/login.defs.d/TTYTYPE_FILE.xml | 15 + man/login.defs.d/UID_MAX.xml | 20 + man/login.defs.d/ULIMIT.xml | 14 + man/login.defs.d/UMASK.xml | 32 + man/login.defs.d/USERDEL_CMD.xml | 48 + man/login.defs.d/USERGROUPS_ENAB.xml | 22 + man/login.defs.d/USE_TCB.xml | 14 + man/logoutd.8.xml | 81 + man/man1/chage.1 | 214 + man/man1/chfn.1 | 163 + man/man1/chsh.1 | 121 + man/man1/expiry.1 | 74 + man/man1/getsubids.1 | 82 + man/man1/gpasswd.1 | 234 + man/man1/groups.1 | 65 + man/man1/id.1 | 62 + man/man1/login.1 | 489 + man/man1/newgidmap.1 | 100 + man/man1/newgrp.1 | 98 + man/man1/newuidmap.1 | 100 + man/man1/passwd.1 | 367 + man/man1/sg.1 | 97 + man/man1/su.1 | 450 + man/man3/getspnam.3 | 1 + man/man3/shadow.3 | 245 + man/man5/faillog.5 | 64 + man/man5/gshadow.5 | 101 + man/man5/limits.5 | 274 + man/man5/login.access.5 | 67 + man/man5/login.defs.5 | 872 + man/man5/passwd.5 | 193 + man/man5/porttime.5 | 96 + man/man5/shadow.5 | 148 + man/man5/suauth.5 | 146 + man/man5/subgid.5 | 120 + man/man5/subuid.5 | 120 + man/man8/chgpasswd.8 | 210 + man/man8/chpasswd.8 | 214 + man/man8/faillog.8 | 165 + man/man8/groupadd.8 | 277 + man/man8/groupdel.8 | 150 + man/man8/groupmems.8 | 180 + man/man8/groupmod.8 | 252 + man/man8/grpck.8 | 255 + man/man8/grpconv.8 | 1 + man/man8/grpunconv.8 | 1 + man/man8/lastlog.8 | 141 + man/man8/logoutd.8 | 57 + man/man8/newusers.8 | 453 + man/man8/nologin.8 | 55 + man/man8/pwck.8 | 334 + man/man8/pwconv.8 | 193 + man/man8/pwunconv.8 | 1 + man/man8/sulogin.8 | 116 + man/man8/useradd.8 | 827 + man/man8/userdel.8 | 325 + man/man8/usermod.8 | 478 + man/man8/vigr.8 | 1 + man/man8/vipw.8 | 137 + man/newgidmap.1.xml | 172 + man/newgrp.1.xml | 153 + man/newuidmap.1.xml | 171 + man/newusers.8.xml | 471 + man/nologin.8.xml | 74 + man/passwd.1.xml | 492 + man/passwd.5.xml | 204 + man/pl/Makefile.am | 44 + man/pl/Makefile.in | 782 + man/pl/man1/chage.1 | 216 + man/pl/man1/chsh.1 | 105 + man/pl/man1/expiry.1 | 74 + man/pl/man1/groups.1 | 65 + man/pl/man1/id.1 | 62 + man/pl/man1/newgrp.1 | 91 + man/pl/man1/sg.1 | 90 + man/pl/man3/getspnam.3 | 1 + man/pl/man3/shadow.3 | 245 + man/pl/man5/faillog.5 | 64 + man/pl/man5/porttime.5 | 96 + man/pl/man8/faillog.8 | 165 + man/pl/man8/groupadd.8 | 235 + man/pl/man8/groupdel.8 | 135 + man/pl/man8/groupmems.8 | 165 + man/pl/man8/groupmod.8 | 237 + man/pl/man8/grpck.8 | 240 + man/pl/man8/lastlog.8 | 132 + man/pl/man8/logoutd.8 | 57 + man/pl/man8/userdel.8 | 227 + man/pl/man8/usermod.8 | 379 + man/pl/man8/vigr.8 | 1 + man/pl/man8/vipw.8 | 137 + man/po/LINGUAS | 8 + man/po/Makefile.in | 253 + man/po/Makevars | 27 + man/po/XMLFILES | 42 + man/po/da.po | 10441 ++++++++++++ man/po/de.po | 16306 +++++++++++++++++++ man/po/fr.po | 16146 +++++++++++++++++++ man/po/it.po | 16726 ++++++++++++++++++++ man/po/pl.po | 12676 +++++++++++++++ man/po/ru.po | 17540 +++++++++++++++++++++ man/po/shadow-man-pages.pot | 10119 ++++++++++++ man/po/stamp-po | 1 + man/po/sv.po | 12941 +++++++++++++++ man/po/uk.po | 12911 +++++++++++++++ man/po/zh_CN.po | 14492 +++++++++++++++++ man/porttime.5.xml | 125 + man/pt_BR/Makefile.am | 12 + man/pt_BR/Makefile.in | 668 + man/pt_BR/man1/gpasswd.1 | 93 + man/pt_BR/man5/passwd.5 | 133 + man/pt_BR/man5/shadow.5 | 57 + man/pt_BR/man8/groupadd.8 | 83 + man/pt_BR/man8/groupdel.8 | 59 + man/pt_BR/man8/groupmod.8 | 61 + man/pwck.8.xml | 352 + man/pwconv.8.xml | 258 + man/ru/Makefile.am | 66 + man/ru/Makefile.in | 787 + man/ru/man1/chage.1 | 214 + man/ru/man1/chfn.1 | 123 + man/ru/man1/chsh.1 | 105 + man/ru/man1/expiry.1 | 74 + man/ru/man1/gpasswd.1 | 160 + man/ru/man1/groups.1 | 65 + man/ru/man1/id.1 | 62 + man/ru/man1/login.1 | 213 + man/ru/man1/newgrp.1 | 91 + man/ru/man1/passwd.1 | 283 + man/ru/man1/sg.1 | 90 + man/ru/man1/su.1 | 290 + man/ru/man3/getspnam.3 | 1 + man/ru/man3/shadow.3 | 245 + man/ru/man5/faillog.5 | 64 + man/ru/man5/gshadow.5 | 101 + man/ru/man5/limits.5 | 274 + man/ru/man5/login.access.5 | 67 + man/ru/man5/login.defs.5 | 220 + man/ru/man5/passwd.5 | 193 + man/ru/man5/porttime.5 | 96 + man/ru/man5/shadow.5 | 148 + man/ru/man5/suauth.5 | 146 + man/ru/man8/chgpasswd.8 | 136 + man/ru/man8/chpasswd.8 | 156 + man/ru/man8/faillog.8 | 165 + man/ru/man8/groupadd.8 | 235 + man/ru/man8/groupdel.8 | 135 + man/ru/man8/groupmems.8 | 165 + man/ru/man8/groupmod.8 | 237 + man/ru/man8/grpck.8 | 240 + man/ru/man8/grpconv.8 | 1 + man/ru/man8/grpunconv.8 | 1 + man/ru/man8/lastlog.8 | 132 + man/ru/man8/logoutd.8 | 57 + man/ru/man8/newusers.8 | 236 + man/ru/man8/nologin.8 | 55 + man/ru/man8/pwck.8 | 314 + man/ru/man8/pwconv.8 | 163 + man/ru/man8/pwunconv.8 | 1 + man/ru/man8/sulogin.8 | 97 + man/ru/man8/useradd.8 | 607 + man/ru/man8/userdel.8 | 227 + man/ru/man8/usermod.8 | 379 + man/ru/man8/vigr.8 | 1 + man/ru/man8/vipw.8 | 137 + man/sg.1.xml | 142 + man/shadow.3.xml | 224 + man/shadow.5.xml | 290 + man/su.1.xml | 428 + man/suauth.5.xml | 205 + man/subgid.5.xml | 152 + man/subuid.5.xml | 152 + man/sulogin.8.xml | 154 + man/sv/Makefile.am | 49 + man/sv/Makefile.in | 784 + man/sv/man1/chage.1 | 214 + man/sv/man1/chsh.1 | 105 + man/sv/man1/expiry.1 | 74 + man/sv/man1/groups.1 | 65 + man/sv/man1/id.1 | 62 + man/sv/man1/newgrp.1 | 91 + man/sv/man1/passwd.1 | 283 + man/sv/man1/sg.1 | 90 + man/sv/man3/getspnam.3 | 1 + man/sv/man3/shadow.3 | 245 + man/sv/man5/faillog.5 | 64 + man/sv/man5/gshadow.5 | 101 + man/sv/man5/limits.5 | 274 + man/sv/man5/passwd.5 | 193 + man/sv/man5/porttime.5 | 96 + man/sv/man5/suauth.5 | 146 + man/sv/man8/faillog.8 | 165 + man/sv/man8/groupadd.8 | 235 + man/sv/man8/groupdel.8 | 135 + man/sv/man8/groupmems.8 | 165 + man/sv/man8/groupmod.8 | 237 + man/sv/man8/grpck.8 | 240 + man/sv/man8/lastlog.8 | 132 + man/sv/man8/logoutd.8 | 57 + man/sv/man8/nologin.8 | 55 + man/sv/man8/pwck.8 | 314 + man/sv/man8/userdel.8 | 227 + man/sv/man8/vigr.8 | 1 + man/sv/man8/vipw.8 | 137 + man/tr/Makefile.am | 18 + man/tr/Makefile.in | 675 + man/tr/man1/chage.1 | 64 + man/tr/man1/chfn.1 | 79 + man/tr/man1/login.1 | 114 + man/tr/man1/passwd.1 | 139 + man/tr/man1/su.1 | 84 + man/tr/man5/passwd.5 | 113 + man/tr/man5/shadow.5 | 70 + man/tr/man8/groupadd.8 | 71 + man/tr/man8/groupdel.8 | 51 + man/tr/man8/groupmod.8 | 65 + man/tr/man8/useradd.8 | 169 + man/tr/man8/userdel.8 | 68 + man/tr/man8/usermod.8 | 116 + man/uk/Makefile.am | 65 + man/uk/Makefile.in | 786 + man/uk/man1/chage.1 | 206 + man/uk/man1/chfn.1 | 119 + man/uk/man1/chsh.1 | 100 + man/uk/man1/expiry.1 | 73 + man/uk/man1/gpasswd.1 | 158 + man/uk/man1/groups.1 | 64 + man/uk/man1/id.1 | 62 + man/uk/man1/login.1 | 209 + man/uk/man1/newgrp.1 | 86 + man/uk/man1/passwd.1 | 279 + man/uk/man1/sg.1 | 86 + man/uk/man1/su.1 | 279 + man/uk/man3/getspnam.3 | 1 + man/uk/man3/shadow.3 | 231 + man/uk/man5/faillog.5 | 58 + man/uk/man5/gshadow.5 | 100 + man/uk/man5/login.access.5 | 67 + man/uk/man5/login.defs.5 | 219 + man/uk/man5/passwd.5 | 186 + man/uk/man5/porttime.5 | 94 + man/uk/man5/shadow.5 | 146 + man/uk/man5/suauth.5 | 138 + man/uk/man8/chgpasswd.8 | 135 + man/uk/man8/chpasswd.8 | 155 + man/uk/man8/faillog.8 | 157 + man/uk/man8/groupadd.8 | 235 + man/uk/man8/groupdel.8 | 132 + man/uk/man8/groupmems.8 | 153 + man/uk/man8/groupmod.8 | 233 + man/uk/man8/grpck.8 | 236 + man/uk/man8/grpconv.8 | 1 + man/uk/man8/grpunconv.8 | 1 + man/uk/man8/lastlog.8 | 133 + man/uk/man8/logoutd.8 | 55 + man/uk/man8/newusers.8 | 235 + man/uk/man8/nologin.8 | 54 + man/uk/man8/pwck.8 | 308 + man/uk/man8/pwconv.8 | 163 + man/uk/man8/pwunconv.8 | 1 + man/uk/man8/sulogin.8 | 97 + man/uk/man8/useradd.8 | 592 + man/uk/man8/userdel.8 | 219 + man/uk/man8/usermod.8 | 371 + man/uk/man8/vigr.8 | 1 + man/uk/man8/vipw.8 | 135 + man/useradd.8.xml | 920 ++ man/userdel.8.xml | 349 + man/usermod.8.xml | 647 + man/vipw.8.xml | 227 + man/zh_CN/Makefile.am | 66 + man/zh_CN/Makefile.in | 787 + man/zh_CN/man1/chage.1 | 214 + man/zh_CN/man1/chfn.1 | 123 + man/zh_CN/man1/chsh.1 | 105 + man/zh_CN/man1/expiry.1 | 74 + man/zh_CN/man1/gpasswd.1 | 160 + man/zh_CN/man1/groups.1 | 65 + man/zh_CN/man1/id.1 | 62 + man/zh_CN/man1/login.1 | 213 + man/zh_CN/man1/newgrp.1 | 91 + man/zh_CN/man1/passwd.1 | 283 + man/zh_CN/man1/sg.1 | 90 + man/zh_CN/man1/su.1 | 290 + man/zh_CN/man3/getspnam.3 | 1 + man/zh_CN/man3/shadow.3 | 245 + man/zh_CN/man5/faillog.5 | 64 + man/zh_CN/man5/gshadow.5 | 101 + man/zh_CN/man5/limits.5 | 274 + man/zh_CN/man5/login.access.5 | 67 + man/zh_CN/man5/login.defs.5 | 220 + man/zh_CN/man5/passwd.5 | 193 + man/zh_CN/man5/porttime.5 | 96 + man/zh_CN/man5/shadow.5 | 148 + man/zh_CN/man5/suauth.5 | 146 + man/zh_CN/man8/chgpasswd.8 | 136 + man/zh_CN/man8/chpasswd.8 | 156 + man/zh_CN/man8/faillog.8 | 165 + man/zh_CN/man8/groupadd.8 | 235 + man/zh_CN/man8/groupdel.8 | 135 + man/zh_CN/man8/groupmems.8 | 165 + man/zh_CN/man8/groupmod.8 | 237 + man/zh_CN/man8/grpck.8 | 240 + man/zh_CN/man8/grpconv.8 | 1 + man/zh_CN/man8/grpunconv.8 | 1 + man/zh_CN/man8/lastlog.8 | 132 + man/zh_CN/man8/logoutd.8 | 57 + man/zh_CN/man8/newusers.8 | 236 + man/zh_CN/man8/nologin.8 | 55 + man/zh_CN/man8/pwck.8 | 314 + man/zh_CN/man8/pwconv.8 | 163 + man/zh_CN/man8/pwunconv.8 | 1 + man/zh_CN/man8/sulogin.8 | 97 + man/zh_CN/man8/useradd.8 | 607 + man/zh_CN/man8/userdel.8 | 227 + man/zh_CN/man8/usermod.8 | 379 + man/zh_CN/man8/vigr.8 | 1 + man/zh_CN/man8/vipw.8 | 137 + man/zh_TW/Makefile.am | 18 + man/zh_TW/Makefile.in | 676 + man/zh_TW/man1/chfn.1 | 58 + man/zh_TW/man1/chsh.1 | 45 + man/zh_TW/man1/newgrp.1 | 38 + man/zh_TW/man1/su.1 | 62 + man/zh_TW/man5/passwd.5 | 132 + man/zh_TW/man8/chpasswd.8 | 46 + man/zh_TW/man8/groupadd.8 | 64 + man/zh_TW/man8/groupdel.8 | 31 + man/zh_TW/man8/groupmod.8 | 39 + man/zh_TW/man8/useradd.8 | 160 + man/zh_TW/man8/userdel.8 | 41 + man/zh_TW/man8/usermod.8 | 105 + missing | 215 + po/LINGUAS | 39 + po/Makefile.in.in | 475 + po/Makevars | 31 + po/POTFILES.in | 124 + po/Rules-quot | 58 + po/boldquot.sed | 10 + po/bs.gmo | Bin 0 -> 2971 bytes po/bs.po | 2770 ++++ po/ca.gmo | Bin 0 -> 66042 bytes po/ca.po | 4199 +++++ po/cs.gmo | Bin 0 -> 69417 bytes po/cs.po | 4112 +++++ po/da.gmo | Bin 0 -> 61675 bytes po/da.po | 3107 ++++ po/de.gmo | Bin 0 -> 67706 bytes po/de.po | 3178 ++++ po/dz.gmo | Bin 0 -> 32468 bytes po/dz.po | 3744 +++++ po/el.gmo | Bin 0 -> 82996 bytes po/el.po | 4210 +++++ po/en@boldquot.header | 25 + po/en@quot.header | 22 + po/es.gmo | Bin 0 -> 59443 bytes po/es.po | 4184 +++++ po/eu.gmo | Bin 0 -> 46950 bytes po/eu.po | 3688 +++++ po/fi.gmo | Bin 0 -> 18790 bytes po/fi.po | 3863 +++++ po/fr.gmo | Bin 0 -> 82156 bytes po/fr.po | 12532 +++++++++++++++ po/gl.gmo | Bin 0 -> 18898 bytes po/gl.po | 3757 +++++ po/he.gmo | Bin 0 -> 4599 bytes po/he.po | 2894 ++++ po/hu.gmo | Bin 0 -> 18576 bytes po/hu.po | 3895 +++++ po/id.gmo | Bin 0 -> 15773 bytes po/id.po | 3763 +++++ po/insert-header.sin | 23 + po/it.gmo | Bin 0 -> 21104 bytes po/it.po | 4028 +++++ po/ja.gmo | Bin 0 -> 71049 bytes po/ja.po | 3363 ++++ po/ka.gmo | Bin 0 -> 124859 bytes po/ka.po | 3057 ++++ po/kk.gmo | Bin 0 -> 82687 bytes po/kk.po | 3435 ++++ po/km.gmo | Bin 0 -> 28070 bytes po/km.po | 3751 +++++ po/ko.gmo | Bin 0 -> 31161 bytes po/ko.po | 3551 +++++ po/nb.gmo | Bin 0 -> 65335 bytes po/nb.po | 4285 +++++ po/ne.gmo | Bin 0 -> 27914 bytes po/ne.po | 3740 +++++ po/nl.gmo | Bin 0 -> 84933 bytes po/nl.po | 3083 ++++ po/nn.gmo | Bin 0 -> 12505 bytes po/nn.po | 3295 ++++ po/pl.gmo | Bin 0 -> 18986 bytes po/pl.po | 3879 +++++ po/pt.gmo | Bin 0 -> 65517 bytes po/pt.po | 3781 +++++ po/pt_BR.gmo | Bin 0 -> 56515 bytes po/pt_BR.po | 4132 +++++ po/quot.sed | 6 + po/remove-potcdate.sin | 19 + po/ro.gmo | Bin 0 -> 18755 bytes po/ro.po | 3818 +++++ po/ru.gmo | Bin 0 -> 89001 bytes po/ru.po | 3792 +++++ po/shadow.pot | 2710 ++++ po/sk.gmo | Bin 0 -> 43041 bytes po/sk.po | 4152 +++++ po/sq.gmo | Bin 0 -> 1027 bytes po/sq.po | 2733 ++++ po/stamp-po | 1 + po/sv.gmo | Bin 0 -> 54072 bytes po/sv.po | 3526 +++++ po/tl.gmo | Bin 0 -> 18837 bytes po/tl.po | 3866 +++++ po/tr.gmo | Bin 0 -> 20505 bytes po/tr.po | 4077 +++++ po/uk.gmo | Bin 0 -> 105763 bytes po/uk.po | 4153 +++++ po/vi.gmo | Bin 0 -> 73832 bytes po/vi.po | 3344 ++++ po/zh_CN.gmo | Bin 0 -> 62731 bytes po/zh_CN.po | 3903 +++++ po/zh_TW.gmo | Bin 0 -> 66576 bytes po/zh_TW.po | 3645 +++++ shadow.spec.in | 93 + src/.indent.pro | 5 + src/Makefile.am | 235 + src/Makefile.in | 1638 ++ src/chage.c | 904 ++ src/check_subid_range.c | 51 + src/chfn.c | 735 + src/chgpasswd.c | 623 + src/chpasswd.c | 685 + src/chsh.c | 541 + src/expiry.c | 190 + src/faillog.c | 720 + src/free_subid_range.c | 55 + src/get_subid_owners.c | 45 + src/getsubids.c | 49 + src/gpasswd.c | 1196 ++ src/groupadd.c | 632 + src/groupdel.c | 481 + src/groupmems.c | 632 + src/groupmod.c | 905 ++ src/groups.c | 179 + src/grpck.c | 875 ++ src/grpconv.c | 269 + src/grpunconv.c | 232 + src/id.c | 172 + src/lastlog.c | 440 + src/login.c | 1342 ++ src/login_nopam.c | 341 + src/logoutd.c | 279 + src/new_subid_range.c | 62 + src/newgidmap.c | 239 + src/newgrp.c | 859 + src/newuidmap.c | 167 + src/newusers.c | 1344 ++ src/nologin.c | 41 + src/passwd.c | 1084 ++ src/pwck.c | 897 ++ src/pwconv.c | 316 + src/pwunconv.c | 238 + src/su.c | 1216 ++ src/suauth.c | 216 + src/sulogin.c | 237 + src/useradd.c | 2744 ++++ src/userdel.c | 1346 ++ src/usermod.c | 2388 +++ src/vipw.c | 599 + ylwrap | 247 + 1034 files changed, 534163 insertions(+) create mode 100644 ABOUT-NLS create mode 100644 AUTHORS.md create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 Makefile.am create mode 100644 Makefile.in create mode 100644 NEWS create mode 100644 README create mode 100644 TODO create mode 100644 acinclude.m4 create mode 100644 aclocal.m4 create mode 100755 compile create mode 100755 config.guess create mode 100644 config.h.in create mode 100755 config.rpath create mode 100755 config.sub create mode 100755 configure create mode 100644 configure.ac create mode 100644 contrib/Makefile.am create mode 100644 contrib/Makefile.in create mode 100644 contrib/README create mode 100644 contrib/adduser.c create mode 100755 contrib/adduser.sh create mode 100755 contrib/adduser2.sh create mode 100644 contrib/groupmems.shar create mode 100644 contrib/pwdauth.c create mode 100644 contrib/shadow-anonftp.patch create mode 100644 contrib/udbachk.tgz create mode 100755 depcomp create mode 100644 doc/HOWTO create mode 100644 doc/Makefile.am create mode 100644 doc/Makefile.in create mode 100644 doc/README.limits create mode 100644 doc/README.platforms create mode 100644 doc/WISHLIST create mode 100644 doc/console.c.spec.txt create mode 100644 doc/cracklib26.diff create mode 100644 etc/Makefile.am create mode 100644 etc/Makefile.in create mode 100644 etc/limits create mode 100644 etc/login.access create mode 100644 etc/login.defs create mode 100644 etc/pam.d/Makefile.am create mode 100644 etc/pam.d/Makefile.in create mode 100644 etc/pam.d/chage create mode 100644 etc/pam.d/chfn create mode 100644 etc/pam.d/chgpasswd create mode 100644 etc/pam.d/chpasswd create mode 100644 etc/pam.d/chsh create mode 100644 etc/pam.d/groupadd create mode 100644 etc/pam.d/groupdel create mode 100644 etc/pam.d/groupmems create mode 100644 etc/pam.d/groupmod create mode 100644 etc/pam.d/login create mode 100644 etc/pam.d/newusers create mode 100644 etc/pam.d/passwd create mode 100644 etc/pam.d/su create mode 100644 etc/pam.d/useradd create mode 100644 etc/pam.d/userdel create mode 100644 etc/pam.d/usermod create mode 100755 install-sh create mode 100644 lib/.indent.pro create mode 100644 lib/Makefile.am create mode 100644 lib/Makefile.in create mode 100644 lib/commonio.c create mode 100644 lib/commonio.h create mode 100644 lib/defines.h create mode 100644 lib/encrypt.c create mode 100644 lib/exitcodes.h create mode 100644 lib/faillog.h create mode 100644 lib/fields.c create mode 100644 lib/fputsx.c create mode 100644 lib/get_gid.c create mode 100644 lib/get_pid.c create mode 100644 lib/get_uid.c create mode 100644 lib/getdef.c create mode 100644 lib/getdef.h create mode 100644 lib/getlong.c create mode 100644 lib/getulong.c create mode 100644 lib/groupio.c create mode 100644 lib/groupio.h create mode 100644 lib/groupmem.c create mode 100644 lib/gshadow.c create mode 100644 lib/gshadow_.h create mode 100644 lib/lockpw.c create mode 100644 lib/nscd.c create mode 100644 lib/nscd.h create mode 100644 lib/nss.c create mode 100644 lib/pam_defs.h create mode 100644 lib/port.c create mode 100644 lib/port.h create mode 100644 lib/prototypes.h create mode 100644 lib/pwauth.c create mode 100644 lib/pwauth.h create mode 100644 lib/pwio.c create mode 100644 lib/pwio.h create mode 100644 lib/pwmem.c create mode 100644 lib/run_part.c create mode 100644 lib/run_part.h create mode 100644 lib/selinux.c create mode 100644 lib/semanage.c create mode 100644 lib/sgetgrent.c create mode 100644 lib/sgetpwent.c create mode 100644 lib/sgetspent.c create mode 100644 lib/sgroupio.c create mode 100644 lib/sgroupio.h create mode 100644 lib/shadow.c create mode 100644 lib/shadowio.c create mode 100644 lib/shadowio.h create mode 100644 lib/shadowlog.c create mode 100644 lib/shadowlog.h create mode 100644 lib/shadowlog_internal.h create mode 100644 lib/shadowmem.c create mode 100644 lib/spawn.c create mode 100644 lib/sssd.c create mode 100644 lib/sssd.h create mode 100644 lib/subordinateio.c create mode 100644 lib/subordinateio.h create mode 100644 lib/tcbfuncs.c create mode 100644 lib/tcbfuncs.h create mode 100644 lib/utent.c create mode 100644 libmisc/.indent.pro create mode 100644 libmisc/Makefile.am create mode 100644 libmisc/Makefile.in create mode 100644 libmisc/addgrps.c create mode 100644 libmisc/age.c create mode 100644 libmisc/audit_help.c create mode 100644 libmisc/basename.c create mode 100644 libmisc/btrfs.c create mode 100644 libmisc/chkname.c create mode 100644 libmisc/chkname.h create mode 100644 libmisc/chowndir.c create mode 100644 libmisc/chowntty.c create mode 100644 libmisc/cleanup.c create mode 100644 libmisc/cleanup_group.c create mode 100644 libmisc/cleanup_user.c create mode 100644 libmisc/console.c create mode 100644 libmisc/copydir.c create mode 100644 libmisc/date_to_str.c create mode 100644 libmisc/entry.c create mode 100644 libmisc/env.c create mode 100644 libmisc/failure.c create mode 100644 libmisc/failure.h create mode 100644 libmisc/find_new_gid.c create mode 100644 libmisc/find_new_sub_gids.c create mode 100644 libmisc/find_new_sub_uids.c create mode 100644 libmisc/find_new_uid.c create mode 100644 libmisc/getdate.c create mode 100644 libmisc/getdate.h create mode 100644 libmisc/getdate.y create mode 100644 libmisc/getgr_nam_gid.c create mode 100644 libmisc/getrange.c create mode 100644 libmisc/gettime.c create mode 100644 libmisc/hushed.c create mode 100644 libmisc/idmapping.c create mode 100644 libmisc/idmapping.h create mode 100644 libmisc/isexpired.c create mode 100644 libmisc/limits.c create mode 100644 libmisc/list.c create mode 100644 libmisc/log.c create mode 100644 libmisc/loginprompt.c create mode 100644 libmisc/mail.c create mode 100644 libmisc/motd.c create mode 100644 libmisc/myname.c create mode 100644 libmisc/obscure.c create mode 100644 libmisc/pam_pass.c create mode 100644 libmisc/pam_pass_non_interactive.c create mode 100644 libmisc/prefix_flag.c create mode 100644 libmisc/pwd2spwd.c create mode 100644 libmisc/pwd_init.c create mode 100644 libmisc/pwdcheck.c create mode 100644 libmisc/remove_tree.c create mode 100644 libmisc/rlogin.c create mode 100644 libmisc/root_flag.c create mode 100644 libmisc/salt.c create mode 100644 libmisc/setugid.c create mode 100644 libmisc/setupenv.c create mode 100644 libmisc/shell.c create mode 100644 libmisc/strtoday.c create mode 100644 libmisc/sub.c create mode 100644 libmisc/sulog.c create mode 100644 libmisc/ttytype.c create mode 100644 libmisc/tz.c create mode 100644 libmisc/ulimit.c create mode 100644 libmisc/user_busy.c create mode 100644 libmisc/utmp.c create mode 100644 libmisc/valid.c create mode 100644 libmisc/xgetXXbyYY.c create mode 100644 libmisc/xgetgrgid.c create mode 100644 libmisc/xgetgrnam.c create mode 100644 libmisc/xgetpwnam.c create mode 100644 libmisc/xgetpwuid.c create mode 100644 libmisc/xgetspnam.c create mode 100644 libmisc/xmalloc.c create mode 100644 libmisc/yesno.c create mode 100644 libsubid/Makefile.am create mode 100644 libsubid/Makefile.in create mode 100644 libsubid/api.c create mode 100644 libsubid/subid.h create mode 100644 libsubid/subid.h.in create mode 100755 ltmain.sh create mode 100644 m4/gettext.m4 create mode 100644 m4/iconv.m4 create mode 100644 m4/intlmacosx.m4 create mode 100644 m4/lib-ld.m4 create mode 100644 m4/lib-link.m4 create mode 100644 m4/lib-prefix.m4 create mode 100644 m4/libtool.m4 create mode 100644 m4/ltoptions.m4 create mode 100644 m4/ltsugar.m4 create mode 100644 m4/ltversion.m4 create mode 100644 m4/lt~obsolete.m4 create mode 100644 m4/nls.m4 create mode 100644 m4/po.m4 create mode 100644 m4/progtest.m4 create mode 100644 man/Makefile.am create mode 100644 man/Makefile.in create mode 100644 man/README.md create mode 100644 man/chage.1.xml create mode 100644 man/chfn.1.xml create mode 100644 man/chgpasswd.8.xml create mode 100644 man/chpasswd.8.xml create mode 100644 man/chsh.1.xml create mode 100644 man/config.xml.in create mode 100644 man/cs/Makefile.am create mode 100644 man/cs/Makefile.in create mode 100644 man/cs/man1/expiry.1 create mode 100644 man/cs/man1/gpasswd.1 create mode 100644 man/cs/man1/groups.1 create mode 100644 man/cs/man1/id.1 create mode 100644 man/cs/man1/su.1 create mode 100644 man/cs/man5/faillog.5 create mode 100644 man/cs/man5/gshadow.5 create mode 100644 man/cs/man5/passwd.5 create mode 100644 man/cs/man5/shadow.5 create mode 100644 man/cs/man8/faillog.8 create mode 100644 man/cs/man8/groupadd.8 create mode 100644 man/cs/man8/groupdel.8 create mode 100644 man/cs/man8/groupmems.8 create mode 100644 man/cs/man8/groupmod.8 create mode 100644 man/cs/man8/grpck.8 create mode 100644 man/cs/man8/lastlog.8 create mode 100644 man/cs/man8/logoutd.8 create mode 100644 man/cs/man8/nologin.8 create mode 100644 man/cs/man8/vipw.8 create mode 100644 man/da/Makefile.am create mode 100644 man/da/Makefile.in create mode 100644 man/da/man1/chfn.1 create mode 100644 man/da/man1/groups.1 create mode 100644 man/da/man1/id.1 create mode 100644 man/da/man1/newgrp.1 create mode 100644 man/da/man1/sg.1 create mode 100644 man/da/man5/gshadow.5 create mode 100644 man/da/man8/groupdel.8 create mode 100644 man/da/man8/logoutd.8 create mode 100644 man/da/man8/nologin.8 create mode 100644 man/da/man8/vigr.8 create mode 100644 man/da/man8/vipw.8 create mode 100644 man/de/Makefile.am create mode 100644 man/de/Makefile.in create mode 100644 man/de/man1/chage.1 create mode 100644 man/de/man1/chfn.1 create mode 100644 man/de/man1/chsh.1 create mode 100644 man/de/man1/expiry.1 create mode 100644 man/de/man1/gpasswd.1 create mode 100644 man/de/man1/groups.1 create mode 100644 man/de/man1/id.1 create mode 100644 man/de/man1/login.1 create mode 100644 man/de/man1/newgrp.1 create mode 100644 man/de/man1/passwd.1 create mode 100644 man/de/man1/sg.1 create mode 100644 man/de/man1/su.1 create mode 100644 man/de/man3/getspnam.3 create mode 100644 man/de/man3/shadow.3 create mode 100644 man/de/man5/faillog.5 create mode 100644 man/de/man5/gshadow.5 create mode 100644 man/de/man5/limits.5 create mode 100644 man/de/man5/login.access.5 create mode 100644 man/de/man5/login.defs.5 create mode 100644 man/de/man5/passwd.5 create mode 100644 man/de/man5/porttime.5 create mode 100644 man/de/man5/shadow.5 create mode 100644 man/de/man5/suauth.5 create mode 100644 man/de/man8/chgpasswd.8 create mode 100644 man/de/man8/chpasswd.8 create mode 100644 man/de/man8/faillog.8 create mode 100644 man/de/man8/groupadd.8 create mode 100644 man/de/man8/groupdel.8 create mode 100644 man/de/man8/groupmems.8 create mode 100644 man/de/man8/groupmod.8 create mode 100644 man/de/man8/grpck.8 create mode 100644 man/de/man8/grpconv.8 create mode 100644 man/de/man8/grpunconv.8 create mode 100644 man/de/man8/lastlog.8 create mode 100644 man/de/man8/logoutd.8 create mode 100644 man/de/man8/newusers.8 create mode 100644 man/de/man8/nologin.8 create mode 100644 man/de/man8/pwck.8 create mode 100644 man/de/man8/pwconv.8 create mode 100644 man/de/man8/pwunconv.8 create mode 100644 man/de/man8/sulogin.8 create mode 100644 man/de/man8/useradd.8 create mode 100644 man/de/man8/userdel.8 create mode 100644 man/de/man8/usermod.8 create mode 100644 man/de/man8/vigr.8 create mode 100644 man/de/man8/vipw.8 create mode 100644 man/es/Makefile.am create mode 100644 man/es/Makefile.in create mode 100644 man/expiry.1.xml create mode 100644 man/faillog.5.xml create mode 100644 man/faillog.8.xml create mode 100644 man/fi/Makefile.am create mode 100644 man/fi/Makefile.in create mode 100644 man/fi/man1/chfn.1 create mode 100644 man/fi/man1/chsh.1 create mode 100644 man/fi/man1/su.1 create mode 100644 man/fr/Makefile.am create mode 100644 man/fr/Makefile.in create mode 100644 man/fr/man1/chage.1 create mode 100644 man/fr/man1/chfn.1 create mode 100644 man/fr/man1/chsh.1 create mode 100644 man/fr/man1/expiry.1 create mode 100644 man/fr/man1/gpasswd.1 create mode 100644 man/fr/man1/groups.1 create mode 100644 man/fr/man1/id.1 create mode 100644 man/fr/man1/login.1 create mode 100644 man/fr/man1/newgidmap.1 create mode 100644 man/fr/man1/newgrp.1 create mode 100644 man/fr/man1/newuidmap.1 create mode 100644 man/fr/man1/passwd.1 create mode 100644 man/fr/man1/sg.1 create mode 100644 man/fr/man1/su.1 create mode 100644 man/fr/man3/getspnam.3 create mode 100644 man/fr/man3/shadow.3 create mode 100644 man/fr/man5/faillog.5 create mode 100644 man/fr/man5/gshadow.5 create mode 100644 man/fr/man5/limits.5 create mode 100644 man/fr/man5/login.access.5 create mode 100644 man/fr/man5/login.defs.5 create mode 100644 man/fr/man5/passwd.5 create mode 100644 man/fr/man5/porttime.5 create mode 100644 man/fr/man5/shadow.5 create mode 100644 man/fr/man5/suauth.5 create mode 100644 man/fr/man5/subgid.5 create mode 100644 man/fr/man5/subuid.5 create mode 100644 man/fr/man8/chgpasswd.8 create mode 100644 man/fr/man8/chpasswd.8 create mode 100644 man/fr/man8/faillog.8 create mode 100644 man/fr/man8/groupadd.8 create mode 100644 man/fr/man8/groupdel.8 create mode 100644 man/fr/man8/groupmems.8 create mode 100644 man/fr/man8/groupmod.8 create mode 100644 man/fr/man8/grpck.8 create mode 100644 man/fr/man8/grpconv.8 create mode 100644 man/fr/man8/grpunconv.8 create mode 100644 man/fr/man8/lastlog.8 create mode 100644 man/fr/man8/logoutd.8 create mode 100644 man/fr/man8/newusers.8 create mode 100644 man/fr/man8/nologin.8 create mode 100644 man/fr/man8/pwck.8 create mode 100644 man/fr/man8/pwconv.8 create mode 100644 man/fr/man8/pwunconv.8 create mode 100644 man/fr/man8/sulogin.8 create mode 100644 man/fr/man8/useradd.8 create mode 100644 man/fr/man8/userdel.8 create mode 100644 man/fr/man8/usermod.8 create mode 100644 man/fr/man8/vigr.8 create mode 100644 man/fr/man8/vipw.8 create mode 100644 man/generate_mans.mak create mode 100644 man/generate_translations.mak create mode 100644 man/getsubids.1.xml create mode 100644 man/gpasswd.1.xml create mode 100644 man/groupadd.8.xml create mode 100644 man/groupdel.8.xml create mode 100644 man/groupmems.8.xml create mode 100644 man/groupmod.8.xml create mode 100644 man/groups.1.xml create mode 100644 man/grpck.8.xml create mode 100644 man/gshadow.5.xml create mode 100644 man/hu/Makefile.am create mode 100644 man/hu/Makefile.in create mode 100644 man/hu/man1/chsh.1 create mode 100644 man/hu/man1/gpasswd.1 create mode 100644 man/hu/man1/groups.1 create mode 100644 man/hu/man1/login.1 create mode 100644 man/hu/man1/newgrp.1 create mode 100644 man/hu/man1/passwd.1 create mode 100644 man/hu/man1/sg.1 create mode 100644 man/hu/man1/su.1 create mode 100644 man/hu/man5/passwd.5 create mode 100644 man/hu/man8/lastlog.8 create mode 100644 man/id.1.xml create mode 100644 man/id/Makefile.am create mode 100644 man/id/Makefile.in create mode 100644 man/id/man1/chsh.1 create mode 100644 man/id/man1/login.1 create mode 100644 man/id/man8/useradd.8 create mode 100644 man/it/Makefile.am create mode 100644 man/it/Makefile.in create mode 100644 man/it/man1/chage.1 create mode 100644 man/it/man1/chfn.1 create mode 100644 man/it/man1/chsh.1 create mode 100644 man/it/man1/expiry.1 create mode 100644 man/it/man1/gpasswd.1 create mode 100644 man/it/man1/groups.1 create mode 100644 man/it/man1/id.1 create mode 100644 man/it/man1/login.1 create mode 100644 man/it/man1/newgrp.1 create mode 100644 man/it/man1/passwd.1 create mode 100644 man/it/man1/sg.1 create mode 100644 man/it/man1/su.1 create mode 100644 man/it/man3/getspnam.3 create mode 100644 man/it/man3/shadow.3 create mode 100644 man/it/man5/faillog.5 create mode 100644 man/it/man5/gshadow.5 create mode 100644 man/it/man5/limits.5 create mode 100644 man/it/man5/login.access.5 create mode 100644 man/it/man5/login.defs.5 create mode 100644 man/it/man5/passwd.5 create mode 100644 man/it/man5/porttime.5 create mode 100644 man/it/man5/shadow.5 create mode 100644 man/it/man5/suauth.5 create mode 100644 man/it/man8/chgpasswd.8 create mode 100644 man/it/man8/chpasswd.8 create mode 100644 man/it/man8/faillog.8 create mode 100644 man/it/man8/groupadd.8 create mode 100644 man/it/man8/groupdel.8 create mode 100644 man/it/man8/groupmems.8 create mode 100644 man/it/man8/groupmod.8 create mode 100644 man/it/man8/grpck.8 create mode 100644 man/it/man8/grpconv.8 create mode 100644 man/it/man8/grpunconv.8 create mode 100644 man/it/man8/lastlog.8 create mode 100644 man/it/man8/logoutd.8 create mode 100644 man/it/man8/newusers.8 create mode 100644 man/it/man8/nologin.8 create mode 100644 man/it/man8/pwck.8 create mode 100644 man/it/man8/pwconv.8 create mode 100644 man/it/man8/pwunconv.8 create mode 100644 man/it/man8/sulogin.8 create mode 100644 man/it/man8/useradd.8 create mode 100644 man/it/man8/userdel.8 create mode 100644 man/it/man8/usermod.8 create mode 100644 man/it/man8/vigr.8 create mode 100644 man/it/man8/vipw.8 create mode 100644 man/ja/Makefile.am create mode 100644 man/ja/Makefile.in create mode 100644 man/ja/man1/chage.1 create mode 100644 man/ja/man1/chfn.1 create mode 100644 man/ja/man1/chsh.1 create mode 100644 man/ja/man1/expiry.1 create mode 100644 man/ja/man1/gpasswd.1 create mode 100644 man/ja/man1/groups.1 create mode 100644 man/ja/man1/id.1 create mode 100644 man/ja/man1/login.1 create mode 100644 man/ja/man1/newgrp.1 create mode 100644 man/ja/man1/passwd.1 create mode 100644 man/ja/man1/sg.1 create mode 100644 man/ja/man1/su.1 create mode 100644 man/ja/man3/shadow.3 create mode 100644 man/ja/man5/faillog.5 create mode 100644 man/ja/man5/limits.5 create mode 100644 man/ja/man5/login.access.5 create mode 100644 man/ja/man5/login.defs.5 create mode 100644 man/ja/man5/passwd.5 create mode 100644 man/ja/man5/porttime.5 create mode 100644 man/ja/man5/shadow.5 create mode 100644 man/ja/man5/suauth.5 create mode 100644 man/ja/man8/chpasswd.8 create mode 100644 man/ja/man8/faillog.8 create mode 100644 man/ja/man8/groupadd.8 create mode 100644 man/ja/man8/groupdel.8 create mode 100644 man/ja/man8/groupmod.8 create mode 100644 man/ja/man8/grpck.8 create mode 100644 man/ja/man8/grpconv.8 create mode 100644 man/ja/man8/grpunconv.8 create mode 100644 man/ja/man8/lastlog.8 create mode 100644 man/ja/man8/logoutd.8 create mode 100644 man/ja/man8/newusers.8 create mode 100644 man/ja/man8/pwck.8 create mode 100644 man/ja/man8/pwconv.8 create mode 100644 man/ja/man8/pwunconv.8 create mode 100644 man/ja/man8/sulogin.8 create mode 100644 man/ja/man8/useradd.8 create mode 100644 man/ja/man8/userdel.8 create mode 100644 man/ja/man8/usermod.8 create mode 100644 man/ja/man8/vigr.8 create mode 100644 man/ja/man8/vipw.8 create mode 100644 man/ko/Makefile.am create mode 100644 man/ko/Makefile.in create mode 100644 man/ko/man1/chfn.1 create mode 100644 man/ko/man1/chsh.1 create mode 100644 man/ko/man1/groups.1 create mode 100644 man/ko/man1/login.1 create mode 100644 man/ko/man1/su.1 create mode 100644 man/ko/man5/passwd.5 create mode 100644 man/ko/man8/vigr.8 create mode 100644 man/ko/man8/vipw.8 create mode 100644 man/lastlog.8.xml create mode 100644 man/limits.5.xml create mode 100644 man/login.1.xml create mode 100644 man/login.access.5.xml create mode 100644 man/login.defs.5.xml create mode 100644 man/login.defs.d/CHFN_AUTH.xml create mode 100644 man/login.defs.d/CHFN_RESTRICT.xml create mode 100644 man/login.defs.d/CHSH_AUTH.xml create mode 100644 man/login.defs.d/CONSOLE.xml create mode 100644 man/login.defs.d/CONSOLE_GROUPS.xml create mode 100644 man/login.defs.d/CREATE_HOME.xml create mode 100644 man/login.defs.d/DEFAULT_HOME.xml create mode 100644 man/login.defs.d/ENCRYPT_METHOD.xml create mode 100644 man/login.defs.d/ENVIRON_FILE.xml create mode 100644 man/login.defs.d/ENV_HZ.xml create mode 100644 man/login.defs.d/ENV_PATH.xml create mode 100644 man/login.defs.d/ENV_SUPATH.xml create mode 100644 man/login.defs.d/ENV_TZ.xml create mode 100644 man/login.defs.d/ERASECHAR.xml create mode 100644 man/login.defs.d/FAILLOG_ENAB.xml create mode 100644 man/login.defs.d/FAIL_DELAY.xml create mode 100644 man/login.defs.d/FAKE_SHELL.xml create mode 100644 man/login.defs.d/FTMP_FILE.xml create mode 100644 man/login.defs.d/GID_MAX.xml create mode 100644 man/login.defs.d/HMAC_CRYPTO_ALGO.xml create mode 100644 man/login.defs.d/HOME_MODE.xml create mode 100644 man/login.defs.d/HUSHLOGIN_FILE.xml create mode 100644 man/login.defs.d/ISSUE_FILE.xml create mode 100644 man/login.defs.d/KILLCHAR.xml create mode 100644 man/login.defs.d/LASTLOG_ENAB.xml create mode 100644 man/login.defs.d/LASTLOG_UID_MAX.xml create mode 100644 man/login.defs.d/LOGIN_RETRIES.xml create mode 100644 man/login.defs.d/LOGIN_STRING.xml create mode 100644 man/login.defs.d/LOGIN_TIMEOUT.xml create mode 100644 man/login.defs.d/LOG_OK_LOGINS.xml create mode 100644 man/login.defs.d/LOG_UNKFAIL_ENAB.xml create mode 100644 man/login.defs.d/MAIL_CHECK_ENAB.xml create mode 100644 man/login.defs.d/MAIL_DIR.xml create mode 100644 man/login.defs.d/MAX_MEMBERS_PER_GROUP.xml create mode 100644 man/login.defs.d/MD5_CRYPT_ENAB.xml create mode 100644 man/login.defs.d/MOTD_FILE.xml create mode 100644 man/login.defs.d/NOLOGINS_FILE.xml create mode 100644 man/login.defs.d/NONEXISTENT.xml create mode 100644 man/login.defs.d/OBSCURE_CHECKS_ENAB.xml create mode 100644 man/login.defs.d/PASS_ALWAYS_WARN.xml create mode 100644 man/login.defs.d/PASS_CHANGE_TRIES.xml create mode 100644 man/login.defs.d/PASS_MAX_DAYS.xml create mode 100644 man/login.defs.d/PASS_MAX_LEN.xml create mode 100644 man/login.defs.d/PASS_MIN_DAYS.xml create mode 100644 man/login.defs.d/PASS_WARN_AGE.xml create mode 100644 man/login.defs.d/PORTTIME_CHECKS_ENAB.xml create mode 100644 man/login.defs.d/QUOTAS_ENAB.xml create mode 100644 man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml create mode 100644 man/login.defs.d/SUB_GID_COUNT.xml create mode 100644 man/login.defs.d/SUB_UID_COUNT.xml create mode 100644 man/login.defs.d/SULOG_FILE.xml create mode 100644 man/login.defs.d/SU_NAME.xml create mode 100644 man/login.defs.d/SU_WHEEL_ONLY.xml create mode 100644 man/login.defs.d/SYSLOG_SG_ENAB.xml create mode 100644 man/login.defs.d/SYSLOG_SU_ENAB.xml create mode 100644 man/login.defs.d/SYS_GID_MAX.xml create mode 100644 man/login.defs.d/SYS_UID_MAX.xml create mode 100644 man/login.defs.d/TCB_AUTH_GROUP.xml create mode 100644 man/login.defs.d/TCB_SYMLINKS.xml create mode 100644 man/login.defs.d/TTYGROUP.xml create mode 100644 man/login.defs.d/TTYTYPE_FILE.xml create mode 100644 man/login.defs.d/UID_MAX.xml create mode 100644 man/login.defs.d/ULIMIT.xml create mode 100644 man/login.defs.d/UMASK.xml create mode 100644 man/login.defs.d/USERDEL_CMD.xml create mode 100644 man/login.defs.d/USERGROUPS_ENAB.xml create mode 100644 man/login.defs.d/USE_TCB.xml create mode 100644 man/logoutd.8.xml create mode 100644 man/man1/chage.1 create mode 100644 man/man1/chfn.1 create mode 100644 man/man1/chsh.1 create mode 100644 man/man1/expiry.1 create mode 100644 man/man1/getsubids.1 create mode 100644 man/man1/gpasswd.1 create mode 100644 man/man1/groups.1 create mode 100644 man/man1/id.1 create mode 100644 man/man1/login.1 create mode 100644 man/man1/newgidmap.1 create mode 100644 man/man1/newgrp.1 create mode 100644 man/man1/newuidmap.1 create mode 100644 man/man1/passwd.1 create mode 100644 man/man1/sg.1 create mode 100644 man/man1/su.1 create mode 100644 man/man3/getspnam.3 create mode 100644 man/man3/shadow.3 create mode 100644 man/man5/faillog.5 create mode 100644 man/man5/gshadow.5 create mode 100644 man/man5/limits.5 create mode 100644 man/man5/login.access.5 create mode 100644 man/man5/login.defs.5 create mode 100644 man/man5/passwd.5 create mode 100644 man/man5/porttime.5 create mode 100644 man/man5/shadow.5 create mode 100644 man/man5/suauth.5 create mode 100644 man/man5/subgid.5 create mode 100644 man/man5/subuid.5 create mode 100644 man/man8/chgpasswd.8 create mode 100644 man/man8/chpasswd.8 create mode 100644 man/man8/faillog.8 create mode 100644 man/man8/groupadd.8 create mode 100644 man/man8/groupdel.8 create mode 100644 man/man8/groupmems.8 create mode 100644 man/man8/groupmod.8 create mode 100644 man/man8/grpck.8 create mode 100644 man/man8/grpconv.8 create mode 100644 man/man8/grpunconv.8 create mode 100644 man/man8/lastlog.8 create mode 100644 man/man8/logoutd.8 create mode 100644 man/man8/newusers.8 create mode 100644 man/man8/nologin.8 create mode 100644 man/man8/pwck.8 create mode 100644 man/man8/pwconv.8 create mode 100644 man/man8/pwunconv.8 create mode 100644 man/man8/sulogin.8 create mode 100644 man/man8/useradd.8 create mode 100644 man/man8/userdel.8 create mode 100644 man/man8/usermod.8 create mode 100644 man/man8/vigr.8 create mode 100644 man/man8/vipw.8 create mode 100644 man/newgidmap.1.xml create mode 100644 man/newgrp.1.xml create mode 100644 man/newuidmap.1.xml create mode 100644 man/newusers.8.xml create mode 100644 man/nologin.8.xml create mode 100644 man/passwd.1.xml create mode 100644 man/passwd.5.xml create mode 100644 man/pl/Makefile.am create mode 100644 man/pl/Makefile.in create mode 100644 man/pl/man1/chage.1 create mode 100644 man/pl/man1/chsh.1 create mode 100644 man/pl/man1/expiry.1 create mode 100644 man/pl/man1/groups.1 create mode 100644 man/pl/man1/id.1 create mode 100644 man/pl/man1/newgrp.1 create mode 100644 man/pl/man1/sg.1 create mode 100644 man/pl/man3/getspnam.3 create mode 100644 man/pl/man3/shadow.3 create mode 100644 man/pl/man5/faillog.5 create mode 100644 man/pl/man5/porttime.5 create mode 100644 man/pl/man8/faillog.8 create mode 100644 man/pl/man8/groupadd.8 create mode 100644 man/pl/man8/groupdel.8 create mode 100644 man/pl/man8/groupmems.8 create mode 100644 man/pl/man8/groupmod.8 create mode 100644 man/pl/man8/grpck.8 create mode 100644 man/pl/man8/lastlog.8 create mode 100644 man/pl/man8/logoutd.8 create mode 100644 man/pl/man8/userdel.8 create mode 100644 man/pl/man8/usermod.8 create mode 100644 man/pl/man8/vigr.8 create mode 100644 man/pl/man8/vipw.8 create mode 100644 man/po/LINGUAS create mode 100644 man/po/Makefile.in create mode 100644 man/po/Makevars create mode 100644 man/po/XMLFILES create mode 100644 man/po/da.po create mode 100644 man/po/de.po create mode 100644 man/po/fr.po create mode 100644 man/po/it.po create mode 100644 man/po/pl.po create mode 100644 man/po/ru.po create mode 100644 man/po/shadow-man-pages.pot create mode 100644 man/po/stamp-po create mode 100644 man/po/sv.po create mode 100644 man/po/uk.po create mode 100644 man/po/zh_CN.po create mode 100644 man/porttime.5.xml create mode 100644 man/pt_BR/Makefile.am create mode 100644 man/pt_BR/Makefile.in create mode 100644 man/pt_BR/man1/gpasswd.1 create mode 100644 man/pt_BR/man5/passwd.5 create mode 100644 man/pt_BR/man5/shadow.5 create mode 100644 man/pt_BR/man8/groupadd.8 create mode 100644 man/pt_BR/man8/groupdel.8 create mode 100644 man/pt_BR/man8/groupmod.8 create mode 100644 man/pwck.8.xml create mode 100644 man/pwconv.8.xml create mode 100644 man/ru/Makefile.am create mode 100644 man/ru/Makefile.in create mode 100644 man/ru/man1/chage.1 create mode 100644 man/ru/man1/chfn.1 create mode 100644 man/ru/man1/chsh.1 create mode 100644 man/ru/man1/expiry.1 create mode 100644 man/ru/man1/gpasswd.1 create mode 100644 man/ru/man1/groups.1 create mode 100644 man/ru/man1/id.1 create mode 100644 man/ru/man1/login.1 create mode 100644 man/ru/man1/newgrp.1 create mode 100644 man/ru/man1/passwd.1 create mode 100644 man/ru/man1/sg.1 create mode 100644 man/ru/man1/su.1 create mode 100644 man/ru/man3/getspnam.3 create mode 100644 man/ru/man3/shadow.3 create mode 100644 man/ru/man5/faillog.5 create mode 100644 man/ru/man5/gshadow.5 create mode 100644 man/ru/man5/limits.5 create mode 100644 man/ru/man5/login.access.5 create mode 100644 man/ru/man5/login.defs.5 create mode 100644 man/ru/man5/passwd.5 create mode 100644 man/ru/man5/porttime.5 create mode 100644 man/ru/man5/shadow.5 create mode 100644 man/ru/man5/suauth.5 create mode 100644 man/ru/man8/chgpasswd.8 create mode 100644 man/ru/man8/chpasswd.8 create mode 100644 man/ru/man8/faillog.8 create mode 100644 man/ru/man8/groupadd.8 create mode 100644 man/ru/man8/groupdel.8 create mode 100644 man/ru/man8/groupmems.8 create mode 100644 man/ru/man8/groupmod.8 create mode 100644 man/ru/man8/grpck.8 create mode 100644 man/ru/man8/grpconv.8 create mode 100644 man/ru/man8/grpunconv.8 create mode 100644 man/ru/man8/lastlog.8 create mode 100644 man/ru/man8/logoutd.8 create mode 100644 man/ru/man8/newusers.8 create mode 100644 man/ru/man8/nologin.8 create mode 100644 man/ru/man8/pwck.8 create mode 100644 man/ru/man8/pwconv.8 create mode 100644 man/ru/man8/pwunconv.8 create mode 100644 man/ru/man8/sulogin.8 create mode 100644 man/ru/man8/useradd.8 create mode 100644 man/ru/man8/userdel.8 create mode 100644 man/ru/man8/usermod.8 create mode 100644 man/ru/man8/vigr.8 create mode 100644 man/ru/man8/vipw.8 create mode 100644 man/sg.1.xml create mode 100644 man/shadow.3.xml create mode 100644 man/shadow.5.xml create mode 100644 man/su.1.xml create mode 100644 man/suauth.5.xml create mode 100644 man/subgid.5.xml create mode 100644 man/subuid.5.xml create mode 100644 man/sulogin.8.xml create mode 100644 man/sv/Makefile.am create mode 100644 man/sv/Makefile.in create mode 100644 man/sv/man1/chage.1 create mode 100644 man/sv/man1/chsh.1 create mode 100644 man/sv/man1/expiry.1 create mode 100644 man/sv/man1/groups.1 create mode 100644 man/sv/man1/id.1 create mode 100644 man/sv/man1/newgrp.1 create mode 100644 man/sv/man1/passwd.1 create mode 100644 man/sv/man1/sg.1 create mode 100644 man/sv/man3/getspnam.3 create mode 100644 man/sv/man3/shadow.3 create mode 100644 man/sv/man5/faillog.5 create mode 100644 man/sv/man5/gshadow.5 create mode 100644 man/sv/man5/limits.5 create mode 100644 man/sv/man5/passwd.5 create mode 100644 man/sv/man5/porttime.5 create mode 100644 man/sv/man5/suauth.5 create mode 100644 man/sv/man8/faillog.8 create mode 100644 man/sv/man8/groupadd.8 create mode 100644 man/sv/man8/groupdel.8 create mode 100644 man/sv/man8/groupmems.8 create mode 100644 man/sv/man8/groupmod.8 create mode 100644 man/sv/man8/grpck.8 create mode 100644 man/sv/man8/lastlog.8 create mode 100644 man/sv/man8/logoutd.8 create mode 100644 man/sv/man8/nologin.8 create mode 100644 man/sv/man8/pwck.8 create mode 100644 man/sv/man8/userdel.8 create mode 100644 man/sv/man8/vigr.8 create mode 100644 man/sv/man8/vipw.8 create mode 100644 man/tr/Makefile.am create mode 100644 man/tr/Makefile.in create mode 100644 man/tr/man1/chage.1 create mode 100644 man/tr/man1/chfn.1 create mode 100644 man/tr/man1/login.1 create mode 100644 man/tr/man1/passwd.1 create mode 100644 man/tr/man1/su.1 create mode 100644 man/tr/man5/passwd.5 create mode 100644 man/tr/man5/shadow.5 create mode 100644 man/tr/man8/groupadd.8 create mode 100644 man/tr/man8/groupdel.8 create mode 100644 man/tr/man8/groupmod.8 create mode 100644 man/tr/man8/useradd.8 create mode 100644 man/tr/man8/userdel.8 create mode 100644 man/tr/man8/usermod.8 create mode 100644 man/uk/Makefile.am create mode 100644 man/uk/Makefile.in create mode 100644 man/uk/man1/chage.1 create mode 100644 man/uk/man1/chfn.1 create mode 100644 man/uk/man1/chsh.1 create mode 100644 man/uk/man1/expiry.1 create mode 100644 man/uk/man1/gpasswd.1 create mode 100644 man/uk/man1/groups.1 create mode 100644 man/uk/man1/id.1 create mode 100644 man/uk/man1/login.1 create mode 100644 man/uk/man1/newgrp.1 create mode 100644 man/uk/man1/passwd.1 create mode 100644 man/uk/man1/sg.1 create mode 100644 man/uk/man1/su.1 create mode 100644 man/uk/man3/getspnam.3 create mode 100644 man/uk/man3/shadow.3 create mode 100644 man/uk/man5/faillog.5 create mode 100644 man/uk/man5/gshadow.5 create mode 100644 man/uk/man5/login.access.5 create mode 100644 man/uk/man5/login.defs.5 create mode 100644 man/uk/man5/passwd.5 create mode 100644 man/uk/man5/porttime.5 create mode 100644 man/uk/man5/shadow.5 create mode 100644 man/uk/man5/suauth.5 create mode 100644 man/uk/man8/chgpasswd.8 create mode 100644 man/uk/man8/chpasswd.8 create mode 100644 man/uk/man8/faillog.8 create mode 100644 man/uk/man8/groupadd.8 create mode 100644 man/uk/man8/groupdel.8 create mode 100644 man/uk/man8/groupmems.8 create mode 100644 man/uk/man8/groupmod.8 create mode 100644 man/uk/man8/grpck.8 create mode 100644 man/uk/man8/grpconv.8 create mode 100644 man/uk/man8/grpunconv.8 create mode 100644 man/uk/man8/lastlog.8 create mode 100644 man/uk/man8/logoutd.8 create mode 100644 man/uk/man8/newusers.8 create mode 100644 man/uk/man8/nologin.8 create mode 100644 man/uk/man8/pwck.8 create mode 100644 man/uk/man8/pwconv.8 create mode 100644 man/uk/man8/pwunconv.8 create mode 100644 man/uk/man8/sulogin.8 create mode 100644 man/uk/man8/useradd.8 create mode 100644 man/uk/man8/userdel.8 create mode 100644 man/uk/man8/usermod.8 create mode 100644 man/uk/man8/vigr.8 create mode 100644 man/uk/man8/vipw.8 create mode 100644 man/useradd.8.xml create mode 100644 man/userdel.8.xml create mode 100644 man/usermod.8.xml create mode 100644 man/vipw.8.xml create mode 100644 man/zh_CN/Makefile.am create mode 100644 man/zh_CN/Makefile.in create mode 100644 man/zh_CN/man1/chage.1 create mode 100644 man/zh_CN/man1/chfn.1 create mode 100644 man/zh_CN/man1/chsh.1 create mode 100644 man/zh_CN/man1/expiry.1 create mode 100644 man/zh_CN/man1/gpasswd.1 create mode 100644 man/zh_CN/man1/groups.1 create mode 100644 man/zh_CN/man1/id.1 create mode 100644 man/zh_CN/man1/login.1 create mode 100644 man/zh_CN/man1/newgrp.1 create mode 100644 man/zh_CN/man1/passwd.1 create mode 100644 man/zh_CN/man1/sg.1 create mode 100644 man/zh_CN/man1/su.1 create mode 100644 man/zh_CN/man3/getspnam.3 create mode 100644 man/zh_CN/man3/shadow.3 create mode 100644 man/zh_CN/man5/faillog.5 create mode 100644 man/zh_CN/man5/gshadow.5 create mode 100644 man/zh_CN/man5/limits.5 create mode 100644 man/zh_CN/man5/login.access.5 create mode 100644 man/zh_CN/man5/login.defs.5 create mode 100644 man/zh_CN/man5/passwd.5 create mode 100644 man/zh_CN/man5/porttime.5 create mode 100644 man/zh_CN/man5/shadow.5 create mode 100644 man/zh_CN/man5/suauth.5 create mode 100644 man/zh_CN/man8/chgpasswd.8 create mode 100644 man/zh_CN/man8/chpasswd.8 create mode 100644 man/zh_CN/man8/faillog.8 create mode 100644 man/zh_CN/man8/groupadd.8 create mode 100644 man/zh_CN/man8/groupdel.8 create mode 100644 man/zh_CN/man8/groupmems.8 create mode 100644 man/zh_CN/man8/groupmod.8 create mode 100644 man/zh_CN/man8/grpck.8 create mode 100644 man/zh_CN/man8/grpconv.8 create mode 100644 man/zh_CN/man8/grpunconv.8 create mode 100644 man/zh_CN/man8/lastlog.8 create mode 100644 man/zh_CN/man8/logoutd.8 create mode 100644 man/zh_CN/man8/newusers.8 create mode 100644 man/zh_CN/man8/nologin.8 create mode 100644 man/zh_CN/man8/pwck.8 create mode 100644 man/zh_CN/man8/pwconv.8 create mode 100644 man/zh_CN/man8/pwunconv.8 create mode 100644 man/zh_CN/man8/sulogin.8 create mode 100644 man/zh_CN/man8/useradd.8 create mode 100644 man/zh_CN/man8/userdel.8 create mode 100644 man/zh_CN/man8/usermod.8 create mode 100644 man/zh_CN/man8/vigr.8 create mode 100644 man/zh_CN/man8/vipw.8 create mode 100644 man/zh_TW/Makefile.am create mode 100644 man/zh_TW/Makefile.in create mode 100644 man/zh_TW/man1/chfn.1 create mode 100644 man/zh_TW/man1/chsh.1 create mode 100644 man/zh_TW/man1/newgrp.1 create mode 100644 man/zh_TW/man1/su.1 create mode 100644 man/zh_TW/man5/passwd.5 create mode 100644 man/zh_TW/man8/chpasswd.8 create mode 100644 man/zh_TW/man8/groupadd.8 create mode 100644 man/zh_TW/man8/groupdel.8 create mode 100644 man/zh_TW/man8/groupmod.8 create mode 100644 man/zh_TW/man8/useradd.8 create mode 100644 man/zh_TW/man8/userdel.8 create mode 100644 man/zh_TW/man8/usermod.8 create mode 100755 missing create mode 100644 po/LINGUAS create mode 100644 po/Makefile.in.in create mode 100644 po/Makevars create mode 100644 po/POTFILES.in create mode 100644 po/Rules-quot create mode 100644 po/boldquot.sed create mode 100644 po/bs.gmo create mode 100644 po/bs.po create mode 100644 po/ca.gmo create mode 100644 po/ca.po create mode 100644 po/cs.gmo create mode 100644 po/cs.po create mode 100644 po/da.gmo create mode 100644 po/da.po create mode 100644 po/de.gmo create mode 100644 po/de.po create mode 100644 po/dz.gmo create mode 100644 po/dz.po create mode 100644 po/el.gmo create mode 100644 po/el.po create mode 100644 po/en@boldquot.header create mode 100644 po/en@quot.header create mode 100644 po/es.gmo create mode 100644 po/es.po create mode 100644 po/eu.gmo create mode 100644 po/eu.po create mode 100644 po/fi.gmo create mode 100644 po/fi.po create mode 100644 po/fr.gmo create mode 100644 po/fr.po create mode 100644 po/gl.gmo create mode 100644 po/gl.po create mode 100644 po/he.gmo create mode 100644 po/he.po create mode 100644 po/hu.gmo create mode 100644 po/hu.po create mode 100644 po/id.gmo create mode 100644 po/id.po create mode 100644 po/insert-header.sin create mode 100644 po/it.gmo create mode 100644 po/it.po create mode 100644 po/ja.gmo create mode 100644 po/ja.po create mode 100644 po/ka.gmo create mode 100644 po/ka.po create mode 100644 po/kk.gmo create mode 100644 po/kk.po create mode 100644 po/km.gmo create mode 100644 po/km.po create mode 100644 po/ko.gmo create mode 100644 po/ko.po create mode 100644 po/nb.gmo create mode 100644 po/nb.po create mode 100644 po/ne.gmo create mode 100644 po/ne.po create mode 100644 po/nl.gmo create mode 100644 po/nl.po create mode 100644 po/nn.gmo create mode 100644 po/nn.po create mode 100644 po/pl.gmo create mode 100644 po/pl.po create mode 100644 po/pt.gmo create mode 100644 po/pt.po create mode 100644 po/pt_BR.gmo create mode 100644 po/pt_BR.po create mode 100644 po/quot.sed create mode 100644 po/remove-potcdate.sin create mode 100644 po/ro.gmo create mode 100644 po/ro.po create mode 100644 po/ru.gmo create mode 100644 po/ru.po create mode 100644 po/shadow.pot create mode 100644 po/sk.gmo create mode 100644 po/sk.po create mode 100644 po/sq.gmo create mode 100644 po/sq.po create mode 100644 po/stamp-po create mode 100644 po/sv.gmo create mode 100644 po/sv.po create mode 100644 po/tl.gmo create mode 100644 po/tl.po create mode 100644 po/tr.gmo create mode 100644 po/tr.po create mode 100644 po/uk.gmo create mode 100644 po/uk.po create mode 100644 po/vi.gmo create mode 100644 po/vi.po create mode 100644 po/zh_CN.gmo create mode 100644 po/zh_CN.po create mode 100644 po/zh_TW.gmo create mode 100644 po/zh_TW.po create mode 100644 shadow.spec.in create mode 100644 src/.indent.pro create mode 100644 src/Makefile.am create mode 100644 src/Makefile.in create mode 100644 src/chage.c create mode 100644 src/check_subid_range.c create mode 100644 src/chfn.c create mode 100644 src/chgpasswd.c create mode 100644 src/chpasswd.c create mode 100644 src/chsh.c create mode 100644 src/expiry.c create mode 100644 src/faillog.c create mode 100644 src/free_subid_range.c create mode 100644 src/get_subid_owners.c create mode 100644 src/getsubids.c create mode 100644 src/gpasswd.c create mode 100644 src/groupadd.c create mode 100644 src/groupdel.c create mode 100644 src/groupmems.c create mode 100644 src/groupmod.c create mode 100644 src/groups.c create mode 100644 src/grpck.c create mode 100644 src/grpconv.c create mode 100644 src/grpunconv.c create mode 100644 src/id.c create mode 100644 src/lastlog.c create mode 100644 src/login.c create mode 100644 src/login_nopam.c create mode 100644 src/logoutd.c create mode 100644 src/new_subid_range.c create mode 100644 src/newgidmap.c create mode 100644 src/newgrp.c create mode 100644 src/newuidmap.c create mode 100644 src/newusers.c create mode 100644 src/nologin.c create mode 100644 src/passwd.c create mode 100644 src/pwck.c create mode 100644 src/pwconv.c create mode 100644 src/pwunconv.c create mode 100644 src/su.c create mode 100644 src/suauth.c create mode 100644 src/sulogin.c create mode 100644 src/useradd.c create mode 100644 src/userdel.c create mode 100644 src/usermod.c create mode 100644 src/vipw.c create mode 100755 ylwrap diff --git a/ABOUT-NLS b/ABOUT-NLS new file mode 100644 index 0000000..b1de1b6 --- /dev/null +++ b/ABOUT-NLS @@ -0,0 +1,1282 @@ +1 Notes on the Free Translation Project +*************************************** + +Free software is going international! The Free Translation Project is +a way to get maintainers of free software, translators, and users all +together, so that free software will gradually become able to speak many +languages. A few packages already provide translations for their +messages. + + If you found this `ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU `gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU `gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work on translations can contact the appropriate team. + +1.1 INSTALL Matters +=================== + +Some packages are "localizable" when properly installed; the programs +they contain can be made to speak your own native language. Most such +packages use GNU `gettext'. Other packages have their own ways to +internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU `gettext' functions. Installers may use special +options at configuration time for changing the default behaviour. The +command: + + ./configure --disable-nls + +will _totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run +configure without an option for your new package, `configure' will +probably detect the previously built and installed `libintl' library +and will decide to use it. If not, you may have to to use the +`--with-libintl-prefix' option to tell `configure' where to look for it. + + Internationalized packages usually have many `po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at `configure' time by using the +`--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable `LINGUAS' +may be set, prior to configuration, to limit the installed set. +`LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +1.2 Using This Package +====================== + +As a user, if your language has been installed for this package, you +only have to set the `LANG' environment variable to the appropriate +`LL_CC' combination. If you happen to have the `LC_ALL' or some other +`LC_xxx' environment variables set, you should unset them before +setting `LANG', otherwise the setting of `LANG' will not have the +desired effect. Here `LL' is an ISO 639 two-letter language code, and +`CC' is an ISO 3166 two-letter country code. For example, let's +suppose that you speak German and live in Germany. At the shell +prompt, merely execute `setenv LANG de_DE' (in `csh'), +`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +This can be done from your `.login' or `.profile' file, once and for +all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of `LL_CC', with `LL' denoting the +language and `CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are +used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +locales supported by your system for your language by running the +command `locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +for the purpose of message handling, but you still need to have `LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather +read translations in German than English for when Swedish is not +available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from `no' to `nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under `nb' and some older ones under `no', it's recommended +for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and +older translations are used. + + In the `LANGUAGE' environment variable, but not in the `LANG' +environment variable, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + +1.3 Translating Teams +===================== + +For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +`http://translationproject.org/', in the "Teams" area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +`-request' appended. For example, speakers of Swedish can send a +message to `sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate +_actively_ in translations, or at solving translational difficulties, +rather than merely lurking around. If your team does not exist yet and +you want to start one, or if you are unsure about what to do or how to +get started, please write to `coordinator@translationproject.org' to +reach the coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skills are praised more than +programming skills, here. + +1.4 Available Packages +====================== + +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of June +2010. The matrix shows, in regard of each package, for which languages +PO files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca + +--------------------------------------------------+ + a2ps | [] [] | + aegis | | + ant-phone | | + anubis | | + aspell | [] [] | + bash | | + bfd | | + bibshelf | [] | + binutils | | + bison | | + bison-runtime | [] | + bluez-pin | [] [] | + bombono-dvd | | + buzztard | | + cflow | | + clisp | | + coreutils | [] [] | + cpio | | + cppi | | + cpplib | [] | + cryptsetup | | + dfarc | | + dialog | [] [] | + dico | | + diffutils | [] | + dink | | + doodle | | + e2fsprogs | [] | + enscript | [] | + exif | | + fetchmail | [] | + findutils | [] | + flex | [] | + freedink | | + gas | | + gawk | [] [] | + gcal | [] | + gcc | | + gettext-examples | [] [] [] [] | + gettext-runtime | [] [] | + gettext-tools | [] [] | + gip | [] | + gjay | | + gliv | [] | + glunarclock | [] [] | + gnubiff | | + gnucash | [] | + gnuedu | | + gnulib | | + gnunet | | + gnunet-gtk | | + gnutls | | + gold | | + gpe-aerial | | + gpe-beam | | + gpe-bluetooth | | + gpe-calendar | | + gpe-clock | [] | + gpe-conf | | + gpe-contacts | | + gpe-edit | | + gpe-filemanager | | + gpe-go | | + gpe-login | | + gpe-ownerinfo | [] | + gpe-package | | + gpe-sketchbook | | + gpe-su | [] | + gpe-taskmanager | [] | + gpe-timesheet | [] | + gpe-today | [] | + gpe-todo | | + gphoto2 | | + gprof | [] | + gpsdrive | | + gramadoir | | + grep | | + grub | [] [] | + gsasl | | + gss | | + gst-plugins-bad | [] | + gst-plugins-base | [] | + gst-plugins-good | [] | + gst-plugins-ugly | [] | + gstreamer | [] [] [] | + gtick | | + gtkam | [] | + gtkorphan | [] | + gtkspell | [] [] [] | + gutenprint | | + hello | [] | + help2man | | + hylafax | | + idutils | | + indent | [] [] | + iso_15924 | | + iso_3166 | [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | | + iso_639 | [] [] [] [] | + iso_639_3 | | + jwhois | | + kbd | | + keytouch | [] | + keytouch-editor | | + keytouch-keyboa... | [] | + klavaro | [] | + latrine | | + ld | [] | + leafpad | [] [] | + libc | [] [] | + libexif | () | + libextractor | | + libgnutls | | + libgpewidget | | + libgpg-error | | + libgphoto2 | | + libgphoto2_port | | + libgsasl | | + libiconv | [] | + libidn | | + lifelines | | + liferea | [] [] | + lilypond | | + linkdr | [] | + lordsawar | | + lprng | | + lynx | [] | + m4 | | + mailfromd | | + mailutils | | + make | | + man-db | | + man-db-manpages | | + minicom | | + mkisofs | | + myserver | | + nano | [] [] | + opcodes | | + parted | | + pies | | + popt | | + psmisc | | + pspp | [] | + pwdutils | | + radius | [] | + recode | [] [] | + rosegarden | | + rpm | | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] [] | + sed | [] [] | + sharutils | [] [] | + shishi | | + skencil | | + solfege | | + solfege-manual | | + soundtracker | | + sp | | + sysstat | | + tar | [] | + texinfo | | + tin | | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] | + vice | | + vmm | | + vorbis-tools | | + wastesedge | | + wdiff | | + wget | [] [] | + wyslij-po | | + xchat | [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] | + +--------------------------------------------------+ + af am an ar as ast az be be@latin bg bn_IN bs ca + 6 0 1 2 3 19 1 10 3 28 3 1 38 + + crh cs da de el en en_GB en_ZA eo es et eu fa + +-------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] | + aegis | [] [] [] | + ant-phone | [] () | + anubis | [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] | + bfd | [] | + bibshelf | [] [] [] | + binutils | [] | + bison | [] [] | + bison-runtime | [] [] [] [] | + bluez-pin | [] [] [] [] [] [] | + bombono-dvd | [] | + buzztard | [] [] [] | + cflow | [] [] | + clisp | [] [] [] [] | + coreutils | [] [] [] [] | + cpio | | + cppi | | + cpplib | [] [] [] | + cryptsetup | [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] [] [] | + dink | [] [] [] | + doodle | [] | + e2fsprogs | [] [] [] | + enscript | [] [] [] | + exif | () [] [] | + fetchmail | [] [] () [] [] [] | + findutils | [] [] [] | + flex | [] [] | + freedink | [] [] [] | + gas | [] | + gawk | [] [] [] | + gcal | [] | + gcc | [] [] | + gettext-examples | [] [] [] [] | + gettext-runtime | [] [] [] [] | + gettext-tools | [] [] [] | + gip | [] [] [] [] | + gjay | [] | + gliv | [] [] [] | + glunarclock | [] [] | + gnubiff | () | + gnucash | [] () () () () | + gnuedu | [] [] | + gnulib | [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gold | [] | + gpe-aerial | [] [] [] [] | + gpe-beam | [] [] [] [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] | + gpe-conf | [] [] [] | + gpe-contacts | [] [] [] | + gpe-edit | [] [] | + gpe-filemanager | [] [] [] | + gpe-go | [] [] [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] [] | + gpe-package | [] [] [] | + gpe-sketchbook | [] [] [] [] | + gpe-su | [] [] [] [] | + gpe-taskmanager | [] [] [] [] | + gpe-timesheet | [] [] [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] [] | + gphoto2 | [] [] () [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] [] | + grep | [] | + grub | [] [] | + gsasl | [] | + gss | | + gst-plugins-bad | [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] () [] | + gtkam | [] [] () [] [] | + gtkorphan | [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] | + gutenprint | [] [] [] | + hello | [] [] [] [] | + help2man | [] | + hylafax | [] [] | + idutils | [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | [] () [] [] | + iso_3166 | [] [] [] [] () [] [] [] () | + iso_3166_2 | () | + iso_4217 | [] [] [] () [] [] | + iso_639 | [] [] [] [] () [] [] | + iso_639_3 | [] | + jwhois | [] | + kbd | [] [] [] [] [] | + keytouch | [] [] | + keytouch-editor | [] [] | + keytouch-keyboa... | [] | + klavaro | [] [] [] [] | + latrine | [] () | + ld | [] [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] [] () | + libextractor | | + libgnutls | [] | + libgpewidget | [] [] | + libgpg-error | [] [] | + libgphoto2 | [] () | + libgphoto2_port | [] () [] | + libgsasl | | + libiconv | [] [] [] [] [] | + libidn | [] [] [] | + lifelines | [] () | + liferea | [] [] [] [] [] | + lilypond | [] [] [] | + linkdr | [] [] [] | + lordsawar | [] | + lprng | | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailfromd | | + mailutils | [] | + make | [] [] [] | + man-db | | + man-db-manpages | | + minicom | [] [] [] [] | + mkisofs | | + myserver | | + nano | [] [] [] | + opcodes | [] [] | + parted | [] [] | + pies | | + popt | [] [] [] [] [] | + psmisc | [] [] [] | + pspp | [] | + pwdutils | [] | + radius | [] | + recode | [] [] [] [] [] [] | + rosegarden | () () () | + rpm | [] [] [] | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] [] [] [] | + sed | [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | | + skencil | [] () [] | + solfege | [] [] [] | + solfege-manual | [] [] | + soundtracker | [] [] [] | + sp | [] | + sysstat | [] [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] | + tin | [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] [] [] [] | + vice | () () | + vmm | [] | + vorbis-tools | [] [] | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] [] | + wyslij-po | | + xchat | [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] | + +-------------------------------------------------+ + crh cs da de el en en_GB en_ZA eo es et eu fa + 5 64 105 117 18 1 8 0 28 89 18 19 0 + + fi fr ga gl gu he hi hr hu hy id is it ja ka kn + +----------------------------------------------------+ + a2ps | [] [] [] [] | + aegis | [] [] | + ant-phone | [] [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] [] | + bibshelf | [] [] [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] | + bison-runtime | [] [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] | + bombono-dvd | [] | + buzztard | [] | + cflow | [] [] [] | + clisp | [] | + coreutils | [] [] [] [] [] | + cpio | [] [] [] [] | + cppi | [] [] | + cpplib | [] [] [] | + cryptsetup | [] [] [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] [] [] [] [] [] | + dink | [] | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] [] | + flex | [] [] [] | + freedink | [] [] [] | + gas | [] [] | + gawk | [] [] [] [] () [] | + gcal | [] | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] [] | + gip | [] [] [] [] [] [] | + gjay | [] | + gliv | [] () | + glunarclock | [] [] [] [] | + gnubiff | () [] () | + gnucash | () () () () () [] | + gnuedu | [] [] | + gnulib | [] [] [] [] [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gold | [] [] | + gpe-aerial | [] [] [] | + gpe-beam | [] [] [] [] | + gpe-bluetooth | [] [] [] [] | + gpe-calendar | [] [] | + gpe-clock | [] [] [] [] [] | + gpe-conf | [] [] [] [] | + gpe-contacts | [] [] [] [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] [] [] | + gpe-go | [] [] [] [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] [] [] [] | + gpe-package | [] [] [] | + gpe-sketchbook | [] [] [] [] | + gpe-su | [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] | + gpe-todo | [] [] [] | + gphoto2 | [] [] [] [] [] [] | + gprof | [] [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] [] | + grep | [] [] | + grub | [] [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] | + gtkorphan | [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] | + gutenprint | [] [] [] [] | + hello | [] [] [] | + help2man | [] [] | + hylafax | [] | + idutils | [] [] [] [] [] [] | + indent | [] [] [] [] [] [] [] [] | + iso_15924 | [] () [] [] | + iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | () [] [] [] | + iso_4217 | [] () [] [] [] [] | + iso_639 | [] () [] [] [] [] [] [] [] | + iso_639_3 | () [] [] | + jwhois | [] [] [] [] [] | + kbd | [] [] | + keytouch | [] [] [] [] [] [] | + keytouch-editor | [] [] [] [] [] | + keytouch-keyboa... | [] [] [] [] [] | + klavaro | [] [] | + latrine | [] [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] () | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | | + libgnutls | [] [] | + libgpewidget | [] [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] [] [] | + libgphoto2_port | [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] [] | + libidn | [] [] [] [] | + lifelines | () | + liferea | [] [] [] [] | + lilypond | [] [] | + linkdr | [] [] [] [] [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] [] | + m4 | [] [] [] [] [] [] | + mailfromd | | + mailutils | [] [] | + make | [] [] [] [] [] [] [] [] [] | + man-db | [] [] | + man-db-manpages | [] | + minicom | [] [] [] [] [] | + mkisofs | [] [] [] [] | + myserver | | + nano | [] [] [] [] [] [] | + opcodes | [] [] [] [] | + parted | [] [] [] [] | + pies | | + popt | [] [] [] [] [] [] [] [] [] | + psmisc | [] [] [] | + pspp | | + pwdutils | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + rosegarden | () () () () () | + rpm | [] [] | + rush | | + sarg | [] | + screem | [] [] | + scrollkeeper | [] [] [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] [] | + shishi | [] | + skencil | [] | + solfege | [] [] [] [] | + solfege-manual | [] [] | + soundtracker | [] [] | + sp | [] () | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] [] [] | + texinfo | [] [] [] [] | + tin | [] | + unicode-han-tra... | | + unicode-transla... | [] [] | + util-linux-ng | [] [] [] [] [] [] | + vice | () () () | + vmm | [] | + vorbis-tools | [] | + wastesedge | () () | + wdiff | [] | + wget | [] [] [] [] [] [] [] [] | + wyslij-po | [] [] [] | + xchat | [] [] [] [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] | + +----------------------------------------------------+ + fi fr ga gl gu he hi hr hu hy id is it ja ka kn + 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4 + + ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne + +-----------------------------------------------+ + a2ps | [] | + aegis | | + ant-phone | | + anubis | [] [] | + aspell | [] | + bash | | + bfd | | + bibshelf | [] [] | + binutils | | + bison | [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] | + bombono-dvd | | + buzztard | | + cflow | | + clisp | | + coreutils | [] | + cpio | | + cppi | | + cpplib | | + cryptsetup | | + dfarc | [] | + dialog | [] [] [] [] [] | + dico | | + diffutils | [] [] | + dink | | + doodle | | + e2fsprogs | | + enscript | | + exif | [] | + fetchmail | | + findutils | | + flex | | + freedink | [] | + gas | | + gawk | | + gcal | | + gcc | | + gettext-examples | [] [] [] [] | + gettext-runtime | [] | + gettext-tools | [] | + gip | [] [] | + gjay | | + gliv | | + glunarclock | [] | + gnubiff | | + gnucash | () () () () | + gnuedu | | + gnulib | | + gnunet | | + gnunet-gtk | | + gnutls | [] | + gold | | + gpe-aerial | [] | + gpe-beam | [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] [] | + gpe-conf | [] [] | + gpe-contacts | [] [] | + gpe-edit | [] | + gpe-filemanager | [] [] | + gpe-go | [] [] [] | + gpe-login | [] | + gpe-ownerinfo | [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] | + gpe-timesheet | [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] | + gphoto2 | | + gprof | [] | + gpsdrive | | + gramadoir | | + grep | | + grub | | + gsasl | | + gss | | + gst-plugins-bad | [] [] [] [] | + gst-plugins-base | [] [] | + gst-plugins-good | [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | | + gtick | | + gtkam | [] | + gtkorphan | [] [] | + gtkspell | [] [] [] [] [] [] [] | + gutenprint | | + hello | [] [] [] | + help2man | | + hylafax | | + idutils | | + indent | | + iso_15924 | [] [] | + iso_3166 | [] [] () [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] [] | + iso_639 | [] [] | + iso_639_3 | [] | + jwhois | [] | + kbd | | + keytouch | [] | + keytouch-editor | [] | + keytouch-keyboa... | [] | + klavaro | [] | + latrine | [] | + ld | | + leafpad | [] [] [] | + libc | [] | + libexif | | + libextractor | | + libgnutls | [] | + libgpewidget | [] [] | + libgpg-error | | + libgphoto2 | | + libgphoto2_port | | + libgsasl | | + libiconv | | + libidn | | + lifelines | | + liferea | | + lilypond | | + linkdr | | + lordsawar | | + lprng | | + lynx | | + m4 | | + mailfromd | | + mailutils | | + make | [] | + man-db | | + man-db-manpages | | + minicom | [] | + mkisofs | | + myserver | | + nano | [] [] | + opcodes | | + parted | | + pies | | + popt | [] [] [] | + psmisc | | + pspp | | + pwdutils | | + radius | | + recode | | + rosegarden | | + rpm | | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] | + sed | | + sharutils | | + shishi | | + skencil | | + solfege | [] | + solfege-manual | | + soundtracker | | + sp | | + sysstat | [] | + tar | [] | + texinfo | [] | + tin | | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | | + vice | | + vmm | | + vorbis-tools | | + wastesedge | | + wdiff | | + wget | [] | + wyslij-po | | + xchat | [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +-----------------------------------------------+ + ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne + 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1 + + nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + +---------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] [] | + aegis | [] [] [] | + ant-phone | [] [] | + anubis | [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] | + bfd | [] | + bibshelf | [] [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] | + bombono-dvd | [] () | + buzztard | [] [] | + cflow | [] | + clisp | [] [] | + coreutils | [] [] [] [] [] [] | + cpio | [] [] [] | + cppi | [] | + cpplib | [] | + cryptsetup | [] | + dfarc | [] | + dialog | [] [] [] [] | + dico | [] | + diffutils | [] [] [] [] [] [] | + dink | () | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] [] | + exif | [] [] [] () [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] [] | + freedink | [] [] | + gas | | + gawk | [] [] [] [] | + gcal | | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] | + gip | [] [] [] [] [] | + gjay | | + gliv | [] [] [] [] [] [] | + glunarclock | [] [] [] [] [] | + gnubiff | [] () | + gnucash | [] () () () | + gnuedu | [] | + gnulib | [] [] [] [] | + gnunet | | + gnunet-gtk | | + gnutls | [] [] | + gold | | + gpe-aerial | [] [] [] [] [] [] [] | + gpe-beam | [] [] [] [] [] [] [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] [] [] [] | + gpe-clock | [] [] [] [] [] [] [] [] | + gpe-conf | [] [] [] [] [] [] [] | + gpe-contacts | [] [] [] [] [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] [] | + gpe-go | [] [] [] [] [] [] [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] [] [] [] [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] [] [] [] [] [] | + gpe-su | [] [] [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] [] | + gpe-todo | [] [] [] [] [] | + gphoto2 | [] [] [] [] [] [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] | + gramadoir | [] [] | + grep | [] [] [] [] | + grub | [] [] [] | + gsasl | [] [] [] [] | + gss | [] [] [] | + gst-plugins-bad | [] [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] | + gtkam | [] [] [] [] [] [] | + gtkorphan | [] | + gtkspell | [] [] [] [] [] [] [] [] [] [] | + gutenprint | [] [] | + hello | [] [] [] [] | + help2man | [] [] | + hylafax | [] | + idutils | [] [] [] [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | [] [] [] [] | + iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | + iso_3166_2 | [] [] [] | + iso_4217 | [] [] [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + jwhois | [] [] [] [] | + kbd | [] [] [] | + keytouch | [] [] [] | + keytouch-editor | [] [] [] | + keytouch-keyboa... | [] [] [] | + klavaro | [] [] | + latrine | [] [] | + ld | | + leafpad | [] [] [] [] [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] [] () [] | + libextractor | | + libgnutls | [] [] | + libgpewidget | [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | [] [] | + lifelines | [] [] | + liferea | [] [] [] [] [] () () [] | + lilypond | [] | + linkdr | [] [] [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | [] | + mailutils | [] | + make | [] [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] [] | + minicom | [] [] [] [] | + mkisofs | [] [] [] | + myserver | | + nano | [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] [] | + pies | [] | + popt | [] [] [] [] | + psmisc | [] [] [] | + pspp | [] [] | + pwdutils | [] | + radius | [] [] [] | + recode | [] [] [] [] [] [] [] [] | + rosegarden | () () | + rpm | [] [] [] | + rush | [] [] | + sarg | | + screem | | + scrollkeeper | [] [] [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] | + skencil | [] [] | + solfege | [] [] [] [] | + solfege-manual | [] [] [] | + soundtracker | [] | + sp | | + sysstat | [] [] [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] [] | + tin | [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] [] [] [] [] | + vice | [] | + vmm | [] | + vorbis-tools | [] [] | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] [] [] [] [] [] | + wyslij-po | [] [] [] | + xchat | [] [] [] [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +---------------------------------------------------+ + nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37 + + sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW + +---------------------------------------------------+ + a2ps | [] [] [] [] [] | 27 + aegis | [] | 9 + ant-phone | [] [] [] [] | 9 + anubis | [] [] [] [] | 15 + aspell | [] [] [] | 20 + bash | [] [] [] | 12 + bfd | [] | 6 + bibshelf | [] [] [] | 16 + binutils | [] [] | 8 + bison | [] [] | 12 + bison-runtime | [] [] [] [] [] [] | 29 + bluez-pin | [] [] [] [] [] [] [] [] | 37 + bombono-dvd | [] | 4 + buzztard | [] | 7 + cflow | [] [] [] | 9 + clisp | | 10 + coreutils | [] [] [] [] | 22 + cpio | [] [] [] [] [] [] | 13 + cppi | [] [] | 5 + cpplib | [] [] [] [] [] [] | 14 + cryptsetup | [] [] | 7 + dfarc | [] | 9 + dialog | [] [] [] [] [] [] [] | 30 + dico | [] | 2 + diffutils | [] [] [] [] [] [] | 30 + dink | | 4 + doodle | [] [] | 7 + e2fsprogs | [] [] [] | 11 + enscript | [] [] [] [] | 17 + exif | [] [] [] | 16 + fetchmail | [] [] [] | 17 + findutils | [] [] [] [] [] | 20 + flex | [] [] [] [] | 15 + freedink | [] | 10 + gas | [] | 4 + gawk | [] [] [] [] | 18 + gcal | [] [] | 5 + gcc | [] [] [] | 7 + gettext-examples | [] [] [] [] [] [] [] | 34 + gettext-runtime | [] [] [] [] [] [] [] | 29 + gettext-tools | [] [] [] [] [] [] | 22 + gip | [] [] [] [] | 22 + gjay | [] | 3 + gliv | [] [] [] | 14 + glunarclock | [] [] [] [] [] | 19 + gnubiff | [] [] | 4 + gnucash | () [] () [] () | 10 + gnuedu | [] [] | 7 + gnulib | [] [] [] [] | 16 + gnunet | [] | 1 + gnunet-gtk | [] [] [] | 5 + gnutls | [] [] [] | 10 + gold | [] | 4 + gpe-aerial | [] [] [] | 18 + gpe-beam | [] [] [] | 19 + gpe-bluetooth | [] [] [] | 13 + gpe-calendar | [] [] [] [] | 12 + gpe-clock | [] [] [] [] [] | 28 + gpe-conf | [] [] [] [] | 20 + gpe-contacts | [] [] [] | 17 + gpe-edit | [] [] [] | 12 + gpe-filemanager | [] [] [] [] | 16 + gpe-go | [] [] [] [] [] | 25 + gpe-login | [] [] [] | 11 + gpe-ownerinfo | [] [] [] [] [] | 25 + gpe-package | [] [] [] | 13 + gpe-sketchbook | [] [] [] | 20 + gpe-su | [] [] [] [] [] | 30 + gpe-taskmanager | [] [] [] [] [] | 29 + gpe-timesheet | [] [] [] [] [] | 25 + gpe-today | [] [] [] [] [] [] | 30 + gpe-todo | [] [] [] [] | 17 + gphoto2 | [] [] [] [] [] | 24 + gprof | [] [] [] | 15 + gpsdrive | [] [] [] | 11 + gramadoir | [] [] [] | 11 + grep | [] [] [] | 10 + grub | [] [] [] | 14 + gsasl | [] [] [] [] | 14 + gss | [] [] [] | 11 + gst-plugins-bad | [] [] [] [] | 26 + gst-plugins-base | [] [] [] [] [] | 24 + gst-plugins-good | [] [] [] [] | 24 + gst-plugins-ugly | [] [] [] [] [] | 29 + gstreamer | [] [] [] [] | 22 + gtick | [] [] [] | 13 + gtkam | [] [] [] | 20 + gtkorphan | [] [] [] | 14 + gtkspell | [] [] [] [] [] [] [] [] [] | 45 + gutenprint | [] | 10 + hello | [] [] [] [] [] [] | 21 + help2man | [] [] | 7 + hylafax | [] | 5 + idutils | [] [] [] [] | 17 + indent | [] [] [] [] [] [] | 30 + iso_15924 | () [] () [] [] | 16 + iso_3166 | [] [] () [] [] () [] [] [] () | 53 + iso_3166_2 | () [] () [] | 9 + iso_4217 | [] () [] [] () [] [] | 26 + iso_639 | [] [] [] () [] () [] [] [] [] | 38 + iso_639_3 | [] () | 8 + jwhois | [] [] [] [] [] | 16 + kbd | [] [] [] [] [] | 15 + keytouch | [] [] [] | 16 + keytouch-editor | [] [] [] | 14 + keytouch-keyboa... | [] [] [] | 14 + klavaro | [] | 11 + latrine | [] [] [] | 10 + ld | [] [] [] [] | 11 + leafpad | [] [] [] [] [] [] | 33 + libc | [] [] [] [] [] | 21 + libexif | [] () | 7 + libextractor | [] | 1 + libgnutls | [] [] [] | 9 + libgpewidget | [] [] [] | 14 + libgpg-error | [] [] [] | 9 + libgphoto2 | [] [] | 8 + libgphoto2_port | [] [] [] [] | 14 + libgsasl | [] [] [] | 13 + libiconv | [] [] [] [] | 21 + libidn | () [] [] | 11 + lifelines | [] | 4 + liferea | [] [] [] | 21 + lilypond | [] | 7 + linkdr | [] [] [] [] [] | 17 + lordsawar | | 1 + lprng | [] | 3 + lynx | [] [] [] [] | 17 + m4 | [] [] [] [] | 19 + mailfromd | [] [] | 3 + mailutils | [] | 5 + make | [] [] [] [] | 21 + man-db | [] [] [] | 8 + man-db-manpages | | 4 + minicom | [] [] | 16 + mkisofs | [] [] | 9 + myserver | | 0 + nano | [] [] [] [] | 21 + opcodes | [] [] [] | 11 + parted | [] [] [] [] [] | 15 + pies | [] [] | 3 + popt | [] [] [] [] [] [] | 27 + psmisc | [] [] | 11 + pspp | | 4 + pwdutils | [] [] | 6 + radius | [] [] | 9 + recode | [] [] [] [] | 28 + rosegarden | () | 0 + rpm | [] [] [] | 11 + rush | [] [] | 4 + sarg | | 1 + screem | [] | 3 + scrollkeeper | [] [] [] [] [] | 27 + sed | [] [] [] [] [] | 30 + sharutils | [] [] [] [] [] | 22 + shishi | [] | 3 + skencil | [] [] | 7 + solfege | [] [] [] [] | 16 + solfege-manual | [] | 8 + soundtracker | [] [] [] | 9 + sp | [] | 3 + sysstat | [] [] | 15 + tar | [] [] [] [] [] [] | 23 + texinfo | [] [] [] [] [] | 17 + tin | | 4 + unicode-han-tra... | | 0 + unicode-transla... | | 2 + util-linux-ng | [] [] [] [] | 20 + vice | () () | 1 + vmm | [] | 4 + vorbis-tools | [] | 6 + wastesedge | | 2 + wdiff | [] [] | 7 + wget | [] [] [] [] [] | 26 + wyslij-po | [] [] | 8 + xchat | [] [] [] [] [] [] | 36 + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63 + xkeyboard-config | [] [] [] | 22 + +---------------------------------------------------+ + 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW + 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and +distributed as such by its maintainer. There might be an observable +lag between the mere existence a PO file and its wide availability in a +distribution. + + If June 2010 seems to be old, you may fetch a more recent copy of +this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date +matrix with full percentage details can be found at +`http://translationproject.org/extra/matrix.html'. + +1.5 Using `gettext' in new packages +=================================== + +If you are writing a freely available program and want to +internationalize it you are welcome to use GNU `gettext' in your +package. Of course you have to respect the GNU Library General Public +License which covers the use of the GNU `gettext' library. This means +in particular that even non-free programs can use `libintl' as a shared +library, whereas only free software can use `libintl' as a static +library or use modified versions of `libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of `gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +`coordinator@translationproject.org' to make the `.pot' files available +to the translation teams. + diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 0000000..288768d --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,89 @@ +Thanks to at least the following people for sending patches, bug +reports and various comments. This list may be incomplete, I received +a lot of mail... + +# Maintainers +* Tomasz Kłoczko (2000-2007) +* Nicolas François (2007-2014) +* Serge E. Hallyn (2014-now) +* Christian Brauner (2019-now) +* Iker Pedrosa (2022-now) + +# Authors and contributors +* Adam Rudnicki +* Alan Curry +* Aleksa Sarai +* Alexander O. Yuriev +* Algis Rudys +* Andreas Jaeger +* Andy Zaugg +* Aniello Del Sorbo +* Anton Gluck +* Arkadiusz Miskiewicz +* Ben Collins +* Brian R. Gaeke +* Calle Karlsson +* Chip Rosenthal +* Chris Evans +* Chris Lamb +* Cristian Gafton +* Dan Walsh +* Darcy Boese +* Dave Hagewood +* David A. Holland +* David Frey +* Ed Carp +* Ed Neville +* Eric W. Biederman" +* Floody +* Frank Denis +* George Kraft IV +* Greg Mortensen +* Guido van Rooij +* Guy Maor +* Hrvoje Dogan +* Jakub Hrozek +* Janos Farkas +* Jason Franklin +* Jay Soffian +* Jesse Thilo +* Joey Hess +* John Adelsberger +* Jonathan Hankins +* Jon Lewis +* Joshua Cowan +* Judd Bourgeois +* Juergen Heinzl +* Juha Virtanen +* Julian Pidancet +* Julianne Frances Haugh +* Leonard N. Zubkoff +* Luca Berra +* Lukáš Kuklínek +* Lutz Schwalowsky +* Marc Ewing +* Martin Bene +* Martin Mares +* Michael Meskes +* Michael Talbot-Wilson +* Michael Vetter +* Mike Frysinger +* Mike Pakovic +* Nicolas François +* Nikos Mavroyanopoulos +* Pavel Machek +* Peter Vrabec +* Phillip Street +* Rafał Maszkowski +* Rani Chouha +* Sami Kerola +* Scott Garman +* Sebastian Rick Rijkers +* Seraphim Mellos +* Shane Watts +* Steve M. Robbins +* Thorsten Kukuk +* Tim Hockin +* Timo Karjalainen +* Ulisses Alonso Camaro +* Werner Fink diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..5b1b5e2 --- /dev/null +++ b/COPYING @@ -0,0 +1,41 @@ +SPDX-License-Identifier: BSD-3-Clause + +All files under this project either + +1. fall under the BSD 3 clause license (by default). + +2. carry an SPDX header declaring what license applies. + +or + +3. list a full custom license + +This software is originally + + * Copyright (c) 1989 - 1994, Julianne Frances Haugh + + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the copyright holders or contributors may not be used to + * endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..cee7dfd --- /dev/null +++ b/ChangeLog @@ -0,0 +1,15440 @@ +2022-11-08 Serge Hallyn + + * useradd.8: fix default group ID (Tim Biermann) + * Revert drop of subid_init() (Serge Hallyn) + * Georgian translation (NorwayFun) + * useradd: Avoid taking unneeded space: do not reset non-existent data + in lastlog (David Kalnischkies) + * relax username restrictions (Alexander Kanavin) + * selinux: check MLS enabled before setting serange (genBTC) + * copy_tree: use fchmodat instead of chmod (Samanta Navarro) + * copy_tree: don't block on FIFOs (Samanta Navarro) + * add shell linter (Jan Macku) + * copy_tree: carefully treat permissions (Samanta Navarro) + * lib/commonio: make lock failures more detailed (Luca BRUNO) + * lib: use strzero and memzero where applicable (Christian Göttsche) + * Update Dutch translation (Frans Spiesschaert) + * Don't test for NULL before calling free (Alex Colomar) + * Use libc MAX() and MIN() (Alejandro Colomar) + * chage: Fix regression in print_date (Xiami) + * usermod: report error if homedir does not exist (Iker Pedrosa) + * libmisc: minimum id check for system accounts (Iker Pedrosa) + * fix usermod -rG x y wrongly adding a group (xyz) + * man: add missing space in useradd.8.xml (Iker Pedrosa) + * lastlog: check for localtime() return value (Iker Pedrosa) + * Raise limit for passwd and shadow entry length (Iker Pedrosa) + * Remove adduser-old.c (Alejandro Colomar) + * useradd: Fix buffer overflow when using a prefix (David Michael) + * Don't warn when failed to open /etc/nsswitch.conf (Serge Hallyn) + +2022-08-15 Serge Hallyn + + * Address CVE-2013-4235 (TOCTTOU when copying directories) + (Christian Göttsche) + +2022-08-15 Serge Hallyn + + * Fix uk manpages + +2022-08-08 Serge Hallyn + + * Add absolute path hint to --root (Celeste Liu) + * Various cleanups (Christian Göttsche) + * Fix Ubuntu release used in CI tests (Jeremy Whiting) + * add -F options to useradd (and tests) (Masatake YAMATO) + * useradd manpage updates (Masatake YAMATO and Alexander Zhang)) + * Check for ownerid (not just username) in subid ranges (Iker Pedrosa) + +2022-07-04 Serge Hallyn + + * Declare file local functions static (Christian Göttsche) + * Use strict prototypes (Christian Göttsche) + * Do not drop const qualifier for Basename (Christian Göttsche) + * Constify various pointers (Christian Göttsche) + * Don't return uninitialized memory (Christian Göttsche) + * Don't let compiler optimize away memory cleaning (Christian Göttsche) + * Remove many obsolete compatibility checks and defines (Alejandro Colomar) + * Modify ID range check in useradd (Iker Pedrosa) + * Use "extern "C"" to make libsubid easier to use from C++ (Alois Wohlschlager) + * French translation updates (bubu) + * Fix s/with-pam/with-libpam/ (serge) + * Spanish translation updates (Fernando) + * French translation fixes (Balint Reczey) + * Default max group name length to 32 (Jami Kettunen) + * Fix PAM service files without-selinux (Ali Riza KESKIN) + * Improve manpages (Markus Hiereth) + - groupadd, useradd, usermod + - groups and id + - pwck + * Add fedora to CI builds (Iker Pedrosa) + * Fix condition under which pw_dir check happens (Ed Neville) + * logoutd: switch to strncat (Steve Grubb) + * AUTHORS: improve markdown output (Iker Pedrosa) + * Handle ERANGE errors correctly (Niko) + * Check for fopen NULL return (juyin) + * Split get_salt() into its own fn juyin) + * Get salt before chroot to ensure /dev/urandom. (juyin) + * Chpasswd code cleanup (juyin) + * Work around git safe.directory enforcement (serge) + * Alphabetize order in usermod help (Matheus Marques) + * Erase password copy on error branches (Christian Göttsche) + * Suggest using --badname if needed (Iker Pedrosa) + * Update translation files (Iker Pedrosa) + * Correct badnames option to badname (Iker Pedrosa) + * configure: replace obsolete autoconf macros (Christian Göttsche) + * tests: replace egrep with grep -E (Sam James) + * Update Ukrainian translations (Yuri Chornoivan) + * Cleanups (Iker Pedrosa) + - Remove redeclared variable + - Remove commented out code and FIXMEs + - Add header guards + - Initialize local variables + * CI updates (Iker Pedrosa) + - Create github workflow to install dependencies + - Enable CodeQL + - Update actions version + * libmisc: use /dev/urandom as fallback if other methods fail (Xi Ruoyao) + + +2022-01-02 Serge Hallyn + + * build: include lib/shadowlog_internal.h in dist tarballs (Sam James) + +2022-01-02 Serge Hallyn + + * Handle possible TOCTTOU issues in usermod/userdel (edneville) + * (CVE-2013-4235) + * Use O_NOFOLLOW when copying file + * Kill all user tasks in userdel + * Fix useradd -D segfault (Xi Ruoyao) + * Clean up obsolete libc feature-check ifdefs (Alejandro Colomar) + * Fix -fno-common build breaks due to duplicate Prog declarations + (Adam Sampson) + * Have single date_to_str definition (Alejandro Colomar) + * Fix libsubid SONAME version (Sam James) + +2021-12-19 Serge Hallyn + + Note: From this release forward, su from this package should be + considered deprecated. Please replace any users of it with su from + util-linux. Please open an issue if there is a problem with that. + We intend to remove it in an upcoming release. + + * libsubid fixes (Xi Ruoyao, Serge Hallyn, Iker Pedrosa, Mike Gilbert, + GalaxyMaster, and Luís Ferreira) + * Rename the test program list_subid_ranges to getsubids, write + a manpage, so distros can ship it. (Iker Pedrosa) + * Add libeconf dep for new*idmap (Iker Pedrosa) + * Allow all group types with usermod -G (Iker Pedrosa) + * Avoid useradd generating empty subid range (Iker Pedrosa) + * Handle NULL pw_passwd (Jaroslav Jindrak) + * Fix default value SHA_get_salt_rounds (Mike Gilbert) + * Use https where possible in README (Paul Menzel) + * Update content and format of README (Iker Pedrosa) + * Translation updates (Balint Reczey, Frans Spiesschaert) + * Switch from xml2po to itstool in 'make dist' (Serge Hallyn) + * Fix double frees (Michael Vetter) + * Add LOG_INIT configurable to useradd (Andy Zaugg) + * Add CREATE_MAIL_SPOOL documentation (Andy Zaugg) + * Create a security.md + * Fix su never being SIGKILLd when trapping TERM (Ruihan li) + * Fix wrong SELinux labels in several possible cases (Iker Pedrosa) + * Fix missing chmod in chadowtb_move (GalaxyMaster) + * Handle malformed hushlogins entries (Tobias Stoeckmann) + * Fix groupdel segv when passwd does not exist (François Rigault) + * Fix covscan-found newgrp segfault (Iker Pedrosa) + * Remove trailing slash on hoedir (Ed Neville) + * Fix passwd -l message - it does not change expirey (Ed Neville) + * Fix SIGCHLD handling bugs in su and vipw (Tobias Stoeckmann) + * Remove special case for "" in usermod (Alejandro Colomar) + * Implement usermod -rG to remove a specific group + (Andy Zaugg) + * call pam_end() after fork in child path for su and login + (Björn Fischer) + * useradd: In absence of /etc/passwd, assume 0 == root + (Ludwig Nussel) + * lib: check NULL before freeing data (Iker Pedrosa) + * Fix pwck segfault (Iker Pedrosa) + +2021-07-22 Serge Hallyn + + * Updated translations (Björn Esser, Juergen Hoetzel) + * Major salt updates (Björn Esser) + * Various coverity and cleanup fixes (Iker Pedrosa) + * Consistently use 0 to disable PASS_MIN_DAYS in man (tzccinct) + * Implement NSS support for subids and a libsubid (Serge Hallyn) + * setfcap: retain setfcap when mapping uid 0 (Christian Brauner) + * login.defs: include HMAC_CRYPTO_ALGO key (Iker Pedrosa) + * selinux fixes (Christian Göttsche) + * Fix path prefix path handling (Lucas Servén Marín) + * Manpage updates (tzccinct, Sevan Janiyan, Iker Pedrosa, Geert Ijewski, + 谭九鼎, Jamin W. Collins, towerpark, andydna, Frans Spiesschaert) + * Treat an empty passwd field as invalid (Haelwenn Monnier) + * newxidmap: allow running under alternative gid (Martijn de Gouw) + * usermod: check that shell is executable (Geert Ijewski) + * Add yescript support (Rodolphe Bréard) + * useradd memleak fixes (whzhe) + * useradd: use built-in settings by default (Ludwig Nussel) + * getdefs: add foreign (non-shadow-utils) items (Karel Zak) + * buffer overflow fixes (Tobias Stoeckmann) + * Adding run-parts style for pre and post useradd/del (ed@s5h.net) + +2020-01-23 Serge Hallyn + + * selinux: inclue stdio (Michael Vetter) + * man: don't suggest making groupmems user-writeable (Michael Weiser) + * Makefile: bail out on error in for loops (Wolfgang Bumiller) + * Adding logging of SSH_ORIGINAL_COMMAND to nologin. (ed@s5h.net) + * add new HOME_MODE login.defs option (Duncan Overbruck) + * Add tty logging to useradd (ed@s5h.net) + * Useradd: make non-executable shell check only a warning (Tomas Mraz) + * Update Dutch translation (Frans-Spiesschaert) + * user_busy: Do not mistake a regular user process for a namespaced one (Tomas Mraz) + * Revert "Honor --sbindir and --bindir for binary installation" Patrick McLean) + +2019-12-20 Dave Reisner + + * Do not auto-enable acct_tools_setuid just because + pam is enabled. NOTE - any distros which are relying + on this behavior will need to switch to configure + --enable-account-tools-setuid + +2019-12-01 Serge Hallyn + + * Release 4.8 + * Initial optional bcrypt support. + * Make build/install of 'su' optional. + * Fix for vipw not resuming correctly when suspended + * Sync password field descriptions in manpages + * Check for valid shell argument in useradd + * Allow translation of new strings through POTFILES.in + * Migrate to itstool for translations + * Migrate to new SELinux api + * Support --enable-vendordir + * pwck: Only check homedir if set and not a system user + * Support nonstandard usernames + * sget{pw,gr}ent: check for data at EOL + * Add YYY-MM-DD support in chage + * Fix failing chmod calls for suidubins + * Fix --sbindir and --bindir for binary installations + * Fix LASTLOG_UID_MAX in login.defs + * Fix configure error with dash + +2019-06-13 Serge Hallyn + + * Release 4.7 + * Spawn: don't loop forever on ECHILD + * Do not fail locking if there is a stale lockfile Tomas Mraz) + * Use lckpwdf if prefix not set (Tomas Mraz) + * Build: check correct DocBook version (Jan Tojnar) + * Usermod: Print 'no changes' to stdout, not stderr (Serge Hallyn) + * Add support for btrfs subvolumes for home (Adam Majer) + * Fix chpasswd long line handling (Nathan Ruiz) + * Use secure_getenv for gettime (Chris Lamb) + * Make sp_lstchg reproducible (Chris Lamb) + * Do not crash commonio_close if db file is not open (Tomas Mraz) + * Don't flush nscd and sssd cache in read-only mode (Charlie Vuillemez) + * French manpage update (Alban VIDAL) + * Fix manpage defaults for SUB_UID/GID_COUNT (Tomas Mraz) + * Sync po files from shadow.pot (Alban VIDAL) + * Usermod: guard against unsafe chown of homedir contents (Tomas Mraz) + * Add LASTLOG_UID_MAX to login.defs (Tomas Mraz) + * new[ug]idmap file capabilities support (Giuseppe Scrivano and Christian Brauner) + * Fix segfault in useradd (Tomas Mraz) + * Coverity issues (Tomas Mraz) + * Flush sssd caches (Jakub Hrozek) + * Log UID in nologin (Vladimir Ivanov) + * run pam_getenvlist after setup_env in su.c (Michael Vogt) + * Support systems with only utmpx (A. Wilcox) + * Fix unguarded ENABLE_SUBIDS code (Jan Chren (rindeal)) + * Update po/zh_CN translation (Lion Yang) + * Create parent dirs for useradd -m (Michael Vetter) + * Prevent usermod segv + * Fix usermod crash (fariouche) + +2018-04-29 Serge Hallyn + + * Release 4.6 + * Newgrp: avoid unnecessary lookups + * Make language less binary + * Add error when turning off man switch + * Spelling fixes + * Make userdel work with -R + * newgidmap: enforce setgroups=deny if self-mapping a group + * Norwegian bokmål translation + * pwck: prevent crash by not passing O_CREAT + * WITH_TCB fixes from Mandriva + * Fix pwconv and grpconv entry skips + * Fix -- slurping in su + * add --prefix option + +2017-07-16 Serge Hallyn + + * Import new Dutch translations. + +2017-07-10 Serge Hallyn + + * Expand error codes for groupmod. + +2017-05-17 Serge Hallyn + + * Release 4.5 + +2017-05-17 Serge Hallyn + + * Patch from Tobias Stoeckmann fixing regression in previous CVE fix + preventing SIGTERM to su from being propagated to the job. + * Patch from Chris Lamb making sp_lstchg shadow field reproducible. + * Merge Russian translation updates from Yuri Kozlov + * Fix missing close of subuid file on error + +2017-02-23 Serge Hallyn + + * Merge patch by Tobias Stoeckmann to fix + the equivalent of util-linux CVE-2017-2616. + +2017-02-08 Serge Hallyn + + * Update Kazakh translations + * Consult configuration before calculating subuids + * Remove misplaced semicolon + +2017-01-29 Serge Hallyn + + * Patch from Fedora to improve performance with SSSD, Winbind, + or nss_ldap. (Tomas Mraz) + * Make sure knowndef_table is NULL-terminated. (Bernhard Rosenkränzer) + +2016-12-21 Serge Hallyn + + * Drop leading underscore from _COMMONIO_H and _SHADOWIO_H + * Fix readability in usermod error messages. + * Reset user in tallylog + * Add audit support to su + +2016-12-02 Serge Hallyn + + * changes since 4.4 + - Use sizeof rather than hardcoding snprintf args + - Fix useradd improper default loading + - Update Vietnamese translations + - Update Polish translations + - Remove non-POSIX chmod option in Makefile + - Fix suidubins assignments + - Fix --add-subuids etc spelling in manpages + - Audit homedir ownership change. + - Print error on selinux file context update failure + - Keep original file perms when creating a backup + + * (henceforth we'll update Changelog with each commit + and proper credit) + +2016-12-02 Serge Hallyn + + * Changes since 4.2.1: + - Documentation, error report and translations updates + - Replace path_max with 32 + - User namespace support fixes/updates including: + - Correct sanity checks in newXidmap + - Fix building without subuid support + - Add /etc/subuid support for UID matching + - Support subuid for nonlocal users + - Default to 65536 subuid allocations + - Respect -r + - Check for range overflows + - Add tests from svn tree + - Use AC_CHECK_SIZEOF for uid_t size checks + - Accomodate missing /etc and login.defs + - Support FORCE_SHADOW + - Be more robust in hostile environment + - Allow removing a primary group + - Clear passwords on __pw_dup errors + - Memory leak fix in commonio_update and get_map_ranges + - Fix resource leak in syslog_sg + - Fix user busy error at userdel + - Support set/clear lastlog record via lastlog command + - Add --no-create-home as longopt for -M + - Fix signal races + - Reduce syslog priority of common usage events + +2013-08-25 Nicolas François + + * src/vipw.c: After waitpid(), use errno only if waitpid returned + -1. Debian#688260 + * src/vipw.c: Likewise for system(). + +2013-08-23 victory + + * po/ja.po: Updated to 558t + +2013-08-22 Nicolas François + + * man/po/shadow-man-pages.pot: Regenerated. + * man/po/*.po: Updated PO files. + +2013-08-22 Nicolas François + + * man/newgrp.1.xml: Fix encoding. + * man/sg.1.xml: Likewise. + +2013-08-22 Nicolas François + + * man/po/da.po: Unfuzzy according to previous change. + * man/po/de.po: Likewise. + * man/po/fr.po: Likewise. + * man/po/it.po: Likewise. + * man/po/pl.po: Likewise. + * man/po/ru.po: Likewise. + * man/po/sv.po: Likewise. + * man/po/zh_CN.po: Likewise. + +2013-08-22 Nicolas François + + * man/chage.1.xml: Add a non breaking space between options and + their parameter because xml2po removes those spaces. Alioth#314401 + * man/chfn.1.xml: Likewise. + * man/chgpasswd.8.xml: Likewise. + * man/chpasswd.8.xml: Likewise. + * man/chsh.1.xml: Likewise. + * man/faillog.8.xml: Likewise. + * man/gpasswd.1.xml: Likewise. + * man/groupadd.8.xml: Likewise. + * man/groupdel.8.xml: Likewise. + * man/groupmems.8.xml: Likewise. + * man/groupmod.8.xml: Likewise. + * man/grpck.8.xml: Likewise. + * man/lastlog.8.xml: Likewise. + * man/newusers.8.xml: Likewise. + * man/passwd.1.xml: Likewise. + * man/pwck.8.xml: Likewise. + * man/pwconv.8.xml: Likewise. + * man/su.1.xml: Likewise. + * man/useradd.8.xml: Likewise. + * man/userdel.8.xml: Likewise. + * man/usermod.8.xml: Likewise. + * man/vipw.8.xml: Likewise. + +2013-08-22 Nicolas François + + * man/po/shadow-man-pages.pot: Regenerated. + * man/po/*.po: Updated PO files. + +2013-08-22 Nicolas François + + * man/po/de.po: Fix encoding. + +2013-08-19 Nicolas François + + * lib/subordinateio.c (subordinate_next): Fix return value. + +2013-08-16 Nicolas François + + * libmisc/idmapping.c: Include needed for fprintf() and + stderr. + +2013-08-15 Nicolas François + + * man/login.defs.d/SUB_GID_COUNT.xml: Document newusers behavior + when the user already have subordinate group IDs. + * man/login.defs.d/SUB_UID_COUNT.xml: Likewise. + * man/login.defs.d/SUB_GID_COUNT.xml: Fix typo (MAX<->MIN). + * man/login.defs.d/SUB_UID_COUNT.xml: Likewise. + +2013-08-15 Nicolas François + + * src/usermod.c: Check early if /etc/subuid (/etc/subgid) exists + when option -v/-V (-w/-W) are provided. + +2013-08-15 Nicolas François + + * src/usermod.c: Fix parse of ranges. The hyphen might be followed + by a negative integer. + +2013-08-15 Nicolas François + + * lib/subordinateio.c (find_free_range): max is allowed for new + ranges. + +2013-08-15 Nicolas François + + * libmisc/find_new_sub_gids.c: Remove dead code. + find_new_sub_gids() is always called with *range_count set to 0. + It's more difficult to keep the subordinate GIDs and UIDs + synchronized, than for the user's UID/GId because the count of + subordinate IDs may differ. + * libmisc/find_new_sub_uids.c: Likewise. + * lib/subordinateio.h, lib/subordinateio.c: Remove APIs that are + no more needed: is_sub_uid_range_free(), is_sub_gid_range_free(), + is_range_free(). + +2013-08-13 Nicolas François + + * configure.in: Check if sizeof uid_t and gid_t is larger than 32 + bit to support subordinate IDs. + +2013-08-13 Nicolas François + + * lib/subordinateio.c: Avoid dead branches. + * lib/subordinateio.c: Add schematics with ranges to help reviews. + * lib/subordinateio.c: Avoid implicit conversion of pointers and + integers to booleans. + * lib/subordinateio.c: Added brackets. + +2013-08-13 Nicolas François + + * src/vipw.c: Fail in case arguments are provided after options. + Debian#677812 + +2013-08-13 Nicolas François + + * lib/subordinateio.c: Fix count for ranges truncated in + remove_range(). + +2013-08-13 Nicolas François + + * src/su.c: Terminate the child (if needed) before closing the PAM + session. This is probably more correct, and avoid reporting + termination from signals possibly sent by PAM modules (e.g. former + versions of pam_systemd). Debian#670132 + +2013-08-13 Nicolas François + + * src/su.c: When a SIGTSTP is caught, reset caught to 0. There is + no need to kill the child in such case after su is resumed. This + remove the "Session terminated, terminating shell... + ...terminated." messages in such case. + +2013-08-13 Nicolas François + + * man/newgidmap.1.xml: Document the checks performed before + setting the mapping in /proc. + * man/newuidmap.1.xml: Likewise. + +2013-08-13 Nicolas François + + * libmisc/idmapping.h: Document what the upper and lower fields + are in struct map_range. + * man/newgidmap.1.xml: Document when the gid, gidlower and count + argument are. + * man/newuidmap.1.xml: Likewise for uid, uidlower and count. + +2013-08-13 Nicolas François + + * libmisc/salt.c (shadow_random): Use long instead of size_t. + Compatibility with size_t is easier to check since it's used for + smaller numbers (salt size). + +2013-08-13 Nicolas François + + * lib/groupmem.c: Add splint annotations. The added memset makes + splint think data was allocated. + * lib/pwmem.c: Likewise. + * lib/sgroupio.c: Likewise. + * lib/shadowmem.c: Likewise. + +2013-08-13 Nicolas François + + * man/login.defs.d/SUB_GID_COUNT.xml: Document that the behavior + of useradd and newusers depends on the existence of /etc/subgid. + * man/login.defs.d/SUB_UID_COUNT.xml: Likewise for /etc/subuid. + +2013-08-13 Nicolas François + + * src/useradd.c: Change message in case of find_new_sub_uids / + find_new_sub_gids failure. This complements the messages already + provided by these APIs. + +2013-08-13 Nicolas François + + * lib/subordinateio.c: Fix handling of boundaries. + * libmisc/find_new_sub_uids.c: Likewise. + * libmisc/find_new_sub_gids.c: Likewise. + +2013-08-12 Nicolas François + + * lib/subordinateio.c: Fix removal of ranges. The database needs + to be marked as changed or commonio_close will discard any change. + +2013-08-11 Nicolas François + + * man/newusers.8.xml: Include documentation of SUB_GID_MIN, + SUB_GID_MAX, SUB_GID_COUNT, SUB_UID_MIN, SUB_UID_MAX, + SUB_UID_COUNT. + * man/useradd.8.xml: Likewise. + * man/usermod.8.xml: Likewise. + * man/newusers.8.xml: Document usage of /etc/subgid /etc/subuid. + * man/useradd.8.xml: Likewise. + * man/userdel.8.xml: Likewise. + * man/usermod.8.xml: Likewise. + * man/newusers.8.xml: Add references to subgid(5) and subuid(5). + * man/useradd.8.xml: Likewise. + * man/userdel.8.xml: Likewise. + * man/subgid.5.xml: Sort references alphabetically. + * man/subuid.5.xml: Likewise. + * man/subgid.5.xml: Add references to newusers(8), useradd(8), + userdel(8), usermod(8), user_namespaces(7). + * man/subuid.5.xml: Likewise. + +2013-08-11 Nicolas François + + * man/newgidmap.1.xml: Sort references alphabetically. + * man/newuidmap.1.xml: Likewise. + +2013-08-11 Nicolas François + + * configure.in: Add configure options --enable-subordinate-ids / + --disable-subordinate-ids. Enabled by default. + * lib/prototypes.h: Include before using its macros. + * lib/commonio.h, lib/commonio.c: Define commonio_append only when + ENABLE_SUBIDS is defined. + * lib/prototypes.h, libmisc/find_new_sub_gids.c, + libmisc/find_new_sub_uids.c: Likewise. + * lib/subordinateio.h, lib/subordinateio.c: Likewise. + * libmisc/user_busy.c: Only check if subordinate IDs are in use if + ENABLE_SUBIDS is defined. + * src/Makefile.am: Create newgidmap and newuidmap only if + ENABLE_SUBIDS is defined. + * src/newusers.c: Check for ENABLE_SUBIDS to enable support for + subordinate IDs. + * src/useradd.c: Likewise. + * src/userdel.c: Likewise. + * src/usermod.c: Likewise. + * man/Makefile.am: Install man1/newgidmap.1, man1/newuidmap.1, + man5/subgid.5, and man5/subuid.5 only if ENABLE_SUBIDS is defined. + * man/fr/Makefile.am: Install man1/newgidmap.1, man1/newuidmap.1, + man5/subgid.5, and man5/subuid.5 (not translated yet). + * man/generate_mans.mak: Add xsltproc conditionals + subids/no_subids. + * man/login.defs.d/SUB_GID_COUNT.xml: Add dependency on subids + condition. + * man/login.defs.d/SUB_UID_COUNT.xml: Likewise. + * man/usermod.8.xml: Document options for subordinate IDs and + reference subgid(5) / subuid(5) depending on the subids condition. + +2013-08-09 Nicolas François + + * libmisc/salt.c: Remove unused variable. + +2013-08-07 Nicolas François + + * libmisc/utmp.c: Add include files needed for getaddrinfo(). + See Alioth#314271 + +2013-08-07 Mike Frysinger + + * configure.in: Check at configure time whether libc supports + ruserok (support dropped by newer C libraries). + +2013-08-07 Nicolas François + + * man/usermod.8.xml: Fix typos and wording. + * man/usermod.8.xml: Add references to subgid(5) and subuid(5). + +2013-08-07 Nicolas François + + * libmisc/find_new_sub_gids.c: Fix wording: secondary -> + subordinate. + * libmisc/find_new_sub_uids.c: Likewise. + +2013-08-06 Nicolas François + + * libmisc/find_new_sub_gids.c: Remove duplicate check (duplicate + at least in its intent). + * libmisc/find_new_sub_uids.c: Likewise. + +2013-08-06 Nicolas François + + * src/usermod.c: Fix typos. + +2013-08-06 Nicolas François + + * man/subgid.5.xml: Reorder words. + * man/subuid.5.xml: Likewise. + +2013-08-06 Nicolas François + + * man/subgid.5.xml: Fix typos. + * man/subuid.5.xml: Likewise. + * man/subgid.5.xml: Fix copy-paste errors from subuid.5.xml. + +2013-08-06 Nicolas François + + * man/newgidmap.1.xml: Remove copy-pasted NOTE. + * man/newuidmap.1.xml: Likewise. + +2013-08-06 Nicolas François + + * lib/subordinateio.c: Remove unused variables. + +2013-08-06 Nicolas François + + * man/login.defs.d/SUB_GID_COUNT.xml: Fix typo. + * man/login.defs.d/SUB_UID_COUNT.xml: Likewise. + * man/login.defs.d/SUB_UID_COUNT.xml: Fix copy-paste issue from + SUB_GID_COUNT. + * man/newgidmap.1.xml: Fix Typo. + * src/useradd.c: Fix typos. + * lib/subordinateio.c: Fix typos. + +2013-08-06 Nicolas François + + Fix Debian bug #675824 + * lib/groupmem.c (__gr_dup): Support libc which define other + fields in struct group. + * lib/pwmem.c: Likewise for struct passwd. + * lib/shadowmem.c: Likewise for struct spwd. + * lib/sgroupio.c: Apply same logic, even if this structure is + defined internally. + +2013-08-05 Nicolas François + + * lib/groupio.c: Revert change from 2013-07-29. The length of the + concatenated 2 lines was correct. + +2013-08-05 Nicolas François + + * libmisc/salt.c: random() max value is 2^31-1 (same as RAND_MAX + on GNU). As it is not clear whether on some systems the max value + can exceed this number and whether some systems have max values + which would be lower, we take this into account when defining the + salt size and number of rounds for SHA encrypted passwords. Higher + values are favored. + +2013-08-04 Nicolas François + + * man/su.1.xml: With getopt, '-' does not need to be the last + option, but it is recommended for portability. + Closes https://bugs.launchpad.net/bugs/1100775 + +2013-08-04 Nicolas François + + * NEWS: Add NEWS entries. + +2013-08-04 Nicolas François + + * man/po/da.po: Fix translation (--home became --home-dir). + * man/po/de.po: Likewise. + * man/po/fr.po: Likewise. + * man/po/pl.po: Likewise. + * man/po/ru.po: Likewise. + * man/po/sv.po: Likewise. + +2013-08-04 Nicolas François + + * lib/groupio.c (merge_group_entries): Do not allocate more than + necessary (sizeof char* instead of char). + Thanks for Tomáš Mráz (alioth#313962) + * lib/groupio.c (merge_group_entries): Document that new_members + is correctly NULL terminated. (alioth:#313940) + +2013-08-03 Nicolas François + + * Changelog: Update documentation of 2013-07-28 mancha entry. + * lib/prototypes.h, lib/encrypt.c: Update splint marker, + pw_encrypt can return NULL. + * lib/encrypt.c: Fix outdated statement on GNU crypt. + * src/chgpasswd.c: Improve diagnostic to user when pw_encrypt + fails and use fail_exit() instead of exit(). + * src/chpasswd.c: Likewise. + * src/newusers.c: Likewise. + * src/passwd.c: Likewise when new password is encrypted. + * src/newgrp.c: Improve diagnostic to user and syslog when + pw_encrypt fails. Do not apply 1s penalty as this is not an + invalid password issue. + * src/passwd.c: Likewise when password is checked. + +2013-08-02 Nicolas François + + * libmisc/setupenv.c: xstrdup the static char* temp_pw_dir / + temp_pw_shell. That way we can continue to use pw_free() without + segving. Thanks to Serge Hallyn for the patch. + * libmisc/setupenv.c: Free pw_dir and pw_shell before reallocating + them. + +2013-08-01 Yuri Kozlov + + * po/ru.po: completed translation + Closes: Debian#718356 + +2013-07-29 Michael Scherer + + * libmisc/root_flag.c: use chdir() before calling chroot() to + avoid potential security issue (see + http://www.bpfh.net/simes/computing/chroot-break.html) + Closes: alioth#313962 + +2013-07-29 Christian Perrier + + * man/useradd.xml: use "--home-dir" instead of "--home" + Fix translations too. + Thanks to Ville Skyttä + Closes: alioth#313880 + +2013-07-29 Ville Skyttä + + * man/ja/man8/groupmod.8: Syntax fix + Closes: alioth#313785 + +2013-07-29 Brad Hubbard + + * lib/groupio.c: add newline char when two lines + are concatenated + Closes: alioth#313942 + * lib/groupio.c: fix uninitialised memory in + merge_group_entries causes segfault in useradd by changing + a call to malloc to a call to calloc + Closes: alioth:#313940 + +2013-07-28 Guido Trentalancia + + * etc/login.defs: fix typographic errors and use a better format + Closes: Debian#685415 + +2013-07-28 Simon Brandmair + + * man/po/de.po: translation completed : 1203 translated messages + Closes: Debian#679152 + +2013-07-28 mancha + + * lib/encrypt.c (pw_encrypt): crypt() in glibc/eglibc 2.17 now + fails if passed a salt that violates specs. On Linux, crypt() also + fails with DES/MD5 salts in FIPS140 mode. Rather than exit() on + NULL returns we send them back to the caller for appropriate + handling (instead of exiting). Closes: alioth#314234 + * lib/pwauth.c: Handle NULL return from pw_crypt(), return non + zero (as in case of failure). + * libmisc/valid.c: Likewise. + * src/chgpasswd.c: Handle NULL return from pw_crypt(), report + crypt error to stderr and exit. + * src/chpasswd.c: Likewise. + * src/gpasswd.c: Likewise. + * src/newusers.c: Likewise. + * src/passwd.c: Likewise when new password is encrypted. + * src/newgrp.c: Handle NULL return from pw_crypt(), report crypt + error to stderr and syslog and return to report unchanged + password. + * src/passwd.c: Likewise when password is checked. + +2013-07-28 Christian Perrier + + * configure.in: Prepare for next point release 4.2. + * if using the static char* for pw_dir, strdup it so + pw_free() can be used. (Closes: Debian#691459, alioth#313957) + * Kill the child process group, rather than just the + immediate child; this is needed now that su no + longer starts a controlling terminal when not running an + interactive shell (closes: Debian#713979) + Thansk to Colin Watson for the patch. + +2012-05-25 Nicolas François + + * NEWS: Set release date. + * man/po/shadow-man-pages.pot: Regenerated. + * man/po/*.po: Updated PO files. + +2012-05-25 Nicolas François + + * man/*.xml: Add author based on copyright statement. + * man//*.[1358], man//man[1358]/*.[1358], + man//Makefile.am: Sort manpages per section as the generated + manpages. + +2012-05-20 Nicolas François + + * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated. + * po/*.po, man/po/*.po: Updated PO files. + +2012-05-20 Nicolas François + + * man/Makefile.am, man/generate_mans.mak: Update clean targets, + due to the generation in separate sub folders. + +2012-05-20 Nicolas François + + * man/su.1.xml: Document author to avoid warnings during + generation. This needs to be rolled out to other manpages. + * man/generate_mans.mak: Do not add a AUTHOR section in the man + pages. + +2012-05-20 Nicolas François + + * src/su.c: non PAM enabled versions: do not fail if su is called + without a controlling terminal. Ignore ENXIO errors when opening + /dev/tty. + +2012-05-20 Nicolas François + + * src/useradd.c: Cleanup, return code 13 no more used. + * man/useradd.8.xml: Document return code 14, and remove return + code 13. + +2012-05-20 Nicolas François + + * NEWS, man/generate_mans.mak: Generate manpages in man1, man3, + man5, man8 subdirectories. This fix the generation of .so links + which did not point to a path relative to the top-level manual + hierarchy. + * man/generate_mans.mak: Update man paths accordingly. + * man/Makefile.am: Likewise. + * man/da/Makefile.am: Likewise. + * man/de/Makefile.am: Likewise. + * man/fr/Makefile.am: Likewise. + * man/it/Makefile.am: Likewise. + * man/pl/Makefile.am: Likewise. + * man/ru/Makefile.am: Likewise. + * man/sv/Makefile.am: Likewise. + * man/zh_CN/Makefile.am: Likewise. + +2012-05-20 Nicolas François + + * configure.in: Prepare for next point release 4.1.5.1. + +2012-05-19 Nitin A Kamble + + * configure.in: Remove deprecated AM_C_PROTOTYPES (no more + supported in automake 1.12). + +2012-05-18 Nicolas François + + * src/useradd.c: Keep the default file as much as possible to + avoid issue in case of crash. Use link instead of rename. + +2012-05-18 Peter Vrabec + + * lib/commonio.c: Fix labeling of /etc/{passwd,shadow,group,gshadow}. + It will basically label them with same context as + /etc/{passwd+,shadow+,group+,gshadow+} + +2012-05-18 Nicolas François + + * src/pwunconv.c: Do not check spw_close() return value (file is + opened readonly). + * src/grpunconv.c: Do not check sgr_close() return value (file is + opened readonly). + +2012-05-18 Nicolas François + + * NEWS, src/userdel.c: Fix segfault when userdel removes the + user's group. + +2012-05-17 Nicolas François + + * NEWS, src/login.c: Log in utmp / utmpx / wtmp also when PAM is + enabled. This is not done by pam_lastlog. This was broken on + 2011-07-23. + * NEWS, libmisc/utmp.c: Do not log in wtmp when PAM is enabled. + This is done by pam_lastlog. + +2012-05-17 Christian Perrier + + * man/po/fr.po: French translation of manpages completed + +2012-05-17 Simon Brandmair + + * man/po/de.po: German translation of manpages completed + +2012-02-12 Nicolas François + + * NEWS: New placeholder for the next release (4.1.5.1 expected) + +2012-04-15 Robert Luberda + + * man/po/pl.po: Complete translation of logoutd(8) in Polish. + +2012-02-13 Mike Frysinger + + * src/passwd.c: (non PAM flavour) Report permission denied when + access to /etc/shadow fails with EACCES. + +2012-02-13 Mike Frysinger + + * lib/nscd.c: Add missing newline to error message. + * lib/nscd.c: If nscd is installed but not in use, then running + `nscd -i` will exit(1). We shouldn't warn in this case since this + is not abnormal behavior. + +2012-02-13 Mike Frysinger + + * man/.gitignore: Add generate_mans.deps + +2012-02-13 Mike Frysinger + + * man/grpck.8.xml: Relocate space. + +2012-02-13 Mike Frysinger + + * libmisc/copydir.c: Add missing #include + +2012-02-12 Nicolas François + + * NEWS: Set release date. + +2012-02-12 Nicolas François + + * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated. + * po/*.po, man/po/*.po: Updated PO files. + +2012-02-11 Giuseppe Sacco + + * man/po/it.po: Updated after review. + +2012-02-11 Nicolas François + + * man/it/Makefile.am: Activate all manpages. + * man/po/it.po: Fix formal issues (end of lines). + +2012-02-11 Giuseppe Sacco + + * man/po/it.po: Updated to 1173t. + +2012-01-30 Nicolas François + + * man/useradd.8.xml, man/su.1.xml, man/po/da.po, man/po/ru.po, + man/po/fr.po, man/po/de.po, man/po/sv.po, man/po/pl.po, + man/po/it.po, man/po/shadow-man-pages.pot, man/po/zh_CN.po: Fix + two typos. Thanks to Giuseppe Sacco. Unfuzzy translations + * po/kk.po, po/nb.po, po/el.po, po/ca.po, po/ja.po: Re-generate. + * man/login.defs.d/ENV_PATH.xml, man/login.defs.d/ENV_SUPATH.xml: + Fix typo. + +2012-01-28 Innocent De Marchi + + * po/ca.po: Updated to 557t. + +2012-01-28 Nicolas François + + * NEWS, configure.in, man/da/Makefile.am, man/Makefile.am: Build + manpages with more than 50% translated messages. + * man/fr/Makefile.am: Add missing manpages: chgpasswd.8, + groupmems.8, nologin.8, sulogin.8. + * man/de/Makefile.am: Add missing manpages: chage.1, chgpasswd.8, + chpasswd.8, expiry.1, faillog.5, faillog.8, getspnam.3, gpasswd.1, + groupadd.8, groupdel.8, groupmems.8, groupmod.8, grpck.8, + grpconv.8, grpunconv.8, gshadow.5, lastlog.8, login.defs.5, + logoutd.8, newusers.8, nologin.8, pwck.8, pwconv.8, pwunconv.8, + sg.1, shadow.3, shadow.5, suauth.5, useradd.8, userdel.8, + usermod.8, limits.5, login.access.5, porttime.5, id.1, sulogin.8 + * man/zh_CN/Makefile.am: Add missing manpages: chgpasswd.8, + groupmems.8, nologin.8, sulogin.8 + * man/pl/Makefile.am, man/sv/Makefile.am, man/it/Makefile.am: + Translate only manpages with more than 50% translated messages. + * man/po/da.po: Do not translate names of manpages (newusers, + limits, groups) + +2012-01-28 Yuri Kozlov + + * man/po/ru.po: Updated to 1173t. + +2012-01-27 Thomas Blein + + * po/fr.po: Updated to 557t. + * man/po/fr.po: Updated to 1173t. + +2012-01-26 Joe Hansen + + * po/da.po: Updated to 557t. + * man/po/da.po: Updated to 294t879u. + +2012-01-23 Thomas Vasileiou + + * po/el.po: Updated to 553t. + +2012-01-22 Baurzhan Muftakhidinov + + * po/kk.po: Updated to 557t. + +2012-01-21 Miguel Figueiredo + + * po/pt.po: Updated to 557t. + +2012-01-19 Holger Wansing + + * po/de.po: Updated to 557t. + +2012-01-18 Bjørn Steensrud + + * po/nb.po: Updated to 557t. Thanks also to Hans Fredrik Nordhaug. + +2012-01-16 NAKANO Takeo + + * po/ja.po: Updated to 557t + +2012-01-16 Simon Brandmair + + * man/po/de.po: Updated to 1173t. + +2012-01-14 YunQiang Su + + * po/zh_CN.po: Updated to 551t2f4u + * man/po/zh_CN.po: Updated to 1026t15f132u + +2012-01-09 Yuri Kozlov + + * po/ru.po: Updated to 557t. + +2012-01-09 Nicolas François + + * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated. + * po/*.po, man/po/*.po: Updated PO files. + +2012-01-08 Nicolas François + + * lib/prototypes.h: Cleanup. + * lib/selinux.c, lib/semanage.c: prototypes.h was not included. + +2011-12-09 Peter Vrabec + + * lib/prototypes.h, lib/Makefile.am, po/POTFILES.in, + libmisc/copydir.c, lib/selinux.c: Move set_selinux_file_context() + and reset_selinux_file_context() from libmisc/copydir.c to + lib/selinux.c. + * lib/commonio.c: Use set_selinux_file_context() and + reset_selinux_file_context() instead of using the existing + database SELinux context to set the context for the newly created + files. + +2011-12-09 Nicolas François + + * src/vipw.c: Do not use a hardcoded program name in the usage + message. + +2011-12-04 Nicolas François + + * po/ca.po, po/cs.po, po/da.po, po/de.po, po/es.po, po/eu.po, + po/fr.po, po/ja.po, po/kk.po, po/pt.po, po/pt_BR.po, po/ru.po, + po/sk.po, po/sv.po, po/vi.po, po/zh_CN.po: Quick unfuzzy. + +2011-12-09 Nicolas François + + * src/newusers.c, src/chpasswd.c, src/chgpasswd.c: Harmonize + usage messages. + +2011-12-09 Nicolas François + + * lib/Makefile.am, lib/prototypes.h, lib/selinux.c, + lib/semanage.c, po/POTFILES.in: Move lib/selinux.c to + lib/semanage.c. + +2011-11-21 Nicolas François + + * src/usermod.c, man/usermod.8.xml: usermod -Z "" removes the + SELinux user mapping for the modified user. + * src/useradd.c: Zflg is #defined as user_selinux non empty. + +2011-11-21 Peter Vrabec + + * libmisc/copydir.c: Ignore errors to copy ACLs if the operation + is not supported. + +2011-11-19 Nicolas François + + * libmisc/root_flag.c, src/gpasswd.c, src/chsh.c: Add splint + annotations. + * src/pwconv.c, src/pwunconv.c, src/grpconv.c, src/grpunconv.c: + Ignore return value of spw_rewind, pw_rewind, sgr_rewind, and + gr_rewind. + * lib/commonio.h: Both head and tail cannot be owned. Set tail as + dependent. + * src/expiry.c: Ignore return value of expire (). + * src/expiry.c: The catch_signals function does not use its sig + parameter. + * src/userdel.c: Last audit_logger parameter is a + shadow_audit_result, use SHADOW_AUDIT_FAILURE instead of 0. + * lib/selinux.c: vasprintf requires _GNU_SOURCE to be defined + before including stdio.h. + * src/chage.c: Cast 3rd date_to_str parameter to a time_t + * src/passwd.c: Add missing cast. + * lib/commonio.c: Avoid multiple statements per line. + * lib/commonio.c: Ignore fclose return value when the file was + open read only or was not changed, or if an error is already + reported. + +2011-11-19 Nicolas François + + * src/faillog.c: The fail_max field is a short, use a short also + for the max argument of setmax / setmax_one. + * src/faillog.c: Fail with an error message when faillog fails to + write to the faillog database. + +2011-11-19 Nicolas François + + * man/gpasswd.1.xml: Document the difference between the -r and -R + options. + +2011-11-19 Nicolas François + + * man/useradd.8.xml, man/groupadd.8.xml, man/usermod.8.xml, + man/groupmod.8.xml: Avoid hardcoded values, and reference instead + the configuration options (e.g. UID_MIN) + * man/groupmod.8.xml, man/usermod.8.xml: Add missing reference to + login.defs + * man/login.defs.d/UID_MAX.xml, man/login.defs.d/SYS_UID_MAX.xml, + man/login.defs.d/GID_MAX.xml, man/login.defs.d/SYS_GID_MAX.xml: + Document the default values. + +2011-11-19 Nicolas François + + * src/gpasswd.c: Change of group password enforces gshadow + password. Set /etc/group password to "x". + +2011-11-16 Peter Vrabec + + * NEWS, src/userdel.c, man/userdel.8.xml: Add option -Z/--selinux-user. + * libmisc/system.c, lib/prototypes.h, libmisc/Makefile.am: Removed + safe_system(). + * lib/selinux.c, po/POTFILES.in, lib/prototypes.h, + lib/Makefile.am: Added helper functions for semanage. + * NEWS, README, src/useradd.c, src/usermod.c, src/userdel.c, + configure.in: Use libsemanage instead of semanage. + +2011-11-16 Peter Vrabec + + * src/Makefile.am: useradd may need the LIBATTR library. + +2011-11-16 Peter Vrabec + + * libmisc/copydir.c: Ignore perm_copy_file() errors with errno set + to ENOTSUP. + +2011-11-16 Nicolas François + + * src/useradd.c: Compilation fix when SHADOWGRP is not enabled. + * libmisc/root_flag.c: Add missing #include + +2011-11-13 Nicolas François + + * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated. + * po/*.po, man/po/*.po: Updated PO files. + +2011-11-12 Nicolas François + + * src/chage.c, src/chfn.c, src/chgpasswd.c, src/chpasswd.c, + src/chsh.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, + src/groupmod.c, src/newusers.c, src/useradd.c, src/userdel.c, + src/usermod.c: Provide the PAM error + message instead of our own, and log error to syslog. + * src/groupmems.c: Exit with exit rather than fail_exit in usage(). + * src/newusers.c: Check the number of arguments. + * src/newusers.c: Do not create the home directory when it is not + changed. + * src/useradd.c: Set the group password to "!" rather "x" if there + are no gshadow file. + +2011-11-11 Nicolas François + + * src/pwck.c: Removed pw_opened. + * src/pwck.c: optind cannot be greater than argc. + * src/pwck.c: If spw_opened, then is_shadow is implicitly set. + * src/pwck.c: Do not report passwd entry without x password and a + shadow entry in --quiet mode (no interaction with the caller) + * src/pwck.c: Do not check if the last password change is in the + future if the time is set to 0. + +2011-11-11 Nicolas François + + * libmisc/root_flag.c: Drop privileges before changing root. The + --root option should not be used by regular users for suid utils. + * libmisc/root_flag.c: Improve error messages. + +2011-11-11 Nicolas François + + * src/pwck.c: Compile fix for TCB. + +2011-11-11 Nicolas François + + * libmisc/copydir.c: Avoid conflict with glibc. Rename error to + error_acl. + +2011-11-11 Nicolas François + + * man/newusers.8.xml: Document the optional file argument. + * man/newusers.8.xml: Fix the documentation of the inputs' format. + +2011-11-06 Nicolas François + + * man/groupmod.8.xml: Document that the primary group of users may + be changed by groupmod -g. + +2011-11-06 Nicolas François + + * NEWS, src/newusers.c, man/newusers.8.xml: Add --root option. + +2011-11-06 Nicolas François + + * src/vipw.c: Remove unused variable a. + +2011-11-06 Nicolas François + + * man/generate_mans.mak: The xml-config files do not depend on the + Makefile. + +2011-10-31 Nicolas François + + * src/chage.c, src/chgpasswd.c, src/chpasswd.c, src/chsh.c, + src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, + src/groupmems.c, src/groupmod.c, src/grpconv.c, src/grpunconv.c, + src/lastlog.c, src/newusers.c, src/passwd.c, src/pwconv.c, + src/pwunconv.c, src/su.c, src/useradd.c, src/userdel.c, + src/usermod.c, src/vipw.c: Align and sort options. + +2011-10-31 Nicolas François + + * NEWS, src/pwck.c, man/pwck.8.xm, src/grpck.c, man/grpck.8.xml: + Add --root option. + +2011-10-31 Nicolas François + + * man/limits.5.xml, libmisc/limits.c: Sort limit identifiers. + * libmisc/limits.c: Fix support for the K limit identifier. + * libmisc/limits.c: Add missing default limit for L and U. + +2011-10-31 Nicolas François + + * src/pwck.c, man/pwck.8.xml: Add support for long options. + * src/pwck.c, man/pwck.8.xml: Add -h/--help option + * src/grpck.c, man/grpck.8.xml: Add support for long options. + * src/grpck.c, man/grpck.8.xml: Add -h/--help option + +2011-10-30 Nicolas François + + * src/expiry.c, man/expiry.1.xml: Add support for long options. + * src/expiry.c, man/expiry.1.xml: Add -h/--help option + +2011-10-30 Nicolas François + + * src/chfn.c, man/chfn.1.xml: Add support for long options. + * src/chfn.c, man/chfn.1.xml: Add -u/--help option + * NEWS, src/chfn.c, man/chfn.1.xml: Add --root option. + +2011-10-30 Nicolas François + + * NEWS, src/vipw.c, man/vipw.8.xml: Add --root option. + +2011-10-30 Nicolas François + + * NEWS, src/faillog.c, man/faillog.8.xml: Add --root option. + * NEWS, src/lastlog.c, man/lastlog.8.xml: Likewise. + * src/faillog.c: Add Prog variable, and prefix error messages with + Prog rather than "faillog". + * src/lastlog.c: Likewise. + * src/lastlog.c: Split usage in smaller messages. + +2011-10-30 Nicolas François + + * NEWS, src/chage.c, man/chage.1.xml: Add --root option. Open + audit and syslog after the potential chroot. chage's usage split + in smaller messages. + +2011-10-30 Nicolas François + + * src/login.c: re-indent. + * src/login.c: Fix support for sub-logins. + +2011-10-30 Nicolas François + + * src/faillog.c, src/chage.c, src/newusers.c, src/su.c: The getopt + index of long options is not used. + +2011-10-29 Nicolas François + + * lib/prototypes.h, libmisc/Makefile.am, libmisc/root_flag.c, + po/POTFILES.in: Add process_root_flag() to process the --root + option and chroot so that the chroot config is used and changes + are applied to the chroot. + * NEWS, src/useradd.c, man/useradd.8.xml: Add --root option. Open + audit after the potential chroot. + * NEWS, src/userdel.c, man/userdel.8.xml: Add --root option. Open + audit and syslog after the potential chroot. userdel's usage split + in smaller messages. + * NEWS, src/usermod.c, man/usermod.8.xml: Likewise + * NEWS, src/groupadd.c, man/groupadd.8.xml: Add --root option. Open + audit and syslog after the potential chroot. + * src/groupadd.c: Check atexit failures. + * src/groupadd.c: Return E_SUCCESS instead of exit'ing at the end + of main(). + * NEWS, src/groupadd.c, man/groupadd.8.xml: Add --root option. Open + audit and syslog after the potential chroot. + * src/groupmod.c: The getopt index of long options is not used. + * src/groupdel.c: Add process_flags(). + * src/groupdel.c, man/groupdel.8.xml: Add --help option. + * NEWS, src/groupdel.c, man/groupdel.8.xml: Add --root option. Open + audit and syslog after the potential chroot. + * src/groupdel.c: Check atexit failures. + * NEWS, src/pwconv.c, src/pwunconv.c, src/grpconv.c, + src/grpunconv.c, man/pwconv.8.xml: Add --root option. + * src/pwconv.c, src/pwunconv.c, src/grpconv.c, src/grpunconv.c: + Add --help option. + * src/pwconv.c, src/pwunconv.c, src/grpconv.c, src/grpunconv.c: + Add process_flags() and usage(). + * NEWS, src/chpasswd.c, man/chpasswd.8.xml, src/chgpasswd.c, + man/chgpasswd.8.xml: Add --root option. + * src/chpasswd.c, src/chgpasswd.c: The getopt index of long + options is not used. + * NEWS, src/passwd.c, man/passwd.1.xml: Add --root option. + passwd's usage split in smaller messages. + * src/passwd.c: Call sanitize_env() before setting the locales. + * NEWS, src/groupmems.c, man/groupmems.8.xml: Add --root option. + Open syslog after the potential chroot. + * src/groupmems.c: The getopt index of long options is not used. + * NEWS, src/chsh.c, man/chsh.1.xml: Add --root option. + chsh's usage split in smaller messages. + * src/chsh.c: The getopt index of long options is not used. + * NEWS, src/gpasswd.c, man/gpasswd.1.xml: Add --root option. + * src/gpasswd.c: The getopt index of long options is not used. + +2011-10-22 Nicolas François + + * man/ja/Makefile.am, man/fr/Makefile.am, man/ru/Makefile.am, + man/sv/Makefile.am, man/pl/Makefile.am, man/zh_CN/Makefile.am, + man/it/Makefile.am, man/Makefile.am: Include man_nopam in + EXTRA_DIST only when USE_PAM (they are already in man_MANS + otherwise). + +2011-10-22 Nicolas François + + * man/su.1.xml: Document that su -c does not providea controlling + terminal. + +2011-10-18 Nicolas François + + * src/newusers.c: Fix typo. + * src/useradd.c: Likewise. + * lib/nscd.c: Remove unused variable. + * lib/prototypes.h, libmisc/cleanup.c, lib/spawn.c, src/chage.c: + Add splint annotations. + * src/sulogin.c (main): env is only used when USE_PAM is not set. + +2011-10-15 Nicolas François + + * man/login.defs.d/LOGIN_STRING.xml: Fix typo. + +2011-09-18 Nicolas François + + * lib/prototypes, libmisc/basename.c (Basename): Input is a + constant string. + * lib/prototypes.h, lib/spawn.h, lib/spawn.c, src/userdel.c, + lib/nscd.c, lib/Makefile.am: Delete spawn.h. Move from spawn.h to + prototypes.h. + * src/userdel.c: Remove unused variables. + * lib/nscd.c: Remove unused header files. + * lib/nscd.c: Add the program name to error messages. + * lib/nscd.c: Indicate when nscd does not terminate normally (signal). + * lib/spawn.c: Updated header. + * lib/spawn.c: Flush stdout and stderr to avoid inheriting from + ongoing buffers. + * lib/spawn.c: Avoid implicit conversion of pointer to boolean. + * lib/spawn.c: Replace perror by a complete message. + * lib/spawn.c: Continue to wait for the child if another child + terminates. + * lib/prototypes.h: The name field from cleanup_info_mod is a + constant string. (username). + +2011-09-18 Nicolas François + + * libmisc/cleanup.c: Spawn children should no trigger cleanup + actions. Make sure only the parent (initial caller) perform the + cleanup actions. + +2011-09-18 Nicolas François + + * libmisc/salt.c (SHA_salt_rounds): It is statically ensured that + the format fits in rounds_prefix. + * libmisc/loginprompt.c: Likewise. + +2011-09-18 Nicolas François + + * src/grpconv.c: Fail if not called correctly. + * src/grpconv.c: At the end of main, the passwd and shadow files + are locked. No need to check before unlocking. No need to set the + lock as false neither since there cannot be anymore failures. + +2011-09-18 Nicolas François + + * src/chage.c: EPOCH is not needed, it's converted to -1 by + strtoday(). But we need to support "-1" specifically. + * src/chage.c: Fix usage: LOGIN is mandatory. + * src/chage.c: Display disabled expiry or last change as "-1" + instead of 1969-12-31. 1969-12-31 is still supported as input from + the user. + * src/chage.c: Exit cleanly with fail_exit() (lock files were not + removed). + +2011-09-18 Nicolas François + + * src/useradd.c: Remove def_file. It was always set to + USER_DEFAULTS_FILE. + * src/useradd.c: Fix cut&paste issue causing bad warning when + the useradd.default file contains an invalid INACTIVE= value. + * src/useradd.c: Added missing end of line for rename errors. + * src/useradd.c: Added -D synopsis to the usage message. + * src/useradd.c: Do not scale_age(-1), just use -1. + * src/useradd.c: Added FIXME to be fixed later. + * src/useradd.c: Allow -e -1 when there is no shadow file. + * src/useradd.c: Fail, but do not print the usage message when the + -e argument is not valid. + * src/useradd.c: No need to check for oflg since uflg is + already checked. + +2011-09-18 Nicolas François + + * src/su.c: Too much const were added on 2011-08-15. pw in + save_caller_context() is allocated and freed. + * src/su.c: Added missing #endif indication + * src/su.c (save_caller_context): password only needed if + SU_ACCESS and !USE_PAM. + +2011-09-18 Nicolas François + + * src/usermod.c: date_to_str() is always called with negativ set + to "never", remove this argument. + * src/usermod.c: Added missing cast for gr_free argument. + +2011-09-18 Nicolas François + + * src/pwconv.c: Fail if not called correctly. + * src/pwconv.c: At the end of main, the passwd and shadow files + are locked. No need to check before unlocking. + +2011-09-18 Nicolas François + + * src/newusers.c: Initially set the passwd's password to '*' + instead of 'x'. Only when it is confirmed that a shadow entry is + (will be) added, set the passwd's password to 'x'. + * src/newusers.c: An invalid line is an error. A failure needs to + be reported. + +2011-09-18 Nicolas François + + * src/gpasswd.c: Remove log_gpasswd_success_gshadow(). Writing in + gshadow is the last sub-task. + +2011-09-18 Nicolas François + + * src/chsh.c: No needto remove lines tarting with '#' from + /etc/shells. This is already done by getusershell() and these + shell would fail the access(X_OK) test. + +2011-09-18 Nicolas François + + * man/generate_mans.mak: Fix the generation of translated man + pages. xml2po removed the comment from empty headers and the + config was no more inserted. + +2011-09-18 Nicolas François + + * man/chage.1.xml: The LOGIN argument is not optional. + * man/login.defs.d/QUOTAS_ENAB.xml: Document the dependency + between /etc/limits and QUOTAS_ENAB. + +2011-08-20 Nicolas François + + * po/POTFILES.in: Added lib/spawn.c. + +2011-08-20 Jonathan Nieder + + * lib/Makefile.am: Added lib/spawn.c and lib/spawn.h. + * lib/nscd.c, lib/spawn.c, lib/spawn.h: It is not possible to + differentiate between an nscd failure, and a failure to execute + due to no nscd with posix_spawn. Use our own run_command routine. + * src/userdel.c: Use run_command() + +2011-08-15 Nicolas François + + * src/groupmod.c: Ignore return value from snprintf. + * src/groupmod.c: Add static qualifier to the cleanup structures. + * src/groupmod.c: Check atexit failures. + +2011-08-15 Nicolas François + + * src/usermod.c: Do not assign static to NULL. + * src/usermod.c (date_to_str): buf needs to be unique (e.g. + independent from negativ), and is an out buffer. + * src/usermod.c: Ignore return value from snprintf, and force + nul-termination of buffer. + * src/usermod.c: Improve memory management. + * src/usermod.c: An audit bloc was not reachable, moved above on + success to move the home directory. + * src/usermod.c: Ignore close() return value for the mailbox + (opened read only). + +2011-08-15 Nicolas François + + * src/su.c: Added const modifiers. + * lib/prototypes: Synchronize splint annotations. + +2011-08-14 Nicolas François + + * src/su.c: Add splint annotations. + * src/su.c: Set caller_on_console as boolean. + * src/su.c: Ignore return value from fputs (usage) / puts (prompt). + * src/su.c: Improved memory management. + +2011-08-14 Nicolas François + + * src/chgpasswd.c, src/chpasswd.c, src/newusers.c: Replace cflg by + a test on crypt_method. + +2011-08-14 Nicolas François + + * libmisc/chowndir.c: Add splint annotations. + * src/chgpasswd.c: Likewise. + * src/chpasswd.c: Likewise. + * src/newusers.c: Likewise. + * libmisc/salt.c, lib/prototypes.h (crypt_make_salt): Likewise. + +2011-08-14 Nicolas François + + * lib/gshadow_.h: Fix typo in comment. + +2011-08-14 Nicolas François + + * lib/prototypes.h, libmisc/getgr_nam_gid.c: getgr_nam_gid() + returns an allocated structure. + +2011-08-14 Nicolas François + + * src/su.c: Add annotations to indicate that su_failure() does + not return. + +2011-07-30 Nicolas François + + * lib/commonio.c: Display PID as unsigned long. + +2011-07-30 Nicolas François + + * src/useradd.c: Remove unused Zflg. + +2011-07-30 Nicolas François + + * src/chgpasswd.c: Fix typo sp -> sg. sg_namp -> sg_name + * src/chgpasswd.c: Always update the group file when SHADOWGRP is + not enabled. + +2011-07-30 Nicolas François + + * src/newgrp.c: Fix typo in notreached annotation. + +2011-07-30 Nicolas François + + * src/usermod.c: Add annotations to indicate that fail_exit() does + not return. + * src/usermod.c: Fix typo in notreached annotation. + +2011-07-30 Nicolas François + + * libmisc/find_new_uid.c: free (used_uids) on return. + * libmisc/find_new_gid.c: free (used_gids) on return. + +2011-07-28 Nicolas François + + * lib/commonio.c: Fix NIS commit from 2011-07-14. + +2011-07-28 Nicolas François + + * NEWS, src/chpasswd.c: Create a shadow entry if the password is + set to 'x' in passwd and there are no entry in shadow for the + user. + * NEWS, src/chgpasswd.c: Create a gshadow entry if the password is + set to 'x' in group and there are no entry in gshadow for the + group. + +2011-07-28 Nicolas François + + * src/pwunconv.c: Exit after printing usage when arguments or + options are provided. + * src/pwunconv.c: Re-indent. + * src/pwunconv.c: Open the shadow file read only. + * src/grpunconv.c: Exit after printing usage when arguments or + options are provided. + * src/grpunconv.c: Open the gshadow file read only. + +2011-07-28 Nicolas François + + * src/chgpasswd.c: Fix typo. + +2011-07-23 Nicolas François + + * NEWS, src/login.c: Do not log in utmp / utmpx / wtmp when PAM is + enabled. This is already done by pam_lastlog. Note that + pam_lastlog can only log the parent PID, not the PID of the + process forked by login. + +2011-07-23 Nicolas François + + * src/chpasswd.c: Add annotations to indicate that usage() does + not return. + * src/chpasswd.c: Reindent. + * src/chpasswd.c: Remove dead code. No need to set crypt_method + to NULL when it is already NULL. sflg is only set if crypt_method + is not NULL. + +2011-07-23 Nicolas François + + * src/lastlog.c: Add annotations to indicate that usage() does not + return. + +2011-07-23 Nicolas François + + * src/faillog.c: Add annotations to indicate that usage() does not + return. + * src/faillog.c: Fix message: this is faillog, not lastlog. + * src/faillog.c: Check that there are no extra arguments after + parsing the options. + +2011-07-23 Nicolas François + + * src/chgpasswd.c: Add annotations to indicate that usage() does + not return. + * src/chgpasswd.c: Split usage in smaller parts. Those parts are + already translated for chpasswd. Usage is now closer to + chpasswd's. + * src/chgpasswd.c: Remove dead code. No need to set crypt_method + to NULL when it is already NULL. sflg is only set if crypt_method + is not NULL. + +2011-07-23 Nicolas François + + * src/expiry.c: Remove dead code. + * src/expiry.c: Improve comments. + +2011-07-23 Nicolas François + + * src/grpck.c: Added comments. + * src/grpck.c: Avoid implicit conversion of pointer to boolean. + * src/grpck.c: Remove dead code. argc cannot be lower than optind. + Avoid checking twice in a row for NULL != list[i]. + +2011-07-22 Nicolas François + + * libmisc/find_new_gid.c, libmisc/find_new_uid.c: Fail in case of + invalid configuration. + * libmisc/find_new_gid.c, libmisc/find_new_uid.c: Updated + comments. + * libmisc/find_new_gid.c, libmisc/find_new_uid.c: Be more strict + on the loop stop conditions. Stop if we passed the limit, even if + the limit itself was never noticed. + +2011-07-14 Nicolas François + + * man/po/fr.po: Fix some spacing issues due to configuration + variants. + +2011-07-14 Nicolas François + + * src/passwd.c: Overflow when computing the number of days based + on the scaling. Use of long long needed. + +2011-07-14 Nicolas François + + * NEWS, lib/commonio.h, lib/commonio.c: Additional messages to + indicate why locking failed. + * NEWS, lib/commonio.c: Fix the sort algorithm in case of NIS. NIS + entries were dropped. + * lib/commonio.c: NIS entries can start by '+' or '-'. + +2011-07-14 Nicolas François + + * NEWS, src/groupmod.c: When the gshadow file exists but there are + no gshadow entries, an entry is created if the password is changed + and group requires a shadow entry. + +2011-07-14 Nicolas François + + * src/usermod.c: Fix typo in comment. + * src/usermod.c (move_home): It is always an error to use -m if + the new home directory already exist (independently from the + existence of the old home directory did not exist) + * src/usermod.c (process_flags): Report usage if no options are + provided. Update the error message. + * src/usermod.c (process_flags): Check option compatibility and + dependency before options are discarded when no changes are + requested. + * src/usermod.c (process_flags): Check for oflg is not needed to + check if changes are needed. + * src/usermod.c: usage() does not return. Add annotations. + * src/usermod.c (update_gshadow): is_member was computed twice. + * src/usermod.c (update_group, update_gshadow): Reduce complexity + and document checks. Some checks were always true/false within + their call context. + * NEWS, src/usermod.c; man/usermod.8.xml: When the shadow file + exists but there are no shadow entries, an entry has to be created + if the password is changed and passwd requires a shadow entry, or + if aging features are used (-e or -f). Document this and also that + -e and -f require a shadow file. + * man/usermod.8.xml: Document behavior of an empty EXPIRE_DATE. + * man/usermod.8.xml: Document that the mail spool might have to be + renamed (as for the homedir) + * src/usermod.c (new_pwent): Document that pw_locate will not fail + because getpwnam returned successfully. + * src/usermod.c (process_flags): Do not display the usage in case + of an invalid -f value (similar to -e). + * src/usermod.c (process_flags): Indicate that the user name is + invalid, instead of just a 'field'. + +2011-07-08 Nicolas François + + * src/groupadd.c: Fix typo in comment. + * src/userdel.c: Fix typo from 2011-06-04. Report failure on the + mailfile instead of user_home. + * lib/fields.c: Fixed typo from 2010-02-15. field instead of cp + ought to be checked. + * src/vipw.c: Use Prog instead of progname. This is needed since + Prog is used in the library. + * configure.in: Fix typo. libcrack default is 'no'. + * src/groupmod.c: Avoid implicit conversion of pointer to boolean. + * src/groupmod.c: osgrp can be set only if pflg || nflg. No need + to check for pflg || nflg again + +2011-07-08 Nicolas François + + * man/*.xml, man/config.xml.in: Add source and version + information. This reduce the amount of warnings during the + manpages generation. + +2011-06-25 Nicolas François + + * man/passwd.1.xml: Added reference to chpasswd(8). + * man/po/ru.po: Add space between option and argument. + +2011-06-16 Francisco Javier Cuadrado + + * po/es.po: Spanish translation + +2011-06-16 Nicolas François + + * libmisc/isexpired.c: Added parenthesis. + * libmisc/env.c: Added comments. + * libmisc/env.c: Avoid implicit conversion of pointer to boolean. + +2011-06-16 Nicolas François + + * src/su.c: environ is provided by . + * src/su.c: Added function prototypes. + * src/su.c: Rename shellstr parameter to shellname to avoid + collision with static variable. + * NEWS, src/su.c: Added support for PAM modules which change + PAM_USER. + +2011-06-13 Nicolas François + + * src/su.c (prepare_pam_close_session): Extract the creation of a + child and listening for signal in the parent from run_shell(). + prepare_pam_close_session() is now executed before the creation of + the pam session and before the UID is changed. This allows to + close the session as root. + * src/su.c: Also drop the controlling terminal when PAM is not + used. + * src/su.c: Remove run_shell(). + * src/su.c: After prepare_pam_close_session() there is no need to + close the session in the child. Added pam_setcred to + prepare_pam_close_session(). + +2011-06-12 Nicolas François + + * src/su.c (save_caller_context): Extract from main() the code + used to save the caller's context. + * src/su.c: Split check_perms() in to a PAM (check_perms_pam) and + a non-PAM (check_perms_nopam) version. + * src/su.c: Cleanup check_perms_nopam(). + * src/su.c: Merge environment setting blocks after the creation of + the session. + * src/su.c: Close the password databases together with syslog. + * src/su.c: Extract command line processing from main(). + * src/su.c: Extract export of environment from main(). + +2011-06-10 Nicolas François + + * src/su.c: Group some of the environment processing blocks. The + definition of shellstr, PATH and IFS is not influenced (getenv, + getdef, restricted_shell) by and does not influence (addenv does + not change environ) the authentication. And the authentication + did not overwrite those definitions. This will ease an extraction + from the big main() function. + * src/su.c: Move definition of change_environment and shellstr + after the switch to the final subsystem. The previous architecture + forced to always change the environment (the shell starts with a + '*' and was thus restricted, and change_environment could not be + reset to false). + * src/su.c: No need to change the user's shell in case of + subsystem root. Update the comments. + * src/su.c: Define shellstr before the environment so that + restricted_shell is called only once. This will allow moving the + environment definition after the switch to the new user. + * src/su.c: Extract the authentication from the main function. + * lib/prototypes.h, src/suauth.c, src/su.c (check_su_auth): Do not + use the pwent global variable to communicate between APIs of + different files. Added boolean parameter su_to_root to + check_su_auth(). + * src/su.c (check_perms): Return the passwd entry of the finally + authenticated user. Remove usage of the pwent variable. + * src/su.c: The password of the caller is the one from the + spwd structure only if the passwd's password is 'x'. + * src/su.c: Cleanup local variables. + +2011-06-10 Nicolas François + + * src/su.c: Updating pwent after expire() is not useful. Only the + password information may have changed and they are not used + anymore afterwards. + * src/su.c: No need to call expire() if there are no shadow entry. + No need to convert a passwd entry into an spwd entry in that case. + +2011-06-12 Thomas Blein + + * man/po/fr.po: French manpages translation + +2011-06-05 Nicolas François + + * NEWS, src/su.c: Do not forward the controlling terminal to + commands executed with -c. This prevents tty hijacking which could + lead to execution with the caller's privileges. This required to + forward signals from the terminal (SIGINT, SIGQUIT, SIGTSTP) to + the executed command. + +2011-06-05 Nicolas François + + * NEWS, src/userdel.c: Do not remove a group with the same name as + the user (usergroup) if this group isn't the user's primary group. + +2011-06-04 Nicolas François + + * NEWS, src/userdel.c: Check the existence of the user's mail + spool before trying to remove it. If it does not exist, a warning + is issued, but no failure. + +2011-06-03 Nicolas François + + * src/sulogin.c: Added Prog, needed because of the last xmalloc() + change. + +2011-06-03 Nicolas François + + * man/zh_CN/, man/zh_CN/Makefile.am: Added directory, and zh_CN + Makefile. + * man/Makefile.am: Build zh_CN pages. + * man/generate_translations.mak: Add config.xml to CLEANFILES. + * man/po/zh_CN.po: limits, groups, faillog, expiry should not be + translated (command name, file name), also this broke the build + system as they are used to derive manpage names. + +2011-06-02 Peter Vrabec + + * src/lastlog.c, src/faillog.c: Fix underflows causing wrong entry + to be displayed. + +2011-06-02 Nicolas François + + * libmisc/xmalloc.c: Harmonize message. + +2011-06-02 Peter Vrabec + + * libmisc/find_new_uid.c, libmisc/find_new_gid.c: Add missing + memory allocation check. + +2011-06-02 Cal Peake + + * NEWS, libmisc/addgrps.c: Fix allocator loop. Continue to + getgroups() when getgroups fails (-1) with errno==EINVAL. + +2011-06-01 Simon Brandmair + + * man/newusers.8.xml, man/suauth.5.xml, man/suauth.5.xml, + man/logoutd.8.xml, man/chgpasswd.8.xml, man/groups.1.xml, + man/faillog.5.xml, man/login.defs.d/MD5_CRYPT_ENAB.xml, + man/login.defs.d/DEFAULT_HOME.xml, + man/login.defs.d/LOGIN_RETRIES.xml, + man/login.defs.d/MD5_CRYPT_ENAB.xml, + man/login.defs.d/PORTTIME_CHECKS_ENAB.xml, + man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml: + Fix typos + * man/po/de.po: German translation of manpages completed + +2011-05-23 Innocent De Marchi + + * po/ca.po: Catalan translation completed + +2011-04-22 Miguel Figueiredo + + * po/pt.po: Portuguese translation completed + +2011-04-22 Thomas Blein + + * po/fr.po: French translation completed + +2011-04-16 Holger Wansing + + * po/de.po: German translation completed + +2011-04-15 Fred Maranhão + + * po/pt_BR.po: Brazilian Portuguese translation completed + +2011-04-10 Yuri Kozlov + + * po/ru.po: Russian translation completed + +2011-04-07 Daniel Nylander + + * po/sv.po: Swedish translation completed + +2011-04-07 Joe Dalton + + * po/da.po: Danish translation completed + +2011-04-05 Timur Birsh + + * po/kk.po: Kazakh translation completed + +2011-04-05 NAKANO Takeo + + * po/ja.po: Japanese translation completed + +2011-03-30 YunQiang Su + + * man/po/zh_CN.po: convert Simplified Chinese translation + of manpages to gettext + * po/zh_CN.po: Simplified Chinese translation completed + +2010-02-15 Nicolas François + + * man/ru/Makefile.am: Remove double inclusion of $(man_nopam) + +2010-02-15 Nicolas François + + * libmisc/user_busy.c, src/userdel.c, src/usermod.c: Warn in + user_busy() rather than in src/userdel.c or src/usermod.c to + provide more accurate failure cause (user is logged in or user + still executes processes). + +2010-02-15 Nicolas François + + * lib/groupio.c, lib/sgroupio.c, lib/shadowio.c, lib/pwio.c: Check + entry validity before commits to databases. + * libmisc/fields.c, libmisc/Makefile.am, lib/fields.c, + lib/Makefile.am, po/POTFILES.in: fields.c moved from libmisc to + lib. + * lib/fields.c: Fail if input pointer is NULL. + +2010-02-13 Nicolas François + + * NEWS, src/chfn.c, src/chsh.c: Fix CVE-2011-0721: forbid \n in + gecos or shell. + +2011-02-12 Nicolas François + + * autogen.sh: Restore original autoreconf (see 2010-08-29's change + for autogen.sh) + * configure.in, man/po/Makefile.in.in, man/po/Makefile.in: + Makefile.in.in replaced by Makefile.in to avoid config.status + issues when there are multiple po directories. + * man/po/LINGUAS: Adapted to above change. + * man/po/POTFILES.in, man/po/XMLFILES: POTFILES.in replaced by + XMLFILES. + * man/Makefile.am: generate_mans.deps shall be included by make, + not automake. + +2010-11-19 Nicolas François + + * NEWS, libmisc/console.c: Fix CONSOLE parser. This caused login + to hang when CONSOLE was configured with a colon separated list of + TTYs. See http://bugs.gentoo.org/show_bug.cgi?id=324419 + +2010-09-05 Nicolas François + + Integrate review comments from Julien Cristau + * libmisc/copydir.c: Missing parenthesis in comment. + * libmisc/chowndir.c: Fixed memory leak on failed realloc(). + * libmisc/chowndir.c: Make sure the buffer for the path is large + enough. + * libmisc/remove_tree.c: Remove check for NULL before free(). + +2010-08-29 Nicolas François + + * man/po/fr.po: Fix 2 fuzzy strings. + +2010-08-29 Nicolas François + + * NEWS, src/usermod.c: Accept options in any order (username not + necessarily at the end) + +2010-08-29 Nicolas François + + * autogen.sh: Expand autoreconf to avoid running autopoint. + +2010-08-29 Nicolas François + + * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated. + * po/*.po, man/po/*.po: Updated PO files. + +2010-08-28 Brian M. Carlson + + * man/chsh.1.xml: Fix comma splice. + +2010-08-28 Nicolas François + + * lib/protoypes.h, libmisc/copydir.c, src/useradd.c: + selinux_file_context renamed set_selinux_file_context. + * lib/protoypes.h, libmisc/copydir.c, src/useradd.c: + Added reset_selinux_file_context. + * src/useradd.c: Check the return value of + set_selinux_file_context and reset_selinux_file_context. + * libmisc/copydir.c: Check the return value of + reset_selinux_file_context. + +2010-08-28 Nicolas François + + * src/su.c: Fix handling of environment variables when + the environment is not changed. In particular, this makes su + behave as documented regarding PATH and IFS (i.e. they are reset) + when -p is provided. + +2010-08-28 Nicolas François + + * man/su.1.xml: Fix typo. + +2010-08-22 Nicolas François + + * src/newgrp.c, src/userdel.c, src/grpck.c, src/gpasswd.c, + src/newusers.c, src/pwconv.c, src/chpasswd.c, src/logoutd.c, + src/chfn.c, src/groupmems.c, src/usermod.c, src/pwunconv.c, + src/expiry.c, src/groupdel.c, src/chgpasswd.c, src/useradd.c, + src/su.c, src/groupmod.c, src/passwd.c, src/pwck.c, src/chage.c, + src/groupadd.c, src/login.c, src/grpconv.c, src/groups.c, + src/grpunconv.c, src/chsh.c: Prog changed to a constant string. + +2010-08-22 Nicolas François + + * libmisc/limits.c: Avoid implicit conversion of integer to + boolean. + * libmisc/basename.c: Avoid implicit conversion of pointer to + boolean. + * libmisc/basename.c, lib/prototypes.h (Basename): Return a + constant string. + * libmisc/basename.c, libmisc/obscure.c, lib/prototypes.h, + libmisc/xmalloc.c, libmisc/getdate.h, libmisc/system.c, + libmisc/getgr_nam_gid.c, libmisc/failure.c, libmisc/valid.c: Add + splint annotations. + * libmisc/chowndir.c: Avoid memory leak. + * libmisc/chowndir.c: Do not check *printf/*puts return value. + * libmisc/chowntty.c: Avoid implicit conversion between integer + types. + * libmisc/obscure.c: Return a bool when possible instead of int. + * libmisc/shell.c: Do not check *printf/*puts return value. + * libmisc/shell.c: Do not check execle return value. + * libmisc/setupenv.c: Avoid implicit conversion between integer + types. + * libmisc/xmalloc.c: size should not be zero to avoid returning + NULL pointers. + * libmisc/hushed.c: Do not check *printf/*puts return value. + * libmisc/system.c: Avoid implicit conversion of integer to + boolean. safe_system last argument is a boolean. + * libmisc/system.c: Check return value of dup2. + * libmisc/system.c: Do not check *printf/*puts return value. + * libmisc/system.c: Do not check execve return value. + * libmisc/salt.c: Do not check *printf/*puts return value. + * libmisc/loginprompt.c: Do not check gethostname return value. + * libmisc/find_new_gid.c, libmisc/find_new_uid.c: Do not check + gr_rewind/pw_rewind return value. + * libmisc/ttytype.c: Limit the number of parsed characters in the + sscanf format. + * libmisc/ttytype.c: Test if a type was really read. + * libmisc/sub.c: Do not check *printf/*puts return value. + * libmisc/sub.c: Avoid implicit conversion of integer to boolean. + * src/userdel.c: Fix typo in comment. + * src/userdel.c: Avoid implicit conversion of boolean to integer. + * src/userdel.c: safe_system last argument is a boolean. + * src/newusers.c: Avoid implicit conversion of boolean to integer. + * src/newusers.c: Avoid implicit conversion of integer to boolean. + * src/usermod.c: Add brackets. + * src/usermod.c: Avoid implicit conversion of characters or + integers to booleans. + * src/vipw.c: Avoid implicit conversion of integer to boolean. + * src/su.c: Avoid implicit conversion of integer to boolean. + * src/su.c: Add brackets. + * src/useradd.c: Avoid implicit conversion of characters or + integers to booleans. + +2010-08-22 Nicolas François + + * libmisc/obscure.c, lib/prototypes.h (obscure): Return a bool + instead of an int. + * libmisc/obscure.c, libmisc/tz.c, src/passwd.c, lib/encrypt.c, + libmisc/copydir.c, lib/prototypes.h: Add splint annotations. + * libmisc/tz.c: Fix some const issues. + * libmisc/tz.c: Avoid multi-statements lines. + * libmisc/tz.c: Add brackets. + * libmisc/copydir.c: Do not check *printf/*puts return value. + * libmisc/copydir.c: Fail if we cannot set or reset the SELinux + fscreate context. + * libmisc/copydir.c: Use xmalloc instead of malloc. + * libmisc/copydir.c: Do not check lutimes return value + * src/vipw.c: Avoid implicit conversion of integer to boolean. + * src/su.c (iswheel): Return a bool instead of an int. + * src/passwd.c: Remove insert_crypt_passwd(). Use xstrdup instead. + * src/passwd.c: Return constant strings when sufficient. + * src/passwd.c: Do not check *printf/*puts return value. + * src/passwd.c: Avoid implicit conversion of character to boolean. + * src/passwd.c: Do not check sleep return value. + * src/sulogin.c: Do not check *printf/*puts return value. + * lib/encrypt.c: Do not check fprintf return value. + +2010-08-21 Nicolas François + + * src/passwd.c: Fix a const issue. + * src/passwd.c: Avoid multi-statements lines. + * src/sulogin.c: Fix a const issue. + +2010-08-21 Nicolas François + + * libmisc/copydir.c, lib/prototypes.h: Caller can choose not to + copy the extended attributes (the SELinux context is hence reset) + * src/usermod.c: Copy the extended attributes. + * src/useradd.c: Only reset the SELinux context. + +2010-08-21 Nicolas François + + * configure.in: Fixed typo. + +2010-08-21 Nicolas François + + * libmisc/console.c, libmisc/motd.c, libmisc/setupenv.c, + libmisc/sulog.c, libmisc/hushed.c, libmisc/failure.c, + libmisc/loginprompt.c, libmisc/ttytype.c, libmisc/obscure.c, + libmisc/pam_pass_non_interractive.c, src/userdel.c, src/login.c, + lib/commonio.c, lib/commonio.h, libmisc/setugid.c, + libmisc/setupenv.c: Fix some const issues. + * libmisc/motd.c: Avoid multi-statements lines. + * libmisc/motd.c: Support long MOTD_FILE. + * libmisc/list.c, lib/prototypes.h: Revert previous change. + dup_list and is_on_list are used with members as defined for the + group structure, and thus even if the list is not modified, the + list elements cannot be constant strings. + * libmisc/system.c: Avoid C++ comments. + * src/vipw.c: WITH_TCB cannot be tested inside a gettextized + string. Split the Usage string. + * lib/commonio.h: Re-indent. + +2010-08-21 Nicolas François + + * libmisc/audit_help.c (audit_logger):pgname is not used. We let + audit find out the name of the program. + * libmisc/audit_help.c: Re-indent. + +2010-08-20 Nicolas François + + * lib/groupio.c: Avoid implicit conversion from signed to unsigned. + +2010-08-20 Nicolas François + + * lib/commonio.c: Make sure there are no NULL pointer dereference. + +2010-08-20 Nicolas François + + * libmisc/remove_tree.c: Ignore snprintf return value. + +2010-08-20 Nicolas François + + * lib/prototypes.h, libmisc/list.c: dup_list() and is_on_list() do + not change the members of the list they receive. Added const + qualifiers. + +2010-08-20 Nicolas François + + * src/usermod.c: Re-indent. + +2010-08-20 Nicolas François + + * lib/commonio.c: Avoid multi-statements lines. + +2010-08-20 Nicolas François + + * man/po/fr.po: Fix a typo. + +2010-06-24 Baurzhan Muftakhidinov + + * NEWS, po/kk.po: Updated Kazakh translation. + +2010-04-12 Nicolas François + + * man/po/fr.po: Fix some typos. Minor updates: 886t70f187u. + +2010-04-12 Nicolas François + + * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated. + * po/*.po, man/po/*.po: Updated PO files. + +2010-04-05 Nicolas François + + * man/newusers.8.xml, man/useradd.8.xml, man/groupadd.8.xml, + man/login.defs.d/UMASK.xml, man/login.defs.d/CREATE_HOME.xml, + man/login.defs.d/LOGIN_RETRIES.xml: Fix typos: choosen, overriden, + bahavior. + +2010-04-04 Nicolas François + + * man/usermod.8.xml: Document changes of ownerships. + +2010-04-04 Nicolas François + + * man/vipw.8.xml: Fix formatting typo. + * man/vipw.8.xml: Document the login.defs parameters only when tcb + is enabled. + +2010-04-04 Nicolas François + + * src/useradd.c: spool is a constant string. + * src/useradd.c: Set the new copy_tree's paramater 'copy_root' to false + +2010-04-04 Nicolas François + + * src/usermod.c: move_home() is only called if mflg is set. + * src/usermod.c: Fail is -m is provided but the old home directory + is not a directory. + * src/usermod.c: Use the previous improvement of copy_tree to + provide better error diagnosis. + * src/usermod.c: When rename() is used, also change the ownership. + * src/usermod.c: Do not change the ownership of the root directory + twice. + * src/usermod.c: When -u is provided, only change the ownership of + the home directory if it is a directory. + * src/usermod.c: Also change ownerships when -g is used. + +2010-04-04 Nicolas François + + * lib/prototypes.h, libmisc/copydir.c: Add the old UID and GID to + copy_tree to detect when ownership shall be changed. + * libmisc/copydir.c: Document the behavior when the IDs are set to + -1. + * lib/prototypes.h, libmisc/copydir.c (copy_tree): Add parameter + copy_root. + * libmisc/copydir.c: error() and ctx can be static. + * libmisc/copydir.c (copy_hardlink): Remove parameter src. + +2010-04-04 Nicolas François + + * libmisc/chowndir.c: Dynamically allocate memory to support + path longer than 1024 characters. + * libmisc/chowndir.c: Fix typos in documentation. + * libmisc/chowndir.c: Support and document the behavior when a old + or new ID is set to -1. + * libmisc/chowndir.c: Improved error detection when chown fails. + * libmisc/chowndir.c: Harmonize error handling strategy when an + error occurs: stop changing ownership as soon as an error was + detected. + +2010-04-03 Nicolas François + + * man/hu/passwd.5: Fix formatting typo. + * man/id/login.1: Likewise. + +2010-03-31 Nicolas François + + * man/vipw.8.xml: When TCB is enabled, vipw uses login.defs. + +2010-03-31 Nicolas François + + * NEWS, libmisc/copydir.c: When a hardlink is detected, the + original hardlink should not be removed. + +2010-03-30 Nicolas François + + * po/POTFILES.in, libmisc/Makefile.am, lib/prototypes.h, + libmisc/remove_tree.c, libmisc/copydir.c: Split remove_tree() + outside of copydir.c to avoid linking against libacl or libattr. + +2010-03-30 Nicolas François + + * src/su.c: shell's name must be -su when a su fakes a login. + +2010-03-30 Nicolas François + + * NEWS, configure.in, libmisc/copydir.c, man/useradd.8.xml, + man/usermod.8.xml, src/Makefile.am: Added support for ACLs and + Extended Attributes. + +2010-03-30 Nicolas François + + * libmisc/copydir.c: Document the sections closed by #endif + +2010-03-27 Nicolas François + + * man/vipw.8.xml: Add section ENVIRONMENT. + +2010-03-26 Nicolas François + + * etc/login.defs: Updated description of UMASK to indicate its + usage by pam_umask. + * man/login.defs.d/UMASK.xml: Likewise. + +2010-03-25 Nicolas François + + * man/login.1.xml: login does not check for new mails in PAM + enabled versions. This is done by pam_mail. + +2010-03-25 Nicolas François + + * NEWS, src/chpasswd.c, man/chpasswd.8.xml, man/login.defs.5.xml: + PAM enabled versions: restore the -e option to allow restoring + passwords without knowing those passwords. Restore together the -m + and -c options. + +2010-03-23 Nicolas François + + * src/su.c, src/vipw.c, src/newgrp.c: When the child is + interrupted, stop ourself with a SIGSTOP signal. + +2010-03-23 Nicolas François + + * src/newgrp.c: Limit the scope of variable pid. + * src/login_nopam.c: Limit the scope of variables end, lineno, i, + str_len. + * src/logoutd.c: Limit the scope of variable c. + * src/vipw.c: Re-indent. + * src/vipw.c: Close the file after the creation of the backup. + * src/useradd.c (set_default): Close input file on failure. + * src/useradd.c: Limit the scope of variables spool, file, fd, gr, + gid, mode. + * src/passwd.c: Limit the scope of variables last and ok. + * src/chage.c: Fix typo (non breaking space). + * src/login.c: Limit the scope of variables erasechar killchar, c, + failed. + * src/groups.c: Limit the scope of variable ngroups, pri_grp, i. + * src/id.c: Limit the scope of variable i. + +2010-03-22 Nicolas François + + * lib/utent.c (getutline): Remove getutline(). This function is + no more used. + * lib/groupmem.c: Limit the scope of variable i. + * lib/shadow.c: Avoid implicit conversion of pointers and integers + to booleans. + * lib/shadow.c: Added brackets. + * libmisc/limits.c: Limit the scope of variable tmpmask. + * libmisc/copydir.c: Close opened file on failure. + * libmisc/loginprompt.c: Limit the scope of variable envc. + * libmisc/find_new_uid.c, libmisc/find_new_gid.c: Limit the scope + of variable id. + +2010-03-21 Nicolas François + + * libmisc/find_new_gid.c, libmisc/find_new_uid.c: Detect some + misconfigurations of UID_MIN, UID_MAX, SYS_UID_MIN, SYS_UID_MAX (and + the GID equivalents) + +2010-03-20 Nicolas François + + * NEWS, configure.in: Next version will be 4.1.5. + * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated. + * po/*.po, man/po/*.po: Updated PO files. + +2010-03-20 Nicolas François + + * libmisc/limits.c: Re-indent to make pmccabe happy. + +2010-03-20 Nicolas François + + * man/generate_translations.mak, man/generate_mans.mak: Fix + distcheck. All manpages generation code shall be enclosed in + ENABLE_REGENERATE_MAN conditions. + +2010-03-20 Nicolas François + + * man/useradd.8.xml: Do not document the features which are not + working. + * man/useradd.8.xml: Fix typo: -u was meant instead of -o. + * man/useradd.8.xml: Document that the default behavior depends on + CREATE_HOME. + +2010-03-20 Nicolas François + + * lib/groupio.c: Fix memory management insplit_groups(). + +2010-03-20 Nicolas François + + * libmisc/strtoday.c: Empty dates indicate a disabled date, this is + not an error. + +2010-03-19 Nicolas François + + * src/useradd.c, lib/commonio.c, po/POTFILES.in: Fix typos. + * libmisc/limits.c: Removed unused variable. + +2010-03-19 Nicolas François + + * lib/commonio.c: Stop sorting entries when we reach the first + NIS line. + +2010-03-18 Nicolas François + + * src/chsh.c: Even for root, warn if an invalid shell is + specified. Alioth#311305 + +2010-03-18 Nicolas François + + * man/limits.5.xml: Document the selection of the limits when + multiple lines match the user. + +2010-03-18 Nicolas François + + * libmisc/limits.c: Re-indent. + * libmisc/limits.c: Reformat the documentation. Avoid personal + comments. + * man/limits.5.xml: Document the new features. + +2010-03-18 Thomas Orgis + + * NEWS, libmisc/limits.c: Fix parsing of limits. + * NEWS, libmisc/limits.c: Add support for infinite limits. + * NEWS, libmisc/limits.c: Add support for @group syntax. + +2010-03-18 Nicolas François + + * lib/tcbfuncs.h: Re-indent. + * lib/tcbfuncs.h: Explicitly indicate function taking a void + parameter. + +2010-03-18 Nicolas François + + * src/useradd.c: When exiting because of a failure, warn if an + home directory created, but cannot be removed. + +2010-03-18 Nicolas François + + * libmisc/chowndir.c: Re-indent. + * libmisc/chowndir.c: Avoid assignment in comparisons. + * libmisc/chowndir.c: Added brackets and parenthesis. + +2010-03-18 Nicolas François + + * libmisc/strtoday.c: Add support for numerical dates, assuming + they are already specified in number of days since Epoch. Return + -2 in case of errors to support the specification of -1. + * src/usermod.c, src/useradd.c: Adapt to the new error value of + strtoday(). + * src/chage.c: Remove isnum(). Adapt to the new error value of + strtoday(). Support for numerical dates is moved to strtoday(). + +2010-03-18 Nicolas François + + * man/po/fr.po: Harmonize name of parameters. + +2010-03-18 Nicolas François + + * NEWS: Indicate which tools support TCB. + +2010-03-18 Nicolas François + + * src/pwck.c: Unlock the password and shadow files when there is a + failure to prepare the update in memory. + +2010-03-18 Nicolas François + + * src/pwck.c: Only log to SYSLOG when acting on system files. + +2010-03-18 Nicolas François + + * src/pwck.c: Document the sections closed by #endif + * src/pwck.c, man/pwck.8.xml: No alternative shadow file can be + given when USE_TCB is enabled. + * src/pwck.c: Remove the -s option from the usage when USE_TCB is + enabled. The option is still supported, but has no effect, as + documented in the manpage. + +2010-03-18 Nicolas François + + * src/pwck.c: Do not use pwd_file and spw_file. Always use the + dbname() functions. + +2010-03-18 Nicolas François + + * src/pwck.c: Re-indent. + +2010-03-18 Nicolas François + + * src/userdel.c, src/usermod.c, src/vipw.c, src/useradd.c, + src/pwck.c, src/chage.c, lib/shadowio.c: Explicitly use the + SHADOWTCB_FAILURE return code instead of 0 or implicit conversion + to booleans. + +2010-03-18 Paweł Hajdan, Jr. + + * src/pwck.c: Add support for TCB. + * src/pwck.c: Use spw_dbname() instead of spw_file since TCB + changes from a file to another depending on the user. Also use + pw_dbname() for consistency. + +2010-03-17 Nicolas François + + * src/faillog.c: Re-indent. + +2010-03-17 Nicolas François + + * lib/tcbfuncs.h: Added type shadowtcb_status. + * lib/tcbfuncs.h, lib/tcbfuncs.c: Return a shadowtcb_status + instead of an int. + * lib/tcbfuncs.c: Do not return in OUT_OF_MEMORY. + * lib/tcbfuncs.c: Only FreeBSD specify that the returned buffer is + NULL in case of failure. The return value of asprintf shall be + checked. + * lib/tcbfuncs.c: Avoid implicit conversion of pointers or + integers to booleans. + * lib/tcbfuncs.c: Avoid assignments in comparisons. + * lib/tcbfuncs.c: Do not free path before its last use. + * lib/tcbfuncs.c: Include shadowio.h, needed for the + spw_setdbname's prototype. + * lib/tcbfuncs.c: Ignore fflush() return value. + * lib/tcbfuncs.c: Avoid implicit signed to unsigned conversions. + * lib/tcbfuncs.c: Avoid integer to char conversions. + * lib/tcbfuncs.c: Include prototypes.h for the definition of Prog. + * lib/tcbfuncs.c: Removed dead return. + * lib/tcbfuncs.c: move_dir() and shadowtcb_move() need a non NULL + stored_tcb_user. + * lib/tcbfuncs.c: Avoid implicit int to mode_t conversion. + * lib/tcbfuncs.c: Added brackets and parenthesis. + * lib/tcbfuncs.c: Re-indent. + +2010-03-17 Nicolas François + + * lib/commonio.c: Avoid implicit conversion of pointers to + booleans. + * lib/commonio.c: Ignore the return value of close when a + failure is reported. + +2010-03-16 Nicolas François + + * man/faillog.8.xml: Document the behavior in display mode of the + -a option. + * NEWS, man/faillog.8.xml, src/faillog.c: Extend the -a option to + the non-display mode. This changes the default behavior of the -l, + -m, -r, -t options when -a is not specified (restrict to existing + users). + +2010-03-15 Nicolas François + + * man/chage.1.xml, man/login.defs.5.xml, man/pwck.8.xml, + man/pwconv.8.xml, man/useradd.8.xml, man/userdel.8.xml, + man/usermod.8.xml, man/vipw.8.xml: Document the usage of the + TCB_AUTH_GROUP, TCB_SYMLINKS, and USE_TCB configuration + parameters. + * man/pwconv.8.xml, man/pwck.8.xml: Document the behavior when + USE_TCB is enabled. + +2010-03-15 Nicolas François + + * po/POTFILES.in, lib/tcbfuncs.c: Add more strings for + translation. + * lib/tcbfuncs.c: Indicate the name of the program in error + messages. Avoid perror. + * src/useradd.c: Re-indent. + * src/useradd.c: Add more strings for translation. Indicate the + name of the program in error messages. + * src/userdel.c: Re-indent. + * src/userdel.c: Add more strings for translation. Indicate the + name of the program in error messages. + +2010-03-15 Nicolas François + + * src/usermod.c: user_newname and user_newid cannot be used to + test if the username or ID is changed. lflg and uflg should be + used instead. + +2010-03-15 Nicolas François + + * src/userdel.c: Avoid perror. Give more verbose warnings. + +2010-03-11 Nicolas François + + * man/Makefile.am: Indicate that man/generate_mans.deps is + generated. + +2010-03-11 Nicolas François + + * lib/commonio.c: Re-indent. + * lib/commonio.c: Document the sections closed by #endif + * lib/commonio.c: Added brackets. + * lib/commonio.c: Avoid implicit conversion of integer to + booleans. + +2010-03-11 Nicolas François + + * src/userdel.c: Re-indent. + * src/userdel.c: Added brackets. + * src/userdel.c: Avoid implicit conversion of pointers to + booleans. + +2010-03-11 Nicolas François + + * lib/shadowio.c: Re-indent. + * lib/shadowio.c: Added brackets and parenthesis. + * lib/shadowio.c: Document the sections closed by #endif + * lib/shadowio.c: Avoid negation of comparisons. + * lib/shadowio.c: Avoid implicit conversion of integer to booleans + and booleans to integers. + +2010-03-11 Nicolas François + + * src/useradd.c: Re-indent. + * src/useradd.c: Added brackets. + * src/useradd.c: Avoid implicit conversion of integers to + booleans. + * src/useradd.c: Harmonize error messages. + +2010-03-11 Nicolas François + + * src/vipw.c: Document the sections closed by #endif + * src/vipw.c: Avoid implicit conversion of pointers or integers to + booleans. + * src/vipw.c: Added brackets and parenthesis. + * src/vipw.c: Limit the definition of some variables and macros to + the WITH_TCB scope. + * src/vipw.c: Avoid assignment in comparisons. + * src/vipw.c: Replace PASSWD_FILE (resp. GROUP_FILE and + SGROUP_FILE) by pw_dbname () (resp. gr_dbname () and sgr_dbname ()). + This is more consistent with the shadow file handling and may be + useful to allow edition of another partition's files. + + +2010-03-11 Nicolas François + + * src/usermod.c: Re-indent. + * src/usermod.c: Avoid implicit conversion of pointers to + booleans. + * src/usermod.c: Added parenthesis. + +2010-03-11 Nicolas François + + * src/pwunconv.c: Only check USE_TCB if configured WITH_TCB. + +2010-03-10 Nicolas François + + * src/userdel.c: Re-indent. + * src/userdel.c: Avoid implicit conversion of pointers to + booleans. + * src/userdel.c: Document the sections closed by #endif + +2010-03-10 Nicolas François + + * src/pwconv.c: Only check USE_TCB if configured WITH_TCB. + +2010-03-10 Nicolas François + + * libmisc/copydir.c: Added parenthesis. + +2010-02-14 Michael Bunk + + * NEWS, lib/gshadow.c: Fix parsing of gshadow entries. + +2010-01-30 Paweł Hajdan, Jr. + + * NEWS: Add support for TCB. + * lib/tcbfuncs.h, lib/tcbfuncs.c, lib/Makefile.am: New library to + support TCB. + * lib/prototypes, libmisc/copydir.c (remove_tree): Add boolean + parameter remove_root. + * configure.in: Add conditional WITH_TCB. + * src/userdel.c, src/usermod.c: Add support for TCB. Update call to + remove_tree(). + * src/pwconv.c, src/pwunconv.c: Should not be used with TCB enabled. + * src/vipw.c: Add support for TCB. Update call to remove_tree(). + * src/useradd.c: Add support for TCB. Open the shadow file outside + of open_files(). + * src/chage.c: Add support for TCB. + * src/Makefile.am: Install passwd sgid shadow when TCB is enabled. + * lib/getdefs.c, man/vipw.8.xml, man/login.defs.5.xml, + man/login.defs/TCB_AUTH_GROUP.xml, man/login.defs/USE_TCB.xml, + man/login.defs/TCB_SYMLINKS.xml, man/generate_mans.mak, + man/generate_mans.deps, man/Makefile.am: New configuration + parameters: TCB_AUTH_GROUP, TCB_SYMLINKS, USE_TCB. + * lib/shadowio.c, lib/commonio.c: Add support for TCB. + +2010-01-24 Nicolas François + + * libmisc/env.c: Fix sanitize_env() noslash support. This fixes + Alioth#311740. + +2010-01-24 Nicolas François + + * src/su.c: Do not sanitize the environment. This breaks + --preserve-environment. This sanitation was disabled on Debian + since quite some time with no reported issues, and sanitize_env() + documentation agrees that it should be useless as all modern + Unixes will handle setuid executables properly. This fixes + Alioth#312287. + +2010-01-24 Nicolas François + + * libmisc/setupenv.c: Fix typo from 2009-11-01. + +2010-01-24 Paweł Hajdan, Jr. + + * configure.in: Add support for TCB in configure.in. Actual TCB + support will follow. + +2009-11-05 Nicolas François + + * NEWS, src/groupmod.c: Fixed groupmod when configured with + --enable-account-tools-setuid. + +2009-11-01 Nicolas François + + * NEWS, man/login.defs.d/ENV_SUPATH.xml, libmisc/setupenv.c: + Harmonize other paths and documentation with previous + change. + +2009-11-01 Michel Hermier + + * src/su.c: Set the default ENV_SUPATH to + /sbin:/bin:/usr/sbin:/usr/bin (i.e. PATH when no ENV_SUPATH is + specified). + +2009-10-15 Thorsten Kukuk + + * src/faillog.c, man/faillog.8.xml: Harmonize long option in code + and documentation. Use --lock-secs instead of --lock-time. + +2009-10-05 Miroslav Kure + + * po/cs.po: updated to 412t + +2009-09-29 Clytie Siddall + + * po/vi.po: updated to 412t + +2009-09-27 Miroslav Kure + + * po/cs.po: updated to 411t1f + +2009-09-24 Christian Perrier + + * man/po/fr.po: Updated French translation to 835t99f165 + +2009-09-24 Clytie Siddall + + * po/vi.po: updated to 348t30f34u + +2009-09-08 Nicolas François + + * lib/commonio.c: Avoid pre-decrement operator (--n). Add some + comments. + * libmisc/cleanup.c: Fix off by one in an assertion. + +2009-09-08 Nicolas François + + * src/su.c: Fix indentation. + * src/su.c: Add more messages for translation. + * src/su.c: Ignore kill() return value when sending the TERM + signal. If it fails, a KILL should be sent anyway. + +2009-09-08 Nicolas François + + * NEWS, src/su.c: When su receives a signal, wait for the child to + terminate (after sending a SIGTERM), and kill it only if it did + not terminate by itself. No delay will be enforced if the child + cooperates. See http://bugs.gentoo.org/282094 + * NEWS, man/su.1.xml: Document su's exit values. + +2009-09-08 Nicolas François + + * src/useradd.c: The default value for the CREATE_MAIL_SPOOL + variable (i.e. if CREATE_MAIL_SPOOL= is specified without any + values) is "no", not DCREATE_MAIL_SPOOL ("CREATE_MAIL_SPOOL="). + +2009-09-08 Nicolas François + + * src/useradd.c: Avoid redefinition of SHELL. Use DSHELL instead. + For consistency, change HOME, INACT, EXPIRE, SKEL, and + CREATE_MAIL_SPOOL to DHOME, DINACT, DEXPIRE, DSKEL, and + DCREATE_MAIL_SPOOL. + +2009-09-08 Nicolas François + + * src/newusers.c: Prefer #ifdef over #if. + +2009-09-08 Nicolas François + + * configure.in: We do not use SETPGRP_VOID, and already assume + that setpgrp has a void argument. Remove AC_FUNC_SETPGRP to ease + cross compiling. + +2009-09-07 Nicolas François + + * man/generate_translations.mak, man/generate_mans.mak, + po/Makefile.in.in: Removing and restoring the config.xml file + broke parallel builds. Build the manpages based on *.xml-config + files instead of *.xml files. The *.xml do not include config.xml + anymore, which permits to run xml2po without needing to remove + config.xml. The config.xml is restored in the *.xml-config files. + * man/groupadd.8.xml: Implementation of the above. + * man/generate_mans.deps: Updated dependencies + +2009-09-07 Steve Grubb + + * libmisc/limits.c: Fix the format to match the unsigned long + variable in argument. + * libmisc/utmp.c: Fix tests. tmptty is a variable stack. ut_host + is an array of the ut structure. None of them can be NULL. + +2009-09-07 Nicolas François + + * lib/shadowmem.c: Only copy the required fields of the struct + spwd. (start with the primitive types) + * lib/shadowmem.c: Avoid memzero() on a possibly NULL pointer. + * lib/groupmem.c: Only copy the required fields of the struct + group. (start with the primitive types) + * lib/groupmem.c: Avoid memzero() on a possibly NULL pointer. + * lib/groupmem.c: Free gr_mem in addition to its elements. + * lib/sgroupio.c: The struct sgrp has no primitive types to be + copied initially. + * lib/sgroupio.c: Avoid memzero() on a possibly NULL pointer. + * lib/sgroupio.c: Free sg_mem and sg_add in addition to their + elements. + * lib/pwmem.c: Only copy the required fields of the struct + passwd. (start with the primitive types) + +2009-09-07 Nicolas François + + * lib/sgroupio.h: Harmonize splint annotations of sgr_locate() + prototype with the one used in its definition. + +2009-09-07 Steve Grubb + + * libmisc/copydir.c, lib/shadowmem.c, lib/groupmem.c, lib/pwmem.c: + Fix some memory leaks. + +2009-09-06 Nicolas François + + * src/userdel.c, src/lastlog.c, src/gpasswd.c, src/newusers.c, + src/chpasswd.c, src/groupmems.c, src/usermod.c, src/chgpasswd.c, + src/vipw.c, src/su.c, src/useradd.c, src/groupmod.c, src/passwd.c, + src/groupadd.c, src/chage.c, src/faillog.c, src/chsh.c: Use + booleans for tests. + * src/userdel.c, src/gpasswd.c, src/groupmems.c, src/usermod.c, + src/groupmod.c, src/passwd.c: Use a break even after usage(). + +2009-09-05 Nicolas François + + * src/gpasswd.c, src/groupmems.c: Split the groupmems and gpasswd + Usage string. It was changed anyway to add the --help option. + +2009-09-05 Mike Frysinger + + * NEWS, src/userdel.c, src/lastlog.c, src/gpasswd.c, + src/newusers.c, src/chpasswd.c, src/groupmems.c, src/usermod.c, + src/chgpasswd.c, src/vipw.c, src/su.c, src/useradd.c, + src/groupmod.c, src/passwd.c, src/groupadd.c, src/chage.c, + src/faillog.c, src/chsh.c: If someone uses the -h/--help options, + the usage should not go to stderr nor should the utility exit with + non-zero status. All of the shadow utils do just this + unfortunately, so convert them over to sanity. + * man/groupmems.8.xml, man/gpasswd.1.xml: Added option -h/--help. + +2009-09-05 Nicolas François + + * src/useradd.c: Fixed wrong format string. + * lib/gshadow.c: Removed declaration of unused variable. + +2009-08-30 Mike Frysinger + + * man/generate_mans.mak, man/generate_translations.mak: Provide an + useful error message when --enable-man is not enabled and the + translated manpages are not generated. + +2009-08-21 Nicolas François + + * man/login.defs.d/ENCRYPT_METHOD.xml: Avoid using sub-lists. They + break the groff formatting. + +2009-07-24 Nicolas François + + * po/fr.po: Fix typos, based on reviews by the Debian French + translation team. + +2009-07-24 Nicolas François + + * NEWS, configure.in: Prepare for the next release 4.1.4.2. + * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated. + * po/*.po, man/po/*.po: Updated PO files. + +2009-07-23 Nicolas François + + * configure.in: Fixed definition of the SHELL configuration. + +2009-07-23 Nicolas François + + * etc/login.defs: SYS_GID_MIN /SYS_UID_MIN changed from 100 to + 101. GID 100 seems to be used statically. + +2009-07-22 Nicolas François + + * libmisc/shell.c, src/su.c: Execute the scripts with "sh -" + rather than "sh". + +2009-07-22 Nicolas François + + * configure.in, libmisc/shell.c, libmisc/setupenv.c, src/newgrp.c, + src/su.c: Let the system shell be configurable. + +2009-07-20 Nicolas François + + * NEWS, src/su.c, libmisc/shell.c: Added support for shells being a + shell script without a shebang. + +2009-07-19 Jean-Louis Dupond + + * po/nl.po: Fix obvious mistake in Dutch translation. + +2009-07-18 Peter Vrabec + + * NEWS, libmisc/find_new_gid.c, libmisc/find_new_uid.c: Do not use + getpwent / getgrent for system accounts. Trying the low-IDs with + getpwuid / getgrgid should be more efficient on LDAP configured + systems with many accounts. + * NEWS, libmisc/find_new_gid.c, libmisc/find_new_uid.c: Since + system accounts are allocated from SYS_?ID_MIN to SYS_?ID_MAX in + reverse order, accounts are packed close to SYS_?ID_MAX if + SYS_?ID_MIN is already used but there are still dome gaps. + +2009-07-05 Piarres Beobide + + * po/eu.po: Updated Basque translation. + +2009-06-20 Nicolas François + + * man/fi/Makefile.am: Stop distributing the Finnish translation of + passwd.1 (outdated). + +2009-06-20 Nicolas François + + * man/pwck.8.xml: The shadow file is optional. + * man/pwck.8.xml: Updated description of the checks. Added + description of the shadow checks. + * man/pwck.8.xml: Updated description of the checks. + +2009-06-12 Nicolas François + + * man/po/fr.po: Fixed typo (forunis) + +2009-06-12 Nicolas François + + * lib/fputsx.c: Compare the result of fgets() with the provided + buffer instead of NULL. + +2009-06-12 Nicolas François + + * lib/gshadow.c: Removed limitation on the length of the gshadow + lines. + * lib/gshadow.c: Compare the result of fgetsx() with the provided + buffer instead of NULL. + +2009-06-11 Nicolas François + + * libmisc/xgetXXbyYY.c, libmisc/xgetpwnam.c, libmisc/xgetgrnam.c, + libmisc/xgetpwuid.c, libmisc/xgetgrgid.c, libmisc/xgetspnam.c: Do + not limit the size of the buffer to hold the group or user + structure. It used to be limited to 16k, which caused issues with + groups having many users. + +2009-06-11 Nicolas François + + * src/su.c, man/su.1.xml: The default behavior (without -p or + --login) is to copy most of the environment variables. Revert a + previous change and update the documentation. + +2009-06-06 Nicolas François + + * man/passwd.5.xml, man/shadow.5.xml: Document the passwd- and + shadow- files. + +2009-06-06 Nicolas François + + * NEWS, src/su.c: Preserve the DISPLAY and XAUTHORITY environment + variables, even with --login. This was not the case before in the + PAM version. + +2009-06-06 Nicolas François + + * src/useradd.c, src/groupmod.c, src/groupadd.c, src/faillog.c: + Fix typos. Take this opportunity to split the usage messages into + smaller messages (one per option). + * src/pwck.c: Fix typo. + +2009-06-05 Petri Koistinen + + * man/passwd.1.xml: The short option for --mindays is -n, not -m. + +2009-06-04 Mike Frysinger + + * .gitignore, man/.gitignore, src/.gitignore: Added .gitignore + files. + +2009-06-04 Nicolas François + + * man/su.1.xml: Use