]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
[svn-upgrade] Integrating new upstream version, shadow (4.0.10)
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sun, 7 Oct 2007 11:46:25 +0000 (11:46 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sun, 7 Oct 2007 11:46:25 +0000 (11:46 +0000)
243 files changed:
ABOUT-NLS
ChangeLog
Makefile.in
NEWS
acconfig.h
aclocal.m4
config.guess
config.h.in
config.rpath
config.sub
configure
configure.in
contrib/Makefile.in
depcomp
doc/Makefile.in
etc/Makefile.in
etc/pam.d/Makefile.in
install-sh
lib/Makefile.in
lib/defines.h
lib/encrypt.c
lib/getdef.c
lib/groupio.c
lib/gshadow.c
lib/lockpw.c
lib/prototypes.h
lib/pwauth.h
lib/pwio.c
lib/shadow.c
lib/shadowio.c
lib/sppack.c
libmisc/Makefile.am
libmisc/Makefile.in
libmisc/age.c
libmisc/entry.c
libmisc/failure.c
libmisc/failure.h
libmisc/getdate.c
libmisc/getdate.y
libmisc/isexpired.c
libmisc/limits.c
libmisc/pwd2spwd.c
libmisc/pwdcheck.c
libmisc/salt.c
libmisc/setup.c [deleted file]
ltmain.sh
m4/gettext.m4 [deleted file]
m4/iconv.m4 [deleted file]
m4/lib-ld.m4 [deleted file]
m4/lib-link.m4 [deleted file]
m4/lib-prefix.m4 [deleted file]
m4/nls.m4 [deleted file]
m4/po.m4 [deleted file]
m4/progtest.m4 [deleted file]
man/Makefile.am
man/Makefile.in
man/chage.1
man/chage.1.xml
man/chfn.1
man/chfn.1.xml
man/chpasswd.8
man/chpasswd.8.xml
man/chsh.1
man/chsh.1.xml
man/cs/Makefile.in
man/de/Makefile.in
man/de/passwd.1
man/es/Makefile.in
man/expiry.1
man/expiry.1.xml
man/faillog.5
man/faillog.5.xml
man/faillog.8
man/faillog.8.xml
man/fr/Makefile.in
man/gpasswd.1
man/gpasswd.1.xml
man/groupadd.8
man/groupadd.8.xml
man/groupdel.8
man/groupdel.8.xml
man/groupmems.8.xml
man/groupmod.8
man/groupmod.8.xml
man/groups.1
man/groups.1.xml
man/grpck.8
man/grpck.8.xml
man/gshadow.5
man/gshadow.5.xml
man/hu/Makefile.in
man/id.1
man/id.1.xml
man/id/Makefile.in
man/it/Makefile.in
man/ja/Makefile.am
man/ja/Makefile.in
man/ja/mkpasswd.8 [deleted file]
man/ko/Makefile.in
man/lastlog.8
man/lastlog.8.xml
man/limits.5.xml
man/login.1
man/login.1.xml
man/login.access.5.xml
man/login.defs.5
man/login.defs.5.xml
man/logoutd.8.xml
man/mkpasswd.8 [deleted file]
man/mkpasswd.8.xml [deleted file]
man/newusers.8
man/newusers.8.xml
man/passwd.1
man/passwd.1.xml
man/passwd.5
man/passwd.5.xml
man/pl/Makefile.am
man/pl/Makefile.in
man/pl/mkpasswd.8 [deleted file]
man/pt_BR/Makefile.in
man/pw_auth.3
man/pw_auth.3.xml
man/pwck.8
man/pwck.8.xml
man/pwconv.8
man/pwconv.8.xml
man/ru/Makefile.in
man/shadow.3
man/shadow.3.xml
man/shadow.5
man/shadow.5.xml
man/shadowconfig.8
man/shadowconfig.8.xml
man/su.1
man/su.1.xml
man/suauth.5.xml
man/sulogin.8.xml
man/useradd.8
man/useradd.8.xml
man/userdel.8
man/userdel.8.xml
man/usermod.8
man/usermod.8.xml
man/vipw.8
man/vipw.8.xml
man/zh_CN/Makefile.in
man/zh_TW/Makefile.in
missing
mkinstalldirs
po/ChangeLog [deleted file]
po/Makefile.in.in
po/POTFILES.in
po/Rules-quot
po/bs.gmo
po/bs.po
po/ca.gmo
po/ca.po
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/el.gmo
po/el.po
po/es.gmo
po/es.po
po/eu.gmo
po/eu.po
po/fi.gmo
po/fi.po
po/fr.gmo
po/fr.po
po/he.gmo
po/he.po
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/ko.gmo
po/ko.po
po/nb.gmo
po/nb.po
po/nl.gmo
po/nl.po
po/nn.gmo
po/nn.po
po/pl.gmo
po/pl.po
po/pt.gmo
po/pt.po
po/pt_BR.gmo
po/pt_BR.po
po/ro.gmo
po/ro.po
po/ru.gmo
po/ru.po
po/shadow.pot
po/sk.gmo
po/sk.po
po/sq.gmo
po/sq.po
po/sv.gmo
po/sv.po
po/tl.gmo
po/tl.po
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/vi.gmo
po/vi.po
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
src/Makefile.am
src/Makefile.in
src/chage.c
src/chfn.c
src/chpasswd.c
src/expiry.c
src/faillog.c
src/gpasswd.c
src/groupadd.c
src/groupdel.c
src/groupmod.c
src/id.c
src/login.c
src/mkpasswd.c [deleted file]
src/newgrp.c
src/newusers.c
src/passwd.c
src/pwck.c
src/pwconv.c
src/pwunconv.c
src/su.c
src/useradd.c
src/userdel.c
src/usermod.c
src/vipw.c

index e0507743db22ddf861d137567a9116ec0f81dde7..47d5e39f0e1a0e94d55613496dc65eb016be95cf 100644 (file)
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -1,11 +1,10 @@
-Notes on the Free Translation Project
-***************************************
+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.
+   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 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,
@@ -16,17 +15,17 @@ 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.
+work at translations should contact the appropriate team.
 
    When reporting bugs in the `intl/' directory or bugs which may be
 related to internationalization, you should tell about the version of
 `gettext' which is used.  The information can be found in the
 `intl/VERSION' file, in internationalized packages.
 
-1.1 Quick configuration advice
-==============================
+Quick configuration advice
+==========================
 
-If you want to exploit the full power of internationalization, you
+   If you want to exploit the full power of internationalization, you
 should configure it using
 
      ./configure --with-included-gettext
@@ -46,37 +45,37 @@ to change to GNU `gettext' as soon as possible.
 you have installed a recent copy of the GNU gettext package with the
 included `libintl'.
 
-1.2 INSTALL Matters
-===================
+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'.
+   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.  If not, the included GNU
-`gettext' library will be used.  This library is wholly contained
-within this package, usually in the `intl/' subdirectory, so prior
-installation of the GNU `gettext' package is _not_ required.
-Installers may use special options at configuration time for changing
-the default behaviour.  The commands:
+provides the GNU `gettext' functions.  If not, the GNU `gettext' own
+library will be used.  This library is wholly contained within this
+package, usually in the `intl/' subdirectory, so prior installation of
+the GNU `gettext' package is _not_ required.  Installers may use
+special options at configuration time for changing the default
+behaviour.  The commands:
 
      ./configure --with-included-gettext
      ./configure --disable-nls
 
-will, respectively, bypass any pre-existing `gettext' to use the
+will respectively bypass any pre-existing `gettext' to use the
 internationalizing routines provided within this package, or else,
 _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.a' file and
-will decide to use this.  This might not be desirable.  You should use
-the more recent version of the GNU `gettext' library.  I.e. if the file
-`intl/VERSION' shows that the library which comes with this package is
-more recent, you should use
+will decide to use this.  This might be not what is desirable.  You
+should use the more recent version of the GNU `gettext' library.  I.e.
+if the file `intl/VERSION' shows that the library which comes with this
+package is more recent, you should use
 
      ./configure --with-included-gettext
 
@@ -87,7 +86,7 @@ and therefore it will not be used.  The reason is that even an
 emulation of `gettext' on top of `catgets' could not provide all the
 extensions of the GNU `gettext' library.
 
-   Internationalized packages usually have many `po/LL.po' files, where
+   Internationalized packages have usually 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
@@ -96,10 +95,10 @@ 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.3 Using This Package
-======================
+Using This Package
+==================
 
-As a user, if your language has been installed for this package, you
+   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.  Here `LL' is an ISO 639 two-letter language code,
 and `CC' is an ISO 3166 two-letter country code.  For example, let's
@@ -132,23 +131,16 @@ 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.4 Translating Teams
-=====================
+Translating Teams
+=================
 
-For the Free Translation Project to be a success, we need interested
+   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
@@ -175,784 +167,426 @@ coordinator for all translator teams.
 the terminology in use.  Proven linguistic skill are praised more than
 programming skill, here.
 
-1.5 Available Packages
-======================
+Available Packages
+==================
 
-Languages are not equally supported in all packages.  The following
-matrix shows the current state of internationalization, as of March
-2005.  The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
+   Languages are not equally supported in all packages.  The following
+matrix shows the current state of internationalization, as of May 2003.
+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 ar az be bg bs ca cs cy da de el en en_GB
-                        +-------------------------------------------------+
-     GNUnet             |                                                 |
-     a2ps               |             []                [] [] []     []   |
-     aegis              |                                  ()             |
-     ant-phone          |                                  ()             |
-     anubis             |                                  []             |
-     ap-utils           |                                                 |
-     aspell             |                         []    [] []        []   |
-     bash               |                      []          []             |
-     batchelor          |                                  []             |
-     bfd                |                               []                |
-     bibshelf           |                                  []             |
-     binutils           |                               []                |
-     bison              |                               [] []             |
-     bluez-pin          | []                      []       [] []          |
-     clisp              |                                  []    []       |
-     console-tools      |                         []       []             |
-     coreutils          |                []    []       [] []             |
-     cpio               |                                                 |
-     cpplib             |                      []       [] []             |
-     darkstat           |                []             () []             |
-     dialog             |                      [] [] [] [] [] []          |
-     diffutils          |                      [] []    [] [] []          |
-     doodle             |                                  []             |
-     e2fsprogs          |                         []       []             |
-     enscript           |                      []       [] []        []   |
-     error              |                      []       [] []        []   |
-     fetchmail          |                      [] ()    [] [] []          |
-     fileutils          |                               [] []             |
-     findutils          |                      []       []    []          |
-     flex               |                      []       [] []             |
-     fslint             |                                  []             |
-     gas                |                                                 |
-     gawk               |                      []       [] []             |
-     gbiff              |                                  []             |
-     gcal               |                      []                         |
-     gcc                |                                  []             |
-     gettext-examples   | []                   []          [] []          |
-     gettext-runtime    |             []       []       [] []             |
-     gettext-tools      |                      []          []             |
-     gimp-print         |                         []    [] []        []   |
-     gip                |                                                 |
-     gliv               |                                  []             |
-     glunarclock        |                                  []             |
-     gmult              | []                               []             |
-     gnubiff            |                                  ()             |
-     gnucash            |                         []       () ()     []   |
-     gnucash-glossary   |                               [] ()             |
-     gnupg              |                      [] ()       [] []          |
-     gpe-aerial         |                         []       []             |
-     gpe-beam           |                         []       []             |
-     gpe-calendar       |                         []       []             |
-     gpe-clock          |                         []       []             |
-     gpe-conf           |                         []       []             |
-     gpe-contacts       |                                                 |
-     gpe-edit           |                         []                      |
-     gpe-go             |                         []                      |
-     gpe-login          |                         []       []             |
-     gpe-ownerinfo      |                         []       []             |
-     gpe-sketchbook     |                         []       []             |
-     gpe-su             |                         []       []             |
-     gpe-taskmanager    |                         []       []             |
-     gpe-timesheet      |                         []                      |
-     gpe-today          |                         []       []             |
-     gpe-todo           |                         []       []             |
-     gphoto2            |                         []    [] []        []   |
-     gprof              |                               [] []             |
-     gpsdrive           |                                  ()    ()       |
-     gramadoir          | []                               []             |
-     grep               | []          [] []    []          [] []          |
-     gretl              |                                                 |
-     gsasl              |                                  []             |
-     gss                |                                                 |
-     gst-plugins        | []       []          [] []       []        []   |
-     gstreamer          | []                   [] []       []        []   |
-     gtick              | []                               ()             |
-     gtkspell           |             []                   [] []          |
-     hello              |                      []       [] [] []          |
-     id-utils           |                               [] []             |
-     impost             |                                                 |
-     indent             |                      []          []             |
-     iso_3166           |                                                 |
-     iso_3166_1         |                      [] []    [] [] []          |
-     iso_3166_2         |                                                 |
-     iso_3166_3         |                                  []             |
-     iso_4217           |                                                 |
-     iso_639            |                                                 |
-     jpilot             |                         []                      |
-     jtag               |                                                 |
-     jwhois             |                                                 |
-     kbd                |                         []    [] [] []          |
-     latrine            |                                  ()             |
-     ld                 |                               []                |
-     libc               |                      [] []    [] [] []          |
-     libextractor       |                                                 |
-     libgpewidget       |                         []    [] []             |
-     libgsasl           |                                                 |
-     libiconv           | []                   []       [] [] []          |
-     libidn             |                                                 |
-     lifelines          |                               [] ()             |
-     lilypond           |                                  []             |
-     lingoteach         |                                                 |
-     lynx               |                      [] []    [] []             |
-     m4                 |                         []    [] [] []          |
-     mailutils          |                      []                         |
-     make               |                               [] []             |
-     man-db             |                      [] ()    [] []             |
-     minicom            |                         []       []             |
-     mysecretdiary      |                               [] []             |
-     nano               |                      [] ()       []             |
-     nano_1_0           |                      [] ()    [] []             |
-     opcodes            |                                  []             |
-     parted             |                      [] []    [] []             |
-     psmisc             |                                                 |
-     ptx                |                      []       [] []             |
-     pwdutils           |                                                 |
-     python             |                                                 |
-     radius             |                      []                         |
-     recode             |             []       []       [] [] []          |
-     rpm                |                         []    []                |
-     screem             |                                                 |
-     scrollkeeper       |          [] []       [] [] [] [] []        []   |
-     sed                |                      []          []             |
-     sh-utils           |                               [] []             |
-     shared-mime-info   |                         [] []                   |
-     sharutils          |                      [] []    [] [] []          |
-     silky              |                                  ()             |
-     skencil            |                               [] ()             |
-     sketch             |                               [] ()             |
-     solfege            |                                  []             |
-     soundtracker       |                               [] []             |
-     sp                 |                                  []             |
-     stardict           |                         []                      |
-     tar                |                                                 |
-     texinfo            |                               [] []             |
-     textutils          |                      []       [] []             |
-     tin                |                                  ()        ()   |
-     tp-robot           |                                  []             |
-     tuxpaint           | []                   [] []    [] [] []     []   |
-     unicode-han-tra... |                                                 |
-     unicode-transla... |                                                 |
-     util-linux         |                      [] []    [] []             |
-     vorbis-tools       |             []          []    []           []   |
-     wastesedge         |                                  ()             |
-     wdiff              |                      []       [] []        []   |
-     wget               |                []    []       [] [] []     []   |
-     xchat              |                      []          [] []     []   |
-     xkeyboard-config   |                                                 |
-     xpad               |                                                 |
-                        +-------------------------------------------------+
-                          af am ar az be bg bs ca cs cy da de el en en_GB
-                          10  0  0  2  7  4  0 42 43  3 53 92 21  1  15
-
-                          eo es et eu fa fi fr  ga gl he hr hu id is it
-                        +-----------------------------------------------+
-     GNUnet             |                                               |
-     a2ps               |       []       [] []                       () |
-     aegis              |                                               |
-     ant-phone          |                   []                          |
-     anubis             |                   []                          |
-     ap-utils           |                   []                          |
-     aspell             |                   []  []                      |
-     bash               | [] []             []              []          |
-     batchelor          |                   []  []                      |
-     bfd                |    []             []                          |
-     bibshelf           |    []                 []                   [] |
-     binutils           |    []             []                          |
-     bison              |    [] []          []  []             []    [] |
-     bluez-pin          | []             [] []  []          [] []       |
-     clisp              |    []             []                          |
-     console-tools      |                                               |
-     coreutils          |    [] []       [] []  []                      |
-     cpio               |    []             []                          |
-     cpplib             |    []             []                          |
-     darkstat           |    []             ()  []          [] []       |
-     dialog             |    [] [] []    [] []  []          []       [] |
-     diffutils          | [] []          [] []  [] [] []    [] []    [] |
-     doodle             |                       []                   [] |
-     e2fsprogs          |    []             []                       [] |
-     enscript           |                   []           []             |
-     error              |    []          [] []  []          []          |
-     fetchmail          |    []                                         |
-     fileutils          |    [] []          []  []          []       [] |
-     findutils          |    [] []          []  []                   [] |
-     flex               |    []             []  []                      |
-     fslint             |                   []                          |
-     gas                |    []             []                          |
-     gawk               |    []             []        []                |
-     gbiff              |                   []                          |
-     gcal               |    []             []                          |
-     gcc                |    []                                         |
-     gettext-examples   |    []             []  []                   [] |
-     gettext-runtime    |    []          [] []  []             []    [] |
-     gettext-tools      |    []             []                          |
-     gimp-print         |    []             []                          |
-     gip                |    []    []       []                          |
-     gliv               |                   ()                          |
-     glunarclock        |                []     []          []          |
-     gmult              |          []       []                       [] |
-     gnubiff            |                   ()                       () |
-     gnucash            |    []                             ()       [] |
-     gnucash-glossary   |    []                                      [] |
-     gnupg              | [] [] []       [] []     []          []    [] |
-     gpe-aerial         |    []             []                          |
-     gpe-beam           |    []             []                          |
-     gpe-calendar       |    []             []              [] []       |
-     gpe-clock          |    []          [] []                          |
-     gpe-conf           |                   []                          |
-     gpe-contacts       |                   []                          |
-     gpe-edit           |                   []                 []       |
-     gpe-go             |    []             []                          |
-     gpe-login          |    []             []              []          |
-     gpe-ownerinfo      |    []          [] []              [] []       |
-     gpe-sketchbook     |    []             []                          |
-     gpe-su             |    []          [] []                          |
-     gpe-taskmanager    |    []          [] []                          |
-     gpe-timesheet      |    []             []  []             []       |
-     gpe-today          |    []          [] []  []                      |
-     gpe-todo           |    []             []                 []       |
-     gphoto2            |    []          [] []              []       [] |
-     gprof              |    []             []                 []       |
-     gpsdrive           |    ()             ()              []       () |
-     gramadoir          |                   []  []                      |
-     grep               |    [] [] []    [] []  [] [] [] [] [] []    [] |
-     gretl              |    []             []                       [] |
-     gsasl              |          []       []  []                      |
-     gss                |                   []                          |
-     gst-plugins        |                   []              []       [] |
-     gstreamer          |                                            [] |
-     gtick              |          []    [] []  []                   [] |
-     gtkspell           | [] []    []       []  []                   [] |
-     hello              | [] [] [] [] [] [] []  [] [] [] [] [] []    [] |
-     id-utils           |                   []              [] []    [] |
-     impost             |                   []  []                      |
-     indent             | [] [] [] []    [] []  [] []       [] []    [] |
-     iso_3166           | []                []                          |
-     iso_3166_1         |    []    []       []  []          [] []       |
-     iso_3166_2         |                   []                          |
-     iso_3166_3         |                   []                          |
-     iso_4217           |       []                 []                   |
-     iso_639            | []          []    []                          |
-     jpilot             |    []             []                          |
-     jtag               |                   []                          |
-     jwhois             |    []             []              [] []    [] |
-     kbd                |    []             []                          |
-     latrine            |                   []  []                   [] |
-     ld                 |    []             []                          |
-     libc               |    []          [] []     []       []          |
-     libextractor       |                                               |
-     libgpewidget       |    []             []  []          [] []       |
-     libgsasl           |                   []  []                      |
-     libiconv           | [] [] []       [] []  [] []    [] [] []    [] |
-     libidn             |                   []                       [] |
-     lifelines          |                   ()                          |
-     lilypond           |                   []                          |
-     lingoteach         |                   []                 []    [] |
-     lynx               |       []                          []       [] |
-     m4                 |                   []  [] []          []       |
-     mailutils          |    []             []                          |
-     make               |    []          [] []  [] [] [] []             |
-     man-db             |    ()                                         |
-     minicom            |    []          [] []              []          |
-     mysecretdiary      |    []             []                 []       |
-     nano               |    []    []    () []                       [] |
-     nano_1_0           |    []             []     []          []    [] |
-     opcodes            |    []             []                          |
-     parted             |    []             []     []                [] |
-     psmisc             |          []                                [] |
-     ptx                | [] [] []       [] []  [] []       [] []       |
-     pwdutils           |                                               |
-     python             |                                               |
-     radius             |    []             []                          |
-     recode             | [] []             []     [] []    [] []    [] |
-     rpm                |                   []                          |
-     screem             |                                               |
-     scrollkeeper       |    []                             []          |
-     sed                |    [] []          []  []          []          |
-     sh-utils           |    [] []       [] []  []          []       [] |
-     shared-mime-info   | [] []    []    [] []              []          |
-     sharutils          |    [] []       [] []     []       []       [] |
-     silky              |                () []              ()       () |
-     skencil            |    []             []                          |
-     sketch             |    []             []                          |
-     solfege            |                                            [] |
-     soundtracker       |    []             []                       [] |
-     sp                 |                   []                          |
-     stardict           |                                   []          |
-     tar                |    [] []          []  []                   [] |
-     texinfo            | []                []        []                |
-     textutils          |    []             []  [] []       []          |
-     tin                |       []          ()                          |
-     tp-robot           |                   []              []          |
-     tuxpaint           |    []          [] []  []    []    [] [] [] [] |
-     unicode-han-tra... |                                               |
-     unicode-transla... |                   []  []                      |
-     util-linux         |    [] []       [] []              []       [] |
-     vorbis-tools       |    []             []                          |
-     wastesedge         |                   ()                          |
-     wdiff              |    [] []          []  [] []       [] []    [] |
-     wget               |    [] [] []    [] []  [] []    [] []       [] |
-     xchat              |    []    []    [] []                       [] |
-     xkeyboard-config   |                                               |
-     xpad               |    []                 []          []          |
-                        +-----------------------------------------------+
-                          eo es et eu fa fi fr  ga gl he hr hu id is it
-                          14 86 22 15  2 31 117 44 18  8  6 40 28  1 45
-
-                          ja ko lg lt lv mk mn ms mt nb nl nn no nso or
-                        +-----------------------------------------------+
-     GNUnet             |                                               |
-     a2ps               |    ()                []       []    ()        |
-     aegis              |                               ()              |
-     ant-phone          |                               []              |
-     anubis             |                      []    [] []              |
-     ap-utils           |                                               |
-     aspell             |                   []          []              |
-     bash               |                               []              |
-     batchelor          |                               []              |
-     bfd                |                                               |
-     bibshelf           |                                               |
-     binutils           | []                                            |
-     bison              |                      []    [] []              |
-     bluez-pin          |                               []              |
-     clisp              |                               []              |
-     console-tools      |                                               |
-     coreutils          | []                            []              |
-     cpio               |                                               |
-     cpplib             |                                               |
-     darkstat           |                      []       []              |
-     dialog             |                               []              |
-     diffutils          | []                   []       []              |
-     doodle             |                                               |
-     e2fsprogs          |                                               |
-     enscript           |                               []              |
-     error              |                               []              |
-     fetchmail          | []                            []              |
-     fileutils          | []    []                                      |
-     findutils          |                                               |
-     flex               |    []                         []              |
-     fslint             |                               []              |
-     gas                |                                               |
-     gawk               | []                            []              |
-     gbiff              |                               []              |
-     gcal               |                                               |
-     gcc                |                                               |
-     gettext-examples   | []                            []              |
-     gettext-runtime    | [] []                         []              |
-     gettext-tools      | [] []                                         |
-     gimp-print         | []                            []              |
-     gip                |                               []              |
-     gliv               |                               []              |
-     glunarclock        |                      []       []              |
-     gmult              | []                                            |
-     gnubiff            |                                               |
-     gnucash            | ()                         () []              |
-     gnucash-glossary   |                               []              |
-     gnupg              | []                            []              |
-     gpe-aerial         |                               []              |
-     gpe-beam           |                               []              |
-     gpe-calendar       |                               []              |
-     gpe-clock          |                               []              |
-     gpe-conf           |                               []              |
-     gpe-contacts       |                                               |
-     gpe-edit           |                               []              |
-     gpe-go             |                               []              |
-     gpe-login          |                               []              |
-     gpe-ownerinfo      |                               []              |
-     gpe-sketchbook     |                               []              |
-     gpe-su             |                               []              |
-     gpe-taskmanager    |                               []              |
-     gpe-timesheet      |                               []              |
-     gpe-today          |                               []              |
-     gpe-todo           |                               []              |
-     gphoto2            | []                            []              |
-     gprof              |                                               |
-     gpsdrive           | ()                            ()    ()        |
-     gramadoir          |                               ()              |
-     grep               | []                         [] []              |
-     gretl              |                                               |
-     gsasl              |                               []              |
-     gss                |                                               |
-     gst-plugins        |                               []           [] |
-     gstreamer          |                               []              |
-     gtick              |                               []              |
-     gtkspell           |                   []          []              |
-     hello              | [] []       []       []    [] [] [] []        |
-     id-utils           |                               []              |
-     impost             |                                               |
-     indent             | []                            []              |
-     iso_3166           |                               []              |
-     iso_3166_1         |                               []    []        |
-     iso_3166_2         |                               []              |
-     iso_3166_3         |                               []              |
-     iso_4217           | []                []          []              |
-     iso_639            | []                            [] []           |
-     jpilot             | ()                            ()    ()        |
-     jtag               |                                               |
-     jwhois             |                               []              |
-     kbd                |                               []              |
-     latrine            |                               []              |
-     ld                 |                                               |
-     libc               | [] []                      [] []    []        |
-     libextractor       |                                               |
-     libgpewidget       |                               []              |
-     libgsasl           |                               []              |
-     libiconv           |                               []              |
-     libidn             |                                               |
-     lifelines          |                               []              |
-     lilypond           |                               []              |
-     lingoteach         |                               []              |
-     lynx               | []                            []              |
-     m4                 | []                            []              |
-     mailutils          |                                               |
-     make               | [] []                         []              |
-     man-db             | ()                                            |
-     minicom            | []                                            |
-     mysecretdiary      |                               []              |
-     nano               |                      []    []                 |
-     nano_1_0           |                      []    []    []           |
-     opcodes            |                               []              |
-     parted             | []                               []           |
-     psmisc             |                            [] []              |
-     ptx                |                            [] []    []        |
-     pwdutils           |                                               |
-     python             |                                               |
-     radius             |                                               |
-     recode             |                               []              |
-     rpm                | [] []                                         |
-     screem             | []                                            |
-     scrollkeeper       |                            [] [] []           |
-     sed                | []                            []              |
-     sh-utils           | []                         []                 |
-     shared-mime-info   |    []                      [] [] []           |
-     sharutils          | []                            []              |
-     silky              |                               []              |
-     skencil            |                                               |
-     sketch             |                                               |
-     solfege            |                               []    []        |
-     soundtracker       |                                               |
-     sp                 | ()                                            |
-     stardict           |                []             []              |
-     tar                | []                            []              |
-     texinfo            | []                         [] []              |
-     textutils          | [] []                      []                 |
-     tin                |                                               |
-     tp-robot           |                               []              |
-     tuxpaint           | [] []    []          []       [] []           |
-     unicode-han-tra... |                                               |
-     unicode-transla... |                                               |
-     util-linux         | []                            []              |
-     vorbis-tools       |                               []              |
-     wastesedge         |                               []              |
-     wdiff              |                      []    []                 |
-     wget               | []                            []              |
-     xchat              |    []       [] []             []              |
-     xkeyboard-config   |                               []              |
-     xpad               |                               []              |
-                        +-----------------------------------------------+
-                          ja ko lg lt lv mk mn ms mt nb nl nn no nso or
-                          35 11  1  1  2  2  3 11  0 15 96  7  5  0   1
-
-                          pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
-                        +----------------------------------------------+
-     GNUnet             |                                              |
-     a2ps               |    ()     []      [] []       []    [] []    |
-     aegis              |                   () ()                      |
-     ant-phone          |                   []                         |
-     anubis             |    []             [] []                      |
-     ap-utils           |    ()                                        |
-     aspell             |                   [] []                      |
-     bash               |           []      [] []                      |
-     batchelor          |                   []                         |
-     bfd                |                   []                   []    |
-     bibshelf           |                                              |
-     binutils           |                      []                []    |
-     bison              |    []     []      [] []                []    |
-     bluez-pin          |    []     []   [] [] []    []       [] []    |
-     clisp              |                      []                      |
-     console-tools      |                      []                      |
-     coreutils          |    []                []       []       []    |
-     cpio               |    []                                  []    |
-     cpplib             |                                              |
-     darkstat           |    []     []      []       []       [] []    |
-     dialog             |    [] []  []   [] [] []                      |
-     diffutils          |    []     []      [] []             [] []    |
-     doodle             |                                  []          |
-     e2fsprogs          |    []                                  []    |
-     enscript           |           []      [] []                []    |
-     error              |           []      []       []                |
-     fetchmail          |    []     ()         []    []    []          |
-     fileutils          |    []             [] []       []       []    |
-     findutils          |    [] []          []       []       [] []    |
-     flex               |    []     []      [] []                []    |
-     fslint             |           []      []                []       |
-     gas                |                                              |
-     gawk               |    []     []      []                   []    |
-     gbiff              |                   []                         |
-     gcal               |                                        []    |
-     gcc                |                                              |
-     gettext-examples   |    []             [] []    []       [] []    |
-     gettext-runtime    |    []             [] []    [] []    [] []    |
-     gettext-tools      |    []             [] []    [] []    [] []    |
-     gimp-print         |                            []          []    |
-     gip                |                []          []       []       |
-     gliv               |           []      []       []                |
-     glunarclock        |           []      [] []    []       [] []    |
-     gmult              |           []   [] []                []       |
-     gnubiff            |                   ()                   []    |
-     gnucash            |    () []             []    []          []    |
-     gnucash-glossary   |       []                   []          []    |
-     gnupg              |                   []       []          []    |
-     gpe-aerial         |       []  []      [] []             [] []    |
-     gpe-beam           |       []  []      [] []             [] []    |
-     gpe-calendar       |       []  []      [] []    []       [] []    |
-     gpe-clock          |       []  []      [] []    []       [] []    |
-     gpe-conf           |       []  []      [] []    []          []    |
-     gpe-contacts       |                   [] []                []    |
-     gpe-edit           |       []  []      [] []    []       [] []    |
-     gpe-go             |           []      [] []             [] []    |
-     gpe-login          |       []  []      [] []    []       [] []    |
-     gpe-ownerinfo      |       []  []      [] []    []       [] []    |
-     gpe-sketchbook     |       []  []      [] []    []       [] []    |
-     gpe-su             |       []  []      [] []    []       [] []    |
-     gpe-taskmanager    |       []  []      [] []    []       [] []    |
-     gpe-timesheet      |       []  []      [] []    []       [] []    |
-     gpe-today          |       []  []      [] []    []       [] []    |
-     gpe-todo           |       []  []      [] []    []       [] []    |
-     gphoto2            |                   []       []       [] []    |
-     gprof              |           []      []                   []    |
-     gpsdrive           |                   []                         |
-     gramadoir          |                            []                |
-     grep               |    [] []  []      [] []       []    []       |
-     gretl              |    []                                        |
-     gsasl              |    []             []             [] [] []    |
-     gss                |    []             []                   []    |
-     gst-plugins        |                                  [] [] []    |
-     gstreamer          |                      []          [] [] []    |
-     gtick              |                   [] []                []    |
-     gtkspell           |           []   [] []       []       []       |
-     hello              |    []     []      [] []    []       [] []    |
-     id-utils           |           []      [] []                []    |
-     impost             |                                              |
-     indent             |           []      [] []    []       [] []    |
-     iso_3166           |       []                []       [] [] []    |
-     iso_3166_1         |                            [] [] [] []       |
-     iso_3166_2         |                                              |
-     iso_3166_3         |                   []    []          []       |
-     iso_4217           |                         []          []       |
-     iso_639            |                         []          [] []    |
-     jpilot             |                                              |
-     jtag               |                            []                |
-     jwhois             |    []     []      [] ()                ()    |
-     kbd                |    []             []                   []    |
-     latrine            |                   []                   []    |
-     ld                 |                                        []    |
-     libc               |    []     []         []    []          []    |
-     libextractor       |                   []                         |
-     libgpewidget       |       []  []      []       []       [] []    |
-     libgsasl           |    []             []                []       |
-     libiconv           |    []     []   [] [] []    [] [] [] [] []    |
-     libidn             |    []                                  ()    |
-     lifelines          |    []                                  []    |
-     lilypond           |                                        []    |
-     lingoteach         |           []                                 |
-     lynx               |           []         []                []    |
-     m4                 |    []     []      [] []                []    |
-     mailutils          |    []             [] []                      |
-     make               |    []     []         []                []    |
-     man-db             |                   []                   []    |
-     minicom            |    []     []      [] []                      |
-     mysecretdiary      |           []      []                   []    |
-     nano               |           []      []                   []    |
-     nano_1_0           |    []             [] []                []    |
-     opcodes            |                   []                   []    |
-     parted             |    [] []  []                           []    |
-     psmisc             |    []             []                         |
-     ptx                |    [] []  []      [] []                []    |
-     pwdutils           |    []                                        |
-     python             |                                              |
-     radius             |    []                []                      |
-     recode             |    []     []      [] []       []       []    |
-     rpm                |    [] []             []                []    |
-     screem             |                                              |
-     scrollkeeper       |    []             [] []    []    [] [] []    |
-     sed                |    [] []  []      [] []    []       [] []    |
-     sh-utils           |                      []       []    []       |
-     shared-mime-info   |       []  []                     [] [] []    |
-     sharutils          |                      []             [] []    |
-     silky              |                      ()    []                |
-     skencil            |       []  []                           []    |
-     sketch             |       []  []                           []    |
-     solfege            |                                              |
-     soundtracker       |                            []          []    |
-     sp                 |                                              |
-     stardict           |                      []    []                |
-     tar                |    []             [] []                []    |
-     texinfo            |    []             [] []                []    |
-     textutils          |                      []       []       []    |
-     tin                |                                              |
-     tp-robot           |                      []                      |
-     tuxpaint           |    [] []  []      []       []    [] [] []    |
-     unicode-han-tra... |                                              |
-     unicode-transla... |                                              |
-     util-linux         |           []         []                []    |
-     vorbis-tools       |                   [] []                      |
-     wastesedge         |                                              |
-     wdiff              |    []     []      [] []    []          []    |
-     wget               |    [] []  []      [] []    [] []    [] []    |
-     xchat              |                      []    [] [] [] [] []    |
-     xkeyboard-config   |                                              |
-     xpad               |                                              |
-                        +----------------------------------------------+
-                          pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
-                           0 48 30  58    6 81 69  4 46 13 12 50 88  0
-
-                          tg th tk tr uk ven vi wa xh zh_CN zh_TW zu
-                        +--------------------------------------------+
-     GNUnet             |                                            |  0
-     a2ps               |          [] []                             | 18
-     aegis              |                                            |  0
-     ant-phone          |          []                                |  4
-     anubis             |          []                                |  9
-     ap-utils           |             ()                             |  1
-     aspell             |             []     [] []                   | 13
-     bash               |                                            | 10
-     batchelor          |          []        []                      |  7
-     bfd                |          []                                |  6
-     bibshelf           |                    []                      |  5
-     binutils           |          []                  []            |  8
-     bison              |          []                                | 17
-     bluez-pin          |          [] []     [] []     []            | 24
-     clisp              |                                            |  7
-     console-tools      |          []                                |  4
-     coreutils          |          []                                | 16
-     cpio               |          []                                |  5
-     cpplib             |          []        []                      |  7
-     darkstat           |                    []        ()    ()      | 15
-     dialog             |             []     []                      | 23
-     diffutils          |          []                  []    []      | 27
-     doodle             |                                            |  4
-     e2fsprogs          |          []                                |  8
-     enscript           |          []                                | 12
-     error              |          []                        []      | 15
-     fetchmail          |          []                                | 12
-     fileutils          |          []                  []    []      | 18
-     findutils          |          []        []                      | 16
-     flex               |          []                                | 14
-     fslint             |                    []                      |  7
-     gas                |          []                                |  3
-     gawk               |          []                                | 13
-     gbiff              |                                            |  4
-     gcal               |          []                                |  5
-     gcc                |          []                                |  3
-     gettext-examples   |          [] []     []        []            | 20
-     gettext-runtime    |          [] []     []        []    []      | 25
-     gettext-tools      |          [] []               []            | 16
-     gimp-print         |             []                             | 11
-     gip                |                    []                      |  8
-     gliv               |          []                                |  6
-     glunarclock        |                    [] []                   | 14
-     gmult              |          []        []        []            | 13
-     gnubiff            |                    []                      |  3
-     gnucash            |          ()                        []      | 10
-     gnucash-glossary   |                                    []      |  8
-     gnupg              |          []                  []    []      | 19
-     gpe-aerial         |                    []        []            | 13
-     gpe-beam           |                    []        []            | 13
-     gpe-calendar       |                    [] []     []    []      | 18
-     gpe-clock          |                    [] []     []            | 16
-     gpe-conf           |                    []        []            | 12
-     gpe-contacts       |                    []        []            |  6
-     gpe-edit           |                    [] []           []      | 14
-     gpe-go             |                    []                      | 10
-     gpe-login          |                    [] []     []    []      | 17
-     gpe-ownerinfo      |                    []        []    []      | 18
-     gpe-sketchbook     |                    []                      | 13
-     gpe-su             |                    []        []            | 15
-     gpe-taskmanager    |                    []        []            | 15
-     gpe-timesheet      |                    []        []    []      | 16
-     gpe-today          |                    [] []     []    []      | 18
-     gpe-todo           |                    [] []           []      | 16
-     gphoto2            |             []               []            | 17
-     gprof              |          []        []                      | 10
-     gpsdrive           |                                            |  2
-     gramadoir          |                    []                      |  6
-     grep               |          [] []     []              []      | 32
-     gretl              |                                            |  4
-     gsasl              |                    []        []            | 12
-     gss                |                    []                      |  5
-     gst-plugins        |             []     []                      | 16
-     gstreamer          |          [] []     []                      | 14
-     gtick              |                    []                      | 11
-     gtkspell           |                    [] []     []            | 19
-     hello              |          [] []     []        []            | 37
-     id-utils           |          []        []                      | 13
-     impost             |                    []                      |  3
-     indent             |          []        []        []            | 24
-     iso_3166           |       [] []                                | 10
-     iso_3166_1         |          []           []                   | 19
-     iso_3166_2         |                                            |  2
-     iso_3166_3         |                       []     []            |  8
-     iso_4217           |          []                                |  8
-     iso_639            |                       []                   | 10
-     jpilot             |          [] []               []            |  6
-     jtag               |                                            |  2
-     jwhois             |          []        []              []      | 12
-     kbd                |          []                                | 11
-     latrine            |          []        []                      |  8
-     ld                 |          []                                |  5
-     libc               |          []                  []            | 22
-     libextractor       |                                            |  1
-     libgpewidget       |                    [] []                   | 17
-     libgsasl           |                    []                      |  7
-     libiconv           |          [] []     [] []     []            | 32
-     libidn             |                    []                      |  4
-     lifelines          |                                            |  4
-     lilypond           |          []                                |  5
-     lingoteach         |                                            |  5
-     lynx               |          [] []                             | 14
-     m4                 |                    []        []            | 17
-     mailutils          |             []                             |  7
-     make               |          []                  []            | 18
-     man-db             |                                            |  5
-     minicom            |                                            | 11
-     mysecretdiary      |          []        []                      | 11
-     nano               |                                            | 11
-     nano_1_0           |          [] []                             | 17
-     opcodes            |          []                                |  7
-     parted             |          [] []               []            | 17
-     psmisc             |                    []                      |  7
-     ptx                |          []                  []            | 23
-     pwdutils           |                                            |  1
-     python             |                                            |  0
-     radius             |             []                             |  6
-     recode             |          []        []                      | 22
-     rpm                |          [] []                             | 11
-     screem             |                                            |  1
-     scrollkeeper       |          [] []                             | 22
-     sed                |          []        []                      | 19
-     sh-utils           |          []                                | 15
-     shared-mime-info   |             []               []            | 19
-     sharutils          |          []        []              []      | 20
-     silky              |                                            |  3
-     skencil            |                                            |  6
-     sketch             |                                            |  6
-     solfege            |                                            |  4
-     soundtracker       |          []                                |  8
-     sp                 |          []                                |  3
-     stardict           |             []     []        []    []      | 10
-     tar                |          [] []                             | 13
-     texinfo            |          []                  []            | 14
-     textutils          |          []                  []    []      | 17
-     tin                |                                            |  1
-     tp-robot           |                              []    []      |  7
-     tuxpaint           |          []        [] []     []            | 34
-     unicode-han-tra... |                                            |  0
-     unicode-transla... |                                            |  2
-     util-linux         |          [] []                             | 17
-     vorbis-tools       |             []                             | 10
-     wastesedge         |                                            |  1
-     wdiff              |          []        []                      | 22
-     wget               |          [] []               []    []      | 31
-     xchat              |             []     []        []            | 22
-     xkeyboard-config   |                                            |  1
-     xpad               |                    []                      |  5
-                        +--------------------------------------------+
-       71 teams           tg th tk tr uk ven vi wa xh zh_CN zh_TW zu
-      148 domains          0  0  1 69 29  0  61 16  0  42    21    0  1704
+     Ready PO files       am az be bg ca cs da de el en en_GB eo es
+                        +-------------------------------------------+
+     a2ps               |       []          [] [] []                |
+     aegis              |                      ()                   |
+     anubis             |                                           |
+     ap-utils           |                                           |
+     bash               |                      []             [] [] |
+     batchelor          |                                           |
+     bfd                |                   []                   [] |
+     binutils           |                   []                   [] |
+     bison              |                   [] []                [] |
+     bluez-pin          |                []                   []    |
+     clisp              |                                           |
+     clisp              |                      []    []          [] |
+     coreutils          |             []    [] []                [] |
+     cpio               |                   [] []                [] |
+     darkstat           |                   ()                   [] |
+     diffutils          |             [] [] [] [] []          [] [] |
+     e2fsprogs          |                []    []                   |
+     enscript           |             []    [] []        []         |
+     error              |             []    [] []        []      [] |
+     fetchmail          |             [] () [] [] []             [] |
+     fileutils          |                   [] []                [] |
+     findutils          |             []    [] [] []          [] [] |
+     flex               |             []    [] []                [] |
+     gas                |                                        [] |
+     gawk               |             []    [] []                [] |
+     gcal               |             []                            |
+     gcc                |                   []                   [] |
+     gettext            |       []    []    [] []                [] |
+     gettext-runtime    |       []    []    [] []                [] |
+     gettext-tools      |                      []                [] |
+     gimp-print         |                [] [] []        []      [] |
+     gliv               |                                           |
+     glunarclock        |    []             [] []                   |
+     gnucash            |                      ()        []         |
+     gnucash-glossary   |                   [] ()                [] |
+     gnupg              |             [] ()    [] []          [] [] |
+     gpe-calendar       |                      []                   |
+     gpe-conf           |                      []                   |
+     gpe-contacts       |                      []                   |
+     gpe-edit           |                                           |
+     gpe-login          |                      []                   |
+     gpe-ownerinfo      |                      []                   |
+     gpe-sketchbook     |                      []                   |
+     gpe-timesheet      |                                           |
+     gpe-today          |                      []                   |
+     gpe-todo           |                      []                   |
+     gphoto2            |                [] [] []                [] |
+     gprof              |                   []                   [] |
+     gpsdrive           |                      ()    ()          () |
+     grep               |          [] []       [] []             [] |
+     gretl              |                                        [] |
+     hello              |             []    [] [] []          [] [] |
+     id-utils           |                   [] []                   |
+     indent             |             []       []             [] [] |
+     jpilot             |                [] [] []                [] |
+     jwhois             |                                        [] |
+     kbd                |                [] [] [] []             [] |
+     ld                 |                   []                   [] |
+     libc               |             [] [] [] [] []             [] |
+     libgpewidget       |                      []                   |
+     libiconv           |             []    [] []             [] [] |
+     lifelines          |                   [] ()                   |
+     lilypond           |                   []                      |
+     lingoteach         |                                           |
+     lingoteach_lessons |                      ()                () |
+     lynx               |             [] [] [] []                   |
+     m4                 |                [] [] [] []                |
+     mailutils          |             []                         [] |
+     make               |                   [] []                [] |
+     man-db             |             [] () [] []                () |
+     mysecretdiary      |                   [] []                [] |
+     nano               |             [] () [] []                [] |
+     nano_1_0           |             [] () [] []                [] |
+     opcodes            |                   []                   [] |
+     parted             |             [] [] [] []                [] |
+     ptx                |             []    [] []             [] [] |
+     python             |                                           |
+     radius             |                                           |
+     recode             |       []          [] [] []          [] [] |
+     screem             |                                           |
+     sed                |             []    [] []             [] [] |
+     sh-utils           |                   [] []                [] |
+     sharutils          |             [] [] [] [] []             [] |
+     sketch             |                   [] ()                [] |
+     soundtracker       |                   [] []                [] |
+     sp                 |                      []                   |
+     tar                |                [] [] []                [] |
+     texinfo            |                [] [] []             []    |
+     textutils          |             []    [] []                [] |
+     tin                |                      ()        ()         |
+     util-linux         |             [] [] [] []                [] |
+     vorbis-tools       |                [] []                   [] |
+     wastesedge         |                      ()                   |
+     wdiff              |             []    [] []                [] |
+     wget               |          [] [] [] [] [] []             [] |
+     xchat              |             []          []             [] |
+     xpad               |                                           |
+                        +-------------------------------------------+
+                          am az be bg ca cs da de el en en_GB eo es
+                           0  1  4  2 31 17 54 60 14  1   4   12 56
+     
+                          et fa fi fr ga gl he hr hu id it ja ko
+                        +----------------------------------------+
+     a2ps               | []    [] []                   ()    () |
+     aegis              |                                        |
+     anubis             |          []                            |
+     ap-utils           |          []                            |
+     bash               |          []             []             |
+     batchelor          |             []                         |
+     bfd                |          []                      []    |
+     binutils           |          []                      []    |
+     bison              | []       []                [] []       |
+     bluez-pin          |          [] []          [] []          |
+     clisp              |                                        |
+     clisp              |          []                            |
+     coreutils          | []       []                   [] []    |
+     cpio               |          []    []       []          [] |
+     darkstat           |          () []          [] []          |
+     diffutils          |       [] []    [] []    [] []    []    |
+     e2fsprogs          |                                        |
+     enscript           |          []          []                |
+     error              |       [] [] []          []             |
+     fetchmail          |                                  []    |
+     fileutils          | []       []             []    [] []    |
+     findutils          | []    [] [] [] []    [] [] [] [] [] [] |
+     flex               |          []                         [] |
+     gas                |          []                            |
+     gawk               |          []       []                   |
+     gcal               |          []                            |
+     gcc                |          []                            |
+     gettext            |          []                      [] [] |
+     gettext-runtime    |          []                []    [] [] |
+     gettext-tools      |                                  []    |
+     gimp-print         |          []                      []    |
+     gliv               |          ()                            |
+     glunarclock        |             [] []       []       []    |
+     gnucash            |                               []       |
+     gnucash-glossary   |                               []       |
+     gnupg              | []    [] []    []          [] [] []    |
+     gpe-calendar       |                            []          |
+     gpe-conf           |                                        |
+     gpe-contacts       |          []                            |
+     gpe-edit           |          []                []          |
+     gpe-login          |          []                            |
+     gpe-ownerinfo      |          []             [] []          |
+     gpe-sketchbook     |          []                            |
+     gpe-timesheet      |          [] []             []          |
+     gpe-today          |          [] []                         |
+     gpe-todo           |          []                []          |
+     gphoto2            |          []             []       []    |
+     gprof              |          []                []          |
+     gpsdrive           |          ()             []    () ()    |
+     grep               | []    [] [] [] [] [] [] [] [] [] []    |
+     gretl              |          []                            |
+     hello              | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+     id-utils           |          []             [] []          |
+     indent             | []    [] []    []       [] [] [] []    |
+     jpilot             |          []                      ()    |
+     jwhois             |          []             [] [] []       |
+     kbd                |          []                            |
+     ld                 |          []                            |
+     libc               |       [] []    []       []       [] [] |
+     libgpewidget       |          [] []             []          |
+     libiconv           |       [] [] [] []    [] [] [] []       |
+     lifelines          |          ()                            |
+     lilypond           |          []                            |
+     lingoteach         |          []                []          |
+     lingoteach_lessons |                                        |
+     lynx               | []                      []    [] []    |
+     m4                 |          []    []          []    []    |
+     mailutils          |                                        |
+     make               |          []    [] [] []          [] [] |
+     man-db             |          []                   () ()    |
+     mysecretdiary      |          []                []          |
+     nano               |          []    []          [] []       |
+     nano_1_0           |          []    []          [] []       |
+     opcodes            |          []                []          |
+     parted             |          []    []                []    |
+     ptx                | []    [] [] [] []       [] []          |
+     python             |                                        |
+     radius             |                                        |
+     recode             |          []    [] []    [] [] []       |
+     screem             |                                        |
+     sed                | []       [] [] []       [] [] [] []    |
+     sh-utils           | []    [] []             []    [] []    |
+     sharutils          | []       []    []       []       []    |
+     sketch             |          []                            |
+     soundtracker       |          []    []    []                |
+     sp                 |          []                      ()    |
+     tar                | []    [] []    []    [] [] [] [] []    |
+     texinfo            |          []       [] []          []    |
+     textutils          |          []    []       []       [] [] |
+     tin                | []       ()                            |
+     util-linux         | []    [] []             []    () []    |
+     vorbis-tools       |          []                            |
+     wastesedge         |          ()                            |
+     wdiff              | []       []    []       [] []          |
+     wget               | []    [] []    [] [] [] []       []    |
+     xchat              | []       []                      []    |
+     xpad               |                                        |
+                        +----------------------------------------+
+                          et fa fi fr ga gl he hr hu id it ja ko
+                          20  1 15 73 14 24  8 10 30 31 19 31  9
+     
+                          lg lt lv ms nb nl nn no pl pt pt_BR ro
+                        +----------------------------------------+
+     a2ps               |          []    []    () () ()  []   [] |
+     aegis              |                ()                      |
+     anubis             |          []                         [] |
+     ap-utils           |                         ()             |
+     bash               |                                []      |
+     batchelor          |                                        |
+     bfd                |                                        |
+     binutils           |                                        |
+     bison              |          []    []              []   [] |
+     bluez-pin          |                                     [] |
+     clisp              |                                        |
+     clisp              |                []                      |
+     coreutils          |                         []             |
+     cpio               |                []       []     []      |
+     darkstat           |          []    []              []   [] |
+     diffutils          |          []             []     []      |
+     e2fsprogs          |                                        |
+     enscript           |                []              []      |
+     error              |                []              []      |
+     fetchmail          |                         ()     ()      |
+     fileutils          |                         []             |
+     findutils          |                []       []     []   [] |
+     flex               |                                []      |
+     gas                |                                        |
+     gawk               |                                []      |
+     gcal               |                                        |
+     gcc                |                                        |
+     gettext            |                         []             |
+     gettext-runtime    |                         []             |
+     gettext-tools      |                                        |
+     gimp-print         |                []                      |
+     gliv               |                                []      |
+     glunarclock        |          []                            |
+     gnucash            |                                        |
+     gnucash-glossary   |                []          []          |
+     gnupg              |                                        |
+     gpe-calendar       |                            []       [] |
+     gpe-conf           |                            []       [] |
+     gpe-contacts       |                            []          |
+     gpe-edit           |                            []       [] |
+     gpe-login          |                            []       [] |
+     gpe-ownerinfo      |                            []       [] |
+     gpe-sketchbook     |                            []       [] |
+     gpe-timesheet      |                            []       [] |
+     gpe-today          |                            []       [] |
+     gpe-todo           |                            []       [] |
+     gphoto2            |                                        |
+     gprof              |                                []      |
+     gpsdrive           |                ()    ()        ()      |
+     grep               |                         [] []  []   [] |
+     gretl              |                                        |
+     hello              |       [] [] [] [] [] [] []     []   [] |
+     id-utils           |                []              []   [] |
+     indent             |                []              []   [] |
+     jpilot             |                ()    ()                |
+     jwhois             |                []              []   [] |
+     kbd                |                                        |
+     ld                 |                                        |
+     libc               |             []       [] []     []      |
+     libgpewidget       |                            []       [] |
+     libiconv           |                                []   [] |
+     lifelines          |                                        |
+     lilypond           |                []                      |
+     lingoteach         |                                        |
+     lingoteach_lessons |                                        |
+     lynx               |                []              []      |
+     m4                 |                []       []     []   [] |
+     mailutils          |                                        |
+     make               |                []              []      |
+     man-db             |                                []      |
+     mysecretdiary      |                                []      |
+     nano               |          []    []       []          [] |
+     nano_1_0           |          [] []    []    []             |
+     opcodes            |                []              []   [] |
+     parted             |                   []       []  []      |
+     ptx                |             [] []    [] [] []  []   [] |
+     python             |                                        |
+     radius             |                                        |
+     recode             |                         []     []   [] |
+     screem             |                                        |
+     sed                |                                []   [] |
+     sh-utils           |             []                         |
+     sharutils          |                []                      |
+     sketch             |                                []      |
+     soundtracker       |                                        |
+     sp                 |                                        |
+     tar                |          [] []       [] []     []   [] |
+     texinfo            |                                     [] |
+     textutils          |             []                         |
+     tin                |                                        |
+     util-linux         |                []              []      |
+     vorbis-tools       |                []                   [] |
+     wastesedge         |                                        |
+     wdiff              |          []             []     []   [] |
+     wget               |                []       []          [] |
+     xchat              |       []       []                      |
+     xpad               |                                     [] |
+                        +----------------------------------------+
+                          lg lt lv ms nb nl nn no pl pt pt_BR ro
+                           0  0  2 11  7 26  3  4 18 15  34   34
+     
+                          ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
+                        +-------------------------------------------+
+     a2ps               | []    []    []    [] []                   | 16
+     aegis              | ()                                        |  0
+     anubis             |                   [] []                   |  5
+     ap-utils           |                      ()                   |  1
+     bash               | []                                        |  7
+     batchelor          |                                           |  1
+     bfd                |             []    []           []         |  7
+     binutils           |             []    []           []         |  7
+     bison              | []          []                            | 13
+     bluez-pin          |                                           |  7
+     clisp              |                                           |  0
+     clisp              |                                           |  5
+     coreutils          | []    []    []    []                 []   | 14
+     cpio               | []          []                 []         | 13
+     darkstat           |             []                 ()    ()   |  9
+     diffutils          | []          []    []                 []   | 21
+     e2fsprogs          |                   []                      |  3
+     enscript           | []          []    []                      | 11
+     error              |    []             []                 []   | 14
+     fetchmail          |                   []                      |  7
+     fileutils          | []    []    []    []           []    []   | 15
+     findutils          | [] [] []    []    []           []         | 27
+     flex               | []          []    []                      | 10
+     gas                |                   []                      |  3
+     gawk               |             []    []                      |  9
+     gcal               |             []    []                      |  4
+     gcc                |                   []                      |  4
+     gettext            | [] [] []    []    []                 []   | 15
+     gettext-runtime    | [] [] []    []    []                 []   | 16
+     gettext-tools      |    [] []                                  |  5
+     gimp-print         |    []       []                            | 10
+     gliv               |                                           |  1
+     glunarclock        | []          []             []             | 11
+     gnucash            |    []                                []   |  4
+     gnucash-glossary   |    []       []                       []   |  8
+     gnupg              |    []       []    []                 []   | 16
+     gpe-calendar       |                                      []   |  5
+     gpe-conf           |                                           |  3
+     gpe-contacts       |                                      []   |  4
+     gpe-edit           |                                      []   |  5
+     gpe-login          |                                      []   |  5
+     gpe-ownerinfo      |                                      []   |  7
+     gpe-sketchbook     |                                      []   |  5
+     gpe-timesheet      |                                      []   |  6
+     gpe-today          |                                      []   |  6
+     gpe-todo           |                                      []   |  6
+     gphoto2            |             []                 []         |  9
+     gprof              |             []    []                      |  7
+     gpsdrive           |    []       []                            |  3
+     grep               | []    []          [] []                   | 24
+     gretl              |                                           |  2
+     hello              | [] []       []    [] []                   | 33
+     id-utils           | []          []    []                      | 11
+     indent             | [] []       []    []                      | 19
+     jpilot             |             []    []    []     []    []   | 10
+     jwhois             | ()          ()    []                 []   | 10
+     kbd                |             []    []                      |  8
+     ld                 |             []    []                      |  5
+     libc               |    []       []    []           []         | 20
+     libgpewidget       |                                           |  6
+     libiconv           | [] [] []    []    [] []                   | 21
+     lifelines          |             []                            |  2
+     lilypond           |             []                            |  4
+     lingoteach         |                                           |  2
+     lingoteach_lessons |                                ()         |  0
+     lynx               | []          []    [] []                   | 14
+     m4                 | []          []                 []         | 15
+     mailutils          |                                           |  2
+     make               | []          []    []           []         | 15
+     man-db             |             []                            |  6
+     mysecretdiary      |             []    []                      |  8
+     nano               | []          []       []                   | 15
+     nano_1_0           | []          []       []                   | 15
+     opcodes            |             []    []                      |  9
+     parted             |             []    []                      | 13
+     ptx                | []          []    []                      | 22
+     python             |                                           |  0
+     radius             |                                           |  0
+     recode             | []    []    []    []                      | 19
+     screem             |             []                            |  1
+     sed                |    [] []    []    [] []                   | 20
+     sh-utils           | []    []          []                      | 13
+     sharutils          | []          []    []                 []   | 16
+     sketch             |             []                            |  5
+     soundtracker       |             []                            |  7
+     sp                 |                   []                      |  3
+     tar                |    [] []    []    []           []         | 24
+     texinfo            | []          []    []           []         | 13
+     textutils          | []    []    []    []                 []   | 15
+     tin                |                                           |  1
+     util-linux         |             []    []                      | 14
+     vorbis-tools       | []                                        |  7
+     wastesedge         |                                           |  0
+     wdiff              | [] []       []    []                      | 17
+     wget               | [] [] []    []    [] []              []   | 25
+     xchat              |    [] []    []                            | 11
+     xpad               |                                           |  1
+                        +-------------------------------------------+
+       50 teams           ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
+       97 domains         32 19 16  0 56  0 48 10  1  1  12    23    913
 
    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
@@ -965,15 +599,15 @@ 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 March 2005 seems to be old, you may fetch a more recent copy of
+   If May 2003 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://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
 
-1.6 Using `gettext' in new packages
-===================================
+Using `gettext' in new packages
+===============================
 
-If you are writing a freely available program and want to
+   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
index 0e873a8161993afd2dfafe537579800403953114..bdaf118cd5755f9bbafba0729a5ce7342b2d8401 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,260 @@
+2005-06-28  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS: +1 day release 4.0.10 date.
+
+       * po/pl.po: kill fuzzy.
+
+       * po/de.po: partial update by Frank Schmid <frank@cs-schmid.de>.
+
+2005-06-25  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * po/ca.po: run "make update-po".
+
+       * po/sk.po: updated sk translation by Peter Mann <Peter.Mann@tuke.sk>.
+
+2005-06-22  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS: typo.
+
+2005-06-21  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * po/pl.po: typo.
+
+       * po/pl.po: updated for 4.0.10.
+
+       * po/ru.po, NEWS: updated ru translation by maintainer.
+
+       * NEWS: added past releases dates. Cleanups.
+
+       * man/shadowconfig.8: merge version generated from XML file.
+
+       * po/ca.po, po/cs.po, po/da.po, po/fi.po, NEWS:
+       translations updated by maintainers.
+
+2005-06-20  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/chage.c, po/zh_TW.po, po/vi.po, po/zh_CN.po, po/tl.po, po/tr.po, po/uk.po, po/sk.po, po/sq.po, po/sv.po, po/ro.po, po/ru.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/eu.po, po/fi.po, po/fr.po, po/de.po, po/el.po, po/es.po, po/ca.po, po/cs.po, po/da.po, po/bs.po (usage):
+       s/EXPIRE/EXPIRE_DATE/.
+
+       * po/pl.po: start update for 4.0.10.
+
+       * src/usermod.c, src/useradd.c, src/userdel.c, src/id.c, src/newgrp.c, src/su.c, po/zh_TW.po, po/zh_CN.po, po/vi.po, po/uk.po, po/tr.po, po/tl.po, po/sv.po, po/sq.po, po/sk.po, po/ru.po, po/pt_BR.po, po/ro.po, po/pt.po, po/pl.po, po/nn.po, po/nl.po, po/nb.po, po/ko.po, po/ja.po, po/it.po, po/id.po, po/he.po, po/fr.po, po/eu.po, po/fi.po, po/es.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po:
+       s/uid/UID/ in all commnets and messages.
+
+       * libmisc/failure.c, libmisc/limits.c, lib/pwio.c:
+       s/uid/UID/ in comments.
+
+       * src/usermod.c, src/useradd.c, src/groupadd.c, src/groupmod.c, src/id.c, src/newgrp.c, po/zh_TW.po, po/zh_CN.po, po/vi.po, po/uk.po, po/tr.po, po/tl.po, po/sv.po, po/sq.po, po/sk.po, po/ru.po, po/ro.po, po/pt_BR.po, po/pt.po, po/pl.po, po/nn.po, po/nl.po, po/nb.po, po/ko.po, po/ja.po, po/it.po, po/he.po, po/id.po, po/fr.po, po/fi.po, po/eu.po, po/es.po, po/el.po, po/da.po, po/de.po, po/cs.po, po/bs.po, po/ca.po, libmisc/limits.c, lib/groupio.c:
+       s/gid/GID/ in all comments and messages.
+
+       * src/gpasswd.c, src/login.c, src/passwd.c, src/chage.c, src/chfn.c, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po:
+       one message in i18n messages less: use in all places "Permission denied" instead
+       "permission denied".
+
+       * libmisc/getdate.y:
+       remove extern for gmtime(), localtime() and mktime() and instead add #include <time.h>.
+
+       * libmisc/entry.c: removed extern for fgetpwent().
+
+       * NEWS, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/newusers.8, man/passwd.1, man/passwd.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/su.1, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8:
+       now most of the man pages now are generated from XML files so in case any submiting
+       any chages to this resources please make diff fies to XML files.
+
+       * man/pw_auth.3.xml: cleanups.
+
+       * man/grpck.8.xml, man/passwd.1.xml:
+       correctly code EXIT VALUES section using <variablelist>. Cleanups.
+
+       * man/shadow.3.xml: cleanups.
+
+2005-06-17  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/ja/mkpasswd.8, man/ja/Makefile.am, man/pl/mkpasswd.8, man/pl/Makefile.am:
+       remove ja and pl mkpasswd.8 man pages.
+
+2005-06-16  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/pwck.8.xml, man/useradd.8.xml, man/userdel.8.xml:
+       correctly code EXIT VALUES section.
+
+       * acconfig.h: removed DES_RPC and OPIE templates.
+
+       * src/mkpasswd.c, src/Makefile.am, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, NEWS, man/mkpasswd.8, man/mkpasswd.8.xml, man/Makefile.am, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po:
+       removed mkpasswd.
+
+       * man/Makefile.am: do not install mkpasswd(8) man page.
+
+       * src/Makefile.am: move mkpasswd.c to EXTRA_DIST.
+
+       * man/passwd.5.xml:
+       use <itemizedlist mark='bullet'> for describe passwd fields. Remove outdated
+       information about additional fields in comment field. Cleanups.
+
+       * man/newusers.8.xml: cleanups.
+
+       * man/gshadow.5.xml:
+       use <itemizedlist mark='bullet'> for gshadow fields desscription.
+
+       * man/shadow.5.xml: cleanups.
+
+       * man/shadow.5.xml:
+       use <itemizedlist mark='bullet'> for describe shadow fields.
+
+       * man/pw_auth.3.xml: cleanups.
+
+       * man/pw_auth.3.xml: use correct <refname>.
+
+       * man/pw_auth.3.xml: cleanups.
+
+       * man/groupdel.8.xml, man/groupmod.8.xml:
+       correctly code EXIT VALUES section.
+
+       * man/groupadd.8.xml: cleanups.
+
+       * man/mkpasswd.8.xml: added missing <variablelist> tag.
+
+       * man/usermod.8.xml: cleanups.
+
+       * man/usermod.8.xml: remove <sbr/> tags from SYNOPSIS section.
+
+       * man/faillog.8.xml: cleanups.
+
+       * man/faillog.5.xml:
+       put struct faillog definition in <programlisting></programlisting>.
+
+       * man/chsh.1.xml, man/chpasswd.8.xml: cleanups.
+
+       * man/groupadd.8.xml:
+       seems I found good way for code EXIT VALUES section.
+
+       * man/shadow.3.xml:
+       put meanings of each field spwd struct in <itemizedlist mark='bullet'>.
+
+       * man/shadow.3.xml:
+       place definition of struct spwd in <programlisting></programlisting>.
+
+       * NEWS, src/userdel.c:
+       userdel now deletes user groups from /etc/gshdow as well as /etc/group.
+       Fix by Nicolas François <nicolas.francois@centraliens.net>.
+       http://bugs.debian.org/99442
+
+       * src/usermod.c, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, NEWS, po/bs.po, po/ca.po, po/cs.po:
+       fixed bug in usermod ad run "make -C po update-po".
+       When relocating a user's home directory, don't fail and remove the new
+       home directory if we can't remove the old home directory for some
+       reason; the results can be spectularly poort if, for instance, only
+       the rmdir() fails. Patch prepared by Timo Lindfors <lindi-spamtrap@newmail.com>.
+       http://bugs.debian.org/166369
+
+2005-06-15  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/login.c: indent.
+
+       * man/chage.1.xml, man/faillog.8.xml, man/groupmems.8.xml, man/gshadow.5.xml, man/login.1.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml:
+       cleanups.
+
+2005-06-14  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/faillog.5.xml:
+       cleanups.
+
+       * man/login.1.xml: rewrited FILES section.
+
+       * man/id.1.xml, man/lastlog.8.xml, man/gshadow.5.xml: cleanups.
+
+       * man/groups.1.xml: typos.
+
+       * man/chfn.1.xml, man/expiry.1.xml, man/gpasswd.1.xml: cleanups.
+
+2005-06-10  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS:
+       last patch for UTMPX was submited by by Nicolas François <nicolas.francois@centraliens.net>
+
+       * libmisc/failure.c, libmisc/failure.h, NEWS:
+       use also UTMPX API instead UTMP on failure (login was by affected this when shadow
+       was builded without PAM support).
+
+       * NEWS, src/login.c:
+       the PAM session needs to be closed as root, thus before change_uid()
+       http://bugs.debian.org/53570 http://bugs.debian.org/195048 http://bugs.debian.org/211884
+
+       * man/passwd.1, man/passwd.1.xml:
+       s/compatiblity/compatibility/ (fix by Christian Perrier <bubulle@kheops.frmug.org>).
+
+2005-06-09  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS, man/chfn.1, man/chfn.1.xml:
+       give more details about the influence of login.defs on what's allowed to
+       users (based on Debian patches).
+
+       * NEWS, src/su.c:
+       fix syslogs to be less ambiguous. Use old:new format instead of old-new
+       because '-' can appear in usernames.
+       http://bugs.debian.org/213592
+
+       * NEWS, src/login.c:
+       made login's -f option also able to use the username after -- if none
+       was passed as it's optarg
+       http://bugs.debian.org/53702
+
+       * po/POTFILES.in, NEWS, libmisc/setup.c, libmisc/Makefile.am:
+       not used now (removed).
+
+       * man/usermod.8, man/usermod.8.xml:
+       s/inactive_time/inactive_days/ in -f parameter in SYNOPSIS (fix by Christian
+       Perrier <bubulle@debian.org>).
+
+2005-06-08  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/grpck.8, man/grpck.8.xml:
+       typo: s/incorrectable/uncorrectable/ (by A Costa <agcosta@gis.net>).
+
+       * man/gshadow.5, man/gshadow.5.xml:
+       typos: s/folowing/following/; s/encryped/encrypted/; s/supercedes/supersedes/
+       (by A Costa <agcosta@gis.net>).
+
+       * man/shadow.5, man/shadow.5.xml:
+       typos: s/encryped/encrypted/; s/supercedes/supersedes/
+       (by A Costa <agcosta@gis.net>)
+
+2005-06-07  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/login.c, NEWS:
+       check for hushed login and pass PAM_SILENT if true.
+       http://bugs.debian.org/48002
+
+       * src/login.c, NEWS:
+       fixed loggin of username on succesful login (was using the normal username,
+       when it should have used pam_user) http://bugs.debian.org/47819
+
+2005-06-02  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS, po/zh_TW.po: updated (by Tetralet <tetralet@pchome.com.tw>).
+
+       * NEWS, po/ca.po: updated (by Guillem Jover <guillem@debian.org>).
+
+       * man/de/passwd.1:
+       added small comment with marker usefull for translators.
+
+2005-05-25  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/mkpasswd.c, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/encrypt.c, lib/getdef.c, lib/gshadow.c, lib/pwauth.h, lib/shadow.c, libmisc/failure.c, libmisc/isexpired.c, libmisc/salt.c:
+       indent all.
+
+       * src/chage.c, src/chpasswd.c, src/expiry.c, src/login.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, lib/defines.h, lib/lockpw.c, lib/prototypes.h, lib/sgetspent.c, lib/shadow.c, lib/shadowio.c, lib/sppack.c, libmisc/age.c, libmisc/entry.c, libmisc/isexpired.c, libmisc/pwd2spwd.c, libmisc/pwdcheck.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, NEWS, acconfig.h, configure.in:
+       remove using SHADOWPWD #define so now shadow is allways builded with shadow
+       password support.
+
+2005-05-24  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * src/chage.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, NEWS, man/chage.1, man/chage.1.xml:
+       rewrite for use getopt_long().
+
 2005-05-23  Tomasz K³oczko  <kloczek@pld.org.pl>
 
+       * NEWS, configure.in: start working on 4.0.10.
+
        * man/Makefile.am: remove shadow-man-pages.pot target from all.
 
 2005-05-19  Tomasz K³oczko  <kloczek@pld.org.pl>
        * po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, src/lastlog.c:
        fixed lastlog --help message (s,--login,--user,) http://bugs.debian.org/249611
 
-       * man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/mkpasswd.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml:
+       * man/mkpasswd.8.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml:
        use <varlistentry></varlistentry> in FILES section. Cleanups.
 
        * man/expiry.1.xml, man/chsh.1.xml, man/chpasswd.8.xml, man/chfn.1.xml, man/porttime.5.xml, man/pw_auth.3.xml:
        * man/chage.1.xml, man/chfn.1.xml, man/chsh.1.xml, man/expiry.1.xml, man/gpasswd.1.xml, man/groups.1.xml, man/id.1.xml, man/login.1.xml, man/passwd.1.xml, man/su.1.xml:
        added <refmiscinfo class="sectdesc">User Commands</refmiscinfo> in <refmeta></refmeta>.
 
-       * man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/mkpasswd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/vigr.8.xml:
+       * man/mkpasswd.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/vigr.8.xml:
        Use encoding="UTF-8" and DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN".
 
-       * man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/mkpasswd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml:
+       * man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml, man/mkpasswd.8.xml, man/chage.1.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml:
        better formation using "xmlindent -l 80 -d 2".
 
 2005-04-21  Tomasz K³oczko  <kloczek@pld.org.pl>
        * po/uk.po:
        cleanups in plural forms (by Roman Festchook <roma@polesye.net>).
 
-       * man/chage.1, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/mkpasswd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml:
+       * man/mkpasswd.8.xml, man/chage.1, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vipw.8.xml:
        reformated using xemacs.
 
 2005-04-20  Tomasz K³oczko  <kloczek@pld.org.pl>
        * man/useradd.8:
        fixed typos in useadd syntax (in SYNOPSIS section) catched using doclifter.
 
-       * man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/getspnam.3.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/grpconv.8.xml, man/grpunconv.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/mkpasswd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/pwunconv.8.xml, man/sg.1.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml:
+       * man/mkpasswd.8.xml, man/chfn.1.xml, man/chpasswd.8.xml, man/chsh.1.xml, man/expiry.1.xml, man/faillog.5.xml, man/faillog.8.xml, man/getspnam.3.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/grpconv.8.xml, man/grpunconv.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/login.1.xml, man/login.access.5.xml, man/login.defs.5.xml, man/logoutd.8.xml, man/newusers.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pw_auth.3.xml, man/pwck.8.xml, man/pwconv.8.xml, man/pwunconv.8.xml, man/sg.1.xml, man/shadow.3.xml, man/shadow.5.xml, man/shadowconfig.8.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml, man/vigr.8.xml, man/vipw.8.xml:
        raw version converted using doclifter.
 
        * configure.in: remove handle --with-lib{opie,skey}.
        * man/ja/newgrp.1, man/pl/newgrp.1, NEWS, man/hu/newgrp.1, man/newgrp.1:
        newgrp uses /bin/sh (not bash).
 
-       * man/gpasswd.1, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/mkpasswd.8, man/newgrp.1, man/pwck.8, man/useradd.8, man/userdel.8, man/usermod.8:
+       * man/mkpasswd.8, man/gpasswd.1, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/newgrp.1, man/pwck.8, man/useradd.8, man/userdel.8, man/usermod.8:
        describe /etc/group in FILES section as "group account information".
 
        * man/grpck.8:
 
        * NEWS, po/cs.po: Updated by Miroslav Kure <kurem@debian.cz>.
 
-       * man/chage.1.xml, man/chage.1, man/expiry.1, man/login.1, man/mkpasswd.8, man/newgrp.1, man/passwd.1, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8:
+       * man/chage.1.xml, man/mkpasswd.8, man/chage.1, man/expiry.1, man/login.1, man/newgrp.1, man/passwd.1, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8:
        describe /etc/shadow in FILES section as "secure user account information".
 
        * man/newgrp.1: Reformated paragraph. s,Bourne shell,\fBbash\fR shell,
 
 2005-04-05  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/ru/passwd.5, man/zh_CN/chfn.1, man/zh_CN/chpasswd.8, man/zh_CN/chsh.1, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/chfn.1, man/ko/chsh.1, man/ko/groups.1, man/ko/id.1, man/ko/login.1, man/ko/passwd.5, man/ko/su.1, man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/hu/chfn.1, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/id.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/hu/su.1, man/id/chsh.1, man/id/login.1, man/id/useradd.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/passwd.5, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/it/vipw.8, man/de/chfn.1, man/de/chsh.1, man/de/login.1, man/de/passwd.1, man/de/passwd.5, man/de/su.1, man/de/vipw.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/cs/groups.1, man/cs/id.1, man/cs/lastlog.8, man/cs/passwd.5, man/cs/shadow.5, man/cs/su.1, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/expiry.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/chage.1, man/chfn.1, man/expiry.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/grpck.8, man/lastlog.8, man/limits.5, man/login.1, man/login.defs.5, man/newgrp.1, man/passwd.1, man/porttime.5, man/pwck.8, man/shadow.3, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/usermod.8, man/vipw.8:
+       * man/ru/passwd.5, man/zh_CN/chfn.1, man/zh_CN/chpasswd.8, man/zh_CN/chsh.1, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/chfn.1, man/ko/chsh.1, man/ko/groups.1, man/ko/id.1, man/ko/login.1, man/ko/passwd.5, man/ko/su.1, man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/ja/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.1, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/hu/chfn.1, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/id.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/hu/su.1, man/id/chsh.1, man/id/login.1, man/id/useradd.8, man/it/chfn.1, man/it/chsh.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/groups.1, man/it/grpck.8, man/it/id.1, man/it/lastlog.8, man/it/login.1, man/it/passwd.5, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/it/vipw.8, man/de/chfn.1, man/de/chsh.1, man/de/login.1, man/de/passwd.1, man/de/passwd.5, man/de/su.1, man/de/vipw.8, man/es/login.1, man/es/passwd.1, man/es/su.1, man/fr/chage.1, man/fr/chpasswd.8, man/fr/chsh.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/groups.1, man/fr/id.1, man/fr/passwd.1, man/fr/passwd.5, man/fr/shadow.5, man/fr/su.1, man/fr/useradd.8, man/fr/userdel.8, man/fr/usermod.8, man/cs/groups.1, man/cs/id.1, man/cs/lastlog.8, man/cs/passwd.5, man/cs/shadow.5, man/cs/su.1, man/pl/mkpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/expiry.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/chage.1, man/chfn.1, man/expiry.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/grpck.8, man/lastlog.8, man/limits.5, man/login.1, man/login.defs.5, man/newgrp.1, man/passwd.1, man/porttime.5, man/pwck.8, man/shadow.3, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/usermod.8, man/vipw.8:
        more replaces "-" by "\-" (s,\\-,-,g; s,-,\\-,g).
 
        * man/pl/usermod.8: finish sync with english version.
 
 2005-04-02  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/id.1, man/lastlog.8, man/limits.5:
+       * man/mkpasswd.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/gshadow.5, man/id.1, man/lastlog.8, man/limits.5:
        replace all "-" by "\-" (s,\\-,-,; s,-,\\-,).
 
        * man/cs/groups.1: cleanups.
 
        * lib/pwauth.c, lib/pwauth.h: enable pw_auth() only #ifndef USE_PAM.
 
-       * src/userdel.c, src/usermod.c, src/vipw.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/sulogin.c, src/useradd.c, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, libmisc/login_access.c, libmisc/login_krb.c, libmisc/addgrps.c, libmisc/age.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/copydir.c, libmisc/env.c, libmisc/failure.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/pam_pass.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/xmalloc.c, NEWS, lib/grdbm.c, lib/gsdbm.c, lib/pwdbm.c, lib/rad64.c, lib/spdbm.c, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/getdef.c, lib/getdef.h, lib/getpass.c, lib/groupio.c, lib/groupio.h, lib/grpack.c, lib/gshadow.c, lib/gshadow_.h, lib/gspack.c, lib/lockpw.c, lib/port.c, lib/port.h, lib/prototypes.h, lib/pwauth.c, lib/pwauth.h, lib/pwio.c, lib/pwio.h, lib/pwpack.c, lib/rcsid.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/sppack.c, lib/utent.c:
+       * src/userdel.c, src/usermod.c, src/vipw.c, src/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/sulogin.c, src/useradd.c, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, libmisc/login_access.c, libmisc/login_krb.c, libmisc/addgrps.c, libmisc/age.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/copydir.c, libmisc/env.c, libmisc/failure.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/pam_pass.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/utmp.c, libmisc/xmalloc.c, NEWS, lib/grdbm.c, lib/gsdbm.c, lib/pwdbm.c, lib/rad64.c, lib/spdbm.c, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/getdef.c, lib/getdef.h, lib/getpass.c, lib/groupio.c, lib/groupio.h, lib/grpack.c, lib/gshadow.c, lib/gshadow_.h, lib/gspack.c, lib/lockpw.c, lib/port.c, lib/port.h, lib/prototypes.h, lib/pwauth.c, lib/pwauth.h, lib/pwio.c, lib/pwio.h, lib/pwpack.c, lib/rcsid.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/sppack.c, lib/utent.c:
        reindent all source code using -l80.
 
        * lib/gshadow.c, NEWS:
 
 2004-11-02  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/pl/chage.1, man/pl/chsh.1, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/lastlog.8, man/pl/mkpasswd.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/chage.1, man/chsh.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/lastlog.8, man/useradd.8, man/userdel.8, man/usermod.8:
+       * man/pl/mkpasswd.8, man/pl/chage.1, man/pl/chsh.1, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/lastlog.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/chage.1, man/chsh.1, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupmems.8, man/lastlog.8, man/useradd.8, man/userdel.8, man/usermod.8:
        separated OPTIONS section.
 
        * lib/commonio.c: reverte last change.
        New translations: bs, ca, da, eu, he, id, nb, nl, nn, pt, pt_BR, tr,
        zh_CN (stolen froM Debian)
 
-       * man/grpck.8, man/mkpasswd.8, man/pl/grpck.8, man/pl/mkpasswd.8, man/pl/pwck.8, man/pwck.8:
+       * man/mkpasswd.8, man/grpck.8, man/pl/mkpasswd.8, man/pl/grpck.8, man/pl/pwck.8, man/pwck.8:
        Corrected section number.
 
 2004-08-04  Tomasz K³oczko  <kloczek@pld.org.pl>
 
 2003-05-01  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/dpasswd.8, man/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/shadowconfig.8, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8:
+       * man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/shadowconfig.8, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8:
        Reformated.
 
        * etc/login.defs:
        * NEWS, configure.in, man/Makefile.am, man/ru/Makefile.am, man/ru/passwd.5:
        Added ru passwd(1) man page from KSI resources.
 
-       * man/zh_CN/Makefile.am, man/zh_CN/chfn.1, man/zh_CN/chsh.1, man/zh_TW/Makefile.am, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/ja/dpasswd.8, man/ja/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/newusers.8, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/shadowconfig.8, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, NEWS, man/cs/Makefile.am, man/cs/id.1:
+       * man/zh_CN/Makefile.am, man/zh_CN/chfn.1, man/zh_CN/chsh.1, man/zh_TW/Makefile.am, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/newusers.8, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/shadowconfig.8, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, NEWS, man/cs/Makefile.am, man/cs/id.1:
        Added chch(1), chfn(1) man pages from chinese man pages translation
        project.
        Added id(1) man page czech man pages translation project.
        * NEWS: Ready for gettext 0.11.5, automake 1.7.4, autoconf 2.57.
        Many cleanups and unifications in man pages.
 
-       * man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/zh_CN/chpasswd.8, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/login.1, man/ko/su.1, man/pl/chage.1, man/pl/chfn.1, man/pl/chsh.1, man/pl/expiry.1, man/pl/gpasswd.1, man/pl/groupmems.8, man/pl/groups.1, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/passwd.1, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/usermod.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/grpck.8, man/it/lastlog.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/cs/shadow.5, man/es/su.1, man/fr/chage.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/shadow.5, man/fr/su.1, man/fr/userdel.8, man/fr/usermod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8:
+       * man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/zh_CN/chpasswd.8, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/login.1, man/ko/su.1, man/pl/chage.1, man/pl/chfn.1, man/pl/chsh.1, man/pl/expiry.1, man/pl/gpasswd.1, man/pl/groupmems.8, man/pl/groups.1, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/passwd.1, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/usermod.8, man/ja/mkpasswd.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/grpck.8, man/it/lastlog.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/cs/shadow.5, man/es/su.1, man/fr/chage.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/shadow.5, man/fr/su.1, man/fr/userdel.8, man/fr/usermod.8, man/dpasswd.8, man/mkpasswd.8, man/chage.1, man/chfn.1, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/logoutd.8, man/newgrp.1, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8:
        Fixes: correct utmp/wtmp paths.
        Unifications: bold commnanda and italify other file names.
        Other minor changes and cleanups and unifications.
 
 2003-04-22  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * libmisc/getdate.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/nscd.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkshell.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c:
+       * libmisc/getdate.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/nscd.c, libmisc/setup.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkshell.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c:
        Indent all using current .indent.pro settings.
 
        * po/Makevars: New file neccessary for gettext >=0.11.5.
 
 2002-03-09  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
-       * man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/pl/userdel.8, man/pl/usermod.8, man/pl/sulogin.8, man/pl/useradd.8, man/pl/pwconv.8, man/pl/su.1, man/pl/pwauth.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/passwd.5, man/pl/login.defs.5, man/pl/chpasswd.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/login.1, man/hu/groups.1, man/hu/newgrp.1, man/ja/pwauth.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.1, man/ja/login.defs.5, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.5, man/ja/su.1, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8:
+       * man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/pl/userdel.8, man/pl/usermod.8, man/pl/sulogin.8, man/pl/useradd.8, man/pl/pwconv.8, man/pl/su.1, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/newgrp.1, man/pl/passwd.5, man/pl/login.defs.5, man/pl/chpasswd.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/login.1, man/hu/groups.1, man/hu/newgrp.1, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.1, man/ja/login.defs.5, man/ja/newgrp.1, man/ja/passwd.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.5, man/ja/su.1, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8:
        - further "SEE ALSO" references sorting
 
 2002-03-08  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * man/pwck.8, man/pwconv.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/pwauth.8, man/Makefile.am, man/chpasswd.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/login.1, man/login.defs.5, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3:
+       * man/pwck.8, man/pwconv.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chpasswd.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/login.1, man/login.defs.5, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3:
        merged shadow-4.0.0-owl-man.patch by Solar Designer <solar@openwall.com>.
 
        * NEWS: updated for 4.0.3.
        * po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po:
        update.
 
-       * src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/dpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c:
+       * src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/dpasswd.c, src/mkpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c:
        Add -pcs to .indent.pro file and reindent all code.
        Remove "\n" from all SYSLOG() messages.
 
        * man/pl/passwd.1, man/ja/passwd.1, man/dpasswd.8, man/chpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1:
        cleanups.
 
-       * src/dpasswd.c, src/expiry.c, src/grpck.c, src/id.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/chfn.c, src/chsh.c, po/ja.po, po/ko.po, po/pl.po, po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, man/useradd.8:
+       * src/dpasswd.c, src/mkpasswd.c, src/expiry.c, src/grpck.c, src/id.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/chfn.c, src/chsh.c, po/ja.po, po/ko.po, po/pl.po, po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, man/useradd.8:
        standarize usage messages syntax.
 
        * man/pl/useradd.8, man/pl/usermod.8, man/pl/vipw.8, man/pl/userdel.8:
 
 2001-11-16  Andrzej Krzysztofowicz  <ankry@pld.org.pl>
 
-       * man/ja/pwauth.8, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/dpasswd.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1:
+       * man/ja/pwauth.8, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1:
        - updated to man-pages-ja-20011115.tar.gz
 
        * man/ja/groups.1: 3c26de91cfd359c0b7c36ca3cd3e170d  groups.1
 
        * po/pl.po: fixed charset (must be iso-8859-2).
 
-       * man/Makefile.am, man/ja/dpasswd.8, man/ja/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, configure.in, NEWS:
+       * man/Makefile.am, man/ja/dpasswd.8, man/ja/mkpasswd.8, man/ja/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, configure.in, NEWS:
        added ja man pages.
 
 2001-05-30  Tomasz K³oczko  <kloczek@pld.org.pl>
 
        * autogen.sh: add to conf_flags --disable-shared.
 
-       * man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/pwauth.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8, man/pwauth.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/shadowconfig.8, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8:
+       * man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8, man/mkpasswd.8, man/pwauth.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/shadowconfig.8, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8:
        put or move to top cemmented Id cvs keyword,
        (passwd.1): documment -e option (patch from Debian),
        (userdel.1): remove commented obsoleted options.
 
 2000-10-16  Tomasz K³oczko  <kloczek@pld.org.pl>
 
-       * old/pwconv-old.8, old/pwconv.8, old/pwunconv-old.8, old/pwunconv.8, man/pl/pwauth.8, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/shadow.3, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/dpasswd.8, man/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, doc/ANNOUNCE, doc/LSM, doc/README, doc/README.linux:
+       * old/pwconv-old.8, old/pwconv.8, old/pwunconv-old.8, old/pwunconv.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/shadow.3, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, doc/ANNOUNCE, doc/LSM, doc/README, doc/README.linux:
        Julianne F. Haugh new contact adress.
 
        * NEWS: - summary chanfes for 20001016.
 
 2000-09-05  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/pwauth.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5:
+       * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/mkpasswd.8, man/pl/pwauth.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5:
        *** empty log message ***
 
 2000-09-02  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
 2000-08-26  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * contrib/Makefile.am, contrib/groupmems.shar, doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, doc/README.mirrors, src/vipw.c, src/dpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/dialchk.h, lib/dialup.h, lib/rad64.c, lib/tcfsio.h, lib/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, lib/groupio.c, lib/groupio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/pwio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, libmisc/suauth.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/copydir.c, libmisc/entry.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/loginprompt.c, libmisc/setupenv.c, libmisc/sulog.c, man/dpasswd.8, man/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/pl/Makefile.am, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, etc/login.defs.hurd, etc/login.defs.linux, doc/ANNOUNCE, doc/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, mkinstalldirs, configure.in, Makefile.am:
+       * contrib/Makefile.am, contrib/groupmems.shar, doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, doc/README.mirrors, src/vipw.c, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/dialchk.h, lib/dialup.h, lib/rad64.c, lib/tcfsio.h, lib/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, lib/groupio.c, lib/groupio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/pwio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, libmisc/suauth.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/copydir.c, libmisc/entry.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/loginprompt.c, libmisc/setupenv.c, libmisc/sulog.c, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/pl/Makefile.am, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, etc/login.defs.hurd, etc/login.defs.linux, doc/ANNOUNCE, doc/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, mkinstalldirs, configure.in, Makefile.am:
        *** empty log message ***
 
 1999-08-27  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
 1999-06-07  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * redhat/shadow-utils.spec.in, src/dpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, contrib/Makefile.am, contrib/README, contrib/udbachk.tgz, debian/changelog, debian/rules, doc/CHANGES, doc/README.mirrors, doc/LSM, doc/README.linux, doc/README.platforms, doc/WISHLIST, lib/Makefile.am, lib/fputsx.c, lib/getpass.c, lib/pam_defs.h, lib/prototypes.h, lib/rcsid.h, libmisc/login_desrpc.c, libmisc/pam_pass.c, libmisc/utmp.c, man/login.1, po/el.po, po/pl.po, acconfig.h, configure.in:
+       * redhat/shadow-utils.spec.in, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, contrib/Makefile.am, contrib/README, contrib/udbachk.tgz, debian/changelog, debian/rules, doc/CHANGES, doc/README.mirrors, doc/LSM, doc/README.linux, doc/README.platforms, doc/WISHLIST, lib/Makefile.am, lib/fputsx.c, lib/getpass.c, lib/pam_defs.h, lib/prototypes.h, lib/rcsid.h, libmisc/login_desrpc.c, libmisc/pam_pass.c, libmisc/utmp.c, man/login.1, po/el.po, po/pl.po, acconfig.h, configure.in:
        *** empty log message ***
 
 1999-03-07  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
 1997-12-08  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/userdel.c, src/usermod.c, src/shadowconfig.sh, src/su.c, src/sulogin.c, src/useradd.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/newgrp.c, src/newusers.c, src/logoutd.c, src/mkpasswd.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/dpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, old/Makefile.am, old/pwconv.8, old/vipw.8, man/Makefile.am, man/limits.5, man/pwconv.8, man/shadowconfig.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/suauth.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/rlogin.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/getdate.c, libmisc/failure.h, libmisc/fields.c, libmisc/getdate.h, libmisc/getdate.y, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, libmisc/chkshell.c, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/spdbm.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/sppack.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/pwdbm.c, lib/pwent.c, lib/pwauth.c, lib/pwio.c, lib/pwpack.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/port.c, lib/prototypes.h, lib/gsdbm.c, lib/md5.c, lib/md5crypt.c, lib/gshadow.c, lib/gspack.c, lib/lockpw.c, lib/grdbm.c, lib/grent.c, lib/groupio.c, lib/grpack.c, lib/getpass.c, lib/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/dialchk.c, lib/dialchk.h, lib/commonio.c, lib/commonio.h, lib/defines.h, doc/automake-1.0.diff, etc/limits, etc/login.defs.linux, lib/Makefile.am, doc/CHANGES, doc/README.mirrors, doc/README.linux, doc/WISHLIST, debian/login.conffiles, debian/login.postinst, debian/passwd.postinst, debian/porttime, debian/rules, debian/secure-su.README, debian/securetty, contrib/pwdauth.c, debian/changelog, debian/control, aclocal.m4, shadow-utils.spec, acconfig.h, configure.in, Makefile.am:
+       * src/userdel.c, src/usermod.c, src/shadowconfig.sh, src/su.c, src/sulogin.c, src/useradd.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/newgrp.c, src/newusers.c, src/mkpasswd.c, src/logoutd.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/dpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, old/Makefile.am, old/pwconv.8, old/vipw.8, man/Makefile.am, man/limits.5, man/pwconv.8, man/shadowconfig.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/suauth.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/setup.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/rlogin.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/getdate.c, libmisc/failure.h, libmisc/fields.c, libmisc/getdate.h, libmisc/getdate.y, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, libmisc/chkshell.c, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/spdbm.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/sppack.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/pwdbm.c, lib/pwent.c, lib/pwauth.c, lib/pwio.c, lib/pwpack.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/port.c, lib/prototypes.h, lib/gsdbm.c, lib/md5.c, lib/md5crypt.c, lib/gshadow.c, lib/gspack.c, lib/lockpw.c, lib/grdbm.c, lib/grent.c, lib/groupio.c, lib/grpack.c, lib/getpass.c, lib/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/dialchk.c, lib/dialchk.h, lib/commonio.c, lib/commonio.h, lib/defines.h, doc/automake-1.0.diff, etc/limits, etc/login.defs.linux, lib/Makefile.am, doc/CHANGES, doc/README.mirrors, doc/README.linux, doc/WISHLIST, debian/login.conffiles, debian/login.postinst, debian/passwd.postinst, debian/porttime, debian/rules, debian/secure-su.README, debian/securetty, contrib/pwdauth.c, debian/changelog, debian/control, aclocal.m4, shadow-utils.spec, acconfig.h, configure.in, Makefile.am:
        *** empty log message ***
 
 1997-10-01  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
 1997-05-02  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/shadowconfig.sh, src/Makefile.am, man/Makefile.am, libmisc/mail.c, libmisc/salt.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, etc/Makefile.am, doc/WISHLIST, doc/CHANGES, debian/shadowconfig, debian/Makefile.am, debian/changelog, debian/control, debian/rules, configure.in, configure, shlib/Makefile.in, man/Makefile.in, libmisc/Makefile.in, lib/Makefile.in, etc/Makefile.in, doc/Makefile.in, contrib/Makefile.in, Makefile.in, man/userdel.8, man/usermod.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/limits.5, man/login.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, libmisc/valid.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/utmp.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/setugid.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/login_access.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/age.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, lib/utent.c, lib/shadow_.h, lib/spdbm.c, lib/strstr.c, lib/sppack.c, lib/shadow.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/rename.c, lib/rmdir.c, lib/pwpack.c, lib/sgetgrent.c, lib/pwdbm.c, lib/pwent.c, lib/pwauth.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/port.h, lib/pwauth.c, lib/lastlog_.h, lib/mkdir.c, lib/lockpw.c, lib/port.c, lib/gsdbm.c, lib/grpack.c, lib/gshadow.c, lib/gshadow_.h, lib/gspack.c, lib/grdbm.c, lib/grent.c, lib/getdef.c, lib/getpass.c, lib/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/dialchk.c, lib/dialup.c, lib/commonio.c, lib/defines.h, etc/login.defs, etc/login.defs.linux, doc/README.linux, doc/LICENSE, doc/Makefile.am, doc/README, doc/HOWTO, doc/ANNOUNCE, debian/secure-su.README, debian/secure-su.conffiles, debian/secure-su.copyright, debian/secure-su.postrm, debian/secure-su.preinst, debian/securetty, debian/passwd.conffiles, debian/passwd.copyright, debian/passwd.postinst, debian/porttime, debian/login.conffiles, debian/login.copyright, debian/login.postinst, debian/login.postrm, debian/login.preinst, debian/login.prerm, debian/logoutd, config.h.in, acconfig.h, Makefile.am, old/Makefile.in, old/scologin.c, old/orig-config.h, old/pwconv-old.c, old/pwd.h.m4, old/pwunconv-old.c, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/config.h.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/Makefile.am, old/Makefile.linux, src/Makefile.in, src/pwconv.c, src/userdel.c, src/usermod.c, src/useradd.c, src/su.c, src/sulogin.c, src/pwconv5.c, src/scologin.c, src/pwck.c, src/pwunconv.c, src/patchlevel.h, src/newusers.c, src/passwd.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/grpck.c, src/grpconv.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/dpasswd.c, src/chsh.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c:
+       * src/shadowconfig.sh, src/Makefile.am, man/Makefile.am, libmisc/mail.c, libmisc/salt.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, etc/Makefile.am, doc/WISHLIST, doc/CHANGES, debian/shadowconfig, debian/Makefile.am, debian/changelog, debian/control, debian/rules, configure.in, configure, shlib/Makefile.in, man/Makefile.in, libmisc/Makefile.in, lib/Makefile.in, etc/Makefile.in, doc/Makefile.in, contrib/Makefile.in, Makefile.in, man/userdel.8, man/usermod.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/limits.5, man/login.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, libmisc/valid.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/utmp.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/setugid.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/login_access.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/age.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, lib/utent.c, lib/shadow_.h, lib/spdbm.c, lib/strstr.c, lib/sppack.c, lib/shadow.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/rename.c, lib/rmdir.c, lib/pwpack.c, lib/sgetgrent.c, lib/pwdbm.c, lib/pwent.c, lib/pwauth.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/port.h, lib/pwauth.c, lib/lastlog_.h, lib/mkdir.c, lib/lockpw.c, lib/port.c, lib/gsdbm.c, lib/grpack.c, lib/gshadow.c, lib/gshadow_.h, lib/gspack.c, lib/grdbm.c, lib/grent.c, lib/getdef.c, lib/getpass.c, lib/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/dialchk.c, lib/dialup.c, lib/commonio.c, lib/defines.h, etc/login.defs, etc/login.defs.linux, doc/README.linux, doc/LICENSE, doc/Makefile.am, doc/README, doc/HOWTO, doc/ANNOUNCE, debian/secure-su.README, debian/secure-su.conffiles, debian/secure-su.copyright, debian/secure-su.postrm, debian/secure-su.preinst, debian/securetty, debian/passwd.conffiles, debian/passwd.copyright, debian/passwd.postinst, debian/porttime, debian/login.conffiles, debian/login.copyright, debian/login.postinst, debian/login.postrm, debian/login.preinst, debian/login.prerm, debian/logoutd, config.h.in, acconfig.h, Makefile.am, old/Makefile.in, old/scologin.c, old/orig-config.h, old/pwconv-old.c, old/pwd.h.m4, old/pwunconv-old.c, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/config.h.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/Makefile.am, old/Makefile.linux, src/Makefile.in, src/pwconv.c, src/userdel.c, src/usermod.c, src/useradd.c, src/su.c, src/sulogin.c, src/pwconv5.c, src/scologin.c, src/pwck.c, src/pwunconv.c, src/patchlevel.h, src/newusers.c, src/passwd.c, src/mkpasswd.c, src/logoutd.c, src/newgrp.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/grpck.c, src/grpconv.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/dpasswd.c, src/chsh.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c:
        *** empty log message ***
 
 1997-02-11  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
 1996-09-10  Marek Micha³kiewicz  <marekm@pld.org.pl>
 
-       * src/su.c, src/sulogin.c, src/usermod.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/Makefile.in, src/chfn.c, src/chsh.c, src/grpunconv.c, src/login.c, src/Makefile.am, man/useradd.8, man/userdel.8, man/usermod.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, libmisc/isexpired.c, libmisc/obscure.c, libmisc/setupenv.c, libmisc/utmp.c, libmisc/age.c, lib/defines.h, lib/getdef.c, lib/getpass.c, etc/limits, etc/login.access, etc/login.defs.linux, doc/CHANGES, doc/README.linux, doc/WISHLIST, contrib/Makefile.in, contrib/Makefile.am, configure, configure.in:
+       * src/su.c, src/sulogin.c, src/usermod.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/Makefile.in, src/chfn.c, src/chsh.c, src/grpunconv.c, src/login.c, src/Makefile.am, man/useradd.8, man/userdel.8, man/usermod.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/mkpasswd.8, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, libmisc/isexpired.c, libmisc/obscure.c, libmisc/setupenv.c, libmisc/utmp.c, libmisc/age.c, lib/defines.h, lib/getdef.c, lib/getpass.c, etc/limits, etc/login.access, etc/login.defs.linux, doc/CHANGES, doc/README.linux, doc/WISHLIST, contrib/Makefile.in, contrib/Makefile.am, configure, configure.in:
        *** empty log message ***
 
 1996-08-10  Marek Micha³kiewicz  <marekm@pld.org.pl>
        * contrib/adduser-old.c, contrib/adduser.sh, contrib/adduser2.sh, contrib/atudel:
        960810 - first version under cvs
 
-       * contrib/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser.c, contrib/pwdauth.c, doc/ANNOUNCE, doc/CHANGES, doc/Makefile.in, doc/README.sun4, doc/automake-1.0.diff, doc/console.c.spec, doc/HOWTO, doc/LICENSE, doc/Makefile.am, doc/README, doc/README.limits, doc/README.linux, doc/WISHLIST, etc/Makefile.in, etc/Makefile.am, etc/login.access, etc/login.defs, etc/login.defs.linux, old/Makefile.in, src/patchlevel.h, src/pwconv5.c, src/scologin.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groups.c, src/grpconv.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, lib/dialup.h, lib/grdbm.c, lib/grent.c, lib/gsdbm.c, lib/lastlog_.h, lib/md5.c, lib/md5.h, lib/md5crypt.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwdbm.c, lib/pwent.c, lib/rename.c, lib/rmdir.c, lib/shadow_.h, lib/spdbm.c, lib/strdup.c, lib/strstr.c, lib/defines.h, lib/faillog.h, lib/getdef.h, lib/groupio.h, lib/grpack.c, lib/gshadow_.h, lib/gspack.c, lib/port.h, lib/prototypes.h, lib/pwauth.h, lib/pwio.h, lib/pwpack.c, lib/rcsid.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/sppack.c, lib/utent.c, src/Makefile.in, src/dpasswd.c, src/Makefile.am, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/mkpasswd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Makefile.in, lib/dialchk.c, lib/dialup.c, lib/rad64.c, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/sgroupio.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/suauth.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, man/Makefile.in, man/dpasswd.8, man/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, Makefile.in, aclocal.m4, config.h.in, configure, install-sh, mkinstalldirs, stamp-h.in, Makefile.am, README, acconfig.h, configure.in, libmisc/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c:
+       * contrib/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser.c, contrib/pwdauth.c, doc/ANNOUNCE, doc/CHANGES, doc/Makefile.in, doc/README.sun4, doc/automake-1.0.diff, doc/console.c.spec, doc/HOWTO, doc/LICENSE, doc/Makefile.am, doc/README, doc/README.limits, doc/README.linux, doc/WISHLIST, etc/Makefile.in, etc/Makefile.am, etc/login.access, etc/login.defs, etc/login.defs.linux, old/Makefile.in, src/patchlevel.h, src/pwconv5.c, src/scologin.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groups.c, src/grpconv.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, lib/dialup.h, lib/grdbm.c, lib/grent.c, lib/gsdbm.c, lib/lastlog_.h, lib/md5.c, lib/md5.h, lib/md5crypt.c, lib/mkdir.c, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwdbm.c, lib/pwent.c, lib/rename.c, lib/rmdir.c, lib/shadow_.h, lib/spdbm.c, lib/strdup.c, lib/strstr.c, lib/defines.h, lib/faillog.h, lib/getdef.h, lib/groupio.h, lib/grpack.c, lib/gshadow_.h, lib/gspack.c, lib/port.h, lib/prototypes.h, lib/pwauth.h, lib/pwio.h, lib/pwpack.c, lib/rcsid.h, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/sppack.c, lib/utent.c, src/Makefile.in, src/dpasswd.c, src/mkpasswd.c, src/Makefile.am, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Makefile.in, lib/dialchk.c, lib/dialup.c, lib/rad64.c, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/sgroupio.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/setup.c, libmisc/suauth.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, man/Makefile.in, man/dpasswd.8, man/mkpasswd.8, man/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, Makefile.in, aclocal.m4, config.h.in, configure, install-sh, mkinstalldirs, stamp-h.in, Makefile.am, README, acconfig.h, configure.in, libmisc/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c:
        New file.
 
index d08f5698961b0a752a83ae6bc0cb78cf233d7b5a..513096cfff500a817afd449a06def03e7c676524 100644 (file)
@@ -42,11 +42,7 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -199,7 +195,6 @@ AUTOMAKE_OPTIONS = 1.5 dist-bzip2 foreign
 SUBDIRS = po man libmisc lib src \
        contrib doc etc
 
-ACLOCAL_AMFLAGS = -I m4
 all: config.h
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -402,7 +397,7 @@ distclean-tags:
 distdir: $(DISTFILES)
        $(am__remove_distdir)
        mkdir $(distdir)
-       $(mkdir_p) $(distdir)/. $(distdir)/m4 $(distdir)/po
+       $(mkdir_p) $(distdir)/. $(distdir)/po
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
diff --git a/NEWS b/NEWS
index 0f02777b9270c40089b16afeaeb3b98f74e22715..622948068d16ebd457fab9d4a4764edd735430cb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,44 @@
-$Id: NEWS,v 1.155 2005/05/19 12:05:02 kloczek Exp $
+$Id: NEWS,v 1.178 2005/06/28 14:28:19 kloczek Exp $
 
-shadow-4.0.8 -> shadow-4.0.9
+shadow-4.0.9 -> shadow-4.0.10                                          28-06-2005
+
+*** general:
+- mkpasswd: removed,
+- userdel: now deletes user groups from /etc/gshdow as well as /etc/group.
+  Fix by Nicolas François <nicolas.francois@centraliens.net>.
+  http://bugs.debian.org/99442
+- usermod: when relocating a user's home directory, don't fail and remove the new
+  home directory if we can't remove the old home directory for some
+  reason; the results can be spectularly poort if, for instance, only
+  the rmdir() fails. Patch prepared by Timo Lindfors <lindi-spamtrap@newmail.com>.
+  http://bugs.debian.org/166369
+- su: fix syslogs to be less ambiguous. Use old:new format instead of old-new
+  because '-' can appear in usernames
+  http://bugs.debian.org/213592
+- removed not used now libmisc/setup.c,
+- login: use also UTMPX API instead UTMP on failure (login was affected for this
+  when shadow was builded without PAM support)
+  patch by Nicolas François <nicolas.francois@centraliens.net>
+- login: the PAM session needs to be closed as root, thus before change_uid()
+  http://bugs.debian.org/53570 http://bugs.debian.org/195048 http://bugs.debian.org/211884
+- login: made login's -f option also able to use the username after -- if none
+  was passed as it's optarg
+  http://bugs.debian.org/53702 
+- login: check for hushed login and pass PAM_SILENT if true,
+  http://bugs.debian.org/48002
+- login: fixed username on succesful login (was using the normal username,
+  when it should have used pam_user) http://bugs.debian.org/47819
+- remove using SHADOWPWD #define so now shadow is allways builded with shadow
+  passwowd support,
+- chage: rewrite for use getopt_long(),
+- updated translations: ca, cs, da, fi, pl, ru, zh_TW.
+*** documentation:
+- most of the man pages now are generated from XML files so in case submiting any
+  chages to this resources please make diff to XML files,
+- chfn: give more details about the influence of login.defs on what's allowed to
+  users.
+
+shadow-4.0.8 -> shadow-4.0.9                                           23-05-2005
 
 *** general:
 - passwd: fixed segfault in non-PAM connfiguration
@@ -13,7 +51,7 @@ shadow-4.0.8 -> shadow-4.0.9
   a sequential one (Lucas Correia Villa Real <lucasvr@gobolinux.org>),
 - lastlog: fixed --help message (s,--login,--user,) http://bugs.debian.org/249611.
 
-shadow-4.0.7 -> shadow-4.0.8
+shadow-4.0.7 -> shadow-4.0.8                                           26-04-2005
 
 *** general:
 - remove not working OPIE and SKEY support,
@@ -71,7 +109,7 @@ shadow-4.0.7 -> shadow-4.0.8
 - gshadow(5): new file (by Nicolas Nicolas François <nicolas.francois@centraliens.net>),
 - usermod(8): fixed #302388 Debian bug: added separated -o option description,
 
-shadow-4.0.6 -> shadow-4.0.7
+shadow-4.0.6 -> shadow-4.0.7                                           26-01-2005
 
 - updated translations: da, es, fi, it, nl, pl, pt,
 - added zh_TW translation (from Debian resources),
@@ -95,7 +133,7 @@ shadow-4.0.6 -> shadow-4.0.7
    (by Ian Gulliver <ian@penguinhosting.net>),
 -- rewrited chpasswd(8) man page.  
 
-shadow-4.0.5 -> shadow-4.0.6
+shadow-4.0.5 -> shadow-4.0.6                                           08-11-2004
 
 - su: fixed adding of pam_env env variables to enviroment
   (Martin Schlemmer <azarah@nosferatu.za.org>),
@@ -107,7 +145,7 @@ shadow-4.0.5 -> shadow-4.0.6
 - do not translate variable names from /etc/default/useradd during
   "useradd -D".
 
-shadow-4.0.4.1 -> shadow-4.0.5
+shadow-4.0.4.1 -> shadow-4.0.5                                         27-10-2004
 
 - change libmisc to private static library,
 - added SELinux support (basing on patch from Gentoo),
@@ -160,11 +198,11 @@ shadow-4.0.4.1 -> shadow-4.0.5
   zh_CN (stolen from Debian),
 - remove adduser(8) roff include man page to useradd(8).
 
-shadow-4.0.4 => shadow-4.0.4.1
+shadow-4.0.4 => shadow-4.0.4.1                                         14-01-2004
 - bug fixes in automake files for generate correct tar ball on "make dist":
   added mising "EXTRA_DIST = $(man_MANS)" in man/*/Makefile.am.
 
-shadow-4.0.3 => shadow-4.0.4
+shadow-4.0.3 => shadow-4.0.4                                           14-01-2004      
 
 *** general:
 - added missing information about -f options in groupadd usage mesage
@@ -209,7 +247,7 @@ shadow-4.0.3 => shadow-4.0.4
   (by Josef Spillner <josef@ggzgamingzone.org>),
 - many other cleanups and unifications in man pages.
 
-shadow-4.0.2 => shadow-4.0.3
+shadow-4.0.2 => shadow-4.0.3                                            13-03-2002
 
 - added variouse cs, de, fr, id, it, ko man pages found mainly in national
   man pages translations projects (this documents are not synced with
@@ -224,7 +262,7 @@ shadow-4.0.2 => shadow-4.0.3
 - minor changes and updates in man pages (also merged
   shadow-4.0.0-owl-man.patch by Solar Designer <solar@openwall.com>).
 
-shadow-4.0.1 => shadow-4.0.2
+shadow-4.0.1 => shadow-4.0.2                                            17-02-2002
 
 - resolve many fuzzy translations also all this which may cause problems on
   displaing long uid/gid,
@@ -272,7 +310,7 @@ shadow-4.0.0 => shadow-4.0.1
 - installed fix for SEGV when using pwck -s on /etc/passwd file with
   empty lines in it.
   
-shadow-20001016 => shadow-4.0.0
+shadow-20001016 => shadow-4.0.0                                                 06-01-2002
 
 - fix bug discovered and fixed by Marcel Ritter
   <Marcel.Ritter@rrze.uni-erlangen.de>
index 7cbd22e8ce63eb8bff4c8221df86531ed02871b8..ed18b417e1eff14618e712e3a03fea1d344d65dc 100644 (file)
@@ -1,10 +1,7 @@
-/* $Id: acconfig.h,v 1.21 2003/12/17 01:46:59 kloczek Exp $ */
+/* $Id: acconfig.h,v 1.23 2005/06/16 18:39:30 kloczek Exp $ */
 
 \f
 
-/* Define if you have secure RPC.  */
-#undef DES_RPC
-
 /* Path for faillog file.  */
 #undef FAILLOG_FILE
 
@@ -38,9 +35,6 @@
 /* Name of user's mail spool file if stored in user's home directory.  */
 #undef MAIL_SPOOL_FILE
 
-/* Define to support OPIE one-time password logins.  */
-#undef OPIE
-
 /* Path to passwd program.  */
 #undef PASSWD_PROGRAM
 
@@ -53,9 +47,6 @@
 /* Define to support the shadow group file.  */
 #undef SHADOWGRP
 
-/* Define to support the shadow password file.  */
-#undef SHADOWPWD
-
 /* Define to support S/Key logins.  */
 #undef SKEY
 
index a0f499352ba36e04616daf5cb19ec47d4aa76049..212fadbcbb93ef01baacc88b54f73dd2c8c393bf 100644 (file)
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+# gettext.m4 serial 36 (gettext-0.14.3)
+dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl    default (if it is not specified or empty) is 'no-libtool'.
+dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl    depending on --{enable,disable}-{shared,static} and on the presence of
+dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl    $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl    implementations (in libc or libintl) without the ngettext() function
+dnl    will be ignored.  If NEEDSYMBOL is specified and is
+dnl    'need-formatstring-macros', then GNU gettext implementations that don't
+dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries.  If empty,
+dnl    the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl    and used.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl    Catalog format: none
+dnl    Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+  dnl Argument checking.
+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+  define([gt_included_intl], ifelse([$1], [external], [no], [yes]))
+  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+
+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
+  ifelse(gt_included_intl, yes, [
+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
+  ])
+
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Sometimes libintl requires libiconv, so first search for libiconv.
+  dnl Ideally we would do this search only after the
+  dnl      if test "$USE_NLS" = "yes"; then
+  dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+  dnl the configure script would need to contain the same shell code
+  dnl again, outside any 'if'. There are two solutions:
+  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+  dnl documented, we avoid it.
+  ifelse(gt_included_intl, yes, , [
+    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+  ])
+
+  dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+  gt_INTL_MACOSX
+
+  dnl Set USE_NLS.
+  AM_NLS
+
+  ifelse(gt_included_intl, yes, [
+    BUILD_INCLUDED_LIBINTL=no
+    USE_INCLUDED_LIBINTL=no
+  ])
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+  dnl If we use NLS figure out what method
+  if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+    ifelse(gt_included_intl, yes, [
+      AC_MSG_CHECKING([whether included gettext is requested])
+      AC_ARG_WITH(included-gettext,
+        [  --with-included-gettext use the GNU gettext library included here],
+        nls_cv_force_use_gnu_gettext=$withval,
+        nls_cv_force_use_gnu_gettext=no)
+      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+    ])
+        dnl User does not insist on using GNU NLS library.  Figure out what
+        dnl to use.  If GNU gettext is available we use this.  Else we have
+        dnl to fall back to GNU NLS library.
+
+        dnl Add a version number to the cache macros.
+        define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
+        define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
+        define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
+
+        AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
+         [AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
+            [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
+            gt_cv_func_gnugettext_libc=yes,
+            gt_cv_func_gnugettext_libc=no)])
+
+        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+          dnl Sometimes libintl requires libiconv, so first search for libiconv.
+          ifelse(gt_included_intl, yes, , [
+            AM_ICONV_LINK
+          ])
+          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+          dnl even if libiconv doesn't exist.
+          AC_LIB_LINKFLAGS_BODY([intl])
+          AC_CACHE_CHECK([for GNU gettext in libintl],
+            gt_cv_func_gnugettext_libintl,
+           [gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+            dnl Now see whether libintl exists and does not depend on libiconv.
+            AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+              [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+              gt_cv_func_gnugettext_libintl=yes,
+              gt_cv_func_gnugettext_libintl=no)
+            dnl Now see whether libintl exists and depends on libiconv.
+            if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+                [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+               [LIBINTL="$LIBINTL $LIBICONV"
+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                gt_cv_func_gnugettext_libintl=yes
+               ])
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"])
+        fi
+
+        dnl If an already present or preinstalled GNU gettext() is found,
+        dnl use it.  But if this macro is used in GNU gettext, and GNU
+        dnl gettext is already preinstalled in libintl, we update this
+        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
+        if test "$gt_cv_func_gnugettext_libc" = "yes" \
+           || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+                && test "$PACKAGE" != gettext-runtime \
+                && test "$PACKAGE" != gettext-tools; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+          dnl Reset the values set by searching for libintl.
+          LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+    ifelse(gt_included_intl, yes, [
+        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+          dnl GNU gettext is not found in the C library.
+          dnl Fall back on included GNU gettext library.
+          nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
+        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+      fi
+
+      CATOBJEXT=
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions to use GNU gettext tools.
+        CATOBJEXT=.gmo
+      fi
+    ])
+
+    if test -n "$INTL_MACOSX_LIBS"; then
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Some extra flags are needed during linking.
+        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+      fi
+    fi
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+      AC_DEFINE(ENABLE_NLS, 1,
+        [Define to 1 if translation of program messages to the user's native language
+   is requested.])
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  AC_MSG_CHECKING([whether to use NLS])
+  AC_MSG_RESULT([$USE_NLS])
+  if test "$USE_NLS" = "yes"; then
+    AC_MSG_CHECKING([where the gettext function comes from])
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+        gt_source="external libintl"
+      else
+        gt_source="libc"
+      fi
+    else
+      gt_source="included intl directory"
+    fi
+    AC_MSG_RESULT([$gt_source])
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+        AC_MSG_CHECKING([how to link with libintl])
+        AC_MSG_RESULT([$LIBINTL])
+        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+      fi
+
+      dnl For backward compatibility. Some packages may be using this.
+      AC_DEFINE(HAVE_GETTEXT, 1,
+       [Define if the GNU gettext() function is already present or preinstalled.])
+      AC_DEFINE(HAVE_DCGETTEXT, 1,
+       [Define if the GNU dcgettext() function is already present or preinstalled.])
+    fi
+
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
+
+  ifelse(gt_included_intl, yes, [
+    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+    dnl to 'yes' because some of the testsuite requires it.
+    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+      BUILD_INCLUDED_LIBINTL=yes
+    fi
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST(BUILD_INCLUDED_LIBINTL)
+    AC_SUBST(USE_INCLUDED_LIBINTL)
+    AC_SUBST(CATOBJEXT)
+
+    dnl For backward compatibility. Some configure.ins may be using this.
+    nls_cv_header_intl=
+    nls_cv_header_libgt=
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    DATADIRNAME=share
+    AC_SUBST(DATADIRNAME)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INSTOBJEXT=.mo
+    AC_SUBST(INSTOBJEXT)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    GENCAT=gencat
+    AC_SUBST(GENCAT)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INTLOBJS=
+    if test "$USE_INCLUDED_LIBINTL" = yes; then
+      INTLOBJS="\$(GETTOBJS)"
+    fi
+    AC_SUBST(INTLOBJS)
+
+    dnl Enable libtool support if the surrounding package wishes it.
+    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+  ])
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  INTLLIBS="$LIBINTL"
+  AC_SUBST(INTLLIBS)
+
+  dnl Make all documented variables known to autoconf.
+  AC_SUBST(LIBINTL)
+  AC_SUBST(LTLIBINTL)
+  AC_SUBST(POSUB)
+])
+
+
+dnl Checks for all prerequisites of the intl subdirectory,
+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
+dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
+AC_DEFUN([AM_INTL_SUBDIR],
+[
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+  AC_REQUIRE([AC_PROG_CC])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST])dnl
+  AC_REQUIRE([gt_GLIBC2])dnl
+  AC_REQUIRE([AC_PROG_RANLIB])dnl
+  AC_REQUIRE([AC_ISC_POSIX])dnl
+  AC_REQUIRE([AC_HEADER_STDC])dnl
+  AC_REQUIRE([AC_C_CONST])dnl
+  AC_REQUIRE([bh_C_SIGNED])dnl
+  AC_REQUIRE([AC_C_INLINE])dnl
+  AC_REQUIRE([AC_TYPE_OFF_T])dnl
+  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+  AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl
+  AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
+  AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
+  AC_REQUIRE([gt_TYPE_WINT_T])dnl
+  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+  AC_REQUIRE([gt_TYPE_INTMAX_T])
+  AC_REQUIRE([gt_PRINTF_POSIX])
+  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+  AC_REQUIRE([AC_FUNC_MMAP])dnl
+  AC_REQUIRE([gl_GLIBC21])dnl
+  AC_REQUIRE([gt_INTDIV0])dnl
+  AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
+  AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
+  AC_REQUIRE([gt_INTTYPES_PRI])dnl
+  AC_REQUIRE([gl_XSIZE])dnl
+  AC_REQUIRE([gt_INTL_MACOSX])dnl
+
+  AC_CHECK_TYPE([ptrdiff_t], ,
+    [AC_DEFINE([ptrdiff_t], [long],
+       [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
+    ])
+  AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+  AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
+mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
+strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
+__fsetlocking])
+
+  dnl Use the _snprintf function only if it is declared (because on NetBSD it
+  dnl is defined as a weak alias of snprintf; we prefer to use the latter).
+  gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
+  gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
+
+  dnl Use the *_unlocked functions only if they are declared.
+  dnl (because some of them were defined without being declared in Solaris
+  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
+  dnl on Solaris 2.5.1 to run on Solaris 2.6).
+  dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
+  gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
+  gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
+  gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
+
+  case $gt_cv_func_printf_posix in
+    *yes) HAVE_POSIX_PRINTF=1 ;;
+    *) HAVE_POSIX_PRINTF=0 ;;
+  esac
+  AC_SUBST([HAVE_POSIX_PRINTF])
+  if test "$ac_cv_func_asprintf" = yes; then
+    HAVE_ASPRINTF=1
+  else
+    HAVE_ASPRINTF=0
+  fi
+  AC_SUBST([HAVE_ASPRINTF])
+  if test "$ac_cv_func_snprintf" = yes; then
+    HAVE_SNPRINTF=1
+  else
+    HAVE_SNPRINTF=0
+  fi
+  AC_SUBST([HAVE_SNPRINTF])
+  if test "$ac_cv_func_wprintf" = yes; then
+    HAVE_WPRINTF=1
+  else
+    HAVE_WPRINTF=0
+  fi
+  AC_SUBST([HAVE_WPRINTF])
+
+  AM_ICONV
+  AM_LANGINFO_CODESET
+  if test $ac_cv_header_locale_h = yes; then
+    gt_LC_MESSAGES
+  fi
+
+  if test -n "$INTL_MACOSX_LIBS"; then
+    CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+  fi
+
+  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+  dnl because plural.y uses bison specific features. It requires at least
+  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+  dnl compile.
+  dnl bison is only needed for the maintainer (who touches plural.y). But in
+  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+  dnl the rule in general Makefile. Now, some people carelessly touch the
+  dnl files or have a broken "make" program, hence the plural.c rule will
+  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+  dnl present or too old.
+  AC_CHECK_PROGS([INTLBISON], [bison])
+  if test -z "$INTLBISON"; then
+    ac_verc_fail=yes
+  else
+    dnl Found it, now check the version.
+    AC_MSG_CHECKING([version of bison])
+changequote(<<,>>)dnl
+    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+    case $ac_prog_version in
+      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+changequote([,])dnl
+         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+    esac
+    AC_MSG_RESULT([$ac_prog_version])
+  fi
+  if test $ac_verc_fail = yes; then
+    INTLBISON=:
+  fi
+])
+
+
+dnl Checks for special options needed on MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+  dnl Check for API introduced in MacOS X 10.2.
+  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+    gt_cv_func_CFPreferencesCopyAppValue,
+    [gt_save_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+     gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -framework CoreFoundation"
+     AC_TRY_LINK([#include <CFPreferences.h>],
+       [CFPreferencesCopyAppValue(NULL, NULL)],
+       [gt_cv_func_CFPreferencesCopyAppValue=yes],
+       [gt_cv_func_CFPreferencesCopyAppValue=no])
+     CPPFLAGS="$gt_save_CPPFLAGS"
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+      [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+  fi
+  dnl Check for API introduced in MacOS X 10.3.
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+    [gt_save_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+     gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -framework CoreFoundation"
+     AC_TRY_LINK([#include <CFLocale.h>], [CFLocaleCopyCurrent();],
+       [gt_cv_func_CFLocaleCopyCurrent=yes],
+       [gt_cv_func_CFLocaleCopyCurrent=no])
+     CPPFLAGS="$gt_save_CPPFLAGS"
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+  fi
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+  fi
+  AC_SUBST([INTL_MACOSX_LIBS])
+])
+
+
+dnl gt_CHECK_DECL(FUNC, INCLUDES)
+dnl Check whether a function is declared.
+AC_DEFUN([gt_CHECK_DECL],
+[
+  AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
+    [AC_TRY_COMPILE([$2], [
+#ifndef $1
+  char *p = (char *) $1;
+#endif
+], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
+  if test $ac_cv_have_decl_$1 = yes; then
+    gt_value=1
+  else
+    gt_value=0
+  fi
+  AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
+    [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+
+# iconv.m4 serial AM4 (gettext-0.11.3)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+      [iconv_t cd = iconv_open("","");
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);],
+      am_cv_func_iconv=yes)
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+        [iconv_t cd = iconv_open("","");
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);],
+        am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes)
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST(LIBICONV)
+  AC_SUBST(LTLIBICONV)
+])
+
+AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL(am_cv_proto_iconv, [
+      AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([$]{ac_t:-
+         }[$]am_cv_proto_iconv)
+    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+      [Define as const if the declaration of iconv() needs const.])
+  fi
+])
+
+# lib-ld.m4 serial 3 (gettext-0.13)
+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
+dnl with libtool.m4.
+
+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes ;;
+*)
+  acl_cv_prog_gnu_ld=no ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-1.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by GCC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]* | [A-Za-z]:[\\/]*)]
+      [re_direlt='/[^/][^/]*/\.\./']
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(acl_cv_path_LD,
+[if test -z "$LD"; then
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break ;;
+      *)
+       test "$with_gnu_ld" != yes && break ;;
+      esac
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
+
+# lib-link.m4 serial 6 (gettext-0.14.3)
+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ(2.50)
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  define([Name],[translit([$1],[./-], [___])])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+    AC_LIB_LINKFLAGS_BODY([$1], [$2])
+    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+  ])
+  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+  dnl results of this search when this library appears as a dependency.
+  HAVE_LIB[]NAME=yes
+  undefine([Name])
+  undefine([NAME])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. If found, it
+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  define([Name],[translit([$1],[./-], [___])])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+
+  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed lib[]Name and not disabled its use
+  dnl via --without-lib[]Name-prefix, he wants to use it.
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+    ac_save_LIBS="$LIBS"
+    LIBS="$LIBS $LIB[]NAME"
+    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+    LIBS="$ac_save_LIBS"
+  ])
+  if test "$ac_cv_lib[]Name" = yes; then
+    HAVE_LIB[]NAME=yes
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+    AC_MSG_CHECKING([how to link with lib[]$1])
+    AC_MSG_RESULT([$LIB[]NAME])
+  else
+    HAVE_LIB[]NAME=no
+    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+    dnl $INC[]NAME either.
+    CPPFLAGS="$ac_save_CPPFLAGS"
+    LIB[]NAME=
+    LTLIB[]NAME=
+  fi
+  AC_SUBST([HAVE_LIB]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  undefine([Name])
+  undefine([NAME])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
+dnl hardcode_direct, hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
+  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
+  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
+  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+  ])
+  wl="$acl_cv_wl"
+  libext="$acl_cv_libext"
+  shlibext="$acl_cv_shlibext"
+  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  hardcode_direct="$acl_cv_hardcode_direct"
+  hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  dnl Determine whether the user wants rpath handling at all.
+  AC_ARG_ENABLE(rpath,
+    [  --disable-rpath         do not hardcode runtime library paths],
+    :, enable_rpath=yes)
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_LIB_ARG_WITH([lib$1-prefix],
+[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
+  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+])
+  dnl Search the library and its dependencies in $additional_libdir and
+  dnl $LDFLAGS. Using breadth-first-seach.
+  LIB[]NAME=
+  LTLIB[]NAME=
+  INC[]NAME=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='$1 $2'
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+        dnl or AC_LIB_HAVE_LINKFLAGS call.
+        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+          else
+            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+            dnl that this library doesn't exist. So just drop it.
+            :
+          fi
+        else
+          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+          dnl and the already constructed $LIBNAME/$LTLIBNAME.
+          found_dir=
+          found_la=
+          found_so=
+          found_a=
+          if test $use_additional = yes; then
+            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+              found_dir="$additional_libdir"
+              found_so="$additional_libdir/lib$name.$shlibext"
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
+              fi
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIB[]NAME; do
+              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+                    found_dir="$dir"
+                    found_so="$dir/lib$name.$shlibext"
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
+                    fi
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+            dnl Found the library.
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+              dnl Linking with a shared library. We attempt to hardcode its
+              dnl directory into the executable's runpath, unless it's the
+              dnl standard /usr/lib.
+              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+                dnl No hardcoding is needed.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+              else
+                dnl Use an explicit option to hardcode DIR into the resulting
+                dnl binary.
+                dnl Potentially add DIR to ltrpathdirs.
+                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                dnl The hardcoding into $LIBNAME is system dependent.
+                if test "$hardcode_direct" = yes; then
+                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+                  dnl resulting binary.
+                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                else
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                    dnl Use an explicit option to hardcode DIR into the resulting
+                    dnl binary.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    dnl Potentially add DIR to rpathdirs.
+                    dnl The rpathdirs will be appended to $LIBNAME at the end.
+                    haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                    dnl Rely on "-L$found_dir".
+                    dnl But don't add it if it's already contained in the LDFLAGS
+                    dnl or the already constructed $LIBNAME
+                    haveit=
+                    for x in $LDFLAGS $LIB[]NAME; do
+                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+                    fi
+                    if test "$hardcode_minus_L" != no; then
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    else
+                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+                      dnl here, because this doesn't fit in flags passed to the
+                      dnl compiler. So give up. No hardcoding. This affects only
+                      dnl very old systems.
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                dnl Linking with a static library.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+              else
+                dnl We shouldn't come here, but anyway it's good to have a
+                dnl fallback.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+              fi
+            fi
+            dnl Assume the include files are nearby.
+            additional_includedir=
+            case "$found_dir" in
+              */lib | */lib/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+              dnl Potentially add $additional_includedir to $INCNAME.
+              dnl But don't add it
+              dnl   1. if it's the standard /usr/include,
+              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
+              dnl   3. if it's already present in $CPPFLAGS or the already
+              dnl      constructed $INCNAME,
+              dnl   4. if it doesn't exist as a directory.
+              if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INC[]NAME; do
+                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                      dnl Really add $additional_includedir to $INCNAME.
+                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+            dnl Look for dependencies.
+            if test -n "$found_la"; then
+              dnl Read the .la file. It defines the variables
+              dnl dlname, library_names, old_library, dependency_libs, current,
+              dnl age, revision, installed, dlopen, dlpreopen, libdir.
+              save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+              dnl We use only dependency_libs.
+              for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+                    dnl But don't add it
+                    dnl   1. if it's the standard /usr/lib,
+                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
+                    dnl   3. if it's already present in $LDFLAGS or the already
+                    dnl      constructed $LIBNAME,
+                    dnl   4. if it doesn't exist as a directory.
+                    if test "X$additional_libdir" != "X/usr/lib"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LIBNAME.
+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LTLIBNAME.
+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                      dnl Potentially add DIR to rpathdirs.
+                      dnl The rpathdirs will be appended to $LIBNAME at the end.
+                      haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                      dnl Potentially add DIR to ltrpathdirs.
+                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                      haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                    dnl Handle this in the next round.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                    dnl Handle this in the next round. Throw away the .la's
+                    dnl directory; it is already contained in a preceding -L
+                    dnl option.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                    dnl Most likely an immediate library name.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+            dnl Didn't find the library; assume it is in the system directories
+            dnl known to the linker and runtime loader. (All the system
+            dnl directories known to the linker should also be known to the
+            dnl runtime loader, otherwise the system is severely misconfigured.)
+            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$hardcode_libdir_separator"; then
+      dnl Weird platform: only the last -rpath option counts, the user must
+      dnl pass all path elements in one option. We can arrange that for a
+      dnl single library, but not when more than one $LIBNAMEs are used.
+      alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+      done
+      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+      acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+    else
+      dnl The -rpath options are cumulative.
+      for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+    dnl When using libtool, the option that works for both libraries and
+    dnl executables is -R. The -R options are cumulative.
+    for found_dir in $ltrpathdirs; do
+      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+    done
+  fi
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+  for element in [$2]; do
+    haveit=
+    for x in $[$1]; do
+      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      [$1]="${[$1]}${[$1]:+ }$element"
+    fi
+  done
+])
+
+# lib-prefix.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_LIB_ARG_WITH([lib-prefix],
+[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+])
+  if test $use_additional = yes; then
+    dnl Potentially add $additional_includedir to $CPPFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/include,
+    dnl   2. if it's already present in $CPPFLAGS,
+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_includedir" != "X/usr/include"; then
+      haveit=
+      for x in $CPPFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-I$additional_includedir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_includedir" = "X/usr/local/include"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_includedir"; then
+            dnl Really add $additional_includedir to $CPPFLAGS.
+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+          fi
+        fi
+      fi
+    fi
+    dnl Potentially add $additional_libdir to $LDFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/lib,
+    dnl   2. if it's already present in $LDFLAGS,
+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_libdir" != "X/usr/lib"; then
+      haveit=
+      for x in $LDFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-L$additional_libdir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_libdir" = "X/usr/local/lib"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_libdir"; then
+            dnl Really add $additional_libdir to $LDFLAGS.
+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+          fi
+        fi
+      fi
+    fi
+  fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+  dnl Unfortunately, prefix and exec_prefix get only finally determined
+  dnl at the end of configure.
+  if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  $1
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+])
+
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
 # serial 47 AC_PROG_LIBTOOL
@@ -1533,7 +3004,7 @@ linux*)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,   ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
@@ -1596,7 +3067,11 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -3252,12 +4727,12 @@ case $host_os in
        ;;
       pgCC*)
         # Portland Group C++ compiler
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
         ;;
       cxx*)
        # Compaq C++
@@ -5351,11 +6826,12 @@ EOF
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
          ;;
        pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-         tmp_addflag=' -fpic -Mnomain' ;;
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
@@ -6171,6 +7647,581 @@ SED=$lt_cv_path_SED
 AC_MSG_RESULT([$SED])
 ])
 
+# nls.m4 serial 2 (gettext-0.14.3)
+dnl Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT($USE_NLS)
+  AC_SUBST(USE_NLS)
+])
+
+AC_DEFUN([AM_MKINSTALLDIRS],
+[
+  dnl Tell automake >= 1.10 to complain if mkinstalldirs is missing.
+  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([mkinstalldirs])])
+  dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+  dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
+  dnl Try to locate it.
+  MKINSTALLDIRS=
+  if test -n "$ac_aux_dir"; then
+    case "$ac_aux_dir" in
+      /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
+      *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
+    esac
+  fi
+  if test -z "$MKINSTALLDIRS"; then
+    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+  fi
+  AC_SUBST(MKINSTALLDIRS)
+])
+
+# po.m4 serial 7 (gettext-0.14.3)
+dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+  AC_REQUIRE([AM_NLS])dnl
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+  dnl The second test excludes FreeBSD msgfmt.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+  dnl Search for GNU xgettext 0.12 or newer in the PATH.
+  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+  dnl The second test excludes FreeBSD xgettext.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  dnl Remove leftover from FreeBSD xgettext call.
+  rm -f messages.po
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+  dnl Test whether we really found GNU msgfmt.
+  if test "$GMSGFMT" != ":"; then
+    dnl If it is no GNU msgfmt we define it as : so that the
+    dnl Makefiles still can work.
+    if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+      AC_MSG_RESULT(
+        [found $GMSGFMT program is not GNU msgfmt; ignore it])
+      GMSGFMT=":"
+    fi
+  fi
+
+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+  dnl Test whether we really found GNU xgettext.
+  if test "$XGETTEXT" != ":"; then
+    dnl If it is no GNU xgettext we define it as : so that the
+    dnl Makefiles still can work.
+    if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+       (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      AC_MSG_RESULT(
+        [found xgettext program is not GNU xgettext; ignore it])
+      XGETTEXT=":"
+    fi
+    dnl Remove leftover from FreeBSD xgettext call.
+    rm -f messages.po
+  fi
+
+  AC_OUTPUT_COMMANDS([
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        # Treat a directory as a PO directory if and only if it has a
+        # POTFILES.in file. This allows packages to have multiple PO
+        # directories under different names or in different locations.
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          POMAKEFILEDEPS="POTFILES.in"
+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assigment from automake.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+          else
+            # The set of available languages was given in configure.in.
+            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+          fi
+          # Compute POFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+          # Compute UPDATEPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+          # Compute DUMMYPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+          # Compute GMOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          GMOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done],
+   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+    # from automake.
+    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+  # When this code is run, in config.status, two variables have already been
+  # set:
+  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+  # - LINGUAS is the value of the environment variable LINGUAS at configure
+  #   time.
+
+changequote(,)dnl
+  # Adjust a relative srcdir.
+  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+  ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+  # In autoconf-2.13 it is called $ac_given_srcdir.
+  # In autoconf-2.50 it is called $srcdir.
+  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+  case "$ac_given_srcdir" in
+    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+    /*) top_srcdir="$ac_given_srcdir" ;;
+    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  # Find a way to echo strings without interpreting backslash.
+  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+    gt_echo='echo'
+  else
+    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+      gt_echo='printf %s\n'
+    else
+      echo_func () {
+        cat <<EOT
+$*
+EOT
+      }
+      gt_echo='echo_func'
+    fi
+  fi
+
+  # A sed script that extracts the value of VARIABLE from a Makefile.
+  sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[     ]*VARIABLE[     ]*=/{
+  # Seen the first line of the variable definition.
+  s/^[  ]*VARIABLE[     ]*=//
+  ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+  # Set POTFILES to the value of the Makefile variable POTFILES.
+  sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
+  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+  # Compute POTFILES_DEPS as
+  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+  POTFILES_DEPS=
+  for file in $POTFILES; do
+    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+  done
+  POMAKEFILEDEPS=""
+
+  if test -n "$OBSOLETE_ALL_LINGUAS"; then
+    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+  fi
+  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+    # The LINGUAS file contains the set of available languages.
+    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+  else
+    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+    sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
+    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+  fi
+  # Hide the ALL_LINGUAS assigment from automake.
+  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+  # Compute POFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+  # Compute UPDATEPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+  # Compute DUMMYPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+  # Compute GMOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+  # Compute PROPERTIESFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+  # Compute CLASSFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+  # Compute QMFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+  # Compute MSGFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+  # Compute RESOURCESDLLFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+  case "$ac_given_srcdir" in
+    .) srcdirpre= ;;
+    *) srcdirpre='$(srcdir)/' ;;
+  esac
+  POFILES=
+  UPDATEPOFILES=
+  DUMMYPOFILES=
+  GMOFILES=
+  PROPERTIESFILES=
+  CLASSFILES=
+  QMFILES=
+  MSGFILES=
+  RESOURCESDLLFILES=
+  for lang in $ALL_LINGUAS; do
+    POFILES="$POFILES $srcdirpre$lang.po"
+    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+    QMFILES="$QMFILES $srcdirpre$lang.qm"
+    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+  done
+  # CATALOGS depends on both $ac_dir and the user's LINGUAS
+  # environment variable.
+  INST_LINGUAS=
+  if test -n "$ALL_LINGUAS"; then
+    for presentlang in $ALL_LINGUAS; do
+      useit=no
+      if test "%UNSET%" != "$LINGUAS"; then
+        desiredlanguages="$LINGUAS"
+      else
+        desiredlanguages="$ALL_LINGUAS"
+      fi
+      for desiredlang in $desiredlanguages; do
+        # Use the presentlang catalog if desiredlang is
+        #   a. equal to presentlang, or
+        #   b. a variant of presentlang (because in this case,
+        #      presentlang can be used as a fallback for messages
+        #      which are not translated in the desiredlang catalog).
+        case "$desiredlang" in
+          "$presentlang"*) useit=yes;;
+        esac
+      done
+      if test $useit = yes; then
+        INST_LINGUAS="$INST_LINGUAS $presentlang"
+      fi
+    done
+  fi
+  CATALOGS=
+  JAVACATALOGS=
+  QTCATALOGS=
+  TCLCATALOGS=
+  CSHARPCATALOGS=
+  if test -n "$INST_LINGUAS"; then
+    for lang in $INST_LINGUAS; do
+      CATALOGS="$CATALOGS $lang.gmo"
+      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+      QTCATALOGS="$QTCATALOGS $lang.qm"
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+    done
+  fi
+
+  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+       @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+       \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+       @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+       \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if test -n "$POMAKEFILEDEPS"; then
+    cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+  fi
+  mv "$ac_file.tmp" "$ac_file"
+])
+
+# progtest.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ(2.50)
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  [[\\/]]* | ?:[[\\/]]*)
+    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in ifelse([$5], , $PATH, [$5]); do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+          if [$3]; then
+            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+    ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
 # Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -7062,11 +9113,3 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
-m4_include([m4/gettext.m4])
-m4_include([m4/iconv.m4])
-m4_include([m4/lib-ld.m4])
-m4_include([m4/lib-link.m4])
-m4_include([m4/lib-prefix.m4])
-m4_include([m4/nls.m4])
-m4_include([m4/po.m4])
-m4_include([m4/progtest.m4])
index 7d0185e019ed6b83bca92431ff478d7e19b0037e..892833f9484bffa443384460ef3dd5ee86266cce 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
-timestamp='2004-09-07'
+timestamp='2005-02-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -53,7 +53,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -319,6 +319,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:OS/390:*:*)
        echo i370-ibm-openedition
        exit 0 ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit 0 ;;
     *:OS400:*:*)
         echo powerpc-ibm-os400
        exit 0 ;;
@@ -342,7 +345,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     DRS?6000:unix:4.0:6*)
        echo sparc-icl-nx6
        exit 0 ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
        case `/usr/bin/uname -p` in
            sparc) echo sparc-icl-nx7 && exit 0 ;;
        esac ;;
@@ -801,6 +804,9 @@ EOF
     i*:UWIN*:*)
        echo ${UNAME_MACHINE}-pc-uwin
        exit 0 ;;
+    amd64:CYGWIN*:*:*)
+       echo x86_64-unknown-cygwin
+       exit 0 ;;
     p*:CYGWIN*:*)
        echo powerpcle-unknown-cygwin
        exit 0 ;;
@@ -1194,6 +1200,9 @@ EOF
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit 0 ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit 0 ;;
     NSR-?:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
        exit 0 ;;
@@ -1247,7 +1256,10 @@ EOF
            A*) echo alpha-dec-vms && exit 0 ;;
            I*) echo ia64-dec-vms && exit 0 ;;
            V*) echo vax-dec-vms && exit 0 ;;
-       esac
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit 0 ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
index 03974dd5da0d113b3995f4083d618b64df819b96..1865a3b9b312885b8186bb87312d5f902767fe3e 100644 (file)
@@ -1,11 +1,8 @@
 /* config.h.in.  Generated from configure.in by autoheader.  */
-/* $Id: acconfig.h,v 1.21 2003/12/17 01:46:59 kloczek Exp $ */
+/* $Id: acconfig.h,v 1.23 2005/06/16 18:39:30 kloczek Exp $ */
 
 \f
 
-/* Define if you have secure RPC.  */
-#undef DES_RPC
-
 /* Path for faillog file.  */
 #undef FAILLOG_FILE
 
@@ -39,9 +36,6 @@
 /* Name of user's mail spool file if stored in user's home directory.  */
 #undef MAIL_SPOOL_FILE
 
-/* Define to support OPIE one-time password logins.  */
-#undef OPIE
-
 /* Path to passwd program.  */
 #undef PASSWD_PROGRAM
 
@@ -54,9 +48,6 @@
 /* Define to support the shadow group file.  */
 #undef SHADOWGRP
 
-/* Define to support the shadow password file.  */
-#undef SHADOWPWD
-
 /* Define to support S/Key logins.  */
 #undef SKEY
 
index 3f1bef34a0f0d57a0561e71fc215e64905d9950c..fa24bfc2d785e1a304cb1c9fe539dd18cbb5c45b 100755 (executable)
@@ -2,13 +2,28 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2005 Free Software Foundation, Inc.
+#   Copyright 1996-2003 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
-#   This file is free software; the Free Software Foundation gives
-#   unlimited permission to copy and/or distribute it, with or without
-#   modifications, as long as this notice is preserved.
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#   General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+#   As a special exception to the GNU General Public License, if you
+#   distribute this file as part of a program that contains a
+#   configuration script generated by Autoconf, you may include it under
+#   the same distribution terms that you use for the rest of that program.
 #
 # The first argument passed to this file is the canonical host specification,
 #    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
@@ -35,8 +50,6 @@ host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
 host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 
-cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
-
 # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
 
 wl=
@@ -47,13 +60,6 @@ else
     aix*)
       wl='-Wl,'
       ;;
-    darwin*)
-      case "$cc_basename" in
-        xlc*)
-          wl='-Wl,'
-          ;;
-      esac
-      ;;
     mingw* | pw32* | os2*)
       ;;
     hpux9* | hpux10* | hpux11*)
@@ -65,19 +71,13 @@ else
     newsos6)
       ;;
     linux*)
-      case $cc_basename in
-        icc* | ecc*)
-          wl='-Wl,'
-          ;;
-        pgcc | pgf77 | pgf90)
+      case $CC in
+        icc|ecc)
           wl='-Wl,'
           ;;
-        ccc*)
+        ccc)
           wl='-Wl,'
           ;;
-        como)
-          wl='-lopt='
-          ;;
       esac
       ;;
     osf3* | osf4* | osf5*)
@@ -96,9 +96,6 @@ else
       ;;
     sysv4*MP*)
       ;;
-    unicos*)
-      wl='-Wl,'
-      ;;
     uts4*)
       ;;
   esac
@@ -141,12 +138,12 @@ if test "$with_gnu_ld" = yes; then
       # that the semantics of dynamic libraries on AmigaOS, at least up
       # to version 4, is to share data among multiple programs linked
       # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we cannot use
+      # behavior of shared libraries on other platforms, we can use
       # them.
       ld_shlibs=no
       ;;
     beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
         :
       else
         ld_shlibs=no
@@ -165,9 +162,9 @@ if test "$with_gnu_ld" = yes; then
     netbsd*)
       ;;
     solaris* | sysv5*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+      if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
         ld_shlibs=no
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
         :
       else
         ld_shlibs=no
@@ -176,15 +173,8 @@ if test "$with_gnu_ld" = yes; then
     sunos4*)
       hardcode_direct=yes
       ;;
-    linux*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
     *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
         :
       else
         ld_shlibs=no
@@ -276,7 +266,7 @@ else
       # see comment about different semantics on the GNU ld section
       ld_shlibs=no
       ;;
-    bsdi[45]*)
+    bsdi4*)
       ;;
     cygwin* | mingw* | pw32*)
       # When not using gcc, we currently assume that we are using
@@ -287,17 +277,8 @@ else
       libext=lib
       ;;
     darwin* | rhapsody*)
-      hardcode_direct=no
-      if test "$GCC" = yes ; then
-        :
-      else
-        case "$cc_basename" in
-          xlc*)
-            ;;
-          *)
-            ld_shlibs=no
-            ;;
-        esac
+      if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
+        hardcode_direct=no
       fi
       ;;
     dgux*)
@@ -314,7 +295,7 @@ else
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
-    freebsd* | kfreebsd*-gnu | dragonfly*)
+    freebsd*)
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
       ;;
@@ -457,7 +438,7 @@ case "$host_os" in
     ;;
   beos*)
     ;;
-  bsdi[45]*)
+  bsdi4*)
     ;;
   cygwin* | mingw* | pw32*)
     shrext=.dll
@@ -469,8 +450,6 @@ case "$host_os" in
     ;;
   freebsd1*)
     ;;
-  kfreebsd*-gnu)
-    ;;
   freebsd*)
     ;;
   gnu*)
@@ -507,13 +486,11 @@ case "$host_os" in
     ;;
   linux*)
     ;;
-  knetbsd*-gnu)
-    ;;
   netbsd*)
     ;;
   newsos6)
     ;;
-  nto-qnx*)
+  nto-qnx)
     ;;
   openbsd*)
     ;;
@@ -542,7 +519,7 @@ escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
 shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
 escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
 
-LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
 
 # How to pass a linker flag through the compiler.
 wl="$escaped_wl"
index edb6b663ca2b30ff0dd886e09137ebb59b6e4568..d8fd2f8fa2f58cb9a31d7494d75d7ed8b7135dfe 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
-timestamp='2004-08-29'
+timestamp='2005-02-10'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -70,7 +70,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -237,7 +237,7 @@ case $basic_machine in
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
-       | m32r | m32rle | m68000 | m68k | m88k | mcore \
+       | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -267,7 +267,7 @@ case $basic_machine in
        | tahoe | thumb | tic4x | tic80 | tron \
        | v850 | v850e \
        | we32k \
-       | x86 | xscale | xstormy16 | xtensa \
+       | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
        | z8k)
                basic_machine=$basic_machine-unknown
                ;;
@@ -310,7 +310,7 @@ case $basic_machine in
        | ip2k-* | iq2000-* \
        | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | mcore-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
@@ -343,8 +343,8 @@ case $basic_machine in
        | tron-* \
        | v850-* | v850e-* | vax-* \
        | we32k-* \
-       | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
-       | xtensa-* \
+       | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa-* \
        | ymp-* \
        | z8k-*)
                ;;
@@ -489,6 +489,10 @@ case $basic_machine in
                basic_machine=m88k-motorola
                os=-sysv3
                ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
        dpx20 | dpx20-*)
                basic_machine=rs6000-bull
                os=-bosx
@@ -1029,6 +1033,10 @@ case $basic_machine in
                basic_machine=hppa1.1-winbond
                os=-proelf
                ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
        xps | xps100)
                basic_machine=xps100-honeywell
                ;;
@@ -1297,6 +1305,9 @@ case $os in
        -kaos*)
                os=-kaos
                ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
        -none)
                ;;
        *)
index d1d46a213bf3300430fea5bc3a10676e21fd6788..9cdcaec633014ce134ff82b5e8091765fa061060 100755 (executable)
--- a/configure
+++ b/configure
@@ -1815,7 +1815,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=shadow
- VERSION=4.0.9
+ VERSION=4.0.10
 
 
 cat >>confdefs.h <<_ACEOF
@@ -7257,11 +7257,12 @@ EOF
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec=
+         whole_archive_flag_spec='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
          ;;
        pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec=
-         tmp_addflag=' -fpic -Mnomain' ;;
+         whole_archive_flag_spec='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
@@ -8427,7 +8428,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 8430 "configure"' > conftest.$ac_ext
+    echo '#line 8431 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -8446,7 +8447,7 @@ linux*)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
@@ -8509,7 +8510,11 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -9298,7 +9303,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9301 "configure"
+#line 9306 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9396,7 +9401,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9399 "configure"
+#line 9404 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10894,12 +10899,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        ;;
       pgCC*)
         # Portland Group C++ compiler
-       archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-       archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+       archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+       archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 
        hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-       whole_archive_flag_spec_CXX=''
+       whole_archive_flag_spec_CXX='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
         ;;
       cxx*)
        # Compaq C++
@@ -11644,11 +11649,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11647: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11652: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11651: \$? = $ac_status" >&5
+   echo "$as_me:11656: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -11706,11 +11711,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11709: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11714: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11713: \$? = $ac_status" >&5
+   echo "$as_me:11718: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12221,7 +12226,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 12224 "configure"' > conftest.$ac_ext
+    echo '#line 12229 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -12240,7 +12245,7 @@ linux*)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
@@ -12303,7 +12308,11 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -13092,7 +13101,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13095 "configure"
+#line 13104 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13190,7 +13199,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13193 "configure"
+#line 13202 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14075,11 +14084,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14078: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14087: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14082: \$? = $ac_status" >&5
+   echo "$as_me:14091: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -14137,11 +14146,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14140: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14149: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14144: \$? = $ac_status" >&5
+   echo "$as_me:14153: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14352,11 +14361,12 @@ EOF
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec_F77=
+         whole_archive_flag_spec_F77='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
          ;;
        pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_F77=
-         tmp_addflag=' -fpic -Mnomain' ;;
+         whole_archive_flag_spec_F77='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
@@ -15502,7 +15512,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 15505 "configure"' > conftest.$ac_ext
+    echo '#line 15515 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -15521,7 +15531,7 @@ linux*)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
@@ -15584,7 +15594,11 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -16275,11 +16289,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16278: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16292: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16282: \$? = $ac_status" >&5
+   echo "$as_me:16296: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16537,11 +16551,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16540: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16554: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16544: \$? = $ac_status" >&5
+   echo "$as_me:16558: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16599,11 +16613,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16602: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16616: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16606: \$? = $ac_status" >&5
+   echo "$as_me:16620: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16814,11 +16828,12 @@ EOF
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec_GCJ=
+         whole_archive_flag_spec_GCJ='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
          ;;
        pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_GCJ=
-         tmp_addflag=' -fpic -Mnomain' ;;
+         whole_archive_flag_spec_GCJ='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
@@ -17984,7 +17999,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 17987 "configure"' > conftest.$ac_ext
+    echo '#line 18002 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -18003,7 +18018,7 @@ linux*)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
@@ -18066,7 +18081,11 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -18855,7 +18874,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18858 "configure"
+#line 18877 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18953,7 +18972,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18956 "configure"
+#line 18975 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -23140,10 +23159,6 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-cat >>confdefs.h <<\_ACEOF
-#define SHADOWPWD 1
-_ACEOF
-
 cat >>confdefs.h <<\_ACEOF
 #define USG 1
 _ACEOF
index 83fb20b3559057415088665dd20770cd5a20c522..fe98d846aa1f59ba361863f7aad18974b1e11740 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT
-AM_INIT_AUTOMAKE(shadow, 4.0.9)
+AM_INIT_AUTOMAKE(shadow, 4.0.10)
 AC_CONFIG_HEADERS([config.h])
 
 dnl Some hacks...
@@ -182,7 +182,6 @@ fi])
 AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$shadow_cv_passwd_dir/passwd")
 
 dnl XXX - quick hack, should disappear before anyone notices :).
-AC_DEFINE(SHADOWPWD)
 AC_DEFINE(USG)
 AC_DEFINE(USE_SYSLOG)
 AC_DEFINE(RLOGIN)
index 72a83df016ce4d39644fe7349efa90791c74aadc..ee272680c479b22fccf8e5ebd75cee78b4645df1 100644 (file)
@@ -41,11 +41,7 @@ host_triplet = @host@
 subdir = contrib
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -188,9 +184,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  contrib/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  contrib/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  contrib/Makefile
+         $(AUTOMAKE) --gnu  contrib/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
diff --git a/depcomp b/depcomp
index 11e2d3bfe1cffc0cfc75109ac2ab67c6fbb26feb..ffcd540c3366d4ac158cd738c98d712460d99696 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,9 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2004-05-31.23
+scriptversion=2005-02-09.22
 
-# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,11 +50,11 @@ Environment variables:
 
 Report bugs to <bug-automake@gnu.org>.
 EOF
-    exit 0
+    exit $?
     ;;
   -v | --v*)
     echo "depcomp $scriptversion"
-    exit 0
+    exit $?
     ;;
 esac
 
@@ -287,36 +287,43 @@ tru64)
    base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 
    if test "$libtool" = yes; then
-      # Dependencies are output in .lo.d with libtool 1.4.
-      # With libtool 1.5 they are output both in $dir.libs/$base.o.d
-      # and in $dir.libs/$base.o.d and $dir$base.o.d.  We process the
-      # latter, because the former will be cleaned when $dir.libs is
-      # erased.
-      tmpdepfile1="$dir.libs/$base.lo.d"
-      tmpdepfile2="$dir$base.o.d"
-      tmpdepfile3="$dir.libs/$base.d"
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mecanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
       "$@" -Wc,-MD
    else
-      tmpdepfile1="$dir$base.o.d"
-      tmpdepfile2="$dir$base.d"
-      tmpdepfile3="$dir$base.d"
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
       "$@" -MD
    fi
 
    stat=$?
    if test $stat -eq 0; then :
    else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
       exit $stat
    fi
 
-   if test -f "$tmpdepfile1"; then
-      tmpdepfile="$tmpdepfile1"
-   elif test -f "$tmpdepfile2"; then
-      tmpdepfile="$tmpdepfile2"
-   else
-      tmpdepfile="$tmpdepfile3"
-   fi
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
       # That's a tab and a space in the [].
index 877476d2cc7e046695be5945427c0116ed410bbb..a8757331d4866d4a9734a10459c2febc2e6a0e96 100644 (file)
@@ -41,11 +41,7 @@ host_triplet = @host@
 subdir = doc
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -188,9 +184,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  doc/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  doc/Makefile
+         $(AUTOMAKE) --gnu  doc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 6657b5ea0cc19dc868910e9960fefd3f48566fbe..7ae931692278422bf8aa7b6ed893fa939c04b940 100644 (file)
@@ -41,11 +41,7 @@ host_triplet = @host@
 subdir = etc
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -202,9 +198,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  etc/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  etc/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  etc/Makefile
+         $(AUTOMAKE) --gnu  etc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 431414dad78e178b756cbe7e37261422bdef35e3..b72a1bf267ce99947589094849c447049065c989 100644 (file)
@@ -41,11 +41,7 @@ host_triplet = @host@
 subdir = etc/pam.d
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -198,9 +194,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  etc/pam.d/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  etc/pam.d/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  etc/pam.d/Makefile
+         $(AUTOMAKE) --gnu  etc/pam.d/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index dd97db7aa1cae9655149aad9d21c6cf42476c0da..1a8353401c4223bf93e7d7dd76164de5400be672 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2004-09-10.20
+scriptversion=2005-02-02.21
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -109,7 +109,7 @@ while test -n "$1"; do
         shift
         continue;;
 
-    --help) echo "$usage"; exit 0;;
+    --help) echo "$usage"; exit $?;;
 
     -m) chmodcmd="$chmodprog $2"
         shift
@@ -134,7 +134,7 @@ while test -n "$1"; do
        shift
        continue;;
 
-    --version) echo "$0 $scriptversion"; exit 0;;
+    --version) echo "$0 $scriptversion"; exit $?;;
 
     *)  # When -d is used, all remaining arguments are directories to create.
        # When -t is used, the destination is already specified.
@@ -213,7 +213,7 @@ do
   fi
 
   # This sed command emulates the dirname command.
-  dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
 
   # Make sure that the destination directory exists.
 
@@ -226,7 +226,8 @@ do
     oIFS=$IFS
     # Some sh's can't handle IFS=/ for some reason.
     IFS='%'
-    set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
     IFS=$oIFS
 
     pathcomp=
@@ -295,7 +296,7 @@ do
               || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
               || {
                 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
-                (exit 1); exit
+                (exit 1); exit 1
               }
             else
               :
@@ -306,12 +307,12 @@ do
           $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
         }
     }
-  fi || { (exit 1); exit; }
+  fi || { (exit 1); exit 1; }
 done
 
 # The final little trick to "correctly" pass the exit status to the exit trap.
 {
-  (exit 0); exit
+  (exit 0); exit 0
 }
 
 # Local variables:
index 14e756d8098684f4455094d0f86575bbe77c75cd..1453db0f73c177a53bbbc38af0f9c98385523868 100644 (file)
@@ -41,11 +41,7 @@ host_triplet = @host@
 subdir = lib
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 0b6af10483a882bc715526d5549b3456ab5ffeb9..4bbdfa8efb0f1d6b1c44020130b6952ca495d26d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: defines.h,v 1.25 2005/03/31 05:14:49 kloczek Exp $ */
+/* $Id: defines.h,v 1.26 2005/05/25 18:20:22 kloczek Exp $ */
 /* some useful defines */
 
 #ifndef _DEFINES_H_
@@ -95,7 +95,6 @@ char *strchr (), *strrchr (), *strtok ();
 # define DIRECT direct
 #endif
 
-#ifdef SHADOWPWD
 /*
  * Possible cases:
  * - /usr/include/shadow.h exists and includes the shadow group stuff.
@@ -113,7 +112,6 @@ char *strchr (), *strrchr (), *strtok ();
 #include "gshadow_.h"
 #endif
 #endif                         /* not HAVE_SHADOW_H */
-#endif                         /* SHADOWPWD */
 
 #include <limits.h>
 
@@ -291,11 +289,9 @@ char *strchr (), *strrchr (), *strtok ();
 #define GROUP_FILE "/etc/group"
 #endif
 
-#ifdef SHADOWPWD
 #ifndef SHADOW_FILE
 #define SHADOW_FILE "/etc/shadow"
 #endif
-#endif
 
 #ifdef SHADOWGRP
 #ifndef SGROUP_FILE
index 4362defad900343a0411e5dcd1ba987da7489d4b..74a33bb12769700b4d6c23b282dc20a2e3b6d88e 100644 (file)
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: encrypt.c,v 1.12 2005/05/19 12:05:03 kloczek Exp $")
+RCSID ("$Id: encrypt.c,v 1.13 2005/05/25 19:31:50 kloczek Exp $")
 #include <unistd.h>
 #include "prototypes.h"
 #include "defines.h"
-
 char *pw_encrypt (const char *clear, const char *salt)
 {
        static char cipher[128];
index 7061032c7d8428c0d2bb69d1cdf1eae9d1f81ab6..94d2b4c2636992fecd805b16d8980d7dae829bd1 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: getdef.c,v 1.29 2005/05/09 10:45:26 kloczek Exp $")
+RCSID ("$Id: getdef.c,v 1.30 2005/05/25 19:31:50 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include <stdio.h>
@@ -292,7 +292,7 @@ static struct itemdef *def_find (const char *name)
        for (ptr = def_table; ptr->name; ptr++) {
                if (!(n = strcmp (ptr->name, name)))
                        return ptr;
-       }
+       }
 
        /*
         * Item was never found.
index 4d9b6bf5824a2c0d7339b2acde8a3638ecce66b7..235e2e90b6ed5d281af9ce042d4ee0ef67375720 100644 (file)
@@ -2,7 +2,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: groupio.c,v 1.11 2005/03/31 05:14:49 kloczek Exp $")
+RCSID ("$Id: groupio.c,v 1.12 2005/06/20 09:56:37 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include "commonio.h"
@@ -188,7 +188,7 @@ static int gr_cmp (const void *p1, const void *p2)
                return 0;
 }
 
-/* Sort entries by gid */
+/* Sort entries by GID */
 int gr_sort ()
 {
        return commonio_sort (&group_db, gr_cmp);
index bd4b0fcf476acf035b50a3ef8927fdaee33dad61..a9c95c25f52a014d381d7cfa94295c0cf707035a 100644 (file)
 #if defined(SHADOWGRP) && !defined(HAVE_SHADOWGRP)     /*{ */
 
 #include "rcsid.h"
-RCSID ("$Id: gshadow.c,v 1.9 2005/04/06 04:26:05 kloczek Exp $")
+RCSID ("$Id: gshadow.c,v 1.10 2005/05/25 19:31:50 kloczek Exp $")
 #include <stdio.h>
 #include "prototypes.h"
 #include "defines.h"
-
 static FILE *shadow;
 static char sgrbuf[BUFSIZ * 4];
 static char **members = NULL;
index c1672d309a9e7a4e82a209aad82aebb161032ad9..54a0a2e6c8751ccef5410d44c72af2d68ff16f35 100644 (file)
 #ifndef HAVE_LCKPWDF
 
 #include "rcsid.h"
-RCSID ("$Id: lockpw.c,v 1.5 2005/03/31 05:14:49 kloczek Exp $")
+RCSID ("$Id: lockpw.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include "pwio.h"
-#ifdef SHADOWPWD
 #include "shadowio.h"
-#endif
 /*
  * lckpwdf - lock the password files
  */
index 41ae332bf344251e17e02f0c67aed7f73fe0ea57..1d003a9e936c01fc3e66037944d99113c618b402 100644 (file)
@@ -6,7 +6,7 @@
  * Juha Virtanen, <jiivee@hut.fi>; November 1995
  */
 /*
- * $Id: prototypes.h,v 1.18 2005/04/06 03:01:07 kloczek Exp $
+ * $Id: prototypes.h,v 1.19 2005/05/25 18:20:22 kloczek Exp $
  *
  * Added a macro to work around ancient (non-ANSI) compilers, just in case
  * someone ever tries to compile this with SunOS cc...  --marekm
@@ -31,15 +31,9 @@ extern int add_groups (const char *);
 extern void add_cons_grps (void);
 
 /* age.c */
-#ifdef SHADOWPWD
 extern void agecheck (const struct passwd *, const struct spwd *);
 extern int expire (const struct passwd *, const struct spwd *);
 extern int isexpired (const struct passwd *, const struct spwd *);
-#else
-extern void agecheck (const struct passwd *);
-extern int expire (const struct passwd *);
-extern int isexpired (const struct passwd *);
-#endif
 
 /* basename() renamed to Basename() to avoid libc name space confusion */
 /* basename.c */
@@ -140,9 +134,7 @@ extern int do_pam_passwd (const char *, int, int);
 extern int isttytime (const char *, const char *, time_t);
 
 /* pwd2spwd.c */
-#ifdef SHADOWPWD
 extern struct spwd *pwd_to_spwd (const struct passwd *);
-#endif
 
 /* pwdcheck.c */
 extern void passwd_check (const char *, const char *, const char *);
@@ -179,16 +171,9 @@ extern void setup_env (struct passwd *);
 /* shell.c */
 extern void shell (const char *, const char *);
 
-#ifdef SHADOWPWD
-/* spdbm.c */
-extern int sp_dbm_remove (const char *);
-extern int sp_dbm_update (const struct spwd *);
-extern int sp_dbm_present (void);
-
 /* sppack.c */
 extern int spw_pack (const struct spwd *, char *);
 extern int spw_unpack (char *, int, struct spwd *);
-#endif
 
 /* strtoday.c */
 extern long strtoday (const char *);
index f538c2b4a7732ed0e1283d51a3cfb4767fd56746..0a89ce18311a3a63a98729b5414f359467aeb1ef 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     $Id: pwauth.h,v 1.5 2005/03/31 06:24:27 kloczek Exp $
+ *     $Id: pwauth.h,v 1.6 2005/05/25 19:31:50 kloczek Exp $
  */
 
 #ifndef USE_PAM
 int pw_auth (const char *cipher, const char *user, int flag, const char *input);
-#endif         /* !USE_PAM */
+#endif                         /* !USE_PAM */
 
 /*
  * Local access
index 55c8a87b02f93c2b32174222c752de90b087547a..ac21ac4efecdb14cce3b4fdc99b3668eca04333e 100644 (file)
@@ -2,7 +2,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: pwio.c,v 1.14 2005/03/31 05:14:49 kloczek Exp $")
+RCSID ("$Id: pwio.c,v 1.15 2005/06/20 10:01:57 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include <pwd.h>
@@ -178,7 +178,7 @@ static int pw_cmp (const void *p1, const void *p2)
                return 0;
 }
 
-/* Sort entries by uid */
+/* Sort entries by UID */
 int pw_sort ()
 {
        return commonio_sort (&passwd_db, pw_cmp);
index efb801e386f061b068d46236a9de3ac17131c146..3b8f82b591430b2a04982913526c4c2d2e85e0ad 100644 (file)
 #include <config.h>
 
 /* Newer versions of Linux libc already have shadow support.  */
-#if defined(SHADOWPWD) && !defined(HAVE_GETSPNAM)      /*{ */
+#ifndef HAVE_GETSPNAM
 
 #include "rcsid.h"
-RCSID ("$Id: shadow.c,v 1.9 2005/04/06 04:26:05 kloczek Exp $")
+RCSID ("$Id: shadow.c,v 1.11 2005/05/25 19:31:50 kloczek Exp $")
 #include <sys/types.h>
 #include "prototypes.h"
 #include "defines.h"
 #include <stdio.h>
-
 #ifdef USE_NIS
 static int nis_used;
 static int nis_ignore;
@@ -498,4 +497,4 @@ struct spwd *getspnam (const char *name)
 }
 #else
 extern int errno;              /* warning: ANSI C forbids an empty source file */
-#endif                         /*} */
+#endif
index 095fba1c1638e858ad1f887dc53172499cbc9de1..3355c64cb8983a7b4910a6174c471773df39d786 100644 (file)
@@ -1,10 +1,8 @@
 
 #include <config.h>
 
-#ifdef SHADOWPWD
-
 #include "rcsid.h"
-RCSID ("$Id: shadowio.c,v 1.14 2005/03/31 05:14:49 kloczek Exp $")
+RCSID ("$Id: shadowio.c,v 1.15 2005/05/25 18:20:22 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #ifdef HAVE_SHADOW_H
@@ -157,4 +155,3 @@ int spw_sort ()
 
        return commonio_sort_wrt (&shadow_db, __pw_get_db ());
 }
-#endif
index c36c4bd326ff77146320c1d704ed3929c16ffb85..9e4f360fb1f850957139d2cc010f0cbd5fb00c7f 100644 (file)
  */
 
 #include <config.h>
-#ifdef SHADOWPWD               /*{ */
 
 #include "rcsid.h"
-RCSID ("$Id: sppack.c,v 1.4 2005/03/31 05:14:49 kloczek Exp $")
+RCSID ("$Id: sppack.c,v 1.5 2005/05/25 18:20:22 kloczek Exp $")
 #include <stdio.h>
 #include <sys/types.h>
 #include "defines.h"
@@ -106,4 +105,3 @@ int spw_unpack (char *buf, int len, struct spwd *spwd)
 
        return 0;
 }
-#endif                         /*} */
index 7d81de10bbdb7fcb9498921276f24304094a55bf..da994bde528084eb91b69049c466f1d6d8e4a6c2 100644 (file)
@@ -39,7 +39,6 @@ libmisc_a_SOURCES = \
        rlogin.c \
        salt.c \
        setugid.c \
-       setup.c \
        setupenv.c \
        shell.c \
        strtoday.c \
index 1352579ad96a67a3089af5f7305c204b7b93c903..5f16d8463c0bb2f8f4154c96fb85145a60a9c5aa 100644 (file)
@@ -41,11 +41,7 @@ host_triplet = @host@
 subdir = libmisc
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in getdate.c
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -65,9 +61,9 @@ am_libmisc_a_OBJECTS = addgrps.$(OBJEXT) age.$(OBJEXT) \
        mail.$(OBJEXT) motd.$(OBJEXT) myname.$(OBJEXT) \
        obscure.$(OBJEXT) pam_pass.$(OBJEXT) pwd2spwd.$(OBJEXT) \
        pwdcheck.$(OBJEXT) pwd_init.$(OBJEXT) rlogin.$(OBJEXT) \
-       salt.$(OBJEXT) setugid.$(OBJEXT) setup.$(OBJEXT) \
-       setupenv.$(OBJEXT) shell.$(OBJEXT) strtoday.$(OBJEXT) \
-       sub.$(OBJEXT) sulog.$(OBJEXT) ttytype.$(OBJEXT) tz.$(OBJEXT) \
+       salt.$(OBJEXT) setugid.$(OBJEXT) setupenv.$(OBJEXT) \
+       shell.$(OBJEXT) strtoday.$(OBJEXT) sub.$(OBJEXT) \
+       sulog.$(OBJEXT) ttytype.$(OBJEXT) tz.$(OBJEXT) \
        ulimit.$(OBJEXT) utmp.$(OBJEXT) valid.$(OBJEXT) \
        xmalloc.$(OBJEXT)
 libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS)
@@ -245,7 +241,6 @@ libmisc_a_SOURCES = \
        rlogin.c \
        salt.c \
        setugid.c \
-       setup.c \
        setupenv.c \
        shell.c \
        strtoday.c \
@@ -271,9 +266,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  libmisc/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  libmisc/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  libmisc/Makefile
+         $(AUTOMAKE) --gnu  libmisc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
@@ -336,7 +331,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlogin.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/salt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setugid.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setup.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setupenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoday.Po@am__quote@
index a807ac5dc33b9b83bc4d0d6913d25799e89fef02..517b70c643f71a82ce5eaa7ea6912147f479480b 100644 (file)
 #include <pwd.h>
 #include <grp.h>
 
-#if defined(SHADOWPWD)
-
 #include "rcsid.h"
-RCSID ("$Id: age.c,v 1.10 2005/03/31 05:14:50 kloczek Exp $")
+RCSID ("$Id: age.c,v 1.11 2005/05/25 18:20:22 kloczek Exp $")
 #ifndef PASSWD_PROGRAM
 #define PASSWD_PROGRAM "/bin/passwd"
 #endif
@@ -174,4 +172,3 @@ void agecheck (const struct passwd *pw, const struct spwd *sp)
                        printf (_("Your password will expire today.\n"));
        }
 }
-#endif                         /* SHADOWPWD */
index 435c2fbee1b4b1a3b19919a83ec4dd152aa19e11..773b7383cb9421446dd59244974b56a5c997af62 100644 (file)
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: entry.c,v 1.6 2003/05/03 16:14:33 kloczek Exp $")
+RCSID ("$Id: entry.c,v 1.8 2005/06/20 09:18:50 kloczek Exp $")
 #include <sys/types.h>
 #include <stdio.h>
 #include "prototypes.h"
 #include "defines.h"
 #include <pwd.h>
-extern struct passwd *fgetpwent ();
 
 void pw_entry (const char *name, struct passwd *pwent)
 {
        struct passwd *passwd;
 
-#ifdef SHADOWPWD
        struct spwd *spwd;
-#endif
 
        if (!(passwd = getpwnam (name))) {
                pwent->pw_name = (char *) 0;
@@ -56,7 +53,7 @@ void pw_entry (const char *name, struct passwd *pwent)
                pwent->pw_gecos = xstrdup (passwd->pw_gecos);
                pwent->pw_dir = xstrdup (passwd->pw_dir);
                pwent->pw_shell = xstrdup (passwd->pw_shell);
-#if defined(SHADOWPWD) && !defined(AUTOSHADOW)
+#if !defined(AUTOSHADOW)
                setspent ();
                if ((spwd = getspnam (name))) {
                        pwent->pw_passwd = xstrdup (spwd->sp_pwdp);
index e2c659a9798915f992aeb5b68e9458d1ca15aa76..6cd7507faccdcba0debf8c90dcb9bdd70f0f0f2b 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: failure.c,v 1.12 2005/04/12 14:12:26 kloczek Exp $")
+RCSID ("$Id: failure.c,v 1.15 2005/06/20 10:02:02 kloczek Exp $")
 #include <fcntl.h>
 #include <stdio.h>
 #include "defines.h"
@@ -56,7 +56,7 @@ void failure (uid_t uid, const char *tty, struct faillog *fl)
                return;
 
        /*
-        * The file is indexed by uid value meaning that shared UID's
+        * The file is indexed by UID value meaning that shared UID's
         * share failure log records.  That's OK since they really
         * share just about everything else ...
         */
@@ -226,13 +226,12 @@ void failprint (const struct faillog *fail)
        if (*lasttime == ' ')
                lasttime++;
 #endif
-       printf (ngettext("%d failure since last login.\n"
-                        "Last was %s on %s.\n",
-                        "%d failures since last login.\n"
-                        "Last was %s on %s.\n",
-                        fail->fail_cnt),
-               fail->fail_cnt,
-               lasttime, fail->fail_line);
+       printf (ngettext ("%d failure since last login.\n"
+                         "Last was %s on %s.\n",
+                         "%d failures since last login.\n"
+                         "Last was %s on %s.\n",
+                         fail->fail_cnt),
+               fail->fail_cnt, lasttime, fail->fail_line);
 }
 
 /*
@@ -242,7 +241,13 @@ void failprint (const struct faillog *fail)
  *     maintains a record of all login failures.
  */
 
-void failtmp (const struct utmp *failent)
+void failtmp (
+#ifdef HAVE_UTMPX_H
+                    const struct utmpx *failent
+#else
+                    const struct utmp *failent
+#endif
+    )
 {
        char *ftmp;
        int fd;
index 06b4c7e2c23a8a65d8b57744fb916656bc64de78..7867afc40c78d87c683c60036076b0138ade9fc4 100644 (file)
@@ -1,10 +1,14 @@
-/* $Id: failure.h,v 1.3 2005/03/31 05:14:50 kloczek Exp $ */
+/* $Id: failure.h,v 1.4 2005/06/10 18:35:17 kloczek Exp $ */
 #ifndef _FAILURE_H_
 #define _FAILURE_H_
 
 #include "defines.h"
 #include "faillog.h"
+#ifdef HAVE_UTMPX_H
+#include <utmpx.h>
+#else
 #include <utmp.h>
+#endif
 
 /*
  * failure - make failure entry
@@ -38,6 +42,10 @@ extern void failprint (const struct faillog *);
  *     failtmp updates the (struct utmp) formatted failure log which
  *     maintains a record of all login failures.
  */
+#ifdef HAVE_UTMPX_H
+extern void failtmp (const struct utmpx *);
+#else
 extern void failtmp (const struct utmp *);
+#endif
 
 #endif
index 65a65ed2ca2acb5eba3543f5d24d44c9487305d8..8251776cfc3e68d32ac8cd4e5b19fb9ca3fbfd0a 100644 (file)
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 1.875c.  */
+/* A Bison parser, made by GNU Bison 2.0.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include <stdio.h>
 #include <ctype.h>
+#include <time.h>
 
 #if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
 # define IN_CTYPE_DOMAIN(c) 1
 # define bcopy(from, to, len) memcpy ((to), (from), (len))
 #endif
 
-extern struct tm       *gmtime ();
-extern struct tm       *localtime ();
-extern time_t          mktime ();
-
 /* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
    as well as gratuitiously global symbol names, so we can have multiple
    yacc generated parsers in the same program.  Note that these are only
@@ -281,13 +278,13 @@ static int        yyRelYear;
 #endif
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 175 "getdate.y"
+#line 172 "getdate.y"
 typedef union YYSTYPE {
     int                        Number;
     enum _MERIDIAN     Meridian;
 } YYSTYPE;
-/* Line 191 of yacc.c.  */
-#line 291 "getdate.c"
+/* Line 190 of yacc.c.  */
+#line 288 "getdate.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -298,8 +295,8 @@ typedef union YYSTYPE {
 /* Copy the second part of user declarations.  */
 
 
-/* Line 214 of yacc.c.  */
-#line 303 "getdate.c"
+/* Line 213 of yacc.c.  */
+#line 300 "getdate.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
@@ -314,14 +311,10 @@ typedef union YYSTYPE {
 
 # ifdef YYSTACK_USE_ALLOCA
 #  if YYSTACK_USE_ALLOCA
-#   define YYSTACK_ALLOC alloca
-#  endif
-# else
-#  if defined (alloca) || defined (_ALLOCA_H)
-#   define YYSTACK_ALLOC alloca
-#  else
 #   ifdef __GNUC__
 #    define YYSTACK_ALLOC __builtin_alloca
+#   else
+#    define YYSTACK_ALLOC alloca
 #   endif
 #  endif
 # endif
@@ -347,7 +340,7 @@ typedef union YYSTYPE {
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
 {
-  short yyss;
+  short int yyss;
   YYSTYPE yyvs;
   };
 
@@ -357,7 +350,7 @@ union yyalloc
 /* The size of an array large to enough to hold all stacks, each with
    N elements.  */
 # define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))                    \
       + YYSTACK_GAP_MAXIMUM)
 
 /* Copy COUNT objects from FROM to TO.  The source and destination do
@@ -399,7 +392,7 @@ union yyalloc
 #if defined (__STDC__) || defined (__cplusplus)
    typedef signed char yysigned_char;
 #else
-   typedef short yysigned_char;
+   typedef short int yysigned_char;
 #endif
 
 /* YYFINAL -- State number of the termination state. */
@@ -491,14 +484,14 @@ static const yysigned_char yyrhs[] =
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
-static const unsigned short yyrline[] =
+static const unsigned short int yyrline[] =
 {
-       0,   191,   191,   192,   195,   198,   201,   204,   207,   210,
-     213,   219,   225,   234,   240,   252,   255,   259,   264,   268,
-     272,   278,   282,   300,   306,   312,   316,   321,   325,   332,
-     340,   343,   346,   349,   352,   355,   358,   361,   364,   367,
-     370,   373,   376,   379,   382,   385,   388,   391,   394,   399,
-     433,   436
+       0,   188,   188,   189,   192,   195,   198,   201,   204,   207,
+     210,   216,   222,   231,   237,   249,   252,   256,   261,   265,
+     269,   275,   279,   297,   303,   309,   313,   318,   322,   329,
+     337,   340,   343,   346,   349,   352,   355,   358,   361,   364,
+     367,   370,   373,   376,   379,   382,   385,   388,   391,   396,
+     430,   433
 };
 #endif
 
@@ -518,7 +511,7 @@ static const char *const yytname[] =
 # ifdef YYPRINT
 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    token YYLEX-NUM.  */
-static const unsigned short yytoknum[] =
+static const unsigned short int yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
      265,   266,   267,   268,   269,   270,   271,   272,   273,    58,
@@ -679,20 +672,53 @@ do                                                                \
     }                                                          \
 while (0)
 
+
 #define YYTERROR       1
 #define YYERRCODE      256
 
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).  */
 
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
 #ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   ((Current).first_line   = (Rhs)[1].first_line,      \
-    (Current).first_column = (Rhs)[1].first_column,    \
-    (Current).last_line    = (Rhs)[N].last_line,       \
-    (Current).last_column  = (Rhs)[N].last_column)
+# define YYLLOC_DEFAULT(Current, Rhs, N)                               \
+    do                                                                 \
+      if (N)                                                           \
+       {                                                               \
+         (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
+         (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
+         (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
+         (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
+       }                                                               \
+      else                                                             \
+       {                                                               \
+         (Current).first_line   = (Current).last_line   =              \
+           YYRHSLOC (Rhs, 0).last_line;                                \
+         (Current).first_column = (Current).last_column =              \
+           YYRHSLOC (Rhs, 0).last_column;                              \
+       }                                                               \
+    while (0)
 #endif
 
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)                 \
+     fprintf (File, "%d.%d-%d.%d",                     \
+              (Loc).first_line, (Loc).first_column,    \
+              (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
 /* YYLEX -- calling `yylex' with the right arguments.  */
 
 #ifdef YYLEX_PARAM
@@ -715,19 +741,13 @@ do {                                              \
     YYFPRINTF Args;                            \
 } while (0)
 
-# define YYDSYMPRINT(Args)                     \
-do {                                           \
-  if (yydebug)                                 \
-    yysymprint Args;                           \
-} while (0)
-
-# define YYDSYMPRINTF(Title, Token, Value, Location)           \
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)         \
 do {                                                           \
   if (yydebug)                                                 \
     {                                                          \
       YYFPRINTF (stderr, "%s ", Title);                                \
       yysymprint (stderr,                                      \
-                  Token, Value);       \
+                  Type, Value);        \
       YYFPRINTF (stderr, "\n");                                        \
     }                                                          \
 } while (0)
@@ -739,12 +759,12 @@ do {                                                              \
 
 #if defined (__STDC__) || defined (__cplusplus)
 static void
-yy_stack_print (short *bottom, short *top)
+yy_stack_print (short int *bottom, short int *top)
 #else
 static void
 yy_stack_print (bottom, top)
-    short *bottom;
-    short *top;
+    short int *bottom;
+    short int *top;
 #endif
 {
   YYFPRINTF (stderr, "Stack now");
@@ -794,8 +814,7 @@ do {                                        \
 int yydebug;
 #else /* !YYDEBUG */
 # define YYDPRINTF(Args)
-# define YYDSYMPRINT(Args)
-# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YY_STACK_PRINT(Bottom, Top)
 # define YY_REDUCE_PRINT(Rule)
 #endif /* !YYDEBUG */
@@ -813,10 +832,6 @@ int yydebug;
    SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
    evaluated with infinite-precision integer arithmetic.  */
 
-#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
 #ifndef YYMAXDEPTH
 # define YYMAXDEPTH 10000
 #endif
@@ -898,15 +913,15 @@ yysymprint (yyoutput, yytype, yyvaluep)
   (void) yyvaluep;
 
   if (yytype < YYNTOKENS)
-    {
-      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-# ifdef YYPRINT
-      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# endif
-    }
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
   else
     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
+
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
   switch (yytype)
     {
       default:
@@ -922,10 +937,11 @@ yysymprint (yyoutput, yytype, yyvaluep)
 
 #if defined (__STDC__) || defined (__cplusplus)
 static void
-yydestruct (int yytype, YYSTYPE *yyvaluep)
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 #else
 static void
-yydestruct (yytype, yyvaluep)
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
     int yytype;
     YYSTYPE *yyvaluep;
 #endif
@@ -933,6 +949,10 @@ yydestruct (yytype, yyvaluep)
   /* Pacify ``unused variable'' warnings.  */
   (void) yyvaluep;
 
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
   switch (yytype)
     {
 
@@ -960,10 +980,10 @@ int yyparse ();
 
 
 
-/* The lookahead symbol.  */
+/* The look-ahead symbol.  */
 int yychar;
 
-/* The semantic value of the lookahead symbol.  */
+/* The semantic value of the look-ahead symbol.  */
 YYSTYPE yylval;
 
 /* Number of syntax errors so far.  */
@@ -999,7 +1019,7 @@ yyparse ()
   int yyresult;
   /* Number of tokens to shift before error messages enabled.  */
   int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
+  /* Look-ahead token as an internal (translated) token number.  */
   int yytoken = 0;
 
   /* Three stacks and their tools:
@@ -1011,9 +1031,9 @@ yyparse ()
      to reallocate them elsewhere.  */
 
   /* The state stack.  */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  register short int *yyssp;
 
   /* The semantic value stack.  */
   YYSTYPE yyvsa[YYINITDEPTH];
@@ -1050,6 +1070,9 @@ yyparse ()
   yyssp = yyss;
   yyvsp = yyvs;
 
+
+  yyvsp[0] = yylval;
+
   goto yysetstate;
 
 /*------------------------------------------------------------.
@@ -1075,7 +1098,7 @@ yyparse ()
           these so that the &'s don't force the real ones into
           memory.  */
        YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
+       short int *yyss1 = yyss;
 
 
        /* Each stack pointer address is followed by the size of the
@@ -1103,7 +1126,7 @@ yyparse ()
        yystacksize = YYMAXDEPTH;
 
       {
-       short *yyss1 = yyss;
+       short int *yyss1 = yyss;
        union yyalloc *yyptr =
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
        if (! yyptr)
@@ -1139,18 +1162,18 @@ yyparse ()
 yybackup:
 
 /* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
+/* Read a look-ahead token if we need one and don't already have one.  */
 /* yyresume: */
 
-  /* First try to decide what to do without reference to lookahead token.  */
+  /* First try to decide what to do without reference to look-ahead token.  */
 
   yyn = yypact[yystate];
   if (yyn == YYPACT_NINF)
     goto yydefault;
 
-  /* Not known => get a lookahead token if don't already have one.  */
+  /* Not known => get a look-ahead token if don't already have one.  */
 
-  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
@@ -1165,7 +1188,7 @@ yybackup:
   else
     {
       yytoken = YYTRANSLATE (yychar);
-      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
     }
 
   /* If the proper action on seeing token YYTOKEN is to reduce or to
@@ -1185,8 +1208,8 @@ yybackup:
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
@@ -1236,228 +1259,228 @@ yyreduce:
   switch (yyn)
     {
         case 4:
-#line 195 "getdate.y"
+#line 192 "getdate.y"
     {
            yyHaveTime++;
        }
     break;
 
   case 5:
-#line 198 "getdate.y"
+#line 195 "getdate.y"
     {
            yyHaveZone++;
        }
     break;
 
   case 6:
-#line 201 "getdate.y"
+#line 198 "getdate.y"
     {
            yyHaveDate++;
        }
     break;
 
   case 7:
-#line 204 "getdate.y"
+#line 201 "getdate.y"
     {
            yyHaveDay++;
        }
     break;
 
   case 8:
-#line 207 "getdate.y"
+#line 204 "getdate.y"
     {
            yyHaveRel++;
        }
     break;
 
   case 10:
-#line 213 "getdate.y"
+#line 210 "getdate.y"
     {
-           yyHour = yyvsp[-1].Number;
+           yyHour = (yyvsp[-1].Number);
            yyMinutes = 0;
            yySeconds = 0;
-           yyMeridian = yyvsp[0].Meridian;
+           yyMeridian = (yyvsp[0].Meridian);
        }
     break;
 
   case 11:
-#line 219 "getdate.y"
+#line 216 "getdate.y"
     {
-           yyHour = yyvsp[-3].Number;
-           yyMinutes = yyvsp[-1].Number;
+           yyHour = (yyvsp[-3].Number);
+           yyMinutes = (yyvsp[-1].Number);
            yySeconds = 0;
-           yyMeridian = yyvsp[0].Meridian;
+           yyMeridian = (yyvsp[0].Meridian);
        }
     break;
 
   case 12:
-#line 225 "getdate.y"
+#line 222 "getdate.y"
     {
-           yyHour = yyvsp[-3].Number;
-           yyMinutes = yyvsp[-1].Number;
+           yyHour = (yyvsp[-3].Number);
+           yyMinutes = (yyvsp[-1].Number);
            yyMeridian = MER24;
            yyHaveZone++;
-           yyTimezone = (yyvsp[0].Number < 0
-                         ? -yyvsp[0].Number % 100 + (-yyvsp[0].Number / 100) * 60
-                         : - (yyvsp[0].Number % 100 + (yyvsp[0].Number / 100) * 60));
+           yyTimezone = ((yyvsp[0].Number) < 0
+                         ? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60
+                         : - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60));
        }
     break;
 
   case 13:
-#line 234 "getdate.y"
+#line 231 "getdate.y"
     {
-           yyHour = yyvsp[-5].Number;
-           yyMinutes = yyvsp[-3].Number;
-           yySeconds = yyvsp[-1].Number;
-           yyMeridian = yyvsp[0].Meridian;
+           yyHour = (yyvsp[-5].Number);
+           yyMinutes = (yyvsp[-3].Number);
+           yySeconds = (yyvsp[-1].Number);
+           yyMeridian = (yyvsp[0].Meridian);
        }
     break;
 
   case 14:
-#line 240 "getdate.y"
+#line 237 "getdate.y"
     {
-           yyHour = yyvsp[-5].Number;
-           yyMinutes = yyvsp[-3].Number;
-           yySeconds = yyvsp[-1].Number;
+           yyHour = (yyvsp[-5].Number);
+           yyMinutes = (yyvsp[-3].Number);
+           yySeconds = (yyvsp[-1].Number);
            yyMeridian = MER24;
            yyHaveZone++;
-           yyTimezone = (yyvsp[0].Number < 0
-                         ? -yyvsp[0].Number % 100 + (-yyvsp[0].Number / 100) * 60
-                         : - (yyvsp[0].Number % 100 + (yyvsp[0].Number / 100) * 60));
+           yyTimezone = ((yyvsp[0].Number) < 0
+                         ? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60
+                         : - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60));
        }
     break;
 
   case 15:
-#line 252 "getdate.y"
+#line 249 "getdate.y"
     {
-           yyTimezone = yyvsp[0].Number;
+           yyTimezone = (yyvsp[0].Number);
        }
     break;
 
   case 16:
-#line 255 "getdate.y"
+#line 252 "getdate.y"
     {
-           yyTimezone = yyvsp[0].Number - 60;
+           yyTimezone = (yyvsp[0].Number) - 60;
        }
     break;
 
   case 17:
-#line 259 "getdate.y"
+#line 256 "getdate.y"
     {
-           yyTimezone = yyvsp[-1].Number - 60;
+           yyTimezone = (yyvsp[-1].Number) - 60;
        }
     break;
 
   case 18:
-#line 264 "getdate.y"
+#line 261 "getdate.y"
     {
            yyDayOrdinal = 1;
-           yyDayNumber = yyvsp[0].Number;
+           yyDayNumber = (yyvsp[0].Number);
        }
     break;
 
   case 19:
-#line 268 "getdate.y"
+#line 265 "getdate.y"
     {
            yyDayOrdinal = 1;
-           yyDayNumber = yyvsp[-1].Number;
+           yyDayNumber = (yyvsp[-1].Number);
        }
     break;
 
   case 20:
-#line 272 "getdate.y"
+#line 269 "getdate.y"
     {
-           yyDayOrdinal = yyvsp[-1].Number;
-           yyDayNumber = yyvsp[0].Number;
+           yyDayOrdinal = (yyvsp[-1].Number);
+           yyDayNumber = (yyvsp[0].Number);
        }
     break;
 
   case 21:
-#line 278 "getdate.y"
+#line 275 "getdate.y"
     {
-           yyMonth = yyvsp[-2].Number;
-           yyDay = yyvsp[0].Number;
+           yyMonth = (yyvsp[-2].Number);
+           yyDay = (yyvsp[0].Number);
        }
     break;
 
   case 22:
-#line 282 "getdate.y"
+#line 279 "getdate.y"
     {
          /* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY.
             The goal in recognizing YYYY/MM/DD is solely to support legacy
             machine-generated dates like those in an RCS log listing.  If
             you want portability, use the ISO 8601 format.  */
-         if (yyvsp[-4].Number >= 1000)
+         if ((yyvsp[-4].Number) >= 1000)
            {
-             yyYear = yyvsp[-4].Number;
-             yyMonth = yyvsp[-2].Number;
-             yyDay = yyvsp[0].Number;
+             yyYear = (yyvsp[-4].Number);
+             yyMonth = (yyvsp[-2].Number);
+             yyDay = (yyvsp[0].Number);
            }
          else
            {
-             yyMonth = yyvsp[-4].Number;
-             yyDay = yyvsp[-2].Number;
-             yyYear = yyvsp[0].Number;
+             yyMonth = (yyvsp[-4].Number);
+             yyDay = (yyvsp[-2].Number);
+             yyYear = (yyvsp[0].Number);
            }
        }
     break;
 
   case 23:
-#line 300 "getdate.y"
+#line 297 "getdate.y"
     {
            /* ISO 8601 format.  yyyy-mm-dd.  */
-           yyYear = yyvsp[-2].Number;
-           yyMonth = -yyvsp[-1].Number;
-           yyDay = -yyvsp[0].Number;
+           yyYear = (yyvsp[-2].Number);
+           yyMonth = -(yyvsp[-1].Number);
+           yyDay = -(yyvsp[0].Number);
        }
     break;
 
   case 24:
-#line 306 "getdate.y"
+#line 303 "getdate.y"
     {
            /* e.g. 17-JUN-1992.  */
-           yyDay = yyvsp[-2].Number;
-           yyMonth = yyvsp[-1].Number;
-           yyYear = -yyvsp[0].Number;
+           yyDay = (yyvsp[-2].Number);
+           yyMonth = (yyvsp[-1].Number);
+           yyYear = -(yyvsp[0].Number);
        }
     break;
 
   case 25:
-#line 312 "getdate.y"
+#line 309 "getdate.y"
     {
-           yyMonth = yyvsp[-1].Number;
-           yyDay = yyvsp[0].Number;
+           yyMonth = (yyvsp[-1].Number);
+           yyDay = (yyvsp[0].Number);
        }
     break;
 
   case 26:
-#line 316 "getdate.y"
+#line 313 "getdate.y"
     {
-           yyMonth = yyvsp[-3].Number;
-           yyDay = yyvsp[-2].Number;
-           yyYear = yyvsp[0].Number;
+           yyMonth = (yyvsp[-3].Number);
+           yyDay = (yyvsp[-2].Number);
+           yyYear = (yyvsp[0].Number);
        }
     break;
 
   case 27:
-#line 321 "getdate.y"
+#line 318 "getdate.y"
     {
-           yyMonth = yyvsp[0].Number;
-           yyDay = yyvsp[-1].Number;
+           yyMonth = (yyvsp[0].Number);
+           yyDay = (yyvsp[-1].Number);
        }
     break;
 
   case 28:
-#line 325 "getdate.y"
+#line 322 "getdate.y"
     {
-           yyMonth = yyvsp[-1].Number;
-           yyDay = yyvsp[-2].Number;
-           yyYear = yyvsp[0].Number;
+           yyMonth = (yyvsp[-1].Number);
+           yyDay = (yyvsp[-2].Number);
+           yyYear = (yyvsp[0].Number);
        }
     break;
 
   case 29:
-#line 332 "getdate.y"
+#line 329 "getdate.y"
     {
            yyRelSeconds = -yyRelSeconds;
            yyRelMinutes = -yyRelMinutes;
@@ -1469,157 +1492,157 @@ yyreduce:
     break;
 
   case 31:
-#line 343 "getdate.y"
+#line 340 "getdate.y"
     {
-           yyRelYear += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 32:
-#line 346 "getdate.y"
+#line 343 "getdate.y"
     {
-           yyRelYear += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 33:
-#line 349 "getdate.y"
+#line 346 "getdate.y"
     {
            yyRelYear++;
        }
     break;
 
   case 34:
-#line 352 "getdate.y"
+#line 349 "getdate.y"
     {
-           yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 35:
-#line 355 "getdate.y"
+#line 352 "getdate.y"
     {
-           yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 36:
-#line 358 "getdate.y"
+#line 355 "getdate.y"
     {
            yyRelMonth++;
        }
     break;
 
   case 37:
-#line 361 "getdate.y"
+#line 358 "getdate.y"
     {
-           yyRelDay += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 38:
-#line 364 "getdate.y"
+#line 361 "getdate.y"
     {
-           yyRelDay += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 39:
-#line 367 "getdate.y"
+#line 364 "getdate.y"
     {
            yyRelDay++;
        }
     break;
 
   case 40:
-#line 370 "getdate.y"
+#line 367 "getdate.y"
     {
-           yyRelHour += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 41:
-#line 373 "getdate.y"
+#line 370 "getdate.y"
     {
-           yyRelHour += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 42:
-#line 376 "getdate.y"
+#line 373 "getdate.y"
     {
            yyRelHour++;
        }
     break;
 
   case 43:
-#line 379 "getdate.y"
+#line 376 "getdate.y"
     {
-           yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 44:
-#line 382 "getdate.y"
+#line 379 "getdate.y"
     {
-           yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 45:
-#line 385 "getdate.y"
+#line 382 "getdate.y"
     {
            yyRelMinutes++;
        }
     break;
 
   case 46:
-#line 388 "getdate.y"
+#line 385 "getdate.y"
     {
-           yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 47:
-#line 391 "getdate.y"
+#line 388 "getdate.y"
     {
-           yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number;
+           yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number);
        }
     break;
 
   case 48:
-#line 394 "getdate.y"
+#line 391 "getdate.y"
     {
            yyRelSeconds++;
        }
     break;
 
   case 49:
-#line 400 "getdate.y"
+#line 397 "getdate.y"
     {
            if (yyHaveTime && yyHaveDate && !yyHaveRel)
-             yyYear = yyvsp[0].Number;
+             yyYear = (yyvsp[0].Number);
            else
              {
-               if (yyvsp[0].Number>10000)
+               if ((yyvsp[0].Number)>10000)
                  {
                    yyHaveDate++;
-                   yyDay= (yyvsp[0].Number)%100;
-                   yyMonth= (yyvsp[0].Number/100)%100;
-                   yyYear = yyvsp[0].Number/10000;
+                   yyDay= ((yyvsp[0].Number))%100;
+                   yyMonth= ((yyvsp[0].Number)/100)%100;
+                   yyYear = (yyvsp[0].Number)/10000;
                  }
                else
                  {
                    yyHaveTime++;
-                   if (yyvsp[0].Number < 100)
+                   if ((yyvsp[0].Number) < 100)
                      {
-                       yyHour = yyvsp[0].Number;
+                       yyHour = (yyvsp[0].Number);
                        yyMinutes = 0;
                      }
                    else
                      {
-                       yyHour = yyvsp[0].Number / 100;
-                       yyMinutes = yyvsp[0].Number % 100;
+                       yyHour = (yyvsp[0].Number) / 100;
+                       yyMinutes = (yyvsp[0].Number) % 100;
                      }
                    yySeconds = 0;
                    yyMeridian = MER24;
@@ -1629,24 +1652,24 @@ yyreduce:
     break;
 
   case 50:
-#line 433 "getdate.y"
+#line 430 "getdate.y"
     {
-           yyval.Meridian = MER24;
+           (yyval.Meridian) = MER24;
          }
     break;
 
   case 51:
-#line 437 "getdate.y"
+#line 434 "getdate.y"
     {
-           yyval.Meridian = yyvsp[0].Meridian;
+           (yyval.Meridian) = (yyvsp[0].Meridian);
          }
     break;
 
 
     }
 
-/* Line 1000 of yacc.c.  */
-#line 1650 "getdate.c"
+/* Line 1037 of yacc.c.  */
+#line 1673 "getdate.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -1746,7 +1769,7 @@ yyerrlab:
 
   if (yyerrstatus == 3)
     {
-      /* If just tried and failed to reuse lookahead token after an
+      /* If just tried and failed to reuse look-ahead token after an
         error, discard it.  */
 
       if (yychar <= YYEOF)
@@ -1756,23 +1779,22 @@ yyerrlab:
          if (yychar == YYEOF)
             for (;;)
               {
+
                 YYPOPSTACK;
                 if (yyssp == yyss)
                   YYABORT;
-                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
-                yydestruct (yystos[*yyssp], yyvsp);
+                yydestruct ("Error: popping",
+                             yystos[*yyssp], yyvsp);
               }
         }
       else
        {
-         YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
-         yydestruct (yytoken, &yylval);
+         yydestruct ("Error: discarding", yytoken, &yylval);
          yychar = YYEMPTY;
-
        }
     }
 
-  /* Else will try to reuse lookahead token after shifting the error
+  /* Else will try to reuse look-ahead token after shifting the error
      token.  */
   goto yyerrlab1;
 
@@ -1789,7 +1811,7 @@ yyerrorlab:
      goto yyerrorlab;
 #endif
 
-  yyvsp -= yylen;
+yyvsp -= yylen;
   yyssp -= yylen;
   yystate = *yyssp;
   goto yyerrlab1;
@@ -1819,8 +1841,8 @@ yyerrlab1:
       if (yyssp == yyss)
        YYABORT;
 
-      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
-      yydestruct (yystos[yystate], yyvsp);
+
+      yydestruct ("Error: popping", yystos[yystate], yyvsp);
       YYPOPSTACK;
       yystate = *yyssp;
       YY_STACK_PRINT (yyss, yyssp);
@@ -1829,11 +1851,12 @@ yyerrlab1:
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
   *++yyvsp = yylval;
 
 
+  /* Shift the error token. */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
   yystate = yyn;
   goto yynewstate;
 
@@ -1849,6 +1872,9 @@ yyacceptlab:
 | yyabortlab -- YYABORT comes here.  |
 `-----------------------------------*/
 yyabortlab:
+  yydestruct ("Error: discarding lookahead",
+              yytoken, &yylval);
+  yychar = YYEMPTY;
   yyresult = 1;
   goto yyreturn;
 
@@ -1871,7 +1897,7 @@ yyreturn:
 }
 
 
-#line 442 "getdate.y"
+#line 439 "getdate.y"
 
 
 /* Month and day table. */
index 637bb15d2165b2b00b42ffcc742148d54ebce60c..82c7f563205af4cc27da8ba669b333d2c8e3b9c3 100644 (file)
@@ -29,6 +29,7 @@
 
 #include <stdio.h>
 #include <ctype.h>
+#include <time.h>
 
 #if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
 # define IN_CTYPE_DOMAIN(c) 1
 # define bcopy(from, to, len) memcpy ((to), (from), (len))
 #endif
 
-extern struct tm       *gmtime ();
-extern struct tm       *localtime ();
-extern time_t          mktime ();
-
 /* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
    as well as gratuitiously global symbol names, so we can have multiple
    yacc generated parsers in the same program.  Note that these are only
index 7c8044de47adfad9dbe536339a30db7891b82019..bc0c2ee887ec76d75bb3b85c9d0041fca5d52a33 100644 (file)
@@ -41,7 +41,7 @@
 #include <time.h>
 #include "rcsid.h"
 
-RCSID ("$Id: isexpired.c,v 1.12 2005/03/31 05:14:50 kloczek Exp $")
+RCSID ("$Id: isexpired.c,v 1.14 2005/05/25 19:31:50 kloczek Exp $")
 
 /*
  * isexpired - determine if account is expired yet
@@ -49,9 +49,7 @@ RCSID ("$Id: isexpired.c,v 1.12 2005/03/31 05:14:50 kloczek Exp $")
  *     isexpired calculates the expiration date based on the
  *     password expiration criteria.
  */
-     /*ARGSUSED*/
-#ifdef SHADOWPWD
-int isexpired (const struct passwd *pw, const struct spwd *sp)
+ /*ARGSUSED*/ int isexpired (const struct passwd *pw, const struct spwd *sp)
 {
        long now;
 
@@ -104,4 +102,3 @@ int isexpired (const struct passwd *pw, const struct spwd *sp)
                return 1;
        return 0;
 }
-#endif                         /* SHADOWPWD */
index c19d7eb66dc60f99b3b6b1547eee60f4669f5bf2..4b80686c95508798dc90afaf2fa22f9a39ddcddc 100644 (file)
@@ -37,7 +37,7 @@
 #ifndef USE_PAM
 
 #include "rcsid.h"
-RCSID ("$Id: limits.c,v 1.16 2005/03/31 05:14:50 kloczek Exp $")
+RCSID ("$Id: limits.c,v 1.18 2005/06/20 10:02:02 kloczek Exp $")
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -357,7 +357,7 @@ static void setup_usergroups (const struct passwd *info)
        mode_t oldmask;
 
 /*
- *     if not root, and uid == gid, and username is the same as primary
+ *     if not root, and UID == GID, and username is the same as primary
  *     group name, set umask group bits to be the same as owner bits
  *     (examples: 022 -> 002, 077 -> 007).
  */
index ee1c675d7df863e59cbfb53863f6885ca47c579e..5ce06cae684dbc57733e7f9bf4d8118bf7f824d8 100644 (file)
 
 #include <config.h>
 
-#ifdef SHADOWPWD
-
 #include "rcsid.h"
-RCSID ("$Id: pwd2spwd.c,v 1.5 2003/05/03 16:14:34 kloczek Exp $")
+RCSID ("$Id: pwd2spwd.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $")
 #include <sys/types.h>
 #include "prototypes.h"
 #include "defines.h"
@@ -77,4 +75,3 @@ struct spwd *pwd_to_spwd (const struct passwd *pw)
 
        return &sp;
 }
-#endif                         /* SHADOWPWD */
index 80582a68ea695fb63b7478dc2d5d3cee426f59b8..1451c43b2d63f2ed49dc8ca772f0587835ec626f 100644 (file)
@@ -1,7 +1,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: pwdcheck.c,v 1.5 2005/03/31 05:14:50 kloczek Exp $")
+RCSID ("$Id: pwdcheck.c,v 1.6 2005/05/25 18:20:22 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include <pwd.h>
@@ -44,13 +44,11 @@ void passwd_check (const char *user, const char *passwd, const char *progname)
 
 #else                          /* !USE_PAM */
 
-#ifdef SHADOWPWD
        struct spwd *sp;
 
        if ((sp = getspnam (user)))
                passwd = sp->sp_pwdp;
        endspent ();
-#endif
        if (pw_auth (passwd, user, PW_LOGIN, (char *) 0) != 0) {
                SYSLOG ((LOG_WARN, WRONGPWD2, user));
                sleep (1);
index b198ee6feceb1f6bfa96a4eaa1b7570f70b93c91..ab5b2b44552048efa1b8814ea3c0a52d511ad47a 100644 (file)
@@ -8,13 +8,12 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: salt.c,v 1.7 2005/04/06 00:21:37 kloczek Exp $")
+RCSID ("$Id: salt.c,v 1.8 2005/05/25 19:31:50 kloczek Exp $")
 #include <sys/time.h>
 #include <stdlib.h>
 #include "prototypes.h"
 #include "defines.h"
 #include "getdef.h"
-
 /*
  * Generate 8 base64 ASCII characters of random salt.  If MD5_CRYPT_ENAB
  * in /etc/login.defs is "yes", the salt string will be prefixed by "$1$"
diff --git a/libmisc/setup.c b/libmisc/setup.c
deleted file mode 100644 (file)
index e31a898..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 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. Neither the name of Julianne F. Haugh nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <config.h>
-
-#include "rcsid.h"
-RCSID ("$Id: setup.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $")
-#include "prototypes.h"
-#include "defines.h"
-#include <pwd.h>
-/*
- * setup - initialize login environment
- *
- *     setup() performs the following steps -
- *
- *     set the process nice, ulimit, and umask from the password file entry
- *     set the group ID to the value from the password file entry
- *     set the supplementary group IDs
- *     set the user ID to the value from the password file entry
- *     change to the user's home directory
- *     set the HOME, SHELL, MAIL, PATH, and LOGNAME or USER environmental
- *     variables.
- */
-void setup (struct passwd *info)
-{
-       /*
-        * Set resource limits.
-        */
-       setup_limits (info);
-
-       /*
-        * Set the real group ID, do initgroups, and set the real user ID
-        * to the value in the password file.
-        */
-       if (setup_uid_gid (info, 0))
-               exit (1);
-
-       /*
-        * Change to the home directory, and set up environment.
-        */
-       setup_env (info);
-}
index 23f82e3b79cf555dc49c69f5ec241a587987918e..bc489012d93bb6c1b63dc3c2d8b79f031c76a223 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,7 +1,7 @@
 # ltmain.sh - Provide generalized library-building support services.
 # NOTE: Changing this file will not affect anything until you rerun configure.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
 # Free Software Foundation, Inc.
 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -17,7 +17,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -33,9 +33,6 @@ basename="s,^.*/,,g"
 # function.
 progpath="$0"
 
-# RH: define SED for historic ltconfig's generated by Libtool 1.3
-[ -z "$SED" ] && SED=sed
-
 # The name of this program:
 progname=`echo "$progpath" | $SED $basename`
 modename="$progname"
@@ -46,9 +43,14 @@ EXIT_FAILURE=1
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.5.6
-TIMESTAMP=" (1.1220.2.95 2004/04/11 05:50:42)"
+VERSION=1.5.18
+TIMESTAMP=" (1.1220.2.246 2005/05/16 10:00:18)"
 
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes.
+if test -n "${ZSH_VERSION+set}" ; then
+  setopt NO_GLOB_SUBST
+fi
 
 # Check that we have a working $echo.
 if test "X$1" = X--no-reexec; then
@@ -110,8 +112,9 @@ if test "${LANG+set}" = set; then
 fi
 
 # Make sure IFS has a sensible default
-: ${IFS="      
-"}
+lt_nl='
+'
+IFS="  $lt_nl"
 
 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
   $echo "$modename: not configured to build any kind of library" 1>&2
@@ -130,6 +133,7 @@ show_help=
 execute_dlfiles=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
+quote_scanset='[[~#^*{};<>?'"'"'       ]'
 
 #####################################
 # Shell function definitions:
@@ -141,7 +145,8 @@ o2lo="s/\\.${objext}\$/.lo/"
 # Need a lot of goo to handle *both* DLLs and import libs
 # Has to be a shell function in order to 'eat' the argument
 # that is supplied when $file_magic_command is called.
-func_win32_libid () {
+func_win32_libid ()
+{
   win32_libid_type="unknown"
   win32_fileres=`file -L $1 2>/dev/null`
   case $win32_fileres in
@@ -181,12 +186,13 @@ func_win32_libid () {
 # Only attempt this if the compiler in the base compile
 # command doesn't match the default compiler.
 # arg is usually of the form 'gcc ...'
-func_infer_tag () {
+func_infer_tag ()
+{
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
        case $arg in
-         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+         *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
          arg="\"$arg\""
          ;;
        esac
@@ -207,7 +213,7 @@ func_infer_tag () {
            for arg in $CC; do
            # Double-quote args containing other shell metacharacters.
            case $arg in
-             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
+             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
              arg="\"$arg\""
              ;;
            esac
@@ -238,6 +244,108 @@ func_infer_tag () {
       esac
     fi
 }
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+
+    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+      exit $EXIT_FAILURE
+    fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+    my_status=""
+
+    $show "${rm}r $my_gentop"
+    $run ${rm}r "$my_gentop"
+    $show "$mkdir $my_gentop"
+    $run $mkdir "$my_gentop"
+    my_status=$?
+    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+      exit $my_status
+    fi
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+       *) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+      my_xdir="$my_gentop/$my_xlib"
+
+      $show "${rm}r $my_xdir"
+      $run ${rm}r "$my_xdir"
+      $show "$mkdir $my_xdir"
+      $run $mkdir "$my_xdir"
+      status=$?
+      if test "$status" -ne 0 && test ! -d "$my_xdir"; then
+       exit $status
+      fi
+      case $host in
+      *-darwin*)
+       $show "Extracting $my_xabs"
+       # Do not bother doing anything if just a dry run
+       if test -z "$run"; then
+         darwin_orig_dir=`pwd`
+         cd $my_xdir || exit $?
+         darwin_archive=$my_xabs
+         darwin_curdir=`pwd`
+         darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+         darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+         if test -n "$darwin_arches"; then 
+           darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+           darwin_arch=
+           $show "$darwin_base_archive has multiple architectures $darwin_arches"
+           for darwin_arch in  $darwin_arches ; do
+             mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+             cd "$darwin_curdir"
+             $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+           done # $darwin_arches
+      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+           darwin_file=
+           darwin_files=
+           for darwin_file in $darwin_filelist; do
+             darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+             lipo -create -output "$darwin_file" $darwin_files
+           done # $darwin_filelist
+           ${rm}r unfat-$$
+           cd "$darwin_orig_dir"
+         else
+           cd "$darwin_orig_dir"
+           func_extract_an_archive "$my_xdir" "$my_xabs"
+         fi # $darwin_arches
+       fi # $run
+      ;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+        ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+    func_extract_archives_result="$my_oldobjs"
+}
 # End of Shell function definitions
 #####################################
 
@@ -308,10 +416,10 @@ do
   --version)
     $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
     $echo
-    $echo "Copyright (C) 2003  Free Software Foundation, Inc."
+    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
     $echo "This is free software; see the source for copying conditions.  There is NO"
     $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-    exit $EXIT_SUCCESS
+    exit $?
     ;;
 
   --config)
@@ -320,7 +428,7 @@ do
     for tagname in $taglist; do
       ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
     done
-    exit $EXIT_SUCCESS
+    exit $?
     ;;
 
   --debug)
@@ -345,7 +453,7 @@ do
     else
       $echo "disable static libraries"
     fi
-    exit $EXIT_SUCCESS
+    exit $?
     ;;
 
   --finish) mode="finish" ;;
@@ -402,7 +510,7 @@ if test -z "$show_help"; then
   # Infer the operation mode.
   if test -z "$mode"; then
     $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
-    $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2
+    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
     case $nonopt in
     *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
       mode=link
@@ -519,7 +627,7 @@ if test -z "$show_help"; then
            # Many Bourne shells cannot handle close brackets correctly
            # in scan sets, so we specify it separately.
            case $arg in
-             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
+             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
              arg="\"$arg\""
              ;;
            esac
@@ -550,8 +658,11 @@ if test -z "$show_help"; then
       case $lastarg in
       # Double-quote args containing other shell metacharacters.
       # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+      # in scan sets, and some SunOS ksh mistreat backslash-escaping
+      # in scan sets (worked around with variable expansion),
+      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+      # at all, so we specify them separately.
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
        lastarg="\"$lastarg\""
        ;;
       esac
@@ -624,6 +735,15 @@ if test -z "$show_help"; then
       esac
     done
 
+    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+    case $qlibobj in
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       qlibobj="\"$qlibobj\"" ;;
+    esac
+    if test "X$libobj" != "X$qlibobj"; then
+       $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+       exit $EXIT_FAILURE
+    fi
     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
     if test "X$xdir" = "X$obj"; then
@@ -696,12 +816,17 @@ compiler."
        $run $rm $removelist
        exit $EXIT_FAILURE
       fi
-      $echo $srcfile > "$lockfile"
+      $echo "$srcfile" > "$lockfile"
     fi
 
     if test -n "$fix_srcfile_path"; then
       eval srcfile=\"$fix_srcfile_path\"
     fi
+    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+    case $qsrcfile in
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      qsrcfile="\"$qsrcfile\"" ;;
+    esac
 
     $run $rm "$libobj" "${libobj}T"
 
@@ -723,10 +848,10 @@ EOF
       fbsd_hideous_sh_bug=$base_compile
 
       if test "$pic_mode" != no; then
-       command="$base_compile $srcfile $pic_flag"
+       command="$base_compile $qsrcfile $pic_flag"
       else
        # Don't build PIC code
-       command="$base_compile $srcfile"
+       command="$base_compile $qsrcfile"
       fi
 
       if test ! -d "${xdir}$objdir"; then
@@ -806,9 +931,9 @@ EOF
     if test "$build_old_libs" = yes; then
       if test "$pic_mode" != yes; then
        # Don't build PIC code
-       command="$base_compile $srcfile"
+       command="$base_compile $qsrcfile"
       else
-       command="$base_compile $srcfile $pic_flag"
+       command="$base_compile $qsrcfile $pic_flag"
       fi
       if test "$compiler_c_o" = yes; then
        command="$command -o $obj"
@@ -986,7 +1111,7 @@ EOF
       arg="$1"
       shift
       case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
        qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
        ;;
       *) qarg=$arg ;;
@@ -1230,6 +1355,13 @@ EOF
          prev=
          continue
          ;;
+        darwin_framework)
+         compiler_flags="$compiler_flags $arg"
+         compile_command="$compile_command $arg"
+         finalize_command="$finalize_command $arg"
+         prev=
+         continue
+         ;;
        *)
          eval "$prev=\"\$arg\""
          prev=
@@ -1288,6 +1420,14 @@ EOF
        continue
        ;;
 
+      -framework)
+        prev=darwin_framework
+        compiler_flags="$compiler_flags $arg"
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
+        continue
+        ;;
+
       -inst-prefix-dir)
        prev=inst_prefix
        continue
@@ -1348,7 +1488,7 @@ EOF
            # These systems don't actually have a C library (as such)
            test "X$arg" = "X-lc" && continue
            ;;
-         *-*-openbsd* | *-*-freebsd*)
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
            # Do not include libc due to us having libc/libc_r.
            test "X$arg" = "X-lc" && continue
            ;;
@@ -1359,7 +1499,7 @@ EOF
          esac
        elif test "X$arg" = "X-lc_r"; then
         case $host in
-        *-*-openbsd* | *-*-freebsd*)
+        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
           # Do not include libc_r directly, use -pthread flag.
           continue
           ;;
@@ -1369,8 +1509,20 @@ EOF
        continue
        ;;
 
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      -model)
+       compile_command="$compile_command $arg"
+       compiler_flags="$compiler_flags $arg"
+       finalize_command="$finalize_command $arg"
+       prev=xcompiler
+       continue
+       ;;
+
      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
-       deplibs="$deplibs $arg"
+       compiler_flags="$compiler_flags $arg"
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
        continue
        ;;
 
@@ -1379,18 +1531,19 @@ EOF
        continue
        ;;
 
-      # gcc -m* arguments should be passed to the linker via $compiler_flags
-      # in order to pass architecture information to the linker
-      # (e.g. 32 vs 64-bit).  This may also be accomplished via -Wl,-mfoo
-      # but this is not reliable with gcc because gcc may use -mfoo to
-      # select a different linker, different libraries, etc, while
-      # -Wl,-mfoo simply passes -mfoo to the linker.
-      -m*)
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m* pass through architecture-specific compiler args for GCC
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*)
+
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
+       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
          arg="\"$arg\""
          ;;
        esac
@@ -1506,7 +1659,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
+           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
            flag="\"$flag\""
            ;;
          esac
@@ -1524,7 +1677,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
+           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
            flag="\"$flag\""
            ;;
          esac
@@ -1557,7 +1710,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
+       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
          arg="\"$arg\""
          ;;
        esac
@@ -1691,7 +1844,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
+       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
          arg="\"$arg\""
          ;;
        esac
@@ -1858,7 +2011,7 @@ EOF
            compile_deplibs="$deplib $compile_deplibs"
            finalize_deplibs="$deplib $finalize_deplibs"
          else
-           deplibs="$deplib $deplibs"
+           compiler_flags="$compiler_flags $deplib"
          fi
          continue
          ;;
@@ -1867,10 +2020,6 @@ EOF
            $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
            continue
          fi
-         if test "$pass" = conv; then
-           deplibs="$deplib $deplibs"
-           continue
-         fi
          name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
          for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
            for search_ext in .la $std_shrext .so .a; do
@@ -1981,7 +2130,22 @@ EOF
          fi
          case $linkmode in
          lib)
-           if test "$deplibs_check_method" != pass_all; then
+           valid_a_lib=no
+           case $deplibs_check_method in
+             match_pattern*)
+               set dummy $deplibs_check_method
+               match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+               if eval $echo \"$deplib\" 2>/dev/null \
+                   | $SED 10q \
+                   | $EGREP "$match_pattern_regex" > /dev/null; then
+                 valid_a_lib=yes
+               fi
+               ;;
+             pass_all)
+               valid_a_lib=yes
+               ;;
+            esac
+           if test "$valid_a_lib" != yes; then
              $echo
              $echo "*** Warning: Trying to link with static lib archive $deplib."
              $echo "*** I have the capability to make that library automatically link in when"
@@ -2055,6 +2219,8 @@ EOF
        # it will not redefine variables installed, or shouldnotlink
        installed=yes
        shouldnotlink=no
+       avoidtemprpath=
+
 
        # Read the .la file
        case $lib in
@@ -2153,11 +2319,19 @@ EOF
            dir="$libdir"
            absdir="$libdir"
          fi
+         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
        else
-         dir="$ladir/$objdir"
-         absdir="$abs_ladir/$objdir"
-         # Remove this search path later
-         notinst_path="$notinst_path $abs_ladir"
+         if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           dir="$ladir"
+           absdir="$abs_ladir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         else
+           dir="$ladir/$objdir"
+           absdir="$abs_ladir/$objdir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         fi
        fi # $installed = yes
        name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
 
@@ -2230,7 +2404,7 @@ EOF
          if test -n "$library_names" &&
             { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
            # We need to hardcode the library path
-           if test -n "$shlibpath_var"; then
+           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
              # Make sure the rpath contains only unique directories.
              case "$temp_rpath " in
              *" $dir "*) ;;
@@ -2674,12 +2848,12 @@ EOF
              *) continue ;;
              esac
              case " $deplibs " in
-             *" $depdepl "*) ;;
-             *) deplibs="$depdepl $deplibs" ;;
+             *" $path "*) ;;
+             *) deplibs="$path $deplibs" ;;
              esac
              case " $deplibs " in
-             *" $path "*) ;;
-             *) deplibs="$deplibs $path" ;;
+             *" $depdepl "*) ;;
+             *) deplibs="$depdepl $deplibs" ;;
              esac
            done
          fi # link_all_deplibs != no
@@ -2944,27 +3118,27 @@ EOF
 
        # Check that each of the things are valid numbers.
        case $current in
-       [0-9]*) ;;
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+         $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
          exit $EXIT_FAILURE
          ;;
        esac
 
        case $revision in
-       [0-9]*) ;;
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+         $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
          exit $EXIT_FAILURE
          ;;
        esac
 
        case $age in
-       [0-9]*) ;;
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+         $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
          exit $EXIT_FAILURE
          ;;
@@ -2990,7 +3164,7 @@ EOF
          versuffix="$major.$age.$revision"
          # Darwin ld doesn't like 0 for these options...
          minor_current=`expr $current + 1`
-         verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+         verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
          ;;
 
        freebsd-aout)
@@ -3196,7 +3370,7 @@ EOF
          *-*-netbsd*)
            # Don't link with libc until the a.out ld.so is fixed.
            ;;
-         *-*-openbsd* | *-*-freebsd*)
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
            # Do not include libc due to us having libc/libc_r.
            test "X$arg" = "X-lc" && continue
            ;;
@@ -3678,67 +3852,13 @@ EOF
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
          else
            gentop="$output_objdir/${outputname}x"
-           $show "${rm}r $gentop"
-           $run ${rm}r "$gentop"
-           $show "$mkdir $gentop"
-           $run $mkdir "$gentop"
-           status=$?
-           if test "$status" -ne 0 && test ! -d "$gentop"; then
-             exit $status
-           fi
            generated="$generated $gentop"
 
-           for xlib in $convenience; do
-             # Extract the objects.
-             case $xlib in
-             [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-             *) xabs=`pwd`"/$xlib" ;;
-             esac
-             xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-             xdir="$gentop/$xlib"
-
-             $show "${rm}r $xdir"
-             $run ${rm}r "$xdir"
-             $show "$mkdir $xdir"
-             $run $mkdir "$xdir"
-             status=$?
-             if test "$status" -ne 0 && test ! -d "$xdir"; then
-               exit $status
-             fi
-             # We will extract separately just the conflicting names and we will no
-             # longer touch any unique names. It is faster to leave these extract
-             # automatically by $AR in one run.
-             $show "(cd $xdir && $AR x $xabs)"
-             $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-             if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
-               :
-             else
-               $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
-               $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
-               $AR t "$xabs" | sort | uniq -cd | while read -r count name
-               do
-                 i=1
-                 while test "$i" -le "$count"
-                 do
-                  # Put our $i before any first dot (extension)
-                  # Never overwrite any file
-                  name_to="$name"
-                  while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
-                  do
-                    name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
-                  done
-                  $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
-                  $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
-                  i=`expr $i + 1`
-                 done
-               done
-             fi
-
-             libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-           done
+           func_extract_archives $gentop $convenience
+           libobjs="$libobjs $func_extract_archives_result"
          fi
        fi
-
+       
        if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
          eval flag=\"$thread_safe_flag_spec\"
          linker_flags="$linker_flags $flag"
@@ -3787,6 +3907,7 @@ EOF
            save_libobjs=$libobjs
          fi
          save_output=$output
+         output_la=`$echo "X$output" | $Xsed -e "$basename"`
 
          # Clear the reloadable object creation command queue and
          # initialize k to one.
@@ -3796,7 +3917,7 @@ EOF
          delfiles=
          last_robj=
          k=1
-         output=$output_objdir/$save_output-${k}.$objext
+         output=$output_objdir/$output_la-${k}.$objext
          # Loop over the list of objects to be linked.
          for obj in $save_libobjs
          do
@@ -3816,9 +3937,9 @@ EOF
                # the last one created.
                eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
              fi
-             last_robj=$output_objdir/$save_output-${k}.$objext
+             last_robj=$output_objdir/$output_la-${k}.$objext
              k=`expr $k + 1`
-             output=$output_objdir/$save_output-${k}.$objext
+             output=$output_objdir/$output_la-${k}.$objext
              objlist=$obj
              len=1
            fi
@@ -3838,13 +3959,13 @@ EOF
            eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
           fi
 
-         # Set up a command to remove the reloadale object files
+         # Set up a command to remove the reloadable object files
          # after they are used.
          i=0
          while test "$i" -lt "$k"
          do
            i=`expr $i + 1`
-           delfiles="$delfiles $output_objdir/$save_output-${i}.$objext"
+           delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
          done
 
          $echo "creating a temporary reloadable object file: $output"
@@ -3976,64 +4097,10 @@ EOF
          eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
        else
          gentop="$output_objdir/${obj}x"
-         $show "${rm}r $gentop"
-         $run ${rm}r "$gentop"
-         $show "$mkdir $gentop"
-         $run $mkdir "$gentop"
-         status=$?
-         if test "$status" -ne 0 && test ! -d "$gentop"; then
-           exit $status
-         fi
          generated="$generated $gentop"
 
-         for xlib in $convenience; do
-           # Extract the objects.
-           case $xlib in
-           [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-           *) xabs=`pwd`"/$xlib" ;;
-           esac
-           xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-           xdir="$gentop/$xlib"
-
-           $show "${rm}r $xdir"
-           $run ${rm}r "$xdir"
-           $show "$mkdir $xdir"
-           $run $mkdir "$xdir"
-           status=$?
-           if test "$status" -ne 0 && test ! -d "$xdir"; then
-             exit $status
-           fi
-           # We will extract separately just the conflicting names and we will no
-           # longer touch any unique names. It is faster to leave these extract
-           # automatically by $AR in one run.
-           $show "(cd $xdir && $AR x $xabs)"
-           $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-           if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
-             :
-           else
-             $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
-             $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
-             $AR t "$xabs" | sort | uniq -cd | while read -r count name
-             do
-               i=1
-               while test "$i" -le "$count"
-               do
-                # Put our $i before any first dot (extension)
-                # Never overwrite any file
-                name_to="$name"
-                while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
-                do
-                  name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
-                done
-                $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
-                $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
-                i=`expr $i + 1`
-               done
-             done
-           fi
-
-           reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-         done
+         func_extract_archives $gentop $convenience
+         reload_conv_objs="$reload_objs $func_extract_archives_result"
        fi
       fi
 
@@ -4295,12 +4362,12 @@ extern \"C\" {
 
            # Prepare the list of exported symbols
            if test -z "$export_symbols"; then
-             export_symbols="$output_objdir/$output.exp"
+             export_symbols="$output_objdir/$outputname.exp"
              $run $rm $export_symbols
              $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
            else
-             $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
-             $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
+             $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
              $run eval 'mv "$nlist"T "$nlist"'
            fi
          fi
@@ -4352,7 +4419,26 @@ extern \"C\" {
 #endif
 
 /* The mapping between symbol names and symbols. */
+"
+
+           case $host in
+           *cygwin* | *mingw* )
+         $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs */
+struct {
+"
+             ;;
+           * )
+         $echo >> "$output_objdir/$dlsyms" "\
 const struct {
+"
+             ;;
+           esac
+
+
+         $echo >> "$output_objdir/$dlsyms" "\
   const char *name;
   lt_ptr address;
 }
@@ -4581,7 +4667,7 @@ static const void *lt_preloaded_setup() {
        esac
        case $host in
          *cygwin* | *mingw* )
-           cwrappersource=`$echo ${objdir}/lt-${output}.c`
+           cwrappersource=`$echo ${objdir}/lt-${outputname}.c`
            cwrapper=`$echo ${output}.exe`
            $rm $cwrappersource $cwrapper
            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
@@ -4814,7 +4900,7 @@ sed_quote_subst='$sed_quote_subst'
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 relink_command=\"$relink_command\"
 
@@ -4991,71 +5077,73 @@ fi\
 
       if test -n "$addlibs"; then
        gentop="$output_objdir/${outputname}x"
-       $show "${rm}r $gentop"
-       $run ${rm}r "$gentop"
-       $show "$mkdir $gentop"
-       $run $mkdir "$gentop"
-       status=$?
-       if test "$status" -ne 0 && test ! -d "$gentop"; then
-         exit $status
-       fi
        generated="$generated $gentop"
 
-       # Add in members from convenience archives.
-       for xlib in $addlibs; do
-         # Extract the objects.
-         case $xlib in
-         [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-         *) xabs=`pwd`"/$xlib" ;;
-         esac
-         xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-         xdir="$gentop/$xlib"
-
-         $show "${rm}r $xdir"
-         $run ${rm}r "$xdir"
-         $show "$mkdir $xdir"
-         $run $mkdir "$xdir"
-         status=$?
-         if test "$status" -ne 0 && test ! -d "$xdir"; then
-           exit $status
-         fi
-         # We will extract separately just the conflicting names and we will no
-         # longer touch any unique names. It is faster to leave these extract
-         # automatically by $AR in one run.
-         $show "(cd $xdir && $AR x $xabs)"
-         $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-         if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
-           :
-         else
-           $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
-           $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
-           $AR t "$xabs" | sort | uniq -cd | while read -r count name
-           do
-             i=1
-             while test "$i" -le "$count"
-             do
-              # Put our $i before any first dot (extension)
-              # Never overwrite any file
-              name_to="$name"
-              while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
-              do
-                name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
-              done
-              $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
-              $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
-              i=`expr $i + 1`
-             done
-           done
-         fi
-
-         oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
-       done
+       func_extract_archives $gentop $addlibs
+       oldobjs="$oldobjs $func_extract_archives_result"
       fi
 
       # Do each command in the archive commands.
       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
        cmds=$old_archive_from_new_cmds
       else
+       # POSIX demands no paths to be encoded in archives.  We have
+       # to avoid creating archives with duplicate basenames if we
+       # might have to extract them afterwards, e.g., when creating a
+       # static archive out of a convenience library, or when linking
+       # the entirety of a libtool archive into another (currently
+       # not supported by libtool).
+       if (for obj in $oldobjs
+           do
+             $echo "X$obj" | $Xsed -e 's%^.*/%%'
+           done | sort | sort -uc >/dev/null 2>&1); then
+         :
+       else
+         $echo "copying selected object files to avoid basename conflicts..."
+
+         if test -z "$gentop"; then
+           gentop="$output_objdir/${outputname}x"
+           generated="$generated $gentop"
+
+           $show "${rm}r $gentop"
+           $run ${rm}r "$gentop"
+           $show "$mkdir $gentop"
+           $run $mkdir "$gentop"
+           status=$?
+           if test "$status" -ne 0 && test ! -d "$gentop"; then
+             exit $status
+           fi
+         fi
+
+         save_oldobjs=$oldobjs
+         oldobjs=
+         counter=1
+         for obj in $save_oldobjs
+         do
+           objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+           case " $oldobjs " in
+           " ") oldobjs=$obj ;;
+           *[\ /]"$objbase "*)
+             while :; do
+               # Make sure we don't pick an alternate name that also
+               # overlaps.
+               newobj=lt$counter-$objbase
+               counter=`expr $counter + 1`
+               case " $oldobjs " in
+               *[\ /]"$newobj "*) ;;
+               *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+               esac
+             done
+             $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+             $run ln "$obj" "$gentop/$newobj" ||
+             $run cp "$obj" "$gentop/$newobj"
+             oldobjs="$oldobjs $gentop/$newobj"
+             ;;
+           *) oldobjs="$oldobjs $obj" ;;
+           esac
+         done
+       fi
+
        eval cmds=\"$old_archive_cmds\"
 
        if len=`expr "X$cmds" : ".*"` &&
@@ -5069,20 +5157,7 @@ fi\
          objlist=
          concat_cmds=
          save_oldobjs=$oldobjs
-         # GNU ar 2.10+ was changed to match POSIX; thus no paths are
-         # encoded into archives.  This makes 'ar r' malfunction in
-         # this piecewise linking case whenever conflicting object
-         # names appear in distinct ar calls; check, warn and compensate.
-           if (for obj in $save_oldobjs
-           do
-             $echo "X$obj" | $Xsed -e 's%^.*/%%'
-           done | sort | sort -uc >/dev/null 2>&1); then
-           :
-         else
-           $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2
-           $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2
-           AR_FLAGS=cq
-         fi
+
          # Is there a better way of finding the last object in the list?
          for obj in $save_oldobjs
          do
@@ -5294,7 +5369,7 @@ relink_command=\"$relink_command\""
       # Aesthetically quote it.
       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
        arg="\"$arg\""
        ;;
       esac
@@ -5310,7 +5385,7 @@ relink_command=\"$relink_command\""
     # Aesthetically quote it.
     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
     case $arg in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*)
+    *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
       arg="\"$arg\""
       ;;
     esac
@@ -5358,7 +5433,7 @@ relink_command=\"$relink_command\""
       # Aesthetically quote the argument.
       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
        arg="\"$arg\""
        ;;
       esac
@@ -6397,7 +6472,7 @@ esac
 $echo
 $echo "Try \`$modename --help' for more information about other modes."
 
-exit $EXIT_SUCCESS
+exit $?
 
 # The TAGs below are defined such that we never get into a situation
 # in which we disable both kinds of libraries.  Given conflicting
diff --git a/m4/gettext.m4 b/m4/gettext.m4
deleted file mode 100644 (file)
index 6261026..0000000
+++ /dev/null
@@ -1,549 +0,0 @@
-# gettext.m4 serial 36 (gettext-0.14.3)
-dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-dnl    default (if it is not specified or empty) is 'no-libtool'.
-dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
-dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl    depending on --{enable,disable}-{shared,static} and on the presence of
-dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-dnl    $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl    implementations (in libc or libintl) without the ngettext() function
-dnl    will be ignored.  If NEEDSYMBOL is specified and is
-dnl    'need-formatstring-macros', then GNU gettext implementations that don't
-dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries.  If empty,
-dnl    the value `$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl    and used.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl    Catalog format: none
-dnl    Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
-  dnl Argument checking.
-  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
-    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
-  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
-    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
-  define([gt_included_intl], ifelse([$1], [external], [no], [yes]))
-  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
-
-  AC_REQUIRE([AM_PO_SUBDIRS])dnl
-  ifelse(gt_included_intl, yes, [
-    AC_REQUIRE([AM_INTL_SUBDIR])dnl
-  ])
-
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Sometimes libintl requires libiconv, so first search for libiconv.
-  dnl Ideally we would do this search only after the
-  dnl      if test "$USE_NLS" = "yes"; then
-  dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
-  dnl the configure script would need to contain the same shell code
-  dnl again, outside any 'if'. There are two solutions:
-  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
-  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
-  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
-  dnl documented, we avoid it.
-  ifelse(gt_included_intl, yes, , [
-    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-  ])
-
-  dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
-  gt_INTL_MACOSX
-
-  dnl Set USE_NLS.
-  AM_NLS
-
-  ifelse(gt_included_intl, yes, [
-    BUILD_INCLUDED_LIBINTL=no
-    USE_INCLUDED_LIBINTL=no
-  ])
-  LIBINTL=
-  LTLIBINTL=
-  POSUB=
-
-  dnl If we use NLS figure out what method
-  if test "$USE_NLS" = "yes"; then
-    gt_use_preinstalled_gnugettext=no
-    ifelse(gt_included_intl, yes, [
-      AC_MSG_CHECKING([whether included gettext is requested])
-      AC_ARG_WITH(included-gettext,
-        [  --with-included-gettext use the GNU gettext library included here],
-        nls_cv_force_use_gnu_gettext=$withval,
-        nls_cv_force_use_gnu_gettext=no)
-      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-    ])
-        dnl User does not insist on using GNU NLS library.  Figure out what
-        dnl to use.  If GNU gettext is available we use this.  Else we have
-        dnl to fall back to GNU NLS library.
-
-        dnl Add a version number to the cache macros.
-        define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
-        define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
-        define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
-
-        AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
-         [AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
-            [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
-            gt_cv_func_gnugettext_libc=yes,
-            gt_cv_func_gnugettext_libc=no)])
-
-        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-          dnl Sometimes libintl requires libiconv, so first search for libiconv.
-          ifelse(gt_included_intl, yes, , [
-            AM_ICONV_LINK
-          ])
-          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
-          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
-          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
-          dnl even if libiconv doesn't exist.
-          AC_LIB_LINKFLAGS_BODY([intl])
-          AC_CACHE_CHECK([for GNU gettext in libintl],
-            gt_cv_func_gnugettext_libintl,
-           [gt_save_CPPFLAGS="$CPPFLAGS"
-            CPPFLAGS="$CPPFLAGS $INCINTL"
-            gt_save_LIBS="$LIBS"
-            LIBS="$LIBS $LIBINTL"
-            dnl Now see whether libintl exists and does not depend on libiconv.
-            AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);],
-              [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
-              gt_cv_func_gnugettext_libintl=yes,
-              gt_cv_func_gnugettext_libintl=no)
-            dnl Now see whether libintl exists and depends on libiconv.
-            if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
-              LIBS="$LIBS $LIBICONV"
-              AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);],
-                [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
-               [LIBINTL="$LIBINTL $LIBICONV"
-                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                gt_cv_func_gnugettext_libintl=yes
-               ])
-            fi
-            CPPFLAGS="$gt_save_CPPFLAGS"
-            LIBS="$gt_save_LIBS"])
-        fi
-
-        dnl If an already present or preinstalled GNU gettext() is found,
-        dnl use it.  But if this macro is used in GNU gettext, and GNU
-        dnl gettext is already preinstalled in libintl, we update this
-        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
-        if test "$gt_cv_func_gnugettext_libc" = "yes" \
-           || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
-                && test "$PACKAGE" != gettext-runtime \
-                && test "$PACKAGE" != gettext-tools; }; then
-          gt_use_preinstalled_gnugettext=yes
-        else
-          dnl Reset the values set by searching for libintl.
-          LIBINTL=
-          LTLIBINTL=
-          INCINTL=
-        fi
-
-    ifelse(gt_included_intl, yes, [
-        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-          dnl GNU gettext is not found in the C library.
-          dnl Fall back on included GNU gettext library.
-          nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions used to generate GNU NLS library.
-        BUILD_INCLUDED_LIBINTL=yes
-        USE_INCLUDED_LIBINTL=yes
-        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
-        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
-        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      fi
-
-      CATOBJEXT=
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions to use GNU gettext tools.
-        CATOBJEXT=.gmo
-      fi
-    ])
-
-    if test -n "$INTL_MACOSX_LIBS"; then
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Some extra flags are needed during linking.
-        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
-        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
-      fi
-    fi
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes" \
-       || test "$nls_cv_use_gnu_gettext" = "yes"; then
-      AC_DEFINE(ENABLE_NLS, 1,
-        [Define to 1 if translation of program messages to the user's native language
-   is requested.])
-    else
-      USE_NLS=no
-    fi
-  fi
-
-  AC_MSG_CHECKING([whether to use NLS])
-  AC_MSG_RESULT([$USE_NLS])
-  if test "$USE_NLS" = "yes"; then
-    AC_MSG_CHECKING([where the gettext function comes from])
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-        gt_source="external libintl"
-      else
-        gt_source="libc"
-      fi
-    else
-      gt_source="included intl directory"
-    fi
-    AC_MSG_RESULT([$gt_source])
-  fi
-
-  if test "$USE_NLS" = "yes"; then
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-        AC_MSG_CHECKING([how to link with libintl])
-        AC_MSG_RESULT([$LIBINTL])
-        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-      fi
-
-      dnl For backward compatibility. Some packages may be using this.
-      AC_DEFINE(HAVE_GETTEXT, 1,
-       [Define if the GNU gettext() function is already present or preinstalled.])
-      AC_DEFINE(HAVE_DCGETTEXT, 1,
-       [Define if the GNU dcgettext() function is already present or preinstalled.])
-    fi
-
-    dnl We need to process the po/ directory.
-    POSUB=po
-  fi
-
-  ifelse(gt_included_intl, yes, [
-    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-    dnl to 'yes' because some of the testsuite requires it.
-    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
-
-    dnl Make all variables we use known to autoconf.
-    AC_SUBST(BUILD_INCLUDED_LIBINTL)
-    AC_SUBST(USE_INCLUDED_LIBINTL)
-    AC_SUBST(CATOBJEXT)
-
-    dnl For backward compatibility. Some configure.ins may be using this.
-    nls_cv_header_intl=
-    nls_cv_header_libgt=
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    DATADIRNAME=share
-    AC_SUBST(DATADIRNAME)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INSTOBJEXT=.mo
-    AC_SUBST(INSTOBJEXT)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    GENCAT=gencat
-    AC_SUBST(GENCAT)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INTLOBJS=
-    if test "$USE_INCLUDED_LIBINTL" = yes; then
-      INTLOBJS="\$(GETTOBJS)"
-    fi
-    AC_SUBST(INTLOBJS)
-
-    dnl Enable libtool support if the surrounding package wishes it.
-    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
-    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
-  ])
-
-  dnl For backward compatibility. Some Makefiles may be using this.
-  INTLLIBS="$LIBINTL"
-  AC_SUBST(INTLLIBS)
-
-  dnl Make all documented variables known to autoconf.
-  AC_SUBST(LIBINTL)
-  AC_SUBST(LTLIBINTL)
-  AC_SUBST(POSUB)
-])
-
-
-dnl Checks for all prerequisites of the intl subdirectory,
-dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
-dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
-AC_DEFUN([AM_INTL_SUBDIR],
-[
-  AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-  AC_REQUIRE([AC_PROG_CC])dnl
-  AC_REQUIRE([AC_CANONICAL_HOST])dnl
-  AC_REQUIRE([gt_GLIBC2])dnl
-  AC_REQUIRE([AC_PROG_RANLIB])dnl
-  AC_REQUIRE([AC_ISC_POSIX])dnl
-  AC_REQUIRE([AC_HEADER_STDC])dnl
-  AC_REQUIRE([AC_C_CONST])dnl
-  AC_REQUIRE([bh_C_SIGNED])dnl
-  AC_REQUIRE([AC_C_INLINE])dnl
-  AC_REQUIRE([AC_TYPE_OFF_T])dnl
-  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-  AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl
-  AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
-  AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
-  AC_REQUIRE([gt_TYPE_WINT_T])dnl
-  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
-  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
-  AC_REQUIRE([gt_TYPE_INTMAX_T])
-  AC_REQUIRE([gt_PRINTF_POSIX])
-  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-  AC_REQUIRE([AC_FUNC_MMAP])dnl
-  AC_REQUIRE([gl_GLIBC21])dnl
-  AC_REQUIRE([gt_INTDIV0])dnl
-  AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
-  AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
-  AC_REQUIRE([gt_INTTYPES_PRI])dnl
-  AC_REQUIRE([gl_XSIZE])dnl
-  AC_REQUIRE([gt_INTL_MACOSX])dnl
-
-  AC_CHECK_TYPE([ptrdiff_t], ,
-    [AC_DEFINE([ptrdiff_t], [long],
-       [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
-    ])
-  AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
-  AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
-mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
-strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
-__fsetlocking])
-
-  dnl Use the _snprintf function only if it is declared (because on NetBSD it
-  dnl is defined as a weak alias of snprintf; we prefer to use the latter).
-  gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
-  gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
-
-  dnl Use the *_unlocked functions only if they are declared.
-  dnl (because some of them were defined without being declared in Solaris
-  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
-  dnl on Solaris 2.5.1 to run on Solaris 2.6).
-  dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
-  gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
-  gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
-  gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
-
-  case $gt_cv_func_printf_posix in
-    *yes) HAVE_POSIX_PRINTF=1 ;;
-    *) HAVE_POSIX_PRINTF=0 ;;
-  esac
-  AC_SUBST([HAVE_POSIX_PRINTF])
-  if test "$ac_cv_func_asprintf" = yes; then
-    HAVE_ASPRINTF=1
-  else
-    HAVE_ASPRINTF=0
-  fi
-  AC_SUBST([HAVE_ASPRINTF])
-  if test "$ac_cv_func_snprintf" = yes; then
-    HAVE_SNPRINTF=1
-  else
-    HAVE_SNPRINTF=0
-  fi
-  AC_SUBST([HAVE_SNPRINTF])
-  if test "$ac_cv_func_wprintf" = yes; then
-    HAVE_WPRINTF=1
-  else
-    HAVE_WPRINTF=0
-  fi
-  AC_SUBST([HAVE_WPRINTF])
-
-  AM_ICONV
-  AM_LANGINFO_CODESET
-  if test $ac_cv_header_locale_h = yes; then
-    gt_LC_MESSAGES
-  fi
-
-  if test -n "$INTL_MACOSX_LIBS"; then
-    CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
-  fi
-
-  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
-  dnl because plural.y uses bison specific features. It requires at least
-  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
-  dnl compile.
-  dnl bison is only needed for the maintainer (who touches plural.y). But in
-  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
-  dnl the rule in general Makefile. Now, some people carelessly touch the
-  dnl files or have a broken "make" program, hence the plural.c rule will
-  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
-  dnl present or too old.
-  AC_CHECK_PROGS([INTLBISON], [bison])
-  if test -z "$INTLBISON"; then
-    ac_verc_fail=yes
-  else
-    dnl Found it, now check the version.
-    AC_MSG_CHECKING([version of bison])
-changequote(<<,>>)dnl
-    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-    case $ac_prog_version in
-      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-changequote([,])dnl
-         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-    esac
-    AC_MSG_RESULT([$ac_prog_version])
-  fi
-  if test $ac_verc_fail = yes; then
-    INTLBISON=:
-  fi
-])
-
-
-dnl Checks for special options needed on MacOS X.
-dnl Defines INTL_MACOSX_LIBS.
-AC_DEFUN([gt_INTL_MACOSX],
-[
-  dnl Check for API introduced in MacOS X 10.2.
-  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
-    gt_cv_func_CFPreferencesCopyAppValue,
-    [gt_save_CPPFLAGS="$CPPFLAGS"
-     CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
-     gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -framework CoreFoundation"
-     AC_TRY_LINK([#include <CFPreferences.h>],
-       [CFPreferencesCopyAppValue(NULL, NULL)],
-       [gt_cv_func_CFPreferencesCopyAppValue=yes],
-       [gt_cv_func_CFPreferencesCopyAppValue=no])
-     CPPFLAGS="$gt_save_CPPFLAGS"
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
-      [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
-  fi
-  dnl Check for API introduced in MacOS X 10.3.
-  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
-    [gt_save_CPPFLAGS="$CPPFLAGS"
-     CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
-     gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -framework CoreFoundation"
-     AC_TRY_LINK([#include <CFLocale.h>], [CFLocaleCopyCurrent();],
-       [gt_cv_func_CFLocaleCopyCurrent=yes],
-       [gt_cv_func_CFLocaleCopyCurrent=no])
-     CPPFLAGS="$gt_save_CPPFLAGS"
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
-      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
-  fi
-  INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
-  fi
-  AC_SUBST([INTL_MACOSX_LIBS])
-])
-
-
-dnl gt_CHECK_DECL(FUNC, INCLUDES)
-dnl Check whether a function is declared.
-AC_DEFUN([gt_CHECK_DECL],
-[
-  AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
-    [AC_TRY_COMPILE([$2], [
-#ifndef $1
-  char *p = (char *) $1;
-#endif
-], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
-  if test $ac_cv_have_decl_$1 = yes; then
-    gt_value=1
-  else
-    gt_value=0
-  fi
-  AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
-    [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
deleted file mode 100644 (file)
index 654c415..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-# iconv.m4 serial AM4 (gettext-0.11.3)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
-  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-  dnl those with the standalone portable GNU libiconv installed).
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
-  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-      [iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);],
-      am_cv_func_iconv=yes)
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-        [iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);],
-        am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes)
-      LIBS="$am_save_LIBS"
-    fi
-  ])
-  if test "$am_cv_func_iconv" = yes; then
-    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
-  fi
-  if test "$am_cv_lib_iconv" = yes; then
-    AC_MSG_CHECKING([how to link with libiconv])
-    AC_MSG_RESULT([$LIBICONV])
-  else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
-    LIBICONV=
-    LTLIBICONV=
-  fi
-  AC_SUBST(LIBICONV)
-  AC_SUBST(LTLIBICONV)
-])
-
-AC_DEFUN([AM_ICONV],
-[
-  AM_ICONV_LINK
-  if test "$am_cv_func_iconv" = yes; then
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL(am_cv_proto_iconv, [
-      AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([$]{ac_t:-
-         }[$]am_cv_proto_iconv)
-    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
-      [Define as const if the declaration of iconv() needs const.])
-  fi
-])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
deleted file mode 100644 (file)
index 96c4e2c..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
-
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]* | [A-Za-z]:[\\/]*)]
-      [re_direlt='/[^/][^/]*/\.\./']
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(acl_cv_path_LD,
-[if test -z "$LD"; then
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break ;;
-      *)
-       test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
deleted file mode 100644 (file)
index ea0b0c4..0000000
+++ /dev/null
@@ -1,553 +0,0 @@
-# lib-link.m4 serial 6 (gettext-0.14.3)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ(2.50)
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-    AC_LIB_LINKFLAGS_BODY([$1], [$2])
-    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-  ])
-  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-  dnl results of this search when this library appears as a dependency.
-  HAVE_LIB[]NAME=yes
-  undefine([Name])
-  undefine([NAME])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
-  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
-  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed lib[]Name and not disabled its use
-  dnl via --without-lib[]Name-prefix, he wants to use it.
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
-  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-    ac_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
-    LIBS="$ac_save_LIBS"
-  ])
-  if test "$ac_cv_lib[]Name" = yes; then
-    HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
-    AC_MSG_CHECKING([how to link with lib[]$1])
-    AC_MSG_RESULT([$LIB[]NAME])
-  else
-    HAVE_LIB[]NAME=no
-    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-    dnl $INC[]NAME either.
-    CPPFLAGS="$ac_save_CPPFLAGS"
-    LIB[]NAME=
-    LTLIB[]NAME=
-  fi
-  AC_SUBST([HAVE_LIB]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  undefine([Name])
-  undefine([NAME])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
-  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
-  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
-  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
-  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-  ])
-  wl="$acl_cv_wl"
-  libext="$acl_cv_libext"
-  shlibext="$acl_cv_shlibext"
-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  hardcode_direct="$acl_cv_hardcode_direct"
-  hardcode_minus_L="$acl_cv_hardcode_minus_L"
-  dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE(rpath,
-    [  --disable-rpath         do not hardcode runtime library paths],
-    :, enable_rpath=yes)
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib$1-prefix],
-[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
-  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
-      fi
-    fi
-])
-  dnl Search the library and its dependencies in $additional_libdir and
-  dnl $LDFLAGS. Using breadth-first-seach.
-  LIB[]NAME=
-  LTLIB[]NAME=
-  INC[]NAME=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='$1 $2'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-        dnl or AC_LIB_HAVE_LINKFLAGS call.
-        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-          else
-            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-            dnl that this library doesn't exist. So just drop it.
-            :
-          fi
-        else
-          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-          dnl and the already constructed $LIBNAME/$LTLIBNAME.
-          found_dir=
-          found_la=
-          found_so=
-          found_a=
-          if test $use_additional = yes; then
-            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
-              found_dir="$additional_libdir"
-              found_so="$additional_libdir/lib$name.$shlibext"
-              if test -f "$additional_libdir/lib$name.la"; then
-                found_la="$additional_libdir/lib$name.la"
-              fi
-            else
-              if test -f "$additional_libdir/lib$name.$libext"; then
-                found_dir="$additional_libdir"
-                found_a="$additional_libdir/lib$name.$libext"
-                if test -f "$additional_libdir/lib$name.la"; then
-                  found_la="$additional_libdir/lib$name.la"
-                fi
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIB[]NAME; do
-              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
-                    found_dir="$dir"
-                    found_so="$dir/lib$name.$shlibext"
-                    if test -f "$dir/lib$name.la"; then
-                      found_la="$dir/lib$name.la"
-                    fi
-                  else
-                    if test -f "$dir/lib$name.$libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/lib$name.$libext"
-                      if test -f "$dir/lib$name.la"; then
-                        found_la="$dir/lib$name.la"
-                      fi
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-            dnl Found the library.
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-              dnl Linking with a shared library. We attempt to hardcode its
-              dnl directory into the executable's runpath, unless it's the
-              dnl standard /usr/lib.
-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
-                dnl No hardcoding is needed.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-              else
-                dnl Use an explicit option to hardcode DIR into the resulting
-                dnl binary.
-                dnl Potentially add DIR to ltrpathdirs.
-                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$hardcode_direct" = yes; then
-                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-                  dnl resulting binary.
-                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                else
-                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
-                    dnl Use an explicit option to hardcode DIR into the resulting
-                    dnl binary.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    dnl Potentially add DIR to rpathdirs.
-                    dnl The rpathdirs will be appended to $LIBNAME at the end.
-                    haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                    dnl Rely on "-L$found_dir".
-                    dnl But don't add it if it's already contained in the LDFLAGS
-                    dnl or the already constructed $LIBNAME
-                    haveit=
-                    for x in $LDFLAGS $LIB[]NAME; do
-                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-                    fi
-                    if test "$hardcode_minus_L" != no; then
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    else
-                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
-                      dnl here, because this doesn't fit in flags passed to the
-                      dnl compiler. So give up. No hardcoding. This affects only
-                      dnl very old systems.
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                dnl Linking with a static library.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-              else
-                dnl We shouldn't come here, but anyway it's good to have a
-                dnl fallback.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-              fi
-            fi
-            dnl Assume the include files are nearby.
-            additional_includedir=
-            case "$found_dir" in
-              */lib | */lib/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-              dnl Potentially add $additional_includedir to $INCNAME.
-              dnl But don't add it
-              dnl   1. if it's the standard /usr/include,
-              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
-              dnl   3. if it's already present in $CPPFLAGS or the already
-              dnl      constructed $INCNAME,
-              dnl   4. if it doesn't exist as a directory.
-              if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INC[]NAME; do
-                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                      dnl Really add $additional_includedir to $INCNAME.
-                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-            dnl Look for dependencies.
-            if test -n "$found_la"; then
-              dnl Read the .la file. It defines the variables
-              dnl dlname, library_names, old_library, dependency_libs, current,
-              dnl age, revision, installed, dlopen, dlpreopen, libdir.
-              save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-              dnl We use only dependency_libs.
-              for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
-                    dnl But don't add it
-                    dnl   1. if it's the standard /usr/lib,
-                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
-                    dnl   3. if it's already present in $LDFLAGS or the already
-                    dnl      constructed $LIBNAME,
-                    dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/lib"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/lib"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LIBNAME.
-                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LTLIBNAME.
-                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                      dnl Potentially add DIR to rpathdirs.
-                      dnl The rpathdirs will be appended to $LIBNAME at the end.
-                      haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                      dnl Potentially add DIR to ltrpathdirs.
-                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                      haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                    dnl Handle this in the next round.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                    dnl Handle this in the next round. Throw away the .la's
-                    dnl directory; it is already contained in a preceding -L
-                    dnl option.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                    dnl Most likely an immediate library name.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-            dnl Didn't find the library; assume it is in the system directories
-            dnl known to the linker and runtime loader. (All the system
-            dnl directories known to the linker should also be known to the
-            dnl runtime loader, otherwise the system is severely misconfigured.)
-            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$hardcode_libdir_separator"; then
-      dnl Weird platform: only the last -rpath option counts, the user must
-      dnl pass all path elements in one option. We can arrange that for a
-      dnl single library, but not when more than one $LIBNAMEs are used.
-      alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
-      done
-      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
-      acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-    else
-      dnl The -rpath options are cumulative.
-      for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-    dnl When using libtool, the option that works for both libraries and
-    dnl executables is -R. The -R options are cumulative.
-    for found_dir in $ltrpathdirs; do
-      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-    done
-  fi
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
-  for element in [$2]; do
-    haveit=
-    for x in $[$1]; do
-      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      [$1]="${[$1]}${[$1]:+ }$element"
-    fi
-  done
-])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
deleted file mode 100644 (file)
index 0d895ca..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-# lib-prefix.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
-  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib-prefix],
-[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
-      fi
-    fi
-])
-  if test $use_additional = yes; then
-    dnl Potentially add $additional_includedir to $CPPFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/include,
-    dnl   2. if it's already present in $CPPFLAGS,
-    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_includedir" != "X/usr/include"; then
-      haveit=
-      for x in $CPPFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-I$additional_includedir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_includedir" = "X/usr/local/include"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_includedir"; then
-            dnl Really add $additional_includedir to $CPPFLAGS.
-            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-          fi
-        fi
-      fi
-    fi
-    dnl Potentially add $additional_libdir to $LDFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/lib,
-    dnl   2. if it's already present in $LDFLAGS,
-    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/lib"; then
-      haveit=
-      for x in $LDFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-L$additional_libdir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/lib"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux*) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_libdir"; then
-            dnl Really add $additional_libdir to $LDFLAGS.
-            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-          fi
-        fi
-      fi
-    fi
-  fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
-  dnl Unfortunately, prefix and exec_prefix get only finally determined
-  dnl at the end of configure.
-  if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  $1
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-])
diff --git a/m4/nls.m4 b/m4/nls.m4
deleted file mode 100644 (file)
index 2082c3b..0000000
--- a/m4/nls.m4
+++ /dev/null
@@ -1,51 +0,0 @@
-# nls.m4 serial 2 (gettext-0.14.3)
-dnl Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ(2.50)
-
-AC_DEFUN([AM_NLS],
-[
-  AC_MSG_CHECKING([whether NLS is requested])
-  dnl Default is enabled NLS
-  AC_ARG_ENABLE(nls,
-    [  --disable-nls           do not use Native Language Support],
-    USE_NLS=$enableval, USE_NLS=yes)
-  AC_MSG_RESULT($USE_NLS)
-  AC_SUBST(USE_NLS)
-])
-
-AC_DEFUN([AM_MKINSTALLDIRS],
-[
-  dnl Tell automake >= 1.10 to complain if mkinstalldirs is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([mkinstalldirs])])
-  dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-  dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
-  dnl Try to locate it.
-  MKINSTALLDIRS=
-  if test -n "$ac_aux_dir"; then
-    case "$ac_aux_dir" in
-      /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
-      *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
-    esac
-  fi
-  if test -z "$MKINSTALLDIRS"; then
-    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-  fi
-  AC_SUBST(MKINSTALLDIRS)
-])
diff --git a/m4/po.m4 b/m4/po.m4
deleted file mode 100644 (file)
index f2795ee..0000000
--- a/m4/po.m4
+++ /dev/null
@@ -1,429 +0,0 @@
-# po.m4 serial 7 (gettext-0.14.3)
-dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ(2.50)
-
-dnl Checks for all prerequisites of the po subdirectory.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
-  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-  AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-  AC_REQUIRE([AM_NLS])dnl
-
-  dnl Perform the following tests also if --disable-nls has been given,
-  dnl because they are needed for "make dist" to work.
-
-  dnl Search for GNU msgfmt in the PATH.
-  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
-  dnl The second test excludes FreeBSD msgfmt.
-  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
-  dnl Search for GNU xgettext 0.12 or newer in the PATH.
-  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
-  dnl The second test excludes FreeBSD xgettext.
-  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  dnl Remove leftover from FreeBSD xgettext call.
-  rm -f messages.po
-
-  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
-  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
-    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
-  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-  dnl Test whether we really found GNU msgfmt.
-  if test "$GMSGFMT" != ":"; then
-    dnl If it is no GNU msgfmt we define it as : so that the
-    dnl Makefiles still can work.
-    if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
-       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-      : ;
-    else
-      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
-      AC_MSG_RESULT(
-        [found $GMSGFMT program is not GNU msgfmt; ignore it])
-      GMSGFMT=":"
-    fi
-  fi
-
-  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-  dnl Test whether we really found GNU xgettext.
-  if test "$XGETTEXT" != ":"; then
-    dnl If it is no GNU xgettext we define it as : so that the
-    dnl Makefiles still can work.
-    if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
-       (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-      : ;
-    else
-      AC_MSG_RESULT(
-        [found xgettext program is not GNU xgettext; ignore it])
-      XGETTEXT=":"
-    fi
-    dnl Remove leftover from FreeBSD xgettext call.
-    rm -f messages.po
-  fi
-
-  AC_OUTPUT_COMMANDS([
-    for ac_file in $CONFIG_FILES; do
-      # Support "outfile[:infile[:infile...]]"
-      case "$ac_file" in
-        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-      esac
-      # PO directories have a Makefile.in generated from Makefile.in.in.
-      case "$ac_file" in */Makefile.in)
-        # Adjust a relative srcdir.
-        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-        # In autoconf-2.13 it is called $ac_given_srcdir.
-        # In autoconf-2.50 it is called $srcdir.
-        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-        case "$ac_given_srcdir" in
-          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-          /*) top_srcdir="$ac_given_srcdir" ;;
-          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-        esac
-        # Treat a directory as a PO directory if and only if it has a
-        # POTFILES.in file. This allows packages to have multiple PO
-        # directories under different names or in different locations.
-        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-          rm -f "$ac_dir/POTFILES"
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
-          POMAKEFILEDEPS="POTFILES.in"
-          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
-          # on $ac_dir but don't depend on user-specified configuration
-          # parameters.
-          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-            # The LINGUAS file contains the set of available languages.
-            if test -n "$OBSOLETE_ALL_LINGUAS"; then
-              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-            fi
-            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assigment from automake.
-            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-          else
-            # The set of available languages was given in configure.in.
-            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
-          fi
-          # Compute POFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-          # Compute UPDATEPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-          # Compute DUMMYPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-          # Compute GMOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-          case "$ac_given_srcdir" in
-            .) srcdirpre= ;;
-            *) srcdirpre='$(srcdir)/' ;;
-          esac
-          POFILES=
-          UPDATEPOFILES=
-          DUMMYPOFILES=
-          GMOFILES=
-          for lang in $ALL_LINGUAS; do
-            POFILES="$POFILES $srcdirpre$lang.po"
-            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-          done
-          # CATALOGS depends on both $ac_dir and the user's LINGUAS
-          # environment variable.
-          INST_LINGUAS=
-          if test -n "$ALL_LINGUAS"; then
-            for presentlang in $ALL_LINGUAS; do
-              useit=no
-              if test "%UNSET%" != "$LINGUAS"; then
-                desiredlanguages="$LINGUAS"
-              else
-                desiredlanguages="$ALL_LINGUAS"
-              fi
-              for desiredlang in $desiredlanguages; do
-                # Use the presentlang catalog if desiredlang is
-                #   a. equal to presentlang, or
-                #   b. a variant of presentlang (because in this case,
-                #      presentlang can be used as a fallback for messages
-                #      which are not translated in the desiredlang catalog).
-                case "$desiredlang" in
-                  "$presentlang"*) useit=yes;;
-                esac
-              done
-              if test $useit = yes; then
-                INST_LINGUAS="$INST_LINGUAS $presentlang"
-              fi
-            done
-          fi
-          CATALOGS=
-          if test -n "$INST_LINGUAS"; then
-            for lang in $INST_LINGUAS; do
-              CATALOGS="$CATALOGS $lang.gmo"
-            done
-          fi
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
-            if test -f "$f"; then
-              case "$f" in
-                *.orig | *.bak | *~) ;;
-                *) cat "$f" >> "$ac_dir/Makefile" ;;
-              esac
-            fi
-          done
-        fi
-        ;;
-      esac
-    done],
-   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
-    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
-    # from automake.
-    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
-    # Capture the value of LINGUAS because we need it to compute CATALOGS.
-    LINGUAS="${LINGUAS-%UNSET%}"
-   ])
-])
-
-dnl Postprocesses a Makefile in a directory containing PO files.
-AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
-[
-  # When this code is run, in config.status, two variables have already been
-  # set:
-  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
-  # - LINGUAS is the value of the environment variable LINGUAS at configure
-  #   time.
-
-changequote(,)dnl
-  # Adjust a relative srcdir.
-  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-  ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-  # In autoconf-2.13 it is called $ac_given_srcdir.
-  # In autoconf-2.50 it is called $srcdir.
-  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-  case "$ac_given_srcdir" in
-    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-    /*) top_srcdir="$ac_given_srcdir" ;;
-    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-  # Find a way to echo strings without interpreting backslash.
-  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
-    gt_echo='echo'
-  else
-    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
-      gt_echo='printf %s\n'
-    else
-      echo_func () {
-        cat <<EOT
-$*
-EOT
-      }
-      gt_echo='echo_func'
-    fi
-  fi
-
-  # A sed script that extracts the value of VARIABLE from a Makefile.
-  sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^[     ]*VARIABLE[     ]*=/{
-  # Seen the first line of the variable definition.
-  s/^[  ]*VARIABLE[     ]*=//
-  ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
-  # Set POTFILES to the value of the Makefile variable POTFILES.
-  sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
-  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
-  # Compute POTFILES_DEPS as
-  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-  POTFILES_DEPS=
-  for file in $POTFILES; do
-    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
-  done
-  POMAKEFILEDEPS=""
-
-  if test -n "$OBSOLETE_ALL_LINGUAS"; then
-    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-  fi
-  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-    # The LINGUAS file contains the set of available languages.
-    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-  else
-    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
-    sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
-    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
-  fi
-  # Hide the ALL_LINGUAS assigment from automake.
-  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-  # Compute POFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-  # Compute UPDATEPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-  # Compute DUMMYPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-  # Compute GMOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-  # Compute PROPERTIESFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
-  # Compute CLASSFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
-  # Compute QMFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
-  # Compute MSGFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
-  # Compute RESOURCESDLLFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
-  case "$ac_given_srcdir" in
-    .) srcdirpre= ;;
-    *) srcdirpre='$(srcdir)/' ;;
-  esac
-  POFILES=
-  UPDATEPOFILES=
-  DUMMYPOFILES=
-  GMOFILES=
-  PROPERTIESFILES=
-  CLASSFILES=
-  QMFILES=
-  MSGFILES=
-  RESOURCESDLLFILES=
-  for lang in $ALL_LINGUAS; do
-    POFILES="$POFILES $srcdirpre$lang.po"
-    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
-    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
-    QMFILES="$QMFILES $srcdirpre$lang.qm"
-    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
-    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
-  done
-  # CATALOGS depends on both $ac_dir and the user's LINGUAS
-  # environment variable.
-  INST_LINGUAS=
-  if test -n "$ALL_LINGUAS"; then
-    for presentlang in $ALL_LINGUAS; do
-      useit=no
-      if test "%UNSET%" != "$LINGUAS"; then
-        desiredlanguages="$LINGUAS"
-      else
-        desiredlanguages="$ALL_LINGUAS"
-      fi
-      for desiredlang in $desiredlanguages; do
-        # Use the presentlang catalog if desiredlang is
-        #   a. equal to presentlang, or
-        #   b. a variant of presentlang (because in this case,
-        #      presentlang can be used as a fallback for messages
-        #      which are not translated in the desiredlang catalog).
-        case "$desiredlang" in
-          "$presentlang"*) useit=yes;;
-        esac
-      done
-      if test $useit = yes; then
-        INST_LINGUAS="$INST_LINGUAS $presentlang"
-      fi
-    done
-  fi
-  CATALOGS=
-  JAVACATALOGS=
-  QTCATALOGS=
-  TCLCATALOGS=
-  CSHARPCATALOGS=
-  if test -n "$INST_LINGUAS"; then
-    for lang in $INST_LINGUAS; do
-      CATALOGS="$CATALOGS $lang.gmo"
-      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
-      QTCATALOGS="$QTCATALOGS $lang.qm"
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
-    done
-  fi
-
-  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
-  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang.msg: $lang.po
-       @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-       \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-       @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-       \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if test -n "$POMAKEFILEDEPS"; then
-    cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
-  fi
-  mv "$ac_file.tmp" "$ac_file"
-])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
deleted file mode 100644 (file)
index a56365c..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-# progtest.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-AC_PREREQ(2.50)
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
-  [[\\/]]* | ?:[[\\/]]*)
-    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in ifelse([$5], , $PATH, [$5]); do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
-          if [$3]; then
-            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
-    ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-  AC_MSG_RESULT([$]$1)
-else
-  AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
index 4c62d9b1b3bd546aec68394cecaaa0b93b16f4d1..94c42b6d8ea94b1a541f312911ac8cae0015850a 100644 (file)
@@ -24,7 +24,6 @@ man_XMANS = \
        login.access.5.xml \
        login.defs.5.xml \
        logoutd.8.xml \
-       mkpasswd.8.xml \
        newusers.8.xml \
        passwd.1.xml \
        passwd.5.xml \
@@ -64,7 +63,6 @@ man_MANS = \
        login.access.5 \
        login.defs.5 \
        logoutd.8 \
-       mkpasswd.8 \
        newgrp.1 \
        newusers.8 \
        passwd.1 \
@@ -86,14 +84,15 @@ man_MANS = \
 
 EXTRA_DIST = $(man_MANS) \
        $(man_XMANS) \
+       id.1 \
        id.1.xml \
+       pw_auth.3 \
        pw_auth.3.xml \
+       shadowconfig.8 \
        shadowconfig.8.xml \
+       sulogin.8 \
        sulogin.8.xml \
-       id.1 \
-       pw_auth.3 \
-       shadowconfig.8 \
-       sulogin.8
+       sulogin.8.xml
 
 all:
 
index 08d6ea70930ae90fc485eaead840ccbbc7a6b265..df822793a72a41b6c4ccb90760e668f3b3721670 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -211,7 +207,6 @@ man_XMANS = \
        login.access.5.xml \
        login.defs.5.xml \
        logoutd.8.xml \
-       mkpasswd.8.xml \
        newusers.8.xml \
        passwd.1.xml \
        passwd.5.xml \
@@ -251,7 +246,6 @@ man_MANS = \
        login.access.5 \
        login.defs.5 \
        logoutd.8 \
-       mkpasswd.8 \
        newgrp.1 \
        newusers.8 \
        passwd.1 \
@@ -273,14 +267,15 @@ man_MANS = \
 
 EXTRA_DIST = $(man_MANS) \
        $(man_XMANS) \
+       id.1 \
        id.1.xml \
+       pw_auth.3 \
        pw_auth.3.xml \
+       shadowconfig.8 \
        shadowconfig.8.xml \
+       sulogin.8 \
        sulogin.8.xml \
-       id.1 \
-       pw_auth.3 \
-       shadowconfig.8 \
-       sulogin.8
+       sulogin.8.xml
 
 all: all-recursive
 
@@ -294,9 +289,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/Makefile
+         $(AUTOMAKE) --gnu  man/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 80735b21245eb1059441040ba39fbcc2d0a3d597..3070ba72581075099837baf04c00e459d101f0fa 100644 (file)
@@ -1,96 +1,97 @@
-.\"$Id: chage.1,v 1.25 2005/04/26 12:22:08 kloczek Exp $
-.\" Copyright 1990 - 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH CHAGE 1
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "CHAGE" 1 "" "" ""
 .SH NAME
 chage \- change user password expiry information
-.SH SYNOPSIS
-.TP 6
-\fBchage\fR [\fB\-m\fR \fImindays\fR] [\fB\-M\fR \fImaxdays\fR] [\fB\-d\fR \fIlastday\fR] [\fB\-I\fR \fIinactive\fR]
-[\fB\-E\fR \fIexpiredate\fR] [\fB\-W\fR \fIwarndays\fR] \fIuser\fR
-.TP 6
-\fBchage\fR \fB\-l\fR \fIuser\fR
-.SH DESCRIPTION
-\fBchage\fR command changes the number of days between password changes and
-the date of the last password change. This information is used by the system
-to determine when a user must change her password.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 6
+\fBchage\fR [\fIoptions\fR] \fIuser\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBchage\fR command changes the number of days between passwordchanges and the date of the last password change\&. This information is used by the system to determine when a user must change her password\&.
+
+.SH "OPTIONS"
+
 .PP
-The \fBchage\fR command is restricted to the root user, except for the
-\fB\-l\fR option, which may be used by an unprivileged user to determine
-when her password or account is due to expire.
-.SH OPTIONS
 The options which apply to the \fBchage\fR command are:
-.IP "\fB\-d\fR \fIlastday\fR"
-Set the number of days since January 1st, 1970 when the password was last
-changed. The date may also be expressed in the format YYYY\-MM\-DD (or the
-format more commonly used in your area).
-.IP "\fB\-E\fR \fIexpiredate\fR"
-Set the date on which the user's account will no longer be accessible. The
-\fIexpiredate\fR option is the number of days since January 1, 1970 on which
-the accounted is locked. The date may also be expressed in the format
-YYYY\-MM\-DD (or the format more commonly used in your area). A user whose
-account is locked must contact the system administrator before being able to
-use the system again. Passing the number \fI-1\fR as the \fIexpiredate\fR will
-remove an accounts expiration date.
-.IP "\fB\-I\fR \fIinactive\fR"
-Set the number of days of inactivity after a password has expired before the
-account is locked. The \fIinactive\fR option is the number of days of
-inactivity. A value of 0 disables this feature. A user whose account is
-locked must contact the system administrator before being able to use the
-system again.
-.IP "\fB\-m\fR \fImindays\fR"
-Set the minimum number of days between password changes. A value of zero for
-this field indicates that the user may change her password at any time.
-.IP "\fB\-M\fR \fImaxdays\fR"
-Set maximum number of days during which a password is valid. When
-\fImaxdays\fR plus \fIlastday\fR is less than the current day, the user will
-be required to change her password before being able to use her account.
-This occurrence can be planned for in advance by use of the \fB\-W\fR option,
-which provides the user with advance warning.
-.IP "\fB\-W\fR \fIwarndays\fR"
-Set the number of days of warning before a password change is required. The
-\fIwarndays\fR option is the number of days prior to the password expiring
-that a user will be warned her password is about to expire.
+
+.TP
+\fB\-d\fR, \fB\-\-lastday\fR \fILAST_DAY\fR
+Set the number of days since January 1st, 1970 when the password was last changed\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&.
+
+.TP
+\fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR
+Set the date on which the user's account will no longer be accessible\&. The \fIEXPIRE_DATE\fR option is the number of days since January 1, 1970 on which the accounted is locked\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&. A user whose account is locked must contact the system administrator before being able to use the system again\&. Passing the number \fI\-1\fR as the \fIEXPIRE_DATE\fR will remove an accounts expiration date\&.
+
+.TP
+\fB\-I\fR, \fB\-\-inactive\fR \fIINACTIVE\fR
+Set the number of days of inactivity after a password has expired before the account is locked\&. The \fIINACTIVE\fR option is the number of days of inactivity\&. A value of 0 disables this feature\&. A user whose account is locked must contact the system administrator before being able to use the system again\&.
+
+.TP
+\fB\-l\fR, \fB\-\-list\fR
+Show account aging information\&.
+
+.TP
+\fB\-m\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR
+Set the minimum number of days between password changes\&. A value of zero for this field indicates that the user may change her password at any time\&.
+
+.TP
+\fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR
+Set maximum number of days during which a password is valid\&. When \fIMAX_DAYS\fR plus \fILAST_DAY\fR is less than the current day, the user will be required to change her password before being able to use her account\&. This occurrence can be planned for in advance by use of the \fB\-W\fR option, which provides the user with advance warning\&.
+
+.TP
+\fB\-W\fR, \fBwarndays\fR \fIWARN_DAYS\fR
+Set the number of days of warning before a password change is required\&. The \fIWARN_DAYS\fR option is the number of days prior to the password expiring that a user will be warned her password is about to expire\&.
+
 .PP
-If none of the options are selected, \fBchage\fR operates in an interactive
-fashion, prompting the user with the current values for all of the fields.
-Enter the new value to change the field, or leave the line blank to use the
-current value. The current value is displayed between a pair of \fB[ ]\fR
-marks.
-.SH NOTE
-The \fBchage\fR program requires shadow password file to be available.
-Its functionality is not available when passwords are stored in the 
-passwd file.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.SH SEE ALSO
-.BR passwd (5),
-.BR shadow (5)
-.SH AUTHOR
-Julianne Frances Haugh <jockgrrl@ix.netcom.com>
+If none of the options are selected, \fBchage\fR operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of \fI[ ]\fR marks\&.
+
+.SH "NOTE"
+
+.PP
+The \fBchage\fR program requires shadow password file to be available\&. Its functionality is not available when passwords are stored in the passwd file\&.
+
+.PP
+The \fBchage\fR command is restricted to the root user, except for the \fB\-l\fR option, which may be used by an unprivileged user to determine when her password or account is due to expire\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.SH "SEE ALSO"
+
+.PP
+\fBpasswd\fR(5), \fBshadow\fR(5)\&.
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh <jockgrrl@ix\&.netcom\&.com>
+
index 9553a3a143594b9035b547f768fff3f153e3d56e..e550664e4794defef92f36a313c2dc72c92cac02 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='chage.1'>
-  <!--  $Id: chage.1.xml,v 1.7 2005/04/26 12:31:14 kloczek Exp $  -->
+  <!--  $Id: chage.1.xml,v 1.10 2005/06/15 12:39:27 kloczek Exp $  -->
   <refmeta>
     <refentrytitle>chage</refentrytitle>
     <manvolnum>1</manvolnum>
   </refnamediv>
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>chage</command>    
-      <arg choice='opt'>-m <replaceable>mindays</replaceable></arg>
-      <arg choice='opt'>-M <replaceable>maxdays</replaceable></arg>
-      <arg choice='opt'>-d <replaceable>lastday</replaceable></arg>
-      <arg choice='opt'>-I <replaceable>inactive</replaceable></arg>
-      <sbr/>
-      <arg choice='opt'>-E <replaceable>expiredate</replaceable></arg>
-      <arg choice='opt'>-W <replaceable>warndays</replaceable></arg>
-      <arg choice='plain'><replaceable>user</replaceable></arg>
-    </cmdsynopsis>
-    <cmdsynopsis>
-      <command>chage</command>    
-      <arg choice='plain'>-l <replaceable>user</replaceable>
+      <command>chage</command>
+      <arg choice='opt'>
+       <replaceable>options</replaceable>
       </arg>
+      <arg choice='plain'><replaceable>user</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
   
       This information is used by the system to determine when a user must
       change her password.
     </para>
-    <para>The <command>chage</command> command is restricted to the root
-      user, except for the <option>-l</option> option, which may be used by
-      an unprivileged user to determine when her password or account is due
-      to expire.
-    </para>
   </refsect1>
   
   <refsect1 id='options'>
@@ -53,7 +39,7 @@
     <variablelist remap='IP'>
       <varlistentry>
         <term>
-          <option>-d</option> <replaceable>lastday</replaceable>
+          <option>-d</option>, <option>--lastday</option> <replaceable>LAST_DAY</replaceable>
         </term>
         <listitem>
           <para>
       </varlistentry>
       <varlistentry>
         <term>
-          <option>-E</option> <replaceable>expiredate</replaceable>
+          <option>-E</option>, <option>--expiredate</option> <replaceable>EXPIRE_DATE</replaceable>
         </term>
         <listitem>
           <para>Set the date on which the user's account will no longer be
-            accessible. The <emphasis remap='I'>expiredate</emphasis> option
+            accessible. The <emphasis remap='I'>EXPIRE_DATE</emphasis> option
             is the number of days since January 1, 1970 on which the
             accounted is locked. The date may also be expressed in the
             format YYYY-MM-DD (or the format more commonly used in your
             area). A user whose account is locked must contact the system
             administrator before being able to use the system again. Passing
             the number <emphasis remap='I'>-1</emphasis> as the <emphasis
-            remap='I'>expiredate</emphasis> will remove an accounts
+            remap='I'>EXPIRE_DATE</emphasis> will remove an accounts
             expiration date.
           </para>
         </listitem>
       </varlistentry>
       <varlistentry>
         <term>
-          <option>-I</option> <replaceable>inactive</replaceable>
+          <option>-I</option>, <option>--inactive</option> <replaceable>INACTIVE</replaceable>
         </term>
         <listitem>
           <para>
             Set the number of days of inactivity after a password has
             expired before the account is locked. The <emphasis
-            remap='I'>inactive</emphasis> option is the number of days of
+            remap='I'>INACTIVE</emphasis> option is the number of days of
             inactivity. A value of 0 disables this feature. A user whose
             account is locked must contact the system administrator before
             being able to use the system again.
       </varlistentry>
       <varlistentry>
         <term>
-          <option>-m</option> <replaceable>mindays</replaceable>
+          <option>-l</option>, <option>--list</option>
+        </term>
+        <listitem>
+          <para>
+         Show account aging information.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-m</option>, <option>--mindays</option> <replaceable>MIN_DAYS</replaceable>
         </term>
         <listitem>
           <para>
       </varlistentry>
       <varlistentry>
         <term>
-          <option>-M</option> <replaceable>maxdays</replaceable>
+          <option>-M</option>, <option>--maxdays</option> <replaceable>MAX_DAYS</replaceable>
         </term>
         <listitem>
           <para>
-            Set maximum number of days during which a password is valid. 
-            When <emphasis remap='I'>maxdays</emphasis> plus <emphasis
-            remap='I'>lastday</emphasis> is less than the current day, the
+            Set maximum number of days during which a password is valid.
+            When <emphasis remap='I'>MAX_DAYS</emphasis> plus <emphasis
+            remap='I'>LAST_DAY</emphasis> is less than the current day, the
             user will be required to change her password before being able
-            to use her account.  This occurrence can be planned for in
+            to use her account. This occurrence can be planned for in
             advance by use of the <option>-W</option> option, which provides
             the user with advance warning.
           </para>
       </varlistentry>
       <varlistentry>
         <term>
-          <option>-W</option> <replaceable>warndays</replaceable>
+          <option>-W</option>, <option>warndays</option> <replaceable>WARN_DAYS</replaceable>
         </term>
         <listitem>
           <para>
             Set the number of days of warning before a password change is
-            required. The <emphasis remap='I'>warndays</emphasis> option is
+            required. The <emphasis remap='I'>WARN_DAYS</emphasis> option is
             the number of days prior to the password expiring that a user
             will be warned her password is about to expire.
           </para>
     <para>
       If none of the options are selected, <command>chage</command> operates
       in an interactive fashion, prompting the user with the current values
-      for all of the fields.  Enter the new value to change the field, or
+      for all of the fields. Enter the new value to change the field, or
       leave the line blank to use the current value. The current value is
       displayed between a pair of <emphasis remap='B'>[ ]</emphasis> marks.
     </para>
     <title>NOTE</title>
     <para>
       The <command>chage</command> program requires shadow password file to
-      be available.  Its functionality is not available when passwords are
+      be available. Its functionality is not available when passwords are
       stored in the passwd file.
     </para>
+    <para>The <command>chage</command> command is restricted to the root
+      user, except for the <option>-l</option> option, which may be used by
+      an unprivileged user to determine when her password or account is due
+      to expire.
+    </para>
   </refsect1>
   
   <refsect1 id='files'>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
index 6ea06db66505e6321f1b1bd5e9d2865ce6f87ad3..ca00ec648ba53f9eb22c87c447850c1fab4ba1ac 100644 (file)
@@ -1,59 +1,59 @@
-.\"$Id: chfn.1,v 1.15 2005/04/05 18:47:50 kloczek Exp $
-.\" Copyright 1990 - 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH CHFN 1
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "CHFN" 1 "" "" ""
 .SH NAME
 chfn \- change real user name and information
-.SH SYNOPSIS
-.TP 5
-\fBchfn\fR
-[\fB\-f\fR \fIfull_name\fR] [\fB\-r\fR \fIroom_no\fR] [\fB\-w\fR \fIwork_ph\fR] [\fB\-h\fR \fIhome_ph\fR] [\fB\-o\fR \fIother\fR]
-[\fIuser\fR]
-.SH DESCRIPTION
-\fBchfn\fR changes user fullname, office number, office extension, and home
-phone number information for a user's account.  This information is
-typically printed by \fBfinger\fR(1) and similar programs. A normal user
-may only change the fields for her own account, the super user may change
-the fields for any account. Also, only the super user may use the \fB\-o\fR
-option to change the undefined portions of the GECOS field.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 5
+\fBchfn\fR [\-f\ \fIfull_name\fR] [\-r\ \fIroom_no\fR] [\-w\ \fIwork_ph\fR] [\-h\ \fIhome_ph\fR] [\-o\ \fIother\fR] [\fIuser\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBchfn\fR changes user fullname, office number, office extension, and home phone number information for a user's account\&. This information is typically printed by \fBfinger\fR(1) and similar programs\&. A normal user may only change may only change the fields for her own account, subject to the restrictions in \fI/etc/login\&.defs\fR\&. (The default configuration is to prevent users from changing their fullname\&.) The super user may change any field for any account\&. Additionally, only the super user may use the \fB\-o\fR option to change the undefined portions of the GECOS field\&.
+
+.PP
+The only restriction placed on the contents of the fields is that no control characters may be present, nor any of comma, colon, or equal sign\&. The \fIother\fR field does not have this restriction, and is used to store accounting information used by other applications\&.
+
+.PP
+If none of the options are selected, \fBchfn\fR operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of \fI[ ]\fR marks\&. Without options, chfn prompts for the current user account\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/login\&.defs\fR
+runtime configuration
+.SH "SEE ALSO"
+
 .PP
-The only restriction placed on the contents of the fields is that no control
-characters may be present, nor any of comma, colon, or equal sign. The
-\fIother\fR field does not have this restriction, and is used to store
-accounting information used by other applications.
+\fBpasswd\fR(5) 
+
+.SH "AUTHOR"
+
 .PP
-If none of the options are selected, \fBchfn\fR operates in an interactive
-fashion, prompting the user with the current values for all of the fields.
-Enter the new value to change the field, or leave the line blank to use the
-current value. The current value is displayed between a pair of \fB[ ]\fR
-marks. Without options, chfn prompts for the current user account.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.SH SEE ALSO
-.BR passwd (5)
-.SH AUTHOR
-Julianne Frances Haugh <jockgrrl@ix.netcom.com>
+Julianne Frances Haugh <jockgrrl@ix\&.netcom\&.com>
+
index 52629ba8985227016700c365aed7dc98e87f1a24..8964ddb505d58772dd775e3a03216b3ca5253499 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                    "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='chfn.1'>
-  <!-- $Id: chfn.1.xml,v 1.8 2005/04/27 16:19:48 kloczek Exp $ -->
+  <!-- $Id: chfn.1.xml,v 1.11 2005/06/14 20:18:17 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>chfn</refentrytitle>
     <manvolnum>1</manvolnum>
     <para><command>chfn</command> changes user fullname, office number,
       office extension, and home phone number information for a user's
       account. This information is typically printed by <citerefentry>
-        <refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum>
+      <refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry> and similar programs. A normal user may only change
-      the fields for her own account, the super user may change the fields
-      for any account. Also, only the super user may use the
-      <option>-o</option> option to change the undefined portions of the
-      GECOS field.
+      may only change the fields for her own account, subject to the
+      restrictions in <filename>/etc/login.defs</filename>. (The default
+      configuration is to prevent users from changing their fullname.) The
+      super user may change any field for any account. Additionally, only
+      the super user may use the <option>-o</option> option to change the
+      undefined portions of the GECOS field.
     </para>
     
     <para>The only restriction placed on the contents of the fields is that
         <term><filename>/etc/passwd</filename></term>
         <listitem>user account information</listitem>
       </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/login.defs</filename></term>
+        <listitem>runtime configuration</listitem>
+      </varlistentry>
     </variablelist>
   </refsect1>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>
     </para>
index eb6770ddc9107daefc03a9be7768c613199fd1f0..5236afe9feeb40c4b20db329938b386688dcd085 100644 (file)
@@ -1,61 +1,76 @@
-.\"$Id: chpasswd.8,v 1.18 2005/04/02 16:10:23 kloczek Exp $
-.\" Copyright 1991, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH CHPASSWD 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "CHPASSWD" 8 "" "" ""
 .SH NAME
 chpasswd \- update passwords in batch mode
-.SH SYNOPSIS
-\fBchpasswd\fR [\fBoptions\fR]
-.SH DESCRIPTION
-\fBchpasswd\fR reads a list of user name and password pairs from standard
-input and uses this information to update a group of existing users. Each
-line is of the format:
-.sp 1
-         \fIuser_name\fR:\fIpassword\fR
-.sp 1
-By default the supplied password must be in clear\-text. Default encription
-algoritm is DES. Also the password age will be updated, if present.
-.PP
-This command is intended to be used in a large system environment where many
-accounts are created at a single time.
-.SH OPTIONS
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 9
+\fBchpasswd\fR [\fIoptions\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBchpasswd\fR reads a list of user name and password pairs from standard input and uses this information to update a group of existing users\&. Each line is of the format:
+
+.PP
+ \fIuser_name\fR:\fIpassword\fR 
+
+.PP
+By default the supplied password must be in clear\-text\&. Default encription algoritm is DES\&. Also the password age will be updated, if present\&.
+
+.PP
+This command is intended to be used in a large system environment where many accounts are created at a single time\&.
+
+.SH "OPTIONS"
+
+.PP
 The options which apply to the \fBchpasswd\fR command are:
-.IP "\fB\-e\fR, \fB\-\-encrypted\fR"
-Supplied passwords are in encrypted form.
-.IP "\fB\-h\fR, \fB\-\-help\fR"
-Display help message and exit.
-.IP "\fB\-m\fR, \fB\-\-md5\fR"
-Use MD5 encryption instead DES when the supplied passwords are not encrypted.
-.SH CAVEATS
-Remember keep protected for reading by others fille passed to standard input
-\fBchpasswd\fR command if it contains unencrypted passwords.
-.SH SEE ALSO
-.BR passwd (1),
-.BR newusers (8),
-.BR useradd (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+
+.TP
+\fB\-e\fR, \fB\-\-encrypted\fR
+Supplied passwords are in encrypted form\&.
+
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help message and exit\&.
+
+.TP
+\fB\-m\fR, \fB\-\-md5\fR
+Use MD5 encryption instead DES when the supplied passwords are not encrypted\&.
+
+.SH "CAVEATS"
+
+.PP
+Remember keep protected for reading by others fille passed to standard input \fBchpasswd\fR command if it contains unencrypted passwords\&.
+
+.SH "SEE ALSO"
+
+.PP
+\fBpasswd\fR(1), \fBnewusers\fR(8), \fBuseradd\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 695fe0431439494e7e8433506dc7ef8bae1bfb5c..86ed12187dbe822c6a84caf4f44864b629cd277c 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                    "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='chpasswd.8'>
-  <!-- $Id: chpasswd.8.xml,v 1.6 2005/04/27 16:22:25 kloczek Exp $ -->
+  <!-- $Id: chpasswd.8.xml,v 1.8 2005/06/16 15:42:19 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>chpasswd</refentrytitle>
     <manvolnum>8</manvolnum>
@@ -23,8 +23,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>chpasswd</command> reads a list of user name and password
+    <para><command>chpasswd</command> reads a list of user name and password
       pairs from standard input and uses this information to update a group
       of existing users. Each line is of the format:
     </para>
@@ -81,8 +80,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index f988b0767c77474dacddec926ca362c2ce2bb241..d31665a755757d4419bdd95fa390598e88251dc4 100644 (file)
@@ -1,62 +1,61 @@
-.\"$Id: chsh.1,v 1.13 2005/04/02 16:10:23 kloczek Exp $
-.\" Copyright 1990, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH CHSH 1
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "CHSH" 1 "" "" ""
 .SH NAME
 chsh \- change login shell
-.SH SYNOPSIS
-.TP 5
-\fBchsh\fR [\fB\-s\fR \fIlogin_shell\fR] [\fIuser\fR]
-.SH DESCRIPTION
-\fBchsh\fR changes the user login shell. This determines the name of the
-user's initial login command. A normal user may only change the login shell
-for her own account, the super user may change the login shell for any
-account.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 5
+\fBchsh\fR [\-s\ \fIlogin_shell\fR] [\fIuser\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
 .PP
-The only restrictions placed on the login shell is that the command name
-must be listed in \fI/etc/shells\fR, unless the invoker is the super\-user,
-and then any value may be added. An account with a restricted login shell
-may not change her login shell. For this reason, placing \fB/bin/rsh\fR in
-\fI/etc/shells\fR is discouraged since accidentally changing to a restricted
-shell would prevent the user from every changing her login shell back to its
-original value.
+\fBchsh\fR changes the user login shell\&. This determines the name of the user's initial login command\&. A normal user may only change the login shell for her own account, the super user may change the login shell for any account\&.
+
 .PP
-.SH OPTIONS
-If the \fB\-s\fR option is not selected, \fBchsh\fR operates in an
-interactive fashion, prompting the user with the current login shell. Enter
-the new value to change the shell, or leave the line blank to use the
-current one. The current shell is displayed between a pair of \fB[ ]\fR
-marks.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shells\fR      \- list of valid login shells
-.SH SEE ALSO
-.BR chfn (1),
-.BR passwd (5)
-.SH AUTHOR
-Julianne Frances Haugh <jockgrrl@ix.netcom.com>
+The only restrictions placed on the login shell is that the command name must be listed in \fI/etc/shells\fR, unless the invoker is the super\-user, and then any value may be added\&. An account with a restricted login shell may not change her login shell\&. For this reason, placing \fI/bin/rsh\fR in \fI/etc/shells\fR is discouraged since accidentally changing to a restricted shell would prevent the user from every changing her login shell back to its original value\&.
+
+.SH "OPTIONS"
+
+.PP
+If the \fB\-s\fR option is not selected, \fBchsh\fR operates in an interactive fashion, prompting the user with the current login shell\&. Enter the new value to change the shell, or leave the line blank to use the current one\&. The current shell is displayed between a pair of \fI[ ]\fR marks\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shells\fR
+list of valid login shells
+.SH "SEE ALSO"
+
+.PP
+\fBchfn\fR(1), \fBpasswd\fR(5) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh <jockgrrl@ix\&.netcom\&.com>
+
index e40f20356fa5d760502a85d25644ec51b63fe460..cef1a164331e1be451b9c0a680b665572710362f 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='chsh1'>
-  <!-- $Id: chsh.1.xml,v 1.6 2005/04/27 16:24:09 kloczek Exp $ -->
+  <!-- $Id: chsh.1.xml,v 1.8 2005/06/16 15:43:48 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>chsh</refentrytitle>
     <manvolnum>1</manvolnum>
@@ -24,8 +24,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>chsh</command> changes the user login shell. This determines
+    <para><command>chsh</command> changes the user login shell. This determines
       the name of the user's initial login command. A normal user may only
       change the login shell for her own account, the super user may change
       the login shell for any account.
@@ -69,8 +68,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 29f1cb2112621f1833c8b8297826251cc264ed15..4bbce112e4491840a85afed7b07f05128bd63d01 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/cs
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -197,9 +193,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/cs/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/cs/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/cs/Makefile
+         $(AUTOMAKE) --gnu  man/cs/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 1b1a2dca3c1fd39ecd2b9a2fa4406d560a3b4bd2..fda50ba46a237370f9f16ec8cff3f7b8008db699 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/de
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -199,9 +195,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/de/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/de/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/de/Makefile
+         $(AUTOMAKE) --gnu  man/de/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 7d54ae2299347593855b7c88af346f4c5ca5c4fa..240e04099b276b2d1c2b4787d5d4c5fc4c66bfd8 100644 (file)
@@ -1,4 +1,4 @@
-.\" $Id: passwd.1,v 1.7 2005/04/18 12:29:07 kloczek Exp $
+.\" $Id: passwd.1,v 1.8 2005/06/02 09:48:14 kloczek Exp $
 .\" Copyright 1989 - 1994, Julianne Frances Haugh
 .\" All rights reserved.
 .\"
@@ -25,6 +25,9 @@
 .\" 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.
+.\"
+.\" Translation based on http://cvs.pld.org.pl/shadow/man/passwd.1
+.\" (Version 1.25)
 .TH PASSWD 1
 .SH BEZEICHNUNG
 passwd \- ändert das Passwort eines Nutzers
index 4e691afa7fb14ee835e0984177038ab731a4794b..b40864eb6c3f994de9cbc8a4b5579f68c714b4af 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/es
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -191,9 +187,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/es/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/es/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/es/Makefile
+         $(AUTOMAKE) --gnu  man/es/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index c832f63c25515183291a2086bdc733a897d1fadd..c12c7ea22c33d58e3906e2aeab29e707e7eff60f 100644 (file)
@@ -1,47 +1,53 @@
-.\"$Id: expiry.1,v 1.8 2005/04/12 16:31:06 kloczek Exp $
-.\" Copyright 1990 - 1994 Julianne Frances Haugh
-.\" All rights reserved.
-.\" Modified for expiry by Ben Collins <bcollins@debian.org>, 1999
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.TH EXPIRY 1
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "EXPIRY" 1 "" "" ""
 .SH NAME
 expiry \- check and enforce password expiration policy
-.SH SYNOPSIS
-.TP 6
-\fBexpiry\fR [\fB\-c\fR] [\fB\-f\fR]
-.SH DESCRIPTION
-\fBexpiry\fR checks (\fB\-c\fR) the current password expiration and forces
-(\fB\-f\fR) changes when required. It is callable as a normal user command.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.SH SEE ALSO
-.BR passwd (5),
-.BR shadow (5)
-.SH AUTHOR
-Ben Collins <bcollins@debian.org>
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 7
+\fBexpiry\fR [\-c] [\-f]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBexpiry\fR checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required\&. It is callable as a normal user command\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.SH "SEE ALSO"
+
+.PP
+\fBpasswd\fR(5), \fBshadow\fR(5) 
+
+.SH "AUTHOR"
+
+.PP
+Ben Collins <bcollins@debian\&.org>
+
index 83834d3716801a6b4569911f5a6bdfea7327ce1d..cd72756e553206d94f1d4a25d78a91a133e84384 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='expiry.1'>
-  <!-- $Id: expiry.1.xml,v 1.6 2005/04/27 16:25:27 kloczek Exp $ -->
+  <!-- $Id: expiry.1.xml,v 1.8 2005/06/14 20:18:17 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>expiry</refentrytitle>
     <manvolnum>1</manvolnum>
@@ -23,8 +23,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>expiry</command> checks (<option>-c</option>) the current
+    <para><command>expiry</command> checks (<option>-c</option>) the current
       password expiration and forces (<option>-f</option>) changes when
       required. It is callable as a normal user command.
     </para>
@@ -46,8 +45,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
index 631e9840adac7e109506ace23e73260ada4019f2..c3185d7f30bbe5688acd6f7fadb5795c5e943bbd 100644 (file)
@@ -1,54 +1,55 @@
-.\"$Id: faillog.5,v 1.10 2005/04/02 16:10:23 kloczek Exp $
-.\" Copyright 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH FAILLOG 5
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "FAILLOG" 5 "" "" ""
 .SH NAME
 faillog \- Login failure logging file
-.SH DESCRIPTION
-\fI/var/log/faillog\fR maintains a count of login failures and the limits
-for each account. The file is fixed length record, indexed by numerical UID.
-Each record contains the count of login failures since the last successful
-login; the maximum number of failures before the account is disabled; the
-line the last login failure occured on; and the date the last login failure
-occured.
+.SH "DESCRIPTION"
+
+.PP
+\fI/var/log/faillog\fR maintains a count of login failures and the limits for each account\&. The file is fixed length record, indexed by numerical UID\&. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line the last login failure occured on; and the date the last login failure occured\&.
+
 .PP
-The structure of the file is
-.DS
-
-        struct faillog {
-                short   fail_cnt;
-                short   fail_max;
-                char    fail_line[12];
-                time_t  fail_time;
-        };
-.DE
-.SH FILES
-\fI/var/log/faillog\fR \- login failure log
-.SH SEE ALSO
-.BR faillog (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+The structure of the file is:
+
+.nf
+
+struct faillog {
+       short   fail_cnt;
+       short   fail_max;
+       char    fail_line[12];
+       time_t  fail_time;
+};
+.fi
+
+.SH "FILES"
+
+.TP
+\fI/var/log/faillog\fR
+login failure log
+.SH "SEE ALSO"
+
+.PP
+\fBfaillog\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index c89846c030ceefb2369aa5242a9eb00468848a6c..c6627ce82d4874f9899a1c6d2abbd1d4393e58da 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='faillog.5'>
-  <!-- $Id: faillog.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: faillog.5.xml,v 1.7 2005/06/16 15:49:42 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>faillog</refentrytitle>
     <manvolnum>5</manvolnum>
@@ -14,8 +14,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <filename>/var/log/faillog</filename> maintains a count of login
+    <para><filename>/var/log/faillog</filename> maintains a count of login
       failures and the limits for each account. The file is fixed length
       record, indexed by numerical UID. Each record contains the count of
       login failures since the last successful login; the maximum number of
       failure occured on; and the date the last login failure occured.
     </para>
     
-    <para>The structure of the file is</para>
-    <literallayout remap='DS'>
-      struct   faillog {
-      short   fail_cnt;
-      short   fail_max;
-      char    fail_line[12];
-      time_t  fail_time;
-      };
-    </literallayout>
+    <para>The structure of the file is:</para>
+      <programlisting>
+struct faillog {
+       short   fail_cnt;
+       short   fail_max;
+       char    fail_line[12];
+       time_t  fail_time;
+};</programlisting>
   </refsect1>
   
   <refsect1 id='files'>
@@ -46,8 +44,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>faillog</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>
     </para>
index 4e9ef16354267bcc481afa441e73d33f77c43496..80ecf95912d04e00b43ed0750071b40ac23c48af 100644 (file)
@@ -1,74 +1,88 @@
-.\" $Id: faillog.8,v 1.19 2005/04/09 17:09:56 kloczek Exp $
-.\" Copyright 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH FAILLOG 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "FAILLOG" 8 "" "" ""
 .SH NAME
 faillog \- display faillog records or set login failure limits
-.SH SYNOPSIS
-.TP 6
-\fBfaillog\fR [\fBoptions\fR]
-.SH DESCRIPTION
-\fBfaillog\fR formats the contents of the failure log from \fI/var/log/faillog\fR
-database. It also can be used for maintains failure counters and limits.
-Run \fBfaillog\fR without arguments display only list of user faillog records
-who have ever had a login failure.
-.SH OPTIONS
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 8
+\fBfaillog\fR [\fIoptions\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBfaillog\fR formats the contents of the failure log from \fI/var/log/faillog\fR database\&. It also can be used for maintains failure counters and limits\&. Run \fBfaillog\fR without arguments display only list of user faillog records who have ever had a login failure\&.
+
+.SH "OPTIONS"
+
+.PP
 The options which apply to the \fBfaillog\fR command are:
-.IP "\fB\-a\fR, \fB\-\-all\fR"
-Display faillog records for all users.
-.IP "\fB\-h\fR, \fB\-\-help\fR"
-Display help message and exit.
-.IP "\fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR"
-Lock accout to \fISEC\fR seconds after failed login.
-.IP "\fB\-m\fR, \fB\-\-maximum\fR \fIMAX\fR"
-Set maiximum number of login failures after the account is disabled to
-\fIMAX\fR. Selecting \fIMAX\fR value of 0 has the effect of not placing a
-limit on the number of failed logins. The maximum failure count should
-always be 0 for \fBroot\fR to prevent a denial of services attack against
-the system.
-.IP "\fB\-r\fR, \fB\-\-reset\fR"
-Reset the counters of login failures or one recor if used with \-u
-\fILOGIN\fR option. Write access to \fI/var/log/faillog\fR is required for
-this option.
-.IP "\fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR"
-Display faillog records more recent than \fIDAYS\fR. The \fB\-t\fR flag
-overrides the use of \fB\-u\fR.
-.IP "\fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR"
-Display faillog record or maintains failure counters and limits (if used
-with \fB\-l\fR, \fB\-m\fR or \fB\-r\fR options) only for user with \fILOGIN\fR.
-.SH CAVEATS
-\fBfaillog\fR only prints out users with no successful login since the last
-failure. To print out a user who has had a successful login since their last
-failure, you must explicitly request the user with the \fB\-u\fR flag, or
-print out all users with the \fB\-a\fR flag.
-.SH FILES
-\fI/var/log/faillog\fR \- failure logging file
-.SH SEE ALSO
-.BR login (1),
-.BR faillog (5)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+Display faillog records for all users\&.
+
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help message and exit\&.
+
+.TP
+\fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR
+Lock accout to \fISEC\fR seconds after failed login\&.
+
+.TP
+\fB\-m\fR, \fB\-\-maximum\fR \fIMAX\fR
+Set maiximum number of login failures after the account is disabled to \fIMAX\fR\&. Selecting \fIMAX\fR value of 0 has the effect of not placing a limit on the number of failed logins\&. The maximum failure count should always be 0 for \fIroot\fR to prevent a denial of services attack against the system\&.
+
+.TP
+\fB\-r\fR, \fB\-\-reset\fR
+Reset the counters of login failures or one recor if used with \-u \fILOGIN\fR option\&. Write access to \fI/var/log/faillog\fR is required for this option\&.
+
+.TP
+\fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR
+Display faillog records more recent than \fIDAYS\fR\&. The \fB\-t\fR flag overrides the use of \fB\-u\fR\&.
+
+.TP
+\fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR
+Display faillog record or maintains failure counters and limits (if used with \fB\-l\fR, \fB\-m\fR or \fB\-r\fR options) only for user with \fILOGIN\fR\&.
+
+.SH "CAVEATS"
+
+.PP
+\fBfaillog\fR only prints out users with no successful login since the last failure\&. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the \fB\-u\fR flag, or print out all users with the \fB\-a\fR flag\&.
+
+.SH "FILES"
+
+.TP
+\fI/var/log/faillog\fR
+failure logging file
+.SH "SEE ALSO"
+
+.PP
+\fBlogin\fR(1), \fBfaillog\fR(5) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 85808a8593a026fd14e17cb5a2c80d9da603dfda..e99d9d8629893d3e0071619c35cd111879ce7cf8 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='faillog.8'>
-  <!--  $Id: faillog.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!--  $Id: faillog.8.xml,v 1.9 2005/06/16 15:50:30 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>faillog</refentrytitle>
     <manvolnum>8</manvolnum>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>faillog</command> formats the contents of the failure log
+    <para><command>faillog</command> formats the contents of the failure log
       from <filename>/var/log/faillog</filename> database. It also can be
-      used for maintains failure counters and limits.  Run
+      used for maintains failure counters and limits. Run
       <command>faillog</command> without arguments display only list of user
       faillog records who have ever had a login failure.
     </para>
   
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>
-      <command>faillog</command> only prints out users with no successful
+    <para><command>faillog</command> only prints out users with no successful
       login since the last failure. To print out a user who has had a
       successful login since their last failure, you must explicitly request
       the user with the <option>-u</option> flag, or print out all users
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 9e963f2945baa183ff7679a11b242369fae20306..ccca43550ebdf44a5881dac87ad26534ace58555 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/fr
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -204,9 +200,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/fr/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/fr/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/fr/Makefile
+         $(AUTOMAKE) --gnu  man/fr/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 2aa03dec99e5579c4b49b771369d9997f0149779..e203b0665ef7f79bec3178e255da7419c33feddb 100644 (file)
@@ -1,56 +1,91 @@
-.\"$Id: gpasswd.1,v 1.17 2005/04/12 17:55:55 kloczek Exp $
-.\" Copyright 1996, Rafal Maszkowski <rzm@pdi.net>
-.\" All rights reserved. You can redistribute this man page and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of the
-.\" License, or (at your option) any later version.
-.\"
-.TH GPASSWD 1
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GPASSWD" 1 "" "" ""
 .SH NAME
 gpasswd \- administer the /etc/group file
-.br
-.SH SYNOPSIS
-.TP 6
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 8
 \fBgpasswd\fR \fIgroup\fR
-.br
-\fBgpasswd \-a\fR \fIuser\fR \fIgroup\fR
-.br
-\fBgpasswd \-d\fR \fIuser\fR \fIgroup\fR
-.br
-\fBgpasswd \-R\fR \fIgroup\fR
-.br
-\fBgpasswd \-r\fR \fIgroup\fR
-.br
-\fBgpasswd\fR [\fB\-A\fR \fIuser\fR,...] [\fB\-M\fR \fIuser\fR,...] \fIgroup\fR
-.SH DESCRIPTION
-\fBgpasswd\fR is used to administer the \fI/etc/group\fR file (and
-\fI/etc/gshadow\fR file if compiled with SHADOWGRP defined). Every group can
-have administrators, members and a password. System administrator can use
-\fB\-A\fR option to define group administrator(s) and \fB\-M\fR option to
-define members and has all rights of group administrators and members.
-.SH OPTIONS
+.ad
+.hy
+.ad l
+.hy 0
+.HP 8
+\fBgpasswd\fR \-a\ \fIuser\fR \fIgroup\fR
+.ad
+.hy
+.ad l
+.hy 0
+.HP 8
+\fBgpasswd\fR \-d\ \fIuser\fR \fIgroup\fR
+.ad
+.hy
+.ad l
+.hy 0
+.HP 8
+\fBgpasswd\fR \-R\ \fIgroup\fR
+.ad
+.hy
+.ad l
+.hy 0
+.HP 8
+\fBgpasswd\fR \-r\ \fIgroup\fR
+.ad
+.hy
+.ad l
+.hy 0
+.HP 8
+\fBgpasswd\fR [\-A\ \fIuser,\fR...] [\-M\ \fIuser,\fR...] \fIgroup\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
 .PP
-Group administrator can add and delete users using \fB\-a\fR and \fB\-d\fR
-options respectively. Administrators can use \fB\-r\fR option to remove group
-password. When no password is set only group members can use \fBnewgrp\fR to
-join the group. Option \fB\-R\fR disables access via a password to the group
-through \fBnewgrp\fR command (however members will still be able to switch to
-this group).
+\fBgpasswd\fR is used to administer the \fI/etc/group\fR file (and \fI/etc/gshadow\fR file if compiled with SHADOWGRP defined)\&. Every group can have administrators, members and a password\&. System administrator can use \fB\-A\fR option to define group administrator(s) and \fB\-M\fR option to define members and has all rights of group administrators and members\&.
+
+.SH "OPTIONS"
+
 .PP
-\fBgpasswd\fR called by a group administrator with group name only prompts
-for the group password. If password is set the members can still
-\fBnewgrp\fR(1) without a password, non\-members must supply the password.
-.SH FILES
-\fI/etc/group\fR       \- group account information
-.br
-\fI/etc/gshadow\fR     \- shadow group information
-.SH SEE ALSO
-.BR newgrp (1),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR grpck (8),
-.BR group (5),
-.BR gshadow (5)
-.SH AUTHOR
-Rafal Maszkowski <rzm@pdi.net>
+Group administrator can add and delete users using \fB\-a\fR and \fB\-d\fR options respectively\&. Administrators can use \fB\-r\fR option to remove group password\&. When no password is set only group members can use \fBnewgrp\fR to join the group\&. Option \fB\-R\fR disables access via a password to the group through \fBnewgrp\fR command (however members will still be able to switch to this group)\&.
+
+.PP
+\fBgpasswd\fR called by a group administrator with group name only prompts for the group password\&. If password is set the members can still \fBnewgrp\fR(1) without a password, non\-members must supply the password\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/gshadow\fR
+secure group account information
+.SH "SEE ALSO"
+
+.PP
+\fBnewgrp\fR(1), \fBgroupadd\fR(8), \fBgroupdel\fR(8), \fBgroupmod\fR(8), \fBgrpck\fR(8), \fBgroup\fR(5), \fBgshadow\fR(5) 
+
+.SH "AUTHOR"
+
+.PP
+Rafal Maszkowski <rzm@pdi\&.net>
+
index 4f67d6c9b9fb92cfe9bf49ae5c447e8a1a0bd065..071f8adb65e958d97e64743f78377c043f183ff1 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='gpasswd1'>
-  <!-- $Id: gpasswd.1.xml,v 1.7 2005/04/27 18:20:35 kloczek Exp $ -->
+  <!-- $Id: gpasswd.1.xml,v 1.9 2005/06/14 20:18:17 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>gpasswd</refentrytitle>
     <manvolnum>1</manvolnum>
@@ -48,8 +48,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>gpasswd</command> is used to administer the
+    <para><command>gpasswd</command> is used to administer the
       <filename>/etc/group</filename> file (and
       <filename>/etc/gshadow</filename> file if compiled with SHADOWGRP
       defined). Every group can have administrators, members and a password. 
@@ -67,7 +66,7 @@
       <option>-r</option> option to remove group password. When no password
       is set only group members can use <command>newgrp</command> to join
       the group. Option <option>-R</option> disables access via a password
-      to the group through <command>newgrp</coamand> command (however
+      to the group through <command>newgrp</command> command (however
       members will still be able to switch to this group).
     </para>
     
@@ -95,8 +94,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 1d909bb9ed9d60390797e3169e587c9a7a05312f..654d6247652190a93825689770b08adb1f2a98c4 100644 (file)
@@ -1,78 +1,90 @@
-.\"$Id: groupadd.8,v 1.24 2005/04/05 18:47:50 kloczek Exp $
-.\" Copyright 1991, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH GROUPADD 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GROUPADD" 8 "" "" ""
 .SH NAME
 groupadd \- Create a new group
-.SH SYNOPSIS
-.TP 6
-\fBgroupadd\fR [\fB\-g\fR \fIgid \fR[\fB\-o\fR]] [\fB\-f\fR] \fIgroup\fR
-.SH DESCRIPTION
-The \fBgroupadd\fR command creates a new group account using the values
-specified on the command line and the default values from the system. The
-new group will be entered into the system files as needed.
-.SH OPTIONS
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 9
+\fBgroupadd\fR [\-g\ \fIgid\fR\ [\-o]] [\-f] \fIgroup\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+The \fBgroupadd\fR command creates a new group account using the values specified on the command line and the default values from the system\&. The new group will be entered into the system files as needed\&.
+
+.SH "OPTIONS"
+
+.PP
 The options which apply to the \fBgroupadd\fR command are:
-.IP "\fB\-f\fR"
-This option causes to just exit with success status if the specified
-group already exists. With \fB\-g\fR, if specified gid already exists,
-other (unique) gid is chosen (i.e. \fB\-g\fR is turned off).
-.IP "\fB\-g\fR \fIgid\fR"
-The numerical value of the group's ID. This value must be unique, unless the
-\fB\-o\fR option is used. The value must be non\-negative. The default is to
-use the smallest ID value greater than 999 and greater than every other
-group. Values between 0 and 999 are typically reserved for system accounts.
-.SH FILES
-\fI/etc/group\fR       \- group account information
-.br
-\fI/etc/gshadow\fR     \- secure group account information
-.SH EXIT VALUES
-.TP 2
-The \fBgroupadd\fR command exits with the following values:
-.br
-\fB0\fR        \- success
-.br
-\fB2\fR        \- invalid command syntax
-.br
-\fB3\fR        \- invalid argument to option
-.br
-\fB4\fR        \- gid not unique (when \-o not used)
-.br
-\fB9\fR        \- group name not unique
-.br
-\fB10\fR       \- can't update group file
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR passwd (1),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+
+.TP
+\fB\-f\fR
+This option causes to just exit with success status if the specified group already exists\&. With \fB\-g\fR, if specified gid already exists, other (unique) gid is chosen (i\&.e\&. \fB\-g\fR is turned off)\&.
+
+.TP
+\fB\-g\fR \fIgid\fR
+The numerical value of the group's ID\&. This value must be unique, unless the \fB\-o\fR option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than 999 and greater than every other group\&. Values between 0 and 999 are typically reserved for system accounts\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/gshadow\fR
+secure group account information
+.SH "EXIT VALUES"
+
+.PP
+The \fBgroupadd\fR command exits with the following values: 
+
+.TP
+\fI0\fR
+success
+.TP
+\fI2\fR
+invalid command syntax
+.TP
+\fI3\fR
+invalid argument to option
+.TP
+\fI4\fR
+gid not unique (when \-o not used)
+.TP
+\fI9\fR
+group name not unique
+.TP
+\fI10\fR
+can't update group file 
+
+.SH "SEE ALSO"
+
+.PP
+\fBchfn\fR(1), \fBchsh\fR(1), \fBpasswd\fR(1), \fBgroupdel\fR(8), \fBgroupmod\fR(8), \fBuseradd\fR(8), \fBuserdel\fR(8), \fBusermod\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 59d269c4066cd0397ff3fecce18ddaed88528e28..ebeaa26e5838e6d5294e0cef99278f49c1254803 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groupadd.8'>
-  <!-- $Id: groupadd.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: groupadd.8.xml,v 1.8 2005/06/16 16:18:27 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groupadd</refentrytitle>
     <manvolnum>8</manvolnum>
   
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
-    <variablelist remap='TP'>
-      <varlistentry>
-        <term>
-          The <command>groupadd</command> command exits with the
-          following values:
-        </term>
-        <listitem>
-          <!-- .br -->
-          <para>
-            <literal>0</literal>       - success
-            <!-- .br -->
-            <literal>2</literal>       - invalid command syntax
-            <!-- .br -->
-            <literal>3</literal>       - invalid argument to option
-            <!-- .br -->
-            <literal>4</literal>       - gid not unique (when -o not
-            used)                        <!-- .br -->
-            <literal>9</literal>       - group name not unique
-            <!-- .br -->
-            <literal>10</literal>      - can't update group file
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+    <para>
+      The <command>groupadd</command> command exits with the following values:
+      <variablelist>
+        <varlistentry>
+          <term><replaceable>0</replaceable></term>
+          <listitem>success</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>2</replaceable></term>
+          <listitem>invalid command syntax</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>3</replaceable></term>
+          <listitem>invalid argument to option</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>4</replaceable></term>
+          <listitem>gid not unique (when -o not used)</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>9</replaceable></term>
+          <listitem>group name not unique</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>10</replaceable></term>
+          <listitem>can't update group file</listitem>
+        </varlistentry>
+      </variablelist>
+    </para>
   </refsect1>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index ee1412df7cdb10ea8fe582d6f9e722393ede8da0..7388630dd06c2ff9ef625664ad1b6b782c468644 100644 (file)
@@ -1,69 +1,79 @@
-.\"$Id: groupdel.8,v 1.14 2005/04/12 17:55:55 kloczek Exp $
-.\" Copyright 1991 - 1993, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH GROUPDEL 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GROUPDEL" 8 "" "" ""
 .SH NAME
 groupdel \- Delete a group
-.SH SYNOPSIS
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 9
 \fBgroupdel\fR \fIgroup\fR
-.SH DESCRIPTION
-The \fBgroupdel\fR command modifies the system account files, deleting all
-entries that refer to \fIgroup\fR. The named group must exist.
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
 .PP
-You must manually check all filesystems to insure that no files remain with
-the named group as the file group ID.
-.SH CAVEATS
-You may not remove the primary group of any existing user. You must remove
-the user before you remove the group.
-.SH FILES
-\fI/etc/group\fR       \- group account information
-.br
-\fI/etc/gshadow\fR     \- secure group information
-.SH EXIT VALUES
-.TP 2
-The \fBgroupdel\fR command exits with the following values:
-.br
-\fB0\fR        \- success
-.br
-\fB2\fR        \- invalid command syntax
-.br
-\fB6\fR        \- specified group doesn't exist
-.br
-\fB8\fR        \- can't remove user's primary group
-.br
-\fB10\fR       \- can't update group file
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR passwd (1),
-.BR groupadd (8),
-.BR groupmod (8),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+The \fBgroupdel\fR command modifies the system account files, deleting all entries that refer to \fIgroup\fR\&. The named group must exist\&.
+
+.PP
+You must manually check all filesystems to insure that no files remain with the named group as the file group ID\&.
+
+.SH "CAVEATS"
+
+.PP
+You may not remove the primary group of any existing user\&. You must remove the user before you remove the group\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/gshadow\fR
+secure group account information
+.SH "EXIT VALUES"
+
+.PP
+The \fBgroupdel\fR command exits with the following values: 
+
+.TP
+\fI0\fR
+success
+.TP
+\fI2\fR
+invalid command syntax
+.TP
+\fI8\fR
+can't remove user's primary group
+.TP
+\fI10\fR
+can't update group file 
+
+.SH "SEE ALSO"
+
+.PP
+\fBchfn\fR(1), \fBchsh\fR(1), \fBpasswd\fR(1), \fBgroupadd\fR(8), \fBgroupmod\fR(8), \fBuseradd\fR(8), \fBuserdel\fR(8), \fBusermod\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 6604c7822ac92afcc9e41991bffc663721c1adb8..25c0259e424299d50095e2bbabc947d766ad3c57 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groupdel.8'>
-  <!-- $Id: groupdel.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: groupdel.8.xml,v 1.7 2005/06/16 16:26:19 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groupdel</refentrytitle>
     <manvolnum>8</manvolnum>
       </varlistentry>
     </variablelist>
   </refsect1>
-  
+
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
-    <variablelist remap='TP'>
-      <varlistentry>
-        <term>
-          The <command>groupdel</command> command exits with the
-          following values:
-        </term>
-        <listitem>
-          <!-- .br -->
-          <para>
-            <literal>0</literal>       - success
-            <!-- .br -->
-            <literal>2</literal>       - invalid command syntax
-            <!-- .br -->
-            <literal>6</literal>       - specified group doesn't exist
-            <!-- .br -->
-            <literal>8</literal>       - can't remove user's primary
-            group                        <!-- .br -->
-            <literal>10</literal>      - can't update group file
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+    <para>
+      The <command>groupdel</command> command exits with the following values:
+      <variablelist>
+        <varlistentry>
+          <term><replaceable>0</replaceable></term>
+         <listitem>success</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>2</replaceable></term>
+         <listitem>invalid command syntax</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>8</replaceable></term>
+         <listitem>can't remove user's primary group</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>10</replaceable></term>
+         <listitem>can't update group file</listitem>
+       </varlistentry>
+      </variablelist>
+    </para>
   </refsect1>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 940c35a023236d782f892b22260f80f788c70aa8..f42eda4214a69e116f7d091840dd3cf1600764fc 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groupmems.8'>
-  <!-- $Id: groupmems.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: groupmems.8.xml,v 1.7 2005/06/15 12:39:27 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groupmems</refentrytitle>
     <manvolnum>8</manvolnum>
@@ -29,7 +29,7 @@
     <para>
       The <command>groupmems</command> utility allows a user to administer
       his/her own group membership list without the requirement of super
-      user privileges.  The <command>groupmems</command> utility is for
+      user privileges. The <command>groupmems</command> utility is for
       systems that configure its users to be in their own name sake primary
       group (i.e., guest / guest).
     </para>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 4ac44ec23d42327d587f16dbf3c2be6472ce100c..598b926f5994444d0e236f22927b22c9c76990d8 100644 (file)
@@ -1,77 +1,93 @@
-.\"$Id: groupmod.8,v 1.20 2005/04/12 17:55:55 kloczek Exp $
-.\" Copyright 1991, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH GROUPMOD 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GROUPMOD" 8 "" "" ""
 .SH NAME
 groupmod \- modify a group
-.SH SYNOPSIS
-\fBgroupmod\fR [\fB\-g\fR \fIgid\fR [\fB\-o\fR]] [\fB\-n\fR \fInew_group_name\fR]
-\fIgroup\fR
-.SH DESCRIPTION
-The \fBgroupmod\fR command modifies the system account files to reflect the
-changes that are specified on the command line.
-.SH OPTIONS
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 9
+\fBgroupmod\fR [\-g\ \fIgid\fR\ [\-o]] [\-n\ \fInew_group_name\fR] \fIgroup\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+The \fBgroupmod\fR command modifies the system account files to reflect the changes that are specified on the command line\&.
+
+.SH "OPTIONS"
+
+.PP
 The options which apply to the \fBgroupmod\fR command are:
-.IP "\fB\-g\fR \fIgid\fR"
-The numerical value of the group's ID. This value must be unique, unless the
-\fB\-o\fR option is used. The value must be non\-negative. Values between 0
-and 999 are typically reserved for system groups. Any files which the old
-group ID is the file group ID must have the file group ID changed manually.
-.IP "\fB\-n\fR \fInew_group_name\fR"
-The name of the group will be changed from \fIgroup\fR to \fInew_group_name\fR.
-.SH FILES
-\fI/etc/group\fR       \- group account information
-.br
-\fI/etc/gshadow\fR     \- secure group information
-.SH EXIT VALUES
-.TP 2
-The \fBgroupmod\fR command exits with the following values:
-.br
-\fB0\fR        \- success
-.br
-\fB2\fR        \- bad command syntax
-.br
-\fB3\fR        \- invalid argument to option
-.br
-\fB4\fR        \- gid already in use (and no \-o)
-.br
-\fB6\fR        \- specified group doesn't exist
-.br
-\fB9\fR        \- group name already in use
-.br
-\fB10\fR       \- can't update group file
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR passwd (1),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+
+.TP
+\fB\-g\fR \fIgid\fR
+The numerical value of the group's ID\&. This value must be unique, unless the \fB\-o\fR option is used\&. The value must be non\-negative\&. Values between 0 and 999 are typically reserved for system groups\&. Any files which the old group ID is the file group ID must have the file group ID changed manually\&.
+
+.TP
+\fB\-n\fR \fInew_group_name\fR
+The name of the group will be changed from \fIgroup\fR to \fInew_group_name\fR\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/gshadow\fR
+secure group account information
+.SH "EXIT VALUES"
+
+.PP
+The \fBgroupmod\fR command exits with the following values: 
+
+.TP
+\fI0\fR
+success
+.TP
+\fI2\fR
+invalid command syntax
+.TP
+\fI3\fR
+invalid argument to option
+.TP
+\fI4\fR
+specified group doesn't exist
+.TP
+\fI6\fR
+specified group doesn't exist
+.TP
+\fI9\fR
+group name already in use
+.TP
+\fI10\fR
+can't update group file 
+
+.SH "SEE ALSO"
+
+.PP
+\fBchfn\fR(1), \fBchsh\fR(1), \fBpasswd\fR(1), \fBgroupadd\fR(8), \fBgroupdel\fR(8), \fBuseradd\fR(8), \fBuserdel\fR(8), \fBusermod\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index ea0f383c51ddbc69767839fcabc1aa0ce689f160..3bc0bdad2356ea21314af326012cbfca6a57c75f 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groupmod.8'>
-  <!-- $Id: groupmod.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: groupmod.8.xml,v 1.7 2005/06/16 16:26:19 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groupmod</refentrytitle>
     <manvolnum>8</manvolnum>
   
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
-    <variablelist remap='TP'>
-      <varlistentry>
-        <term>
-          The <command>groupmod</command> command exits with the
-          following values:
-        </term>
-        <listitem>
-          <!-- .br -->
-          <para>
-            <literal>0</literal>       - success
-            <!-- .br -->
-            <literal>2</literal>       - bad command syntax
-            <!-- .br -->
-            <literal>3</literal>       - invalid argument to option
-            <!-- .br -->
-            <literal>4</literal>       - gid already in use (and no -o)
-            <!-- .br -->
-            <literal>6</literal>       - specified group doesn't exist
-            <!-- .br -->
-            <literal>9</literal>       - group name already in use
-            <!-- .br -->
-            <literal>10</literal>      - can't update group file
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+    <para>
+      The <command>groupmod</command> command exits with the following values:
+      <variablelist>
+        <varlistentry>
+          <term><replaceable>0</replaceable></term>
+         <listitem>success</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>2</replaceable></term>
+         <listitem>invalid command syntax</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>3</replaceable></term>
+         <listitem>invalid argument to option</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>4</replaceable></term>
+         <listitem>specified group doesn't exist</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>6</replaceable></term>
+         <listitem>specified group doesn't exist</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>9</replaceable></term>
+         <listitem>group name already in use</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>10</replaceable></term>
+         <listitem>can't update group file</listitem>
+       </varlistentry>
+      </variablelist>
+    </para>
   </refsect1>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index d1d01bed12e494c36b880414e53094f1ba65808f..76dc46b273fc940ca27c99b0ff6c4cf033093b6d 100644 (file)
@@ -1,52 +1,55 @@
-.\"$Id: groups.1,v 1.14 2005/04/12 17:55:55 kloczek Exp $
-.\" Copyright 1991 - 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH GROUPS 1
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GROUPS" 1 "" "" ""
 .SH NAME
 groups \- display current group names
-.SH SYNOPSIS
-\fBgroups\fR
-[\fIuser\fR]
-.SH DESCRIPTION
-\fBgroups\fR displays the current group names or ID values. If the value
-does not have a corresponding entry in \fI/etc/group\fR, the value will be
-displayed as the numerical group value. The optional \fIuser\fR parameter
-will display the groups for the named \fIuser\fR.
-.SH NOTE
-Systems which do not support concurrent group sets will have the information
-from \fI/etc/group\fR reported.
-The user must use \fBnewgrp\fR or \fBsg\fR to change their current real and
-effective group ID.
-.SH FILES
-\fI/etc/group\fR       \- group account information
-.SH SEE ALSO
-.BR newgrp (1),
-.BR getgid (2),
-.BR getgroups (2),
-.BR getuid (2)
-.SH AUTHOR
-Julianne Frances Haugh <jockgrrl@ix.netcom.com>
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 7
+\fBgroups\fR [\fIuser\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBgroups\fR displays the current group names or ID values\&. If the value does not have a corresponding entry in \fI/etc/group\fR, the value will be displayed as the numerical group value\&. The optional \fIuser\fR parameter will display the groups for the named \fIuser\fR\&.
+
+.SH "NOTE"
+
+.PP
+Systems which do not support concurrent group sets will have the information from \fI/etc/group\fR reported\&. The user must use \fBnewgrp\fR or \fBsg\fR to change their current real and effective group ID\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.SH "SEE ALSO"
+
+.PP
+\fBnewgrp\fR(1), \fBgetgid\fR(2), \fBgetgroups\fR(2), \fBgetuid\fR(2) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh <jockgrrl@ix\&.netcom\&.com>
+
index dc25c74e89f9b335eb6fa2e0d9e269cd741b26a3..3e0ac2bd65c6861436f8f40483e2244789e232a8 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='groups.1'>
-  <!-- $Id: groups.1.xml,v 1.7 2005/04/27 18:20:35 kloczek Exp $ -->
+  <!-- $Id: groups.1.xml,v 1.9 2005/06/14 20:18:17 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>groups</refentrytitle>
     <manvolnum>1</manvolnum>
@@ -24,8 +24,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>groups</command> displays the current group names or ID
+    <para><command>groups</command> displays the current group names or ID
       values. If the value does not have a corresponding entry in
       <filename>/etc/group</filename>, the value will be displayed as the
       numerical group value. The optional <emphasis
@@ -38,7 +37,7 @@
     <title>NOTE</title>
     <para>Systems which do not support concurrent group sets will have the
       information from <filename>/etc/group</filename> reported. The user
-      must use <command>newgrp</coamand> or <command>sg</coamand> to change
+      must use <command>newgrp</command> or <command>sg</command> to change
       their current real and effective group ID.
     </para>
   </refsect1>
@@ -55,8 +54,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 33274df29b7976d0b76c058d73cc5a4f45b8d8e8..47309ca2aa4b190a7a726cd62a34cbad0b0b018d 100644 (file)
-.\"$Id: grpck.8,v 1.17 2005/04/12 17:53:21 kloczek Exp $
-.\" Copyright 1992 - 1993, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH GRPCK 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GRPCK" 8 "" "" ""
 .SH NAME
 grpck \- verify integrity of group files
-.SH SYNOPSIS
-\fBgrpck\fR [\fB\-r\fR] [\fIgroup\fR \fIshadow\fR]
-.SH DESCRIPTION
-\fBgrpck\fR verifies the integrity of the system authentication information.
-All entries in the \fI/etc/group\fR and \fI/etc/gshadow\fR are checked to
-see that the entry has the proper format and valid data in each field. The
-user is prompted to delete entries that are improperly formatted or which
-have other incorrectable errors.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 6
+\fBgrpck\fR [\-r] [\fIgroup\fR\ \fIshadow\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBgrpck\fR verifies the integrity of the system authentication information\&. All entries in the \fI/etc/group\fR and \fI/etc/gshadow\fR are checked to see that the entry has the proper format and valid data in each field\&. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors\&.
+
 .PP
 Checks are made to verify that each entry has:
-.sp
-.in +.5i
-\- the correct number of fields
-.br
-\- a unique group name
-.br
-\- a valid list of members and administrators
-.in \-.5i
-.sp
+
+.TP 3
+\(bu
+the correct number of fields
+.TP
+\(bu
+a unique group name
+.TP
+\(bu
+a valid list of members and administrators
+.LP
+
 .PP
-The checks for correct number of fields and unique group name are fatal. If
-the entry has the wrong number of fields, the user will be prompted to
-delete the entire line. If the user does not answer affirmatively, all
-further checks are bypassed. An entry with a duplicated group name is
-prompted for deletion, but the remaining checks will still be made. All
-other errors are warnings and the user is encouraged to run the
-\fBgroupmod\fR command to correct the error.
+The checks for correct number of fields and unique group name are fatal\&. If the entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warnings and the user is encouraged to run the \fBgroupmod\fR command to correct the error\&.
+
 .PP
-The commands which operate on the \fI/etc/group\fR file are not able to
-alter corrupted or duplicated entries. \fBgrpck\fR should be used in those
-circumstances to remove the offending entry.
-.SH OPTIONS
-By default, \fBgrpck\fR operates on the files \fI/etc/group\fR and
-\fI/etc/gshadow\fR. The user may select alternate files with the \fIgroup\fR
-and \fIshadow\fR parameters. Additionally, the user may execute the command
-in read\-only mode by specifying the \fB\-r\fR flag. This causes all questions
-regarding changes to be answered \fBno\fR without user intervention.
-\fBgrpck\fR can also sort entries in \fI/etc/group\fR and \fI/etc/gshadow\fR
-by GID. To run it in sort mode pass it \fB\-s\fR flag. No checks are
-performed then, it just sorts.
-.SH FILES
-\fI/etc/group\fR       \- group account information
-.br
-\fI/etc/gshadow\fR     \- encrypted passwords and group administrator information
-.br
-\fI/etc/passwd\fR      \- user account information
-.SH SEE ALSO
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5),
-.BR groupmod (8)
-.SH EXIT VALUES
-.TP 2
-The \fBgrpck\fR command exits with the following values:
-.br
-\fB0\fR        \- success
-.br
-\fB1\fR        \- syntax Error
-.br
-\fB2\fR        \- one or more bad group entries
-.br
-\fB3\fR        \- can't open group files
-.br
-\fB4\fR        \- can't lock group files
-.br
-\fB5\fR        \- can't update group files
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+The commands which operate on the \fI/etc/group\fR file are not able to alter corrupted or duplicated entries\&. \fBgrpck\fR should be used in those circumstances to remove the offending entry\&.
+
+.SH "OPTIONS"
+
+.PP
+By default, \fBgrpck\fR operates on the files \fI/etc/group\fR and \fI/etc/gshadow\fR\&. The user may select alternate files with the \fIgroup\fR and \fIshadow\fR parameters\&. Additionally, the user may execute the command in read\-only mode by specifying the \fB\-r\fR flag\&. This causes all questions regarding changes to be answered \fIno\fR without user intervention\&. \fBgrpck\fR can also sort entries in \fI/etc/group\fR and \fI/etc/gshadow\fR by GID\&. To run it in sort mode pass it \fB\-s\fR flag\&. No checks are performed then, it just sorts\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/gshadow\fR
+secure group account information
+.TP
+\fI/etc/passwd\fR
+user account information
+.SH "SEE ALSO"
+
+.PP
+\fBgroup\fR(5), \fBpasswd\fR(5), \fBshadow\fR(5), \fBgroupmod\fR(8) 
+
+.SH "EXIT VALUES"
+
+.PP
+The \fBgrpck\fR command exits with the following values: 
+
+.TP
+\fI0\fR
+success
+.TP
+\fI1\fR
+invalid command syntax
+.TP
+\fI2\fR
+one or more bad group entries
+.TP
+\fI3\fR
+can't open group files
+.TP
+\fI4\fR
+can't lock group files
+.TP
+\fI5\fR
+can't update group files 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 534bacda2085e276851b5b7745f027ec97616bfb..2ade41f5e3bb5ecce0157f436b1f60e19128e606 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='grpck.8'>
-  <!-- $Id: grpck.8.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <!-- $Id: grpck.8.xml,v 1.9 2005/06/20 08:57:34 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>grpck</refentrytitle>
     <manvolnum>8</manvolnum>
       <filename>/etc/group</filename> and <filename>/etc/gshadow</filename>
       are checked to see that the entry has the proper format and valid data
       in each field. The user is prompted to delete entries that are
-      improperly formatted or which have other incorrectable errors.
+      improperly formatted or which have other uncorrectable errors.
     </para>
     
     <para>Checks are made to verify that each entry has:</para>
-    
-    <!-- .in +.5i -->
-    <para>- the correct number of fields
-      <!-- .br -->
-      - a unique group name
-      <!-- .br -->
-      - a valid list of members and administrators
-    </para>
-    <!-- .in \-.5i -->
+
+    <itemizedlist mark='bullet'>
+      <listitem>
+        <para>the correct number of fields</para>
+      </listitem>
+      <listitem>
+        <para>a unique group name</para>
+      </listitem>
+      <listitem>
+        <para>a valid list of members and administrators</para>
+      </listitem>
+    </itemizedlist>    
     
     <para>The checks for correct number of fields and unique group name are
       fatal. If the entry has the wrong number of fields, the user will be
@@ -50,7 +53,7 @@
       affirmatively, all further checks are bypassed. An entry with a
       duplicated group name is prompted for deletion, but the remaining
       checks will still be made. All other errors are warnings and the user
-      is encouraged to run the <command>groupmod</coamand> command to
+      is encouraged to run the <command>groupmod</command> command to
       correct the error.
     </para>
     
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
   
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
-    <variablelist remap='TP'>
-      <varlistentry>
-        <term>
-          The <command>grpck</command> command exits with the
-          following values:
-        </term>
-        <listitem>
-          <!-- .br -->
-          <para>
-            <literal>0</literal>       - success
-            <!-- .br -->
-            <literal>1</literal>       - syntax Error
-            <!-- .br -->
-            <literal>2</literal>       - one or more bad group entries
-            <!-- .br -->
-            <literal>3</literal>       - can't open group files
-            <!-- .br -->
-            <literal>4</literal>       - can't lock group files
-            <!-- .br -->
-            <literal>5</literal>       - can't update group files
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+    <para>
+      The <command>grpck</command> command exits with the following values:
+      <variablelist>
+        <varlistentry>
+          <term><replaceable>0</replaceable></term>
+         <listitem>success</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>1</replaceable></term>
+         <listitem>invalid command syntax</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>2</replaceable></term>
+         <listitem>one or more bad group entries</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>3</replaceable></term>
+         <listitem>can't open group files</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>4</replaceable></term>
+         <listitem>can't lock group files</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>5</replaceable></term>
+         <listitem>can't update group files</listitem>
+       </varlistentry>
+      </variablelist>
+    </para>
   </refsect1>
   
   <refsect1 id='author'>
index 686d5561f09dd2a68df49506d0600520d6aff50f..3b65c1bded13b8d185717851b2584ba64c91c6b9 100644 (file)
@@ -1,65 +1,68 @@
-.\"$Id: gshadow.5,v 1.2 2005/04/02 16:10:23 kloczek Exp $
-.\" Copyright 2005, Nicolas FRANCOIS
-.\" 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. Neither the name of Nicolas FRANCOIS nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY NICOLAS FRANCOIS 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 NICOLAS FRANCOIS 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.
-.TH GSHADOW 5
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GSHADOW" 5 "" "" ""
 .SH NAME
 gshadow \- shadowed group file
-.SH DESCRIPTION
-.I gshadow
-contains the shadowed information for group accounts.
-It contains lines with the folowing colon\-separated fields:
-.IP "" .5i
-Group name
-.IP "" .5i
-Encrypted password
-.IP "" .5i
-Comma\-separated list of group administrators
-.IP "" .5i
-Comma\-separated list of group members.
+.SH "DESCRIPTION"
+
 .PP
-The group name and password fields must be filled.
-The encryped password consists of 13 characters from the 64\-character
-alphabet a thru z, A thru Z, 0 thru 9, \. and /.
-Refer to \fBcrypt\fR(3) for details on how this string is interpreted.
-If the password field contains some string that is not valid result
-of \fBcrypt\fR(3), for instance ! or *, the user will not be able to use
-a unix password to log in, subject to \fBpam\fR(7).
+\fI/etc/gshadow\fR contains the shadowed information for group accounts\&. It contains lines with the following colon\-separated fields:
+
+.TP 3
+\(bu
+group name
+.TP
+\(bu
+encrypted password
+.TP
+\(bu
+comma\-separated list of group administrators
+.TP
+\(bu
+comma\-separated list of group members
+.LP
+
 .PP
-This information supercedes any password present in \fI/etc/group\fR.
+The group name and password fields must be filled\&. The encrypted password consists of 13 characters from the 64\-character alphabet a thru z, A thru Z, 0 thru 9, \\\&. and /\&. Refer to \fBcrypt\fR(3) for details on how this string is interpreted\&. If the password field contains some string that is not valid result of \fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in, subject to \fBpam\fR(7)\&.
+
+.PP
+This information supersedes any password present in \fI/etc/group\fR\&.
+
+.PP
+This file must not be readable by regular users if password security is to be maintained\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/gshadow\fR
+secure group account information
+.SH "SEE ALSO"
+
+.PP
+\fBgroup\fR(5), \fBgpasswd\fR(5), \fBnewgrp\fR(5) 
+
+.SH "AUTHOR"
+
 .PP
-This file must not be readable by regular users if password
-security is to be maintained.
-.SH FILES
-\fI/etc/group\fR       \- user group file
-.br
-\fI/etc/gshadow\fR     \- shadowed group file
-.SH SEE ALSO
-.BR group (5),
-.BR gpasswd (5),
-.BR newgrp (5)
-.SH AUTHOR
 Nicolas FRANCOIS
+
index 27814581fed00436b81f721542cb3de9f693d3ac..70b3dac2fe1cc1053a8917df0ba64ebb21e4d201 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='gshadow.5'>
-  <!-- $Id: gshadow.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: gshadow.5.xml,v 1.10 2005/06/16 17:35:43 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>gshadow</refentrytitle>
     <manvolnum>5</manvolnum>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <emphasis remap='I'>gshadow</emphasis> contains the shadowed
-      information for group accounts. It contains lines with the folowing
+    <para><filename>/etc/gshadow</filename> contains the shadowed
+      information for group accounts. It contains lines with the following
       colon-separated fields:
     </para>
+    <itemizedlist mark='bullet'>
+      <listitem>
+        <para>group name</para>
+      </listitem>    
+      <listitem>
+        <para>encrypted password</para>
+      </listitem>    
+      <listitem>
+        <para>comma-separated list of group administrators</para>
+      </listitem>    
+      <listitem>
+        <para>comma-separated list of group members</para>
+      </listitem>    
+    </itemizedlist>
     
-    <para>Group name</para>
-    
-    <para>Encrypted password</para>
-    
-    <para>Comma-separated list of group administrators</para>
-    
-    <para>Comma-separated list of group members.</para>
-    
-    <para>The group name and password fields must be filled.  The encryped
+    <para>The group name and password fields must be filled. The encrypted
       password consists of 13 characters from the 64-character alphabet a
-      thru z, A thru Z, 0 thru 9, \. and /.  Refer to <citerefentry>
-        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
-      </citerefentry> for details on how this string is interpreted.  If the
-      password field contains some string that is not valid result of
-      <citerefentry>
+      thru z, A thru Z, 0 thru 9, \. and /. Refer to <citerefentry>
       <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+      </citerefentry> for details on how this string is interpreted. If the
+      password field contains some string that is not valid result of
+      <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry>, for instance ! or *, the user will not be able to use
       a unix password to log in, subject to <citerefentry>
-        <refentrytitle>pam</refentrytitle><manvolnum>7</manvolnum>
-      </citerefentry>.
+      <refentrytitle>pam</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
     </para>
     
-    <para>This information supercedes any password present in
-    <filename>/etc/group</filename>.
+    <para>This information supersedes any password present in
+      <filename>/etc/group</filename>.
     </para>
     
     <para>This file must not be readable by regular users if password
@@ -67,8 +70,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
index fdc74be2a0aebbaeb32483a406a6bacfda1aa18c..db429b1d9f8b104eeac727f60d0bcdab35c86dbb 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/hu
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -196,9 +192,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/hu/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/hu/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/hu/Makefile
+         $(AUTOMAKE) --gnu  man/hu/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 77975cfbb3ccc40d1f34f4b50f4f1827c5e04802..da5fab31ebb68f922802a4d0978c7040b79f5fb2 100644 (file)
--- a/man/id.1
+++ b/man/id.1
@@ -1,48 +1,53 @@
-.\"$Id: id.1,v 1.16 2005/04/12 17:55:55 kloczek Exp $
-.\" Copyright 1991, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH ID 1
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "ID" 1 "" "" ""
 .SH NAME
 id \- Display current user and group ID names
-.SH SYNOPSIS
-\fBid\fR [\fB\-a\fR]
-.SH DESCRIPTION
-\fBid\fR displays the current real and effective user and group ID names or
-values. If the value does not have a corresponding entry in
-\fI/etc/passwd\fR or \fI/etc/group\fR, the value will be displayed without
-the corresponding name. The optional \fB\-a\fR flag will display the group
-set on systems which support multiple concurrent group membership.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/group\fR       \- group account information
-.SH SEE ALSO
-.BR getgid (2),
-.BR getgroups (2),
-.BR getuid (2)
-.SH AUTHOR
-Julianne Frances Haugh <jockgrrl@ix.netcom.com>
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 3
+\fBid\fR [\-a]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBid\fR displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in \fI/etc/passwd\fR or \fI/etc/group\fR, the value will be displayed without the corresponding name\&. The optional \fB\-a\fR flag will display the group set on systems which support multiple concurrent group membership\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/passwd\fR
+user account information
+.SH "SEE ALSO"
+
+.PP
+\fBgetgid\fR(2), \fBgetgroups\fR(2), \fBgetuid\fR(2) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh <jockgrrl@ix\&.netcom\&.com>
+
index 9590c3d354e4a3ff1df098e0cd9b27ae2729a7a7..704051ba6d85c867e2de90224dd5ae83625dc72a 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='id.1'>
-  <!-- $Id: id.1.xml,v 1.6 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: id.1.xml,v 1.8 2005/06/14 20:18:17 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>id</refentrytitle>
     <manvolnum>1</manvolnum>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>id</command> displays the current real and effective user and
-      group ID names or values. If the value does not have a corresponding
-      entry in <filename>/etc/passwd</filename> or
+    <para><command>id</command> displays the current real and effective user
+      and group ID names or values. If the value does not have a
+      corresponding entry in <filename>/etc/passwd</filename> or
       <filename>/etc/group</filename>, the value will be displayed without
       the corresponding name. The optional <option>-a</option> flag will
       display the group set on systems which support multiple concurrent
@@ -48,8 +47,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>getgid</refentrytitle><manvolnum>2</manvolnum>
       </citerefentry>,
       <citerefentry>
index f12b10e045420652c78cc78edcd48ac63ad18cca..bc3caa90cfe51d01cf7ecf09fd7f50b2a3590dd5 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/id
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -192,9 +188,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/id/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/id/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/id/Makefile
+         $(AUTOMAKE) --gnu  man/id/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 0ae783aec09d1eec21e8aa64d87b5d60a746bd73..6fb59570f42a00ca9fdcd5217cdc17f584bc3b02 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/it
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -212,9 +208,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/it/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/it/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/it/Makefile
+         $(AUTOMAKE) --gnu  man/it/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 87462022173b1d1060156e6e3067dee3fb070e3b..1fc6eab601b443d3b62421c4f8d966d44993896a 100644 (file)
@@ -23,7 +23,6 @@ man_MANS = \
        login.access.5 \
        login.defs.5 \
        logoutd.8 \
-       mkpasswd.8 \
        newgrp.1 \
        newusers.8 \
        passwd.1 \
index 6029d7b8ead31c62be0dd30a37f9d493e8d731a9..92b9e2a898a92a53540db382ce651b535f5f58b3 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/ja
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -198,7 +194,6 @@ man_MANS = \
        login.access.5 \
        login.defs.5 \
        logoutd.8 \
-       mkpasswd.8 \
        newgrp.1 \
        newusers.8 \
        passwd.1 \
@@ -236,9 +231,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/ja/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/ja/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/ja/Makefile
+         $(AUTOMAKE) --gnu  man/ja/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
diff --git a/man/ja/mkpasswd.8 b/man/ja/mkpasswd.8
deleted file mode 100644 (file)
index b393b26..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-.\"$Id: mkpasswd.8,v 1.6 2005/04/05 19:08:55 kloczek Exp $
-.\" Copyright 1991, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka
-.\"         all rights reserved.
-.\" Translated Fri Feb 14 23:06:00 JST 1997
-.\"         by Kazuyoshi Furutaka <furutaka@Flux.tokai.jaeri.go.jp>
-.\" Updated & Modified Sat 21 Sep 2002 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\"
-.TH MKPASSWD 8
-.SH Ì¾Á°
-mkpasswd \- passwd ¤È group ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë
-.SH ½ñ¼°
-\fBmkpasswd\fR [\fB\-fvgps\fR] \fIfile\fR
-.SH ÀâÌÀ
-.B mkpasswd
-¤Ï¥Õ¥é¥°¤ÇÍ¿¤¨¤é¤ì¤¿½ñ¼°¤Ë¤·¤¿¤¬¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¡¢
-¤½¤ì¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë·Á¼°¤ËÊÑ´¹¤¹¤ë¡£
-ºîÀ®¤µ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢
-¿¤¯¤Î¥æ¡¼¥¶¤¬¤¤¤ë¥·¥¹¥Æ¥à¤Ç¤Î¥¢¥¯¥»¥¹À­Ç½¤ò²þÁ±¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£
-½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï
-\fIfile\fR.dir ¤ª¤è¤Ó \fIfile\fR.pag¤È¤Ê¤ë¡£
-.PP
-\fB\-f\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢
-\fBmkpasswd\fR ¤Ï½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Æ¤â̵»ë¤·¤Æ¾å½ñ¤­¤¹¤ë¡£
-Ä̾ï¤Ï¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤¹¤ë»Ý¤Î·Ù¹ð¤òȯ¤·¤Æ½ªÎ»¤¹¤ë¡£
-.PP
-\fB\-v\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢
-\fBmkpasswd\fR ¤ÏÊÑ´¹¤ò¹Ô¤Ê¤¦Ëè¤Ë³Æ¥ì¥³¡¼¥É¤Î¾ðÊó¤ò½ÐÎϤ·¡¢
-ºÇ¸å¤Ë½ªÎ»¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
-.PP
-\fB\-g\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬ \fI/etc/group\fR
-¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ç¤¢¤ë¤È¤ß¤Ê¤·¤Æ½èÍý¤ò¹Ô¤Ê¤¦¡£
-\fB\-s\fR ¥ª¥×¥·¥ç¥ó¤ÈƱ»þ¤ËÍѤ¤¤¿¾ì¹ç¤Ï¡¢
-\fI/etc/gshadow\fR ¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤¬ÍѤ¤¤é¤ì¤ë¡£
-.PP
-\fB\-p\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬ \fB/etc/passwd\fR
-¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ç¤¢¤ë¤È¤ß¤Ê¤·¤Æ½èÍý¤ò¹Ô¤¦¡£
-¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¢¤ë¡£
-\fB\-s\fR ¥ª¥×¥·¥ç¥ó¤ÈƱ»þ¤ËÍѤ¤¤¿¾ì¹ç¤Ï¡¢
-\fI/etc/shadow\fR ¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤¬ÍѤ¤¤é¤ì¤ë¡£
-.SH ·Ù¹ð
-Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»È¤¨¤ë¤Î¤Ï¡¢
-NDBM ¥Ç¡¼¥¿¥Ù¡¼¥¹¥é¥¤¥Ö¥é¥ê¤òÈ÷¤¨¤¿¥·¥¹¥Æ¥à¤Î¤ß¤Ç¤¢¤ê¡¢
-¤É¤ó¤Ê¥·¥¹¥Æ¥à¤Ç¤â²Äǽ¤Ê¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
-.SH Ãí°Õ
-ÂçÄñ¤Î¥³¥Þ¥ó¥É¤ÏÊѹ¹¤ÎºÝ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ëµ¡Ç½¤òÈ÷¤¨¤Æ¤¤¤ë¤Î¤Ç¡¢
-¤³¤Î¥³¥Þ¥ó¥É¤¬É¬Íפˤʤë¤Î¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤ä¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬²õ¤ì¤¿¾ì¹ç¤Ê¤É¤Ë¡¢ºÆÀ¸À®¤¹¤ë¤È¤­¤À¤±¤Ç¤¢¤ë¡£
-.SH ¥Õ¥¡¥¤¥ë
-\fI/etc/passwd\fR \ \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó
-.br
-\fI/etc/shadow\fR \ \- shadow ²½¤µ¤ì¤¿¥æ¡¼¥¶¾ðÊó
-.br
-\fI/etc/group\fR \  \- ¥°¥ë¡¼¥×¾ðÊó
-.br
-\fI/etc/gshadow\fR \- shadow ²½¤µ¤ì¤¿¥°¥ë¡¼¥×¾ðÊó
-.SH ´ØÏ¢¹àÌÜ
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
-.SH Ãø¼Ô
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index c4e462002fbc68dc4b5d29133ae314c59bd9a8d5..924d4328ebac8c276291a2650ef54c1b7eaf2903 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/ko
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -195,9 +191,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/ko/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/ko/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/ko/Makefile
+         $(AUTOMAKE) --gnu  man/ko/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index d1142b41ebd53d133d7e61a98dc924d331636fa9..34a1aabc8d8ed26480864fc35b75c59b4583d932 100644 (file)
@@ -1,64 +1,73 @@
-.\"$Id: lastlog.8,v 1.21 2005/04/05 18:47:50 kloczek Exp $
-.\" Copyright 1992, Phillip Street and 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"    @(#)lastlog.8   3.3     08:24:58        29 Sep 1993 (National Guard Release)
-.TH LASTLOG 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "LASTLOG" 8 "" "" ""
 .SH NAME
 lastlog \- examine lastlog file
-.SH SYNOPSIS
-.TP 8
-\fBlastlog\fR [\fBoptions\fR]
-.SH DESCRIPTION
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 8
+\fBlastlog\fR [\fIoptions\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
 .PP
-\fBlastlog\fR formats and prints the contents of the last login log
-\fI/var/log/lastlog\fR file. The \fBlogin\-name\fR, \fBport\fR, and \fBlast
-login time\fR will be printed. The default (no flags) causes lastlog entries
-to be printed, sorted by their order in \fB/etc/passwd\fR.
-.SH OPTIONS
+\fBlastlog\fR formats and prints the contents of the last login log \fI/var/log/lastlog\fR file\&. The \fI login\-name\fR, \fIport\fR, and \fIlast login time\fR will be printed\&. The default (no flags) causes lastlog entries to be printed, sorted by their order in \fI/etc/passwd\fR\&.
+
+.SH "OPTIONS"
+
 .TP
 The options which apply to the \fBlastlog\fR command are:
-.IP "\fB\-h\fR, \fB\-\-help\fR"
-Print help message and exit.
-.IP "\fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR"
-Print the lastlog records more recent than \fIDAYS\fR.
-.IP "\fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR"
-Print the lastlog record for user with specified \fILOGIN\fR only.
 .TP
-The \fB\-t\fR flag overrides the use of \fB\-u\fR.
+\fB\-h\fR, \fB\-\-help\fR
+Print help message and exit\&.
+
+.TP
+\fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR
+Print the lastlog records more recent than \fIDAYS\fR\&.
+
+.TP
+\fB\-u\fR, \fB\-\-user\fR \fILOGIN\fR
+Print the lastlog record for user with specified \fILOGIN\fR only\&.
+
+.TP
+The \fB\-t\fR flag overrides the use of \fB\-u\fR\&.
+
+
 .PP
-If the user has never logged in the message \fB"**Never logged in**"\fR will
-be displayed instead of the port and time.
-.SH FILES
-\fI/var/log/lastlog\fR \- lastlog logging file
-.SH CAVEATS
-Large gaps in uid numbers will cause the lastlog program to run longer with
-no output to the screen (i.e. if mmdf=800 and last uid=170, program will
-appear to hang as it processes uid 171\-799).
-.SH AUTHORS
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
-.br
-Phillip Street
+If the user has never logged in the message \fI **Never logged in**\fR will be displayed instead of the port and time\&.
+
+.SH "FILES"
+
+.TP
+\fI/var/log/lastlog\fR
+lastlog logging file
+.SH "CAVEATS"
+
+.PP
+Large gaps in uid numbers will cause the lastlog program to run longer with no output to the screen (i\&.e\&. if mmdf=800 and last uid=170, program will appear to hang as it processes uid 171\-799)\&.
+
+.SH "AUTHORS"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com) Phillip Street
+
index d870eb4897603605941b05400eeb7ca67a4d1495..ccc0a3749162e85b7f3c9ee14b38b348ba24bf5a 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='lastlog.8'>
-  <!-- $Id: lastlog.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: lastlog.8.xml,v 1.6 2005/06/14 16:54:20 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>lastlog</refentrytitle>
     <manvolnum>8</manvolnum>
@@ -23,8 +23,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>lastlog</command> formats and prints the contents of the last
+    <para><command>lastlog</command> formats and prints the contents of the last
       login log <filename>/var/log/lastlog</filename> file. The <emphasis
       remap='B'> login-name</emphasis>, <emphasis remap='B'>port</emphasis>,
       and <emphasis remap='B'>last login time</emphasis> will be printed.
       </varlistentry>
       <varlistentry>
         <term>
-          <option>-t</option>, <option>--time</option> <replaceable>
-            DAYS
-          </replaceable>
+          <option>-t</option>, <option>--time</option>
+         <replaceable>DAYS</replaceable>
         </term>
         <listitem>
           <para>
-            Print the lastlog records more recent than <emphasis remap='I'>
-              DAYS
-            </emphasis>
-            .
+            Print the lastlog records more recent than
+           <emphasis remap='I'>DAYS</emphasis>.
           </para>
         </listitem>
       </varlistentry>
       <varlistentry>
         <term>
-          <option>-u</option>, <option>--user</option> <replaceable>
-            LOGIN
-          </replaceable>
+          <option>-u</option>, <option>--user</option>
+         <replaceable>LOGIN</replaceable>
         </term>
         <listitem>
-          <para> Print the lastlog record for user with specified <emphasis
-            remap='I'> LOGIN</emphasis>only.
+          <para>Print the lastlog record for user with specified
+           <emphasis remap='I'>LOGIN</emphasis> only.
           </para>
         </listitem>
       </varlistentry>
           The <option>-t</option> flag overrides the use of <option>-u</option>.
         </term>
         <listitem>
-          <para></para> <!-- FIXME: blank list item -->
+          <para></para>
         </listitem>
       </varlistentry>
     </variablelist>
     
-    <para> If the user has never logged in the message <emphasis
-      remap='B'>"**Never logged in**" </emphasis> will be displayed instead
-      of the port and time.
+    <para>If the user has never logged in the message <emphasis remap='B'>
+      **Never logged in**</emphasis> will be displayed instead of the port and
+      time.
     </para>
   </refsect1>
   
   <refsect1 id='authors'>
     <title>AUTHORS</title>
     <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)
-      <!-- .br -->
       Phillip Street
     </para>
   </refsect1>
index f67ce94bd6f140a18a88d38e7997c70b582367a7..84b4fd8ff99b00c021340993aa502b6d1636ff5d 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='limits5'>
-  <!-- $Id: limits.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: limits.5.xml,v 1.6 2005/06/14 20:18:17 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>LIMITS</refentrytitle>
     <manvolnum>5</manvolnum>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index eec9b6fce9fdd776fcd93ff787516ed956319fd3..2dbe82d6caa880fb22c10e8d0246d37f37d51e97 100644 (file)
-.\" $Id: login.1,v 1.24 2005/04/26 12:38:53 kloczek Exp $
-.\" Copyright 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH LOGIN 1
-.SH NAME
-login \- begin session on the system
-.SH SYNOPSIS
-\fBlogin\fR [\fB\-p\fR] [\fIusername\fR] [\fIENV=VAR\fR ...]
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
 .br
-\fBlogin\fR [\fB\-p\fR] [\fB\-h\fR \fIhost\fR] [\fB\-f\fR \fIusername\fR]
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
 .br
-\fBlogin\fR [\fB\-p\fR] \fB\-r\fR \fIhost\fR
-.SH DESCRIPTION
-\fBlogin\fR is used to establish a new session with the system. It is
-normally invoked automatically by responding to the \fIlogin:\fR prompt on
-the user\'s terminal. \fBlogin\fR may be special to the shell and may not be
-invoked as a sub\-process. Typically, \fBlogin\fR is treated by the shell as
-\fBexec login\fR which causes the user to exit from the current shell.
-Attempting to execute \fBlogin\fR from any shell but the login shell will
-produce an error message.
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "LOGIN" 1 "" "" ""
+.SH NAME
+login \- begin session on the system
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 6
+\fBlogin\fR [\-p] [\fIusername\fR] [\fIENV=VAR\fR...]
+.ad
+.hy
+.ad l
+.hy 0
+.HP 6
+\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\-f\ \fIusername\fR]
+.ad
+.hy
+.ad l
+.hy 0
+.HP 6
+\fBlogin\fR [\-p] \-r\ \fIhost\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
 .PP
-The user is then prompted for a password, where appropriate. Echoing is
-disabled to prevent revealing the password. Only a small number of password
-failures are permitted before \fBlogin\fR exits and the communications link
-is severed.
+\fBlogin\fR is used to establish a new session with the system\&. It is normally invoked automatically by responding to the \fIlogin:\fR prompt on the user´s terminal\&. \fBlogin\fR may be special to the shell and may not be invoked as a sub\-process\&. Typically, \fBlogin\fR is treated by the shell as \fIexec login\fR which causes the user to exit from the current shell\&. Attempting to execute \fBlogin\fR from any shell but the login shell will produce an error message\&.
+
 .PP
-If password aging has been enabled for your account, you may be prompted for
-a new password before proceeding. You will be forced to provide your old
-password and the new password before continuing. Please refer to
-\fBpasswd\fR(1) for more information.
+The user is then prompted for a password, where appropriate\&. Echoing is disabled to prevent revealing the password\&. Only a small number of password failures are permitted before \fBlogin\fR exits and the communications link is severed\&.
+
 .PP
+If password aging has been enabled for your account, you may be prompted for a new password before proceeding\&. You will be forced to provide your old password and the new password before continuing\&. Please refer to \fBpasswd\fR(1) for more information\&.
 
-After a successful login, you will be informed of any system messages and
-the presence of mail. You may turn off the printing of the system message
-file, \fI/etc/motd\fR, by creating a zero\-length file \fI.hushlogin\fR in
-your login directory. The mail message will be one of "\fBYou have new
-mail.\fR", "\fBYou have mail.\fR", or "\fBNo Mail.\fR" according to the
-condition of your mailbox.
+.PP
+After a successful login, you will be informed of any system messages and the presence of mail\&. You may turn off the printing of the system message file, \fI/etc/motd\fR, by creating a zero\-length file \&.hushlogin in your login directory\&. The mail message will be one of "\fIYou have new mail\&.\fR ", "\fIYou have mail\&.\fR", or "\fINo Mail\&.\fR "according to the condition of your mailbox\&.
 
 .PP
-Your user and group ID will be set according to their values in
-the \fI/etc/passwd\fR file.
-The value for \fB$HOME\fR, \fB$SHELL\fR, \fB$PATH\fR, \fB$LOGNAME\fR,
-and \fB$MAIL\fR are set according to the appropriate fields in the
-password entry.
-Ulimit, umask and nice values may also be set according to
-entries in the GECOS field.
+Your user and group ID will be set according to their values in the \fI/etc/passwd\fR file\&. The value for \fI$HOME\fR, \fI$SHELL\fR, \fI$PATH\fR, \fI$LOGNAME\fR, and \fI$MAIL\fR are set according to the appropriate fields in the password entry\&. Ulimit, umask and nice values may also be set according to entries in the GECOS field\&.
+
 .PP
-On some installations, the environmental variable \fB$TERM\fR will be
-initialized to the terminal type on your tty line, as specified in
-\fI/etc/ttytype\fR.
+On some installations, the environmental variable \fI$TERM\fR will be initialized to the terminal type on your tty line, as specified in \fI/etc/ttytype\fR\&.
+
 .PP
-An initialization script for your command interpreter may also be
-executed.
-Please see the appropriate manual section for more information on
-this function.
+An initialization script for your command interpreter may also be executed\&. Please see the appropriate manual section for more information on this function\&.
+
 .PP
-A subsystem login is indicated by the presence of a "*" as the first
-character of the login shell. The given home directory will be used as
-the root of a new file system which the user is actually logged into.
-.SH OPTIONS
-.IP "\fB\-f\fR"
-Do not perform authentication, user is preauthenticated.
-.IP "\fB\-h\fR"
-Name of the remote host for this login.
-.IP "\fB\-p\fR"
-Preserve environment.
-.IP "\fB\-r\fR"
-Perform autologin protocol for rlogin.
+A subsystem login is indicated by the presence of a "*" as the first character of the login shell\&. The given home directory will be used as the root of a new file system which the user is actually logged into\&.
+
+.SH "OPTIONS"
+
+.TP
+\fB\-f\fR
+Do not perform authentication, user is preauthenticated\&.
+
+.TP
+\fB\-h\fR
+Name of the remote host for this login\&.
+
+.TP
+\fB\-p\fR
+Preserve environment\&.
+
+.TP
+\fB\-r\fR
+Perform autologin protocol for rlogin\&.
+
 .PP
-The \fB\-r\fP, \fB\-h\fP and \fB\-f\fP options are only used when \fBlogin\fP is
-invoked by root.
-.SH CAVEATS
-This version of \fBlogin\fR has many compilation options, only some of which
-may be in use at any particular site.
+The \fB\-r\fR, \fB\-h\fR and \fB\-f\fR options are only used when \fBlogin\fR is invoked by root\&.
+
+.SH "CAVEATS"
+
 .PP
-The location of files is subject to differences in system configuration.
-.SH FILES
-\fI/var/run/utmp\fR            \- list of current login sessions
-.br
-\fI/var/log/wtmp\fR            \- list of previous login sessions
-.br
-\fI/etc/passwd\fR              \- user account information
-.br
-\fI/etc/shadow\fR              \- secure user account information
-.br
-\fI/etc/motd\fR                        \- system message file
-.br
-\fI/etc/nologin\fR             \- prevent non\-root users from logging in
-.br
-\fI/etc/ttytype\fR             \- list of terminal types
-.br
-\fI$HOME/.hushlogin\fR \- suppress printing of system messages
-.SH SEE ALSO
-.BR mail (1),
-.BR passwd (1),
-.BR sh (1),
-.BR su (1),
-.BR login.defs (5),
-.BR nologin (5),
-.BR passwd (5),
-.BR getty (8)
-.SH AUTHOR
-Julianne Frances Haugh <jockgrrl@ix.netcom.com>
+This version of \fBlogin\fR has many compilation options, only some of which may be in use at any particular site\&.
+
+.PP
+The location of files is subject to differences in system configuration\&.
+
+.SH "FILES"
+
+.TP
+\fI/var/run/utmp\fR
+list of current login sessions
+.TP
+\fI/var/log/wtmp\fR
+list of previous login sessions
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.TP
+\fI/etc/motd\fR
+system message of the day file
+.TP
+\fI/etc/nologin\fR
+prevent non\-root users from logging in
+.TP
+\fI/etc/ttytype\fR
+list of terminal types
+.TP
+\fI$HOME/\&.hushlogin\fR
+suppress printing of system messages
+.SH "SEE ALSO"
+
+.PP
+\fBmail\fR(1), \fBpasswd\fR(1), \fBsh\fR(1), \fBsu\fR(1), \fBlogin\&.defs\fR(5), \fBnologin\fR(5), \fBpasswd\fR(5), \fBgetty\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh <jockgrrl@ix\&.netcom\&.com>
+
index e4d12e2705360045a7591ceb3d93b38b162631df..196480d31f03f82bf47590d13b92ae819be1a65c 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='login.1'>
-  <!--  $Id: login.1.xml,v 1.6 2005/04/26 12:45:50 kloczek Exp $ -->
+  <!--  $Id: login.1.xml,v 1.9 2005/06/15 12:39:27 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>LOGIN</refentrytitle>
     <manvolnum>1</manvolnum>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>login</command> is used to establish a new session with the
+    <para><command>login</command> is used to establish a new session with the
       system. It is normally invoked automatically by responding to the
       <emphasis remap='I'>login:</emphasis> prompt on the user&acute;s
       terminal. <command>login</command> may be special to the shell and may
       not be invoked as a sub-process. Typically, <command>login</command>
       is treated by the shell as <emphasis remap='B'>exec login</emphasis>
-      which causes the user to exit from the current shell.  Attempting to
+      which causes the user to exit from the current shell. Attempting to
       execute <command>login</command> from any shell but the login shell
       will produce an error message.
     </para>
   
   <refsect1 id='files'>
     <title>FILES</title>
-    <para>
-      <filename>/var/run/utmp</filename>               - list of current login
-      sessions            <!-- .br -->
-      <filename>/var/log/wtmp</filename>               - list of previous login
-      sessions
-      <!-- .br -->
-      <filename>/etc/passwd</filename>         - user account information
-      <!-- .br -->
-      <filename>/etc/shadow</filename>         - secure user account information
-      <!-- .br -->
-      <filename>/etc/motd</filename>                   - system message file
-      <!-- .br -->
-      <filename>/etc/nologin</filename>                - prevent non-root users from
-      logging in
-      <!-- .br -->
-      <filename>/etc/ttytype</filename>                - list of terminal types
-      <!-- .br -->
-      <emphasis remap='I'>$HOME/.hushlogin</emphasis>  - suppress printing
-      of system messages
-    </para>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/var/run/utmp</filename></term>
+        <listitem>list of current login sessions</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/var/log/wtmp</filename></term>
+        <listitem>list of previous login sessions</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/motd</filename></term>
+        <listitem>system message of the day file</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/nologin</filename></term>
+        <listitem>prevent non-root users from logging in</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/ttytype</filename></term>
+        <listitem>list of terminal types</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>$HOME/.hushlogin</filename></term>
+        <listitem>suppress printing of system messages</listitem>
+      </varlistentry>
+    </variablelist>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>mail</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index b851707c9c6eaac18e6f6064e058972c4a2e086b..d3d9cf2c428177d06a544febcdada1c29b93712e 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='loginaccess5'>
-  <!-- $Id: login.access.5.xml,v 1.4 2005/04/22 07:00:57 kloczek Exp $ -->
+  <!-- $Id: login.access.5.xml,v 1.5 2005/06/14 20:18:17 kloczek Exp $ -->
   <!--  this is comment -->
   <refmeta>
     <refentrytitle>LOGIN.ACCESS</refentrytitle>
@@ -90,8 +90,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>
     </para>
index 1cb16f912c533392e12a294d72de2ca0d69906ed..d0e1a9dc65dad76aa149bf8528d6b95f3be801b5 100644 (file)
-.\" $Id: login.defs.5,v 1.17 2005/04/26 12:16:36 kloczek Exp $
-.\" Copyright 1991 - 1993, Julianne Frances Haugh and Chip Rosenthal
-.\" 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH LOGIN.DEFS 5
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "LOGIN.DEFS" 5 "" "" ""
 .SH NAME
-/etc/login.defs \- shadow password suite configuration
-.SH DESCRIPTION
-The
-\fI/etc/login.defs\fR file defines the site\-specific configuration for the
-shadow password suite. This file is required. Absence of this file will
-not prevent system operation, but will probably result in undesirable
-operation.
+login.defs \- shadow password suite configuration
+.SH "DESCRIPTION"
+
 .PP
-This file is a readable text file, each line of the file describing one
-configuration parameter. The lines consist of a configuration name and
-value, separated by whitespace. Blank lines and comment lines are ignored. 
-Comments are introduced with a `#' pound sign and the pound sign must be the
-first non\-white character of the line.
+The \fI/etc/login\&.defs\fR file defines the site\-specific configuration for the shadow password suite\&. This file is required\&. Absence of this file will not prevent system operation, but will probably result in undesirable operation\&.
+
 .PP
-Parameter values may be of four types:  strings, booleans, numbers, and long
-numbers. A string is comprised of any printable characters. A boolean should
-be either the value ``yes'' or ``no''. An undefined boolean parameter or one
-with a value other than these will be given a ``no'' value. Numbers (both
-regular and long) may be either decimal values, octal values (precede the
-value with ``0'') or hexadecimal values (precede the value with ``0x''). 
-The maximum value of the regular and long numeric parameters is
-machine\-dependent.
+This file is a readable text file, each line of the file describing one configuration parameter\&. The lines consist of a configuration name and value, separated by whitespace\&. Blank lines and comment lines are ignored\&. Comments are introduced with a `#' pound sign and the pound sign must be the first non\-white character of the line\&.
+
+.PP
+Parameter values may be of four types: strings, booleans, numbers, and long numbers\&. A string is comprised of any printable characters\&. A boolean should be either the value &#8220;yes&#8221; or &#8220;no&#8221;\&. An undefined boolean parameter or one with a value other than these will be given a &#8220;no&#8221; value\&. Numbers (both regular and long) may be either decimal values, octal values (precede the value with &#8220;0&#8221;) or hexadecimal values (precede the value with &#8220;0x&#8221;)\&. The maximum value of the regular and long numeric parameters is machine\-dependent\&.
+
 .PP
 The following configuration items are provided:
-.\"
-.IP "CHFN_AUTH (boolean)"
-If \fIyes\fR, the \fBchfn\fR and \fBchsh\fR programs will require
-authentication before making any changes, unless run by the superuser.
-.\"
-.IP "CHFN_RESTRICT (string)"
-This parameter specifies which values in the \fIgecos\fR field of the
-\fI/etc/passwd\fR file may be changed by regular users using the \fBchfn\fR
-program. It can be any combination of letters \fIf\fR, \fIr\fR, \fIw\fR,
-\fIh\fR, for Full name, Room number, Work phone, and Home phone,
-respectively. For backward compatibility, "yes" is equivalent to "rwh" and
-"no" is equivalent to "frwh". If not specified, only the superuser can make
-any changes. The most restrictive setting is better achieved by not
-installing chfn SUID.
-.\"
-.IP "CREATE_HOME (boolean)"
-This defines whether useradd should create home directories for users by
-default. This option is OR'ed with the \fI\-m\fR flag on useradd command line.
-.\"
-.IP "GID_MAX (number)"
-.IP "GID_MIN (number)"
-Range of group IDs to choose from for the \fBuseradd\fR and \fBgroupadd\fR
-programs.
-.\"
-.IP "MAIL_DIR (string)"
-The mail spool directory. This is needed to manipulate the mailbox when its
-corresponding user account is modified or deleted. If not specified, a
-compile\-time default is used.
-.\"
-.IP "PASS_MAX_DAYS (number)"
-The maximum number of days a password may be used. If the password is older
-than this, a password change will be forced. If not specified, \-1 will be
-assumed (which disables the restriction).
-.IP "PASS_MIN_DAYS (number)"
-The minimum number of days allowed between password changes. Any password
-changes attempted sooner than this will be rejected. If not specified, \-1
-will be assumed (which disables the restriction).
-.IP "PASS_WARN_AGE (number)"
-The number of days warning given before a password expires. A zero means
-warning is given only upon the day of expiration, a negative value means no
-warning is given. If not specified, no warning will be provided.
+
+.TP
+CHFN_AUTH (boolean)
+If \fIyes\fR, the \fBchfn\fR and \fBchsh\fR programs will require authentication before making any changes, unless run by the superuser\&.
+
+.TP
+CHFN_RESTRICT (string)
+This parameter specifies which values in the \fIgecos\fR field of the \fI/etc/passwd\fR file may be changed by regular users using the \fBchfn\fR program\&. It can be any combination of letters \fIf\fR ,\fIr\fR, \fIw\fR, \fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility, "yes" is equivalent to "rwh" and "no" is equivalent to "frwh"\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing chfn SUID\&.
+
+.TP
+CREATE_HOME (boolean)
+This defines whether useradd should create home directories for users by default\&. This option is OR'ed with the \fB\-m\fR flag on useradd command line\&.
+
+.TP
+GID_MAX (number), GID_MIN (number)
+Range of group IDs to choose from for the \fBuseradd\fR and \fBgroupadd\fRprograms\&.
+
+.TP
+MAIL_DIR (string)
+The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&.
+
+.TP
+PASS_MAX_DAYS (number)
+The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&.
+
+.TP
+PASS_MIN_DAYS (number)
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, \-1 will be assumed (which disables the restriction)\&.
+
+.TP
+PASS_WARN_AGE (number)
+The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a negative value means no warning is given\&. If not specified, no warning will be provided\&.
+
+.PP
+PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at the time of account creation\&. Any changes to these settings won't affect existing accounts\&.
+
+.TP
+UID_MAX (number), UID_MIN (number)
+Range of user IDs to choose from for the \fBuseradd\fR program\&.
+
+.TP
+UMASK (number)
+The permission mask is initialized to this value\&. If not specified, the permission mask will be initialized to 077\&.
+
+.TP
+USERDEL_CMD (string)
+If defined, this command is run when removing a user\&. It should remove any at/cron/print jobs etc\&. owned by the user to be removed (passed as the first argument)\&.
+
+.SH "CROSS REFERENCE"
+
 .PP
-PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE
-are only used at the time of account creation. Any changes to these
-settings won't affect existing accounts.
-.\"
-.IP "UID_MAX (number)"
-.IP "UID_MIN (number)"
-Range of user IDs to choose from for the \fBuseradd\fR program.
-.\"
-.IP "UMASK (number)"
-The permission mask is initialized to this value. If not specified,
-the permission mask will be initialized to 077.
-.\"
-.IP "USERDEL_CMD (string)"
-If defined, this command is run when removing a user.
-It should remove any at/cron/print jobs etc. owned by
-the user to be removed (passed as the first argument).
-.\"
-.SH CROSS REFERENCE
-The following cross reference shows which programs in the shadow password
-suite use which parameters.
-.na
-.IP chfn 12
+The following cross reference shows which programs in the shadow password suite use which parameters\&.
+
+.TP
+chfn
 CHFN_AUTH CHFN_RESTRICT
-.IP chsh 12
+
+.TP
+chsh
 CHFN_AUTH
-.IP groupadd 12
-GID_MAX GID_MIN
-.IP newusers 12
-PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
-UMASK
-.IP pwconv 12
-PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
-.IP useradd 12
-CREATE_HOME
+
+.TP
+groupadd
 GID_MAX GID_MIN
+
+.TP
+newusers
+PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK
+
+.TP
+pwconv
 PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
-UID_MAX UID_MIN
-UMASK
-.IP userdel 12
+
+.TP
+useradd
+CREATE_HOME GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN UMASK
+
+.TP
+userdel
+MAIL_DIR USERDEL_CMD
+
+.TP
+usermod
 MAIL_DIR
-USERDEL_CMD
-.IP usermod 12
-MAIL_DIR
-.ad
-.SH BUGS
-Much of the functionality that used to be provided by the shadow password
-suite is now handled by PAM. Thus, \fI/etc/login.defs\fR is no longer used
-by programs such as
-.BR login (1),
-.BR passwd (1)
-and
-.BR su (1).
-Please refer to the corresponding PAM configuration files instead.
-.SH SEE ALSO
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR passwd (5),
-.BR shadow (5),
-.BR pam (8)
-.SH AUTHORS
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
-.br
-Chip Rosenthal (chip@unicom.com)
+
+.SH "BUGS"
+
+.PP
+Much of the functionality that used to be provided by the shadow password suite is now handled by PAM\&. Thus, \fI/etc/login\&.defs\fR is no longer used by programs such as: \fBlogin\fR(1), \fBpasswd\fR(1), \fBsu\fR(1)\&. Please refer to the corresponding PAM configuration files instead\&.
+
+.SH "SEE ALSO"
+
+.PP
+\fBlogin\fR(1), \fBpasswd\fR(1), \fBsu\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBpam\fR(8) 
+
+.SH "AUTHORS"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com) Chip Rosenthal (chip@unicom\&.com)
+
index aa156211c1c31c046c09bf4e8d8b41d2023d0e77..897cbc021c79f07dd09e25c7dcbbecd975f620c2 100644 (file)
@@ -2,13 +2,13 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='login.defs.5'>
-  <!--  $Id: login.defs.5.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <!--  $Id: login.defs.5.xml,v 1.8 2005/06/15 12:39:27 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>login.defs</refentrytitle>
     <manvolnum>5</manvolnum>
   </refmeta>
   <refnamediv id='name'>
-    <refname>/etc/login.defs</refname>
+    <refname>login.defs</refname>
     <refpurpose>shadow password suite configuration</refpurpose>
   </refnamediv>
   
@@ -35,7 +35,7 @@
       other than these will be given a &ldquo;no&rdquo; value. Numbers (both
       regular and long) may be either decimal values, octal values (precede
       the value with &ldquo;0&rdquo;) or hexadecimal values (precede the
-      value with &ldquo;0x&rdquo;).  The maximum value of the regular and
+      value with &ldquo;0x&rdquo;). The maximum value of the regular and
       long numeric parameters is machine-dependent.
     </para>
     
@@ -46,7 +46,7 @@
         <term>CHFN_AUTH (boolean)</term>
         <listitem>
           <para> If <emphasis remap='I'>yes</emphasis>, the
-            <command>chfn</coamand> and <command>chsh</coamand> programs
+            <command>chfn</command> and <command>chsh</command> programs
             will require authentication before making any changes, unless
             run by the superuser.
           </para>
@@ -85,8 +85,8 @@
         <listitem>
           <para>
             Range of group IDs to choose from for the
-            <command>useradd</coamand> and
-            <command>groupadd</coamand>programs.
+            <command>useradd</command> and
+            <command>groupadd</command>programs.
           </para>
         </listitem>
       </varlistentry>
         <listitem>
           <para>
             Range of user IDs to choose from for the
-            <command>useradd</coamand> program.
+            <command>useradd</command> program.
           </para>
         </listitem>
       </varlistentry>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 88ea7e7face019cb473a5b339942cd59104f6351..890ecb08bd320f8f85f82acf050deb1a80a840a1 100644 (file)
@@ -2,33 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='logoutd8'>
-  <!-- $Id: logoutd.8.xml,v 1.4 2005/04/22 07:00:57 kloczek Exp $ -->
-  <!--  Copyright 1991, 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. Neither the name of Julianne F. Haugh nor the names of its contributors -->
-  <!--     may be used to endorse or promote products derived from this software -->
-  <!--     without specific prior written permission. -->
-  
-  <!--  THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -->
-  <!--  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -->
-  <!--  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -->
-  <!--  ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -->
-  <!--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -->
-  <!--  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -->
-  <!--  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -->
-  <!--  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -->
-  <!--  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -->
-  <!--  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -->
-  <!--  SUCH DAMAGE. -->
+  <!-- $Id: logoutd.8.xml,v 1.6 2005/06/15 12:39:27 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>LOGOUTD</refentrytitle>
     <manvolnum>8</manvolnum>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>logoutd</command> enforces the login time and port
-      restrictions specified in
-      <filename>/etc/porttime</filename>. <command>logoutd</command>
-      should be started from <filename>/etc/rc</filename>.
-      The <filename>/var/run/utmp</filename> file is scanned periodically
-      and each user name
-      is checked to see if the named user is permitted on the named port
-      at the current time.
+    <para><command>logoutd</command> enforces the login time and port
+      restrictions specified in <filename>/etc/porttime</filename>.
+      <command>logoutd</command> should be started from
+      <filename>/etc/rc</filename>. The <filename>/var/run/utmp</filename>
+      file is scanned periodically and each user name is checked to see if
+      the named user is permitted on the named port at the current time. 
       Any login session which is violating the restrictions in <filename>
-        /etc/porttime
-      </filename>
-      is terminated.
+      /etc/porttime</filename> is terminated.
     </para>
   </refsect1>
   
   <refsect1 id='files'>
     <title>FILES</title>
-    <para>
-      <filename>/etc/porttime</filename>       - login and port permissions
-      <!-- .br -->
-      <filename>/var/run/utmp</filename>       - current login sessions
-    </para>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/porttime</filename></term>
+        <listitem>login and port permissions</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/var/run/utmp</filename></term>
+        <listitem>list of current login sessions</listitem>
+      </varlistentry>
+    </variablelist>
   </refsect1>
   
   <refsect1 id='author'>
diff --git a/man/mkpasswd.8 b/man/mkpasswd.8
deleted file mode 100644 (file)
index 7802a70..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-.\"$Id: mkpasswd.8,v 1.14 2005/04/12 17:55:55 kloczek Exp $
-.\" Copyright 1991, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH MKPASSWD 8
-.SH NAME
-mkpasswd \- Update passwd and group database files
-.SH SYNOPSIS
-\fBmkpasswd\fR [\fB\-fvgps\fR] \fIfile\fR
-.SH DESCRIPTION
-\fBmkpasswd\fR reads the file in the format given by the flags and converts
-it to the corresponding database file format. These database files are used
-to improve access performance on systems with large numbers of users. The
-output files will be named \fIfile\fR.dir and \fIfile\fR.pag.
-.PP
-The \fB\-f\fR option causes \fBmkpasswd\fR to ignore any existing output
-files and overwrite them. Normally \fBmkpasswd\fR complains about existing
-output files and quits.
-.PP
-The \fB\-v\fR option causes \fBmkpasswd\fR to output information about each
-record as it is converted, with a final message at the very end.
-.PP
-The \fB\-g\fR option treats the input file as though it were in
-\fI/etc/group\fR file format. When combined with the \fB\-s\fR option, the
-\fI/etc/gshadow\fR file format is used instead.
-.PP
-The \fB\-p\fR option treats the input file as though it were in
-\fI/etc/passwd\fR file format. This is the default. When combined with the
-\fB\-s\fR option, the \fI/etc/shadow\fR file format is used instead.
-.SH CAVEATS
-The use of more than one database file is limited to systems which include
-the NDBM database library and therefore may not be available on every
-system.
-.SH NOTE
-Since most commands are capable of updating the database files as changes
-are made, this command need only be used when re\-creating a deleted or
-corrupted database file.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.br
-\fI/etc/group\fR       \- group account information
-.br
-\fI/etc/gshadow\fR     \- shadow group information
-.SH SEE ALSO
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
diff --git a/man/mkpasswd.8.xml b/man/mkpasswd.8.xml
deleted file mode 100644 (file)
index 70b272a..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id='mkpasswd8'>
-  <!-- $Id: mkpasswd.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
-  <refmeta>
-    <refentrytitle>mkpasswd</refentrytitle>
-    <manvolnum>8</manvolnum>
-  </refmeta>
-  <refnamediv id='name'>
-    <refname>mkpasswd</refname>
-    <refpurpose>Update passwd and group database files</refpurpose>
-  </refnamediv>
-
-  <refsynopsisdiv id='synopsis'>
-    <cmdsynopsis>
-      <command>mkpasswd</command>
-      <arg choice='opt'>-fvgps </arg>
-      <arg choice='plain'><replaceable>file</replaceable></arg>
-    </cmdsynopsis>
-  </refsynopsisdiv>
-  
-  <refsect1 id='description'>
-    <title>DESCRIPTION</title>
-    <para>
-      <command>mkpasswd</command> reads the file in the format given by the
-      flags and converts it to the corresponding database file format. These
-      database files are used to improve access performance on systems with
-      large numbers of users. The output files will be named <emphasis
-      remap='I'>file</emphasis>.dir and <emphasis
-      remap='I'>file</emphasis>.pag.
-    </para>
-    
-    <para>The <option>-f</option> option causes <command>mkpasswd</command>
-      to ignore any existing output files and overwrite them. Normally
-      <command>mkpasswd</command> complains about existing output files and
-      quits.
-    </para>
-    
-    <para>The <option>-v</option> option causes <command>mkpasswd</command>
-      to output information about each record as it is converted, with a
-      final message at the very end.
-    </para>
-    
-    <para>The <option>-g</option> option treats the input file as though it
-      were in <filename>/etc/group</filename> file format. When combined
-      with the <option>-s</option> option, the
-      <filename>/etc/gshadow</filename> file format is used instead.
-    </para>
-    
-    <para>The <option>-p</option> option treats the input file as though it
-      were in <filename>/etc/passwd</filename> file format. This is the
-      default. When combined with the <option>-s</option> option, the
-      <filename>/etc/shadow</filename> file format is used instead.
-    </para>
-  </refsect1>
-  
-  <refsect1 id='caveats'>
-    <title>CAVEATS</title>
-    <para>The use of more than one database file is limited to systems which
-      include the NDBM database library and therefore may not be available
-      on every system.
-    </para>
-  </refsect1>
-  
-  <refsect1 id='note'>
-    <title>NOTE</title>
-    <para>Since most commands are capable of updating the database files as
-      changes are made, this command need only be used when re-creating a
-      deleted or corrupted database file.
-    </para>
-  </refsect1>
-  
-  <refsect1 id='files'>
-    <title>FILES</title>
-      <varlistentry>
-       <term><filename>/etc/passwd</filename></term>
-        <listitem>user account information</listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><filename>/etc/shadow</filename></term>
-        <listitem>secure user account information</listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><filename>/etc/group</filename></term>
-        <listitem>group account information</listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><filename>/etc/gshadow</filename></term>
-        <listitem>group account information</listitem>
-      </varlistentry>
-    </variablelist>
-  </refsect1>
-  
-  <refsect1 id='see_also'>
-    <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
-        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>,
-      <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>,
-      <citerefentry>
-        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
-    </para>
-  </refsect1>
-  
-  <refsect1 id='author'>
-    <title>AUTHOR</title>
-    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
-  </refsect1>
-</refentry>
index cca39aa5a375811a30a353cf2ee6a359a2784f05..41a296ffe17853ce70828ec56a4a55f9f89f9b59 100644 (file)
@@ -1,61 +1,69 @@
-.\"$Id: newusers.8,v 1.14 2005/04/02 16:10:24 kloczek Exp $
-.\" Copyright 1991 - 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH NEWUSERS 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "NEWUSERS" 8 "" "" ""
 .SH NAME
 newusers \- update and create new users in batch
-.SH SYNOPSIS
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 9
 \fBnewusers\fR [\fInew_users\fR]
-.SH DESCRIPTION
-\fBnewusers\fR reads a file of user name and clear\-text password pairs and
-uses this information to update a group of existing users or to create new
-users. Each line is in the same format as the standard password file (see
-\fBpasswd\fR(5)) with the following exceptions.
-.IP "\fIpw_passwd\fR" 10
-This field will be encrypted and used as the new value of the encrypted
-password.
-.IP "\fIpw_age\fR"
-This field will be ignored for shadow passwords if the user already exists.
-.IP "\fIpw_gid\fR"
-This field may be the name of an existing group, in which case the named
-user will be added as a member. If a non\-existent numerical group is given,
-a new group will be created having this number.
-.IP "\fIpw_dir\fR"
-This field will be checked for existence as a directory and a new directory
-with the same name will be created if it does not already exist. The
-ownership of the directory will be set to be that of the user being created
-or updated.
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBnewusers\fR reads a file of user name and clear\-text password pairs and uses this information to update a group of existing users or to create new users\&. Each line is in the same format as the standard password file (see \fBpasswd\fR(5)) with the following exceptions:
+
+.TP
+\fIpw_passwd\fR
+This field will be encrypted and used as the new value of the encrypted password\&.
+
+.TP
+\fIpw_age\fR
+This field will be ignored for shadow passwords if the user already exists\&.
+
+.TP
+\fIpw_gid\fR
+This field may be the name of an existing group, in which case the named user will be added as a member\&. If a non\-existent numerical group is given, a new group will be created having this number\&.
+
+.TP
+\fIpw_dir\fR
+This field will be checked for existence as a directory and a new directory with the same name will be created if it does not already exist\&. The ownership of the directory will be set to be that of the user being created or updated\&.
+
+.PP
+This command is intended to be used in a large system environment where many accounts are updated at a single time\&.
+
+.SH "CAVEATS"
+
+.PP
+The input file must be protected since it contains unencrypted passwords\&.
+
+.SH "SEE ALSO"
+
+.PP
+\fBpasswd\fR(1), \fBuseradd\fR(8) 
+
+.SH "AUTHOR"
+
 .PP
-This command is intended to be used in a large system environment where many
-accounts are updated at a single time.
-.SH CAVEATS
-The input file must be protected since it contains unencrypted passwords.
-.SH SEE ALSO
-.BR passwd (1),
-.BR useradd (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 6b964c381c5d5a6789b11dcf3d35b30b7e5daace..9c4b6f5e02811540d4d452c3b14e52dca5bf8b21 100644 (file)
@@ -2,33 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='newusers8'>
-  <!-- $Id: newusers.8.xml,v 1.4 2005/04/22 07:00:57 kloczek Exp $ -->
-  <!--  Copyright 1991 \- 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. Neither the name of Julianne F. Haugh nor the names of its contributors -->
-  <!--     may be used to endorse or promote products derived from this software -->
-  <!--     without specific prior written permission. -->
-  
-  <!--  THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -->
-  <!--  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -->
-  <!--  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -->
-  <!--  ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -->
-  <!--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -->
-  <!--  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -->
-  <!--  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -->
-  <!--  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -->
-  <!--  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -->
-  <!--  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -->
-  <!--  SUCH DAMAGE. -->
+  <!-- $Id: newusers.8.xml,v 1.6 2005/06/16 17:37:58 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>NEWUSERS</refentrytitle>
     <manvolnum>8</manvolnum>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>newusers</command> reads a file of user name and
-      clear-text password pairs and
-      uses this information to update a group of existing users or to
-      create new
-      users. Each line is in the same format as the standard password
-      file (see
-      <citerefentry>
-        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
-      </citerefentry>
-      )with the following exceptions.
+    <para><command>newusers</command> reads a file of user name and
+      clear-text password pairs and uses this information to update a group
+      of existing users or to create new users. Each line is in the same
+      format as the standard password file (see
+      <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>) with the following exceptions:
     </para>
+
     <variablelist remap='IP'>
       <varlistentry>
         <term>
           <emphasis remap='I'>pw_passwd</emphasis>
         </term>
         <listitem>
-          <para>This field will be encrypted and used as the new
-            value of the encrypted
-            password.
+          <para>This field will be encrypted and used as the new value of
+            the encrypted password.
           </para>
         </listitem>
       </varlistentry>
@@ -78,8 +47,8 @@
           <emphasis remap='I'>pw_age</emphasis>
         </term>
         <listitem>
-          <para>This field will be ignored for shadow passwords if
-            the user already exists.
+          <para>This field will be ignored for shadow passwords if the user
+            already exists.
           </para>
         </listitem>
       </varlistentry>
           <emphasis remap='I'>pw_gid</emphasis>
         </term>
         <listitem>
-          <para>This field may be the name of an existing group, in
-            which case the named
-            user will be added as a member. If a non-existent
-            numerical group is given,
-            a new group will be created having this number.
+          <para>This field may be the name of an existing group, in which
+            case the named user will be added as a member. If a non-existent
+            numerical group is given, a new group will be created having
+            this number.
           </para>
         </listitem>
       </varlistentry>
           <emphasis remap='I'>pw_dir</emphasis>
         </term>
         <listitem>
-          <para>This field will be checked for existence as a
-            directory and a new directory
-            with the same name will be created if it does not
-            already exist. The
-            ownership of the directory will be set to be that of
-            the user being created
-            or updated.
+          <para>This field will be checked for existence as a directory and
+            a new directory with the same name will be created if it does
+            not already exist. The ownership of the directory will be set to
+            be that of the user being created or updated.
           </para>
         </listitem>
       </varlistentry>
     </variablelist>
     
     <para>This command is intended to be used in a large system environment
-      where many
-      accounts are updated at a single time.
+      where many accounts are updated at a single time.
     </para>
   </refsect1>
   
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>
-      ,
+      </citerefentry>,
       <citerefentry>
         <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
       </citerefentry>
index 9d6d4ab59c9a666fc21bf0a24bbc292d12382b3d..3cc90f2cda9ded53666e7fd9f7c3fd66acc929f4 100644 (file)
-.\" $Id: passwd.1,v 1.25 2005/05/09 10:14:40 kloczek Exp $
-.\" Copyright 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH PASSWD 1
-.SH NAME
-passwd \- change user password
-.SH SYNOPSIS
-\fBpasswd\fR [\fB\-f\fR|\fB\-s\fR] [\fIname\fR]
-.br
-\fBpasswd\fR [\fB\-g\fR] [\fB\-r\fR|\fB\-R\fR] \fIgroup\fR
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
 .br
-\fBpasswd\fR [\fB\-x\fR \fImax\fR] [\fB\-n\fR \fImin\fR]
-[\fB\-w\fR \fIwarn\fR] [\fB\-i\fR \fIinact\fR] \fIlogin\fR
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
 .br
-\fBpasswd\fR {\fB\-l\fR|\fB\-u\fR|\fB\-d\fR|\fB\-S\fR|\fB\-e\fR} \fIlogin\fR
-.SH DESCRIPTION
-\fBpasswd\fR changes passwords for user and group accounts. A normal user
-may only change the password for his/her own account, the super user may
-change the password for any account. The administrator of a group may change
-the password for the group. \fBpasswd\fR also changes account information,
-such as the full name of the user, user's login shell, or password expiry
-date and interval.
-.PP
-The \fB\-s\fR option makes \fBpasswd\fR call \fBchsh\fR to change the user's
-shell. The \fB\-f\fR option makes \fBpasswd\fR call \fBchfn\fR to change the user's
-gecos information. These two options are only meant for compatiblity, since
-the other programs can be called directly.
-.SS Password Changes
-The user is first prompted for his/her old password, if one is present. This
-password is then encrypted and compared against the stored password. The
-user has only one chance to enter the correct password. The super user is
-permitted to bypass this step so that forgotten passwords may be changed.
-.PP
-After the password has been entered, password aging information is checked
-to see if the user is permitted to change the password at this time. If not,
-\fBpasswd\fR refuses to change the password and exits.
-.PP
-The user is then prompted for a replacement password. This password is
-tested for complexity. As a general guideline, passwords should consist of 6
-to 8 characters including one or more from each of following sets:
-.IP "" .5i
-Lower case alphabetics
-.IP "" .5i
-Upper case alphabetics
-.IP "" .5i
-Digits 0 thru 9
-.IP "" .5i
-Punctuation marks
-.PP
-Care must be taken not to include the system default erase or kill
-characters. \fBpasswd\fR will reject any password which is not suitably
-complex.
-.PP
-If the password is accepted, \fBpasswd\fR will prompt again and compare the
-second entry against the first. Both entries are required to match in order
-for the password to be changed.
-.SS Group passwords
-When the \fB\-g\fR option is used, the password for the named group is
-changed. The user must either be the super user, or a group administrator
-for the named group. The current group password is not prompted for. The
-\fB\-r\fR option is used with the \fB\-g\fR option to remove the current
-password from the named group. This allows group access to all members. The
-\fB\-R\fR option is used with the \fB\-g\fR option to restrict the named group
-for all users.
-.SS Password expiry information
-The password aging information may be changed by the super user with the
-\fB\-x\fR, \fB\-n\fR, \fB\-w\fR, and \fB\-i\fR options. The \fB\-x\fR option is
-used to set the maximum number of days a password remains valid. After
-\fImax\fR days, the password is required to be changed. The \fB\-n\fR option
-is used to set the minimum number of days before a password may be changed.
-The user will not be permitted to change the password until \fImin\fR days
-have elapsed. The \fB\-w\fR option is used to set the number of days of
-warning the user will receive before his/her password will expire. The
-warning occurs \fIwarn\fR days before the expiration, telling the user how
-many days remain until the password is set to expire. The \fB\-i\fR option is
-used to disable an account after the password has been expired for a number
-of days. After a user account has had an expired password for \fIinact\fR
-days, the user may no longer sign on to the account.
-.PP
-If you wish to immediately expire an account's password, you can use the
-\fB\-e\fR option. This in effect can force a user to change his/her password at
-the user's next login. You can also use the \fB\-d\fR option to delete a user's
-password (make it empty). Use caution with this option since it can make an
-account not require a password at all to login, leaving your system open to
-intruders.
-.SS Account maintenance
-User accounts may be locked and unlocked with the \fB\-l\fR and \fB\-u\fR
-flags. The \fB\-l\fR option disables an account by changing the password to
-a value which matches no possible encrypted value. The \fB\-u\fR option
-re\-enables an account by changing the password back to its previous value.
-.PP
-The account status may be viewed with the \fB-S\fR option.
-The status information consists of 7 fields.
-The first field is the user's login name.
-The second field indicates if the user account is locked (L), has no
-password (NP), or has a usable password (P).
-The third field gives the date of the last password change.
-The next four fields are the minimum age, maximum age, warning period,
-and inactivity period for the password.
-These ages are expressed in days.
-See \fBPassword expiry information\fR above for a discussion of these fields.
-.SS Hints for user passwords
-The security of a password depends upon the strength of the
-encryption algorithm and the size of the key space.
-The \fB\s\-2UNIX\s+2\fR System encryption method is based on
-the NBS DES algorithm and is very secure.
-The size of the key space depends upon the randomness of the
-password which is selected.
-.PP
-Compromises in password security normally result from careless
-password selection or handling.
-For this reason, you should not select a password which appears in
-a dictionary or which must be written down.
-The password should also not be a proper name, your license
-number, birth date, or street address.
-Any of these may be used as guesses to violate system security.
-.PP
-Your password must easily remembered so that you will not
-be forced to write it on a piece of paper.
-This can be accomplished by appending two small words together
-and separating each with a special character or digit.
-For example, Pass%word.
-.PP
-Other methods of construction involve selecting an easily
-remembered phrase from literature and selecting the first
-or last letter from each word.
-An example of this is
-.IP "" .5i
-Ask not for whom the bell tolls.
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "PASSWD" 1 "" "" ""
+.SH NAME
+passwd \- change user password
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 7
+\fBpasswd\fR [\fB\-f\fR | \fB\-s\fR] [\fIname\fR]
+.ad
+.hy
+.ad l
+.hy 0
+.HP 7
+\fBpasswd\fR [\-g] [\fB\-r\fR | \fB\-R\fR] \fIgroup\fR
+.ad
+.hy
+.ad l
+.hy 0
+.HP 7
+\fBpasswd\fR [\-x\ \fImax\fR] [\-n\ \fImin\fR] [\-w\ \fIwarn\fR] [\-i\ \fIinact\fR] \fIlogin\fR
+.ad
+.hy
+.ad l
+.hy 0
+.HP 7
+\fBpasswd\fR [\fB\-l\fR | \fB\-u\fR | \fB\-d\fR | \fB\-S\fR | \fB\-e\fR] \fIlogin\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBpasswd\fR changes passwords for user and group accounts\&. A normal user may only change the password for his/her own account, the super user may change the password for any account\&. The administrator of a group may change the password for the group\&. \fBpasswd\fR also changes account information, such as the full name of the user, user's login shell, or password expiry date and interval\&.
+
+.PP
+The \fB\-s\fR option makes \fBpasswd\fR call \fBchsh\fR to change the user's shell\&. The \fB\-f\fR option makes \fBpasswd\fR call \fBchfn\fR to change the user's gecos information\&. These two options are only meant for compatibility, since the other programs can be called directly\&.
+
+.SS "Password Changes"
+
+.PP
+The user is first prompted for his/her old password, if one is present\&. This password is then encrypted and compared against the stored password\&. The user has only one chance to enter the correct password\&. The super user is permitted to bypass this step so that forgotten passwords may be changed\&.
+
+.PP
+After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time\&. If not, \fBpasswd\fR refuses to change the password and exits\&.
+
+.PP
+The user is then prompted for a replacement password\&. This password is tested for complexity\&. As a general guideline, passwords should consist of 6 to 8 characters including one or more from each of following sets:
+
+.TP 3
+\(bu
+lower case alphabetics
+.TP
+\(bu
+digits 0 thru 9
+.TP
+\(bu
+punctuation marks
+.LP
+
+.PP
+Care must be taken not to include the system default erase or kill characters\&. \fBpasswd\fR will reject any password which is not suitably complex\&.
+
+.PP
+If the password is accepted, \fBpasswd\fR will prompt again and compare the second entry against the first\&. Both entries are required to match in order for the password to be changed\&.
+
+.SS "Group passwords"
+
+.PP
+When the \fB\-g\fR option is used, the password for the named group is changed\&. The user must either be the super user, or a group administrator for the named group\&. The current group password is not prompted for\&. The \fB\-r\fR option is used with the \fB\-g\fR option to remove the current password from the named group\&. This allows group access to all members\&. The \fB\-R\fR option is used with the \fB\-g\fR option to restrict the named group for all users\&.
+
+.SS "Password expiry information"
+
+.PP
+The password aging information may be changed by the super user with the \fB\-x\fR, \fB\-n\fR, \fB\-w\fR, and \fB\-i\fR options\&. The \fB\-x\fR option is used to set the maximum number of days a password remains valid\&. After \fImax\fR days, the password is required to be changed\&. The \fB\-n\fR option is used to set the minimum number of days before a password may be changed\&. The user will not be permitted to change the password until \fImin\fR days have elapsed\&. The \fB\-w\fR option is used to set the number of days of warning the user will receive before his/her password will expire\&. The warning occurs \fIwarn\fR days before the expiration, telling the user how many days remain until the password is set to expire\&. The \fB\-i\fR option is used to disable an account after the password has been expired for a number of days\&. After a user account has had an expired password for \fIinact\fR days, the user may no longer sign on to the account\&.
+
+.PP
+If you wish to immediately expire an account's password, you can use the \fB\-e\fR option\&. This in effect can force a user to change his/her password at the user's next login\&. You can also use the \fB\-d\fR option to delete a user's password (make it empty)\&. Use caution with this option since it can make an account not require a password at all to login, leaving your system open to intruders\&.
+
+.SS "Account maintenance"
+
+.PP
+User accounts may be locked and unlocked with the \fB\-l\fR and \fB\-u\fR flags\&. The \fB\-l\fR option disables an account by changing the password to a value which matches no possible encrypted value\&. The \fB\-u\fR option re\-enables an account by changing the password back to its previous value\&.
+
 .PP
+The account status may be viewed with the \fB\-S\fR option\&. The status information consists of 7 fields\&. The first field is the user's login name\&. The second field indicates if the user account is locked (L), has no password (NP), or has a usable password (P)\&. The third field gives the date of the last password change\&. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password\&. These ages are expressed in days\&. See \fIPassword expiry information\fR above for a discussion of these fields\&.
+
+.SS "Hints for user passwords"
+
+.PP
+The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The \fI\\s\-2UNIX\fR System encryption method is based on the NBS DES algorithm and is very secure\&. The size of the key space depends upon the randomness of the password which is selected\&.
+
+.PP
+Compromises in password security normally result from careless password selection or handling\&. For this reason, you should not select a password which appears in a dictionary or which must be written down\&. The password should also not be a proper name, your license number, birth date, or street address\&. Any of these may be used as guesses to violate system security\&.
+
+.PP
+Your password must easily remembered so that you will not be forced to write it on a piece of paper\&. This can be accomplished by appending two small words together and separating each with a special character or digit\&. For example, Pass%word\&.
+
+.PP
+Other methods of construction involve selecting an easily remembered phrase from literature and selecting the first or last letter from each word\&. An example of this is:
+
+.TP 3
+\(bu
+Ask not for whom the bell tolls
+.TP
+\(bu
 which produces
-.IP "" .5i
-An4wtbt.
-.PP
-You may be reasonably sure few crackers will have included this in their
-dictionaries. You should, however, select your own methods for constructing
-passwords and not rely exclusively on the methods given here.
-.SS Notes about group passwords
-Group passwords are an inherent security problem since more than one person
-is permitted to know the password. However, groups are a useful tool for
-permitting co\-operation between different users.
-.SH CAVEATS
-Not all options may be supported.
-Password complexity checking may vary from site to site.
-The user is urged to select a password as complex as he
-feels comfortable with.
-Users may not be able to change their password on a system if NIS
-is enabled and they are not logged into the NIS server.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.SH EXIT VALUES
-.TP 2
-The \fBpasswd\fR command exits with the following values:
-\fB0\fR        \- success
-.br
-\fB1\fR        \- permission denied
-.br
-\fB2\fR        \- invalid combination of options
-.br
-\fB3\fR        \- unexpected failure, nothing done
-.br
-\fB4\fR        \- unexpected failure, passwd file missing
-.br
-\fB5\fR        \- passwd file busy, try again later
-.br
-\fB6\fR        \- invalid argument to option
+.TP
+\(bu
+An4wtbt
+.LP
+
+.PP
+You may be reasonably sure few crackers will have included this in their dictionaries\&. You should, however, select your own methods for constructing passwords and not rely exclusively on the methods given here\&.
+
+.SS "Notes about group passwords"
+
+.PP
+Group passwords are an inherent security problem since more than one person is permitted to know the password\&. However, groups are a useful tool for permitting co\-operation between different users\&.
+
+.SH "CAVEATS"
+
+.PP
+Not all options may be supported\&. Password complexity checking may vary from site to site\&. The user is urged to select a password as complex as he feels comfortable with\&. Users may not be able to change their password on a system if NIS is enabled and they are not logged into the NIS server\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.SH "EXIT VALUES"
+
+.PP
+The \fBpasswd\fR command exits with the following values: 
+
+.TP
+\fI0\fR
+success
+.TP
+\fI1\fR
+permission denied
+.TP
+\fI2\fR
+invalid combination of options
+.TP
+\fI3\fR
+unexpected failure, nothing done
+.TP
+\fI4\fR
+unexpected failure, passwd file missing
+.TP
+\fI5\fR
+passwd file busy, try again
+.TP
+\fI6\fR
+invalid argument to option 
+
 .SH "SEE ALSO"
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
-.SH AUTHOR
-Julianne Frances Haugh <jockgrrl@ix.netcom.com>
+
+.PP
+\fBgroup\fR(5), \fBpasswd\fR(5), \fBshadow\fR(5) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh <jockgrrl@ix\&.netcom\&.com>
+
index 1f2f45184595b58f3160f5bff3f1455266ce82f0..97060d2adafb6ccb8211f39485589fa0999f6ede 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='passwd.1'>
-  <!--  $Id: passwd.1.xml,v 1.8 2005/05/09 10:14:39 kloczek Exp $ -->
+  <!--  $Id: passwd.1.xml,v 1.11 2005/06/20 08:47:36 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>passwd</refentrytitle>
     <manvolnum>1</manvolnum>
@@ -58,8 +58,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>passwd</command> changes passwords for user and group
+    <para><command>passwd</command> changes passwords for user and group
       accounts. A normal user may only change the password for his/her own
       account, the super user may change the password for any account. The
       administrator of a group may change the password for the group.
       and interval.
     </para>
     
-    <para>The <option>-s</option> option makes <command>passwd</command>
-      call <command>chsh</coamand> to change the user's shell.  The
+    <para>
+      The <option>-s</option> option makes <command>passwd</command> call
+      <command>chsh</command> to change the user's shell. The
       <option>-f</option> option makes <command>passwd</command> call
       <command>chfn</command> to change the user's gecos information. These
-      two options are only meant for compatiblity, since the other programs
+      two options are only meant for compatibility, since the other programs
       can be called directly.
     </para>
     
         of following sets:
       </para>
       
-      <para>Lower case alphabetics</para>
-      
-      <para>Upper case alphabetics</para>
-      
-      <para>Digits 0 thru 9</para>
-      
-      <para>Punctuation marks</para>
+      <itemizedlist mark='bullet'>
+        <listitem>
+          <para>lower case alphabetics</para>
+        </listitem>
+        <listitem>
+          <para>digits 0 thru 9</para>
+        </listitem>
+        <listitem>
+          <para>punctuation marks</para>
+        </listitem>
+      </itemizedlist>            
       
       <para>Care must be taken not to include the system default erase or
         kill characters. <command>passwd</command> will reject any password
         a password remains valid. After <emphasis remap='I'>max</emphasis>
         days, the password is required to be changed. The
         <option>-n</option> option is used to set the minimum number of days
-        before a password may be changed.  The user will not be permitted to
+        before a password may be changed. The user will not be permitted to
         change the password until <emphasis remap='I'>min</emphasis> days
         have elapsed. The <option>-w</option> option is used to set the
         number of days of warning the user will receive before his/her
         user account is locked (L), has no password (NP), or has a usable
         password (P). The third field gives the date of the last password
         change. The next four fields are the minimum age, maximum age,
-        warning period, and inactivity period for the password.  These ages
+        warning period, and inactivity period for the password. These ages
         are expressed in days. See <emphasis remap='B'>Password expiry
         information</emphasis> above for a discussion of these fields.
       </para>
       
       <para>Other methods of construction involve selecting an easily
         remembered phrase from literature and selecting the first or last
-        letter from each word. An example of this is
+        letter from each word. An example of this is:
       </para>
-      
-      <para>Ask not for whom the bell tolls.</para>
-      
-      <para>which produces</para>
-      
-      <para>An4wtbt.</para>
+
+      <itemizedlist mark='bullet'>
+        <listitem>
+          <para>Ask not for whom the bell tolls</para>
+        </listitem>
+        <listitem>
+          <para>which produces</para>
+        </listitem>
+        <listitem>
+          <para>An4wtbt</para>
+        </listitem>
+      </itemizedlist>            
       
       <para>You may be reasonably sure few crackers will have included this
         in their dictionaries. You should, however, select your own methods
   
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
-    <variablelist remap='TP'>
-      <varlistentry>
-        <term>
-          The <command>passwd</command> command exits with the
-          following values:
-        </term>
-        <listitem>
-          <para>
-            <literal>0</literal>       - success
-            <!-- .br -->
-            <literal>1</literal>       - permission denied
-            <!-- .br -->
-            <literal>2</literal>       - invalid combination of options
-            <!-- .br -->
-            <literal>3</literal>       - unexpected failure, nothing done
-            <!-- .br -->
-            <literal>4</literal>       - unexpected failure, passwd file
-            missing
-            <!-- .br -->
-            <literal>5</literal>       - passwd file busy, try again
-            later                        <!-- .br -->
-            <literal>6</literal>       - invalid argument to option
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+    <para>
+      The <command>passwd</command> command exits with the following values:
+      <variablelist>
+        <varlistentry>
+          <term><replaceable>0</replaceable></term>
+         <listitem>success</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>1</replaceable></term>
+         <listitem>permission denied</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>2</replaceable></term>
+         <listitem>invalid combination of options</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>3</replaceable></term>
+         <listitem>unexpected failure, nothing done</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>4</replaceable></term>
+         <listitem>unexpected failure, passwd file missing</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>5</replaceable></term>
+         <listitem>passwd file busy, try again</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>6</replaceable></term>
+         <listitem>invalid argument to option</listitem>
+       </varlistentry>
+      </variablelist>
+    </para>
   </refsect1>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
index 21bbb6c27918655b3a06d2c003130f43379d6ec1..2d2ae769c58096cfdd2fc36d1fc215413a175785 100644 (file)
@@ -1,93 +1,77 @@
-.\"$Id: passwd.5,v 1.15 2005/04/02 16:10:24 kloczek Exp $
-.\" Copyright 1989 - 1990, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH PASSWD 5
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "PASSWD" 5 "" "" ""
 .SH NAME
 passwd \- The password file
-.SH DESCRIPTION
-\fI/etc/passwd\fR contains various pieces of information for each user
-account. Included is:
-.IP "" .5i
-Login name
-.IP "" .5i
-Optional encrypted password
-.IP "" .5i
-Numerical user ID
-.IP "" .5i
-Numerical group ID
-.IP "" .5i
-User name or comment field
-.IP "" .5i
-User home directory
-.IP "" .5i
-User command interpreter
+.SH "DESCRIPTION"
+
+.PP
+\fI/etc/passwd\fR contains various pieces of information for each user account\&. Included is:
+
+.TP 3
+\(bu
+login name
+.TP
+\(bu
+optional encrypted password
+.TP
+\(bu
+numerical user ID
+.TP
+\(bu
+numerical group ID
+.TP
+\(bu
+user name or comment field
+.TP
+\(bu
+user home directory
+.TP
+\(bu
+user command interpreter
+.LP
+
 .PP
-The password field may not be filled if shadow passwords have been enabled.
-If shadow passwords are being used, the encrypted password will be found in
-\fI/etc/shadow\fR. The encrypted password consists of characters from the
-64 characters alphabet a thru z, A thru Z, 0 thru 9, \. and /. Optionally it
-can start with a "$" character. This means the encrypted password was generated
-using another (not DES) algorithm. For example if it starts with "$1$" it means
-the MD5\-based algorithm was used.
+The password field may not be filled if shadow passwords have been enabled\&. If shadow passwords are being used, the encrypted password will be found in \fI/etc/shadow\fR\&. The encrypted password consists of characters from the 64 characters alphabet a thru z, A thru Z, 0 thru 9, \\\&. and /\&. Optionally it can start with a "$" character\&. This means the encrypted password was generated using another (not DES) algorithm\&. For example if it starts with "$1$" it means the MD5\-based algorithm was used\&. Refer to \fBcrypt\fR(3) for details on how this string is interpreted\&.
+
 .PP
-Refer to \fBcrypt\fR(3) for details on how this string is interpreted.
+The comment field is used by various system utilities, such as \fBfinger\fR(1)\&.
+
 .PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1). Three additional values may be present in the comment
-field.
-They are:
-.IP "" .5i
-pri= \- set initial value of nice
-.IP "" .5i
-umask= \- set initial value of umask
-.IP "" .5i
-ulimit= \- set initial value of ulimit
+The home directory field provides the name of the initial working directory\&. \fILogin\fR uses this information to set the value of the \fB$HOME\fR environmental variable\&.
+
 .PP
-These fields are separated from each other and from any other comment field
-by a comma.
+The command interpreter field provides the name of the user's command language interpreter, or the name of the initial program to execute\&. \fILogin\fR uses this information to set the value of the \fB$SHELL\fR environmental variable\&. If this field is empty, it defaults to the value \fI/bin/sh\fR\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.SH "SEE ALSO"
+
 .PP
-The home directory field provides the name of the initial working directory.
-\fBLogin\fR uses this information to set the value of
-the \fBHOME\fR environmental variable.
+\fBlogin\fR(1), \fBpasswd\fR(1), \fBsu\fR(1), \fBshadow\fR(5), \fBpwconv\fR(8), \fBpwunconv\fR(8), \fBsulogin\fR(8) 
+
+.SH "AUTHOR"
+
 .PP
-The command interpreter field provides the name of the user's command
-language interpreter, or the name of the initial program to execute.
-\fBLogin\fR uses this information to set the value of the
-\fBSHELL\fR environmental variable.
-If this field is empty, it defaults to the value \fB/bin/sh\fR.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.SH SEE ALSO
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR shadow (5),
-.BR pwconv (8),
-.BR pwunconv (8),
-.BR sulogin (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index c722230abbaba40cbd2a6f7387be5714f4d0d03b..e3cd5da3f63a3f33b75acf290a8efa4d13b33802 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='passwd.5'>
-  <!-- $Id: passwd.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: passwd.5.xml,v 1.7 2005/06/16 17:59:21 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>passwd</refentrytitle>
     <manvolnum>5</manvolnum>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <filename>/etc/passwd</filename> contains various pieces of
+    <para><filename>/etc/passwd</filename> contains various pieces of
       information for each user account. Included is:
     </para>
-    
-    <para>Login name</para>
-    
-    <para>Optional encrypted password</para>
-    
-    <para>Numerical user ID</para>
-    
-    <para>Numerical group ID</para>
-    
-    <para>User name or comment field</para>
-    
-    <para>User home directory</para>
-    
-    <para>User command interpreter</para>
-    
-    <para>The password field may not be filled if shadow passwords have been
+    <itemizedlist mark='bullet'>
+      <listitem>
+        <para>login name</para>
+      </listitem>    
+      <listitem>
+        <para>optional encrypted password</para>
+      </listitem>    
+      <listitem>
+        <para>numerical user ID</para>
+      </listitem>    
+      <listitem>
+        <para>numerical group ID</para>
+      </listitem>    
+      <listitem>
+        <para>user name or comment field</para>
+      </listitem>    
+      <listitem>
+        <para>user home directory</para>
+      </listitem>    
+      <listitem>
+        <para>user command interpreter</para>
+      </listitem>    
+    </itemizedlist>
+
+    <para>
+      The password field may not be filled if shadow passwords have been
       enabled. If shadow passwords are being used, the encrypted password
       will be found in <filename>/etc/shadow</filename>. The encrypted
       password consists of characters from the 64 characters alphabet a thru
       z, A thru Z, 0 thru 9, \. and /. Optionally it can start with a "$"
       character. This means the encrypted password was generated using
       another (not DES) algorithm. For example if it starts with "$1$" it
-      means the MD5-based algorithm was used.
-    </para>
-    
-    <para> Refer to <citerefentry>
-        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
-      </citerefentry> for details on how this string is interpreted.
+      means the MD5-based algorithm was used. Refer to
+      <citerefentry><refentrytitle>crypt</refentrytitle>
+      <manvolnum>3</manvolnum></citerefentry> for details on how this string
+      is interpreted.
     </para>
-    
+
     <para>The comment field is used by various system utilities, such as
-      <citerefentry>
-        <refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum>
-      </citerefentry>. Three additional values may be present in the comment
-      field. They are:
-    </para>
-    
-    <para>pri= - set initial value of nice</para>
-    
-    <para>umask= - set initial value of umask</para>
-    
-    <para>ulimit= - set initial value of ulimit</para>
-    
-    <para>These fields are separated from each other and from any other
-      comment field by a comma.
+      <citerefentry><refentrytitle>finger</refentrytitle>
+      <manvolnum>1</manvolnum></citerefentry>.
     </para>
     
     <para>The home directory field provides the name of the initial working
@@ -70,7 +65,8 @@
       to set the value of the <envar>$HOME</envar> environmental variable.
     </para>
     
-    <para>The command interpreter field provides the name of the user's
+    <para>
+      The command interpreter field provides the name of the user's
       command language interpreter, or the name of the initial program to
       execute. <emphasis remap='B'>Login</emphasis> uses this information
       to set the value of the <envar>$SHELL</envar> environmental variable.
@@ -91,8 +87,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 3337c82fec7613b8984c7db49b8a326569253f3f..df56de8e617814fbd04e4ac102ef1bff4fc3f890 100644 (file)
@@ -23,7 +23,6 @@ man_MANS = \
        login.access.5 \
        login.defs.5 \
        logoutd.8 \
-       mkpasswd.8 \
        newgrp.1 \
        newusers.8 \
        passwd.1 \
index fb5ecf9bf39b1545cc467215dea26c2eb0f4613f..d6f8137d81704a3c9a6011a7b3388a251e3dc9f8 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/pl
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -198,7 +194,6 @@ man_MANS = \
        login.access.5 \
        login.defs.5 \
        logoutd.8 \
-       mkpasswd.8 \
        newgrp.1 \
        newusers.8 \
        passwd.1 \
@@ -236,9 +231,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/pl/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/pl/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/pl/Makefile
+         $(AUTOMAKE) --gnu  man/pl/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
diff --git a/man/pl/mkpasswd.8 b/man/pl/mkpasswd.8
deleted file mode 100644 (file)
index 7b25dbb..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-.\" $Id: mkpasswd.8,v 1.7 2005/04/05 18:47:51 kloczek Exp $
-.\" Copyright 1991, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH MKPASSWD 8
-.SH NAZWA
-mkpasswd \- aktualizuj pliki baz passwd i group
-.SH SK£ADNIA
-\fBmkpasswd\fR [\fB\-fvgps\fR] \fIplik\fR
-.SH OPIS
-.B mkpasswd
-czyta plik w formacie okre¶lonym przez flagi i konwertuje go postaci
-odpowiedniego pliku bazy danych.
-Wymienione pliki baz danych u¿ywane s± do poprawienia wydajno¶ci dostêpu
-w systemach o du¿ej liczbie u¿ytkowników.
-Pliki wynikowe otrzymaj± nazwy \fIplik\fR.dir i \fIplik\fR.pag.
-.SH OPCJE
-Opcja \fB\-f\fR powoduje, ¿e \fBmkpasswd\fR ignoruje istnienie plików
-wynikowych i nadpisuje je.
-Normalnie \fBmkpasswd\fR skar¿y siê na istnienie plików wynikowych
-i koñczy pracê.
-.PP
-Opcja \fB\-v\fR powoduje wy¶wietlanie informacji o ka¿dym konwertowanym
-rekordzie oraz komunikatu koñcowego.
-.PP
-Opcja \fB\-g\fR traktuje plik ¼ród³owy tak, jak gdyby by³ on w formacie
-pliku \fI/etc/group\fR.
-Przy po³±czeniu z opcj± \fB\-s\fR u¿ywany jest format pliku \fI/etc/gshadow\fR.
-.PP
-Opcja \fB\-p\fR traktuje plik ¼ród³owy tak, jak gdyby by³ on w formacie
-pliku \fI/etc/passwd\fR.
-Jest to opcja domy¶lna.
-Przy po³±czeniu z opcj± \fB\-s\fR u¿ywany jest format pliku \fI/etc/shadow\fR.
-.SH PRZESTROGI
-U¿ycie wiêcej ni¿ jednego pliku bazy ogranicza siê do systemów posiadaj±cych
-bibliotekê baz danych NDBM. Mo¿e zatem nie byæ dostêpne w ka¿dym systemie.
-.SH UWAGA
-Poniewa¿ wiêkszo¶æ poleceñ jest w stanie aktualizowaæ pliki bazy danych
-podczas dokonywania zmian, \fBmkpasswd\fR potrzebne jest jedynie
-do ponownego utworzenia usuniêtego lub zepsutego pliku bazy.
-.SH PLIKI
-\fI/etc/passwd\fR      \- informacja o kontach u¿ytkowników
-.br
-\fI/etc/shadow\fR      \- chroniona informacja o u¿ytkownikach
-.br
-\fI/etc/group\fR       \- informacja o grupach
-.br
-\fI/etc/gshadow\fR     \- chroniona informacja o grupach
-.SH ZOBACZ TAK¯E
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
-.SH AUTOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
index 61753d53bc9473e0a9d7b7eeb4c6a5a337102972..8621e41910742544820cb3b6dcdb0a7bd58da63a 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/pt_BR
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -196,9 +192,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/pt_BR/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/pt_BR/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/pt_BR/Makefile
+         $(AUTOMAKE) --gnu  man/pt_BR/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index d39caaf2f85be1ef53bef7ba6fa0345a2b49ea32..7faafaee840fa435f98280f07e0c427a169c0fbe 100644 (file)
-.\"$Id: pw_auth.3,v 1.10 2005/04/02 16:10:24 kloczek Exp $
-.\" Copyright 1992 - 1993, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH PWAUTH 3
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "PW_AUTH" 3 "" "" ""
 .SH NAME
-pwauth \- administrator defined password authentication routines
-.SH SYNTAX
-.B #include <pwauth.h>
+pw_auth \- administrator defined password authentication routines
+.SH "SYNTAX"
+
+.PP
+\fI#include <pwauth\&.h>\fR 
+
+.PP
+\fIint pw_auth (char\fR  \fI*command,\fR  \fIchar\fR  \fI*user,\fR  \fIint\fR  \fIreason,\fR  \fIchar\fR  \fI*input)\fR\fI;\fR 
+
+.SH "DESCRIPTION"
+
+.PP
+\fIpw_auth\fR invokes the administrator defined functions for a given user\&.
+
+.PP
+\fIcommand\fR is the name of the authentication program\&. It is retrieved from the user's password file information\&. The string contains one or more executable file names, delimited by semi\-colons\&. Each program will be executed in the order given\&. The command line arguments are given for each of the reasons listed below\&.
+
+.PP
+\fIuser\fR is the name of the user to be authenticated, as given in the \fI/etc/passwd\fR file\&. User entries are indexed by username\&. This allows non\-unique user IDs to be present and for each different username associated with that user ID to have a different authentication program and information\&.
+
+.PP
+Each of the permissible authentication reasons is handled in a potentially differenent manner\&. Unless otherwise mentioned, the standard file descriptors 0, 1, and 2 are available for communicating with the user\&. The real user ID may be used to determine the identity of the user making the authentication request\&. \fIreason\fR is one of:
+
+.TP
+\fIPW_SU\fR
+Perform authentication for the current real user ID attempting to switch real user ID to the named user\&. The authentication program will be invoked with a \fB\-s\fR option, followed by the username\&.
+
+.TP
+\fIPW_LOGIN\fR
+Perform authentication for the named user creating a new login session\&. The authentication program will be invoked with a \fB\-l\fR option, followed by the username\&.
+
+.TP
+\fIPW_ADD\fR
+Create a new entry for the named user\&. This allows an authentication program to initialize storage for a new user\&. The authentication program will be invoked with a \fB\-a\fR option, followed by the username\&.
+
+.TP
+\fIPW_CHANGE\fR
+Alter an existing entry for the named user\&. This allows an authentication program to alter the authentication information for an existing user\&. The authentication program will be invoked with a \fB\-c\fR option, followed by the username\&.
+
+.TP
+\fIPW_DELETE\fR
+Delete authentication information for the named user\&. This allows an authentication program to reclaim storage for a user which is no longer authenticated using the authentication program\&. The authentication program will be invoked with a \fB\-d\fR option, followed by the username\&.
+
+.TP
+\fIPW_TELNET\fR
+Authenticate a user who is connecting to the system using the \fItelnet\fR command\&. The authentication program will be invoked with a \fB\-t\fR option, followed by the username\&.
+
+.TP
+\fIPW_RLOGIN\fR
+Authenticate a user who is connecting to the system using the \fIrlogin\fR command\&. The authentication program will be invoked with a \fB\-r\fR option, followed by the username\&.
+
+.TP
+\fIPW_FTP\fR
+Authenticate a user who is connecting to the system using the \fIftp\fR command\&. The authentication program will be invoked with a \fB\-f\fR option, followed by the username\&. The standard file descriptors are not available for communicating with the user\&. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to \fI/dev/null\fR\&. The \fIpw_auth\fR function will pipe a single line of data to the authentication program using file descriptor 0\&.
+
+.TP
+\fIPW_REXEC\fR
+Authenticate a user who is connecting to the system using the \fIrexec\fR command\&. The authentication program will be invoked with a \fB\-x\fR option, followed by the username\&. The standard file descriptors are not available for communicating with the remote user\&. The standard input file descriptor will be connected to the parent process, while the other two output file descriptors will be connected to \fI/dev/null\fR\&. The \fIpw_auth\fR function will pipe a single line of data to the authentication program using file descriptor 0\&.
+
 .PP
-.B int pw_auth (char
-.I *command,
-.B char
-.I *user,
-.B int
-.I reason,
-.B char
-.IB *input) ;
-.SH DESCRIPTION
-.B pw_auth
-invokes the administrator defined functions for a given user.
+The last argument is the authentication data which is used by the \fIPW_FTP\fR and \fIPW_REXEC\fR reasons\&. It is treated as a single line of text which is piped to the authentication program\&. When the reason is \fIPW_CHANGE,\fR the value of \fIinput\fR is the value of previous user name if the user name is being changed\&.
+
+.SH "CAVEATS"
+
 .PP
-\fIcommand\fR is the name of the authentication program.
-It is retrieved from the user's password file information.
-The string contains one or more executable file names, delimited by
-semi\-colons.
-Each program will be executed in the order given.
-The command line arguments are given for each of the reasons listed
-below.
+This function does not create the actual session\&. It only indicates if the user should be allowed to create the session\&.
+
 .PP
-\fIuser\fR is the name of the user to be authenticated, as given
-in the \fI/etc/passwd\fR file.
-User entries are indexed by username.
-This allows non\-unique user IDs to be present and for each different
-username associated with that user ID to have a different
-authentication program and information.
+The network options are untested at this time\&.
+
+.SH "DIAGNOSTICS"
+
 .PP
-Each of the permissible authentication reasons is handled in a
-potentially differenent manner.
-Unless otherwise mentioned, the standard file descriptors 0, 1, and
-2 are available for communicating with the user.
-The real user ID may be used to determine the identity of the user
-making the authentication request.
-\fIreason\fR is one of
-.IP \fBPW_SU\fR 1i
-Perform authentication for the current real user ID attempting to
-switch real user ID to the named user.
-The authentication program will be invoked with a \fB\-s\fR option, followed
-by the username.
-.IP \fBPW_LOGIN\fR 1i
-Perform authentication for the named user creating a new login session.
-The authentication program will be invoked with a \fB\-l\fR option, followed
-by the username.
-.IP \fBPW_ADD\fR 1i
-Create a new entry for the named user.
-This allows an authentication program to initialize storage for a new
-user.
-The authentication program will be invoked with a \fB\-a\fR option, followed
-by the username.
-.IP \fBPW_CHANGE\fR 1i
-Alter an existing entry for the named user.
-This allows an authentication program to alter the authentication
-information for an existing user.
-The authentication program will be invoked with a \fB\-c\fR option, followed
-by the username.
-.IP \fBPW_DELETE\fR 1i
-Delete authentication information for the named user.
-This allows an authentication program to reclaim storage for a user which
-is no longer authenticated using the authentication program.
-The authentication program will be invoked with a \fB\-d\fR option, followed
-by the username.
-.IP \fBPW_TELNET\fR 1i
-Authenticate a user who is connecting to the system using the 
-\fBtelnet\fR command.
-The authentication program will be invoked with a \fB\-t\fR option, followed
-by the username.
-.IP \fBPW_RLOGIN\fR 1i
-Authenticate a user who is connecting to the system using the \fBrlogin\fR
-command.
-The authentication program will be invoked with a \fB\-r\fR option, followed
-by the username.
-.IP \fBPW_FTP\fR 1i
-Authenticate a user who is connecting to the system using the \fBftp\fR
-command.
-The authentication program will be invoked with a \fB\-f\fR option, followed
-by the username.
-The standard file descriptors are not available for communicating with the
-user.
-The standard input file descriptor will be connected to the parent process,
-while the other two output file descriptors will be connected to
-\fI/dev/null\fR.
-The \fBpw_auth\fR function will pipe a single line of data to the
-authentication program using file descriptor 0.
-.IP \fBPW_REXEC\fR 1i
-Authenticate a user who is connecting to the system using the \fIrexec\fR
-command.
-The authentication program will be invoked with a \fB\-x\fR option, followed
-by the username.
-The standard file descriptors are not available for communicating with the
-remote user.
-The standard input file descriptor will be connected to the parent process,
-while the other two output file descriptors will be connected to
-\fI/dev/null\fR.
-The \fBpw_auth\fR function will pipe a single line of data to the
-authentication program using file descriptor 0.
+The \fIpw_auth\fR function returns 0 if the authentication program exited with a 0 exit code, and a non\-zero value otherwise\&.
+
+.SH "SEE ALSO"
+
 .PP
-The last argument is the authentication data which is used by the
-.B PW_FTP
-and
-.B PW_REXEC
-reasons.
-It is treated as a single line of text which is piped to the authentication
-program.
-When the reason is
-.BR PW_CHANGE,
-the value of \fIinput\fR is the value of
-previous user name if the user name is being changed.
-.SH CAVEATS
-This function does not create the actual session.
-It only indicates if the user should be allowed to create the session.
+\fBlogin\fR(1), \fBpasswd\fR(1), \fBsu\fR(1), \fBuseradd\fR(8), \fBuserdel\fR(8), \fBusermod\fR(8) 
+
+.SH "AUTHOR"
+
 .PP
-The network options are untested at this time.
-.SH DIAGNOSTICS
-The \fBpw_auth\fR function returns 0 if the authentication program exited
-with a 0 exit code, and a non\-zero value otherwise.
-.SH SEE ALSO
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR useradd (8),
-.BR userdel (8),
-.BR usermod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 3e1324e5029aee2eace46eb005c49786e668b724..27d55d2a3b3a85b1f57f75038796150229e9e6a6 100644 (file)
@@ -2,24 +2,22 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='pw_auth.3'>
-  <!-- $Id: pw_auth.3.xml,v 1.5 2005/04/27 15:43:25 kloczek Exp $ -->
+  <!-- $Id: pw_auth.3.xml,v 1.10 2005/06/20 09:00:06 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>pw_auth</refentrytitle>
     <manvolnum>3</manvolnum>
   </refmeta>
   <refnamediv id='name'>
-    <refname>pwauth</refname>
+    <refname>pw_auth</refname>
     <refpurpose>administrator defined password authentication routines</refpurpose>
   </refnamediv>
   
   <refsect1 id='syntax'>
     <title>SYNTAX</title>
-    <para>
-      <emphasis remap='B'>#include &lt;pwauth.h&gt;</emphasis>
+    <para><emphasis remap='B'>#include &lt;pwauth.h&gt;</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>int pw_auth (char</emphasis>
+    <para><emphasis remap='B'>int pw_auth (char</emphasis>
       <emphasis remap='I'>*command,</emphasis>
       <emphasis remap='B'>char</emphasis>
       <emphasis remap='I'>*user,</emphasis>
@@ -32,8 +30,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <emphasis remap='B'>pw_auth</emphasis>
+    <para><emphasis remap='B'>pw_auth</emphasis>
       invokes the administrator defined functions for a given user.
     </para>
     
@@ -45,7 +42,7 @@
       listed below.
     </para>
     
-    <para> <emphasis remap='I'>user</emphasis> is the name of the user to be
+    <para><emphasis remap='I'>user</emphasis> is the name of the user to be
       authenticated, as given in the <filename>/etc/passwd</filename> file. 
       User entries are indexed by username. This allows non-unique user IDs
       to be present and for each different username associated with that
     </para>
     
     <para>Each of the permissible authentication reasons is handled in a
-      potentially differenent manner.  Unless otherwise mentioned, the
+      potentially differenent manner. Unless otherwise mentioned, the
       standard file descriptors 0, 1, and 2 are available for communicating
-      with the user.  The real user ID may be used to determine the identity
+      with the user. The real user ID may be used to determine the identity
       of the user making the authentication request. <emphasis
-      remap='I'>reason</emphasis> is one of
+      remap='I'>reason</emphasis> is one of:
     </para>
     <variablelist remap='IP'>
       <varlistentry>
@@ -66,7 +63,7 @@
         </term>
         <listitem>
           <para>Perform authentication for the current real user ID
-            attempting to switch real user ID to the named user.  The
+            attempting to switch real user ID to the named user. The
             authentication program will be invoked with a
             <option>-s</option> option, followed by the username.
           </para>
@@ -88,7 +85,7 @@
           <emphasis remap='B'>PW_ADD</emphasis>
         </term>
         <listitem>
-          <para>Create a new entry for the named user.  This allows an
+          <para>Create a new entry for the named user. This allows an
             authentication program to initialize storage for a new user. The
             authentication program will be invoked with a
             <option>-a</option> option, followed by the username.
   
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>This function does not create the actual session.  It only
+    <para>This function does not create the actual session. It only
       indicates if the user should be allowed to create the session.
     </para>
     
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index e57a5a00f0992eea8509c59fd7ad6a480be8ee32..e2d333262f6aebda792e578dd5bd5d2ba9be2823 100644 (file)
-.\"$Id: pwck.8,v 1.18 2005/04/12 17:55:55 kloczek Exp $
-.\" Copyright 1992, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH PWCK 8
-.SH NAME
-pwck \- verify integrity of password files
-.SH SYNOPSIS
-\fBpwck\fR [\fB\-sr\fR] [\fIpasswd\fR \fIshadow\fR]
-.SH DESCRIPTION
-\fBpwck\fR verifies the integrity of the system authentication information.
-All entries in the \fI/etc/passwd\fR and \fI/etc/shadow\fR are checked to
-see that the entry has the proper format and valid data in each field.
-The user is prompted to delete entries that are improperly formatted or
-which have other uncorrectable errors.
-.P
-Checks are made to verify that each entry has
-.sp
-.in +.5i
-\- the correct number of fields
-.br
-\- a unique user name
-.br
-\- a valid user and group identifier
-.br
-\- a valid primary group
-.br
-\- a valid home directory
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
 .br
-\- a valid login shell
-.in \-.5i
-.sp
+.if t .Sp
+.ne 5
 .PP
-The checks for correct number of fields and unique user name are fatal. If
-the entry has the wrong number of fields, the user will be prompted to
-delete the entire line. If the user does not answer affirmatively, all
-further checks are bypassed. An entry with a duplicated user name is
-prompted for deletion, but the remaining checks will still be made. All
-other errors are warning and the user is encouraged to run the
-\fBusermod\fR command to correct the error.
+\fB\\$1\fR
 .PP
-The commands which operate on the \fI/etc/passwd\fR file are not able to
-alter corrupted or duplicated entries.
-\fBpwck\fR should be used in those circumstances to remove the offending
-entry.
-.SH OPTIONS
-By default, \fBpwck\fR operates on the files \fI/etc/passwd\fR and
-\fI/etc/shadow\fR. The user may select alternate files with the \fIpasswd\fR
-and \fIshadow\fR parameters. Additionally, the user may execute the command
-in read\-only mode by specifying the \fB\-r\fR flag. This causes all questions
-regarding changes to be answered \fBno\fR without user intervention.
-\fBpwck\fR can also sort entries in \fI/etc/passwd\fR and \fI/etc/shadow\fR
-by UID. To run it in sort mode pass it \fB\-s\fR flag. No checks are
-performed then, it just sorts.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.br
-\fI/etc/group\fR       \- group account information
-.SH SEE ALSO
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5),
-.BR usermod (8)
-.SH EXIT VALUES
-.TP 2
-The \fBpwck\fR command exits with the following values:
-\fB0\fR        \- success
-.br
-\fB1\fR        \- invalid command syntax
-.br
-\fB2\fR        \- one or more bad password entries
-.br
-\fB3\fR        \- can't open password files
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
 .br
-\fB4\fR        \- can't lock password files
-.br
-\fB5\fR        \- can't update password files
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "PWCK" 8 "" "" ""
+.SH NAME
+pwck \- verify integrity of password files
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 5
+\fBpwck\fR [\-sr] [\fIpasswd\fR\ \fIshadow\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBpwck\fR verifies the integrity of the system authentication information\&. All entries in the \fI/etc/passwd\fR and \fI/etc/shadow\fR are checked to see that the entry has the proper format and valid data in each field\&. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors\&.
+
+.PP
+Checks are made to verify that each entry has:
+
+.TP 3
+\(bu
+the correct number of fields
+.TP
+\(bu
+a unique user name
+.TP
+\(bu
+a valid user and group identifier
+.TP
+\(bu
+a valid primary group
+.TP
+\(bu
+a valid home directory
+.TP
+\(bu
+a valid login shell
+.LP
+
+.PP
+The checks for correct number of fields and unique user name are fatal\&. If the entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warning and the user is encouraged to run the \fBusermod\fR command to correct the error\&.
+
+.PP
+The commands which operate on the \fI/etc/passwd\fR file are not able to alter corrupted or duplicated entries\&. \fBpwck\fR should be used in those circumstances to remove the offending entry\&.
+
+.SH "OPTIONS"
+
+.PP
+By default, \fBpwck\fR operates on the files \fI/etc/passwd\fR and \fI/etc/shadow\fR\&. The user may select alternate files with the \fIpasswd\fR and \fIshadow\fR parameters\&. Additionally, the user may execute the command in read\-only mode by specifying the \fB\-r\fR flag\&. This causes all questions regarding changes to be answered \fIno\fR without user intervention\&. \fBpwck\fR can also sort entries in \fI/etc/passwd\fR and \fI/etc/shadow\fR by UID\&. To run it in sort mode pass it \fB\-s\fR flag\&. No checks are performed then, it just sorts\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.SH "SEE ALSO"
+
+.PP
+\fBgroup\fR(5), \fBpasswd\fR(5), \fBshadow\fR(5), \fBusermod\fR(8) 
+
+.SH "EXIT VALUES"
+
+.PP
+The \fBpwck\fR command exits with the following values: 
+
+.TP
+\fI0\fR
+success
+.TP
+\fI1\fR
+invalid command syntax
+.TP
+\fI2\fR
+one or more bad password entries
+.TP
+\fI3\fR
+can't open password files
+.TP
+\fI4\fR
+can't lock password files
+.TP
+\fI5\fR
+can't update password files 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index f9a115c533357037463f50ab6d998e3a24457de3..33f835182d22833b5fce7fbf77a86821d7256068 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='pwck.8'>
-  <!-- $Id: pwck.8.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <!-- $Id: pwck.8.xml,v 1.8 2005/06/16 20:09:08 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>pwck</refentrytitle>
     <manvolnum>8</manvolnum>
@@ -14,7 +14,8 @@
   <!-- body begins here -->
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
-      <command>pwck</command>    <arg choice='opt'>-sr </arg>
+      <command>pwck</command>
+      <arg choice='opt'>-sr </arg>
       <arg choice='opt'>
         <arg choice='plain'>
           <replaceable>passwd</replaceable>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>pwck</command> verifies the integrity of the system
-      authentication information.  All entries in the
+    <para><command>pwck</command> verifies the integrity of the system
+      authentication information. All entries in the
       <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>
       are checked to see that the entry has the proper format and valid data
-      in each field.  The user is prompted to delete entries that are
+      in each field. The user is prompted to delete entries that are
       improperly formatted or which have other uncorrectable errors.
     </para>
     
-    <para>Checks are made to verify that each entry has</para>
-    
-    <!-- .in +.5i -->
-    <para>- the correct number of fields
-      <!-- .br -->
-      - a unique user name
-      <!-- .br -->
-      - a valid user and group identifier
-      <!-- .br -->
-      - a valid primary group
-      <!-- .br -->
-      - a valid home directory
-      <!-- .br -->
-      - a valid login shell
-    </para>
-    <!-- .in \-.5i -->
+    <para>Checks are made to verify that each entry has:</para>
+    <itemizedlist mark='bullet'>
+      <listitem>
+        <para>the correct number of fields</para>
+      </listitem>
+      <listitem>
+        <para>a unique user name</para>
+      </listitem>
+      <listitem>
+        <para>a valid user and group identifier</para>
+      </listitem>
+      <listitem>
+        <para>a valid primary group</para>
+      </listitem>
+      <listitem>
+        <para> a valid home directory</para>
+      </listitem>
+      <listitem>
+        <para>a valid login shell</para>
+      </listitem>
+    </itemizedlist>
     
     <para>The checks for correct number of fields and unique user name are
       fatal. If the entry has the wrong number of fields, the user will be
@@ -60,7 +65,7 @@
       affirmatively, all further checks are bypassed. An entry with a
       duplicated user name is prompted for deletion, but the remaining
       checks will still be made. All other errors are warning and the user
-      is encouraged to run the <command>usermod</coamand> command to correct
+      is encouraged to run the <command>usermod</command> command to correct
       the error.
     </para>
     
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
 
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
-    <variablelist remap='TP'>
-      <varlistentry>
-        <term>
-          The <command>pwck</command> command exits with the
-          following values:
-        </term>
-        <listitem>
-          <para>
-            <literal>0</literal>       - success
-            <!-- .br -->
-            <literal>1</literal>       - invalid command syntax
-            <!-- .br -->
-            <literal>2</literal>       - one or more bad password entries
-            <!-- .br -->
-            <literal>3</literal>       - can't open password files
-            <!-- .br -->
-            <literal>4</literal>       - can't lock password files
-            <!-- .br -->
-            <literal>5</literal>       - can't update password files
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+    <para>
+      The <command>pwck</command> command exits with the following values:
+      <variablelist>
+        <varlistentry>
+          <term><replaceable>0</replaceable></term>
+          <listitem>success</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>1</replaceable></term>
+          <listitem>invalid command syntax</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>2</replaceable></term>
+          <listitem>one or more bad password entries</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>3</replaceable></term>
+          <listitem>can't open password files</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>4</replaceable></term>
+          <listitem>can't lock password files</listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>5</replaceable></term>
+          <listitem>can't update password files</listitem>
+        </varlistentry>
+      </variablelist>
+    </para>
   </refsect1>
   
   <refsect1 id='author'>
index f89fbbf344d322561149a5f6d1d5483518068b60..e9761d47aa6a99f6b86166883662b9d9391dda9d 100644 (file)
@@ -1,56 +1,84 @@
-.\"$Id: pwconv.8,v 1.17 2005/05/19 10:34:59 kloczek Exp $
-.TH PWCONV 8 "26 Sep 1997"
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "PWCONV" 8 "26 Sep 1997" "" ""
 .SH NAME
 pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and groups.
-.SH SYNOPSIS
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 7
 \fBpwconv\fR
-.br
+.ad
+.hy
+.ad l
+.hy 0
+.HP 9
 \fBpwunconv\fR
-.br
+.ad
+.hy
+.ad l
+.hy 0
+.HP 8
 \fBgrpconv\fR
-.br
+.ad
+.hy
+.ad l
+.hy 0
+.HP 10
 \fBgrpunconv\fR
-.SH DESCRIPTION
-\fBpwconv\fR creates \fIshadow\fR from \fIpasswd\fR and an optionally existing
-\fIshadow\fR.
-.PP
-\fBpwunconv\fR creates \fIpasswd\fR from \fIpasswd\fR and \fIshadow\fR and then
-removes \fIshadow\fR.
-.PP
-\fBgrpconv\fR creates \fIgshadow\fR from \fIgroup\fR and an optionally existing
-\fIgshadow\fR.
-.PP
-\fBgrpunconv\fR creates \fIgroup\fR from \fIgroup\fR and \fIgshadow\fR and then
-removes \fIgshadow\fR.
-.PP
-These four programs all operate on the normal and shadow password and group
-files: \fI/etc/passwd\fR, \fI/etc/group\fR, \fI/etc/shadow\fR, and
-\fI/etc/gshadow\fR.
-.PP
-.PP 
-Each program acquires the necessary locks before conversion. \fBpwconv\fR and
-\fBgrpconv\fR are similar. First, entries in the shadowed file which don't
-exist in the main file are removed. Then, shadowed entries which don't have
-`x' as the password in the main file are updated. Any missing shadowed
-entries are added. Finally, passwords in the main file are replaced with
-`x'. These programs can be used for initial conversion as well to update the
-shadowed file if the main file is edited by hand.
-.PP
-\fBpwconv\fR will use the values of \fIPASS_MIN_DAYS\fR, \fIPASS_MAX_DAYS\fR,
-and \fIPASS_WARN_AGE\fR from \fI/etc/login.defs\fR when adding new entries
-to \fI/etc/shadow\fR.
-.PP
-Likewise  \fBpwunconv\fR and \fBgrpunconv\fR are similar. Passwords in the
-main file are updated from the shadowed file. Entries which exist in the
-main file but not in the shadowed file are left alone. Finally, the shadowed
-file is removed. Some password aging information is lost by \fBpwunconv\fR.
-It will convert what it can.
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBpwconv\fR creates \fIshadow\fR from \fIpasswd\fR and an optionally existing \fIshadow\fR\&.
+
+.PP
+\fBpwunconv\fR creates \fIpasswd\fR from \fIpasswd\fR and \fIshadow\fR and then removes \fIshadow\fR\&.
+
+.PP
+\fBgrpconv\fR creates \fIgshadow\fR from \fIgroup\fR and an optionally existing \fIgshadow\fR\&.
+
+.PP
+\fBgrpunconv\fR creates \fIgroup\fR from \fIgroup\fR and \fIgshadow\fR and then removes \fIgshadow\fR\&.
+
+.PP
+These four programs all operate on the normal and shadow password and group files: \fI/etc/passwd\fR, \fI/etc/group\fR, \fI/etc/shadow\fR, and \fI/etc/gshadow\fR\&.
+
+.PP
+Each program acquires the necessary locks before conversion\&. \fBpwconv\fR and \fBgrpconv\fR are similar\&. First, entries in the shadowed file which don't exist in the main file are removed\&. Then, shadowed entries which don't have `x' as the password in the main file are updated\&. Any missing shadowed entries are added\&. Finally, passwords in the main file are replaced with `x'\&. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand\&.
+
+.PP
+\fBpwconv\fR will use the values of \fIPASS_MIN_DAYS\fR, \fIPASS_MAX_DAYS\fR, and \fIPASS_WARN_AGE\fR from \fI/etc/login\&.defs\fR when adding new entries to \fI/etc/shadow\fR\&.
+
+.PP
+Likewise \fBpwunconv\fR and \fBgrpunconv\fR are similar\&. Passwords in the main file are updated from the shadowed file\&. Entries which exist in the main file but not in the shadowed file are left alone\&. Finally, the shadowed file is removed\&. Some password aging information is lost by \fBpwunconv\fR\&. It will convert what it can\&.
+
 .SH "BUGS"
-Errors in the password or group files (such as invalid or duplicate entries)
-may cause these programs to loop forever or fail in other strange ways. 
-Please run \fBpwck\fR and \fBgrpck\fR to correct any such errors before
-converting to or from shadow passwords or groups.
+
+.PP
+Errors in the password or group files (such as invalid or duplicate entries) may cause these programs to loop forever or fail in other strange ways\&. Please run \fBpwck\fR and \fBgrpck\fR to correct any such errors before converting to or from shadow passwords or groups\&.
+
 .SH "SEE ALSO"
-.BR login.defs (5),
-.BR grpck (8),
-.BR pwck (8)
+
+.PP
+\fBlogin\&.defs\fR(5), \fBgrpck\fR(8), \fBpwck\fR(8)
+
index c4885190949f24439c85b584c39bfc4e4427aa79..a14e3e9b75b01c410fadbc1e3f193313d534a639 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='pwconv.8'>
-  <!-- $Id: pwconv.8.xml,v 1.6 2005/05/19 10:35:00 kloczek Exp $ -->
+  <!-- $Id: pwconv.8.xml,v 1.7 2005/06/15 12:39:27 kloczek Exp $ -->
   <refentryinfo>
     <date>26 Sep 1997</date>
   </refentryinfo>
@@ -87,7 +87,7 @@
       are updated from the shadowed file. Entries which exist in the main
       file but not in the shadowed file are left alone. Finally, the
       shadowed file is removed. Some password aging information is lost by
-      <command>pwunconv</command>.  It will convert what it can.
+      <command>pwunconv</command>. It will convert what it can.
     </para>
   </refsect1>
   
@@ -95,7 +95,7 @@
     <title>BUGS</title>
     <para>Errors in the password or group files (such as invalid or
       duplicate entries) may cause these programs to loop forever or fail in
-      other strange ways.  Please run <command>pwck</command> and
+      other strange ways. Please run <command>pwck</command> and
       <command>grpck</command> to correct any such errors before converting
       to or from shadow passwords or groups.
     </para>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
index 4046e46ff0eb4759a50640b77129067e404b551b..5ec8ffde872b95a42be96fe6ff915e48b9daa4e4 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/ru
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -189,9 +185,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/ru/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/ru/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/ru/Makefile
+         $(AUTOMAKE) --gnu  man/ru/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index d34b961d42cd6b06c90960560ce8a189c2bf03e2..cb1a9666ce2869bb13810a0eb7ab6f09c185353c 100644 (file)
-.\" $Id: shadow.3,v 1.13 2005/04/12 16:31:06 kloczek Exp $
-.\" Copyright 1989 - 1993, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH SHADOW 3
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "SHADOW" 3 "" "" ""
 .SH NAME
 shadow \- encrypted password file routines
-.SH SYNTAX
-.B #include <shadow.h>
+.SH "SYNTAX"
+
+.PP
+\fI#include <shadow\&.h>\fR 
+
 .PP
-.B struct spwd *getspent();
+\fIstruct spwd *getspent();\fR 
+
 .PP
-.B struct spwd *getspnam(char
-.IB *name );
+\fIstruct spwd *getspnam(char\fR  \fI*name\fR\fI);\fR 
+
 .PP
-.B void setspent();
+\fIvoid setspent();\fR 
+
 .PP
-.B void endspent();
+\fIvoid endspent();\fR 
+
 .PP
-.B struct spwd *fgetspent(FILE
-.IB *fp );
+\fIstruct spwd *fgetspent(FILE\fR  \fI*fp\fR\fI);\fR 
+
 .PP
-.B struct spwd *sgetspent(char
-.IB *cp );
+\fIstruct spwd *sgetspent(char\fR  \fI*cp\fR\fI);\fR 
+
 .PP
-.B int putspent(struct spwd
-.I *p,
-.B FILE
-.IB *fp );
+\fIint putspent(struct spwd\fR  \fI*p,\fR  \fIFILE\fR  \fI*fp\fR\fI);\fR 
+
 .PP
-.B int lckpwdf();
+\fIint lckpwdf();\fR 
+
 .PP
-.B int ulckpwdf();
-.SH DESCRIPTION
-.I shadow
-manipulates the contents of the shadow password file,
-\fI/etc/shadow\fR.
-The structure in the \fI#include\fR file is
-.sp
+\fIint ulckpwdf();\fR 
+
+.SH "DESCRIPTION"
+
+.PP
+\fIshadow\fR manipulates the contents of the shadow password file, \fI/etc/shadow\fR\&. The structure in the \fI#include\fR file is:
+
+.nf
 struct spwd {
-.in +.5i
-.br
-       char                    *sp_namp; /* user login name */
-.br
-       char                    *sp_pwdp; /* encrypted password */
-.br
-       long int                sp_lstchg; /* last password change */
-.br
-       long int                sp_min; /* days until change allowed. */
-.br
-       long int                sp_max; /* days before change required */
-.br
-       long int                sp_warn; /* days warning for expiration */
-.br
-       long int                sp_inact; /* days before account inactive */
-.br
-       long int                sp_expire; /* date when account expires */
-.br
-       unsigned long int       sp_flag; /* reserved for future use */
-.br
-.in \-.5i
+      char                     *sp_namp; /* user login name */
+      char                     *sp_pwdp; /* encrypted password */
+      long int         sp_lstchg; /* last password change */
+      long int         sp_min; /* days until change allowed\&. */
+      long int         sp_max; /* days before change required */
+      long int         sp_warn; /* days warning for expiration */
+      long int         sp_inact; /* days before account inactive */
+      long int         sp_expire; /* date when account expires */
+      unsigned long int        sp_flag; /* reserved for future use */
 }
+    
+.fi
+
 .PP
-The meanings of each field are
-.sp
-sp_namp \- pointer to null\-terminated user name.
-.br
-sp_pwdp \- pointer to null\-terminated password.
-.br
-sp_lstchg \- days since Jan 1, 1970 password was last changed.
-.br
-sp_min \- days before which password may not be changed.
-.br
-sp_max \- days after which password must be changed.
-.br
-sp_warn \- days before password is to expire that user is warned
-of pending password expiration.
-.br
-sp_inact \- days after password expires that account is considered
-inactive and disabled.
-.br
-sp_expire \- days since Jan 1, 1970 when account will be disabled.
-.br
-sp_flag \- reserved for future use.
-.SH DESCRIPTION
-\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR, and \fBsgetspent\fR each
-return a pointer to a \fBstruct spwd\fR. \fBgetspent\fR returns the next
-entry from the file, and \fBfgetspent\fR returns the next entry from the
-given stream, which is assumed to be a file of the proper format.
-\fBsgetspent\fR returns a pointer to a \fBstruct spwd\fR using the
-provided string as input. \fBgetspnam\fR searches from the current position
-in the file for an entry matching \fBname\fR.
-.PP
-\fBsetspent\fR and \fBendspent\fR may be used to begin and end,
-respectively, access to the shadow password file.
-.PP
-The \fBlckpwdf\fR and \fBulckpwdf\fR routines should be used to insure
-exclusive access to the \fI/etc/shadow\fR file. \fBlckpwdf\fR attempts to
-acquire a lock using \fBpw_lock\fR for up to 15 seconds. It continues by
-attempting to acquire a second lock using \fBspw_lock\fR for the remainder
-of the initial 15 seconds. Should either attempt fail after a total of 15
-seconds, \fBlckpwdf\fR returns \-1. When both locks are acquired 0 is
-returned.
-.SH DIAGNOSTICS
-Routines return NULL if no more entries are available or if an error occurs
-during processing. Routines which have \fBint\fR as the return value return
-0 for success and \-1 for failure.
-.SH CAVEATS
-These routines may only be used by the super user as access to the shadow
-password file is restricted.
-.SH FILES
-\fI/etc/shadow\fR      \- secure user account information
-.SH SEE ALSO
-.BR getpwent (3),
-.BR shadow (5)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+The meanings of each field are:
+
+.TP 3
+\(bu
+sp_namp \- pointer to null\-terminated user name
+.TP
+\(bu
+sp_pwdp \- pointer to null\-terminated password
+.TP
+\(bu
+sp_lstchg \- days since Jan 1, 1970 password was last changed
+.TP
+\(bu
+sp_min \- days before which password may not be changed
+.TP
+\(bu
+sp_max \- days after which password must be changed
+.TP
+\(bu
+sp_warn \- days before password is to expire that user is warned of pending password expiration
+.TP
+\(bu
+sp_inact \- days after password expires that account is considered inactive and disabled
+.TP
+\(bu
+sp_expire \- days since Jan 1, 1970 when account will be disabled
+.TP
+\(bu
+sp_flag \- reserved for future use
+.LP
+
+.SH "DESCRIPTION"
+
+.PP
+\fIgetspent\fR, \fIgetspname\fR  \fIfgetspent\fR, and \fIsgetspent\fR each return a pointer to a \fIstruct spwd\fR\&. \fIgetspent\fR returns the next entry from the file, and \fIfgetspent\fR returns the next entry from the given stream, which is assumed to be a file of the proper format\&. \fIsgetspent\fR returns a pointer to a \fIstruct spwd\fR using the provided string as input\&. \fIgetspnam\fR searches from the current position in the file for an entry matching \fIname\fR\&.
+
+.PP
+\fIsetspent\fR and \fIendspent\fR may be used to begin and end, respectively, access to the shadow password file\&.
+
+.PP
+The \fIlckpwdf\fR and \fIulckpwdf\fR routines should be used to insure exclusive access to the \fI/etc/shadow\fR file\&. \fIlckpwdf\fR attempts to acquire a lock using \fIpw_lock\fR for up to 15 seconds\&. It continues by attempting to acquire a second lock using \fIspw_lock\fR for the remainder of the initial 15 seconds\&. Should either attempt fail after a total of 15 seconds, \fIlckpwdf\fR returns \-1\&. When both locks are acquired 0 is returned\&.
+
+.SH "DIAGNOSTICS"
+
+.PP
+Routines return NULL if no more entries are available or if an error occurs during processing\&. Routines which have \fIint\fR as the return value return 0 for success and \-1 for failure\&.
+
+.SH "CAVEATS"
+
+.PP
+These routines may only be used by the super user as access to the shadow password file is restricted\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.SH "SEE ALSO"
+
+.PP
+\fBgetpwent\fR(3), \fBshadow\fR(5) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index a2fef38e196537f0e6fa9202757e02520f214ee3..46c48ec382fe0612ff785bf2ad225eb2871f853b 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='shadow.3'>
-  <!--  $Id: shadow.3.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!--  $Id: shadow.3.xml,v 1.9 2005/06/20 08:42:12 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>shadow</refentrytitle>
     <manvolnum>3</manvolnum>
   
   <refsect1 id='syntax'>
     <title>SYNTAX</title>
-    <para>
-      <emphasis remap='B'>#include &lt;shadow.h&gt;</emphasis>
+    <para><emphasis remap='B'>#include &lt;shadow.h&gt;</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>struct spwd *getspent();</emphasis>
+    <para><emphasis remap='B'>struct spwd *getspent();</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>struct spwd *getspnam(char</emphasis>
+    <para><emphasis remap='B'>struct spwd *getspnam(char</emphasis>
       <emphasis remap='I'>*name</emphasis><emphasis remap='B'>);</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>void setspent();</emphasis>
+    <para><emphasis remap='B'>void setspent();</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>void endspent();</emphasis>
+    <para><emphasis remap='B'>void endspent();</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>struct spwd *fgetspent(FILE</emphasis>
+    <para><emphasis remap='B'>struct spwd *fgetspent(FILE</emphasis>
       <emphasis remap='I'>*fp</emphasis><emphasis remap='B'>);</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>struct spwd *sgetspent(char</emphasis>
+    <para><emphasis remap='B'>struct spwd *sgetspent(char</emphasis>
       <emphasis remap='I'>*cp</emphasis><emphasis remap='B'>);</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>int putspent(struct spwd</emphasis>
+    <para><emphasis remap='B'>int putspent(struct spwd</emphasis>
       <emphasis remap='I'>*p,</emphasis>
       <emphasis remap='B'>FILE</emphasis>
       <emphasis remap='I'>*fp</emphasis><emphasis remap='B'>);</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>int lckpwdf();</emphasis>
+    <para><emphasis remap='B'>int lckpwdf();</emphasis>
     </para>
     
-    <para>
-      <emphasis remap='B'>int ulckpwdf();</emphasis>
+    <para><emphasis remap='B'>int ulckpwdf();</emphasis>
     </para>
   </refsect1>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <emphasis remap='I'>shadow</emphasis>
-      manipulates the contents of the shadow password file,
-      <filename>/etc/shadow</filename>.
-      The structure in the <emphasis remap='I'>#include</emphasis> file
-      is        
+    <para><emphasis remap='I'>shadow</emphasis> manipulates the contents of
+      the shadow password file, <filename>/etc/shadow</filename>.
+      The structure in the <emphasis remap='I'>#include</emphasis> file is:
     </para>
-    
-    <para>struct spwd {
-      <!-- .in +.5i -->
-      <!-- .br -->
+    <programlisting>struct spwd {
       char                     *sp_namp; /* user login name */
-      <!-- .br -->
       char                     *sp_pwdp; /* encrypted password */
-      <!-- .br -->
       long int         sp_lstchg; /* last password change */
-      <!-- .br -->
       long int         sp_min; /* days until change allowed. */
-      <!-- .br -->
       long int         sp_max; /* days before change required */
-      <!-- .br -->
       long int         sp_warn; /* days warning for expiration */
-      <!-- .br -->
       long int         sp_inact; /* days before account inactive */
-      <!-- .br -->
       long int         sp_expire; /* date when account expires */
-      <!-- .br -->
       unsigned long int        sp_flag; /* reserved for future use */
-      <!-- .br -->
-      <!-- .in \-.5i -->
-      }
-    </para>
-    
-    <para>The meanings of each field are</para>
-    
-    <para>sp_namp - pointer to null-terminated user name.
-      <!-- .br -->
-      sp_pwdp - pointer to null-terminated password.
-      <!-- .br -->
-      sp_lstchg - days since Jan 1, 1970 password was last changed.
-      <!-- .br -->
-      sp_min - days before which password may not be changed.
-      <!-- .br -->
-      sp_max - days after which password must be changed.
-      <!-- .br -->
-      sp_warn - days before password is to expire that user is warned
-      of pending password expiration.
-      <!-- .br -->
-      sp_inact - days after password expires that account is considered
-      inactive and disabled.
-      <!-- .br -->
-      sp_expire - days since Jan 1, 1970 when account will be disabled.
-      <!-- .br -->
-      sp_flag - reserved for future use.
-    </para>
+}
+    </programlisting>
+    <para>The meanings of each field are:</para>
+    <itemizedlist mark='bullet'>
+      <listitem>
+        <para>sp_namp - pointer to null-terminated user name</para>
+      </listitem>
+      <listitem>
+        <para>sp_pwdp - pointer to null-terminated password</para>
+      </listitem>
+      <listitem>
+        <para>sp_lstchg - days since Jan 1, 1970 password was last changed</para>
+      </listitem>
+      <listitem>
+        <para>sp_min - days before which password may not be changed</para>
+      </listitem>
+      <listitem>
+        <para>sp_max - days after which password must be changed</para>
+      </listitem>
+      <listitem>
+         <para>sp_warn - days before password is to expire that user is warned of
+          pending password expiration
+        </para>
+      </listitem>
+      <listitem>
+        <para>sp_inact - days after password expires that account is considered
+          inactive and disabled
+       </para>
+      </listitem>
+      <listitem>
+        <para>sp_expire - days since Jan 1, 1970 when account will be disabled</para>
+      </listitem>
+      <listitem>
+        <para>sp_flag - reserved for future use</para>
+      </listitem>
+    </itemizedlist>
+        
   </refsect1>
   
   <refsect1 id='description2'>
     <title>DESCRIPTION</title>
-    <para>
-      <emphasis remap='B'>getspent</emphasis>, <emphasis
+    <para><emphasis remap='B'>getspent</emphasis>, <emphasis
       remap='B'>getspname</emphasis> <emphasis
       remap='B'>fgetspent</emphasis>, and <emphasis
       remap='B'>sgetspent</emphasis> each return a pointer to a <emphasis
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>getpwent</refentrytitle><manvolnum>3</manvolnum>
       </citerefentry>,
       <citerefentry>
index 1485d990aab0fb2eced3406820b15d21804af222..d3a251c356894bd1c7716be7b772f602cbdc420a 100644 (file)
@@ -1,91 +1,92 @@
-.\"$Id: shadow.5,v 1.15 2005/04/12 16:31:06 kloczek Exp $
-.\" Copyright 1989 - 1990, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH SHADOW 5
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "SHADOW" 5 "" "" ""
 .SH NAME
 shadow \- encrypted password file
-.SH DESCRIPTION
-\fIshadow\fR contains the encrypted password information for user's accounts
-and optional the password aging information. Included is
-.IP "" .5i
-Login name
-.IP "" .5i
-Encrypted password
-.IP "" .5i
-Days since Jan 1, 1970 that password was last changed
-.IP "" .5i
-Days before password may be changed
-.IP "" .5i
-Days after which password must be changed
-.IP "" .5i
-Days before password is to expire that user is warned
-.IP "" .5i
-Days after password expires that account is disabled
-.IP "" .5i
-Days since Jan 1, 1970 that account is disabled
-.IP "" .5i
-A reserved field
+.SH "DESCRIPTION"
+
 .PP
-The password field must be filled. The encryped password consists of 13 to
-24 characters from the 64 characters alphabet a thru z, A thru Z, 0 thru 9,
-\&\. and /. Optionally it can start with a "$" character. This means the
-encrypted password was generated using another (not DES) algorithm. For
-example if it starts with "$1$" it means the MD5\-based algorithm was used.
+\fIshadow\fR contains the encrypted password information for user's accounts and optional the password aging information\&. Included is:
+
+.TP 3
+\(bu
+login name
+.TP
+\(bu
+encrypted password
+.TP
+\(bu
+days since Jan 1, 1970 that password was last changed
+.TP
+\(bu
+days before password may be changed
+.TP
+\(bu
+days after which password must be changed
+.TP
+\(bu
+days before password is to expire that user is warned
+.TP
+\(bu
+days after password expires that account is disabled
+.TP
+\(bu
+days since Jan 1, 1970 that account is disabled
+.TP
+\(bu
+a reserved field
+.LP
+
 .PP
-Refer to \fBcrypt\fR(3) for details on how this string is interpreted.
+The password field must be filled\&. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A thru Z, 0 thru 9, \\\&. and /\&. Optionally it can start with a "$" character\&. This means the encrypted password was generated using another (not DES) algorithm\&. For example if it starts with "$1$" it means the MD5\-based algorithm was used\&.
+
 .PP
-The date of the last password change is given as the number of days since
-Jan 1, 1970. The password may not be changed again until the proper number
-of days have passed, and must be changed after the maximum number of days.
-If the minimum number of days required is greater than the maximum number of
-day allowed, this password may not be changed by the user.
+Refer to \fBcrypt\fR(3) for details on how this string is interpreted\&.
+
 .PP
-An account is considered to be inactive and is disabled if the password is
-not changed within the specified number of days after the password expires.
-An account will also be disabled on the specified day regardless of other
-password expiration information.
+The date of the last password change is given as the number of days since Jan 1, 1970\&. The password may not be changed again until the proper number of days have passed, and must be changed after the maximum number of days\&. If the minimum number of days required is greater than the maximum number of day allowed, this password may not be changed by the user\&.
+
 .PP
-This information supercedes any password or password age information present
-in \fI/etc/passwd\fR.
+An account is considered to be inactive and is disabled if the password is not changed within the specified number of days after the password expires\&. An account will also be disabled on the specified day regardless of other password expiration information\&.
+
 .PP
-This file must not be readable by regular users if password security is to
-be maintained.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.SH SEE ALSO
-.BR chage (1),
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR passwd (5),
-.BR pwconv (8),
-.BR pwunconv (8),
-.BR sulogin (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+This information supersedes any password or password age information present in \fI/etc/passwd\fR\&.
+
+.PP
+This file must not be readable by regular users if password security is to be maintained\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.SH "SEE ALSO"
+
+.PP
+\fBchage\fR(1), \fBlogin\fR(1), \fBpasswd\fR(1), \fBsu\fR(1), \fBpasswd\fR(5), \fBpwconv\fR(8), \fBpwunconv\fR(8), \fBsulogin\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 321d6c3e7a281ace88c68a789683aae1f2332ad4..b7c2eb630fb3d040c7328df5e1eb0c80389aeec5 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='shadow.5'>
-  <!-- $Id: shadow.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: shadow.5.xml,v 1.9 2005/06/16 17:27:33 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>shadow</refentrytitle>
     <manvolnum>5</manvolnum>
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <emphasis remap='I'>shadow</emphasis> contains the encrypted
+    <para><emphasis remap='I'>shadow</emphasis> contains the encrypted
       password information for user's accounts
-      and optional the password aging information. Included is
+      and optional the password aging information. Included is:
     </para>
+    <itemizedlist mark='bullet'>
+      <listitem>
+        <para>login name</para>
+      </listitem>
+      <listitem>
+        <para>encrypted password</para>
+      </listitem>
+      <listitem>
+        <para>days since Jan 1, 1970 that password was last changed</para>
+      </listitem>
+      <listitem>
+        <para>days before password may be changed</para>
+      </listitem>
+      <listitem>
+        <para>days after which password must be changed</para>
+      </listitem>
+      <listitem>
+        <para>days before password is to expire that user is warned</para>
+      </listitem>
+      <listitem>
+        <para>days after password expires that account is disabled</para>
+      </listitem>
+      <listitem>
+        <para>days since Jan 1, 1970 that account is disabled</para>
+      </listitem>
+      <listitem>
+        <para>a reserved field</para>
+      </listitem>
+    </itemizedlist>
     
-    <para>Login name</para>
-    
-    <para>Encrypted password</para>
-    
-    <para>Days since Jan 1, 1970 that password was last changed</para>
-    
-    <para>Days before password may be changed</para>
-    
-    <para>Days after which password must be changed</para>
-    
-    <para>Days before password is to expire that user is warned</para>
-    
-    <para>Days after password expires that account is disabled</para>
-    
-    <para>Days since Jan 1, 1970 that account is disabled</para>
-    
-    <para>A reserved field</para>
-    
-    <para>The password field must be filled. The encryped password consists
+    <para>The password field must be filled. The encrypted password consists
       of 13 to 24 characters from the 64 characters alphabet a thru z, A
       thru Z, 0 thru 9, \. and /. Optionally it can start with a "$"
       character. This means the encrypted password was generated using
     
     <para>An account is considered to be inactive and is disabled if the
       password is not changed within the specified number of days after the
-      password expires.  An account will also be disabled on the specified
+      password expires. An account will also be disabled on the specified
       day regardless of other password expiration information.
     </para>
     
-    <para>This information supercedes any password or password age
+    <para>This information supersedes any password or password age
       information present in <filename>/etc/passwd</filename>.
     </para>
     
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chage</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index bef9e47eff437076a3a274c1287af4e32e76d833..e4daee21285c3c13ddf64b1cbdd82a412fb7149c 100644 (file)
@@ -1,22 +1,41 @@
-.\"$Id: shadowconfig.8,v 1.7 2004/12/11 20:05:01 kloczek Exp $
-.TH SHADOWCONFIG 8 "19 Apr 1997" "Debian GNU/Linux"
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "SHADOWCONFIG" 8 "19 Apr 1997" "" ""
 .SH NAME
 shadowconfig \- toggle shadow passwords on and off
-.SH SYNOPSIS
-.B "shadowconfig"
-.IR on " | " off
-.SH DESCRIPTION
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 13
+\fBshadowconfig\fR \fB\fIon\fR\fR | \fB\fIoff\fR\fR 
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBshadowconfig\fR on will turn shadow passwords on; \fIshadowconfig off\fR will turn shadow passwords off\&. \fBshadowconfig\fR will print an error message and exit with a nonzero code if it finds anything awry\&. If that happens, you should correct the error and run it again\&. Turning shadow passwords on when they are already on, or off when they are already off, is harmless\&.
+
+.PP
+Read \fI/usr/share/doc/passwd/README\&.debian\fR for a brief introduction to shadow passwords and related features\&.
+
 .PP
+Note that turning shadow passwords off and on again will lose all password aging information\&.
 
-\fBshadowconfig on\fR will turn shadow passwords on; \fBshadowconfig off\fR
-will turn shadow passwords off. \fBshadowconfig\fR will print an error
-message and exit with a nonzero code if it finds anything awry. If that
-happens, you should correct the error and run it again. Turning shadow
-passwords on when they are already on, or off when they are already off, is
-harmless.
-.P
-Read \fI/usr/share/doc/passwd/README.debian\fR for a brief introduction
-to shadow passwords and related features.
-.P
-Note that turning shadow passwords off and on again will lose all password
-aging information.
index ef172eee331a0cd0ed20c394dcc8deeb84b97a29..9c25f17e63d1bb0a44594fdf54959b49976398c0 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='shadowconfig.8'>
-  <!-- $Id: shadowconfig.8.xml,v 1.5 2005/04/27 18:20:35 kloczek Exp $ -->
+  <!-- $Id: shadowconfig.8.xml,v 1.6 2005/06/15 12:39:27 kloczek Exp $ -->
   <refentryinfo>
     <date>19 Apr 1997</date>
   </refentryinfo>
@@ -29,8 +29,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>shadowconfig</coamand> on will turn shadow passwords on;
+    <para><command>shadowconfig</command> on will turn shadow passwords on;
       <emphasis remap='B'>shadowconfig off</emphasis> will turn shadow
       passwords off. <command>shadowconfig</command> will print an error
       message and exit with a nonzero code if it finds anything awry. If
index 3e660e57cf276f100f9ff7beee29109b170ce4a7..4533ed4c828f6d9dc57020eafa57a960d2fa1b79 100644 (file)
--- a/man/su.1
+++ b/man/su.1
@@ -1,71 +1,70 @@
-.\" $Id: su.1,v 1.18 2005/05/19 10:35:00 kloczek Exp $
-.\" Copyright 1989 - 1990, 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH SU 1
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "SU" 1 "" "" ""
 .SH NAME
-su \- change user ID or become super\-user
-.SH SYNOPSIS
-\fBsu\fR [\fB\-\fR] [\fIusername\fR [\fIargs\fR]]
-.SH DESCRIPTION
-\fBsu\fR is used to become another user during a login session. Invoked
-without a username, \fBsu\fR defaults to becoming the super user. The
-optional argument \fB\-\fR may be used to provide an environment similar to
-what the user would expect had the user logged in directly.
+su \- change user ID or become super-user
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 3
+\fBsu\fR [\-] [\fIusername\fR\ [\fIargs\fR]]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
 .PP
-Additional arguments may be provided after the username, in which case they
-are supplied to the user\'s login shell. In particular, an argument of
-\fB\-c\fR will cause the next argument to be treated as a command by most
-command interpreters. The command will be executed by the shell specified in
-\fI/etc/passwd\fR for the target user.
+\fBsu\fR is used to become another user during a login session\&. Invoked without a username, \fBsu\fR defaults to becoming the super user\&. The optional argument \fB\-\fR may be used to provide an environment similar to what the user would expect had the user logged in directly\&.
+
 .PP
-The user will be prompted for a password, if appropriate. Invalid passwords
-will produce an error message. All attempts, both valid and invalid, are
-logged to detect abuses of the system.
+Additional arguments may be provided after the username, in which case they are supplied to the user´s login shell\&. In particular, an argument of \fB\-c\fR will cause the next argument to be treated as a command by most command interpreters\&. The command will be executed by the shell specified in \fI/etc/passwd\fR for the target user\&.
+
 .PP
-The current environment is passed to the new shell. The value of \fB$PATH\fR
-\is reset to \fB/bin:/usr/bin\fR for normal users, or
-\fB/sbin:/bin:/usr/sbin:/usr/bin\fR for the super user. This may be changed
-with the \fBENV_PATH\fR and \fBENV_SUPATH\fR definitions in
-\fI/etc/login.defs\fR.
+The user will be prompted for a password, if appropriate\&. Invalid passwords will produce an error message\&. All attempts, both valid and invalid, are logged to detect abuses of the system\&.
+
 .PP
-A subsystem login is indicated by the presense of a "*" as the first
-character of the login shell. The given home directory will be used as
-the root of a new filesystem which the user is actually logged into.
-.SH CAVEATS
-This version of \fBsu\fR has many compilation options, only some of which
-may be in use at any particular site.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.SH SEE ALSO
-.BR login (1),
-.BR sh (1),
-.BR login.defs (5),
-.BR suauth (5)
-.SH AUTHOR
-Julianne Frances Haugh <jockgrrl@ix.netcom.com>
+The current environment is passed to the new shell\&. The value of \fI$PATH\fR is reset to \fI/bin:/usr/bin\fR for normal users, or \fI/sbin:/bin:/usr/sbin:/usr/bin\fR for the super user\&. This may be changed with the \fIENV_PATH\fR and \fIENV_SUPATH\fR definitions in \fI/etc/login\&.defs\fR\&.
+
+.PP
+A subsystem login is indicated by the presense of a "*" as the first character of the login shell\&. The given home directory will be used as the root of a new filesystem which the user is actually logged into\&.
+
+.SH "CAVEATS"
+
+.PP
+This version of \fBsu\fR has many compilation options, only some of which may be in use at any particular site\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.SH "SEE ALSO"
+
+.PP
+\fBlogin\fR(1), \fBsh\fR(1), \fBlogin\&.defs\fR(5), \fBsuauth\fR(5) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh <jockgrrl@ix\&.netcom\&.com>
+
index 8cf4be96f87c269a6f26d342b2ed88e2ec1f3feb..cb077397370fe9f49876f2f98494990657ae7c64 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='su.1'>
-  <!--  $Id: su.1.xml,v 1.8 2005/05/19 10:35:00 kloczek Exp $ -->
+  <!--  $Id: su.1.xml,v 1.9 2005/06/15 12:39:27 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>su</refentrytitle>
     <manvolnum>1</manvolnum>
@@ -29,8 +29,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>su</command> is used to become another user during a login
+    <para><command>su</command> is used to become another user during a login
       session. Invoked without a username, <command>su</command> defaults to
       becoming the super user. The optional argument <option>-</option> may
       be used to provide an environment similar to what the user would
@@ -90,8 +89,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 8bff74fbab4cb01b2c296e182472beb359a0fc68..69aeaa4619dc25b5eced33235955e4cb908d75b6 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='suauth.5'>
-  <!-- $Id: suauth.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: suauth.5.xml,v 1.6 2005/06/15 12:39:27 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>suauth</refentrytitle>
     <manvolnum>5</manvolnum>
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>
     </para>
index deca8da3377e68a51b7cb6f8a84110d5458adefb..22050c53fb26d906cf89a88732a14b9b6d84dbb8 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='sulogin.8'>
-  <!--  $Id: sulogin.8.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <!--  $Id: sulogin.8.xml,v 1.7 2005/06/15 12:39:27 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>sulogin</refentrytitle>
     <manvolnum>8</manvolnum>
@@ -15,7 +15,7 @@
   <refsect1 id='syntax'>
     <title>SYNTAX</title>
     <para>
-      <command>sulogin</coamand> [<emphasis remap='I'>
+      <command>sulogin</command> [<emphasis remap='I'>
         tty-device
       </emphasis>
       ]
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
     <para>
-      <command>sulogin</coamand> is invoked by <command>init</coamand> prior
+      <command>sulogin</command> is invoked by <command>init</command> prior
       to allowing the user access to the system when in single user mode. 
       This feature may only be available on certain systems where
-      <command>init</coamand> has been modified accordingly, or where the
+      <command>init</command> has been modified accordingly, or where the
       <filename>/etc/inittab</filename> has an entry for a single user
       login.
     </para>
@@ -60,8 +60,8 @@
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
     <para>
-      This command can only be used if <command>init</coamand> has been
-      modified to call <command>sulogin</coamand> instead of
+      This command can only be used if <command>init</command> has been
+      modified to call <command>sulogin</command> instead of
       <filename>/bin/sh</filename>, or if the user has set the <emphasis
       remap='I'>inittab</emphasis> to support a single user login. For
       example, the line:
@@ -97,8 +97,7 @@
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index f7b81bdc1452fa85685508f4a0c6659b56f064eb..1f6cf388e0b84319111a570172ffd2ec9840147c 100644 (file)
-.\" $Id: useradd.8,v 1.29 2005/04/18 19:21:33 kloczek Exp $
-.\" Copyright 1991 - 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH USERADD 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "USERADD" 8 "" "" ""
 .SH NAME
 useradd \- Create a new user or update default new user information
-.SH SYNOPSIS
-.TP 8
-\fBuseradd\fR [\fB\-c\fR \fIcomment\fR] [\fB\-d\fR \fIhome_dir\fR] [\fB\-e\fR \fIexpire_date\fR] [\fB\-f\fR \fIinactive_days\fR]
-.br
-[\fB\-g\fR \fIinitial_group\fR] [\fB\-G\fR \fIgroup1\fR[\fI,group2,...,\fR[\fIgroupN\fR]\fR]]
-.br
-[[\fB\-M\fR] \fB\-m\fR [\fB\-k\fR \fIskeleton_dir\fR]] [\fB\-o\fR] [\fB\-p\fR \fIpasswd\fR] [\fB\-s\fR \fIshell\fR]
-.br
-[\fB\-u\fR \fIuid\fR] \fIlogin\fR
-.TP 8
-\fBuseradd\fR \fB\-D\fR [\fB\-g\fR \fIgroup\fR] [\fB\-b\fR \fIhome_dir\fR] [\fB\-e\fR \fIexpire_date\fR]
-.br
-[\fB\-f\fR \fIinactive_days\fR] [\fB\-s\fR \fIshell\fR]
-.SH DESCRIPTION
-.SS Creating New Users
-When invoked without the \fB\-D\fR option, the \fBuseradd\fR command creates
-a new user account using the values specified on the command line and the
-default values from the system. Depending on command line options, the
-useradd command will update system files and may also create the new user's
-home directory and copy initial files.
-.SH OPTIONS
-The options which apply to the
-\fBuseradd\fR command are:
-.IP "\fB\-c\fR \fIcomment\fR"
-The new user's password file comment field.
-.IP "\fB\-d\fR \fIhome_dir\fR"
-The new user will be created using \fIhome_dir\fR as the value for the
-user's login directory. The default is to append the \fIlogin\fR name to
-\fIhome\fR and use that as the login directory name.
-.IP "\fB\-e\fR \fIexpire_date\fR"
-The date on which the user account will be disabled. The date is specified
-in the format \fIYYYY\-MM\-DD\fR.
-.IP "\fB\-f\fR \fIinactive_days\fR"
-The number of days after a password expires until the account is permanently
-disabled. A value of 0 disables the account as soon as the password has
-expired, and a value of \-1 disables the feature. The default value is \-1.
-.IP "\fB\-g\fR \fIinitial_group\fR"
-The group name or number of the user's initial login group. The group name
-must exist.  A group number must refer to an already existing group. The
-default group number is 1 or whatever is specified in
-\fI/etc/default/useradd\fR.
-.IP "\fB\-G\fR \fIgroup1\fR[\fI,group2,...,\fR[\fIgroupN\fR]\fR]]"
-A list of supplementary groups which the user is also a member of. Each
-group is separated from the next by a comma, with no intervening whitespace.
-The groups are subject to the same restrictions as the group given with the
-\fB\-g\fR option. The default is for the user to belong only to the initial
-group.
-.IP \fB\-M\fR
-RedHat added the CREATE_HOME option in login.defs in their version of
-shadow\-utils (which makes \-m the default, with new \-M option to turn it
-off). Unfortunately, this changes the way useradd works (it can be run by
-scripts expecting some standard behaviour), compared to other Unices and
-other Linux distributions, and also adds a lot of confusion.
-.IP \fB\-m\fR
-The user's home directory will be created if it does not exist. The files
-contained in \fIskeleton_dir\fR will be copied to the home directory if the
-\fB\-k\fR option is used, otherwise the files contained in \fI/etc/skel\fR
-will be used instead. Any directories contained in \fIskeleton_dir\fR or
-\fI/etc/skel\fR will be created in the user's home directory as well. The
-\fB\-k\fR option is only valid in conjunction with the \fB\-m\fR option. The
-default is to not create the directory and to not copy any files.
-.IP "\fB\-o\fR"
-Allow create user with duplicate (non\-unique) UID.
-.IP "\fB\-p\fR \fIpasswd\fR"
-The encrypted password, as returned by \fBcrypt\fR(3). The default is to
-disable the account.
-.IP "\fB\-s\fR \fIshell\fR"
-The name of the user's login shell. The default is to leave this field
-blank, which causes the system to select the default login shell.
-.IP "\fB\-u\fR \fIuid\fR"
-The numerical value of the user's ID. This value must be unique, unless the
-\fI\-o\fR option is used. The value must be non\-negative. The default is to
-use the smallest ID value greater than 999 and greater than every other user.
-Values between 0 and 999 are typically reserved for system accounts.
-.SS Changing the default values
-When invoked with the \fB\-D\fR option, \fBuseradd\fR will either display the
-current default values, or update the default values from the command line.
-The valid options are
-.IP "\fB\-b\fR \fIhome_dir\fR"
-The initial path prefix for a new user's home directory. The user's name
-will be affixed to the end of \fIhome\fR to create the new directory
-name if the \fB\-d\fR option is not used when creating a new account.
-.IP "\fB\-e\fR \fIexpire_date\fR"
-The date on which the user account is disabled.
-.IP "\fB\-f\fR \fIinactive\fR"
-The number of days after a password has expired before the account will be
-disabled.
-.IP "\fB\-g\fR \fIgroup\fR"
-The group name or ID for a new user's initial group. The named group must
-exist, and a numerical group ID must have an existing entry .
-.IP "\fB\-s\fR \fIshell\fR"
-The name of the new user's login shell. The named program will be used for
-all future new user accounts.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 8
+\fBuseradd\fR [\-c\ \fIcomment\fR] [\-d\ \fIhome_dir\fR] [\-e\ \fIexpire_date\fR] [\-f\ \fIinactive_days\fR]
+.br
+ [\-g\ \fIinitial_group\fR] [\-G\ \fIgroup1\fR\ [\fI,group2,\fR...\ \fI,\fR\ [\fIgroupN\fR]]]
+.br
+ [[\-M]\ \-m\ [\-k\ \fIskeleton_dir\fR]] [\-o] [\-p\ \fIpasswd\fR] [\-s\ \fIshell\fR]
+.br
+ [\-u\ \fIuid\fR] \fIlogin\fR \fIuseradd\fR \-D [\-g\ \fIgroup\fR] [\-b\ \fIhome_dir\fR] [\-e\ \fIexpire_date\fR]
+.br
+ [\-f\ \fIinactive_days\fR] [\-s\ \fIshell\fR]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.SS "Creating New Users"
+
 .PP
-If no options are specified, \fBuseradd\fR displays the current default
-values.
-.SH NOTES
-The system administrator is responsible for placing the default user files
-in the \fI/etc/skel/\fR directory.
-.SH CAVEATS
-You may not add a user to an NIS group. This must be performed on the NIS
-server.
-.SH FILES
-\fI/etc/passwd\fR                      \- user account information
-.br
-\fI/etc/shadow\fR                      \- secure user account information
-.br
-\fI/etc/group\fR                       \- group account information
-.br
-\fI/etc/default/useradd\fR     \- default information
-.br
-\fI/etc/skel/\fR                       \- directory containing default files
-.SH EXIT VALUES
-.TP 2
-The \fBuseadd\fR command exits with the following values:
-.br
-\fB0\fR        \- success
-.br
-\fB1\fR        \- can't update password file
-.br
-\fB2\fR        \- invalid command syntax
-.br
-\fB3\fR        \- invalid argument to option
-.br
-\fB4\fR        \- uid already in use (and no \-o)
-.br
-\fB6\fR        \- specified group doesn't exist
-.br
-\fB9\fR        \- username already in use
-.br
-\fB10\fR       \- can't update group file
-.br
-\fB12\fR       \- can't create home directory
-.br
-\fB13\fR       \- can't create mail spool
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR passwd (1),
-.BR crypt (3),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR userdel (8),
-.BR usermod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+When invoked without the \fB\-D\fR option, the \fBuseradd\fR command creates a new user account using the values specified on the command line and the default values from the system\&. Depending on command line options, the useradd command will update system files and may also create the new user's home directory and copy initial files\&.
+
+.SH "OPTIONS"
+
+.PP
+The options which apply to the \fBuseradd\fR command are:
+
+.TP
+\fB\-c\fR \fIcomment\fR
+The new user's password file comment field\&.
+
+.TP
+\fB\-d\fR \fIhome_dir\fR
+The new user will be created using \fI home_dir \fRas the value for the user's login directory\&. The default is to append the \fIlogin\fR name to \fIhome\fR and use that as the login directory name\&.
+
+.TP
+\fB\-e\fR \fIexpire_date\fR
+The date on which the user account will be disabled\&. The date is specified in the format \fIYYYY\-MM\-DD\fR\&.
+
+.TP
+\fB\-f\fR \fIinactive_days\fR
+The number of days after a password expires until the account is permanently disabled\&. A value of 0 disables the account as soon as the password has expired, and a value of \-1 disables the feature\&. The default value is \-1\&.
+
+.TP
+\fB\-g\fR \fIinitial_group\fR
+The group name or number of the user's initial login group\&. The group name must exist\&. A group number must refer to an already existing group\&. The default group number is 1 or whatever is specified in \fI/etc/default/useradd\fR\&.
+
+.TP
+\fB\-G\fR \fIgroup1\fR[\fI ,group2,\&.\&.\&., \fR [\fIgroupN\fR]]]
+A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the \fB\-g\fR option\&. The default is for the user to belong only to the initial group\&.
+
+.TP
+\fB\-M\fR
+RedHat added the CREATE_HOME option in login\&.defs in their version of shadow\-utils (which makes \-m the default, with new \-M option to turn it off)\&. Unfortunately, this changes the way useradd works (it can be run by scripts expecting some standard behaviour), compared to other Unices and other Linux distributions, and also adds a lot of confusion\&.
+
+.TP
+\fB\-m\fR
+The user's home directory will be created if it does not exist\&. The files contained in \fIskeleton_dir\fR will be copied to the home directory if the \fB\-k\fR option is used, otherwise the files contained in \fI/etc/skel\fR will be used instead\&. Any directories contained in \fI skeleton_dir\fR or \fI/etc/skel\fR will be created in the user's home directory as well\&. The \fB\-k\fR option is only valid in conjunction with the \fB\-m\fR option\&. The default is to not create the directory and to not copy any files\&.
+
+.TP
+\fB\-o\fR
+Allow create user with duplicate (non\-unique) UID\&.
+
+.TP
+\fB\-p\fR \fIpasswd\fR
+The encrypted password, as returned by \fBcrypt\fR(3)\&. The default is to disable the account\&.
+
+.TP
+\fB\-s\fR \fIshell\fR
+The name of the user's login shell\&. The default is to leave this field blank, which causes the system to select the default login shell\&.
+
+.TP
+\fB\-u\fR \fIuid\fR
+The numerical value of the user's ID\&. This value must be unique, unless the \fB\-o\fR option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than 999 and greater than every other user\&. Values between 0 and 999 are typically reserved for system accounts\&.
+
+.SS "Changing the default values"
+
+.PP
+When invoked with the \fB\-D\fR option, \fBuseradd\fR will either display the current default values, or update the default values from the command line\&. The valid options are
+
+.TP
+\fB\-b\fR \fIhome_dir\fR
+The initial path prefix for a new user's home directory\&. The user's name will be affixed to the end of \fIhome\fR to create the new directory name if the \fB\-d\fR option is not used when creating a new account\&.
+
+.TP
+\fB\-e\fR \fIexpire_date\fR
+The date on which the user account is disabled\&.
+
+.TP
+\fB\-f\fR \fIinactive\fR
+The number of days after a password has expired before the account will be disabled\&.
+
+.TP
+\fB\-g\fR \fIgroup\fR
+The group name or ID for a new user's initial group\&. The named group must exist, and a numerical group ID must have an existing entry \&.
+
+.TP
+\fB\-s\fR \fIshell\fR
+The name of the new user's login shell\&. The named program will be used for all future new user accounts\&.
+
+.PP
+If no options are specified, \fBuseradd\fR displays the current default values\&.
+
+.SH "NOTES"
+
+.PP
+The system administrator is responsible for placing the default user files in the \fI/etc/skel/\fR directory\&.
+
+.SH "CAVEATS"
+
+.PP
+You may not add a user to an NIS group\&. This must be performed on the NIS server\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/default/useradd\fR
+default information
+.TP
+\fI/etc/skel/\fR
+directory containing default files
+.SH "EXIT VALUES"
+
+.PP
+The \fBuseadd\fR command exits with the following values: 
+
+.TP
+\fI0\fR
+success
+.TP
+\fI1\fR
+can't update password file
+.TP
+\fI2\fR
+invalid command syntax
+.TP
+\fI3\fR
+invalid argument to option
+.TP
+\fI4\fR
+uid already in use (and no \-o)
+.TP
+\fI6\fR
+specified group doesn't exist
+.TP
+\fI9\fR
+username already in use
+.TP
+\fI10\fR
+can't update group file
+.TP
+\fI12\fR
+can't create home directory
+.TP
+\fI13\fR
+can't create mail spool 
+
+.SH "SEE ALSO"
+
+.PP
+\fBchfn\fR(1), \fBchsh\fR(1), \fBpasswd\fR(1), \fBcrypt\fR(3), \fBgroupadd\fR(8), \fBgroupdel\fR(8), \fBgroupmod\fR(8), \fBuserdel\fR(8), \fBusermod\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 20dbf27fc59ab0b0a858b3f9d710e9b53f515f76..71c8cf0310917b9888b5a92a86cc74a51e134bba 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='useradd.8'>
-  <!--  $Id: useradd.8.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <!--  $Id: useradd.8.xml,v 1.8 2005/06/16 18:58:43 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>useradd</refentrytitle>
     <manvolnum>8</manvolnum>
         </term>
         <listitem>
           <para>The group name or number of the user's initial login group.
-            The group name must exist.  A group number must refer to an
+            The group name must exist. A group number must refer to an
             already existing group. The default group number is 1 or
             whatever is specified in
             <filename>/etc/default/useradd</filename>.
   
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
-    <variablelist remap='TP'>
-      <varlistentry>
-        <term>
-          The <command>useadd</coamand> command exits with the following
-          values:
-        </term>
-        <listitem>
-          <!-- .br -->
-          <para>
-            <literal>0</literal>       - success
-            <!-- .br -->
-            <literal>1</literal>       - can't update password file
-            <!-- .br -->
-            <literal>2</literal>       - invalid command syntax
-            <!-- .br -->
-            <literal>3</literal>       - invalid argument to option
-            <!-- .br -->
-            <literal>4</literal>       - uid already in use (and no -o)
-            <!-- .br -->
-            <literal>6</literal>       - specified group doesn't exist
-            <!-- .br -->
-            <literal>9</literal>       - username already in use
-            <!-- .br -->
-            <literal>10</literal>      - can't update group file
-            <!-- .br -->
-            <literal>12</literal>      - can't create home directory
-            <!-- .br -->
-            <literal>13</literal>      - can't create mail spool
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+    <para>
+      The <command>useadd</command> command exits with the following values:
+      <variablelist>
+        <varlistentry>
+          <term><replaceable>0</replaceable></term>
+         <listitem>success</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>1</replaceable></term>
+         <listitem>can't update password file</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>2</replaceable></term>
+         <listitem>invalid command syntax</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>3</replaceable></term>
+         <listitem>invalid argument to option</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>4</replaceable></term>
+         <listitem>uid already in use (and no -o)</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>6</replaceable></term>
+         <listitem>specified group doesn't exist</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>9</replaceable></term>
+         <listitem>username already in use</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>10</replaceable></term>
+         <listitem>can't update group file</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>12</replaceable></term>
+         <listitem>can't create home directory</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>13</replaceable></term>
+         <listitem>can't create mail spool</listitem>
+       </varlistentry>
+      </variablelist>
+    </para>
   </refsect1>
-  
+
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 9ff2c68a67c23d342a8d681069aae941a1b02eea..c95b0975425be76e14dcb3f4f77ed90534eaac66 100644 (file)
@@ -1,82 +1,97 @@
-.\"$Id: userdel.8,v 1.14 2005/04/12 17:55:55 kloczek Exp $
-.\" Copyright 1991 - 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH USERDEL 8
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "USERDEL" 8 "" "" ""
 .SH NAME
 userdel \- Delete a user account and related files
-.SH SYNOPSIS
-.B userdel
-[\fB\-r\fR]
-.I login
-.SH DESCRIPTION
-The \fBuserdel\fR command modifies the system account files, deleting all
-entries that refer to \fIlogin\fR. The named user must exist.
-.SH OPTIONS
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 8
+\fBuserdel\fR [\-r] \fIlogin\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+The \fBuserdel\fR command modifies the system account files, deleting all entries that refer to \fIlogin\fR\&. The named user must exist\&.
+
+.SH "OPTIONS"
+
+.PP
 The options which apply to the \fBuserdel\fR command are:
-.IP \fB\-r\fR
-Files in the user's home directory will be removed along with the home
-directory itself and the user's mail spool. Files located in other file
-systems will have to be searched for and deleted manually.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.br
-\fI/etc/group\fR       \- group account information
-.SH EXIT VALUES
-.TP 2
-The \fBuserdel\fR command exits with the following values:
-.br
-\fB0\fR        \- success
-.br
-\fB1\fR        \- can't update password file
-.br
-\fB2\fR        \- invalid command syntax
-.br
-\fB6\fR        \- specified user doesn't exist
-.br
-\fB8\fR        \- user currently logged in
-.br
-\fB10\fR       \- can't update group file
-.br
-\fB12\fR       \- can't remove home directory
-.SH CAVEATS
-\fBuserdel\fR will not allow you to remove an account if the user is
-currently logged in. You must kill any running processes which belong to an
-account that you are deleting. You may not remove any NIS attributes on an
-NIS client. This must be performed on the NIS server.
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR passwd (1),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR useradd (8),
-.BR usermod (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+
+.TP
+\fB\-r\fR
+Files in the user's home directory will be removed along with the home directory itself and the user's mail spool\&. Files located in other file systems will have to be searched for and deleted manually\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/group\fR
+group account information
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.SH "EXIT VALUES"
+
+.PP
+The \fBuserdel\fR command exits with the following values: 
+
+.TP
+\fI0\fR
+success
+.TP
+\fI1\fR
+can't update password file
+.TP
+\fI2\fR
+invalid command syntax
+.TP
+\fI6\fR
+specified user doesn't exist
+.TP
+\fI8\fR
+user currently logged in
+.TP
+\fI10\fR
+can't update group file
+.TP
+\fI12\fR
+can't remove home directory 
+
+.SH "CAVEATS"
+
+.PP
+\fBuserdel\fR will not allow you to remove an account if the user is currently logged in\&. You must kill any running processes which belong to an account that you are deleting\&. You may not remove any NIS attributes on an NIS client\&. This must be performed on the NIS server\&.
+
+.SH "SEE ALSO"
+
+.PP
+\fBchfn\fR(1), \fBchsh\fR(1), \fBpasswd\fR(1), \fBgroupadd\fR(8), \fBgroupdel\fR(8), \fBgroupmod\fR(8), \fBuseradd\fR(8), \fBusermod\fR(8) 
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index b7583923a9bb91b5142f247119a02fa8bbccc22e..80c03169cb7e37517580a771cc5710f7de6cce30 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='userdel.8'>
-  <!-- $Id: userdel.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <!-- $Id: userdel.8.xml,v 1.7 2005/06/16 18:58:43 kloczek Exp $ -->
   <refmeta>
     <refentrytitle>USERDEL</refentrytitle>
     <manvolnum>8</manvolnum>
   
   <refsect1 id='exit_values'>
     <title>EXIT VALUES</title>
-    <variablelist remap='TP'>
-      <varlistentry>
-        <term>
-          The <command>userdel</command> command exits with the following
-          values:
-        </term>
-        <listitem>
-          <!-- .br -->
-          <para>
-            <literal>0</literal>       - success
-            <!-- .br -->
-            <literal>1</literal>       - can't update password file
-            <!-- .br -->
-            <literal>2</literal>       - invalid command syntax
-            <!-- .br -->
-            <literal>6</literal>       - specified user doesn't exist
-            <!-- .br -->
-            <literal>8</literal>       - user currently logged in
-            <!-- .br -->
-            <literal>10</literal>      - can't update group file
-            <!-- .br -->
-            <literal>12</literal>      - can't remove home directory
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+    <para>
+      The <command>userdel</command> command exits with the following values:
+      <variablelist>
+        <varlistentry>
+          <term><replaceable>0</replaceable></term>
+         <listitem>success</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>1</replaceable></term>
+         <listitem>can't update password file</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>2</replaceable></term>
+         <listitem>invalid command syntax</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>6</replaceable></term>
+         <listitem>specified user doesn't exist</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>8</replaceable></term>
+         <listitem>user currently logged in</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>10</replaceable></term>
+         <listitem>can't update group file</listitem>
+       </varlistentry>
+        <varlistentry>
+          <term><replaceable>12</replaceable></term>
+         <listitem>can't remove home directory</listitem>
+       </varlistentry>
+      </variablelist>
+    </para>
   </refsect1>
   
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>
-      <command>userdel</command> will not allow you to remove an account if
+    <para><command>userdel</command> will not allow you to remove an account if
       the user is currently logged in. You must kill any running processes
       which belong to an account that you are deleting. You may not remove
       any NIS attributes on an NIS client. This must be performed on the NIS
   
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index 3790c098e2b7c466ab920795375df003b6c7a0c5..9e252b41fd57631bbb02454515205012581dc51e 100644 (file)
-.\" $Id: usermod.8,v 1.24 2005/04/18 17:57:03 kloczek Exp $
-.\" Copyright 1991 - 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. Neither the name of Julianne F. Haugh nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.TH USERMOD 8
-.SH NAME
-usermod \- Modify a user account
-.SH SYNOPSIS
-.TP 8
-\fBusermod\fR [\fB\-c\fR \fIcomment\fR] [\fB\-d\fR \fIhome_dir\fR [\fB\-m\fR]] [\fB\-e\fR \fIexpire_date\fR]
-[\fB\-f\fR \fIinactive_time\fR] [\fB\-g\fR \fIinitial_group\fR]
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
 .br
-[\fB\-G\fR \fIgroup1\fR[\fI,group2,...,\fR[\fIgroupN\fR]\fR]]
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
 .br
-[\fB\-l\fR \fIlogin_name\fR] [\fB\-p\fR \fIpasswd\fR] [\fB\-s\fR \fIshell\fR] [\fB\-u\fR \fIuid\fR [\fB\-o\fR]]
-.br
-[\fB\-L\fR|\fB\-U\fR] \fIlogin\fR
-.SH DESCRIPTION
-The \fBusermod\fR command modifies the system account files to reflect the
-changes that are specified on the command line.
-.SH OPTIONS
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "USERMOD" 8 "" "" ""
+.SH NAME
+usermod \- Modify a user account
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 8
+\fBusermod\fR [\-c\ \fIcomment\fR] [\-d\ \fIhome_dir\fR\ [\-m]] [\-e\ \fIexpire_date\fR] [\-f\ \fIinactive_days\fR] [\-g\ \fIinitial_group\fR] [\-G\ \fIgroup1\fR\ [\fI,group2,\fR...\ \fI,\fR\ [\fIgroupN\fR]]] [\-l\ \fIlogin_name\fR] [\-p\ \fIpasswd\fR] [\-s\ \fIshell\fR] [\-u\ \fIuid\fR\ [\-o]] [\fB\-L\fR | \fB\-U\fR] \fIlogin\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+The \fBusermod\fR command modifies the system account files to reflect the changes that are specified on the command line\&.
+
+.SH "OPTIONS"
+
+.PP
 The options which apply to the \fBusermod\fR command are:
-.IP "\fB\-c\fR \fIcomment\fR"
-The new value of the user's password file comment field. It is normally
-modified using the \fBchfn\fR(1) utility.
-.IP "\fB\-d\fR \fIhome_dir\fR"
-The user's new login directory. If the \fB\-m\fR option is given the contents
-of the current home directory will be moved to the new home directory, which
-is created if it does not already exist.
-.IP "\fB\-e\fR \fIexpire_date\fR"
-The date on which the user account will be disabled. The date is specified
-in the format \fIYYYY\-MM\-DD\fR.
-.IP "\fB\-f\fR \fIinactive_days\fR"
-The number of days after a password expires until the account is permanently
-disabled. A value of 0 disables the account as soon as the password has
-expired, and a value of \-1 disables the feature. The default value is \-1.
-.IP "\fB\-g\fR \fIinitial_group\fR"
-The group name or number of the user's new initial login group. The group
-name must exist. A group number must refer to an already existing group.
-The default group number is 1.
-.IP "\fB\-G\fR \fIgroup1\fR[\fI,group2,...,\fR[\fIgroupN\fR]\fR]]"
-A list of supplementary groups which the user is also a member of. Each
-group is separated from the next by a comma, with no intervening whitespace.
-The groups are subject to the same restrictions as the group given with the
-\fB\-g\fR option. If the user is currently a member of a group which is not
-listed, the user will be removed from the group.
-.IP "\fB\-l\fR \fIlogin_name\fR"
-The name of the user will be changed from \fIlogin\fR to \fIlogin_name\fR.
-Nothing else is changed. In particular, the user's home directory name
-should probably be changed to reflect the new login name.
-.IP "\fB\-L\fR"
-Lock a user's password. This puts a '!' in front of the encrypted password,
-effectively disabling the password.  You can't use this option with \fI\-p\fR
-or \fI\-U\fR.
-.IP "\fB\-o\fR"
-When used with the \fI-u\fR option, this option allows to change the user ID
-to a non-unique value.
-.IP "\fB\-p\fR \fIpasswd\fR"                                                
-The encrypted password, as returned by \fBcrypt\fR(3).
-.IP "\fB\-s\fR \fIshell\fR"
-The name of the user's new login shell. Setting this field to blank causes
-the system to select the default login shell.
-.IP "\fB\-u\fR \fIuid\fR"
-The numerical value of the user's ID. This value must be unique, unless the
-\fI\-o\fR option is used. The value must be non\-negative. Values between 0
-and 99 are typically reserved for system accounts. Any files which the user
-owns and which are located in the directory tree rooted at the user's home
-directory will have the file user ID changed automatically. Files outside of
-the user's home directory must be altered manually.
-.IP "\fB\-U\fR"
-Unlock a user's password. This removes the '!' in front of the encrypted
-password. You can't use this option with \fI\-p\fR or \fI\-L\fR.
-.SH CAVEATS
-\fBusermod\fR will not allow you to change the name of a user who is
-logged in. You must make certain that the named user is not executing any
-processes when this command is being executed if the user's numerical user
-ID is being changed. You must change the owner of any crontab files
-manually. You must change the owner of any at jobs manually. You must make
-any changes involving NIS on the NIS server.
-.SH FILES
-\fI/etc/passwd\fR      \- user account information
-.br
-\fI/etc/shadow\fR      \- secure user account information
-.br
-\fI/etc/group\fR       \- group account information
-.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR passwd (1),
-.BR crypt (3),
-.BR groupadd (8),
-.BR groupdel (8),
-.BR groupmod (8),
-.BR useradd (8),
-.BR userdel (8)
-.SH AUTHOR
-Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+
+.TP
+\fB\-c\fR \fIcomment\fR
+The new value of the user's password file comment field\&. It is normally modified using the \fBchfn\fR(1)utility\&.
+
+.TP
+\fB\-d\fR \fIhome_dir\fR
+The user's new login directory\&. If the \fB\-m\fR option is given the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist\&.
+
+.TP
+\fB\-e\fR \fIexpire_date\fR
+The date on which the user account will be disabled\&. The date is specified in the format \fIYYYY\-MM\-DD \fR\&.
+
+.TP
+\fB\-f\fR \fIinactive_days\fR
+The number of days after a password expires until the account is permanently disabled\&. A value of 0 disables the account as soon as the password has expired, and a value of \-1 disables the feature\&. The default value is \-1\&.
+
+.TP
+\fB\-g\fR \fIinitial_group\fR
+The group name or number of the user's new initial login group\&. The group name must exist\&. A group number must refer to an already existing group\&. The default group number is 1\&.
+
+.TP
+\fB\-G\fR \fIgroup1\fR[\fI ,group2,\&.\&.\&., \fR [\fIgroupN\fR]]]
+A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the \fB\-g\fR option\&. If the user is currently a member of a group which is not listed, the user will be removed from the group\&.
+
+.TP
+\fB\-l\fR \fIlogin_name\fR
+The name of the user will be changed from \fIlogin \fR to \fIlogin_name\fR\&. Nothing else is changed\&. In particular, the user's home directory name should probably be changed to reflect the new login name\&.
+
+.TP
+\fB\-L\fR
+Lock a user's password\&. This puts a '!' in front of the encrypted password, effectively disabling the password\&. You can't use this option with \fB\-p\fR or \fB\-U\fR\&.
+
+.TP
+\fB\-o\fR
+When used with the \fB\-u\fR option, this option allows to change the user ID to a non\-unique value\&.
+
+.TP
+\fB\-p\fR \fIpasswd\fR
+The encrypted password, as returned by \fBcrypt\fR(3)\&.
+
+.TP
+\fB\-s\fR \fIshell\fR
+The name of the user's new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
+
+.TP
+\fB\-u\fR \fIuid\fR
+The numerical value of the user's ID\&. This value must be unique, unless the \fB\-o\fR option is used\&. The value must be non\-negative\&. Values between 0 and 99 are typically reserved for system accounts\&. Any files which the user owns and which are located in the directory tree rooted at the user's home directory will have the file user ID changed automatically\&. Files outside of the user's home directory must be altered manually\&.
+
+.TP
+\fB\-U\fR
+Unlock a user's password\&. This removes the '!' in front of the encrypted password\&. You can't use this option with \fB\-p\fR or \fB\-L\fR\&.
+
+.SH "CAVEATS"
+
+.PP
+\fBusermod\fR will not allow you to change the name of a user who is logged in\&. You must make certain that the named user is not executing any processes when this command is being executed if the user's numerical user ID is being changed\&. You must change the owner of any crontab files manually\&. You must change the owner of any at jobs manually\&. You must make any changes involving NIS on the NIS server\&.
+
+.SH "FILES"
+
+.TP
+\fI/etc/passwd\fR
+user account information
+.TP
+\fI/etc/shadow\fR
+secure user account information
+.TP
+\fI/etc/group\fR
+group account information
+.SH "SEE ALSO"
+
+.PP
+\fBchfn\fR(1), \fBchsh\fR(1), \fBpasswd\fR(1), \fBcrypt\fR(3), \fBgroupadd\fR(8), \fBgroupdel\fR(8), \fBgroupmod\fR(8), \fBuseradd\fR(8), \fBuserdel\fR(8)\&.
+
+.SH "AUTHOR"
+
+.PP
+Julianne Frances Haugh (jockgrrl@ix\&.netcom\&.com)
+
index 683b3305bc7b80d6ceb4573a62ae0107d0c01a05..5c0818f4aaa6ec1f3a7d823352c690442155458c 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='usermod.8'>
-  <!--  $Id: usermod.8.xml,v 1.5 2005/04/28 13:57:45 kloczek Exp $  -->
+  <!--  $Id: usermod.8.xml,v 1.9 2005/06/16 16:01:21 kloczek Exp $  -->
   <refmeta>
     <refentrytitle>usermod</refentrytitle>
     <manvolnum>8</manvolnum>
@@ -21,9 +21,8 @@
         <arg choice='opt'>-m </arg>
       </arg>
       <arg choice='opt'>-e <replaceable>expire_date</replaceable></arg>
-      <arg choice='opt'>-f <replaceable>inactive_time</replaceable></arg>
+      <arg choice='opt'>-f <replaceable>inactive_days</replaceable></arg>
       <arg choice='opt'>-g <replaceable>initial_group</replaceable></arg>
-      <sbr/>
       <arg choice='opt'>
         <arg choice='plain'>-G <replaceable>group1</replaceable></arg>
         <arg choice='opt'>
@@ -32,7 +31,6 @@
           <arg choice='opt'><replaceable>groupN</replaceable></arg>
         </arg>
       </arg>
-      <sbr/>
       <arg choice='opt'>-l <replaceable>login_name</replaceable></arg>
       <arg choice='opt'>-p <replaceable>passwd</replaceable></arg>
       <arg choice='opt'>-s <replaceable>shell</replaceable></arg>
@@ -40,9 +38,9 @@
         <arg choice='plain'>-u <replaceable>uid</replaceable></arg>
         <arg choice='opt'>-o </arg>
       </arg>
-      <sbr/>
       <group choice='opt'>
-        <arg choice='plain'>-L </arg><arg choice='plain'>-U </arg>
+        <arg choice='plain'>-L </arg>
+       <arg choice='plain'>-U </arg>
       </group>
       <arg choice='plain'><replaceable>login</replaceable></arg>
     </cmdsynopsis>
@@ -93,7 +91,7 @@
           <option>-e</option> <replaceable>expire_date</replaceable>
         </term>
         <listitem>
-          <para>The date on which the user account will be disabled.  The
+          <para>The date on which the user account will be disabled. The
             date is specified in the format <emphasis remap='I'>YYYY-MM-DD
             </emphasis>.
           </para>
           <para>
             The name of the user will be changed from <emphasis
             remap='I'>login </emphasis> to <emphasis
-            remap='I'>login_name</emphasis>.  Nothing else is changed. In
+            remap='I'>login_name</emphasis>. Nothing else is changed. In
             particular, the user's home directory name should probably be
             changed to reflect the new login name.
           </para>
 
   <refsect1 id='caveats'>
     <title>CAVEATS</title>
-    <para>
-      <command>usermod</command> will not allow you to change the name of a
+    <para><command>usermod</command> will not allow you to change the name of a
       user who is logged in. You must make certain that the named user is
       not executing any processes when this command is being executed if the
       user's numerical user ID is being changed. You must change the owner
 
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
       </citerefentry>,
       <citerefentry>
index ebb35cd42f4bc49c3178b149ebcffe7700ebb55f..bea8824cd1b9146330b8d0f3d2c7a29d5462901a 100644 (file)
@@ -1,20 +1,46 @@
-.\"$Id: vipw.8,v 1.10 2005/04/27 08:29:36 kloczek Exp $
-.TH VIPW 8 "26 Sep 1997"
-.SH NAME
-vipw, vigr \- edit the password, group, shadow\-password, or shadow\-group file.
-.SH SYNOPSIS
-\fBvipw\fR [\fB\-s\fR]
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
 .br
-\fBvigr\fR [\fB\-s\fR]
-.SH DESCRIPTION
-\fBvipw\fR and \fBvigr\fR will edit the files \fI/etc/passwd\fR and
-\fI/etc/group\fR, respectively. With the \fB\-s\fR flag, they will edit the
-shadow versions of those files, \fI/etc/shadow\fR and \fI/etc/gshadow\fR,
-respectively. The programs will set the appropriate locks to prevent file
-corruption. When looking for an editor, the programs will first try the
-environment variable \fB$VISUAL\fR, then the environment variable
-\fB$EDITOR\fR, and finally the default editor, \fBvi\fR(1).
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "VIPW" 8 "26 Sep 1997" "" ""
+.SH NAME
+vipw, vigr \- edit the password, group, shadow-password, or shadow-group file.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 5
+\fBvipw\fR [\-s]
+.ad
+.hy
+.ad l
+.hy 0
+.HP 5
+\fBvigr\fR [\-s]
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+\fBvipw\fR and \fBvigr\fR will edit the files \fI/etc/passwd\fR and \fI/etc/group\fR, respectively\&. With the \fB\-s\fR flag, they will edit the shadow versions of those files, \fI/etc/shadow\fR and \fI/etc/gshadow\fR, respectively\&. The programs will set the appropriate locks to prevent file corruption\&. When looking for an editor, the programs will first try the environment variable \fB$VISUAL\fR, then the environment variable \fI$EDITOR\fR, and finally the default editor, \fBvi\fR(1)\&.
+
 .SH "SEE ALSO"
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5)
+
+.PP
+\fBgroup\fR(5), \fBpasswd\fR(5), \fBshadow\fR(5) 
+
index 7e76873c66c733c364909a15cab87077c8aa7079..d3cd4f59748f2a08eef3d62dfc5e4f5a47f2e145 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 <refentry id='vipw.8'>
-  <!--  $Id: vipw.8.xml,v 1.6 2005/04/28 13:54:06 kloczek Exp $  -->
+  <!--  $Id: vipw.8.xml,v 1.7 2005/06/15 12:39:27 kloczek Exp $  -->
   <refentryinfo>
     <date>26 Sep 1997</date>
   </refentryinfo>
@@ -30,8 +30,7 @@
   
   <refsect1 id='description'>
     <title>DESCRIPTION</title>
-    <para>
-      <command>vipw</command> and <command>vigr</command> will edit the
+    <para><command>vipw</command> and <command>vigr</command> will edit the
       files <filename>/etc/passwd</filename> and
       <filename>/etc/group</filename>, respectively. With the
       <option>-s</option> flag, they will edit the shadow versions of those
@@ -48,8 +47,7 @@
 
   <refsect1 id='see_also'>
     <title>SEE ALSO</title>
-    <para>
-      <citerefentry>
+    <para><citerefentry>
         <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
       </citerefentry>,
       <citerefentry>
index c97980605d008d305e2a7a07628c4118f347f624..bd05f733c5f42b2c85a3145cf6bb394268dc93e9 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/zh_CN
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -200,9 +196,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/zh_CN/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/zh_CN/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/zh_CN/Makefile
+         $(AUTOMAKE) --gnu  man/zh_CN/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
index 4491fff02f5d02e3f16eb30cc0b04c23c4c0da65..8ba6e5ab212ebcf5bf252e4baa350e8d251c6efe 100644 (file)
@@ -38,11 +38,7 @@ host_triplet = @host@
 subdir = man/zh_TW
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -199,9 +195,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  man/zh_TW/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  man/zh_TW/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  man/zh_TW/Makefile
+         $(AUTOMAKE) --gnu  man/zh_TW/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
diff --git a/missing b/missing
index 64b5f901dd558f301c33a0fb99466b48eb58a27f..09edd8844dedc652ffe4d9aa931eed179489019f 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2004-09-07.08
+scriptversion=2005-02-08.22
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
 #   Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
@@ -87,12 +87,12 @@ Supported PROGRAM values:
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
 Send bug reports to <bug-automake@gnu.org>."
-    exit 0
+    exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
     echo "missing $scriptversion (GNU Automake)"
-    exit 0
+    exit $?
     ;;
 
   -*)
@@ -288,10 +288,14 @@ WARNING: \`$1' is $msg.  You should only need it if
          call might also be the consequence of using a buggy \`make' (AIX,
          DU, IRIX).  You might want to install the \`Texinfo' package or
          the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
     if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
     fi
     touch $file
     ;;
index 6fbe5e117629c75a723710efc4b2e0341c17c895..5d26a485f11223c19546f3e02ce59d201a5afe48 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # mkinstalldirs --- make directory hierarchy
 
-scriptversion=2004-02-15.20
+scriptversion=2005-02-02.21
 
 # Original author: Noah Friedman <friedman@prep.ai.mit.edu>
 # Created: 1993-05-16
@@ -27,7 +27,7 @@ while test $# -gt 0 ; do
   case $1 in
     -h | --help | --h*)         # -h for help
       echo "$usage"
-      exit 0
+      exit $?
       ;;
     -m)                         # -m PERM arg
       shift
@@ -37,7 +37,7 @@ while test $# -gt 0 ; do
       ;;
     --version)
       echo "$0 $scriptversion"
-      exit 0
+      exit $?
       ;;
     --)                         # stop option processing
       shift
diff --git a/po/ChangeLog b/po/ChangeLog
deleted file mode 100644 (file)
index dafc380..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-2005-05-04  gettextize  <bug-gnu-gettext@gnu.org>
-
-       * Makefile.in.in: Upgrade to gettext-0.14.3.
-       * Rules-quot: Upgrade to gettext-0.14.3.
-
index 4705780e38ac3c08c1726abf6aa5f707bbf14c43..27b721aa8a7b79e43db586f8251ff6b51b684304 100644 (file)
@@ -1,5 +1,5 @@
 # Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 #
 # This file can be copied and used freely without restrictions.  It can
 # be used in projects which are not available under the GNU General Public
@@ -7,12 +7,9 @@
 # functionality.
 # Please note that the actual code of GNU gettext is covered by the GNU
 # General Public License and is *not* in the public domain.
-#
-# Origin: gettext-0.14.3
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 
 SHELL = /bin/sh
 @SET_MAKE@
@@ -47,7 +44,7 @@ UPDATEPOFILES = @UPDATEPOFILES@
 DUMMYPOFILES = @DUMMYPOFILES@
 DISTFILES.common = Makefile.in.in remove-potcdate.sin \
 $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
 $(POFILES) $(GMOFILES) \
 $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
 
@@ -58,7 +55,7 @@ CATALOGS = @CATALOGS@
 # Makevars gets inserted here. (Don't remove this line!)
 
 .SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update
 
 .po.mo:
        @echo "$(MSGFMT) -c -o $@ $<"; \
@@ -80,12 +77,6 @@ all: all-@USE_NLS@
 all-yes: stamp-po
 all-no:
 
-# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
-# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
-# we don't want to bother translators with empty POT files). We assume that
-# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
-# In this case, stamp-po is a nop (i.e. a phony target).
-
 # stamp-po is a timestamp denoting the last time at which the CATALOGS have
 # been loosely updated. Its purpose is that when a developer or translator
 # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
@@ -95,13 +86,10 @@ all-no:
 # $(POFILES) has been designed to not touch files that don't need to be
 # changed.
 stamp-po: $(srcdir)/$(DOMAIN).pot
-       test ! -f $(srcdir)/$(DOMAIN).pot || \
-         test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
-       @test ! -f $(srcdir)/$(DOMAIN).pot || { \
-         echo "touch stamp-po" && \
-         echo timestamp > stamp-poT && \
-         mv stamp-poT stamp-po; \
-       }
+       test -z "$(CATALOGS)" || $(MAKE) $(CATALOGS)
+       @echo "touch stamp-po"
+       @echo timestamp > stamp-poT
+       @mv stamp-poT stamp-po
 
 # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
 # otherwise packages like GCC can not be built if only parts of the source
@@ -110,16 +98,11 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
 # This target rebuilds $(DOMAIN).pot; it is an expensive operation.
 # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
 $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
-       if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
-         msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
-       else \
-         msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
-       fi; \
        $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
          --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
          --files-from=$(srcdir)/POTFILES.in \
          --copyright-holder='$(COPYRIGHT_HOLDER)' \
-         --msgid-bugs-address="$$msgid_bugs_address"
+         --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
        test ! -f $(DOMAIN).po || { \
          if test -f $(srcdir)/$(DOMAIN).pot; then \
            sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
@@ -145,13 +128,9 @@ $(srcdir)/$(DOMAIN).pot:
 # Note that a PO file is not touched if it doesn't need to be changed.
 $(POFILES): $(srcdir)/$(DOMAIN).pot
        @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
-       if test -f "$(srcdir)/$${lang}.po"; then \
-         test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-         echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
-         cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
-       else \
-         $(MAKE) $${lang}.po-create; \
-       fi
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
+       cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot
 
 
 install: install-exec install-data
@@ -304,14 +283,11 @@ dist distdir:
        $(MAKE) update-po
        @$(MAKE) dist2
 # This is a separate target because 'update-po' must be executed before.
-dist2: stamp-po $(DISTFILES)
+dist2: $(DISTFILES)
        dists="$(DISTFILES)"; \
        if test "$(PACKAGE)" = "gettext-tools"; then \
          dists="$$dists Makevars.template"; \
        fi; \
-       if test -f $(srcdir)/$(DOMAIN).pot; then \
-         dists="$$dists $(DOMAIN).pot stamp-po"; \
-       fi; \
        if test -f $(srcdir)/ChangeLog; then \
          dists="$$dists ChangeLog"; \
        fi; \
@@ -323,9 +299,9 @@ dist2: stamp-po $(DISTFILES)
        if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
        for file in $$dists; do \
          if test -f $$file; then \
-           cp -p $$file $(distdir) || exit 1; \
+           cp -p $$file $(distdir); \
          else \
-           cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+           cp -p $(srcdir)/$$file $(distdir); \
          fi; \
        done
 
@@ -334,13 +310,6 @@ update-po: Makefile
        test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
        $(MAKE) update-gmo
 
-# General rule for creating PO files.
-
-.nop.po-create:
-       @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
-       echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
-       exit 1
-
 # General rule for updating PO files.
 
 .nop.po-update:
@@ -372,7 +341,7 @@ $(DUMMYPOFILES):
 update-gmo: Makefile $(GMOFILES)
        @:
 
-Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
        cd $(top_builddir) \
          && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
               $(SHELL) ./config.status
index fbebdfee37adbd439618a4631d28e657e5337e88..0f92baaf3454860dd6ca36b4775f3ed30f8af6c9 100644 (file)
@@ -29,7 +29,6 @@ libmisc/pwd_init.c
 libmisc/rlogin.c
 libmisc/salt.c
 libmisc/setugid.c
-libmisc/setup.c
 libmisc/setupenv.c
 libmisc/shell.c
 libmisc/strtoday.c
@@ -81,7 +80,6 @@ src/lastlog.c
 src/login.c
 src/login_nopam.c
 src/logoutd.c
-src/mkpasswd.c
 src/newgrp.c
 src/newusers.c
 src/passwd.c
index 9c2a995e3009a099cf52764d458398716dee4df6..5f46d237d2593c674ab34518cf342553fe0f6aef 100644 (file)
@@ -4,11 +4,6 @@ DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.heade
 
 .SUFFIXES: .insert-header .po-update-en
 
-en@quot.po-create:
-       $(MAKE) en@quot.po-update
-en@boldquot.po-create:
-       $(MAKE) en@boldquot.po-update
-
 en@quot.po-update: en@quot.po-update-en
 en@boldquot.po-update: en@boldquot.po-update-en
 
index 7e5ed432be9d87828f8db1009f756404c9c7c865..0ad7c76b08d8b9bbddbe6387a0b8bf5c1c4e7fb4 100644 (file)
Binary files a/po/bs.gmo and b/po/bs.gmo differ
index aadad3c4944323b4d98bc83175a2f4e21aee9b3a..5853e5532d59d2e1d17dbc5c85183ceeed39a444 100644 (file)
--- a/po/bs.po
+++ b/po/bs.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-05-09 12:03+0100\n"
 "Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
 "Language-Team: Bosnian <lokal@lugbih.org>\n"
@@ -26,40 +26,40 @@ msgstr ""
 msgid "Warning: too many groups\n"
 msgstr ""
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Vaša šifra je istekla."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Vaša šifra je neaktivna."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Vaš račun je istekao."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr ""
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Izaberite novu šifru.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Vaša šifra ističe za in %ld dana.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Vaša šifra ističe sutra.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Vaša šifra ističe danas.\n"
@@ -107,7 +107,7 @@ msgstr "Nema pošte."
 msgid "You have mail."
 msgstr "Imate poštu."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Neispravna šifra: %s.  "
@@ -165,7 +165,7 @@ msgstr ""
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Šifra:"
 
@@ -174,154 +174,166 @@ msgstr "Šifra:"
 msgid "%s's Password: "
 msgstr "%s's Šifra: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimalna trajnost šifre"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maskimalna trajnost šifre"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr ""
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Upozorenje o isteku šifre"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Šifra neaktivna"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Datum isteka računa (GGGG-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Nikad\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Šifra:"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Šifra neaktivna"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr ""
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr ""
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr ""
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr ""
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr ""
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr ""
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr ""
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr ""
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr ""
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr ""
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr ""
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr ""
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr ""
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr ""
@@ -363,7 +375,7 @@ msgstr "Kućni telefon"
 msgid "Other"
 msgstr "Ostalo"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr ""
@@ -378,11 +390,6 @@ msgstr ""
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr ""
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr ""
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -418,32 +425,32 @@ msgstr ""
 msgid "%s: fields too long\n"
 msgstr ""
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr ""
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr ""
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr ""
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr ""
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr ""
@@ -453,7 +460,7 @@ msgstr ""
 msgid "Cannot unlock the password file.\n"
 msgstr ""
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -465,53 +472,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr ""
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr ""
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr ""
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr ""
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr ""
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr ""
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr ""
@@ -550,12 +557,12 @@ msgstr ""
 msgid "Usage: expiry {-f|-c}\n"
 msgstr ""
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr ""
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr ""
@@ -577,22 +584,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr ""
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr ""
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Nepoznat korisnik: %s\n"
@@ -632,7 +639,7 @@ msgstr ""
 msgid "Who are you?\n"
 msgstr ""
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "nepoznata grupa: %s\n"
@@ -666,7 +673,7 @@ msgstr "Mijenjam šifru za grupu %s\n"
 msgid "New Password: "
 msgstr "Nova šifra:"
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Ponovo unesite novu šifru:"
 
@@ -724,75 +731,75 @@ msgstr ""
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr ""
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr ""
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr ""
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
+msgid "%s: GID %u is not unique\n"
 msgstr ""
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
+msgid "%s: can't get unique GID\n"
 msgstr ""
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr ""
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr ""
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr ""
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr ""
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr ""
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr ""
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: grupa %s postoji\n"
@@ -802,32 +809,32 @@ msgstr "%s: grupa %s postoji\n"
 msgid "Usage: groupdel group\n"
 msgstr ""
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr ""
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr ""
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr ""
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr ""
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr ""
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr ""
@@ -842,12 +849,12 @@ msgstr ""
 msgid "%s: %s not found in /etc/group\n"
 msgstr ""
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
+msgid "%s: %u is not a unique GID\n"
 msgstr ""
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr ""
@@ -862,22 +869,21 @@ msgstr ""
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr ""
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr ""
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr ""
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr ""
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr ""
@@ -888,8 +894,8 @@ msgid "invalid group file entry\n"
 msgstr ""
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr ""
@@ -941,17 +947,17 @@ msgstr ""
 msgid "shadow group %s: no user %s\n"
 msgstr ""
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr ""
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr ""
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr ""
@@ -981,7 +987,7 @@ msgstr ""
 msgid "%s: can't remove shadow group %s\n"
 msgstr ""
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr ""
@@ -1087,101 +1093,46 @@ msgid ""
 "Login timed out after %d seconds.\n"
 msgstr ""
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr ""
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr ""
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
 "%s login: "
 msgstr ""
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr ""
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr ""
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr ""
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr ""
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr ""
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr ""
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr ""
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr ""
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr ""
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr ""
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1192,131 +1143,131 @@ msgstr ""
 msgid "Usage: sg group [[-c] command]\n"
 msgstr ""
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr ""
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "nepoznata grupa: %s\n"
 
-#: src/newgrp.c:213
-#, c-format
-msgid "unknown gid: %lu\n"
-msgstr ""
+#: src/newgrp.c:212
+#, fuzzy, c-format
+msgid "unknown GID: %lu\n"
+msgstr "nepoznata grupa: %s\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr ""
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr ""
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr ""
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr ""
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr ""
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr ""
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr ""
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr ""
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr ""
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr ""
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr ""
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr ""
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr ""
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr ""
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr ""
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr ""
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr ""
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr ""
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Stara šifra:"
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr ""
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
 "Please use a combination of upper and lower case letters and numbers.\n"
 msgstr ""
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nova šifra:"
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Pokušajte ponovo.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1325,149 +1276,144 @@ msgstr ""
 "\n"
 "Upozorenje: slaba šifra (unesite je ponovo ako je ipak želite koristiti).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "One se ne slažu; pokušajte ponovo\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr ""
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr ""
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr ""
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr ""
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr ""
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "Mijenjam šifru za grupu %s\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr ""
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr ""
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr ""
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr ""
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr ""
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr ""
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr ""
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr ""
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr ""
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr ""
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr ""
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr ""
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr ""
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr ""
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr ""
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr ""
@@ -1476,38 +1422,38 @@ msgstr ""
 msgid "Sorry."
 msgstr "Žalim."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr ""
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr ""
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr ""
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr ""
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr ""
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
 "(Ignored)\n"
 msgstr ""
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr ""
@@ -1548,374 +1494,379 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr ""
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr ""
 
-#: src/useradd.c:298
-#, c-format
-msgid "%s: unknown gid %s\n"
-msgstr ""
+#: src/useradd.c:289
+#, fuzzy, c-format
+msgid "%s: unknown GID %s\n"
+msgstr "%s: nepoznat član %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr ""
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr ""
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr ""
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr ""
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr ""
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr ""
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr ""
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr ""
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr ""
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
+msgid "%s: UID %u is not unique\n"
 msgstr ""
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
+msgid "%s: can't get unique UID\n"
 msgstr ""
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr ""
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr ""
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr ""
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr ""
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr ""
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr ""
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr ""
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr ""
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr ""
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr ""
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr ""
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr ""
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr ""
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr ""
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr ""
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr ""
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr ""
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr ""
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr ""
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr ""
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr ""
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr ""
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr ""
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr ""
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr ""
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr ""
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr ""
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr ""
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr ""
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr ""
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr ""
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr ""
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr ""
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr ""
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr ""
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr ""
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr ""
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr ""
 
index 6aeac0aef9683af37d39ae46859aab397fb36950..646b0ca562bd8457320cf5916f42dbe4a5f9b4ad 100644 (file)
Binary files a/po/ca.gmo and b/po/ca.gmo differ
index 27437455b5b655087f13b69924ec196a70171533..d396d907b89d4a6a5c257bfe31c812248ae26d95 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -1,12 +1,12 @@
 # Shadow Catalan translation.
-# Guillem Jover <guillem@debian.org>, 2004.
+# Guillem Jover <guillem@debian.org>, 2004, 2005.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.3\n"
+"Project-Id-Version: shadow 4.0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
-"PO-Revision-Date: 2004-06-16 20:58:19+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
+"PO-Revision-Date: 2005-06-21 01:22+0300\n"
 "Last-Translator: Guillem Jover <guillem@debian.org>\n"
 "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -24,40 +24,40 @@ msgstr "Avís: el grup %s és desconegut\n"
 msgid "Warning: too many groups\n"
 msgstr "Avís: hi ha massa grups\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "La vostra contrasenya ha caducat."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "La vostra contrasenya està inactiva."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "El vostre accés ha caducat."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Contacteu amb l'administrador del sistema.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Escolliu una nova contrasenya.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "La vostra contrasenya caduca en %ld dies.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "La vostra contrasenya caduca demà.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "La vostra contrasenya caduca avui.\n"
@@ -78,7 +78,7 @@ msgid "You may not change $%s\n"
 msgstr "No podeu canviar $%s\n"
 
 #: libmisc/failure.c:229
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "%d failure since last login.\n"
 "Last was %s on %s.\n"
@@ -86,9 +86,11 @@ msgid_plural ""
 "%d failures since last login.\n"
 "Last was %s on %s.\n"
 msgstr[0] ""
-"S'ha produït %d error des de l'últim accés.  L'ultim va ser %s en %s.\n"
+"S'ha produït %d fallada des de l'últim accés.\n"
+"L'ultim va ser %s en %s.\n"
 msgstr[1] ""
-"S'ha produït %d error des de l'últim accés.  L'ultim va ser %s en %s.\n"
+"S'ha produït %d fallades des de l'últim accés.\n"
+"L'ultim va ser %s en %s.\n"
 
 #: libmisc/limits.c:397
 #, c-format
@@ -107,7 +109,7 @@ msgstr "No hi ha correu."
 msgid "You have mail."
 msgstr "Teniu correu."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "La contrasenya és incorrecta: %s."
@@ -124,7 +126,7 @@ msgstr "passwd: %s\n"
 
 #: libmisc/pam_pass.c:49
 msgid "passwd: password updated successfully\n"
-msgstr ""
+msgstr "passwd: s'ha actualitzat la contrasenya satisfactòriament\n"
 
 #: libmisc/setupenv.c:207
 #, c-format
@@ -167,7 +169,7 @@ msgstr ""
 "error de configuració - element «%s» desconegut (notifiqueu-ho a "
 "l'administrador)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Contrasenya: "
 
@@ -176,156 +178,183 @@ msgstr "Contrasenya: "
 msgid "%s's Password: "
 msgstr "Contrasenya de l'usuari %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Forma d'ús: chage [-l] [-m mín_dies] [-M màx_dies] [-W avís]\n"
-"                   [-I inactiu] [-E caduca] [-d últim_dia] usuari\n"
-
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+"Forma d'ús: chage [opcions] usuari\n"
+"\n"
+"Opcions:\n"
+"  -d, --lastday ÚLTIM_DIA\testableix l'últim canvi de contrasenya\n"
+"\t\t\t\ta ÚLTIM_DIA\n"
+"  -E, --expiredate DATA_EXPIRACIÓ\testableix la data d'expiració del\n"
+"\t\t\t\tcompte a DATA_EXPIRACIÓ\n"
+"  -h, --help\t\t\tmostra aquesta ajuda i acaba\n"
+"  -I, --inactive INACTIVA\testableix la contrasenya inactiva després \t\t\t"
+"\td'expiració a INACTIVA\n"
+"  -l, --list\t\t\tmostra informació d'envelliment del compte\n"
+"  -m, --mindays DIES_MINA\testableix el número mínim de dies abans\n"
+" \t\t\t\tde canvi de contrasenya a DIES_MIN\n"
+"  -M, --maxdays DIES_MÀX\testableix el número màxim de dies abans\n"
+"\t\t\t\tde canvi de contrasenya a DIES_MÀX\n"
+"  -W, --warndays DIES_AVÍS\testableix els dies d'avís d'expiració\n"
+"\t\t\t\ta DIES_AVÍS\n"
+
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Introduïu el nou valor, o premeu ENTER per al predeterminat\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Duració mínima de la contrasenya"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Duració màxima de la contrasenya"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Últim canvi de contrasenya (AAAA-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Avís de caducitat de la contrasenya"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Contrasenya inactiva"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Data de caducitat per al compte (AAAA-MM-YY)"
 
-#: src/chage.c:231
-#, fuzzy, c-format
+#: src/chage.c:241
+#, c-format
 msgid "Last password change\t\t\t\t\t: "
-msgstr "Últim canvi de contrasenya (AAAA-MM-DD)"
+msgstr "Últim canvi de contrasenya\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
-#, fuzzy, c-format
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
+#, c-format
 msgid "never\n"
-msgstr "Mai\n"
+msgstr "mai\n"
 
-#: src/chage.c:244
-#, fuzzy, c-format
+#: src/chage.c:254
+#, c-format
 msgid "Password expires\t\t\t\t\t: "
-msgstr "La contrasenya caduca:\t"
+msgstr "La contrasenya caduca\t\t\t\t\t: "
 
-#: src/chage.c:260
-#, fuzzy, c-format
+#: src/chage.c:270
+#, c-format
 msgid "Password inactive\t\t\t\t\t: "
-msgstr "Contrasenya inactiva:\t"
+msgstr "Contrasenya inactiva\t\t\t\t\t: "
 
-#: src/chage.c:274
-#, fuzzy, c-format
+#: src/chage.c:284
+#, c-format
 msgid "Account expires\t\t\t\t\t\t: "
-msgstr "El compte caduca:\t"
+msgstr "El compte caduca\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "Número mínim de dies entre canvi de contrasenya\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "Número màxim de dies entre canvi de contrasenya\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
-msgstr ""
+msgstr "Número de dies d'avís abans que la contrasenya expiri\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: no inclogueu «l» amb altres senyaladors\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
-#, fuzzy, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: permís denegat\n"
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
+#, c-format
+msgid "%s: Permission denied.\n"
+msgstr "%s: Permís denegat.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: l'autenticació PAM ha fallat\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: no es pot obrir el fitxer de contrasenyes\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: l'usuari %s desconegut\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: no es pot bloquejar el fitxer de contrasenyes ombra"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: no es pot obrir el fitxer de contrasenyes ombra"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "S'està canviant la informació de caducitat per a %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: s'ha produït un error en canviar els camps\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: no es pot actualitzar el fitxer de contrasenyes\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: no es pot actualitzar el fitxer de contrasenyes ombra\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: no es pot reescriure el fitxer de contrasenyes ombra\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: no es pot reescriure el fitxer de contrasenyes\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthok ha fallat\n"
@@ -371,7 +400,7 @@ msgstr "Telèfon de casa"
 msgid "Other"
 msgstr "Altre"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: No s'ha pogut determinar el seu nom d'usuari.\n"
@@ -386,11 +415,6 @@ msgstr "%s: no s'ha pogut canviar l'usuari «%s» al client NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: «%s» és el mestre NIS per a aquest client.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: permís denegat\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -426,33 +450,33 @@ msgstr "%s: «%s» conté caràcters il·legals\n"
 msgid "%s: fields too long\n"
 msgstr "%s: els camps són massa llargs\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "No s'ha pogut canviar l'ID al de root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 "No s'ha pogut bloquejar el fitxer de contrasenyes; intenteu-ho més tard\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "No s'ha pogut obrir el fitxer de contrasenyes.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: no s'ha trobat %s a «/etc/passwd»\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Error en actualitzar l'entrada de la contrasenya.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "No es poden confirmar els canvis del fitxer de contrasenyes.\n"
@@ -462,7 +486,7 @@ msgstr "No es poden confirmar els canvis del fitxer de contrasenyes.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "No s'ha pogut desbloquejar el fitxer de contrasenyes.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -473,55 +497,62 @@ msgid ""
 "  -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n"
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
+"Forma d'ús: chpasswd [opcions]\n"
+"\n"
+"Opcions:\n"
+"  -e, --encrypted\tles contrasenyes proveïdes estan xifrades\n"
+"  -h, --help\t\tmostra aquest missatge d'ajuda i acaba\n"
+"  -m, --md5\t\tempra xifrat MD5 en comptes de DES quan les contrasenyes\n"
+"\t\t\tproveïdes no estan xifrades\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: no es pot bloquejar el fitxer de contrasenyes\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: no s'ha pogut bloquejar el fitxer de contrasenyes ombra\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: no s'ha pogut obrir el fitxer de contrasenyes ombra\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: línia %d: la línia és massa llarga\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: línia %d: manca la nova contrasenya\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: línia %d: l'usuari %s és desconegut\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: línia %d: no s'ha pogut actualitzar l'entrada de la contrasenya\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: s'ha detectat un error, els canvis s'han ignorat\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr ""
 "%s: s'ha produït un error en actualitzar el fitxer de contrasenyes ombra\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: s'ha produït un error en actualitzar el fitxer de contrasenyes\n"
@@ -560,12 +591,12 @@ msgstr "%s no és un intèrpret vàlid.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Forma d'ús: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: AVÍS!  Ha de ser set-UID de root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: l'usuari és desconegut\n"
@@ -586,23 +617,37 @@ msgid ""
 "\t\t\t\tand limits (if used with -r, -m or -l options) only\n"
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
-
-#: src/faillog.c:87
+"Forma d'ús: faillog [opcions]\n"
+"\n"
+"Opcions:\n"
+"  -a, --all\t\t\tmostra els registres de faillog de tots els usuaris\n"
+"  -h, --help\t\t\tmostra aquest missatge d'ajuda i acaba\n"
+"  -l, --lock-time SEG\t\tbloca durant SEG segons després d'una fallada "
+"d'accés\n"
+"  -m, --maximum MÀX\t\tespecifica els comptadors màxims de fallades\n"
+"\t\t\t\td'accés a MÀX\n"
+"  -r, --reset\t\t\treinicialitza els comptadors de fallades d'accés\n"
+"  -t, --time DIES\t\tmostra registres de faillog més recents que DIES\n"
+"  -u, --user ACCÉS\t\tmostra registre de faillog o manté comptadors de\n"
+"\t\t\t\tfallades i límits (si es fa servir amb les opcions -r, -m o -l)\n"
+"\t\t\t\tnomes per a usuaris amb ACCÉS\n"
+
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
-msgstr ""
+msgstr "Accés       Fallades Màxim   Últim                    A\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [falten %lds]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [bloquejats %lds]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "L'usuari és desconegut: %s\n"
@@ -642,7 +687,7 @@ msgstr "%s: contrasenyes ombra de grups requerides per a «-A»\n"
 msgid "Who are you?\n"
 msgstr "Qui sou?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "El grup és desconegut: %s\n"
@@ -676,7 +721,7 @@ msgstr "S'està canviant la contrasenya per al grup %s\n"
 msgid "New Password: "
 msgstr "Nova contrasenya: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Reintroduïu la nova contrasenya: "
 
@@ -712,7 +757,7 @@ msgstr "%s: no es pot actualitzar l'entrada\n"
 #: src/gpasswd.c:592
 #, c-format
 msgid "%s: can't update shadow entry\n"
-msgstr "%s: no es pot actualitzar l'entrada del fixter de contrasenyes ombra\n"
+msgstr "%s: no es pot actualitzar l'entrada del fitxer de contrasenyes ombra\n"
 
 #: src/gpasswd.c:598
 #, c-format
@@ -734,75 +779,75 @@ msgstr "%s: no es pot desbloquejar el fitxer\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Forma d'ús: groupadd [-g gid [-o]] [-f] grup\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: s'ha produït un error en afegir la nova entrada de grup\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: el nom %s no és únic\n"
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: el GID %u no és únic\n"
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
+msgid "%s: can't get unique GID\n"
 msgstr "%s: no es pot obtenir un GID únic\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s no és un nom de grup valid\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: el grup %s no és vàlid\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: «-O» requereix NOM=VALOR\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: no es pot reescriure el fitxer de grup\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: no es pot reescriure el fitxer de grups ombra\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: no es pot bloquejar el fitxer de grup\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: no es pot obrir el fitxer de grup\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: no es pot bloquejar el fitxer de grup ombra\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: no es pot obrir el fitxer de grup ombra\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: el grup %s existeix\n"
@@ -812,32 +857,32 @@ msgstr "%s: el grup %s existeix\n"
 msgid "Usage: groupdel group\n"
 msgstr "Forma d'ús: groupdel grup\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: s'ha produït un error en eliminar l'entrada de grup\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: s'ha produït un error en eliminar l'entrada de grup ombra\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: no es pot eliminar el grup primari de l'usuari.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: el grup %s no existeix\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: el grup %s no és un grup NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s és el mestre NIS\n"
@@ -852,12 +897,12 @@ msgstr "Forma d'ús: groupmod [-g gid [-o]] [-n nom] grup\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: no s'ha trobat %s a «/etc/group»\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u no és un GID únic\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s no és un nom únic\n"
@@ -865,29 +910,28 @@ msgstr "%s: %s no és un nom únic\n"
 #: src/grpck.c:87
 #, c-format
 msgid "Usage: %s [-r] [-s] [group [gshadow]]\n"
-msgstr "Forma d'ús: %s [-r] [-s] [grup [gombra]]\n"
+msgstr "Forma d'ús: %s [-r] [-s] [grup [grup_ombra]]\n"
 
 #: src/grpck.c:89
 #, c-format
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Forma d'ús: %s [-r] [-s] [grup]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "No"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: «-s» i «-r» són incompatibles\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: no es pot bloquejar el fitxer %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: no es pot obrir el fitxer %s\n"
@@ -898,8 +942,8 @@ msgid "invalid group file entry\n"
 msgstr "l'entrada del fitxer de grup no és vàlida\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "voleu eliminar la línia «%s»? "
@@ -951,17 +995,17 @@ msgstr "voleu eliminar el membre administratiu «%s»? "
 msgid "shadow group %s: no user %s\n"
 msgstr "grup ombra %s: no existeix l'usuari %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: no es pot actualitzar el fitxer %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: el fitxer s'ha actualitzat\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: no hi ha canvis\n"
@@ -991,7 +1035,7 @@ msgstr "%s: no es pot obrir el fitxer de grups ombra\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: no es pot eliminar el grup ombra %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: no es pot actualitzar l'entrada ombra per a %s\n"
@@ -1041,6 +1085,14 @@ msgid ""
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
+"Forma d'ús: lastlog [opcions]\n"
+"\n"
+"Opcions:\n"
+"  -u, --user ACCÉS\tmostra el registre de lastlog per a l'usuari amb\n"
+"\t\t\t\tACCÉS especific\n"
+"  -h, --help\t\tmostra aquest missatge d'ajuda i acaba\n"
+"  -t, --time DIES\tmostra nomes els registres de lastlog més recents\n"
+"\t\t\t\tque DIES\n"
 
 #: src/lastlog.c:90
 #, c-format
@@ -1057,7 +1109,7 @@ msgid "**Never logged in**"
 msgstr "**No ha entrat mai**"
 
 #: src/login.c:156
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [-p] [name]\n"
 msgstr "Forma d'ús: %s [-p] [nom]\n"
 
@@ -1092,7 +1144,7 @@ msgid ""
 "[Disconnect bypassed -- root login allowed.]\n"
 msgstr ""
 "\n"
-"[S'ha evitat la desconnexió -- l'accés de root està permés.]\n"
+"[S'ha evitat la desconnexió -- l'accés de root està permès.]\n"
 
 #: src/login.c:297
 #, c-format
@@ -1103,104 +1155,48 @@ msgstr ""
 "\n"
 "L'accés ha caducat després de %d segons.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " a «%.100s» des de «%.200s»"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " a «%.100s»"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
 "%s login: "
 msgstr ""
 "\n"
-"%s login: "
+"%s accés: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
-msgstr "Login incorrecte"
+msgstr "Accés incorrecte"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Avís: accés reactivat després d'un bloqueig temporal.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
-msgstr "Última entrada: %s a %s"
+msgstr "Últim accés: %s a %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
-msgstr "Última entrada: %.19s a %s"
+msgstr "Última accés: %.19s a %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " des de %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-"%s: no hi ha una base de dades DBM al sistema - no es realitza cap acció\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: no es pot sobreescriure el fitxer %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: no es pot obrir el fitxer DBM per a %s\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: el principi amb "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: s'ha produït un error en analitzar la línia «%s»\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "s'està afegint el registre per al nom "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: s'ha produït un error en afegir el registre per a "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "s'han afegit %d entrades, la més llarga era de %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Forma d'ús: %s [-vf] [-p|g|sp|sg] fitxer\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Forma d'ús: %s [-vf] [-p|g|sp] fitxer\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Forma d'ús: %s [-vf] [-p|g] fitxer\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1211,115 +1207,115 @@ msgstr "Forma d'ús: newgrp [-] [grup]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Forma d'ús: sg grup [[-c] ordre]\n"
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
-msgstr "L'UID és desconegut: %u\n"
+msgid "unknown UID: %u\n"
+msgstr "El UID és desconegut: %u\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "El gid és desconegut: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "El GID és desconegut: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Disculpeu.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "hi ha massa grups\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Forma d'ús: %s [entrada]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: no es pot bloquejar «/etc/passwd».\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: no es poden bloquejar els fitxers, intenteu-ho més tard\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: no es poden obrir els fitxers\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: línia %d: la línia no és vàlida\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: línia %d: no es pot crear el GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: línia %d: no es pot crear el UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: línia %d: no es pot trobar l'usuari %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: línia %d: no es pot actualitzar la contrasenya\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: línia %d: no s'ha pogut crear el directori\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: línia %d: no s'ha pogut canviar el propietari\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: línia %d: no es pot actualitzar l'entrada\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: s'ha produït un error en actualitzar el fitxer\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Forma d'ús: %s [-f|-s] [nom]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x màx] [-n mín] [-w avís] [-i inactiu] nom\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} nom\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Contrasenya antiga: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "La contrasenya és incorrecte per a «%s»\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1329,16 +1325,16 @@ msgstr ""
 "Si us plau feu servir una combinació de lletres majúscules i minúscules i\n"
 "números.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Contrasenya nova:"
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Intenteu-ho de nou.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1347,149 +1343,144 @@ msgstr ""
 "\n"
 "Avís: contrasenya feble (introduïu-la de nou per fer-la servir igualment).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "No coincideixen; intenteu-ho de nou.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "No es pot canviar la contrasenya per a %s.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Disculpeu, la contrasenya per a %s encara no es pot canviar.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: sense memòria\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: No es pot executar %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: el repositori %s no està suportat\n"
 
-#: src/passwd.c:884
-#, fuzzy, c-format
+#: src/passwd.c:830
+#, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
-msgstr "No podeu canviar l'intèrpret per a %s.\n"
+msgstr "%s: No podeu veure o canviar la informació de contrasenya per a %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "S'està canviant la contrasenya per a %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "No s'ha canviat la contrasenya per a %s.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "S'ha canviat la contrasenya.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Forma d'ús: %s [-q] [-r] [-s] [contrasenya [ombra]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Forma d'ús: %s [-q] [-r] [-s] [contrasenya]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "l'entrada del fitxer de contrasenyes no és vàlida\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "l'entrada de contrasenya està duplicada\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "el nom d'usuari «%s» no és vàlid\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "usuari %s: no existeix el grup %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "usuari %s: el directori %s no existeix\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "usuari %s: el programa %s no existeix\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "l'entrada del fitxer de contrasenyes ombra no és vàlida\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "entrada de contrasenya ombra duplicada\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "cap entrada del fitxer de contrasenyes coincideix\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "usuari %s: l'últim canvi de contrasenya s'ha produït en el futur\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: no es pot bloquejar el fitxer de contrasenyes\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: no es pot obrir el fitxer de contrasenyes\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: no es pot eliminar l'entrada ombra per a %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: no es pot actualitzar l'entrada de la contrasenya per a %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: no es pot actualitzar el fitxer de contrasenyes ombra\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: no es pot actualitzar el fitxer de contrasenyes\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: no es pot actualitzar l'entrada per a l'usuari %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: no es pot eliminar el fitxer de contrasenyes ombra\n"
@@ -1498,31 +1489,31 @@ msgstr "%s: no es pot eliminar el fitxer de contrasenyes ombra\n"
 msgid "Sorry."
 msgstr "Disculpeu."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: s'ha d'executar des d'una terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: s'ha produït un error %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "L'id és desconegut: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "No esteu autoritzats a usar «su %s»\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Introduïu la vostra pròpia contrasenya)."
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1531,7 +1522,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorat)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "No hi ha intèrpret\n"
@@ -1550,7 +1541,7 @@ msgstr "S'ha evitat l'autenticació de contrasenya.\n"
 #, c-format
 msgid "Please enter your OWN password as authentication.\n"
 msgstr ""
-"Si us plau introduïu la vostra PRÒPIA contrasenya com a auntenticació.\n"
+"Si us plau introduïu la vostra PRÒPIA contrasenya com a autenticació.\n"
 
 #: src/sulogin.c:118
 #, c-format
@@ -1569,219 +1560,219 @@ msgid ""
 "(or give root password for system maintenance):"
 msgstr ""
 "\n"
-"Pitjeu «control-d» per a continuar amb l'inici normal de sistema,\n"
+"Pitgeu «control-d» per a continuar amb l'inici normal de sistema,\n"
 "(o introduïu la contrasenya de «root» per a manteniment del sistema):"
 
 #: src/sulogin.c:210
 msgid "Entering System Maintenance Mode\n"
 msgstr "S'està entrant en mode de manteniment del sistema\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: l'argument numèric «%s» no és vàlid\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
+msgid "%s: unknown GID %s\n"
 msgstr "%s: el GID %s és desconegut\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: el grup %s és desconegut\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: no es pot crear un fitxer nou de preferències predeterminades\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: no es pot obrir un fitxer nou de preferències predeterminades\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: renombra: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: el grup «%s» és un grup NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: s'han especificat massa grups (màx de %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Forma d'ús: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
-"                     [-d home] [-s intèrpret] [-c ordre] [-m [-k "
-"plantilla]]\n"
+"                    [-d home] [-s intèrpret] [-c ordre] [-m [-k plantilla]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
-msgstr "                     [-f inactiu] [-e caduca]\n"
+msgstr "                    [-f inactiu] [-e caduca]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
-msgstr "                     [-p contrasenya] nom\n"
+msgstr "                    [-p contrasenya] nom\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-msgstr "             useradd -D [-g grup] [-b base] [-s intèrpret]\n"
+msgstr "            useradd -D [-g grup] [-b base] [-s intèrpret]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: s'ha produït un error en bloquejar el fitxer de grups\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: s'ha produït un error en obrir el fitxer de grups\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: s'ha produït un error en bloquejar el fitxer de grups ombra\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: s'ha produït un error en obrir el fitxer de grups ombra\n"
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: l'UID %u no és únic\n"
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: el UID %u no és únic\n"
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
+msgid "%s: can't get unique UID\n"
 msgstr "%s: no es pot obtenir un UID únic\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: el directori base «%s» no és vàlid\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: el comentari «%s» no és vàlid\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: el directori home «%s» no és vàlid\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: la data «%s» no és vàlida\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: les contrasenyes ombra són requerides per a «-e»\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: les contrasenyes ombra són requerides per a «-f»\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: el camp «%s» no és vàlid\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: l'intèrpret «%s» no és vàlid\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: el nom d'usuari «%s» no és vàlid\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: no es pot reescriure el fitxer de contrasenyes\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: no es pot reescriure el fitxer de contrasenyes ombra\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: no es pot bloquejar el fitxer de contrasenyes\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: no es pot d'obrir el fitxer de contrasenyes\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: no es pot bloquejar el fitxer de contrasenyes ombra\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: no es pot obrir el fitxer de contrasenyes ombra\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: s'ha produït un error en afegir la nova entrada de contrasenya\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 "%s: s'ha produït un error en afegir la nova entrada de contrasenya ombra\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: no es pot crear el directori %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
+"No existeix el grup «mail», s'està creant la cua de correu amb mode 0600.\n"
 
-#: src/useradd.c:1446
-#, fuzzy, c-format
+#: src/useradd.c:1390
+#, c-format
 msgid "Can't create mail spool for user %s.\n"
-msgstr "%s: no es pot actualitzar l'entrada per a l'usuari %s\n"
+msgstr "No es pot crear la cua de correu per a l'usuari %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: l'usuari %s existeix\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1789,168 +1780,174 @@ msgstr ""
 "%s: el grup %s existeix, si voleu afegir aquest usuari a aquest grup, useu «-"
 "g».\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 "%s: avís: CREATE_HOME no està suportat, si us plau useu «-m» en el seu "
 "lloc.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Forma d'ús: %s [-r] nom\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: s'ha produït un error en actualitzar l'entrada de grup\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: no es pot obrir el fitxer de grups\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: no es pot obrir el fitxer de grups ombra\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: s'ha produït un error en eliminar l'entrada de contrasenya\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: s'ha produït un error en eliminar l'entrada de contrasenya ombra\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: l'usuari %s està actualment dins el sistema\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s no és propietat de %s, no s'elimina\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: avís: no es pot eliminar "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: l'usuari %s no existeix\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: l'usuari %s és un usuari NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: no s'elimina el directori %s (eliminaria el home de l'usuari %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: s'ha produït un error en eliminar el directori %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Forma d'ús: %s\t[-u uid [-o]] [-g grup] [-G grup,...]\n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d home [-m]] [-s intèrpret] [-c comentari] [-l nom_nou]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inactiu] [-e caduca] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p contrasenya] [-L|-U] nom\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: sense memòria a update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: sense memòria a update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: no s'han especificat senyaladors\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: les contrasenyes ombra són requerides per a «-e» i «-f»\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: l'UID %lu no és únic\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: s'ha produït un error en canviar l'entrada de contrasenya\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: s'ha produït un error en eliminar l'entrada de contrasenya\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: s'ha produït un error en eliminar l'entrada de contrasenya ombra\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: el directori %s ja existeix\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: no es pot crear %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: no es pot fer canviar el propietari a %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+"%s: avís: no s'ha pogut eliminar completament l'antic directori home %s"
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: no es pot renombrar el directori %s a %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: avís: %s no és propietat de %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "no s'ha pogut canviar el propietari de la bústia de correu"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "no s'ha pogut renombrar la bústia de correu"
 
index 28f96350941b09d3414d078e7c2552647621d9a6..4606d4dc729ef658395ef0d0a0ed58ae35bb711d 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index e60505de7bf6380b3f81f898d0e82c41d1748a3e..127426cee8ae5578ca07b14d2b0b53ac323a1c0b 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -4,10 +4,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.8\n"
+"Project-Id-Version: shadow 4.0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
-"PO-Revision-Date: 2005-04-19 21:17+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
+"PO-Revision-Date: 2005-06-21 10:11+0200\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -26,40 +26,40 @@ msgstr "Varování: neznámá skupina %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Varování: příliš mnoho skupin\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Platnost vašeho hesla vypršela."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Vaše heslo je vypnuto."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Platnost vašeho účtu vypršela."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Kontaktujte správce systému.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Zvolte nové heslo.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Platnost vašeho hesla vyprší za %ld dnů.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Platnost vašeho hesla vyprší zítra.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Platnost vašeho hesla vyprší dnes.\n"
@@ -114,7 +114,7 @@ msgstr "Nemáte žádnou poštu."
 msgid "You have mail."
 msgstr "Máte poštu."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Heslo %s je chybné. "
@@ -173,7 +173,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "konfigurační chyba - neznámý předmět '%s' (informujte správce systému)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Heslo: "
 
@@ -182,157 +182,181 @@ msgstr "Heslo: "
 msgid "%s's Password: "
 msgstr "Heslo uživatele %s:"
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Použití: chage [-l] [-m min_dnů] [-M max_dnů] [-W varování]\n"
-"               [-I vypnutí] [-E vypršení] [-d poslední den] uživatel\n"
+"Použití: chage [volby] uživatel\n"
+"\n"
+"Volby:\n"
+"  -d, --lastday POSL_DEN\tnastaví datum poslední změny hesla na POSL_DEN\n"
+"  -E, --expiredate EXP_DATUM\tnastaví datum vypršení účtu na EXP_DATUM\n"
+"  -h, --help\t\t\tzobrazí tuto nápovědu a skončí\n"
+"  -I, --inactive NEAKTIV\tzablokuje účet po NEAKTIV dnech od vypršení\n"
+"\t\t\t\tplatnosti hesla\n"
+"  -l, --list\t\t\tzobrazí informace o účtu\n"
+"  -m, --mindays MIN_DNŮ         nastaví minimální počet dnů před změnou\n"
+"\t\t\t\thesla na MIN_DNŮ\n"
+"  -M, --maxdays MAX_DNŮ         nastaví maximální počet dnů před změnou\n"
+"\t\t\t\thesla na MAX_DNŮ\n"
+"  -W, --warndays VAR_DNŮ\tnastaví varování o expiraci na VAR_DNŮ\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 "Zadejte novou hodnotu, nebo stiskněte ENTER pro použití implicitní hodnoty\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimální stáří hesla"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maximální stáří hesla"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Poslední změna hesla (RRRR-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Varování o vypršení platnosti hesla"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Vypnuté heslo"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Vypršení platnosti účtu (RRRR-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Poslední změna hesla\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "nikdy\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Platnost hesla vyprší\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Vypnuté heslo\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Platnost účtu vyprší\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Minimální počet dnů mezi změnami hesla\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Maximální počet dnů mezi změnami hesla\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Počet varovných dnů před vypršením platnosti hesla\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: nepoužívejte \"l\" s ostatními příznaky\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: přístup odmítnut.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: Přístup odmítnut.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: ověření pomocí PAM selhalo\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: soubor s hesly nelze otevřít\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: neznámý uživatel %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: soubor se stínovými hesly nelze zamknout"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: soubor se stínovými hesly nelze otevřít"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Měním informace o uživateli %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: chyba při změně položek\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: soubor s hesly nelze aktualizovat\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: soubor se stínovými hesly nelze přepsat\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: soubor s hesly nelze přepsat\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok selhal\n"
@@ -378,7 +402,7 @@ msgstr "Telefon domů"
 msgid "Other"
 msgstr "Ostatní"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: vaše uživatelské jméno nelze zjistit.\n"
@@ -393,11 +417,6 @@ msgstr "%s: uživatele `%s' nelze na NIS klientu změnit.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' je hlavním NIS serverem pro tohoto klienta.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Přístup odmítnut.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -433,32 +452,32 @@ msgstr "%s: \"%s\" obsahuje chybné znaky\n"
 msgid "%s: fields too long\n"
 msgstr "%s: položka je příliš dlouhá\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Nelze změnit ID na root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Nelze zamknout soubor s hesly; zkuste to později.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Soubor s hesly nelze otevřít.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s se v /etc/passwd nenalézá\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Chyba při aktualizaci položky v souboru s hesly.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Nelze provést změny v souboru s hesly.\n"
@@ -468,7 +487,7 @@ msgstr "Nelze provést změny v souboru s hesly.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Soubor s hesly nelze odemknout.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -487,53 +506,53 @@ msgstr ""
 "  -m, --md5\t\tpokud zadaná hesla nejsou zašifrovaná,\n"
 "\t\t\tpoužije místo DES algoritmus MD5\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: soubor s hesly nelze zamknout\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: soubor se stínovými hesly nelze zamknout\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: soubor se stínovými hesly nelze otevřít\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: řádek %d je příliš dlouhý\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: řádek %d: chybí nové heslo\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: řádek %d: neznámý uživatel %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: řádek %d: položku v souboru s hesly nelze aktualizovat\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: chyba, změny budou ignorovány\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: chyba při aktualizaci souboru se stínovými hesly\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: chyba při aktualizaci souboru s hesly\n"
@@ -572,12 +591,12 @@ msgstr "Shell %s je neplatný.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Použití: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: VAROVÁNÍ! Musí mít oprávnění superuživatele!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: neznámý uživatel\n"
@@ -611,22 +630,22 @@ msgstr ""
 "\t\t\t\ta limity chybných přihlášení pouze pro uživatele LOGIN\n"
 "\t\t\t\t(s volbami -r, -m nebo -l)\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Uživatel    Chyb     Maximum Poslední                 Na\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds zbylo]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds zámek]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Neznámý uživatel: %s\n"
@@ -666,7 +685,7 @@ msgstr "%s: přepínač -A funguje pouze se stínovými hesly skupin\n"
 msgid "Who are you?\n"
 msgstr "Kdo jste?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "neznámá skupina %s\n"
@@ -700,7 +719,7 @@ msgstr "Měním heslo skupiny %s\n"
 msgid "New Password: "
 msgstr "Nové heslo: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Zadejte opět nové heslo: "
 
@@ -758,75 +777,75 @@ msgstr "%s: nelze odemknout soubor\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Použití: groupadd [-g gid [-o]] [-f] skupina\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: chyba při přidávání položky souboru se skupinami\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: jméno %s není jedinečné\n"
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
-msgstr "%s: uid %u není jedinečné\n"
+msgid "%s: GID %u is not unique\n"
+msgstr "%s: GID %u není jedinečné\n"
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
-msgstr "%s: nelze vytvořit jedinečné gid\n"
+msgid "%s: can't get unique GID\n"
+msgstr "%s: nelze získat jedinečné GID\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s není platným jménem skupiny\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: chybná skupina %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: přepínač -O vyžaduje argument typu JMÉNO=HODNOTA\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: soubor se skupinami nelze přepsat\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: soubor se stínovými skupinami nelze přepsat\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: soubor se skupinami nelze zamknout\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: soubor se skupinami nelze otevřít\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: soubor se stínovými skupinami nelze zamknout\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: soubor se stínovými skupinami nelze otevřít\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: skupina %s již existuje\n"
@@ -836,32 +855,32 @@ msgstr "%s: skupina %s již existuje\n"
 msgid "Usage: groupdel group\n"
 msgstr "Použití: groupdel skupina\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: chyba při odstraňování položky ze souboru se skupinami\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: chyba při odstraňování položky ze souboru se stínovými skupinami\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: primární skupinu uživatele nelze odstranit.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: skupina %s neexistuje\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: skupina %s je NIS skupinou\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s je hlavním NIS serverem\n"
@@ -876,12 +895,12 @@ msgstr "Použití: groupmod [-g gid [-o]] [-n jméno] skupina\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s se v /etc/group nenalézá\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
-msgstr "%s: gid %u není jedinečné\n"
+msgid "%s: %u is not a unique GID\n"
+msgstr "%s: %u není jedinečné gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: jméno %s není jedinečné\n"
@@ -897,22 +916,21 @@ msgstr ""
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Usage: %s [-r] [-s] [soubor se skupinami]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Ne"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s a -r nejsou slučitelné\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: soubor %s nelze zamknout\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: soubor %s nelze otevřít\n"
@@ -923,8 +941,8 @@ msgid "invalid group file entry\n"
 msgstr "chybná položka v souboru se skupinami\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "smazat řádek `%s'?"
@@ -976,17 +994,17 @@ msgstr "smazat administrátora `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "stínová skupina %s: uživatel %s neexistuje\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: soubor %s nelze aktualizovat\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: soubory byly aktualizovány\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: žádné změny nebyly provedeny\n"
@@ -1016,7 +1034,7 @@ msgstr "%s: soubor se stínovými skupinami nelze otevřít\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: položku stínové skupiny %s nelze odstranit\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: položku %s souboru se stínovými hesly nelze aktualizovat\n"
@@ -1134,17 +1152,17 @@ msgstr ""
 "\n"
 "Vypršel časový limit (%d vteřin) pro přihlášení.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " na `%.100s' z `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " na `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1153,84 +1171,29 @@ msgstr ""
 "\n"
 "Přihlašovací jméno na %s: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Chybné přihlášení"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Varování: po dočasném zákazu je přihlašování opět povoleno.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Poslední přihlášení: %s na %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Poslední přihlášení: %.19s na %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " z %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: systém neobsahuje žádnou DBM databázi - není co dělat\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: soubor %s nelze přepsat\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: soubory s DBM databázemi pro %s nelze otevřít\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: řádek začínající %.16s... je příliš dlouhý\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: chyba při zpracování řádku \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "přidávám záznam pro jméno %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: chyba při přidávání záznamu pro %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "počet přidaných položek: %d; délka největší: %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Použití: %s [-vf] [-p|g|sp|sg] soubor\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Použití: %s [-vf] [-p|g|sp] soubor\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Použití: %s [-vf] [-p|g] soubor\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1241,115 +1204,115 @@ msgstr "Použití: newgrp [-] [skupina]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Použití: sg skupina [[-c] příkaz]\n"
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
-msgstr "neznámé uid %u\n"
+msgid "unknown UID: %u\n"
+msgstr "neznámé UID: %u\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "neznámé gid %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "neznámé GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Lituji.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "příliš mnoho skupin\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Použití: %s [vstup]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: soubor /etc/passwd nelze zamknout.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: soubory nelze zamknout. Zkuste to opět později.\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: soubory nelze otevřít\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: řádek %d: chybný řádek\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: řádek %d: nelze vytvořit GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: řádek %d: nelze vytvořit UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: řádek %d: uživatele %s nelze nalézt\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: řádek %d: heslo nelze aktualizovat\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: řádek %d: volání mkdir selhalo\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: řádek %d: volání chown selhalo\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: řádek %d: položku nelze aktualizovat\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: chyba při aktualizaci souborů\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Použití: %s [-f|-s] [jméno]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "         %s [-x max] [-n min] [-w varování] [-i vypnutí] jméno\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "         %s {-l|-u|-d|-S|-e} jméno\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Staré heslo: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Chybné heslo pro `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1358,16 +1321,16 @@ msgstr ""
 "Zadejte nové heslo (počet znaků v intervalu %d až %d).\n"
 "Použijte kombinaci velkých a malých písmen s číslicemi.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nové heslo: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Zkuste to znovu.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1376,150 +1339,145 @@ msgstr ""
 "\n"
 "Varování: slabé heslo (chcete-li jej opravdu použít, zadejte jej znovu).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Neshodují se; zkuste to znovu.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Heslo uživatele %s nelze změnit.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Lituji, ale heslo pro %s nelze ještě změnit.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: došla paměť\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: %s nelze spustit"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: úložna %s není podporována\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Nemůžete prohlížet nebo měnit heslo uživatele %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Měním heslo uživatele %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Heslo uživatele %s nebylo změněno.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Heslo bylo změněno.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
 "Použití: %s [-q] [-r] [-s] [soubor s hesly [soubor se stínovými hesly]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Použití: %s [-q] [-r] [-s] [soubor s hesly]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "chybná položka v souboru s hesly\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "duplikovaná položka v souboru s hesly\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "chybné uživatelské jméno '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "uživatel %s: skupina %u neexistuje\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "uživatel %s: adresář %s neexistuje\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "uživatel %s: program %s neexistuje\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "chybná položka v souboru se stínovými hesly\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "duplikovaná položka v souboru se stínovými hesly\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "chybí položka v souboru s hesly\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "uživatel %s: poslední změna hesla v budoucnosti\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: soubor s hesly nelze zamknout\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: soubor s hesly nelze otevřít\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: položku souboru s hesly pro uživatele %s nelze odstranit\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: položku souboru s hesly pro uživatele %s nelze aktualizovat\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: soubor s hesly nelze aktualizovat\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: položku pro uživatele %s nelze aktualizovat\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: nemůžete smazat soubor se stínovými hesly\n"
@@ -1528,31 +1486,31 @@ msgstr "%s: nemůžete smazat soubor se stínovými hesly\n"
 msgid "Sorry."
 msgstr "Lituji."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: musí být spuštěno z terminálu\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: chyba %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Neznámé id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Nejste oprávněn používat su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Zadejte své heslo.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1561,7 +1519,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignoruji)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Žádný shell\n"
@@ -1605,211 +1563,211 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Vstupuji do režimu údržby systému\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: chybný numerický argument `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: neznámé gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: neznámé GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: neznámá skupina %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: nemohu vytvořit nový soubor s implicitními hodnotami\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: nemohu vytvořit nový soubor s implicitními hodnotami\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: přejmenovat: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: skupina `%s' je NIS skupinou\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: zadáno příliš mnoho skupin (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Použití: useradd [-u uid [-o]] [-g skupina [-G skupina,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                 [-d domácí adr.] [-s shell] [-c komentář]\n"
 "                 [-m [-k šablona]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                 [-f vypnutí] [-e vypršení]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                 [-p heslo] jméno\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "         useradd -D [-g skupina [-b základní adr.] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: chyba při zamykání souboru se skupinami\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: chyba při otevírání souboru se skupinami\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: chyba při zamykání souboru se stínovými hesly\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: chyba při otevírání souboru se stínovými hesly\n"
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s uid %u není jedinečné\n"
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: UID %u není jedinečné\n"
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: nemohu získat jedinečné uid\n"
+msgid "%s: can't get unique UID\n"
+msgstr "%s: nelze získat jedinečné UID\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: chybný základní adresář `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: chybný komentář `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: chybný domácí adresář `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: chybné datum `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: přepínač -e vyžaduje stínová hesla\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: přepínač -f vyžaduje stínová hesla\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: chybná položka `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: chybný shell `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: chybné uživatelské jméno `%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: soubor s hesly nelze přepsat\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: soubor se stínovými hesly nelze přepsat\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: soubor s hesly nelze zamknout\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: soubor s hesly nelze otevřít\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: soubor se stínovými hesly nelze zamknout\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: soubor se stínovými hesly nelze otevřít\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: chyba při vytváření nové položky v souboru s hesly\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: chyba při vytváření nové položky v souboru se stínovými hesly\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: adresář %s nelze vytvořit\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr "Skupina \"mail\" neexistuje, vytvářím soubor s poštou s právy 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Nemohu vytvořit soubor s příchozí poštou pro uživatele %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: uživatel %s již existuje\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1817,166 +1775,171 @@ msgstr ""
 "%s: skupina %s existuje - chcete-li přidat uživatele do této skupiny, "
 "použijte -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: varování: CREATE_HOME není podporováno, použijte přepínač -m\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Použití: %s [-r] jméno\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: položku souboru se skupinami nelze aktualizovat\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: soubor se skupinami nelze otevřít\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: soubor se stínovými skupinami nelze otevřít\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: chyba při odstraňování položky ze souboru s hesly\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: chyba při odstraňování položky ze souboru se stínovými hesly\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: uživatel %s je právě přihlášen\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: vlastníkem %s není %s, nemažu jej\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: varování: nemohu smazat "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: uživatel %s neexistuje\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: uživatel %s je NIS uživatelem\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: adresář %s nebudu mazat (je to domácí adresář uživatele %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: chyba při mazání adresáře %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Použití: %s [-u uid [-o]] [-g skupina [-G skupina,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d domácí adr. [-m]] [-s shell] [-c komentář] [-l nové jméno]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f vypnutí] [-e vypršení] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p heslo] [-L|-U] jméno\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s nedostatek paměti v update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: nedostatek paměti v update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: žádné přepínače\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: přepínače -e a -f vyžadují stínová hesla\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s uid %lu není jedinečné\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: chyba při změně položky v souboru s hesly\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: chyba při odstraňování položky ze souboru s hesly\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: chyba při odstraňování položky ze souboru se stínovými hesly\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: adresář %s již existuje\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: %s nelze vytvořit\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: volání chown pro %s selhalo\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr "%s: varování: selhalo úplné odstranění domovského adresáře %s"
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: adresář %s nelze na %s přejmenovat\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: varování: vlastníkem %s není %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "chyba při změně vlastníka poštovní schránky"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "chyba při přejmenovávání poštovní schránky"
 
index 9e4872bbafbf327ac4b366146a05e2aec4137fa7..14df44b9bd4ce444d3d558c21e5c3505df712c0a 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index d8ca4bc6c5a4ba7a8f1855c5f56432d07200159e..2309172e7c92cd2a9d78970c469a941fe02505c0 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.8\n"
+"Project-Id-Version: shadow 4.0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
-"PO-Revision-Date: 2005-04-19 10:17+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
+"PO-Revision-Date: 2005-06-20 22:27+0200\n"
 "Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
 "MIME-Version: 1.0\n"
@@ -27,40 +27,40 @@ msgstr "Advarsel: ukendt gruppe %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Advarsel: for mange grupper\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Din adgangskode er udløbet."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Din adgangskode er inaktiv."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Din adgangskode er udløbet."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Kontakt systemadministratoren.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Vælg en ny adgangskode.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Din adgangskode udløber om %ld dage.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Din adgangskode udløber i morgen.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Din adgangskode udløber i dag.\n"
@@ -112,7 +112,7 @@ msgstr "Ingen post."
 msgid "You have mail."
 msgstr "Du har post."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Ugyldig adgangskode: %s.  "
@@ -170,7 +170,7 @@ msgstr "Kunne ikke frigøre plads til opsætningsoplysninger.\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "opsætningsfejl - ukendt punkt %s (informér administrator)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Adgangskode: "
 
@@ -179,156 +179,181 @@ msgstr "Adgangskode: "
 msgid "%s's Password: "
 msgstr "%s's adgangskode: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Brug: chage [-l] [-m min_dage] [-M maks_dage] [-W advar]\n"
-"            [-I inaktive] [-E udløb] [-d sidste_dag] bruger\n"
-
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+"Brug: chage [tilvalg] bruger\n"
+"\n"
+"Tilvalg:\n"
+"  -d, --lastday SIDSTE_DAG\tsæt seneste adgangskodeændring til SIDSTE_DAG\n"
+"  -E, --expiredate UDLØBSDATO\tsæt kontoens udløbsdato til UDLØBSDATO\n"
+"  -h, --help\t\t\tvis denne hjælpebesked og afslut\n"
+"  -I, --inactive INAKTIVT\tsæt inaktiv adgangskode efter udløb til INAKTIVT\n"
+"  -l, --list\t\t\tvis forældelsesoplysninger for konto\n"
+"  -m, --mindays MIN_DAGE\tsæt minimalt antal dage inden adgangskodeændring\n"
+"\t\t\t\ttil MIN_DAGE\n"
+"  -M, --maxdays MAKS_DAGE\tsæt maksimalt antal dage inden "
+"adgangskodeændring\n"
+"\t\t\t\ttil MAKS_DAGE\n"
+"  -W, --warndays VARSELSDAGE\tsæt antallet af udløbsvarselsdage til "
+"VARSELSDAGE\n"
+
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Angiv ny værdi eller tryk RETUR for standardværdien\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimal adgangskode-alder"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maksimal adgangskode-alder"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Sidste ændring af adgangskode (ÅÅÅÅ-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Advarsel om udløb af adgangskode"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Adgangskode inaktiv"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Konto-udløbsdato (ÅÅÅÅ-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Sidste ændring af adgangskode\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "aldrig\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Adgangskode udløber\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Adgangskode inaktiv\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Konto udløber\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Minimalt antal dage mellem ændring af adgangskoden\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Maksimalt antal dage mellem ændring af adgangskoden\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Antal dages forvarsel om adgangskodens udløb\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: medtag ikke \"l\" med andre flag\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: adgang nægtet.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: Adgang nægtet.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM-autentifikation mislykkedes\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: kan ikke åbne adgangskodefil\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: ukendt bruger %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: kan ikke låse skyggeadgangskodefil"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: kan ikke åbne skyggeadgangskodefil"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Ændrer forældelsesoplysninger for %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: fejl ved ændring af felter\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: kan ikke opdatere adgangskodefil\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: kan ikke opdatere skyggeadgangskodefil\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: kan ikke genskrive skyggeadgangskodefilen\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: kan ikke genskrive adgangskodefilen\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok fejlede\n"
@@ -373,7 +398,7 @@ msgstr "Hjemmetelefon"
 msgid "Other"
 msgstr "Andet"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Kan ikke afgøre dit brugernavn.\n"
@@ -388,11 +413,6 @@ msgstr "%s: kan ikke ændre brugeren`%s' på NIS-klienten.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' er NIS-masteren for denne klient.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Adgang nægtet.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -428,32 +448,32 @@ msgstr "%s: \"%s\" indeholder ugyldige tegn\n"
 msgid "%s: fields too long\n"
 msgstr "%s: felter for lange\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Kan ikke ændre ID til root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Kan ikke låse adgangskodefilen; forsøg igen senere.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Kan ikke åbne adgangskodefilen.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s ikke fundet i /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Fejl under opdatering af adgangskodelinje.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Kan ikke skrive ændringerne til adgangskodefilen.\n"
@@ -463,7 +483,7 @@ msgstr "Kan ikke skrive ændringerne til adgangskodefilen.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Kan ikke låse adgangskodefilen op.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -482,53 +502,53 @@ msgstr ""
 "  -m, --md5\t\tbrug MD5-kryptering i stedet for DES, når de angivne\n"
 "\t\t\tadgangskoder ikke er krypterede\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: kan ikke låse adgangskodefil\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: Kan ikke låse skyggefilen\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: Kan ikke åbne skyggefilen\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: linje %d: linjen er for lang\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: linje %d: mangler ny adgangskode\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: linje %d: ukendt bruger %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: linje %d: kan ikke opdatere adgangskodelinje\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: fejl opdaget, ændringerne blev ignoreret\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: fejl under opdatering af skyggefil\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: fejl under opdatering af adgangskodefil\n"
@@ -567,12 +587,12 @@ msgstr "%s er en ugyldig skal.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Brug: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: ADVARSEL! Skal være set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: ukendt bruger\n"
@@ -607,22 +627,22 @@ msgstr ""
 "\t\t\t\tog grænser (hvis den bruges sammen med tilvalgene -r, -m eller -l)\n"
 "\t\t\t\tfor brugeren med LOGIND\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Logind      Fejl     Maksimum Seneste                 Tid\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds tilbage]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds lås]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Ukendt bruger: %s\n"
@@ -662,7 +682,7 @@ msgstr "%s: der kræves skyggeadgangskoder for -A\n"
 msgid "Who are you?\n"
 msgstr "Hvem er du?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "ukendt gruppe: %s\n"
@@ -696,7 +716,7 @@ msgstr "Ændrer adgangskoden for gruppen %s\n"
 msgid "New Password: "
 msgstr "Ny adgangskode: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Gentag ny adgangskode: "
 
@@ -754,75 +774,75 @@ msgstr "%s: kan ikke låse fil op\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Brug: groupadd [-g gid [-o]] [-f] gruppe\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: fejl under tilføjelse af gruppelinje\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: navnet %s er ikke unikt\n"
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
-msgstr "%s: gid %u er ikke unikt\n"
+msgid "%s: GID %u is not unique\n"
+msgstr "%s: GID %u er ikke unikt\n"
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
-msgstr "%s: kan ikke få unik gid\n"
+msgid "%s: can't get unique GID\n"
+msgstr "%s: kan ikke få unik GID\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s er ikke et gyldigt gruppenavn\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: ugyldig gruppe %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O kræver NAVN=VÆRDI\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: kan ikke genskrive gruppefil\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: kan ikke genskrive skyggegruppefil\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: kan ikke låse gruppefil\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: kan ikke åbne gruppefil\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: kan ikke låse skyggegruppefil\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: kan ikke åbne skyggegruppefil\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: gruppen %s eksisterer\n"
@@ -832,32 +852,32 @@ msgstr "%s: gruppen %s eksisterer\n"
 msgid "Usage: groupdel group\n"
 msgstr "Brug: groupdel gruppe\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: fejl under fjernelse af gruppelinje\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: fejl under fjernelse af skyggegruppelinje\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: kan ikke fjerne brugerens primære gruppe.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: gruppen %s eksisterer ikke\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: gruppen %s er en NIS-gruppe\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s er NIS-masteren\n"
@@ -872,12 +892,12 @@ msgstr "Brug: groupmod [-g gid [-o]] [-n navn] gruppe\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s blev ikke fundet i /etc/group\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
-msgstr "%s: %u er ikke en unik gid\n"
+msgid "%s: %u is not a unique GID\n"
+msgstr "%s: %u er ikke en unik GID\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s er ikke et unikt navn\n"
@@ -892,22 +912,21 @@ msgstr "Brug: %s [-r] [-s] [gruppe [gskygge]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Brug %s [-r] [-s] [gruppe]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nej"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s og -r er ikke kompatible\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: kan ikke låse filen %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: kan ikke åbne filen %s\n"
@@ -918,8 +937,8 @@ msgid "invalid group file entry\n"
 msgstr "ugyldig gruppefils-linje\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "slet linjen '%s'? "
@@ -971,17 +990,17 @@ msgstr "slet administrator-medlemmet '%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "skyggegruppen %s: ingen bruger %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: kan ikke opdatere filen %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: filerne er blevet opdateret\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: ingen ændringer\n"
@@ -1011,7 +1030,7 @@ msgstr "%s: kan ikke åbne skyggegruppefilen\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: kan ikke fjerne skyggegruppen %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: kan ikke opdatere skygge-linjen for %s\n"
@@ -1130,17 +1149,17 @@ msgstr ""
 "\n"
 "Login udløb efter %d sekunder.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " på `%.100s' fra `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " på `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1149,84 +1168,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Forkert login"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Advarsel: login genetableret efter midlertidig udelukkelse.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Sidst logget på: %s på %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Sidst logget på: %.19s på %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " fra %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: ingen DBM-databaser på systemet - jeg foretog mig intet\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: kan ikke overskrive filen %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: kan ikke åbne DBM-filer for %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: linjen, der starter med %.16s... er for lang\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: fejl ved tolkning af linjen \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "tilføjer post for navnet %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: fejl under tilføjelse af post for %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "tilføjede %d poster, den længste var %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Brug: %s [-vf] [-p|g|sp|sg] fil\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Brug: %s [-vf] [-p|g|sp] fil\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Brug: %s [-vf] [-p|g] fil\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1237,115 +1201,115 @@ msgstr "Brug: newgrp [-] [gruppe]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Brug: sg gruppe [[-c] kommando]\n"
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
-msgstr "ukendt uid: %u\n"
+msgid "unknown UID: %u\n"
+msgstr "ukendt UID: %u\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "ukendt gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "ukendt GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Beklager.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "for mange grupper\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Brug: %s [inddata]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: kan ikke låse /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: kan ikke låse filer. Prøv igen senere\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: kan ikke åbne filer\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: linje %d: ugyldig linje\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: linje %d: kan ikke oprette GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: linje %d: kan ikke oprette UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: linje %d: kan ikke finde brugeren %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: linje %d: kan ikke opdatere adgangskode\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: linje %d: mkdir fejlede\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: linje %d: chown fejlede\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: linje %d: kan ikke opdatere posten\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: fejl under opdatering af filerne\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Brug: %s [-f|-s] [navn]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "      %s [-x maks] [-n min] [-w advar] [-i inact] navn\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "      %s {-l|-u|-d|-S|-e} navn\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Gammel adgangskode: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Ugyldig adgangskode for `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1354,16 +1318,16 @@ msgstr ""
 "Angiv ny adgangskode (mindst %d, højst %d tegn)\n"
 "Brug en kombination af små og store bogstaver samt tal.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Ny adgangskode: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Prøv igen.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1372,149 +1336,144 @@ msgstr ""
 "\n"
 "Advarsel: svag adgangskode (skriv den igen for at bruge det alligevel).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "De er ikke ens; prøv igen.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Adgangskoden for %s kan ikke ændres.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Beklager, adgangskoden for %s kan endnu ikke ændres.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: hukommelse opbrugt\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Kan ikke udføre %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: samlingen %s understøttes ikke\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Du har ikke lov til at se adgangskodeoplysninger for %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Ændrer adgangskode for %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Adgangskoden for %s er uændret.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Adgangskode ændret.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Brug: %s [-q] [-r] [-s] [adgangskode [skygge]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Brug: %s [-q] [-r] [-s] [adgangskode]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "ugyldig linje i adgangskodefil\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "adgangskodelinjen er en dublet\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "ugyldigt brugernavn'%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "bruger %s: ingen gruppe %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "bruger %s: mappen %s eksisterer ikke\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "bruger %s: programmet %s eksisterer ikke\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "ugyldig linje i skyggeadgangskodefil\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "skyggeadgangskodelinjen er en dublet\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "fandt ingen tilsvarende linje i adgangskodefilen\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "bruger %s: seneste ændring af adgangskoden skete i fremtiden\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: kan ikke låse adgangskodefil\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: kan ikke åbne adgangskodefil\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: kan ikke fjerne skyggelinjen for %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: kan ikke opdatere adgangskodelinjen for  %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: kan ikke opdatere skyggefilen\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: kan ikke opdatere adgangskodefilen\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: kan ikke opdatere linje for brugeren %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: kan ikke slette skyggeadgangskodefilen\n"
@@ -1523,31 +1482,31 @@ msgstr "%s: kan ikke slette skyggeadgangskodefilen\n"
 msgid "Sorry."
 msgstr "Beklager."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: skal køres fra en terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: fejl %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Ukendt id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Du er ikke autoriseret til at 'su %s'\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Angiv din adgangskode.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1556,7 +1515,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignoreret)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Ingen skal\n"
@@ -1600,212 +1559,212 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Går i systemvedligeholdelses-tilstand\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: ugyldigt numerisk parameter`%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: ukendt gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: ukendt GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: ukendt gruppe %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: kan ikke oprette ny standardværdi-fil\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: kan ikke åbne ny standardværdi-fil\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: omdøb: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: gruppen`%s' er en NIS-gruppe.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: der er angivet for mange grupper (maks %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Brug: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "              [-d hjemmemappe] [-s skal] [-c kommentar] [-m [-k skabelon]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "              [-f inaktiv] [-e udløb ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "              [-p adgangskode] navn\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "      useradd -D [-g gruppe] [-b grundmappe] [-s skal]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: fejl under låsning af gruppefil\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: fejl under åbning af gruppefil\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: fejl under låsning af skyggegruppefil\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: fejl under åbning af skyggegruppefil\n"
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u er ikke unik\n"
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: UID %u er ikke unikt\n"
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: kan ikke få unik uid\n"
+msgid "%s: can't get unique UID\n"
+msgstr "%s: kan ikke få unik UID\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: ugyldig grundmappe '%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: ugyldig kommentar '%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: ugyldig hjemmemappe '%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: ugyldig dato '%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: der kræves skyggeadgangskoder for -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: der kræves skyggeadgangskoder for -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: ugyldigt felt ''%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: ugyldig skal '%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: ugyldigt brugernavn '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: kan ikke genskrive adgangskodefilen\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: kan ikke genskrive skyggeadgangskodefilen\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: kunne ikke låse adgangskodefilen\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: kunne ikke åbne adgangskodefilen\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: kunne ikke låse skyggeadgangskodefilen\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: kunne ikke åbne skyggeadgangskodefilen\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: fejl under tilføjelse af ny adgangskodelinje\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: fejl under tilføjelse af ny skyggeadgangskode-linje\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: kan ikke oprette mappen %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Der er ingen gruppe med navnet \"mail\", opretter postkø med "
 "filrettighederne 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Kan ikke oprette postkø for brugeren %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: brugeren %s eksisterer\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1813,167 +1772,172 @@ msgstr ""
 "%s: gruppen %s eksisterer - brug -g hvis du vil tilføje denne bruger til den "
 "gruppe.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: advarsel: CREATE_HOME understøttes ikke, brug i stedet -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Brug: %s [-r] navn\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: fejl under opdatering af gruppelinje\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: kan ikke åbne gruppefilen\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: kan ikke åbne skyggegruppefilen\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: fejl under sletning af adgangskodelinje\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: fejl under sletning af skyggeadgangskodelinje\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: brugeren %s er logget på\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s ejes ikke af %s, fjerner ikke\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: advarsel: kan ikke fjerne "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: brugeren %s eksisterer ikke\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: brugeren %s er en NIS-bruger\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: fjerner ikke mappen %s (det ville fjerne hjemmemappen for brugeren %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: fejl under fjernelse af mappen %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Brug: %s\t[-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d hjemmemappe [-m]] [-s skal] [-c kommentar] [-l nyt_navn]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inaktiv] [-e udløb ] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p adgangskode] [-L|-U] navn\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: løbet tør for hukommelse i update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: løbet tør for hukommelse i update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: ingen flag angivet\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: skyggeadgangskoder kræves for e og -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu er ikke unik\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: fejl under ændring af adgangskodelinje\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: fejl under fjernelse af adgangskodelinje\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: fejl under fjernelse af skyggeadgangskodelinje\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: mappen %s eksisterer\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: kan ikke oprette %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: kan ikke chown %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr "%s: advarsel: kunne ikke fjerne den gamle hjemmemappe %s fuldstændigt"
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: kan ikke omdøbe mappen %s til %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: advarsel: %s ejes ikke af %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "kunne ikke ændre postkassens ejer"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "kunne ikke omdøbe postkasse"
 
@@ -2009,3 +1973,12 @@ msgstr ""
 "Brug:\n"
 "'vipw' redigerer /etc/passwd    `vipw -s' redigerer /etc/shadow\n"
 "'vigr' redigerer /etc/group     `vigr -s' redigerer /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "ukendt uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid %u er ikke unik\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: kan ikke få unik uid\n"
index 21d7ffd9d723f29406479b492d24ebd3241372d9..e57ba480ef2a16d476a5817f35fee5f43b46d1d8 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index e1d93742da60874782bfa4c588d18ea33d902319..6b0ff7a700ab961eaf982b8832f7a9becf1d841a 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 19990709\n"
+"Project-Id-Version: shadow 4.0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2002-03-11 12:02-0100\n"
 "Last-Translator: Frank Schmid <frank@cs-schmid.de>\n"
 "Language-Team: Frank Schmid <frank@cs-schmid.de>\n"
@@ -26,40 +26,40 @@ msgstr "Warnung: Gruppe %s ist unbekannt\n"
 msgid "Warning: too many groups\n"
 msgstr "Warnung: zu viele Gruppen\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Ihr Kennwort ist abgelaufen."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Ihr Kennwort ist inaktiv."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Ihr Account ist abgelaufen."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Verständigen Sie den Systemadministrator.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Wählen Sie ein neues Kennwort.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Ihr Kennwort läuft in %ld Tagen ab.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Ihr Kennwort läuft morgen ab.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Ihr Kennwort läuft heute ab.\n"
@@ -80,15 +80,19 @@ msgid "You may not change $%s\n"
 msgstr "Sie können $%s nicht ändern\n"
 
 #: libmisc/failure.c:229
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "%d failure since last login.\n"
 "Last was %s on %s.\n"
 msgid_plural ""
 "%d failures since last login.\n"
 "Last was %s on %s.\n"
-msgstr[0] "%d %s seit letzter Verbindung. Die letzte war am %s auf %s.\n"
-msgstr[1] "%d %s seit letzter Verbindung. Die letzte war am %s auf %s.\n"
+msgstr[0] ""
+"%d seit letzter Verbindung.\n"
+"Die letzte war am %s auf %s.\n"
+msgstr[1] ""
+"%d seit letzter Verbindung.\n"
+"Die letzte war am %s auf %s.\n"
 
 #: libmisc/limits.c:397
 #, c-format
@@ -107,7 +111,7 @@ msgstr "Keine Post vorhanden."
 msgid "You have mail."
 msgstr "Sie haben Post."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Schlechtes Kennwort: %s.  "
@@ -124,7 +128,7 @@ msgstr "passwd: %s\n"
 
 #: libmisc/pam_pass.c:49
 msgid "passwd: password updated successfully\n"
-msgstr ""
+msgstr "passwd: Kennwort erfolgreich geändert\n"
 
 #: libmisc/setupenv.c:207
 #, c-format
@@ -143,7 +147,7 @@ msgstr "Kann %s nicht ausführen"
 #: libmisc/sub.c:55
 #, c-format
 msgid "Invalid root directory \"%s\"\n"
-msgstr "Ungültiges Basis-Verzeichnis \"%s\"\n"
+msgstr "Ungültiges Basisverzeichnis \"%s\"\n"
 
 #: libmisc/sub.c:67
 #, c-format
@@ -166,7 +170,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "Konfigurationsfehler - Element '%s' unbekannt (Administrator verständigen)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Kennwort: "
 
@@ -175,157 +179,180 @@ msgstr "Kennwort: "
 msgid "%s's Password: "
 msgstr "Kennwort von %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Syntax: chage [-l] [-m min_tage] [-M max_tage] [-W warnung]\n"
-"              [-I inaktiv] [-E ablauf] [-d letzter_tag] Benutzer\n"
-
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+"Syntax: chage [Optionen] Benutzer\n"
+"\n"
+"Optionen:\n"
+"  -d, --lastday LAST_DAY\tLetzte Kennwortänderung auf LAST_DAY setzen\n"
+"  -E, --expiredate EXPIRE_DATE\tAblaufdatum auf EXPIRE_DATE setzen\n"
+"  -h, --help\t\t\tZeigt diese Hilfe an, sonst nichts\n"
+"  -I, --inactive INACTIVE\tKennwort nach Ablauf von INACTIVE deaktivieren\n"
+"  -l, --list\t\t\tInformationen zu Ablaufdaten usw. anzeigen\n"
+"  -m, --mindays MIN_DAYS\tMinimale Anzahl der Tage bevor das Kennwort\n"
+"\t\t\t\tgeändert werden kann auf MIN_DAYS setzen\n"
+"  -M, --maxdays MAX_DAYS\tMaximale Anzahl der Tage bevor das Kennwort\n"
+"\t\t\t\tgeändert werden kann auf MAX_DAYS setzen\n"
+"  -W, --warndays WARN_DAYS\tAblaufwarnung aif WARN_DAYS setzen\n"
+
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Geben Sie einen neuen Wert an oder ENTER für den Standardwert\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimales Kennwortalter"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maximales Kennwortalter"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Letzte Kennwortänderung (JJJJ-MM-TT)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
-msgstr "Warnung falls Kennwort abläuft"
+msgstr "Warnung falls das Kennwort abläuft"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Kennwort inaktiv"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Ablaufdatum des Accounts (JJJJ-MM-TT)"
 
-#: src/chage.c:231
-#, fuzzy, c-format
+#: src/chage.c:241
+#, c-format
 msgid "Last password change\t\t\t\t\t: "
-msgstr "Letzte Kennwortänderung (JJJJ-MM-TT)"
+msgstr "Letzte Kennwortänderung\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
-#, fuzzy, c-format
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
+#, c-format
 msgid "never\n"
 msgstr "Nie\n"
 
-#: src/chage.c:244
-#, fuzzy, c-format
+#: src/chage.c:254
+#, c-format
 msgid "Password expires\t\t\t\t\t: "
-msgstr "Kennwort läuft ab :\t"
+msgstr "Kennwort läuft ab\t\t\t\t\t: "
 
-#: src/chage.c:260
-#, fuzzy, c-format
+#: src/chage.c:270
+#, c-format
 msgid "Password inactive\t\t\t\t\t: "
-msgstr "Kennwort inaktiv:\t"
+msgstr "Kennwort inaktiv\t\t\t\t\t: "
 
-#: src/chage.c:274
-#, fuzzy, c-format
+#: src/chage.c:284
+#, c-format
 msgid "Account expires\t\t\t\t\t\t: "
-msgstr "Account läuft ab:\t"
+msgstr "Account läuft ab\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "Minimale Anzahl der Tage zwischen Kennwortänderungen\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "Maximale Anzahl der Tage zwischen Kennwortänderungen\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
-msgstr ""
+msgstr "Anzahl der Tage an denen vor dem Kennwortablauf gewarnt wird\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
-msgstr "%s: benutzen Sie nicht \"l\" mit anderen Optionen\n"
+msgstr "%s: benutzen Sie \"l\" nicht mit anderen Optionen\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
-#, fuzzy, c-format
-msgid "%s: permission denied.\n"
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
+#, c-format
+msgid "%s: Permission denied.\n"
 msgstr "%s: Zugriff verweigert\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
-#, fuzzy, c-format
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
+#, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM-Authentifizierung fehlgeschlagen\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: Kann Kennwortdatei nicht öffnen\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: Benutzer %s unbekannt\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: Kann Shadow-Datei nicht sperren"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: Kann Shadow-Datei nicht öffnen"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Ändere die Kennwortalterung für %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: Fehler beim ändern der Felder\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: Kann Kennwortdatei nicht aktualisieren\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: Kann Shadow-Datei nicht aktualisieren\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: Kann die Shadow-Datei nicht neu erstellen\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: Kann die Kennwortdatei nicht neu erstellen\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
-#, fuzzy, c-format
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
+#, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok fehlgeschlagen\n"
 
@@ -368,7 +395,7 @@ msgstr "Telefon privat"
 msgid "Other"
 msgstr "Sonstiges"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Kann Ihren Benutzernamen nicht feststellen.\n"
@@ -383,11 +410,6 @@ msgstr "%s: Kann den Benutzer `%s' nicht auf dem NIS-Client ändern.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' ist der NIS-Master für diesen Client.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Zugriff verweigert\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -423,33 +445,33 @@ msgstr "%s: \"%s\" enthält ungültige Zeichen\n"
 msgid "%s: fields too long\n"
 msgstr "%s: Feld zu lang\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Kann ID nicht zu root ändern.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 "Kann die Kennwortdatei nicht sperren; versuchen Sie es später nocheinmal.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Kann die Kennwortdatei nicht öffnen.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s nicht in /etc/passwd gefunden\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Fehler beim aktualisieren des Kennworteintrags.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Kann Änderungen in der Kennwortdatei nicht schreiben.\n"
@@ -459,7 +481,7 @@ msgstr "Kann Änderungen in der Kennwortdatei nicht schreiben.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Kann die Kennwortdatei nicht entsperren.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -470,54 +492,61 @@ msgid ""
 "  -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n"
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
+"Syntax: chpasswd [Optionen]\n"
+"\n"
+"Optionen:\n"
+"  -e, --encrypted\tAngegebene Kennwörter sind verschlüsselt\n"
+"  -h, --help\t\tZeigt diese Hilfe, sonst nichts\n"
+"  -m, --md5\t\tMD5-Verschlüsselung statt DES verwenden, wen\n"
+"\t\t\tdie angegebenen Kennwörter nicht verschlüsselt sind\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: kann Kennwortdatei nicht sperren\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: Kann die Shadow-Datei nicht sperren\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: Kann die Shadow-Datei nicht öffnen\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: Zeile %d: Zeile zu lang\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: Zeile %d: Neues Kennwort fehlt\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: Zeile %d: Benutzer %s unbekannt\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: Zeile %d: Kann Kennworteintrag nicht aktualisieren\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: Fehler entdeckt, Änderungen werden verworfen\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: Fehler beim aktualisieren der Shadow-Datei\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: Fehler beim Aktualisieren der Kennwortdatei\n"
@@ -556,12 +585,12 @@ msgstr "%s ist eine ungültige Shell.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Syntax: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: WARNUNG!  Muss set-UID root sein\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: Unbekannter Benutzer\n"
@@ -582,23 +611,34 @@ msgid ""
 "\t\t\t\tand limits (if used with -r, -m or -l options) only\n"
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
-
-#: src/faillog.c:87
+"Syntax: faillog [Optionen]\n"
+"\n"
+"Optionen:\n"
+"  -a, --all\t\t\tDatensätze für alle Benutzer anzeigen\n"
+"  -h, --help\t\t\tZeigt diese Hilfe, sonst nichts\n"
+"  -l, --lock-time SEC\t\tSperrt den Account nach fehlgeschlagener\n"
+"\t\t\t\tAnmeldung für SEC Sekunden\n"
+"  -m, --maximum MAX\t\tMaximale fehlgeschlagene Anmeldungen auf MAX setzen\n"
+"  -r, --reset\t\t\tFehlgeschlagene Anmeldungen zurücksetzen\n"
+"  -t, --time DAYS\t\tDatensätze, die jünger sind als DAYS Tage anzeigen\n"
+"  -u, --user LOGIN\t\tFunktion nur für den Account LOGIN durchführen\n"
+
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
-msgstr ""
+msgstr "Anmeldung   Fehler   Maximum Letzter                  Am\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds übrig]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds Sperre]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Benutzer %s unbekannt\n"
@@ -638,7 +678,7 @@ msgstr "%s: Shadow-Gruppen-Kennwörter für -A benötigt\n"
 msgid "Who are you?\n"
 msgstr "Wer sind Sie?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "Unbekannte Gruppe: %s\n"
@@ -672,7 +712,7 @@ msgstr "Ändere Kennwort für die Gruppe %s\n"
 msgid "New Password: "
 msgstr "Neues Kennwort: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Kennwort wiederholen: "
 
@@ -688,12 +728,12 @@ msgstr "%s: Versuchen Sie es später nocheinmal\n"
 #: src/gpasswd.c:562
 #, c-format
 msgid "%s: can't get lock\n"
-msgstr "%s: Kann Sperre nicht lesen\n"
+msgstr "%s: Sperre nicht möglich\n"
 
 #: src/gpasswd.c:568
 #, c-format
 msgid "%s: can't get shadow lock\n"
-msgstr "%s: Kann Sperre nicht aus Shadow-Datei lesen\n"
+msgstr "%s: Kann Shadow-Datei nicht sperren\n"
 
 #: src/gpasswd.c:574
 #, c-format
@@ -730,75 +770,75 @@ msgstr "%s: Datei kann nicht entsperrt werden\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Syntax: groupadd [-g gid [-o]] [-f] Gruppe\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: Fehler beim Hinzufügen eines neuen Gruppeneintrags\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: Name %s ist nicht eindeutig\n"
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: GID %u ist nicht eindeutig\n"
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
+msgid "%s: can't get unique GID\n"
 msgstr "%s: Kann keine eindeutige GID feststellen\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s ist kein gültiger Gruppenname\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: Ungültige Gruppe %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O benötigt NAME=WERT\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: Kann Gruppendatei nicht neu erstellen\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: Kann Shadow-Gruppendatei nicht neu erstellen\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: Kann Gruppendatei nicht sperren\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: Kann Gruppendatei nicht öffnen\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: Kann Shadow-Gruppendatei nicht sperren\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: Gruppe %s bereits vorhanden\n"
@@ -808,32 +848,32 @@ msgstr "%s: Gruppe %s bereits vorhanden\n"
 msgid "Usage: groupdel group\n"
 msgstr "Syntax: groupdel Gruppe\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: Fehler beim Entfernen des Gruppeneintrags\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: Fehler beim Entfernen des Shadow-Gruppeneintrags\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: Kann die primäre Gruppe des Benutzers nicht entfernen.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: Gruppe %s existiert nicht\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: Gruppe %s ist eine NIS-Gruppe\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s ist der NIS-Master\n"
@@ -848,12 +888,12 @@ msgstr "Syntax: groupmod [-g gid [-o]] [-n Name] Gruppe\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s nicht in /etc/group gefunden\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u ist keine eindeutige GID\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s ist kein eindeutiger Name\n"
@@ -868,22 +908,21 @@ msgstr "Syntax: %s [-r] [-s] [Gruppe [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Syntax: %s [-r] [-s] [Gruppe]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nein"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
-msgstr ""
+msgstr "%s: -s und -r sind nicht kompatibel\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: Kann Datei %s nicht sperren\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: Kann Datei %s nicht öffnen\n"
@@ -894,8 +933,8 @@ msgid "invalid group file entry\n"
 msgstr "Ungültiger Eintrag in Gruppendatei\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "Zeile `%s' löschen? "
@@ -947,17 +986,17 @@ msgstr "Administratives Mitglied `%s' löschen?"
 msgid "shadow group %s: no user %s\n"
 msgstr "Shadow-Gruppe %s: kein Benutzer %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: Kann Datei %s nicht aktualisieren\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: Die Dateien wurden aktualisiert\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: keine Änderungen\n"
@@ -987,7 +1026,7 @@ msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: Kann Shadow-Gruppe %s nicht entfernen\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: Kann Shadow-Eintrag für %s nicht aktualisieren\n"
@@ -1037,6 +1076,12 @@ msgid ""
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
+"Syntax: lastlog [Optionen]\n"
+"\n"
+"Optionen:\n"
+"  -u, --user LOGIN\tEintrag für Benutzer LOGIN anzeigen\n"
+"  -h, --help\t\tZeigt diese Hilfe, sonst nichts\n"
+"  -t, --time DAYS\tNur Einträge zeigen, die jünger sind als DAYS Tage\n"
 
 #: src/lastlog.c:90
 #, c-format
@@ -1099,17 +1144,17 @@ msgstr ""
 "\n"
 "Login: Timeout nach %d Sekunden.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " an `%.100s' von `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " an `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1118,84 +1163,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Login fehlerhaft"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Warnung: Login reaktiviert nach temporärer Sperre.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Letzte Verbindung: %s an %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Letzte Verbindung: %.19s an %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " von %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: Keine DBM-Datenbank gefunden - Aktion abgebrochen\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: Kann Datei %s nicht überschreiben\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: Kann DBM-Dateien für %s nicht öffnen\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: Der Anfang mit "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: Fehler beim Einlesen von Zeile \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "Hinzufügen von "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: Fehler beim Hinzufügen von "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "%d Einträge hinzugefügt, der längste war %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Syntax: %s [-vf] [-p|g|sp|sg] Datei\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Syntax: %s [-vf] [-p|g|sp] Datei\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Syntax: %s [-vf] [-p|g] Datei\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1206,115 +1196,115 @@ msgstr "Syntax: newgrp [-] [Gruppe]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Syntax: sg Gruppe [[-c] Befehl]\n"
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
-msgstr "Unbekannte UID: %u\n"
+msgid "unknown UID: %u\n"
+msgstr "Unbekannte GID: %u\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
+msgid "unknown GID: %lu\n"
 msgstr "Unbekannte GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Entschuldigung.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "zu viele Gruppen\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Syntax: %s [Eingabe]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: Kann /etc/passwd nicht sperren.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: Kann Dateien nicht sperren, versuchen Sie es später nocheinmal\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: Kann Dateien nicht öffnen\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: Zeile %d: Ungültige Zeile\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: Zeile %d: Kann GID nicht erstellen\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: Zeile %d: Kann UID nicht erstellen\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: Zeile %d: Kann Benutzer %s nicht finden\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: Zeile %d: Kann Kennwort nicht aktualisieren\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: Zeile %d: mkdir fehlgeschlagen\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: Zeile %d: chown fehlgeschlagen\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: Zeile %d: Kann Eintrag nicht aktualisieren\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: Fehler beim Aktualisieren von Dateien\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Syntax: %s [-f|-s] [Name]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "        %s [-x max] [-n min] [-w Warnung] [-i Inaktiv] Name\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "        %s {-l|-u|-d|-S|-e} Name\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Altes Kennwort: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Falsches Kennwort für `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1324,16 +1314,16 @@ msgstr ""
 "Bitte benutzen Sie eine Kombination von Groß-/Kleinbuchstaben und\n"
 "Ziffern.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Neues Kennwort: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Versuchen Sie es nocheinmal...\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1343,149 +1333,144 @@ msgstr ""
 "Warnung: Schlechtes Kennwort (Geben Sie es nocheinmal ein, um\n"
 "es trotzdem zu verwenden).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Sie sind nicht identisch; versuchen Sie es nocheinmal...\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Das Kennwort für %s kann nicht geändert werden.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Das Kennwort für %s kan z.Zt. nicht geändert werden.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: Zu wenig Speicher\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Kann %s nicht ausführen"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: Speicher %s nicht unterstützt\n"
 
-#: src/passwd.c:884
-#, fuzzy, c-format
+#: src/passwd.c:830
+#, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
-msgstr "Sie dürfen das Kennwort für %s nicht ändern.\n"
+msgstr "%s: Sie dürfen das Kennwort für %s nicht ändern.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Ändere Kennwort für %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Das Kennwort für %s wurde nicht geändert.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Kennwort geändert.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Syntax: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Syntax: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "Ungültiger Eintrag in Kennwortdatei\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "Doppelter Kennworteintrag\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "Ungültiger Benutzername '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "Benutzer %s: Keine Gruppe %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "Benutzer %s: Verzeichnis %s nicht vorhanden\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "Benutzer %s: Programm %s nicht vorhanden\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "Ungültiger Shadow-Kennworteintrag\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "Doppelter Shadow-Kennworteintrag\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "Kein passender Kennworteintrag gefunden\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "Benutzer %s: Letzte Kennwortänderung liegt in der Zukunft\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: Kann Kennwortdatei nicht sperren\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: Kann Kennwortdatei nicht öffnen\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: Kann Shadow-Eintrag für %s nicht löschen\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: Kann Kennworteintrag für %s nicht aktualisieren\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: Kann Shadow-Datei nicht aktualisieren\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: Kann Kennwortdatei nicht aktualisieren\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: Kann Eintrag für Benutzer %s nicht aktualisieren\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: Kann Shadow-Datei nicht löschen\n"
@@ -1494,33 +1479,31 @@ msgstr "%s: Kann Shadow-Datei nicht löschen\n"
 msgid "Sorry."
 msgstr "Entschuldigung."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: Muss von einem Terminal gestartet werden\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: Fehler %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Unbekannte ID: %s\n"
 
-#: src/su.c:484 src/su.c:500
-#, fuzzy, c-format
+#: src/su.c:479 src/su.c:495
+#, c-format
 msgid "You are not authorized to su %s\n"
-msgstr ""
-"Sie dürfen su %s nicht\n"
-" "
+msgstr "Sie dürfen su %s nicht\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Geben Sie Ihr eigenes Kennwort an.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1529,7 +1512,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignoriert)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Keine Shell\n"
@@ -1573,210 +1556,210 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Starte im Systemwartungs-Modus\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: Ungültiges nummerisches Argument `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
+msgid "%s: unknown GID %s\n"
 msgstr "%s: GID %s unbekannt\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: Gruppe %s unbekannt\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: Kann keine neue Datei mit Standardwerten erstellen\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: Kann die neue Datei mit Standardwerten nicht öffnen\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: Umbenennen: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: Die Gruppe `%s' ist eine NIS-Gruppe.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: Zu viele Gruppen angegeben (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Syntax: useradd [-u uid [-o]] [-g Gruppe] [-G Gruppe,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                [-d home] [-s Shell] [-c Kommentar] [-m [-k Vorlage]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                [-f inaktiv] [-e Ablauf]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                [-p Kennwort] Name\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "        useradd -D [-g Gruppe] [-b Basis] [-s Shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: Kann Gruppendatei nicht sperren\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: Kann Gruppendatei nicht öffnen\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: Kann Shadow-Gruppendatei nicht sperren\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n"
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
+msgid "%s: UID %u is not unique\n"
 msgstr "%s: UID %u ist nicht eindeutig\n"
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: Kann keine eindeutige UID finden\n"
+msgid "%s: can't get unique UID\n"
+msgstr "%s: Kann keine eindeutige UID erzeugen\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: Ungültiges Basisverzeichnis `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: Kommentar `%s' ungültig\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: Homeverzeichnis `%s' ungültig\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: Datum `%s' ungültig\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: Shadow-Kennwörter für -e benötigt\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: Shadow-Kennwörter für -f benötigt\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: Feld `%s' ungültig\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: Shell `%s' ist ungültig\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: Benutzername `%s' ungültig\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: Kann Kennwortdatei nicht neu erstellen\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: Kann Shadow-Kennwortdatei nicht neu erstellen\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: Kann Kennwortdatei nicht sperren\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: Kann Kennwortdatei nicht öffnen\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: Kann Shadow-Kennwortdatei nicht sperren\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: Kann Shadow-Kennwortdatei nicht öffnen\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: Fehler beim Hinzufügen eines neuen Kennworteintrags\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: Fehler beim Hinzufügen des neuen Shadow-Kennworteintrags\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: Kann Verzeichnis %s nicht erstellen\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
-msgstr ""
+msgstr "Gruppe \"mail\" existiert nicht. Erzeuge Mail-Spool mit Mode 0600.\n"
 
-#: src/useradd.c:1446
-#, fuzzy, c-format
+#: src/useradd.c:1390
+#, c-format
 msgid "Can't create mail spool for user %s.\n"
-msgstr "%s: Kann Eintrag für Benutzer %s nicht aktualisieren\n"
+msgstr "Kann Eintrag für Benutzer %s nicht aktualisieren\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: Benutzer %s vorhanden\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1784,169 +1767,174 @@ msgstr ""
 "%s: Gruppe %s vorhanden - Wenn Sie den Benutzer zur Gruppe\n"
 "hinzufügen wollen, benutzen Sie -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 "%s: Warnung: CREATE_HOME nicht unterstützt, verwenden Sie stattdessen -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Syntax: %s [-r] Name\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: Fehler beim Aktualisieren des Gruppeneintrags\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: Kann Gruppendatei nicht öffnen\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: Fehler beim Löschen des Kennworteintrags\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: Fehler beim Löschen des Shadow-Kennworteintrags\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: Benutzer %s ist z.Zt. angemeldet\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s nicht im Besitz von %s, Löschen abgebrochen\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: Warnung: Kann nicht löschen "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: Benutzer %s nicht vorhanden\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: Benutzer %s ist ein NIS-Benutzer\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: Verzeichnis %s wird nicht gelöscht (würde das Homeverzeichnis des\n"
 "Benutzers %s löschen\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: Fehler beim Löschen des Verzeichnisses %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Syntax: %s\t[-u uid [-o]] [-g Gruppe] [-G Gruppe,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d Home [-m]] [-s Shell] [-c Kommentar] [-l Neuer_Name]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inaktiv] [-e Ablauf] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p Kennwort] [-L|-U] Name\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: Zu wenig Speicher in update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: Zu wenig Speicher in update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: Keine Optionen angegeben\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: Shadow-Kennwörter für -e und -f benötigt\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: UID %lu ist nicht eindeutig\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: Fehler beim Ändern des Kennworteintrags\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: Fehler beim Löschen des Kennworteintrags\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: Fehler beim Löschen des Shadow-Kennworteintrags\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: Verzeichnis %s vorhanden\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: Kann %s nicht erstellen\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: Kann den Besitzer von %s nicht ändern\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: Kann das Verzeichnis %s nicht nach %s umbenennen\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: Warnung: %s nicht im Besitz von %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "Fehler beim Ändern des Postfach-Besitzers"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "Fehler beim Umbenennen des Postfachs"
 
index 9b5bcbd0d57092f5461359a19566b84329e19f1e..22daf7fa670f8da53520cd719a8f20d49ab77db9 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index 6963da1b7ab2b8d93ace17b48b4915bf8a5f2b0e..2d69367cf3861f01a18920fd43dc6eca633e181a 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Shadow 980726\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 1998-12-28 20:35:31+0100\n"
 "Last-Translator: Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>\n"
 "Language-Team: Hellenic <el@li.org>\n"
@@ -25,40 +25,40 @@ msgstr "Προειδοποίηση: άγνωστη ομάδα %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Προειδοποίηση: Πολλές ομάδες\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Το συνθηματικό σας έχει λήξει."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Το συνθηματικό σας είναι ανενεργό."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Ο κωδικός εισόδου σας έχει λήξει."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Επικοινωνήστε με τον διαχειριστή του συστήματος.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "   Επιλέξτε ένα νέο συνθηματικό.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Το συνθηματικό σας θα λήξει σε %ld μέρες.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Το συνθηματικό σας θα λήξει αύριο.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Το συνθηματικό σας θα λήξει σήμερα.\n"
@@ -106,7 +106,7 @@ msgstr "Κανένα γράμμα."
 msgid "You have mail."
 msgstr "Έχετε γράμματα."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Κακό συνθηματικό: %s.  "
@@ -166,7 +166,7 @@ msgstr ""
 "σφάλμα διαμόρφωσης - άγνωστο αντικείμενο '%s' (ειδοποιείστε τον "
 "διαχειριστή)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Συνθηματικό: "
 
@@ -175,156 +175,166 @@ msgstr "Συνθηματικό: "
 msgid "%s's Password: "
 msgstr "Του %s το Συνθηματικό: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Χρήση: chage [-l] [-m ελαχ_μέρες] [-M μεγ_μέρες] [-W προειδ.]\n"
-"             [-I ανενεργό] [-E λήξη] [-d τελευταία_μέρα] χρήστης\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Εισάγετε την νέα τιμή, ή πιέστε ENTER για την προκαθορισμένη\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Μικρότερη διάρκεια συνθηματικού"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Μέγιστη διάρκεια συνθηματικού"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Τελευταία αλλαγή συνθηματικού (ΧΧΧΧ-ΜΜ-ΗΗ)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Προειδοποίηση λήξης συνθηματικού"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Ανενεργό συνθηματικό"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Ημερομηνία Λήξης Λογαριασμού (ΧΧΧΧ-ΜΜ-ΗΗ)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Τελευταία αλλαγή συνθηματικού (ΧΧΧΧ-ΜΜ-ΗΗ)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Ποτέ\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Το συνθηματικό λήγει:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Ανενεργό συνθηματικό:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Το συνθηματικό λήγει:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: Να μην συμπεριλαμβάνετε το \"l\" με τις άλλες ενδείξεις\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: άδεια απορρίφθηκε\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, fuzzy, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: Σφάλμα κατά την προσθήκη μεθόδου εξακρίβωσης\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: αδυναμία ανοίγματος του αρχείου συνθηματικών\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: άγνωστος χρήστης %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, fuzzy, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: αδυναμία κλειδώματος του αρχείου σκιωδών συνθηματικών\n"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, fuzzy, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: αδυναμία ανοίγματος του αρχείου σκιωδών συνθηματικών\n"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Αλλαγή πληροφοριών χρόνου για τον %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: Σφάλμα κατά την αλλαγή πεδίων\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: αδυναμία ανανέωσης αρχείου συνθηματικών\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: αδυναμία ανανέωσης του αρχείου σκιωδών συνθηματικών\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: αδυναμία επανεγγραφής αρχείου σκιωδών συνθηματικών\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: αδυναμία επανεγγραφής αρχείου συνθηματικών\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, fuzzy, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: αδυναμία ξεκλειδώματος αρχείου\n"
@@ -370,7 +380,7 @@ msgstr "Τηλέφωνο Οικίας"
 msgid "Other"
 msgstr "Αλλο"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Δεν είναι δυνατόν να καθοριστεί το όνομα χρήστη σας.\n"
@@ -385,11 +395,6 @@ msgstr "%s: αδυναμία αλλαγής χρήστη `%s' στον NIS εξ
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' είναι ο κύριος διακομιστής NIS γι'αυτόν τον εξυπηρετούμενο.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: άδεια απορρίφθηκε\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -425,32 +430,32 @@ msgstr "%s: \"%s\" περιέχει μη έγκυρους χαρακτήρες\n
 msgid "%s: fields too long\n"
 msgstr "%s: Πολύ μακριά πεδία\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Αδυναμία αλλαγής ταυτότητας χρήστη σε root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Αδυναμία κλειδώματος του αρχείου συνθηματικών. Δοκιμάστε αργότερα.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Αδυναμία ανοίγματος του αρχείου συνθηματικών.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: Ο %s δεν βρέθηκε στο /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Σφάλμα κατά την ανανέωση καταχώρησης στο αρχείο συνθηματικών.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Αδυναμία εισαγωγής των αλλαγών στο αρχείο συνθηματικών.\n"
@@ -460,7 +465,7 @@ msgstr "Αδυναμία εισαγωγής των αλλαγών στο αρχ
 msgid "Cannot unlock the password file.\n"
 msgstr "Αδυναμία ξεκλειδώματος του αρχείου συνθηματικών\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -472,54 +477,54 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: αδυναμία κλειδώματος του αρχείου συνθηματικών\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: αδυναμία κλειδώματος του αρχείου σκιωδών συνθηματικών\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: αδυναμία ανοίγματος του αρχείου σκιωδών συνθηματικών\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: γραμμή %d: πολύ μεγάλη γραμμή\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: γραμμή %d: έλλειψη νέου συνθηματικού\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: γραμμή %d: άγνωστος χρήστης %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: γραμμή %d: αδυναμία ανανέωσης καταχώρησης συνθηματικού\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: Ανιχνέυτηκε σφάλμα, οι αλλαγές αγνοήθηκαν\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr ""
 "%s: Σφάλμα κατά την ανανέωση καταχωρήσεων στο αρχείο σκιωδών συνθηματικών\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: Σφάλμα κατά την ανανέωση καταχωρήσεων στο αρχείο συνθηματικών\n"
@@ -558,13 +563,13 @@ msgstr "%s δεν είναι έγκυρος φλοιός.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Χρήση: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr ""
 "%s: ΠΡΟΣΟΧΗ!  Πρέπει να έχει τεθεί το bit παραχώρησης ταυτότητας root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: άγνωστος χρήστης\n"
@@ -586,22 +591,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds απέμειναν]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds κλείδωμα]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Αγνωστος χρήστης: %s\n"
@@ -641,7 +646,7 @@ msgstr "%s: σκιώδη συνθηματικά ομάδων απαιτούντ
 msgid "Who are you?\n"
 msgstr "Ποιος είσαι;\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "άγνωστη ομάδα: %s\n"
@@ -675,7 +680,7 @@ msgstr "Αλλαγή του συνθήματος για την ομάδα %s\n"
 msgid "New Password: "
 msgstr "Νέο Συνθηματικό: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Επανεισάγετε το νέο συνθηματικό: "
 
@@ -734,75 +739,75 @@ msgstr "%s: αδυναμία ξεκλειδώματος αρχείου\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Χρήση: groupadd [-g gid [-o]] [-f] ομάδα\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: Σφάλμα κατά την προσθήκη νέας καταχώρησης στο αρχείο ομάδων\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: Το όνομα %s δεν είναι μοναδικό\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: Το uid %u δεν είναι μοναδικό\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: αδυναμία εύρεσης μοναδικού gid\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: Το %s δεν είναι έγκυρο όνομα ομάδας\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: Μη έγκυρη ομάδα `%s'\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O απαιτεί ΌΝΟΜΑ=ΤΙΜΗ\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: αδυναμία επανεγγραφής του αρχείου ομάδων\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: αδυναμία επανεγγραφής του αρχείου σκιωδών συνθηματικών ομάδων\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: Αδυναμία κλειδώματος του αρχείου ομάδων\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: Αδυναμία ανοίγματος του αρχείου ομάδων\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: Αδυναμία κλειδώματος του αρχείου σκιωδών συνθηματικών ομάδων\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: Αδυναμία ανοίγματος του αρχείου σκιωδών συνθηματικών ομάδων\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: Η ομάδα %s υπάρχει\n"
@@ -812,34 +817,34 @@ msgstr "%s: Η ομάδα %s υπάρχει\n"
 msgid "Usage: groupdel group\n"
 msgstr "Χρήση: groupdel ομάδα\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: Σφάλμα κατά την διαγραφή καταχώρησης ομάδας\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr ""
 "%s: Σφάλμα κατά την αφαίρεση καταχώρησης στο αρχείο σκιωδών συνθηματικών "
 "ομάδων\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: αδυναμία αφαίρεσης της πρωταρχικής ομάδας του χρήστη.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: Η ομάδα %s δεν υπάρχει\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: Η ομάδα %s είναι NIS ομάδα\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: Ο %s είναι ο κύριος διακομιστής NIS\n"
@@ -854,12 +859,12 @@ msgstr "Χρήση: groupmod [-g gid [-o]] [-n όνομα] ομάδα\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: Ο %s δεν βρέθηκε στο /etc/passwd\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, fuzzy, c-format
-msgid "%s: %u is not a unique gid\n"
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: Το %ld δεν είναι μοναδικό gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: Το %s δεν είναι μοναδικό όνομα\n"
@@ -874,22 +879,21 @@ msgstr "Χρήση: %s [-r] [-s] [group [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Χρήση: %s [-r] [-s] [group]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Οχι"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr ""
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: αδυναμία κλειδώματος του αρχείου %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: αδυναμία ανοίγματος αρχείου %s\n"
@@ -900,8 +904,8 @@ msgid "invalid group file entry\n"
 msgstr "Μη έγκυρη καταχώρηση στο αρχείο ομάδων\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "διαγραφή γραμμής `%s'; "
@@ -953,17 +957,17 @@ msgstr "διαγραφή διαχειριστικού μέλους `%s'; "
 msgid "shadow group %s: no user %s\n"
 msgstr "σκιώδης ομάδα %s: δεν υπάρχει χρήστης %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: αδυναμία ανανέωσης αρχείου %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: τα αρχεία ανανεώθηκαν\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: καμιά αλλαγή\n"
@@ -995,7 +999,7 @@ msgstr ""
 "%s: αδυναμία αφαίρεσης  της ομάδας %s, από το αρχείο σκιωδών συνθηματικών\n"
 "ομάδων\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr ""
@@ -1110,17 +1114,17 @@ msgstr ""
 "\n"
 "Η διαδικασία εισόδου τερματίστηκε μετά από %d δευτερόλεπτα.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " στο `%.100s' από `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " στο `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1129,87 +1133,30 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Διαδικασία εισόδου απέτυχε"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Προειδοποίηση: Η είσοδος επανενεργοποιήθηκε μετά από προσωρινό αποκλεισμό.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Τελευταία είσοδος: %s στο %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Τελευταία είσοδος: %.19s στο %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " από %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-"%s: Δεν υπάρχει DBM βάση δεδομένων στο σύστημα - καμιά ενέργεια δεν "
-"εκτελείται\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: αδυναμία εγγραφής πάνω από το αρχείο %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: αδυναμία ανοίγματος DBM αρχείων για το %s\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: η αρχή με "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: Σφάλμα κατά την επεξεργασία της γραμμής \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "προσθήκη καταχώρησης για όνομα "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: Σφάλμα κατά την προσθήκη καταχώρησης για "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "προστέθηκαν %d καταχωρήσεις, η μεγαλύτερη ήταν %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Χρήση: %s [-vf] [-p|g|sp|sg] αρχείο\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Χρήση: %s [-vf] [-p|g|sp] αρχείο\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Χρήση: %s [-vf] [-p|g] αρχείο\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1220,115 +1167,115 @@ msgstr "Χρήση: newgrp [-] [ομάδα]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Χρήση: sg ομάδα [[-c] εντολή]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "άγνωστο uid: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "άγνωστο GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "άγνωστο gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "άγνωστο GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Λυπάμαι.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "πάρα πολλές ομάδες\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Χρήση: %s [είσοδος]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: αδυναμία κλειδώματος του /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: αδυναμία κλειδώματος αρχείων, ξαναδοκιμάστε αργότερα\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: αδυναμία ανοίγματος των αρχείων\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: γραμμή %d: μη έγκυρη γραμμή\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: γραμμή %d: αδυναμία δημιουργίας GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: γραμμή %d: αδυναμία δημιουργίας UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: γραμμή %d: αδυναμία εύρεσης χρήστη %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: γραμμή %d: αδυναμία ανανέωση συνθηματικού\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: γραμμή %d: αποτυχία δημιουργίας καταλόγου(mkdir)\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: γραμμή %d: αποτυχία αλλαγής ιδιοκτήτη(chown)\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: γραμμή %d: αδυναμία ανανέωσης καταχώρησης\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: Σφάλμα κατά την ενημέρωση αρχείων\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Χρήση: %s [-f|-s] [όνομα]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x μεγ.] [-n ελάχ.] [-w προειδ.] [-i ανενεργό] όνομα\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} όνομα\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Παλιό Συνθηματικό: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Εσφαλμένο συνθηματικό για τον `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1338,16 +1285,16 @@ msgstr ""
 "Παρακαλώ χρησιμοποιήστε ένα συνδυασμό από κεφαλαία και μικρά γράμματα\n"
 "καθώς και αριθμούς.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Νέο Συνθηματικό: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Ξαναδοκιμάστε.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1356,151 +1303,146 @@ msgstr ""
 "\n"
 "Προσοχή: αδύναμο συνθηματικό (εισάγετέ το πάλι για να το χρησιμοποιήσετε).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Δεν ταιριάζουν. Δοκιμάστε ξανά.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Το συνθηματικό για τον %s δεν μπορεί να αλλάξει.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Συγνώμη, το συνθηματικό για τον %s δεν μπορεί να αλλάξει ακόμη.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: δεν υπάρχει ελεύθερη μνήμη\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Αδυναμία εκτέλεσης του %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: η αποθήκη %s δεν υποστηρίζεται\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "Δεν μπορείτε να αλλάξετε το συνθηματικό για το(ν) %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Αλλαγή συνθηματικού για τον %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Το συνθηματικό για τον %s δεν άλλαξε.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Το συνθηματικό άλλαξε.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Χρήση: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Χρήση: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "Μη έγκυρη καταχώρηση στο αρχείο συνθηματικών\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "αντιγραφή καταχώρησης στο αρχείο συνθηματικών\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "Μη έγκυρο όνομα χρήστη '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "χρήστης %s: καμιά ομάδα %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "χρήστης %s: ο κατάλογος %s δεν υπάρχει\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "χρήστης %s: το πρόγραμμα %s δεν υπάρχει\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "Μη έγκυρη καταχώρηση στο αρχείο σκιωδών συνθηματικών\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "αντιγραφή καταχώρησης στο αρχείο σκιωδών συνθηματικών\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "Δεν βρέθηκε καταχώρηση στο αρχείο συνθηματικών που να ταιρίαζει\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "χρήστης %s: τελευταία αλλαγή συνθηματικού στο μέλλον\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: αδυναμία κλειδώματος του αρχείου συνθηματικών\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: αδυναμία ανοίγματος του αρχείου συνθηματικών\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, fuzzy, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr ""
 "%s: αδυναμία ανανέωσης καταχώρησης στο αρχείο σκιωδών συνθηματικών για τον %"
 "s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: αδυναμία ανανέωσης καταχώρησης συνθηματικού για τον %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: αδυναμία ανανέωσης καταχώρησης του αρχείου σκιωδών συνθηματικών\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: αδυναμία ανανέωσης αρχείου συνθηματικών\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: αδυναμία ανανέωσης καταχώρησης για τον χρήστη %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: Δεν είναι δυνατόν να διαγραφεί το αρχείο σκιωδών συνθηματικών\n"
@@ -1509,31 +1451,31 @@ msgstr "%s: Δεν είναι δυνατόν να διαγραφεί το αρχ
 msgid "Sorry."
 msgstr "Λυπάμαι."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: πρέπει να εκτελεστεί από τερματικό\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: σφάλμα %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Αγνωστη ταυτότητα: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Δεν έχετε άδεια για su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Εισάγετε το δικό σας συνθηματικό.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1542,7 +1484,7 @@ msgstr ""
 "%s: %s\n"
 "(Αγνοήθηκε)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Δεν υπάρχει φλοιός\n"
@@ -1586,385 +1528,390 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Έναρξη Κατάστασης Συντήρησης Συστήματος\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: Μη έγκυρη αριθμητική παράμετρος `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: άγνωστο gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: άγνωστο GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: άγνωστη ομάδα %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: αδυναμία δημιουργίας νέου αρχείου προκαθορισμένων ρυθμίσεων\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, fuzzy, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: αδυναμία δημιουργίας νέου αρχείου προκαθορισμένων ρυθμίσεων\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: μετονομασία: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: Η ομάδα `%s' είναι NIS ομάδα.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: Προσδιορίστηκαν υπερβολικές ομάδες (μεγ. %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Χρήση: useradd [-u uid [-o]] [-g ομάδα] [-G ομάδα,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "               [-d μητρικός_κατάλογος] [-s φλοιός] [-c σχόλιο]\n"
 "               [-m [-k κανόνας]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "               [-f ανενεργό] [-e λήξη]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "               [-p συνθηματικό] όνομα\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "       useradd -D [-g ομάδα] [-b βάση] [-s φλοιός]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: Σφάλμα κατά το κλείδωμα του αρχείου ομάδων\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: Σφάλμα κατά το άνοιγμα του αρχείου ομάδων\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: Σφάλμα κατά το κλείδωμα του αρχείου σκιωδών συνθηματικών ομάδων\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: Σφάλμα κατά το άνοιγμα του αρχείου σκιωδών συνθηματικών ομάδων\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
 msgstr "%s: Το uid %u δεν είναι μοναδικό\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: Î±Î´Ï\85ναμία ÎµÏ\85Ï\81εÏ\83ηÏ\82 Î¼Î¿Î½Î±Î´Î¹ÎºÎ¿Ï\8d uid\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: Î±Î´Ï\85ναμία ÎµÏ\8dÏ\81εÏ\83ηÏ\82 Î¼Î¿Î½Î±Î´Î¹ÎºÎ¿Ï\8d gid\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: Μη έγκυρος κατάλογος βάσης `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: Μη έγκυρο σχόλιο `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: Μη έγκυρος μητρικός κατάλογος χρήστη `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: Μη έγκυρη ημερομηνία `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: σκιώδη συνθηματικά απαιτούνται για το -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: σκιώδη συνθηματικά απαιτούνται για -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: Μη έγκυρο πεδίο `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: Μη έγκυρος φλοιός `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: Μη έγκυρο όνομα χρήστη `%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: αδυναμία επανεγγραφής του αρχείου συνθηματικών\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: αδυναμία επανεγγραφής του αρχείου σκιωδών συνθηματικών\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: Αδυναμία κλειδώματος του αρχείου συνθηματικών\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: Αδυναμία ανοίγματος του αρχείου συνθηματικών\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: αδυναμία κλειδώματος του αρχείου σκιωδών συνθηματικών\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: αδυναμία ανοίγματος αρχείου σκιωδών συνθηματικών\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr ""
 "%s: Σφάλμα κατά την προσθήκη νέας καταχώρησης στο αρχείο συνθηματικών\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 "%s: Σφάλμα κατά την προσθήκη νέας καταχώρησης στο αρχείο σκιωδών "
 "συνθηματικών\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: αδυναμία δημιουργίας καταλόγου %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s: αδυναμία ανανέωσης καταχώρησης για τον χρήστη %s\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: Ο χρήστης %s υπάρχει\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Χρήση: %s [-r] όνομα\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: Σφάλμα κατά την ανανέωση καταχωρήσης ομάδας\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: αδυναμία ανοίγματος αρχείου ομάδων\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: αδυναμία ανοίγματος αρχείου σκιωδών συνθηματικών ομάδων\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: Σφάλμα κατά την διαγραφή καταχώρησης στο αρχείο συνθηματικών\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr ""
 "%s: Σφάλμα κατά την διαγραφή καταχώρησης στο αρχείο σκιωδών συνθηματικών\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: Ο χρήστης %s βρίσκεται στο σύστημα\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: Το %s δεν ανήκει στον %s, δεν αφαιρείται\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: προειδοποίηση: αδυναμία διαγραφής "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: Ο χρήστης %s δεν υπάρχει\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: Ο χρήστης %s είναι NIS χρήστης\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: Δεν διαγράφεται ο κατάλογος %s (θα αφαιρούσε τον μητρικό κατάλογο του "
 "χρήστη %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: Σφάλμα κατά την διαγραφή του καταλόγου %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Χρήση: %s\t[-u uid [-o]] [-g ομάδα] [-G ομάδα,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr ""
 "\t\t[-d μητρικός_κατάλογος [-m]] [-s φλοιός] [-c σχόλιο]\n"
 "\t\t[-l νέο_όνομα]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f ανενεργό] [-e λήξη] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p συνθηματικό] [-L|-U] όνομα\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: δεν υπάρχει ελεύθερη μνήμη στο update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s:  στο update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: Δεν δόθηκαν ενδείξεις\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: σκιώδη συνθηματικά απαιτούνται για το -e και -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: Το uid %lu δεν είναι μοναδικό\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: Σφάλμα κατά την αλλαγή καταχώρησης συνθηματικού\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: Σφάλμα κατά την αφαίρεση καταχώρησης στο αρχείο συνθηματικών\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr ""
 "%s: Σφάλμα κατά την αφαίρεση καταχώρησης στο αρχείο σκιωδών συνθηματικών\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: ο κατάλογος %s υπάρχει\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: αδυναμία δημιουργίας του %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: Αδυναμία αλλαγής ιδιοκτήτη(chown) του %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: αδυναμία μετονομασίας του καταλόγου %s σε %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: προειδοποίηση: Το %s δεν ανήκει στον %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "αποτυχία αλλαγής του ιδιοκτήτη του γραμματοκιβωτίου"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "αποτυχία μετονομασίας γραμματοκιβωτίου"
 
@@ -2001,3 +1948,12 @@ msgstr ""
 "Χρήση:\n"
 "`vipw' σύντασει το /etc/passwd        `vipw -s' συντάσσει το /etc/shadow\n"
 "`vigr' σύντασει το /etc/group         `vigr -s' συντάσσει το /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "άγνωστο uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: Το uid %u δεν είναι μοναδικό\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: αδυναμία ευρεσης μοναδικού uid\n"
index c9a943b6812550675ebcde907684a0dddf8acd0a..ed2dc53822c733a4fdd31f0d2034d74d6dc91a5b 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index b8a917426793b6b8a9fe7a70094234c27fab2cd4..360a511587dc8a83e80cf3f0d58a82c5e7f1d4e5 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-04-18 23:39+0200\n"
 "Last-Translator:  Rubén Porras Campo <nahoo@inicia.es>\n"
 "Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -25,40 +25,40 @@ msgstr "Aviso: grupo %s desconocido\n"
 msgid "Warning: too many groups\n"
 msgstr "Aviso: demasiados grupos\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Su contraseña ha caducado."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Su contraseña está inactiva."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Su acceso ha caducado."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Contacte con el administrador.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Elija una contraseña nueva.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Su contraseña caducará en %ld días.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Su contraseña caducará mañana.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Su contraseña caducará hoy.\n"
@@ -110,7 +110,7 @@ msgstr "Sin correo."
 msgid "You have mail."
 msgstr "Tiene correo."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Contraseña mala: %s.  "
@@ -170,7 +170,7 @@ msgstr ""
 "error de configuración - elemento '%s' desconocido (notifíquelo al "
 "administrador)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Contraseña: "
 
@@ -179,157 +179,167 @@ msgstr "Contraseña: "
 msgid "%s's Password: "
 msgstr "Contraseña de %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Modo de uso: chage [-l] [-m mín_días] [-M máx_días] [-W aviso]\n"
-"                   [-I inactivo] [-E caducidad] [-d último_día] usuario\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Introduzca el nuevo valor, o presione ENTER para el predeterminado\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Duración mínima de la contraseña"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Duración máxima de la contraseña"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Último cambio de contraseña (AAAA-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Aviso de caducidad de la contraseña"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Contraseña inactiva"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Fecha de caducidad de la cuenta (AAAA-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Último cambio de contraseña\t\t\t\t\t:"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "nunca\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "La contraseña caduca\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Contraseña inactiva\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "La cuenta caduca\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Número de días mínimo entre cambio de contraseña\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Número de días máximo entre cambio de contraseñas\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Número de días de aviso antes de que expire la contraseña\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: no incluya \"l\" con otras banderas\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: permiso denegado.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: Permiso denegado.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: Autenticación PAM fallida\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: no puedo abrir el fichero de contraseñas\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: usuario desconocido %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: no puedo bloquear el fichero de contraseñas ocultas (shadow)"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: no puedo abrir el fichero de contraseñas ocultas (shadow)"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Cambiando la información de la edad para %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: error cambiando los campos\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: no puedo actualizar el fichero de contraseñas\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: no puedo actualizar el fichero de contraseñas ocultas (shadow)\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr ""
 "%s: no se puede reescribir el fichero de contraseñas ocultas (shadow)\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: no se puede reescribir el fichero de contraseñas\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok falló\n"
@@ -375,7 +385,7 @@ msgstr "Teléfono de casa"
 msgid "Other"
 msgstr "Otro"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: no puedo determinar su nombre de usuario.\n"
@@ -390,11 +400,6 @@ msgstr "%s: no puedo cambiar el usuario `%s' en el cliente NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' es el maestro NIS para este cliente.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Permiso denegado.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -430,32 +435,32 @@ msgstr "%s: \"%s\" contiene caracteres ilegales\n"
 msgid "%s: fields too long\n"
 msgstr "%s: campos demasiado largos\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "No se puede cambiar el ID al del superusuario.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "No se puede bloquear el fichero de contraseñas, inténtelo más tarde.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "No se puede abrir el fichero de contraseñas.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: no se encontró %s en /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Error actualizando la entrada de la contraseña.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "No se pueden remitir los cambios del fichero de contraseñas.\n"
@@ -465,7 +470,7 @@ msgstr "No se pueden remitir los cambios del fichero de contraseñas.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "No se puede desbloquear el fichero de contraseñas.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -484,53 +489,53 @@ msgstr ""
 "  -m, --md5\t\tusa cifrado MD5 en vez de DES cuando las\n"
 "                        contraseñas proporcionadas no estén cifradas\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: no puedo bloquear el fichero de contraseñas\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: no se puede bloquear el fichero de contraseñas ocultas (shadow)\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: no se puede abrir el fichero de contraseñas ocultas (shadow)\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: línea %d: línea demasiado larga\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: línea %d: falta la nueva contraseña\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: línea %d: usuario desconocido %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: línea %d: no se puede actualizar la entrada de la contraseña\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: error detectado, cambios ignorados\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: error actualizando el fichero de contraseñas ocultas (shadow)\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: error actualizando el fichero de contraseñas\n"
@@ -569,12 +574,12 @@ msgstr "%s no es una shell válida.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Modo de uso: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: ¡AVISO! ¡Debe ser set-UID de superusuario!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: usuario desconocido\n"
@@ -615,22 +620,22 @@ msgstr ""
 "                                las opciones -r, -m o -l) para el usuario\n"
 "                                USUARIO\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Usuario     Fallos Máximo Último                   Activo\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr "[faltan %lds]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr "[bloqueados %lds]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Usuario desconocido: %s\n"
@@ -670,7 +675,7 @@ msgstr "%s: se requieren contraseñas de grupo ocultas (shadow) para -A\n"
 msgid "Who are you?\n"
 msgstr "¿Quién es?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "grupo desconocido: %s\n"
@@ -704,7 +709,7 @@ msgstr "Cambiando la contraseña para el grupo %s\n"
 msgid "New Password: "
 msgstr "Nueva contraseña: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Reintroduzca la nueva contraseña: "
 
@@ -762,75 +767,75 @@ msgstr "%s: no se puede desbloquear el fichero\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Modo de uso: groupadd [-g gid [-o]] [-f] grupo\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: error añadiendo entrada nueva de grupo\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: el nombre %s no es único\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: el gid %u no es único\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: no se puede obtener un gid único\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s no es un nombre de grupo válido\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: grupo %s inválido\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O requiere NOMBRE=VALOR\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: no se puede reescribir el fichero grupos\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: no se puede reescribir el fichero de grupos oculto (shadow)\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: incapaz de bloquear el fichero de grupos\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: incapaz de abrir el fichero de grupos\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: incapaz de bloquear el fichero de grupos oculto (shadow)\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: incapaz de abrir el fichero de grupos oculto (shadow)\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: el grupo %s existe\n"
@@ -840,32 +845,32 @@ msgstr "%s: el grupo %s existe\n"
 msgid "Usage: groupdel group\n"
 msgstr "Modo de uso: groupdel grupo\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: error eliminando la entrada del grupo\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: error eliminando entrada del grupo oculto (shadow)\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: no se puede eliminar el grupo primario del usuario.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: el grupo %s no existe\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: el grupo %s es un grupo NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s es el maestro NIS\n"
@@ -880,12 +885,12 @@ msgstr "Modo de uso: groupmod [-g gid [-o]] [-n nombre] grupo\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: no se encontró %s en /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u no es un gid único\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s no es un nombre único\n"
@@ -900,22 +905,21 @@ msgstr "Modo de uso: %s [-r] [-s] [grupo [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Modo de uso: %s [-r] [-s] [grupo]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "No"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s y -r son incompatibles\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: no se puede bloquear el fichero %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: no se puede abrir el fichero %s\n"
@@ -926,8 +930,8 @@ msgid "invalid group file entry\n"
 msgstr "entrada del fichero de grupos inválida\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "¿eliminar la línea `%s'? "
@@ -979,17 +983,17 @@ msgstr "¿eliminar miembro administrativo `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "grupo oculto (shadow) %s: no existe el usuario %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: no se puede actualizar el fichero %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: los ficheros se han actualizado\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: sin cambios\n"
@@ -1019,7 +1023,7 @@ msgstr "%s: no se puede abrir el fichero de grupos oculto (shadow)\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: no se puede eliminar el grupo oculto (shadow) %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: no se puede actualizar la entrada oculta (shadow) para %s\n"
@@ -1139,17 +1143,17 @@ msgstr ""
 "\n"
 "El acceso caducó después de %d segundos.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " en `%.100s' desde `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " en `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1158,85 +1162,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Login incorrecto"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Aviso: acceso reestablecido después de un lockout temporal.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Última entrada: %s en %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Última entrada: %.19s en %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " desde %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-"%s: sin base de datos DBM en el sistema - no se realiza ninguna acción\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: no se puede sobreescribir el fichero %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: no se pueden abrir los ficheros DBM para %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: la línea que comienza con %.16s... es demasiado larga\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: error analizando la línea \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "añadiendo un registro para nombre %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: error añadiendo un registro para %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "%d entradas añadidas, la más larga fue %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Modo de uso: %s [-vf] [-p|g|sp|sg] fichero\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Modo de uso: %s [-vf] [-p|g|sp] fichero\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Modo de uso: %s [-vf] [-p|g] fichero\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1247,117 +1195,117 @@ msgstr "Modo de uso: newgrp [-] [grupo]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Modo de uso: sg grupo [[-c] orden]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid desconocido: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "GID desconocido: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid desconocido: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "GID desconocido: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Disculpe.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "demasiados grupos\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Modo de uso: %s [entrada]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: no se puede bloquear /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: no se pueden bloquear los ficheros, pruebe de nuevo más tarde\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: no se pueden abrir los ficheros\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: línea %d: línea inválida\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: línea %d: no se puede crear GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: línea %d: no se puede crear UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: línea %d: no se puede encontrar el usuario %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: línea %d: no se puede actualizar la contraseña\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: línea %d: falló mkdir\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr ""
 "%s: línea %d: falló chown\n"
 "\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: línea %d: no se puede actualizar la entrada\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: error actualizando los ficheros\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Modo de uso: %s [-f|-s] [nombre]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "             %s [-x máx] [-n mín] [-w aviso] [-i inact] nombre\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "             %s {-l|-u|-d|-S|-e} nombre\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Contraseña antigua: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Contraseña incorrecta para `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1366,16 +1314,16 @@ msgstr ""
 "Introduzca la nueva contraseña (mínimo de %d caracteres, máximo de %d)\n"
 "Por favor, use una combinación de letras mayúsculas, minúsculas y números.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nueva contraseña: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Vuelva a intentarlo.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1384,150 +1332,145 @@ msgstr ""
 "\n"
 "Aviso: contraseña débil (introdúzcala otra vez para usarla de todos modos).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "No concuerdan, pruebe de nuevo.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "No puede cambiarse la contraseña para %s.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Disculpe, aún no puede cambiarse la contraseña para %s.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: sin memoria\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: no se puede ejecutar %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: repositorio %s no soportado\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: No debe ver o cambiar la información de la contraseña para %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Cambiando la contraseña para %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "La contraseña para %s no se ha modificado.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Contraseña cambiada.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Modo de uso: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Modo de uso: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "entrada del fichero de contraseñas inválida\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "entrada de contraseña duplicada\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "nombre de usuario '%s' inválido\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "usuario %s: no existe el grupo %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "usuario %s: el directorio %s no existe\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "usuario %s: el programa %s no existe\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "entrada de contraseña oculta (shadow) inválida\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "entrada de contraseña oculta (shadow) duplicada\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "ninguna entrada del fichero de contraseñas concuerda\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr ""
 "usuario %s: el último cambio de la contraseña se produjo en el futuro\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: no se puede bloquear el fichero passwd\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: no se puede abrir el fichero passwd\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: no se puede eliminar la entrada oculta (shadow) para %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: no se puede actualizar la entrada de la contraseña para %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: no se puede actualizar el fichero oculto (shadow)\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: no se puede actualizar el fichero passwd\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: no se puede actualizar la entrada para el usuario %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: no se puede eliminar el fichero de contraseñas ocultas (shadow)\n"
@@ -1536,31 +1479,31 @@ msgstr "%s: no se puede eliminar el fichero de contraseñas ocultas (shadow)\n"
 msgid "Sorry."
 msgstr "Disculpe."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: debe ejecutarse desde un terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: error %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Id desconocido: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "No está autorizado a usar su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Introduzca su propia contraseña)."
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1569,7 +1512,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorado)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Sin shell\n"
@@ -1613,385 +1556,390 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Entrando en el Modo de Mantenimiento del Sistema\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: argumento numérico inválido `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: gid %s desconocido\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: GID %s desconocido\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: grupo %s desconocido\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr ""
 "%s: no se puede crear un nuevo fichero de preferencias predeterminadas\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr ""
 "%s: no se puede abrir un nuevo fichero de preferencias predeterminadas\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: renombra: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: el grupo `%s' es un grupo NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: demasiados grupos especificados (máx de %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Modo de uso: useradd [-u uid [-o]] [-g grupo] [-G grupo,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                     [-d home] [-s shell] [-c comentario] [-m [-k "
 "plantilla]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                     [-f inactivo] [-e caduca]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                     [-p contraseña] nombre\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "             useradd -D [-g grupo] [-b base] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: error bloqueando el fichero de grupos\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: error abriendo el fichero de grupos\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: error bloqueando el fichero de grupos oculto (shadow)\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: error abriendo el fichero de grupos oculto (shadow)\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: el uid %u no es único\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: el gid %u no es único\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: no se puede obtener un uid único\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: no se puede obtener un gid único\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: directorio base `%s' inválido\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: comentario `%s' inválido\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: directorio home `%s' inválido\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: fecha `%s' inválida\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: se requiere contraseñas ocultas (shadow) para -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: se requiere contraseñas ocultas (shadow) para -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: campo `%s' inválido\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: shell `%s' inválida\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: nombre de usuario `%s' inválido\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: no se puede reescribir el fichero de contraseñas\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr ""
 "%s: no se puede reescribir el fichero de contraseñas ocultas (shadow)\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: incapaz de bloquear el fichero de contraseñas\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: incapaz de abrir el fichero de contraseñas\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: no se puede bloquear el fichero de contraseñas ocultas (shadow)\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: no se puede abrir el fichero de contraseñas ocultas (shadow)\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: error añadiendo entrada de contraseña nueva\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: error añadiendo entrada de contraseña oculta (shadow) nueva\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: no se puede crear el directorio %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "No existe ningún grupo llamado \"mail\", creando la cola de correo con modo "
 "0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "No se puede crear la cola de correo para el usuario %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: el usuario %s existe\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 "%s: el grupo %s existe - si quiere añadir este usuario a ese grupo, use -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 "%s: aviso: CREATE_HOME no está soportado, por favor, use -m en su lugar.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Modo de uso: %s [-r] nombre\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: error actualizando la entrada del grupo\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: no se puede abrir el fichero de grupos\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: no se puede abrir el fichero de grupos oculto (shadow)\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: error eliminando la entrada de contraseña\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: error eliminando la entrada de contraseña oculta (shadow)\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: el usuario %s está actualmente dentro del sistema\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s no pertenece a %s, no se elimina\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: aviso: no se puede eliminar "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: el usuario %s no existe\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: el usuario %s es un usuario NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: no se elimina el directorio %s (eliminaría el directorio home del "
 "usuario %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: error eliminando el directorio %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Modo de uso: %s\t[-u uid [-o]] [-g grupo] [-G grupo,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d home [-m]] [-s shell] [-c comentario] [-l nuevo_nombre]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inactivo] [-e caduca] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p contraseña] [-L|-U] nombre\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: sin memoria en update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: sin memoria en update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: no se ha dado ninguna opción\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: se necesitan contraseñas ocultas (shadow) para -e y -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: el uid %lu no es único\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: error cambiando la entrada de la contraseña\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: error eliminando la entrada de la contraseña\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: error eliminando entrada de contraseña oculta (shadow)\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: el directorio %s existe\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: no se puede crear %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: no se puede chown %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: no se puede renombrar el directorio %s a %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: aviso: %s no pertenece a %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "falló el cambio de propietario del buzón de correo"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "falló el cambio de nombre del buzón de correo"
 
@@ -2027,3 +1975,12 @@ msgstr ""
 "Modo de uso\n"
 "`vipw' edita /etc/passwd        `vipw -s' edita /etc/shadow\n"
 "`vigr' edita /etc/group         `vigr -s' edita /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "uid desconocido: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: el uid %u no es único\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: no se puede obtener un uid único\n"
index b97fa5d9a71008bd0e8aa21cc46eb7bc281d3dfb..f19f6c090e648834e57f525b72c243de3aafacb1 100644 (file)
Binary files a/po/eu.gmo and b/po/eu.gmo differ
index 24a0626a07d06bd8c0ad20e8ecd878f3042db2c1..9c7e01aac410bd84f080895f9360b27d6a35652f 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-04-19 21:28+0200\n"
 "Last-Translator: Iaki Larraaga Murgoitio <dooteo@euskalgnu.org>\n"
 "Language-Team:  <itzulpena@euskalgnu.org>\n"
@@ -31,40 +31,40 @@ msgstr "Abisua: %s talde ezezaguna\n"
 msgid "Warning: too many groups\n"
 msgstr "Abisua: talde gehiegi\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Pasahitza iraungi egin da."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Pasahitza ez-aktibo dago."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Erabiltzaile-izena iraungi egin da."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Jarri harremanetan sistema-administratzailearekin.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Aukeratu pasahitz berria.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Pasahitza %ld egun barru iraungi egingo da.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Pasahitza bihar iraungi egingo da.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Pasahitza gaur iraungi egingo da.\n"
@@ -116,7 +116,7 @@ msgstr "Mezurik ez."
 msgid "You have mail."
 msgstr "Mezua duzu."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Pasahitz okerra: %s.  "
@@ -176,7 +176,7 @@ msgstr ""
 "konfigurazio errorea - %s item ezezaguna (eman honen  berri "
 "administratzaileari)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Pasahitza: "
 
@@ -185,157 +185,166 @@ msgstr "Pasahitza: "
 msgid "%s's Password: "
 msgstr "%s (r)en pasahitza: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Erabilera: chage [-l] [-m gutxi_egun] [-M gehi_egun] [-W abisua]\n"
-"                 [-I ez-aktiboa] [-E iraungi] [-d azken_eguna] "
-"erabiltzailea\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Idatzi balio berria, edo sakatu 'Sartu' tekla lehentsirako\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Pasahitzaren gutxiengo iraupena"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Pasahitzaren gehienezko iraupena"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Azken pasahitz-aldaketa (UUUU-HH-EE)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Pasahitza iraungitzearen abisua"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Pasahitza ez-aktiboa"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Kontuaren iraungitze data (UUUU-HH-EE)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Azken pasahitz-aldaketa\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "Inoiz ere ez\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Pasahitza iraungitzeko data\t\t\t\t\t:"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Pasahitza ez-aktiboa jarriko da\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Kontua iraungitzeko data\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Gutxiengo egunak, pasahitza aldatzeko\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Gehienezko egunak, pasahitza aldatzeko\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Abisuen egun kopurua, pasahitza iraungi aurretik\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: ez erabili \"l\" beste bandera batzuekin\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: baimena ukatuta.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM autentifikazioak huts egin du\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: ezin da pasahitzen fitxategia ireki\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: %s erabiltzaile ezezaguna\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia blokeatu"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia ireki"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "%s(r)en data-informazioa aldatzen\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: errorea eremuak aldatzean\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: ezin da pasahitzen fitxategia eguneratu\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: ezin da itzalpeko (shadow) pasahitz-fitxategia eguneratu\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s:ezin da itzalpeko pasahitz-fitxategia berridatzi\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: ezin da pasahitzen fitxategia berridatzi\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok-ek huts egin du\n"
@@ -379,7 +388,7 @@ msgstr "Etxeko telefonoa"
 msgid "Other"
 msgstr "Bestelakoa"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Ezin da erabiltzaile-izena zehaztu.\n"
@@ -394,11 +403,6 @@ msgstr "%s: ezin da NIS bezeroko %s erabiltzailea aldatu.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: %s da bezero honen NIS nagusia.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: baimena ukatuta.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -434,32 +438,32 @@ msgstr "%s:\"%s\"(e)k karaktere baliogabeak ditu\n"
 msgid "%s: fields too long\n"
 msgstr "%s: eremu luzegiak\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Ezin izan da IDa root-era aldatu.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Ezin izan da pasahitzen fitxategia blokeatu; saiatu geroago.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Ezin izan da pasahitzen fitxategia ireki.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s ez da '/etc/paswd'-en aurkitu\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Errorea pasahitzen sarrera eguneratzean.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Ezin izan da pasahitzen fitxategiko aldaketak bidali.\n"
@@ -469,7 +473,7 @@ msgstr "Ezin izan da pasahitzen fitxategiko aldaketak bidali.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Ezin izan da pasahitzen fitxategia desblokeatu.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -488,53 +492,53 @@ msgstr ""
 "  -m, --md5\t\terabili MD5 enkriptatze mota (DES-en ordez), \n"
 "\t\t\tpasahitzak enkriptatuta ez daudenean\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: ezin da pasahitzen fitxategia blokeatu\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: ezin da 'shadow' fitxategia blokeatu\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s ezin da 'shadow' fitxategia ireki\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: %d. lerroa: lerro luzegia\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: %d. lerroa: pasahitz berria falta da\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: %d. lerroa: %s erabitzaile ezezaguna\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: %d. lerroa: ezin da pasahitzaren sarerra eguneratu\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s:errorea atzeman da, aldaketak alde batera utzi dira\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: errorea 'shadow' fitxategia eguneratzean\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: errorea pasahitzen fitxategia eguneratzean\n"
@@ -573,12 +577,12 @@ msgstr "%s shell baliogabea da.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Erabilera: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: ABISUA!  root-aren set-UID izan behar du\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: erabiltzaile ezezaguna\n"
@@ -617,22 +621,22 @@ msgstr ""
 "\t\t\t\tizeneko erabiltzailearen(-r, -m edo -l aukerekin \n"
 "\t\t\t\terabiltzen bada) mantentzeko.\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Saio-hasiera    Hutsegiteak Gehienezkoa Azkena     Aktiboa\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds falta]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds blokeatuta]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Erabiltzaile ezezaguna: %s\n"
@@ -672,7 +676,7 @@ msgstr "%s: -A erabiltzeko itzalpeko talde-pasahitza eskatzen da\n"
 msgid "Who are you?\n"
 msgstr "Zer moduz zaude?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "talde ezezaguna: %s\n"
@@ -706,7 +710,7 @@ msgstr "%s taldearen pasahitza aldatzen\n"
 msgid "New Password: "
 msgstr "Pasahitz berria: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Berretsi pasahitz berria:"
 
@@ -764,75 +768,75 @@ msgstr "%s: ezin da fitxategia desblokeatu\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Erabilera: groupadd [-g gid [-o]] [-f] taldea\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: errorea talde sarrera berria gehitzean\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: %s izena ez da bakarra\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: %u gid-a ez da bakarra\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: ezin da gid bakarra lortu\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s ez da baliozko talde-izena\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: %s talde baliogabea\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O-k NAME=BALIOA eskatzen du\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: ezin da 'group' fitxategia berridatzi\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: ezin da itzalpeko talde-fitxategia berridatzi\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: ezin da talde-fitxategia blokeatu\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: ezin da talde-fitxategia ireki\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: ezin da itzalpeko talde-fitxategia blokeatu\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: ezin da itzalpeko talde-fitxategia ireki\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: %s taldea badago\n"
@@ -842,32 +846,32 @@ msgstr "%s: %s taldea badago\n"
 msgid "Usage: groupdel group\n"
 msgstr "Erabilera: groupdel taldea\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: errorea taldearen sarrera ezabatzean\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: errorea itzalpeko taldearen sarrera ezabatzean\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s ezin da erabiltzailearen talde nagusia ezabatu\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: %s taldea ez da existitzen\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: %s taldea NIS talde bat da\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s NIS nagusia da\n"
@@ -882,12 +886,12 @@ msgstr "Erabilera: groupmod [-g gid [-o]] [-n izena] taldea\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s ez da aurkitu /etc/group-en\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u ez da gid bakarra\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s ez da izen bakarra\n"
@@ -902,22 +906,21 @@ msgstr "Erabilera: %s [-r] [-s] [taldea [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Erabilera: %s [-r] [-s] [taldea]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Ez"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s eta -r ezin dira batera erabili\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: ezin da %s fitxategia blokeatu\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: ezin da %s fitxategia ireki\n"
@@ -928,8 +931,8 @@ msgid "invalid group file entry\n"
 msgstr "baliogabeko talde-fitxategiko sarrera\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "%s lerroa ezabatu?"
@@ -981,17 +984,17 @@ msgstr "`%s' kide administratzailea kendu?"
 msgid "shadow group %s: no user %s\n"
 msgstr "%s itzalpeko taldea: %s erabiltzailea ez dago\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: ezin da %s fitxategia eguneratu\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: fitxategiak eguneratu dira\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: aldaketarik gabe\n"
@@ -1021,7 +1024,7 @@ msgstr "%s: ezin da itzalpeko talde-fitxategia ireki\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: ezin da itzalpeko %s taldea ezabatu\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: ezin da %s-ren itzalpeko sarrera eguneratu\n"
@@ -1141,17 +1144,17 @@ msgstr ""
 "\n"
 "Saio-hasiera denboraz kanpo %d segundo igarotakoan.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr "`%.100s'(e)tik `%.200s'(e)ra"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr "`%.100s'(e)n"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1160,86 +1163,31 @@ msgstr ""
 "\n"
 "%s izena: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Izen okerra"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Abisua: saio-hasiera berriru gaitu egingo da aldi bateko blokeoaren "
 "ondoren.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Azken saio-hasiera: %s %s(e)n"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Azken saio-hasiera: %.19s  %s(e)n"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr "%.*s(e)tik"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: ez dago DBM datubaserik sisteman - ez da ekintzarik egingo\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: ezin da %s fitxategia berridatzi\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: ezin dira %s(r)en DBM fitxategiak ireki\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: '%.16s...' katearekin hasten den lerroa luzegia da\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: errorea \"%s\" lerroa analizatzean\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "%s izenaren erregistroa gehitzen\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: errorea %s(r)en erregistroa gehitzean\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "%d erregistro gehitu dira; luzeena %d da\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Erabilera: %s [-vf] [-p|g|sp|sg] fitxategia\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Erabilera: %s [-vf] [-p|g|sp] fitxategia\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Erabilera: %s [-vf] [-p|g] fitxategia\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1250,115 +1198,115 @@ msgstr "Erabilera: newgrp [-] [taldea]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Erabilera: sg taldea [[-c] komandoa]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid ezezaguna: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "GID ezezaguna: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid ezezaguna: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "GID ezezaguna: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Barkatu.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "talde gehiegi\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Erabilera: %s [sarrera]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: ezin da '/etc/passwd' blokeatu.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: ezin dira fitxategiak blokeatu, saiatu geroago\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: ezin dira fitxategiak ireki\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: %d lerroa: lerro baliogabea\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: %d lerroa: ezin da GID-a sortu\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: %d lerroa: ezin da UID-a sortu\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: %d lerroa: ezin da %s erabiltzailea aurkitu\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: %d lerroa: ezin da pasahitza eguneratu\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: %d lerroa: mkdir-ek huts egin du\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: %d lerroa: chown-ek huts egin du\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: %d lerroa: ezin da sarrera eguneratu\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: errorea fitxategiak eguneratzean\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Erabilera: %s [-f|-s] [izena]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "           %s [-x geh] [-n gutx] [-w abisu] [-i ez-aktib] izena\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "           %s {-l|-u|-d|-S|-e} izena\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Pasahitz zaharra: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "`%s'(r)en pasahitz okerra\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1367,16 +1315,16 @@ msgstr ""
 "Sartu pasahitz berria (gutxienez %d eta gehienez %d karaktere)\n"
 "Erabili maiuskulen, minuskulen eta zenbakien arteko konbinazioa.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Pasahitz berria: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Saiatu berriro.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1385,149 +1333,144 @@ msgstr ""
 "\n"
 "Oharra: pasahitza ahula da (sartu berriro erabiltzen jarraitzeko).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Ez dira berdinak, saiatu berriro.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "%s(r)en pasahitzak ezin dira aldatu.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Barkatu; %s(r)en pasahitzak ezin dira aldatu oraindik.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: memoriarik ez\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Ezin da %s exekutatu"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: %s biltegia ez da onartzen\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Ez zenuke %s(r)en shell-a aldatu behar.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "%s(r)en pasahitza aldatzen\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "%s(r)en pasahitza aldatu gabe dago.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Pasahitza aldatuta.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Erabilera: %s [-q] [-r] [-s] [pasahitza [itzalpekoa]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Erabilera: %s [-q] [-r] [-s] [pasahitza]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "Baliogabeko pasahitzen fitxategiko sarrera\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "bikoiztutako pasahitz sarrera\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "%s erabiltzaile-izen baliogabea\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "%s erabiltzailea: ez da %u taldea\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "%s erabiltzailea: %s direktorioa ez da existitzen\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "%s erabiltzailea: %s programa ez da existitzen\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "baliogabeko itzalpeko pasahitz-fitxategiko sarrera\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "bikoiztutako itzalpeko pasahitz-fitxategiko sarrera\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "ez dago bat datorren sarrerarik pasahitz-fitxategian\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "%s erabiltzailea: pasahitza etorkizunean aldatu zen azken aldiz\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: ezin da pasahitz-fitxategia blokeatu\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: ezin da pasahitz-fitxategia ireki\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: ezin da %s(r)en itzalpeko sarrera kendu\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: ezin da %s(r)en pasahitzaren sarrera eguneratu\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: ezin da 'shadow' fitxategia eguneratu\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: ezin da 'passwd' fitxategia eguneratu\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: ezin da %s erabiltzailearen sarrera eguneratu\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: ezin da itzalpeko pasahitz-fitxategia ezabatu\n"
@@ -1536,31 +1479,31 @@ msgstr "%s: ezin da itzalpeko pasahitz-fitxategia ezabatu\n"
 msgid "Sorry."
 msgstr "Barkatu."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: terminal batetik exekutatu behar da\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: %d errorea\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "ID ezezaguna: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Ez duzu 'su %s' exekutatzeko baimenik\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(sartu zure pasahitza.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1569,7 +1512,7 @@ msgstr ""
 "%s: %s\n"
 "(Ez ikusi egin zaio)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Ez dago shell-a\n"
@@ -1613,376 +1556,381 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Sistemaren mantentze-lanetako moduan sartzen\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s:baliogabeko zenbakizko '%s' argumentoa\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: %s gid ezezaguna \n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: %s GID ezezaguna \n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: %s talde ezezaguna\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: ezin da lehenespen fitxategi berria sortu\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: ezin da lehenespen fitxategi berria ireki\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: berrizendatu: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: taldea `%s' NIS talde bat da.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: talde gehiegi zehaztu dira (geh. %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Erabilera: useradd [-u uid [-o]] [-g taldea] [-G taldea,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                   [-d etxea] [-s shell] [-c iruzkina] [-m [-k txantiloia]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "              [-f ez-aktiboa] [-e iraungitu]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "              [-p pasahitza] izena\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "           useradd -D [-g taldea] [-b base] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: errorea talde-fitxategia blokeatzean\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: errorea talde-fitxategia irekitzean\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: errorea itzalpeko talde-fitxategia blokeatzean\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: errorea itzalpeko talde-fitxategia irekitzean\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s:%u uid-a ez da bakarra\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: %u gid-a ez da bakarra\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: ezin da uid bakar bat eskuratu\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: ezin da gid bakarra lortu\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: oinarrizko '%s' direktorio baliogabea\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: `%s' iruzkin baliogabea\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: `%s' etxe-direktorio baliogabea\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: `%s' data baliogabea\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: -e itzalpeko pasahitza eskatzen du\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: -f itzalpeko pasahitza eskatzen du\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: `%s' eremu baliogabea\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: '%s' shell baliogabea\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: '%s' erabiltzaile-izen baliogabea\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: ezin da pasahitz-fitxategia berridatzi\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: ezin da itzalpeko pasahitz-fitxategia berridatzi\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: ezin da pasahitz-fitxategia blokeatu\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: ezin da pasahitz-fitxategia ireki\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: ezin da itzalpeko pasahitz-fitxategia blokeatu\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: ezin da itzalpeko pasahitz-fitxategia ireki\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: errorea pasahitzaren sarrera berria gehitzean\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: errorea itzalpeko pasahitzaren sarrera berria gehitzean\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: ezin da %s direktorioa sortu\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr "Ez dago \"mail\" izeneko talderik, posta ilara sortzen (0600 moduan)\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Ezin da %s erabiltzailearen posta ilara sortu.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: %s erabiltzailea badago dagoeneko\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 "%s: %s taldea badago - erabiltzaile hau talde honetan gehiteko erabili '-g'\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: abisua: CREATE_HOME ez da onartzen, erabili '-m' aukera.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Erabilera: %s [-r] izena\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: errorea taldearen sarrera eguneratzean\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: ezin da talde-fitxategia ireki\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: ezin da itzalpeko talde-fitxategia ireki\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: errorea pasahitzaren sarrera ezabatzean\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: errorea itzalpeko pasahitzaren sarrera ezabatzean\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: une honetan %s erabiltzaileak saioan sartuta dago\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s ez dago %s(r)en jabetzan. ez da ezabatuko\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: abisua: ezin da ezabatu "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: %s erabiltzailea ez da existitzen\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s:  %s erabiltzailea NIS erabiltzaile bat da\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: ez da %s direktorioa ezabatuko (%s(r)en etxea ezabatuko luke)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: errorea %s direktorioa ezabatzean\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Erabilera: %s\t[-u uid [-o]] [-g taldea] [-G taldea,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d etxea [-m]] [-s shell] [-c iruzkina] [-l izen_berria]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f ez-aktiboa] [-e iraungitu] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p pasahitza] [-L|-U] izena\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: memoriarik ez 'update_group'en\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: memoriarik ez 'update_gshadow'-en\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: ez da banderarik eman\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s:  -e eta -f aukerek itzalpeko pasahitzak eskatzen dute\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s:  %lu ez da uid bakarra\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: errorea pasahitzaren sarrera aldatzean\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: errorea pasahitzaren sarrera ezabatzean\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: errorea itzalpeko pasahitzaren sarrera ezabatzean\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: %s direktorioa badago\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: ezin da %s sortu\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s:ezin da %s jabez aldatu\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: abisua: %s ez dago %s(r)en jabegoan\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "huts egin du postontzia jabez aldatzean"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "huts egin du postontzia izenez aldatzean"
 
@@ -2020,3 +1968,12 @@ msgstr ""
 "du\n"
 "`vigr' -k /etc/group editatzen du         `vigr -s' -k /etc/gshadow "
 "editatzen du\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "uid ezezaguna: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s:%u uid-a ez da bakarra\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: ezin da uid bakar bat eskuratu\n"
index e502d8b5139d643210b76e8af53deb97eed9e007..870f744cc97094ab8d6d9faca74ec779c6397d5d 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index 4e03fb138a29a8eddb414b01e7cf15d2df525d7d..34ea9cb147ad32c76fb9a6751b6a7ea093d1bd55 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -4,10 +4,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.8\n"
+"Project-Id-Version: shadow 4.0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
-"PO-Revision-Date: 2005-04-19 09:23+0300\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
+"PO-Revision-Date: 2005-06-21 00:28+0300\n"
 "Last-Translator: Tommi Vainikainen <thv+debian@iki.fi>\n"
 "Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -25,40 +25,40 @@ msgstr "Varoitus: tuntematon ryhmä %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Varoitus: liian monta ryhmää\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Salasanasi on vanhentunut."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Salasanasi ei ole käytössä."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Käyttäjätunnuksesi on vanhentunut."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Ota yhteys järjestelmän ylläpitoon.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Valitse uusi salasana.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Salasanasi vanhenee %ld päivässä.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Salasanasi vanhenee huomenna.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Salasanasi vanhenee tänään.\n"
@@ -110,7 +110,7 @@ msgstr "Ei postia."
 msgid "You have mail."
 msgstr "Sinulle on postia."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Huono salasana: %s.  "
@@ -168,7 +168,7 @@ msgstr "Asetustiedoille ei voi varata tilaa.\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "asetusvirhe - tuntematon kohta \"%s\" (kerro ylläpidolle)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Salasana: "
 
@@ -177,156 +177,184 @@ msgstr "Salasana: "
 msgid "%s's Password: "
 msgstr "Käyttäjän %s salasana: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Käyttö: chage [-l] [-m väh_päivää] [-M kork_päivää] [-W varoitus]\n"
-"              [-I poiskäytöstä] [-E vanhenee] [-d viim_päivä] käyttäjä\n"
-
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+"Käyttö: chage [valitsimet] käyttäjä\n"
+"\n"
+"Valitsimet:\n"
+"  -d, --lastday VIIM_PVM        Aseta edelliseksi salasanan vaihtopäiväksi\n"
+"                                VIIM_PVM\n"
+"  -E, --expiredate VANH_PVM     Aseta tilin vanhenemispäiväykseksi VANH_PVM\n"
+"  -h, --help\t\t\tNäytä tämä ohje ja lopeta\n"
+"  -I, --inactive POISKÄYTÖSTÄ   Aseta salasana pois käytöstä POISKÄYTÖSTÄ\n"
+"                                päivää vanhenemisen jälkeen\n"
+"  -l, --list\t\t\tNäytä tilin vanhenemistiedot\n"
+"  -m, --mindays MIN_PÄIVIÄ      Aseta pienimmäksi sallittuksi määräksi "
+"päiviä\n"
+"                                ennen salasanan vaihtamista MIN_PÄIVIÄ\n"
+"  -M, --maxdays MAX_PÄIVIÄ      Aseta suurimmaksi sallituksi määräksi "
+"päiviä\n"
+"                                ennen salasanan vaihtamista MAX_PÄIVIÄ\n"
+"  -W, --warndays VAR_PÄIVIÄ     Aseta vanhenemisen varoitusajaksi "
+"VAR_PÄIVIÄ\n"
+
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Syötä uusi arvo tai paina ENTER jättääksesi oletuksen\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Salasanan ikä vähintään"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Salasanan ikä korkeintaan"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Viimeisin salasanan vaihto (VVVV-KK-PP)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Salasanan vanhenemisvaroitus"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Salasana pois käytöstä"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Tunnuksen vanhenemispäiväys (VVVV-KK-PP)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Edellinen salasanan vaihto\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "ei koskaan\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Salasana vanhenee\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Salasana pois käytöstä\t\t\t\t\t:"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Tunnus vanhenee\t\t\t\t\t:"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Salasanan vaihtamisten välillä vähintään päiviä\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Salasanan vaihtamisten välillä korkeintaan päiviä\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Montako päivää varoitetaan ennen salasanan vanhenemista\t\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: älä sisällytä \"l\" muiden lippujen kanssa\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: Lupa evätty.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM-todennus epäonnistui\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: salasanatiedostoa ei voi avata\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: Tuntematon käyttäjä %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: varjosalasanatiedostoa ei voi lukita"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: varjosalasanatiedostoa ei voi avata"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Muutetaan käyttäjän %s vanhenemistietoja\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: virhe muutettaessa kenttiä\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: salasanatiedostoa ei voi päivittää\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: varjosalasanatiedostoa ei voi päivittää\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: varjosalasanatiedostoa ei voi uudelleenkirjoittaa\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: salasanatiedostoa ei voi uudelleenkirjoittaa\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM-chauthtok epäonnistui\n"
@@ -370,7 +398,7 @@ msgstr "Kotipuhelin"
 msgid "Other"
 msgstr "Muu"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Käyttäjätunnusta ei voi selvittää.\n"
@@ -385,11 +413,6 @@ msgstr "%s: ei voi vaihtaa käyttäjää \"%s\" NIS-asiakkaalla.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: \"%s\" on NIS-palvelin tälle asiakkaalle.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Lupa evätty.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -425,32 +448,32 @@ msgstr "%s: \"%s\" sisältää ei-sallittuja merkkejä\n"
 msgid "%s: fields too long\n"
 msgstr "%s: kentät liian pitkiä\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Ei voi vaihtaa tunnusta pääkäyttäjäksi.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Salasanatiedostoa ei voi lukita. Yritä myöhemmin uudelleen.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Salasanatiedostoa ei voi avata.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: Käyttäjää %s ei löydy tiedostosta /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Virhe päivitettäessä salasanatietuetta.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Salasanatiedoston muutoksia ei voi tallentaa.\n"
@@ -460,7 +483,7 @@ msgstr "Salasanatiedoston muutoksia ei voi tallentaa.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Salasanatiedoston lukitusta ei voi avata.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -479,53 +502,53 @@ msgstr ""
 "  -m, --md5             Käytä MD5:tä eikä DES:iä kun annetut salasanat\n"
 "                        eivät ole salakirjoitettuja\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: salasanatiedostoa ei voi lukita\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: varjotiedostoa ei voi lukita\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: varjotiedostoa ei voi avata\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: rivi %d: rivi on liian pitkä\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: rivi %d: uusi salasana puuttuu\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: rivi %d: tuntematon käyttäjä %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: rivi %d: salasanatietuetta ei voi päivittää\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: virhe havaittu, muutokset ohitetaan\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: virhe päivitettäessä varjotiedostoa\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: virhe päivitettäessä salasanatiedostoa\n"
@@ -564,12 +587,12 @@ msgstr "%s on virheellinen kuori.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Käyttö: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: VAROITUS!  Oikeuksina täytyy olla aseta-UID pääkäyttäjäksi!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: tuntematon käyttäjä\n"
@@ -595,33 +618,34 @@ msgstr ""
 "Valitsimet:\n"
 "  -a, --all                     Näytä faillog-tietueet kaikille käyttäjille\n"
 "  -h, --help                    Näytä tämä ohje ja lopeta\n"
-"  -l, --lock-time SEK           Epäonnistuneen kirjautumisen jälkeen "
-"lukitse\n"
+"  -l, --lock-time SEK           Lukitse epäonnistuneen kirjautumisen "
+"jälkeen\n"
 "                                tunnus SEK sekunniksi\n"
 "  -m, --maximum MAX             Aseta sallittujen kirjautumisyritysten\n"
 "                                laskureiksi MAX\n"
 "  -r, --reset                   Nollaa kirjautumisyrityslaskurit\n"
 "  -t, --time PÄIVIÄ             Näytä PÄIVIÄ uudemmat faillog-tietueet\n"
-"  -u, --user TUNNUS             Näytä faillog-tietue käyttäjälle TUNNUS tai\n"
-"                                muuta kirjautumisyrityslaskureita (kun\n"
-"                                käytetään -r, -m tai -l -valitsimilla)\n"
+"  -u, --user TUNNUS             Näytä faillog-tietue tai muuta\n"
+"                                kirjautumisyrityslaskureita (kun\n"
+"                                käytetään -r, -m tai -l-valitsimilla)\n"
+"                                vain käyttäjälle TUNNUS\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Tunnus      Epäonn.  Enint.  Edellinen                Päätteellä\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds jäljellä]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds lukittu]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Tuntematon käyttäjä: %s\n"
@@ -661,7 +685,7 @@ msgstr "%s: varjoryhmäsalanat vaaditaan valitsimelle -A\n"
 msgid "Who are you?\n"
 msgstr "Kuka olet?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "tuntematon ryhmä: %s\n"
@@ -695,7 +719,7 @@ msgstr "Vaihdetaan ryhmän %s salasana\n"
 msgid "New Password: "
 msgstr "Uusi salasana: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Toista uusi salasana: "
 
@@ -753,75 +777,75 @@ msgstr "%s: tiedoston lukkoa ei voi avata\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Käyttö: groupadd [-g gid [-o]] [-f] ryhmä\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: virhe lisättäessä uutta ryhmätietuetta\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: nimi %s ei ole ainutkertainen\n"
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
-msgstr "%s: gid %u ei ole ainutkertainen\n"
+msgid "%s: GID %u is not unique\n"
+msgstr "%s: GID %u ei ole ainutkertainen\n"
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
-msgstr "%s: ei saa ainutkertaista gid:iä\n"
+msgid "%s: can't get unique GID\n"
+msgstr "%s: ei saa ainutkertaista GID:iä\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s ei ole kelpo ryhmänimi\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: virheellinen ryhmä %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O vaatii NIMI=ARVO\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: ryhmätiedostoa ei voi uudelleenkirjoittaa\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: varjoryhmätiedostoa ei voi uudelleenkirjoittaa\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: ryhmätiedostoa ei voi lukita\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: ryhmätiedostoa ei voi avata\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: varjoryhmätiedostoa ei voi lukita\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: varjoryhmätiedostoa ei voi avata\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: ryhmä %s on olemassa\n"
@@ -831,32 +855,32 @@ msgstr "%s: ryhmä %s on olemassa\n"
 msgid "Usage: groupdel group\n"
 msgstr "Käyttö: groupdel ryhmä\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: virhe poistettaessa ryhmätietuetta\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: virhe poistettaessa varjoryhmätietuetta\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: käyttäjän ensisijaista ryhmää ei voi poistaa\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: ryhmää %s ei ole olemassa\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: ryhmä %s on NIS-ryhmä\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: isäntä %s on NIS-palvelin\n"
@@ -871,12 +895,12 @@ msgstr "Käyttö: groupmod [-g gid [-o]] [-n nimi] ryhmä\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: Ryhmää %s ei löydy tiedostosta /etc/group\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
-msgstr "%s: %u ei ole ainutkertainen gid\n"
+msgid "%s: %u is not a unique GID\n"
+msgstr "%s: %u ei ole ainutkertainen GID\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s ei ole ainutkertainen nimi\n"
@@ -891,22 +915,21 @@ msgstr "Käyttö: %s [-r] [-s] [ryhmä [ryhmävarjo]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Käyttö: %s [-r] [-s] [ryhmä]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Ei"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: valitsimet -s ja -r eivät sovi yhteen\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: tiedostoa %s ei voi lukita\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: tiedostoa %s ei voi lukita\n"
@@ -917,8 +940,8 @@ msgid "invalid group file entry\n"
 msgstr "virheellinen ryhmätiedostotietue\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "poista rivi \"%s\"? "
@@ -970,17 +993,17 @@ msgstr "poista ylläpidon jäsen \"%s\"? "
 msgid "shadow group %s: no user %s\n"
 msgstr "varjoryhmä %s: ei käyttäjää %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: tiedostoa %s ei voi päivittää\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: tiedostot päivitettiin\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: ei muutoksia\n"
@@ -1010,7 +1033,7 @@ msgstr "%s: varjoryhmätiedostoa ei voi avata\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: varjoryhmää %s ei voi poistaa\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: varjotietuetta ryhmälle %s ei voi päivittää\n"
@@ -1063,7 +1086,7 @@ msgstr ""
 "Käyttö: lastlog [valitsimet]\n"
 "\n"
 "Valitsimet:\n"
-"  -u, --user TUNNUS     Tulosta lastlog-tietue käyttäjälle TUNNUS\n"
+"  -u, --login TUNNUS    Tulosta lastlog-tietue käyttäjälle TUNNUS\n"
 "  -h, --help            Näytä tämä ohje ja lopeta\n"
 "  -t, --time PÄIVÄÄ     Tulosta vain PÄIVÄÄ tuoreemmat lastlog-tietueet\n"
 
@@ -1128,17 +1151,17 @@ msgstr ""
 "\n"
 "Sisäänkirjautuminen keskeytetty %d sekunnin jälkeen.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " päätteeltä \"%.100s\" osoitteesta \"%.200s\""
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " päätteeltä \"%.100s\""
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1147,85 +1170,30 @@ msgstr ""
 "\n"
 "%s-tunnus: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Sisäänkirjautuminen epäonnistui"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Varoitus: sisäänkirjautuminen uudelleen käytössä hetkellisen eston jälkeen.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Edellinen kirjautuminen: %s päätteellä %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Edellinen kirjautuminen: %.19s päätteellä %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " osoitteesta %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: järjestelmässä ei DBM-tietokantaa - toimenpiteitä ei suoritettu\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: tiedostoa %s ei voi ylikirjoittaa\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: DBM-tiedostoja %s ei voi avata\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: rivi, joka alkaa %.16s... on liian pitkä\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: virhe jäsennettäessä riviä \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "lisätään tietue nimelle %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: virhe lisättäessä tietuetta nimelle %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "lisätty %d tietuetta, pisin oli %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Käyttö: %s [-vf] [-p|g|sp|sg] tiedosto\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Käyttö: %s [-vf] [-p|g|sp] tiedosto\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Käyttö: %s [-vf] [-p|g] tiedosto\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1236,115 +1204,115 @@ msgstr "Käyttö: newgrp [-] [ryhmä]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Käyttö: sg ryhmä [[-c] komento]\n"
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
-msgstr "tuntematon uid: %u\n"
+msgid "unknown UID: %u\n"
+msgstr "tuntematon UID: %u\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "tuntematon gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "tuntematon GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Pahoittelen.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "liian monta ryhmää\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Käyttö: %s [syöte]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: tiedostoa /etc/passwd ei voi lukita.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: tiedostoja ei voi lukita, yritä myöhemmin uudelleen\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: tiedostoja ei voi avata\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: rivi %d: virheellinen rivi\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: rivi %d: GIDiä ei voi luoda\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: rivi %d: UID:tä ei voi luoda\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: rivi %d: käyttäjää %s ei löydy\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: rivi %d: salasanaa ei voi päivittää\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: rivi %d: mkdir epäonnistui\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: rivi %d: chown epäonnistui\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: rivi %d: tietuetta ei voi päivittää\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: virhe päivitettäessä tiedostoja\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Käyttö: %s [-f|-s] [nimi]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x kork] [-n väh] [-w varoitus] [-i poiskäyt] nimi\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "        %s {-l|-u|-d|-S|-e} nimi\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Vanha salasana: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Väärä salasana käyttäjälle \"%s\"\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1353,16 +1321,16 @@ msgstr ""
 "Syötä uusi salasana (vähintään %d ja korkeintaan %d merkkiä)\n"
 "Käytäthän salasanassa numeroita sekä pien- ja suuraakkosia.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Uusi salasana: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Yritä uudelleen.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1371,149 +1339,144 @@ msgstr ""
 "\n"
 "Varoitus: heikko salasana (syötä uudelleen käyttääksesi joka tapauksessa).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Ne eivät täsmää. Yritä uudelleen.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Käyttäjän %s salasanaa ei voi vaihtaa.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Pahoittelen, käyttäjän %s salasanaa ei voi vaihtaa vielä.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: muisti loppui\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Komento %s ei voi suorittaa"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: tietolähdettä %s ei tueta\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Et voi katsoa tai muokata käyttäjän %s salasanatietoja.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Vaihdetaan salasana käyttäjälle %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Käyttäjän %s salasanaa ei vaihdettu.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Salasana vaihdettu.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Käyttö: %s [-q] [-r] [-s] [passwd [varjo]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Käyttö: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "virheellinen sanasanatiedostotietue\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "kaksinkertainen salasanatietue\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "virheellinen käyttäjätunnus \"%s\"\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "käyttäjä %s: ei ryhmää %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "käyttäjä %s: hakemistoa %s ei ole olemassa\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "käyttäjä %s: kuorta %s ei ole olemassa\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "virheellinen tietue varjosalasanatiedostossa\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "kaksinkertainen varjosalasanatietue\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "ei täsmäävää tietuetta salasanatiedostossa\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "käyttäjä %s: viimeisin salasanan vaihto tapahtunut tulevaisuudessa\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: passwd-tiedostoa ei voi lukita\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: passwd-tiedostoa ei voi avata\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: varjotietuetta %s ei voi poistaa\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: salasanatietuetta %s ei voi päivittää\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: varjotiedostoa ei voi päivittää\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: salasanatiedostoa ei voi päivittää\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: käyttäjän %s tietuetta ei voi päivittää\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: varjosalasanatiedostoa ei voi poistaa\n"
@@ -1522,31 +1485,31 @@ msgstr "%s: varjosalasanatiedostoa ei voi poistaa\n"
 msgid "Sorry."
 msgstr "Pahoittelen."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: täytyy suorittaa päätteessä\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: virhe %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Tuntematon id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Sinulla ei ole lupaa asettua käyttäjäksi %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Syötä oma salasanasi.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1555,7 +1518,7 @@ msgstr ""
 "%s: %s\n"
 "(Ohitettu)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Ei kuorta\n"
@@ -1599,212 +1562,212 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Siirrytään järjestelmän ylläpitotilaan\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: virheellinen numeroargumentti \"%s\"\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: tuntematon gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: tuntematon GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: tuntematon ryhmä %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: uutta defaults-tiedostoa ei voi luoda\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: uutta defaults-tiedostoa ei voi avata\n"
 
 # Kannattaako tuota kääntää, siinä viitataan rename()-funktioon...
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: rename: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: ryhmä \"%s\" ei ole NIS-ryhmä.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: liian monta ryhmää määritelty (korkeintaan %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Käyttö: useradd [-u uid [-o]] [-g ryhmä] [-G ryhmä,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "               [-d koti] [-s kuori] [-c komento] [-m [-k malli]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "               [-f poiskäytöstä] [-e vanhenee]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "               [-p salansana] nimi\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "       useradd -D [-g ryhmä] [-b perus] [-s kuori]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: virhe lukittaessa ryhmätiedostoa\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: virhe avattaessa ryhmätiedostoa\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: virhe lukittaessa varjoryhmätiedostoa\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: virhe avattaessa varjoryhmätiedostoa\n"
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u ei ole ainutkertainen\n"
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: UID %u ei ole ainutkertainen\n"
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: ainutkertaista uidia ei saa\n"
+msgid "%s: can't get unique UID\n"
+msgstr "%s: ei saa ainutkertaista UID:tä\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: virheellinen perushakemisto \"%s\"\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: virheellinen kommentti \"%s\"\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: virheellinen kotihakemisto \"%s\"\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: virheellinen päiväys \"%s\"\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: varjosalasanat vaaditaan valitsimelle -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: varjosalasanat vaaditaan valitsimelle -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: virheellinen kenttä \"%s\"\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: virheellinen kuori \"%s\"\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: salasanatiedostoa ei voi uudelleenkirjoittaa\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: varjosalasanatiedostoa ei voi uudelleenkirjoittaa\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: salasanatiedostoa ei voi lukita\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: salasanatiedostoa ei voi avata\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: varjosalasanatiedostoa ei voi lukita\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: varjosalasanatiedostoa ei voi avata\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: virhe lisättäessä uutta salasanatietuetta\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: virhe lisättäessä uutta varjosalasanatietuetta\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: hakemistoa %s ei voi luoda\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Ryhmää nimeltä \"mail\" ei ole olemassa, luodaan postilaatikko oikeuksilla "
 "0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Käyttäjälle %s ei voi luoda postilaatikkoa.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: käyttäjä %s on olemassa\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1812,167 +1775,173 @@ msgstr ""
 "%s: ryhmä %s on olemassa - jos haluat lisätä tämän käyttäjän ryhmään, käytä "
 "valitsinta -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: varoitus: CREATE_HOME ei tuettu, käytä -m sen sijaan.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Käyttö: %s [-r] nimi\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: virhe päivitettäessä ryhmätietuetta\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: ryhmätiedostoa ei voi avata\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: varjoryhmätiedostoa ei voi avata\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: virhe poistettaessa salasanatietuetta\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: virhe poistettaessa varjosalasanatietuetta\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: käyttäjä %s on nyt sisäänkirjautuneena\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: tiedoston %s omistaja ei ole %s, ei poisteta\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: varoitus: ei voi poistaa tiedostoa "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: käyttäjää %s ei ole olemassa\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: käyttäjä %s on NIS-käyttäjä\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: ei poisteta hakemistoa %s (poistettaisiin käyttäjän %s kotihakemisto)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: virhe poistettaessa hakemistoa %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Käyttö: %s\t[-u uid [-o]] [-g ryhmä] [-G ryhmä,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d koti [-m]] [-s kuori] [-c kommentti] [-l uusi_nimi]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f poiskäytöstä] [-e vanhenee] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p passwd] [-L|-U] nimi\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: muisti loppui funktiossa update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: muisti loppui funktiossa update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: lippuja ei annettu\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: varjosalasanat vaaditaan valitsimille -e ja -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu ei ole ainutkertainen\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: virhe muutettaessa salasanatietuetta\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: virhe poistettaessa salasanatietuetta\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: virhe poistettaessa varjosalasanatietuetta\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: hakemisto %s on olemassa\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: tiedostoa %s ei voi luoda\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: tiedoston %s omistajaa ei voi asettaa\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+"%s: varoitus: vanhan kotihakemiston %s täydellinen poistaminen epäonnistui"
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: varoitus: tiedoston %s omistaja ei ole %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "postilaatikon omistajan vaihtaminen epäonnistui"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "postilaatikon uudelleennimeäminen epäonnistui"
 
index 52d2ee7f1d12b3bf5c3e925293805d3ebff9c24a..13d9dec36a4c55346d130ab96f2ac761d08f0d70 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index df8c74b5d218266d8b46b7e8bd6420a2dd6298c5..1d7c8bf75b83541d6159e56bf7152e3613344730 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-04-20 22:39+0200\n"
 "Last-Translator: Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>\n"
 "Language-Team:  French <debian-l10n-french@lists.debian.org>\n"
@@ -28,40 +28,40 @@ msgstr "Attention: le groupe %s est inconnu\n"
 msgid "Warning: too many groups\n"
 msgstr "Attention: il y a trop de groupes\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Votre mot de passe est arrivé en fin de validité."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Votre mot de passe est désactivé."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Votre compte est arrivé en fin de validité."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Contactez l'administrateur du système.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Choisissez un nouveau mot de passe.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Votre mot de passe arrivera en fin de validité dans %ld jours.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Votre mot de passe arrivera demain en fin de validité.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Votre mot de passe arrive aujourd'hui en fin de validité.\n"
@@ -113,7 +113,7 @@ msgstr "Pas de courrier."
 msgid "You have mail."
 msgstr "Vous avez du courrier."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Mot de passe incorrect: %s.  "
@@ -174,7 +174,7 @@ msgstr ""
 "erreur de configuration - élément « %s » inconnu (prévenez "
 "l'administrateur)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Mot de passe: "
 
@@ -183,161 +183,171 @@ msgstr "Mot de passe: "
 msgid "%s's Password: "
 msgstr "Mot de passe de %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Usage: chage [-l] [-m min_jours] [-M max_jours] [-W avertissement]\n"
-"             [-I inactif] [-E expire] [-d dernier_jour] utilisateur\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 "Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Durée minimale de validité du mot de passe"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Durée maximale de validité du mot de passe"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Dernier changement de mot de passe (AAAA-MM-JJ)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Avertissement de fin de validité du mot de passe"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Mot de passe désactivé"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Date de fin de validité du compte (AAAA-MM-JJ)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Dernier changement de mot de passe\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "jamais\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Fin de validité du mot de passe\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Mot de passe désactivé\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Fin de validité du compte\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 "Nombre minimum de jours entre les changements de mot de passe\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 "Nombre maximum de jours entre les changements de mot de passe\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 "Nombre de jours d'avertissement avant la fin de validité du mot de passe\t: %"
 "ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: ne pas mélanger « l » avec les autres indicateurs\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: permission refusée.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: échec de la méthode d'authentification PAM\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: impossible d'ouvrir le fichier des mots de passe\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: utilisateur %s inconnu\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: impossible de verrouiller le fichier des mots de passe cachés"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: impossible d'ouvrir le fichier des mots de passe cachés"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Changement des informations sur la limite de validité pour %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: erreur lors de la modification des champs\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: impossible de mettre à jour le fichier des mots de passe\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: impossible de mettre à jour le fichier des mots de passe cachés\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: impossible de réécrire le fichier des mots de passe cachés\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: impossible de réécrire le fichier des mots de passe\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: erreur de PAM chauthtok\n"
@@ -382,7 +392,7 @@ msgstr "Téléphone personnel"
 msgid "Other"
 msgstr "Autre"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Impossible de déterminer votre nom d'utilisateur.\n"
@@ -397,11 +407,6 @@ msgstr "%s: impossible de changer l'utilisateur « %s » sur le client NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: « %s » est le maître NIS pour ce client.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: permission refusée.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -437,34 +442,34 @@ msgstr "%s: « %s » contient des caractères incorrects\n"
 msgid "%s: fields too long\n"
 msgstr "%s: champs trop longs\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Impossible de changer l'identifiant root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 "Impossible de verrouiller le fichier des mots de passe ; réessayez plus "
 "tard.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Impossible d'ouvrir le fichier des mots de passe.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s non trouvé dans /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Erreur lors de la mise à jour du mot de passe.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Impossible de valider le changement du mot de passe.\n"
@@ -474,7 +479,7 @@ msgstr "Impossible de valider le changement du mot de passe.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Impossible de déverrouiller le fichier des mots de passe.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -493,54 +498,54 @@ msgstr ""
 "  -m, --md5\t\tUtiliser le chiffrage MD5 à la place de DES lorsque\n"
 "\t\t\tles mots de passe fournis ne sont pas chiffrés\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: impossible de verrouiller le fichier des mots de passe\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: impossible de verrouiller le fichier des mots de passe cachés\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: impossible d'ouvrir le fichier des mots de passe cachés\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: ligne %d: ligne trop longue\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: ligne %d: nouveau mot de passe manquant\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: ligne %d: utilisateur %s inconnu\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: ligne %d: impossible de mettre le mot de passe à jour\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: erreur détectée ; changements ignorés\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr ""
 "%s: erreur lors de la mise à jour du fichier des mots de passe cachés\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: erreur lors de la mise à jour du fichier des mots de passe\n"
@@ -579,12 +584,12 @@ msgstr "%s n'est pas un interpréteur de commandes valable.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Usage: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: ATTENTION, doit s'exécuter avec les droits du superutilisateur.\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: utilisateur inconnu\n"
@@ -624,22 +629,22 @@ msgstr ""
 "                       options -r, -m ou -l) d'échecs uniquement pour\n"
 "                       l'utilisateur dont le compte est LOGIN\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Identifiant Échecs   Maximum Dernier                 Sur\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds restants]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds verrou]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Utilisateur %s inconnu\n"
@@ -679,7 +684,7 @@ msgstr "%s: mots de passe de groupe cachés nécessaires pour -A\n"
 msgid "Who are you?\n"
 msgstr "Qui êtes-vous ?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "groupe inconnu: %s\n"
@@ -713,7 +718,7 @@ msgstr "Changement du mot de passe pour le groupe %s\n"
 msgid "New Password: "
 msgstr "Nouveau mot de passe: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Nouveau mot de passe (pour vérification): "
 
@@ -771,75 +776,75 @@ msgstr "%s: impossible de déverrouiller le fichier\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Usage: groupadd [-g gid [-o]] [-f] groupe\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: erreur lors de l'ajout du nouveau groupe\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: le nom %s n'est pas unique\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: le gid %u n'est pas unique\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: impossible d'obtenir un gid unique\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s n'est pas un nom de groupe valide\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: groupe %s non valable\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O requiert NAME=VALEUR\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: impossible de réécrire le fichier group\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: impossible de réécrire le fichier des groupes cachés\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: impossible de verrouiller le fichier des groupes\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: impossible d'ouvrir le fichier des groupes\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: impossible de verrouiller le fichier des groupes\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: impossible d'ouvrir le fichier des groupes cachés\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: le groupe %s existe\n"
@@ -849,32 +854,32 @@ msgstr "%s: le groupe %s existe\n"
 msgid "Usage: groupdel group\n"
 msgstr "Usage: groupdel groupe\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: erreur lors de la suppression de l'entrée du groupe\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: erreur lors de la suppression de l'entrée cachée du groupe\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: impossible d'enlever le groupe primaire de l'utilisateur.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: le groupe %s n'existe pas\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: le groupe %s est un groupe NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s est le maître NIS\n"
@@ -889,12 +894,12 @@ msgstr "Usage: groupmod [-g gid [-o]] [-n nom] groupe\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s non trouvé dans /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u n'est pas un gid unique\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s n'est pas un nom unique\n"
@@ -909,22 +914,21 @@ msgstr "Usage: %s [-r] [-s] [groupe [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Usage: %s [-r] [-s] [groupe]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Non"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s et -r sont incompatibles\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: impossible de verrouiller le fichier %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: impossible d'ouvrir le fichier %s\n"
@@ -935,8 +939,8 @@ msgid "invalid group file entry\n"
 msgstr "entrée non valable dans le fichier de groupe\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "effacer la ligne « %s » ? "
@@ -988,17 +992,17 @@ msgstr "effacer le membre administrateur « %s » ? "
 msgid "shadow group %s: no user %s\n"
 msgstr "groupe caché %s: aucun utilisateur %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: impossible de mettre à jour le fichier %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: les fichiers ont été mis à jour\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: aucun changement\n"
@@ -1028,7 +1032,7 @@ msgstr "%s: impossible d'ouvrir le fichier caché de groupe\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: impossible de supprimer le groupe caché %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: impossible de mettre à jour l'entrée cachée pour %s\n"
@@ -1148,17 +1152,17 @@ msgstr ""
 "\n"
 "Tentative de connexion: délai de %d secondes dépassé.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " sur « %.100s » à partir de « %.200s »"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " sur « %.100s »"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1167,85 +1171,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Identifiant incorrect"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Attention: identifiant réactivé après une désactivation temporaire.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Dernière connexion: le %s sur %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Dernière connexion: le %.19s sur %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " à partir de %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-"%s: pas de base de données DBM sur le système - aucune action effectuée\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: impossible d'écraser le fichier %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: impossible d'ouvrir les fichiers DBM pour %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: la ligne commençant par %.16s... est trop longue\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: erreur lors l'analyse de la ligne « %s »\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "ajout d'un enregistrement pour le nom %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: erreur lors de l'ajout de l'enregistrement %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "%d entrées ajoutées, la plus longue fut %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Usage: %s [-vf ] [-p|g|sp|sg] fichier\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Usage: %s [-vf] [-p|g|sp] fichier\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Usage: %s [-vf] [-p|g] fichier\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1256,115 +1204,115 @@ msgstr "Usage: newgrp [-] [groupe]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Usage: sg groupe [[-c] commande]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid inconnu: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "GID inconnu: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid inconnu: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "GID inconnu: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr " \n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "trop de groupes\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Usage: %s [entrée]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: impossible de verrouiller /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: impossible de verrouiller les fichiers, réessayez plus tard\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: impossible d'ouvrir les fichiers\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: ligne %d: ligne non valable\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: ligne %d: impossible de créer le GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: ligne %d: impossible de créer l'UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: ligne %d: impossible de trouver l'utilisateur %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: ligne %d: impossible de mettre le mot de passe à jour\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: ligne %d: échec de mkdir\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: ligne %d: échec de chown\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: ligne %d: impossible de mettre l'entrée à jour\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: erreur lors de la mise à jour des fichiers\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Usage: %s [-f|-s] [nom]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x max] [-n min] [-w avert] [-i inact] nom\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} nom\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Ancien mot de passe: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Mot de passe incorrect pour « %s »\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1374,16 +1322,16 @@ msgstr ""
 "caractères). Utilisez une combinaison de lettres majuscules, minuscules\n"
 "et de chiffres.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nouveau mot de passe: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Réessayez...\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1393,151 +1341,146 @@ msgstr ""
 "Attention: mot de passe trop simple (entrez-le à nouveau pour l'utiliser\n"
 "quand même).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Mots de passe différents, recommencez...\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Le mot de passe pour %s ne peut être changé.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Le mot de passe pour %s ne peut pas encore être changé.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: plus de mémoire\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Impossible d'exécuter %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: le dépôt %s n'est pas géré\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr ""
 "%s: Vous ne pouvez pas afficher ou modifier les informations de mot de passe "
 "de %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Changement du mot de passe de %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Le mot de passe pour %s est inchangé.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Mot de passe changé.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Usage: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "entrée non valable dans le fichier des mots de passe\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "entrée dupliquée dans le fichier des mots de passe\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "nom d'utilisateur « %s » non valable\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "utilisateur %s: aucun groupe %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "utilisateur %s: le répertoire %s n'existe pas\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "utilisateur %s: le programme %s n'existe pas\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "entrée de mot de passe caché non valable\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "entrée de mot de passe caché dupliquée\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "aucune entrée correspondante dans le fichier des mots de passe\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "utilisateur %s: dernier changement du mot de passe dans le futur\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: impossible de verrouiller le fichier des mots de passe\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: impossible d'ouvrir le fichier des mots de passe\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: impossible d'enlever l'entrée cachée pour %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: impossible de mettre à jour le mot de passe de %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: impossible de mettre à jour le fichier des mots de passe cachés\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: impossible de mettre à jour le fichier des mots de passe\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: impossible de mettre à jour l'entrée pour l'utilisateur %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: impossible d'effacer le fichier des mots de passe cachés\n"
@@ -1546,31 +1489,31 @@ msgstr "%s: impossible d'effacer le fichier des mots de passe cachés\n"
 msgid "Sorry."
 msgstr " "
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: doit être lancé à partir d'un terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: erreur %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "ID inconnue: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Vous n'êtes pas autorisé à utiliser « su » %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Entrez votre propre mot de passe)."
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1579,7 +1522,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignoré)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Pas d'interpréteur de commandes\n"
@@ -1624,215 +1567,215 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Entrée dans le mode de maintenance du système\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: argument numérique « %s » incorrect\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: gid %s inconnu\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: GID %s inconnu\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: groupe %s inconnu\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: impossible de créer le nouveau fichier des valeurs par défaut\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: impossible d'ouvrir le nouveau fichier des valeurs par défaut\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: renomme: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: le groupe « %s » est un groupe NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: trop de groupes spécifiés (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Usage: useradd [-u uid [-o]] [-g groupe] [-G groupe,...]\n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "               [-d home] [-s shell] [-c commentaire] [-m [-k template]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "               [-f inactif] [-e expire]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "               [-p mot-de-passe] nom\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "       useradd -D [-g groupe] [-b base] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: erreur lors du verrouillage du fichier de groupe\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: erreur lors d'ouverture du fichier de groupe\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: erreur lors du verrouillage du fichier des groupes cachés\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: erreur lors de l'ouverture du fichier des groupes cachés\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: l'uid %u n'est pas unique\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: le gid %u n'est pas unique\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: impossible d'obtenir un uid unique\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: impossible d'obtenir un gid unique\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: répertoire de base non valable « %s »\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: commentaire « %s » non valable\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: répertoire personnel « %s » non valable\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: date « %s » non valable\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: mots de passe cachés nécessaires pour -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: mots de passe cachés nécessaires pour -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: champ « %s » non valable\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: interpréteur de commandes « %s » non valable\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: nom d'utilisateur « %s » non valable\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: impossible de réécrire le fichier des mots de passe\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: impossible de réécrire le fichier des mots de passe cachés\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: impossible de verrouiller le fichier des mots de passe\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: impossible d'ouvrir le fichier des mots de passe\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: impossible de verrouiller le fichier des mots de passe cachés\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: impossible d'ouvrir le fichier des mots de passe cachés\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: erreur lors de l'ajout de la nouvelle entrée\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 "%s: erreur lors de l'ajout de la nouvelle entrée du mot de passe caché\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: impossible de créer le répertoire %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Il n'y a pas de groupe dont le nom est « mail », création du répertoire de "
 "dépôt de courrier avec le mode 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr ""
 "Impossible de créer le répertoire de dépôt de courrier pour l'utilisateur %"
 "s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: l'utilisateur %s existe\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1840,168 +1783,173 @@ msgstr ""
 "%s: le groupe %s existe - si vous voulez ajouter cet utilisateur à ce "
 "groupe, utilisez -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: attention: CREATE_HOME n'est pas supporté, veuillez utiliser -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Usage: %s [-r] nom\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: erreur lors de la mise à jour de l'entrée de groupe\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: impossible d'ouvrir le fichier group\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: impossible d'ouvrir le fichier des groupes cachés\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: erreur lors de la suppression de l'entrée dans /etc/passwd\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: erreur lors de la suppression de l'entrée dans /etc/shadow\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: l'utilisateur %s est connecté\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s n'appartient pas à %s, non supprimé\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: attention: suppression impossible "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: l'utilisateur %s n'existe pas\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: le compte %s est un compte NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: répertoire %s non supprimé (cela supprimerait le répertoire personnel de "
 "%s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: erreur lors de l'effacement du répertoire %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Usage: %s\t[-u uid [-o]] [-g groupe] [-G groupe,...]\n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d home [-m]] [-s shell] [-c commentaire] [-l nouveau_nom]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inactif] [-e expire] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p mot-de-passe] [-L|-U] nom\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: plus de mémoire pour update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: plus de mémoire pour update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: aucun indicateur n'a été précisé\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: mots de passe shadow nécessaires pour -e ou -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: l'uid %lu n'est pas unique\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: erreur lors du changement de l'entrée dans /etc/passwd\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: erreur lors de l'effacement du mot de passe\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: erreur lors de la suppression de l'entrée cachée du mot de passe\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: le répertoire %s existe\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: impossible de créer %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: impossible de changer le propriétaire de %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: impossible de renommer le répertoire %s en %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: attention: %s n'appartient pas à %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "échec du changement de propriétaire de la boîte à lettres"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "échec du changement de nom de la boîte à lettres"
 
@@ -2037,3 +1985,12 @@ msgstr ""
 "Usage :\n"
 "« vipw » édite /etc/passwd        « vipw -s » édite /etc/shadow\n"
 "« vigr » édite /etc/group         « vigr -s » édite /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "uid inconnu: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: l'uid %u n'est pas unique\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: impossible d'obtenir un uid unique\n"
index 9edd1985796c76aea91542f5556d20ccee90ba88..bfe9c06119866bd3093b1fbf7580be74c1606407 100644 (file)
Binary files a/po/he.gmo and b/po/he.gmo differ
index dceb6b44884ee2576d38e3a5656f47dc86e772b0..11a9ebad85bd2ea9751a964d7cb35908ff6403bf 100644 (file)
--- a/po/he.po
+++ b/po/he.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-07-21 23:59+0300\n"
 "Last-Translator: Lior Kaplan <webmaster@guides.co.il>\n"
 "Language-Team: Hebrew <en@li.org>\n"
@@ -27,40 +27,40 @@ msgstr "אזהרה: קבוצה לא מוכרת %s\n"
 msgid "Warning: too many groups\n"
 msgstr "אזהרה: יותר מידי קבוצות\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "תוקף הסיסמה שלך פג."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "הסיסמה שלך אינה פעילה."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "תוקף הכניסה שלך למערכת פג."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  צור קשר עם מנהל המערכת.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  בחר סיסמה חדשה.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "תוקף הסיסמה שלך יפוג בתוך %ld ימים.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "תוקף הסיסמה שלך יפוג מחר.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "תוקף הסיסמה שלך פג היום.\n"
@@ -108,7 +108,7 @@ msgstr "אין דואר."
 msgid "You have mail."
 msgstr "יש לך דואר."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "סיסמה לא טובה: %s.  "
@@ -166,7 +166,7 @@ msgstr "לא יכול להקצות מקום בשביל מידע על הקונפ
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "שגיאת הגדרות - רכיב לא ידוע '%s' (הודע למנהל)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "סיסמה: "
 
@@ -175,156 +175,166 @@ msgstr "סיסמה: "
 msgid "%s's Password: "
 msgstr "הסיסמה של %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"שימוש: chage [-l] [-m מינימום ימים] [-M מקסימום ימים] [-W אזהרה]\n"
-"             [-I לא פעיל] [-E פג תוקף] [-d יום אחרון] שם משתמש\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "הכנס ערך חדש, או לחץ ENTER לברירת המחדל\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "גיל סיסמה מינימלי"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "גיל סיסמה מקסימלי"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "שינוי סיסמה אחרון (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "אזהרת תוקף סיסמה"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "סיסמה לא פעילה"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "תאריך תוקף חשבון (YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "שינוי סיסמה אחרון (YYYY-MM-DD)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "אף פעם\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "תוקף סיסמה:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "חסור פעילות סיסמה:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "תוקף חשבון:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr ""
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: הגישה נאסרה\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: זיהוי PAM נכשל\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: לא יכול לפתוח קובץ סיסמאות\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr ""
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: לא יכול לנעול קובץ סיסמאות צל"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: לא יכול לפתוח קובץ סיסמאות צל"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "שנה מידע הזדקות בשביל %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: שגיאה בשינוי שדות\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: לא יכול לעדכן קובץ סיסמאות\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: לא יכול לעדכן קובץ סיסמאות צל\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות צל\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr ""
@@ -366,7 +376,7 @@ msgstr "מספר טלפון בבית"
 msgid "Other"
 msgstr "אחר"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n"
@@ -381,11 +391,6 @@ msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr ""
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: הגישה נאסרה\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -421,32 +426,32 @@ msgstr "%s: \"%s\" מכיל תווים לא חוקיים\n"
 msgid "%s: fields too long\n"
 msgstr "%s: שדות ארוכים מידי\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "לא יכול לשנות ID ל-root\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "לא יכול לנעול קובץ סיסמאות; נסה שוב מאוחר יותר\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "לא יכול לפתוח את קובץ הסיסמאות.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr ""
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "שגיאה בעדכון רשומת הסיסמה.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "לא יכול לבצע שינויים בקובץ הסיסמאות.\n"
@@ -456,7 +461,7 @@ msgstr "לא יכול לבצע שינויים בקובץ הסיסמאות.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "לא יכול לשחרר נעילה של קובץ הסיסמאות.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -468,53 +473,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: לא יכול לנעול קובץ סיסמאות\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: לא יכול לנעול קובץ צל\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: לא יכול לפתוח קובץ צל\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: שורה %d: שורה ארוכה מידי\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: שורה %d: חסרה סיסמה חדשה\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: שורה %d: משתמש לא מוכר %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: שגיאה זוהתה, מתעלם משינויים\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: שגיאה בעדכון קובץ צל\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: שגיאה בעדכון קובץ סיסמאות\n"
@@ -553,12 +558,12 @@ msgstr "%s היא מעטפת לא חוקית.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "שימוש: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr ""
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr ""
@@ -580,22 +585,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr ""
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr ""
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr ""
@@ -635,7 +640,7 @@ msgstr ""
 msgid "Who are you?\n"
 msgstr ""
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr ""
@@ -669,7 +674,7 @@ msgstr ""
 msgid "New Password: "
 msgstr ""
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr ""
 
@@ -727,75 +732,75 @@ msgstr ""
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr ""
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr ""
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr ""
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
+msgid "%s: GID %u is not unique\n"
 msgstr ""
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
+msgid "%s: can't get unique GID\n"
 msgstr ""
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: שם לא חוקי: \"%s\"\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr ""
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr ""
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr ""
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr ""
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr ""
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr ""
@@ -805,32 +810,32 @@ msgstr ""
 msgid "Usage: groupdel group\n"
 msgstr ""
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr ""
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr ""
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr ""
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr ""
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr ""
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr ""
@@ -845,12 +850,12 @@ msgstr ""
 msgid "%s: %s not found in /etc/group\n"
 msgstr ""
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
-msgstr ""
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
+msgstr "%s: שם לא חוקי: \"%s\"\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr ""
@@ -865,22 +870,21 @@ msgstr ""
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr ""
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr ""
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr ""
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr ""
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr ""
@@ -891,8 +895,8 @@ msgid "invalid group file entry\n"
 msgstr ""
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr ""
@@ -944,17 +948,17 @@ msgstr ""
 msgid "shadow group %s: no user %s\n"
 msgstr ""
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr ""
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr ""
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr ""
@@ -984,7 +988,7 @@ msgstr ""
 msgid "%s: can't remove shadow group %s\n"
 msgstr ""
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr ""
@@ -1090,101 +1094,46 @@ msgid ""
 "Login timed out after %d seconds.\n"
 msgstr ""
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr ""
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr ""
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
 "%s login: "
 msgstr ""
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr ""
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr ""
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr ""
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr ""
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr ""
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr ""
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: שגיאה בשינוי שדות\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr ""
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr ""
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr ""
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr ""
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1195,280 +1144,275 @@ msgstr ""
 msgid "Usage: sg group [[-c] command]\n"
 msgstr ""
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr ""
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "%s: שורה %d: משתמש לא מוכר %s\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
+msgid "unknown GID: %lu\n"
 msgstr ""
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr ""
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr ""
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr ""
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr ""
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr ""
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr ""
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr ""
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr ""
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr ""
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr ""
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr ""
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr ""
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr ""
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr ""
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr ""
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, fuzzy, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "שימוש: %s [-f|-s] [name]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr ""
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr ""
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr ""
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr ""
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
 "Please use a combination of upper and lower case letters and numbers.\n"
 msgstr ""
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr ""
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr ""
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
 "Warning: weak password (enter it again to use it anyway).\n"
 msgstr ""
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr ""
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr ""
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr ""
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr ""
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr ""
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr ""
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "אינך רשאי לשנות את המעטפת בשביל %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr ""
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr ""
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr ""
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr ""
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr ""
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr ""
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr ""
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr ""
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr ""
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr ""
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr ""
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr ""
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr ""
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr ""
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr ""
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr ""
@@ -1477,38 +1421,38 @@ msgstr ""
 msgid "Sorry."
 msgstr ""
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr ""
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr ""
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr ""
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr ""
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr ""
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
 "(Ignored)\n"
 msgstr ""
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr ""
@@ -1549,374 +1493,379 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr ""
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr ""
 
-#: src/useradd.c:298
-#, c-format
-msgid "%s: unknown gid %s\n"
-msgstr ""
+#: src/useradd.c:289
+#, fuzzy, c-format
+msgid "%s: unknown GID %s\n"
+msgstr "%s: שורה %d: משתמש לא מוכר %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr ""
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr ""
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr ""
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr ""
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr ""
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr ""
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr ""
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr ""
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr ""
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr ""
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: שם לא חוקי: \"%s\"\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr ""
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: שם לא חוקי: \"%s\"\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr ""
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr ""
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr ""
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr ""
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr ""
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr ""
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr ""
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr ""
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr ""
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr ""
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr ""
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, fuzzy, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "שימוש: %s [-r] [name]\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr ""
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr ""
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr ""
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr ""
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr ""
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr ""
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr ""
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr ""
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr ""
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr ""
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr ""
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr ""
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr ""
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr ""
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr ""
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr ""
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr ""
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr ""
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr ""
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr ""
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr ""
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr ""
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr ""
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr ""
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr ""
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr ""
 
index fdaf155e79eb9e37b6051e14accb6f4614fde851..3246da9b1146a2c54c164c7f543eebf8c959d5e6 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index fd66a5eefd750a700f7aec836e1111398afafe1e..01084cd93f2a1517dcedb670e6debd851fcb85a5 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-04-09 00:12+0700\n"
 "Last-Translator: Parlin Imanuel Toh <parlin@ui.edu>\n"
 "Language-Team: Debian Indonesia <debid@yahoogroups.com>\n"
@@ -24,40 +24,40 @@ msgstr "Peringatan: grup tidak dikenal %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Peringatan: terlalu banyak grup\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Kata sandi anda telah kadaluarsa."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Kata sandi anda tidak aktif."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Login anda telah kadaluarsa."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Hubungi administrator sistem.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Pilih sebuah kata sandi baru.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Kata sandi anda akan kadaluarsa dalam %ld hari.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Kata sandi anda akan kadaluarsa besok.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Kata sandi anda akan kadaluarsa hari ini.\n"
@@ -104,7 +104,7 @@ msgstr "Tidak ada surat."
 msgid "You have mail."
 msgstr "Anda memiliki surat."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Kata sandi buruk: %s."
@@ -163,7 +163,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "Kesalahan konfigurasi - item tidak dikenal '%s' (beritahu administrator)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Kata sandi:"
 
@@ -172,156 +172,166 @@ msgstr "Kata sandi:"
 msgid "%s's Password: "
 msgstr "Kata sandi dari %s:"
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Penggunaan: chage [-l] [-m hari_min] [-M hari_maks] [-W peringatan]\n"
-"                  [-I tidak_aktif] [-E kadaluarsa] [-d hari_akhir] pengguna\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Masukkan nilai baru atau tekan ENTER untuk nilai bawaan\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Umur Kata Sandi Minimal"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Umur Kata Sandi Maksimal"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Penggantian Kata Sandi Terakhir (TTTT-MM-HH)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Peringatan Kadaluarsanya Kata Sandi"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Kata Sandi Tak-aktif"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Waktu Kadaluarsa Akun (TTTT-MM-HH)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Penggantian Kata Sandi Terakhir (TTTT-MM-HH)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Tidak Pernah\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Kata Sandi Kadaluarsa:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Kata Sandi Tidak Aktif:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Akun Kadaluarsa:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: jangan gabungkan \"l\" dengan flag lain\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: ijin ditolak\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: Otentikasi PAM gagal\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: tidak dapat membuka berkas kata sandi\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: pengguna %s tak dikenal\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: tidak dapat mengunci berkas kata sandi bayangan"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: tidak dapat membuka berkas kata sandi bayangan"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Mengubah informasi umur akun untuk %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: kesalahan saat mengubah ruas-ruas isian\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: tidak dapat memperbaharui berkas kata sandi\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: tidak dapat memperbaharui berkas kata sandi bayangan\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: tidak dapat menulis kembali berkas kata sandi bayangan\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: tidak dapat menulis kembali berkas kata sandi\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: chauthok PAM gagal\n"
@@ -366,7 +376,7 @@ msgstr "Telepon Rumah"
 msgid "Other"
 msgstr "Lain-lain"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Tidak dapat menentukan nama pengguna anda.\n"
@@ -381,11 +391,6 @@ msgstr "%s: tidak dapat mengubah pengguna '%s' pada klien NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' merupakan master NIS untuk klien ini.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: ijin ditolak\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -421,32 +426,32 @@ msgstr "%s: \"%s\" berisi karakter-karakter ilegal\n"
 msgid "%s: fields too long\n"
 msgstr "%s: ruas terlalu panjang\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Tidak dapat mengubah ID menjadi root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Tidak dapat mengunci berkas kata sandi; coba lagi nanti.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Tidak dapat membuka berkas kata sandi.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s tidak ditemukan pada /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Kesalahan saat memperbaharui entri kata sandi.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Tidak dapat menyimpan perubahan berkas kata sandi.\n"
@@ -456,7 +461,7 @@ msgstr "Tidak dapat menyimpan perubahan berkas kata sandi.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Tidak dapat membuka kunci berkas kata sandi.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -468,53 +473,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: tidak dapat mengunci berkas kata sandi\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: tidak dapat mengunci berkas kata sandi bayangan\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: tidak dapat membuka berkas kata sandi bayangan\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: baris %d: baris terlalu panjang\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: baris %d: kata sandi baru hilang\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: baris %d: pengguna %s tak dikenal\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: baris %d: tidak dapat memperbaharui entri kata sandi\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: kesalahan terdeteksi, perubahan diabaikan\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: kesalahan saat memperbaharui berkas kata sandi bayangan\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: kesalahan saat memperbaharui berkas kata sandi\n"
@@ -553,12 +558,12 @@ msgstr "%s merupakan shell yang tidak sah.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Penggunaan: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: PERINGATAN! Mesti merupakan set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: pengguna tak dikenal\n"
@@ -580,22 +585,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds tersisa]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds terkunci]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Pengguna tak dikenal: %s\n"
@@ -635,7 +640,7 @@ msgstr "%s: kata sandi bayangan grup diperlukan untuk -A\n"
 msgid "Who are you?\n"
 msgstr "Anda siapa?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "grup tak dikenal: %s\n"
@@ -669,7 +674,7 @@ msgstr "Mengubah kata sandi untuk grup %s\n"
 msgid "New Password: "
 msgstr "Kata sandi baru: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Masukkan lagi kata sandi baru: "
 
@@ -727,75 +732,75 @@ msgstr "%s: tidak dapat membuka kunci berkas\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Penggunaan: groupadd [-g gid [-o]] [-f] grup\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: kesalahan saat menambahkan entri grup yang baru\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: nama %s tidak unik\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: gid %u tidak unik\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: tidak mendapatkan gid yang unik\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: nama grup %s tidak sah\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: grup %s tidak sah\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O memerlukan NAMA=NILAI\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: tidak dapat menuliskan kembali berkas grup\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: tidak dapat menuliskan kembali berkas grup bayangan\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: tidak dapat mengunci berkas grup\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: tidak dapat membuka berkas grup\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: tidak dapat mengunci berkas grup bayangan\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: tidak dapat membuka berkas grup bayangan\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: grup %s telah ada\n"
@@ -805,32 +810,32 @@ msgstr "%s: grup %s telah ada\n"
 msgid "Usage: groupdel group\n"
 msgstr "Penggunaan: groupdel grup\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: kesalahan saat menghapus entri grup\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: kesalahan saat menghapus entri group bayangan\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: tidak dapat menghapus grup utama dari pengguna.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: grup %s tidak ada\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: grup %s merupakan sebuah grup NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s merupakan master NIS\n"
@@ -845,12 +850,12 @@ msgstr "Penggunaan: groupmod [-g gid [-o]] [-n nama] grup\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s tidak ditemukan dalam /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u bukan gid yang unik\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s bukan nama yang unik\n"
@@ -865,22 +870,21 @@ msgstr "Penggunaan: %s [-r] [-s] [grup [gbayangan]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Penggunaan: %s [-r] [-s] [grup]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Tidak"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s dan -r tidak kompatible\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: tidak dapat mengunci berkas %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: tidak dapat membuka berkas %s\n"
@@ -891,8 +895,8 @@ msgid "invalid group file entry\n"
 msgstr "entri berkas grup tidak sah\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "hapus baris `%s'? "
@@ -944,17 +948,17 @@ msgstr "hapus anggota administratif `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "grup bayangan %s: tak ada pengguna %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: tidak dapat memperbaharui berkas %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: berkas-berkas telah diperbaharui\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: tak ada perubahan\n"
@@ -984,7 +988,7 @@ msgstr "%s: tidak dapat membuka berkas grup banyangan\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: tidak dapat menghapus grup bayangan %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: tidak dapat memperbaharui entri bayangan untuk %s\n"
@@ -1096,17 +1100,17 @@ msgstr ""
 "\n"
 "Login time out setelah %d detik.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " pada `%.100s' dari `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " pada `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1115,84 +1119,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Login tidak tepat"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Perhatian: login dibolehkan setelah penguncian sementara.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Login terakhir: %s pada %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Login terakhir: %.19s pada %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " dari %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: tak ada basis data DBM pada sistem - tidak dilakukan tindakan\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: tidak dapat menimpa berkas %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: tidak dapat membukan berkas DBM untuk %s\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: permulaan dengan "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: kesalahan saat memecah baris \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "menambah rekor untuk nama "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: kesalahan saat menambah rekor untuk "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "ditambahkan %d entri, yang terpanjang adalah %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Penggunaan: %s [-vf] [-p|q|sp|sg] nama-berkas\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Penggunaan: %s [-vf] [-p|g|sp] nama-berkas\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Penggunaan: %s [-vf] [-p|g] nama-berkas\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1203,116 +1152,116 @@ msgstr "Penggunaan: newgrp [-] [grup]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Penggunaan: sg grup [[-c] perintah]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid tidak dikenal: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "GID tidak dikenal: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid tidak dikenal: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "GID tidak dikenal: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Maaf.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "terlalu banyak grup\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Penggunaan: %s [input]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: tidak dapat mengunci /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: tidak dapat mengunci berkas-berkas, coba lagi nanti\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: tidak dapat membuka berkas-berkas\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: baris %d: baris tidak sah\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr ""
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr ""
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr ""
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr ""
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr ""
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr ""
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr ""
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr ""
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Penggunaan: %s [-f|-s] [nama]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr ""
 "            %s [-x maks] [-n min] [-w peringatan] [-i tak-aktif] nama\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "            %s {-l|-u|-d|-S|-e} nama\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Kata sandi lama: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Kata sandi tidak tepat untuk `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1321,16 +1270,16 @@ msgstr ""
 "Masukkan password baru (minimim %d, maksimum %d karakter)\n"
 "Mohon gunakan kombinasi huruf besar, huruf kecil dan angka.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "kata sandi baru: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Coba lagi.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1339,149 +1288,144 @@ msgstr ""
 "\n"
 "Kata sandi lemah (masukkan lagi untuk tetap menggunakannya).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Kata sandi tidak sama; coba lagi.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Kata sandi untuk %s tidak dapat diganti.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Maaf, kata sandi untuk %s belum dapat diganti.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: kehabisan memori\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Tidak dapat menjalankan %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: repositori %s tidak didukung\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "Anda tidak boleh mengubah shell untuk %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Mengganti kata sandi untuk %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Kata sandi untuk %s tidak diubah.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Password telah diubah.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr ""
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr ""
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr ""
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr ""
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr ""
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr ""
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr ""
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr ""
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr ""
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr ""
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr ""
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr ""
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr ""
@@ -1490,31 +1434,31 @@ msgstr ""
 msgid "Sorry."
 msgstr "Maaf."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: mesti dijalankan dari sebuah terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: kesalahan %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Id tidak dikenal: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Anda tidak diperbolehkan untuk su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Masukkan password anda sendiri.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1523,7 +1467,7 @@ msgstr ""
 "%s: %s\n"
 "(Diabaikan)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Tak ada shell\n"
@@ -1567,375 +1511,380 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Memasuki Mode Pengelolaan Sistem\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr ""
 
-#: src/useradd.c:298
-#, c-format
-msgid "%s: unknown gid %s\n"
-msgstr ""
+#: src/useradd.c:289
+#, fuzzy, c-format
+msgid "%s: unknown GID %s\n"
+msgstr "%s: pengguna %s tak dikenal\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr ""
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr ""
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr ""
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr ""
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Penggunaan: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                    [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                    [-f tidak_aktif] [-e kadaluarsa]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                    [-p kata_sandi] nama\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "            useradd -D [-g grup] [-b base] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr ""
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr ""
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr ""
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: gid %u tidak unik\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr ""
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: tidak mendapatkan gid yang unik\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr ""
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr ""
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr ""
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr ""
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr ""
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr ""
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr ""
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr ""
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr ""
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr ""
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr ""
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Penggunaan: %s [-r] nama\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr ""
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr ""
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr ""
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr ""
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr ""
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr ""
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr ""
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr ""
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr ""
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr ""
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Penggunaan: %s\t[-u uid [-o]] [-g grup] [-G grup,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d home [-m]] [-s shell] [-c comment] [-l nama_baru]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f tidak_aktif] [-e kadaluarsa] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p kata_sandi] [-L|-U] nama\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr ""
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr ""
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr ""
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr ""
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr ""
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr ""
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr ""
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr ""
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr ""
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr ""
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr ""
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr ""
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr ""
 
@@ -1971,3 +1920,6 @@ msgstr ""
 "Penggunaan:\n"
 "`vipw' mengedit /etc/passwd     `vipw -s' mengedit /etc/shadow\n"
 "`vigr' mengedit /etc/group      `vigr -s' mengedit /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "uid tidak dikenal: %u\n"
index 1bee7798f60e1c589393527533c19cb37c8977f1..f2b5232226d0150f4b81fd0c29158de611fe8134 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index eb93095167a3053a27520cb37a8c2fcbb059807e..4cdccdab6aefa9b757cc2d174d035969948ba6d6 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -22,7 +22,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-04-17 21:57+0200\n"
 "Last-Translator: Danilo Piazzalunga <danilopiazza@libero.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -42,40 +42,40 @@ msgstr "Attenzione: gruppo «%s» sconosciuto\n"
 msgid "Warning: too many groups\n"
 msgstr "Attenzione: troppi gruppi\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "La password in uso è scaduta."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "La password in uso è inattiva."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Il login in uso è scaduto."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Contattare l'amministratore del sistema.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Scegliere una nuova password.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "La password in uso scadrà tra %ld giorni.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "La password in uso scadrà domani.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "La password in uso scade oggi.\n"
@@ -128,7 +128,7 @@ msgstr "Nessun messaggio di posta."
 msgid "You have mail."
 msgstr "C'è la solita posta."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Password troppo debole: %s.  "
@@ -188,7 +188,7 @@ msgstr ""
 "errore di configurazione: oggetto «%s» sconosciuto (avvisare "
 "l'amministratore)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Password: "
 
@@ -197,163 +197,173 @@ msgstr "Password: "
 msgid "%s's Password: "
 msgstr "Password di %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Uso: chage [-l] [-m GG_MIN] [-M GG_MAX] [-W AVVISO]\n"
-"           [-I INATTIVITÀ] [-E SCADENZA] [-d ULTIMO_GIORNO] UTENTE\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Inserire il nuovo valore o premere INVIO per quello predefinito\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Durata minima della password"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Durata massima della password"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Ultimo cambio della password (AAAA-MM-GG)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Avviso di scadenza della password"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Inattività della password"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Data di scadenza dell'account (AAAA-MM-GG)"
 
 #      "Last password change   .       .       .       .       : "
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Ultimo cambio della password                            : "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "mai\n"
 
 #      "Password expires       .       .       .       .       : "
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Scadenza della password                                 : "
 
 #      "Password inactive      .       .       .       .       : "
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Inattività della password                               : "
 
 #      "Account expires        .       .       .       .       .       : "
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Scadenza dell'account                                   : "
 
 #      "Minimum number of days between password change .       : %ld\n"
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Numero minimo di giorni tra i cambi di password         : %ld\n"
 
 #      "Maximum number of days between password change .       : %ld\n"
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Numero massimo di giorni tra i cambi di password        : %ld\n"
 
 #      "Number of days of warning before password expires      : %ld\n"
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Giorni di preavviso prima della scadenza della password : %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: non includere «l» con altri flag\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: permesso negato.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: Permesso negato.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: autenticazione PAM non riuscita\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: impossibile aprire il file delle password\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: utente «%s» sconosciuto\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: impossibile fare il lock del file delle shadow password"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: impossibile aprire il file delle shadow password"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Modifica delle informazioni sulla durata dell'account di %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: errore nel cambiare i campi\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: impossibile aggiornare il file delle password\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: impossibile aggiornare il file delle shadow password\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: impossibile riscrivere il file delle shadow password\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: impossibile riscrivere il file delle password\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: la chiamata PAM chauthok ha restituito un errore\n"
@@ -399,7 +409,7 @@ msgstr "Numero telefonico di casa"
 msgid "Other"
 msgstr "Altro"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: impossibile determinare il proprio nome utente.\n"
@@ -414,11 +424,6 @@ msgstr "%s: impossibile modificare l'utente «%s» sul client NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: «%s» è il NIS master per questo client.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Permesso negato.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -454,33 +459,33 @@ msgstr "%s: «%s» contiene caratteri non ammessi\n"
 msgid "%s: fields too long\n"
 msgstr "%s: lunghezza dei campi eccessiva\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Impossibile cambiare ID a root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 "Impossibile fare il lock del file delle password; riprovare più tardi.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Impossibile aprire il file delle password.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: impossibile trovare «%s» in /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Errore nell'aggiornare la voce nel file delle password.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Impossibile effettuare le modifiche al file delle password.\n"
@@ -490,7 +495,7 @@ msgstr "Impossibile effettuare le modifiche al file delle password.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Impossibile togliere il lock dal file delle password.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -509,53 +514,53 @@ msgstr ""
 "  -m, --md5             usa la cifratura MD5 anziché DES quando le\n"
 "                        password fornite non sono cifrate\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: impossibile fare il lock del file delle password\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: impossibile fare il lock del file shadow\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: impossibile aprire il file shadow\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: riga %d: riga troppo lunga\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: riga %d: manca la nuova password\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: riga %d: utente «%s» sconosciuto\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: riga %d: impossibile aggiornare la voce nel file delle password\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: rilevato un errore; le modifiche vengono ignorate\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: errore nell'aggiornare il file shadow\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: errore nell'aggiornare il file delle password\n"
@@ -594,12 +599,12 @@ msgstr "%s non è una shell valida.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Uso: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: attenzione: il bit SUID deve essere impostato a root.\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: utente sconosciuto\n"
@@ -639,24 +644,24 @@ msgstr ""
 "                        da LOGIN\n"
 
 # NdT: Vedere faillog(5) per il significato dei campi.
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Login       Errori   Massimo Ultimo accesso           Da\n"
 
 # NdT: La «s» indica l'unità di misura (secondi).
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds rimasti]"
 
 # NdT: La «s» indica l'unità di misura (secondi).
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds bloccato]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Utente «%s» sconosciuto\n"
@@ -696,7 +701,7 @@ msgstr "%s: l'opzione -A richiede le shadow password per i gruppi\n"
 msgid "Who are you?\n"
 msgstr "Chi sei?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "gruppo «%s» sconosciuto\n"
@@ -730,7 +735,7 @@ msgstr "Cambio della password del gruppo %s\n"
 msgid "New Password: "
 msgstr "Nuova password: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Reimmettere la nuova password: "
 
@@ -788,75 +793,75 @@ msgstr "%s: impossibile togliere il lock dal file\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Uso: groupadd [-g GID [-o]] [-f] GRUPPO\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: errore nell'aggiungere la nuova voce al file dei gruppi\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: il nome «%s» non è univoco\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: gid «%u» non univoco\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: impossibile ottenere un gid univoco\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s non è un nome di gruppo valido\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: gruppo «%s» non valido\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O richiede NOME=VALORE\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: impossibile riscrivere il file dei gruppi\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: impossibile riscrivere il file dei gruppi shadow\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: impossibile fare il lock del file dei gruppi\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: impossibile aprire il file dei gruppi\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: impossibile fare il lock del file dei gruppi shadow\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: impossibile aprire il file dei gruppi shadow\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: gruppo «%s» già esistente\n"
@@ -866,32 +871,32 @@ msgstr "%s: gruppo «%s» già esistente\n"
 msgid "Usage: groupdel group\n"
 msgstr "Uso: groupdel GRUPPO\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: errore nel rimuovere la voce dal file dei gruppi\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: errore nel rimuovere la voce dal file dei gruppi shadow\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: impossibile rimuovere il gruppo principale dell'utente.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: gruppo «%s» inesistente\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: il gruppo «%s» è un gruppo NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s è il NIS master\n"
@@ -906,12 +911,12 @@ msgstr "Uso: groupmod [-g GID [-o]] [-n NOME] GRUPPO\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: «%s» non trovato in /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u non è un gid univoco\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s non è un nome univoco\n"
@@ -926,22 +931,21 @@ msgstr "Uso: %s [-r] [-s] [GRUPPO [GSHADOW]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Uso: %s [-r] [-s] [GRUPPO]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "No"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s e -r sono incompatibili\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: impossibile fare il lock del file %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: impossibile aprire il file %s\n"
@@ -952,8 +956,8 @@ msgid "invalid group file entry\n"
 msgstr "voce non valida nel file dei gruppi\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "eliminare la riga «%s»? "
@@ -1005,17 +1009,17 @@ msgstr "rimuovere il membro amministrativo «%s»? "
 msgid "shadow group %s: no user %s\n"
 msgstr "gruppo shadow %s: nessun utente %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: impossibile aggiornare il file %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: i file sono stati aggiornati\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: nessuna modifica\n"
@@ -1045,7 +1049,7 @@ msgstr "%s: impossibile aprire il file dei gruppi shadow\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: impossibile rimuovere il gruppo shadow %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: impossibile aggiornare la voce relativa a %s nel file shadow\n"
@@ -1166,17 +1170,17 @@ msgstr ""
 "\n"
 "Login scaduto dopo %d secondi.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " su «%.100s» da «%.200s»"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " su «%.100s»"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1185,87 +1189,32 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Login non corretto"
 
 # NdT: Non è chiaro se login sia da tradurre con "accesso abilitato" o
 # "utente abilitato": il significato comunque è lo stesso.
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Attenzione: accesso di nuovo abilitato dopo una proibizione temporanea.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Ultimo accesso: %s su %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Ultimo accesso: %.19s su %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " da %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: database DBM inesistente; nessun'azione intrapresa\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: impossibile sovrascrivere il file %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: impossibile aprire i file DBM di %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: la riga che inizia con %.16s... è troppo lunga\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: errore nell'elaborare la riga «%s»\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "inserimento del record per %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: errore nell'aggiungere il record per %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "aggiunte %d voci; la più lunga era %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Uso: %s [-vf] [-p|g|sp|sg] FILE\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Uso: %s [-vf] [-p|g|sp] FILE\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Uso: %s [-vf] [-p|g] FILE\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1276,115 +1225,115 @@ msgstr "Uso: newgrp [-] [GRUPPO]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Uso: sg GRUPPO [[-c] COMANDO]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid «%u» sconosciuto\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "GID «%lu» sconosciuto\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid «%lu» sconosciuto\n"
+msgid "unknown GID: %lu\n"
+msgstr "GID «%lu» sconosciuto\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Spiacente.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "troppi gruppi\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Uso: %s [INPUT]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: impossibile fare il lock di /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: impossibile fare il lock dei file; riprovare più tardi\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: impossibile aprire i file\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: riga %d: riga non valida\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: riga %d: impossibile creare il nuovo GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: riga %d: impossibile creare il nuovo UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: riga %d: impossibile trovare l'utente %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: riga %d: impossibile aggiornare la password\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: riga %d: la chiamata mkdir ha restituito un errore\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: riga %d: impossibile aggiornare la voce\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: errore nell'aggiornare i file\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Uso: %s [-f|-s] [NOME]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "     %s [-x MAX] [-n MIN] [-w AVVISO] [-i INATT] NOME\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "     %s {-l|-u|-d|-S|-e} NOME\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Vecchia password: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Password sbagliata per «%s»\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1393,16 +1342,16 @@ msgstr ""
 "Inserire la nuova password (minimo %d caratteri, massimo %d)\n"
 "Utilizzare una combinazione di lettere maiuscole, minuscole e numeri.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nuova password: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Provare di nuovo.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1412,150 +1361,145 @@ msgstr ""
 "Attenzione: password troppo debole (inserirla di nuovo per usarla "
 "comunque).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Non corrispondono; provare di nuovo.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "La password di %s non può essere cambiata.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "La password di %s non può ancora essere cambiata.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: memoria esaurita\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: impossibile eseguire %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: repository %s non supportato\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr ""
 "%s: non è permesso vedere o cambiare le informazioni sulla password di %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Cambio della password di %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "La password di %s non è cambiata.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Password cambiata.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Uso: %s [-q] [-r] [-s] [PASSWD [SHADOW]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Uso: %s [-q] [-r] [-s] [PASSWD]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "voce non valida nel file delle password\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "voce duplicata nel file delle password\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "nome utente «%s» non valido\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "utente %s: nessun gruppo %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "utente %s: la directory %s non esiste\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "utente %s: il programma %s non esiste\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "voce non valida nel file delle shadow password\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "voce duplicata nel file delle shadow password\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "nessuna voce corrispondente nel file delle password\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "utente %s: l'ultimo cambio di password reca una data futura\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: impossibile fare il lock del file passwd\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: impossibile aprire il file passwd\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: impossibile rimuovere la voce relativa a %s dal file shadow\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: impossibile aggiornare la voce relativa a %s nel file passwd\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: impossibile aggiornare il file shadow\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: impossibile aggiornare il file passwd\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: impossibile aggiornare la voce relativa all'utente %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: impossibile eliminare il file delle shadow password\n"
@@ -1564,31 +1508,31 @@ msgstr "%s: impossibile eliminare il file delle shadow password\n"
 msgid "Sorry."
 msgstr "Spiacente."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: si deve avviare da un terminale\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: errore %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Id «%s» sconosciuto\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Non si è autorizzati a diventare %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Immettere la propria password)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1597,7 +1541,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorato)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Nessuna shell\n"
@@ -1641,211 +1585,211 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Avvio modalità manutenzione del sistema\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: argomento numerico «%s» non valido\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: gid «%s» sconosciuto\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: GID «%s» sconosciuto\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: gruppo «%s» sconosciuto\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: impossibile creare il nuovo file dei valori predefiniti\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: impossibile aprire il nuovo file dei valori predefiniti\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: rename: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: il gruppo «%s» è un gruppo NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: troppi gruppi specificati (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Uso: useradd [-u UID [-o]] [-g GRUPPO] [-G GRUPPO,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "             [-d HOME] [-s SHELL] [-c COMMENTO] [-m [-k MODELLO]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "             [-f INATTIVITÀ] [-e SCADENZA]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "             [-p PASSWORD] NOME\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "     useradd -D [-g GRUPPO] [-b BASE] [-s SHELL]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: errore nel fare il lock del file dei gruppi\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: errore nell'aprire il file dei gruppi\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: errore nel fare il lock del file dei gruppi shadow\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: errore nell'aprire il file dei gruppi shadow\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid «%u» non univoco\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: gid «%u» non univoco\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: impossibile ottenere un uid univoco\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: impossibile ottenere un gid univoco\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: directory di base «%s» non valida\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: commento «%s» non valido\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: home directory «%s» non valida\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: data «%s» non valida\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: le shadow password sono necessarie per -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: le shadow password sono necessarie per -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: campo «%s» non valido\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: shell «%s» non valida\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: nome utente «%s» non valido\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: impossibile riscrivere il file delle password\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: impossibile riscrivere il file delle shadow password\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: impossibile fare il lock del file delle password\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: impossibile aprire il file delle password\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: impossibile fare il lock del file delle shadow password\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: impossibile aprire il file delle shadow password\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: errore nell'aggiungere la nuova voce al file delle password\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 "%s: errore nell'aggiungere la nuova voce al file delle shadow password\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: impossibile creare la directory %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Il gruppo «mail» non esiste; lo spool di posta verrà creato con modo 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Impossibile creare lo spool di posta dell'utente %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: l'utente «%s» esiste già\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1853,173 +1797,178 @@ msgstr ""
 "%s: il gruppo «%s» esiste già; usare -g per aggiungere questo utente a tale "
 "gruppo.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: attenzione: CREATE_HOME non è supportata; usare -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Uso: %s [-r] NOME\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: errore nell'aggiornare la voce nel file dei gruppi\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: impossibile aprire il file dei gruppi\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: impossibile aprire il file dei gruppi shadow\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: errore nel rimuovere la voce dal file delle password\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: errore nel rimuovere la voce dal file delle shadow password\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: l'utente %s è attualmente collegato\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s non appartiene a %s, quindi non viene rimosso\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: attenzione: impossibile rimuovere "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: l'utente %s non esiste\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: l'utente %s è un utente NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: la directory %s non viene rimossa (verrebbe eliminata la home "
 "dell'utente %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: errore nel rimuovere la directory %s\n"
 
 # NdT: Lasicare i <Tab> invariati perché la riga sotto è indentata
 # con due <Tab>.
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Uso: %s\t[-u UID [-o]] [-g GRUPPO] [-G GRUPPO,...] \n"
 
 # NdT: Lasicare i <Tab> invariati perché la riga sotto è indentata
 # con due <Tab>.
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d HOME [-m]] [-s SHELL] [-c COMMENTO] [-l NUOVO_NOME]\n"
 
 # NdT: Questa riga viene indentata di due <Tab>.
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f INATTIVITÀ] [-e SCADENZA] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p PASSWORD] [-L|-U] NOME\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: memoria esaurita in update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: memoria esaurita in update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: non è stata fornita nessuna opzione\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: le shadow password sono necessarie per le opzioni -e e -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid «%lu» non univoco\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: errore nel cambio della voce nel file delle password\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: errore nel rimuovere la voce dal file delle password\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: errore nel rimuovere la voce dal file delle shadow password\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: la directory %s esiste già\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: impossibile creare %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: chown di %s non riuscito\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: impossibile rinominare la directory %s in %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: attenzione: %s non appartiene a %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "impossibile cambiare il proprietario della casella di posta"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "impossibile rinominare la casella di posta"
 
@@ -2056,3 +2005,12 @@ msgstr ""
 "Uso:\n"
 "«vipw» per modificare /etc/passwd    «vipw -s» per modificare /etc/shadow\n"
 "«vigr» per modificare /etc/group     «vigr -s» per modificare /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "uid «%u» sconosciuto\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid «%u» non univoco\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: impossibile ottenere un uid univoco\n"
index ed8c2ee29599c753a84646308478049cc9e8c508..afb6a96d12b052d13960375a679e19f48f751c09 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index 734af5200e99e7953a73a16ca5b33590a65abee3..830796f2182f9711af10e0c11590af5aea443749 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 1990827\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2000-06-18 120:22+0900\n"
 "Last-Translator: Yasuyuki Furukawa <furukawa@vinelinux.org>\n"
 "Language-Team: Japanese\n"
@@ -25,40 +25,40 @@ msgstr "警告: 不明なグループ %sです\n"
 msgid "Warning: too many groups\n"
 msgstr "警告: グループが多すぎます\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "あなたのパスワードは期限が切れました."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "あなたのパスワードはinactiveです."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "あなたのログインは期限が切れました."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  システム管理者と相談してください.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  新しいパスワードを選択してください.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "あなたのパスワードは%ld日中に期限が切れます.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "あなたのパスワードは明日に期限が切れます.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "あなたのパスワードは本日期限切れです.\n"
@@ -105,7 +105,7 @@ msgstr "メールはありません."
 msgid "You have mail."
 msgstr "メールがあります."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "不正なパスワードです: %s."
@@ -163,7 +163,7 @@ msgstr "設定情報用の空き容量が確保できませんでした.\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "設定エラー - 不明なアイテム '%s'です  (notify administrator)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "パスワード: "
 
@@ -172,158 +172,168 @@ msgstr "パスワード: "
 msgid "%s's Password: "
 msgstr "%sのパスワード: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"使用法: chage [-l] [-m 最小日数] [-M 最大日数] [-W 警告]\n"
-"              [-I 無効] [-E 期限切れ] [-d 最後日] ユーザ\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 "新しい値を入力してください, 標準設定値を利用するには リターンを押してくださ"
 "い.\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "最小パスワード変更不可能日数"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "最大パスワード変更可能日数"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "最後パスワード変更日付 (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "パスワード期限切れ警告日数"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "パスワード無効日数"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "アカウント期限切れ日付 (YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "最後パスワード変更日付 (YYYY-MM-DD)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "なし:\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "パスワード期限:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "パスワード無効:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "アカウント期限切れ:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: 他のフラグのため \"l\" オプションは含ませることができません\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: 権限がありません\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, fuzzy, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "バイバスによってパスワードを認証します.\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: パスワードファイルが開けません\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: 不明なユーザ %s です\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, fuzzy, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "シャドウ・パスワード・ファイルをロックできません\n"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, fuzzy, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: シャドウ・パスワード・ファイルを開けません\n"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "%sの期限情報を変更中\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: 項目変更でエラーが起こりました\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: パスワード・ファイルを更新しません\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: シャドウ・パスワード・ファイルを更新しません\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, fuzzy, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: シャドウ・パスワード・ファイルを削除できません\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: パスワード・ファイルを上書きできません\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, fuzzy, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: ファイルをロックできません\n"
@@ -367,7 +377,7 @@ msgstr "自宅電話番号"
 msgid "Other"
 msgstr "その他"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: あなたのユーザ名を判定できません.\n"
@@ -382,11 +392,6 @@ msgstr "%s: NISクライアント上でユーザ`%s'は変更できません.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s'がこのクライアント用のNISマスターです.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: 権限がありません\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -422,32 +427,32 @@ msgstr "%s: \"%s\" は不正な文字を含んでいます\n"
 msgid "%s: fields too long\n"
 msgstr "%s: 入力内容が長過ぎます\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "IDをrootへ変更できません.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "パスワード・ファイルをロックできません; 後でもう一度試してください.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "パスワード・ファイルを開けません.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %sは /etc/passwd中に見付かりません\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "パスワード入力の更新のエラーです.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "パスワード・ファイルの変更を確定(commit)できません.\n"
@@ -457,7 +462,7 @@ msgstr "パスワード・ファイルの変更を確定(commit)できません.
 msgid "Cannot unlock the password file.\n"
 msgstr "パスワード・ファイルをロック解除できません.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -469,53 +474,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: パスワードファイルをロックできません\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: シャドウ・ファイルをロックできません\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: シャドウ・ファイルを開けません\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: %d 行: 1行が長過ぎます\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: %d 行: 新規パスワードがありません\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: %d 行: 不明なユーザ %s です\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: %d 行: パスワード入力を更新できません\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: エラーが検出されました, 変更は無効になりました\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: シャドウ・ファイルの更新にエラーです\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: パスワード・ファイルの更新のエラーです\n"
@@ -554,12 +559,12 @@ msgstr "%sは不正なシェルです.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "使用法: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: 警告!  set-UID rootされてなくてはなりません!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: 不明なユーザです\n"
@@ -581,22 +586,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr ""
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr ""
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "不明なユーザです: %s\n"
@@ -636,7 +641,7 @@ msgstr "%s: シャドウ・グループ・パスワードが -Aに対して必
 msgid "Who are you?\n"
 msgstr "あなたは誰?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "不明なグループです: %s\n"
@@ -670,7 +675,7 @@ msgstr "%sグループのパスワードを変更\n"
 msgid "New Password: "
 msgstr "新規パスワード: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "新規パスワード再入力: "
 
@@ -728,75 +733,75 @@ msgstr "%s: ファイルをロックできません\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "使用法: groupadd [-g グループID [-o]] [-f] グループ\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: 新規グループエントリへ追加のエラーです\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: 名前 %s は重複しています\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: ユーザID %u が重複しています\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: 一意のグループIDを取得できません\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s は名前が重複しています\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: グループ %s は不適切です\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr ""
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: グループ・ファイルを開けません\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: シャドウ・グループ・ファイルが開けません\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, fuzzy, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: グループ・ファイルをロックできません\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, fuzzy, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: グループファイルを開けません\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, fuzzy, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: シャドウ・グループ・ファイルをロックできません\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, fuzzy, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: シャドウ・グループ・ファイルが開けません\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, fuzzy, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: ユーザ %s は存在します\n"
@@ -806,32 +811,32 @@ msgstr "%s: ユーザ %s は存在します\n"
 msgid "Usage: groupdel group\n"
 msgstr "使用法: groupdel グループ\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, fuzzy, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: グループ・エントリの更新のエラーです\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, fuzzy, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: シャドウ・パスワード・エントリ削除のエラーです\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, fuzzy, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: DBMグループ・エントリを更新できません\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: %sグループ は存在しません\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: %sグループは NIS のグループです\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s は NIS マスターです\n"
@@ -846,12 +851,12 @@ msgstr "使用法: groupmod [-g グループID [-o]] [-n 名前] グループ\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: /etc/groupに %s が見付かりません\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u はグループIDが重複しています\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s は名前が重複しています\n"
@@ -866,22 +871,21 @@ msgstr "使用法: %s [-r] [-s] [グループ [グループシャドウ]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "使用法: %s [-r] [-s] [グループ]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr ""
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr ""
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: ファイル %s をロックできません\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: ファイル %s を開けません\n"
@@ -892,8 +896,8 @@ msgid "invalid group file entry\n"
 msgstr "不正なグループ・ファイルのエントリです\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "`%s'行を削除しますか? "
@@ -945,17 +949,17 @@ msgstr "メンバー `%s' を削除しますか? "
 msgid "shadow group %s: no user %s\n"
 msgstr "グループ %s: ユーザ %s はいません\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, fuzzy, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: ファイル %s を開けません\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: ファイルは更新されました\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: 変更はありません\n"
@@ -985,7 +989,7 @@ msgstr "%s: シャドウ・グループ・ファイルが開けません\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: シャドウ・グループ %s を削除できません\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: %s のシャドウ・エントリを更新できません\n"
@@ -1093,17 +1097,17 @@ msgid ""
 "Login timed out after %d seconds.\n"
 msgstr ""
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr ""
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr ""
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1112,84 +1116,29 @@ msgstr ""
 "\n"
 "%s ログイン: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "ログインが違います"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "最近のログイン: %s on %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "最近のログイン: %.19s on %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " 場所 %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, fuzzy, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: ファイル %s を開けません\n"
-
-#: src/mkpasswd.c:251
-#, fuzzy, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: ファイル %s を開けません\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr ""
-
-#: src/mkpasswd.c:313
-#, fuzzy, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: ファイル更新のエラーです\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "%s: 新規グループエントリへ追加のエラーです\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: 新規グループエントリへ追加のエラーです\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr ""
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "使用法: %s [-vf] [-p|g|sp|sg] ファイル\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "使用法: %s [-vf] [-p|g|sp] ファイル\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "使用法: %s [-vf] [-p|g] ファイル\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1200,131 +1149,131 @@ msgstr "使用法: newgrp [-] [グループ]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "使用法: sg グループ [[-c] コマンド]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "ä¸\8dæ\98\8eã\81ªã\83¦ã\83¼ã\82¶IDã\81§ã\81\99: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "ä¸\8dæ\98\8eã\81ªã\82°ã\83«ã\83¼ã\83\97IDã\81§ã\81\99: %lu\n"
 
-#: src/newgrp.c:213
-#, c-format
-msgid "unknown gid: %lu\n"
+#: src/newgrp.c:212
+#, fuzzy, c-format
+msgid "unknown GID: %lu\n"
 msgstr "不明なグループIDです: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "申し訳ございません.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "グループが多すぎます\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "使用法: %s [入力]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: /etc/passwd をロックできません.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: ファイルをロックできません, 後でもう一度試してください\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: ファイルを開きます\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: %d行: 不正行です\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: %d行: グループIDが作成できません\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: %d行: ユーザIDが作成できません\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: %d行: ユーザ %s が見付かりません\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: %d行: パスワードを更新できません\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: %d行: mkdir に失敗しました\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: %d行: chown に失敗しました\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: %d行: エントリを更新できません\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: ファイル更新のエラーです\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "使用法: %s [-f|-s] [ユーザ名]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x 最大] [-n 最小] [-w 警告] [-i 無効] ユーザ名\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} ユーザ名\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "古いパスワード: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, fuzzy, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "%sのパスワードの変更\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
 "Please use a combination of upper and lower case letters and numbers.\n"
 msgstr ""
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "新しいパスワード: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "もう一度お願いします.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1334,149 +1283,144 @@ msgstr ""
 "警告: 脆いパスワードです (どうしても使う場合, もう一度これを入力してくださ"
 "い).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "一致しません: もう一度お願いします.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "%s のパスワードは変更できません.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "申し訳ありませんが, %s のパスワードはまだ変更することはできません.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: メモリがたりません\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: %sを実行できません"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: レポジトリ %s はサポートしていません\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "あなたは %s のパスワードを変更することはできません.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "%sのパスワードの変更\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "%sのパスワードは変更されません.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "パスワードは変更されました.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "使用: %s [-q] [-r] [-s] [パスワード [シャドウ]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "使用: %s [-q] [-r] [-s] [パスワード]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "パスワード・ファイル・エントリが不正です\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "パスワードエントリが重複しています\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "不正なユーザ名'%s' です\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "ユーザ %s: グループ %u がありません\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "ユーザ %s: ディレクトリ %s が存在しません\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "ユーザ %s: プログラム %s は存在しません\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "不正なシャドウ・パスワード・エントリです\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "シャドウ・パスワード・エントリが重複しています\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "パスワード・ファイル・エントリと一致しません\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "ユーザ %s: 最後のパスワード変更が未来にあります\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: パスワードファイルをロックできません\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: パスワードファイルを開けません\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: %sのシャドウ・エントリを削除できません\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: %sのパスワードエントリを更新できません\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: シャドウファイルを更新できません\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: パスワードファイルを更新できません\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: ユーザ %s のエントリを更新できません\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: シャドウ・パスワード・ファイルを削除できません\n"
@@ -1485,31 +1429,31 @@ msgstr "%s: シャドウ・パスワード・ファイルを削除できませ
 msgid "Sorry."
 msgstr "申し訳ございません."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: 端末上から実行してください\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: エラー %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "不明な IDです: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "あなたは su %s に認証できませんでした\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(あなた自身のパスワードを入力してください.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1518,7 +1462,7 @@ msgstr ""
 "%s: %s\n"
 "(無効)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "シェルがありません\n"
@@ -1559,211 +1503,211 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "システムメンテナンスモードへ入ります\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, fuzzy, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: コメント `%s' は不正です\n"
 
-#: src/useradd.c:298
-#, c-format
-msgid "%s: unknown gid %s\n"
+#: src/useradd.c:289
+#, fuzzy, c-format
+msgid "%s: unknown GID %s\n"
 msgstr "%s: 不明なグループID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: 不明なグループ %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, fuzzy, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: グループ・ファイルを開けません\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, fuzzy, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: グループ・ファイルを開けません\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, fuzzy, c-format
 msgid "%s: rename: %s"
 msgstr "%s: %sを作成できません"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, fuzzy, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: %sグループは NIS のグループです\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr ""
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "使用法: useradd [-u ユーザID [-o]] [-g グループ] [-G グループ,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                [-d ホーム] [-s シェル] [-c コメント]\n"
 "                [-m [-k テンプレート]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                [-f 無効日数] [-e 期限切れ日]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                [-p パスワード] ユーザ名\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "        useradd -D [-g グループ] [-b ベース] [-s シェル]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, fuzzy, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: グループ・ファイルをロックできません\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, fuzzy, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: グループ・ファイルを開けません\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, fuzzy, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: シャドウ・グループ・ファイルをロックできません\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, fuzzy, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: シャドウ・グループ・ファイルが開けません\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
 msgstr "%s: ユーザID %u が重複しています\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: ä¸\80æ\84\8fã\81®ã\83¦ã\83¼ã\82IDを取得できません\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: ä¸\80æ\84\8fã\81®ã\82°ã\83«ã\83¼ã\83\97IDを取得できません\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: ベースディレクトリ `%s' は不正です\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: コメント `%s' は不正です\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: ホームディレクトリ `%s' は不正です\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: 日付 `%s' は不正です\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, fuzzy, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: シャドウ・パスワードには -e および -e が必要です\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, fuzzy, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: シャドウ・パスワードには -e および -e が必要です\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, fuzzy, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: シェル `%s' は不正です\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: シェル `%s' は不正です\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, fuzzy, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "不正なユーザ名'%s' です\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, fuzzy, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: パスワード・ファイルを上書きできません\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, fuzzy, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: シャドウ・パスワード・ファイルを削除できません\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, fuzzy, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: パスワードファイルをロックできません\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, fuzzy, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: パスワードファイルが開けません\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, fuzzy, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "シャドウ・パスワード・ファイルをロックできません\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, fuzzy, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: シャドウ・パスワード・ファイルを開けません\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, fuzzy, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: パスワードDBMエントリ追加のエラーです\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, fuzzy, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: シャドウ・パスワード・エントリ削除のエラーです\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, fuzzy, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: ディレクトリ%sを %sへ名前変更できません\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s: ユーザ %s のエントリを更新できません\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: ユーザ %s は存在します\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1771,166 +1715,171 @@ msgstr ""
 "%s: グループ %s は存在します − もしこのユーザをそのグループへ追加するには, -"
 "g を利用してください.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "使用法: %s [-r] ユーザ名\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: グループ・エントリの更新のエラーです\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: グループ・ファイルを開けません\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: シャドウ・グループ・ファイルが開けません\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: パスワード・エントリ削除のエラーです\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: シャドウ・パスワード・エントリ削除のエラーです\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: ユーザ %s は現在ログイン中です\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %sは %sの所有ではありません, 削除は行いません\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, fuzzy, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: 警告: %s は%sの所有ではありません\n"
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: ユーザ %s は存在しません\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: ユーザ %s は NIS ユーザです\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: ディレクトリ%s の削除は行いません (would remove home of user %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: ディレクトリ %s の削除のエラーです\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "使用法: %s\t[-u ユーザID [-o]] [-g グループ] [-G グループ,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d ホーム [-m]] [-s シェル] [-c コメント] [-l 新規ユーザ名]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f 無効日数] [-e 期限切れ日] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p パスワード] [-L|-U] ユーザ名\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: update_group 中にメモリが不足しました\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: update_shdow 中にメモリが不足しました\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: ひとつもフラグが指定されていません\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: シャドウ・パスワードには -e および -e が必要です\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: ユーザID %lu が重複しています\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: パスワード・エントリ変更のエラーです\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: パスワード・エントリ削除のエラーです\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: シャドウ・パスワード・エントリ削除のエラーです\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: ディレクトリ %sは存在します\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: %sを 作成できません\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: %sをchownできません\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: ディレクトリ%sを %sへ名前変更できません\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: 警告: %s は%sの所有ではありません\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "mailboxの所有者の変更に失敗しました"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "mailboxの名前変更に失敗しました"
 
@@ -1966,3 +1915,12 @@ msgstr ""
 "使用法:\n"
 "`vipw' /etc/passwd を編集       `vipw -s' /etc/shadowを編集\n"
 "`vigr' /etc/groupを編集         `vigr -s' /etc/gshadowを編集\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "不明なユーザIDです: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: ユーザID %u が重複しています\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: 一意のユーザIDを取得できません\n"
index 0203e3b447349424734e41c99377d56e21e48ddd..18573674eab04d6fbb43680024d0d97cc8556c45 100644 (file)
Binary files a/po/ko.gmo and b/po/ko.gmo differ
index e5a7d35e61e987f42eece9bd9dd963a75eaf2b96..4f90f9de8b2d00484d04ccea71b9b6266424a3a8 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-04-19 16:02+0900\n"
 "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
 "Language-Team: Korean <ko@li.org>\n"
@@ -25,40 +25,40 @@ msgstr "경고: 알 수 없는 그룹(%s)\n"
 msgid "Warning: too many groups\n"
 msgstr "경고: 그룹수가 너무 많음\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "열쇠글 사용기한이 지났습니다."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "열쇠글 사용기간 초과로 사용할 수 없습니다."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "로그인 사용기한이 지났습니다."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  시스템 관리자와 상담하십시오.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  새로운 열쇠글를 선택하세요.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "열쇠글 사용기한이 %ld일에 끝납니다.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "열쇠글 사용기한이 내일 끝납니다.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "열쇠글 사용기한이 오늘 끝납니다.\n"
@@ -107,7 +107,7 @@ msgstr "메일 없음."
 msgid "You have mail."
 msgstr "메일이 있습니다."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "잘못된 열쇠글: %s.  "
@@ -167,7 +167,7 @@ msgstr ""
 "설정 오류 - 알 수 없는 항목 '%s'이(가) 있습니다 (관리자에게 알리기 바랍니"
 "다)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "열쇠글: "
 
@@ -176,156 +176,166 @@ msgstr "열쇠글: "
 msgid "%s's Password: "
 msgstr "%s의 열쇠글: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"사용법: chage [-l] [-m 최소일수] [-M 최대일수] [-W 경고일수]\n"
-"             [-I 무효일수] [-E 만료일수] [-d 마지막 변경일] 사용자명\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "새로운 값을 넣거나, 디폴트를 원하면 엔터를 치세요\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "최소 열쇠글 유효 기간"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "최대 열쇠글 유효 기간"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "마지막으로 열쇠글 바꾼 날 (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "열쇠글 사용만기일 초과 경고"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "열쇠글이 유효하지 않음"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "계정 사용일 만기 일(YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "마지막으로 열쇠글 바꾼 날\t\t\t\t\t:"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "불가\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "열쇠글 만기:\t\t\t\t\t:"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "열쇠글이 유효하지 않음\t\t\t\t\t:"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "계정 만기\t\t\t\t\t\t:"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "열쇠글 바꿔야 할 최소 날\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "열쇠글 바꿔야 할 최대 날\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "열쇠글이 만료되기 전에 경고하는 날\t\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: \"l\" 와 함께 다른 flags를 포함하지 말것\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: 접근권한 거부됨.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM 인증이 실패했습니다\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: 열쇠글 파일을 열 수 없습니다\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: 알 수 없는 사용자 %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: 셰도우 열쇠글 파일을 잠글 수 없습니다"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: 셰도우 열쇠글 파일을 열 수가 없습니다"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "%s의 유효 기간 정보를 바꿉니다\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: 항목을 바꾸는 도중 오류가 발생했습니다\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: 열쇠글 파일을 업데이트 할 수 없습니다\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: 셰도우 열쇠글 파일을 업데이트 할 수 없습니다\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: 셰도우 열쇠글 파일을 다시 작성할 수 없습니다\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: 열쇠글 파일을 다시 작성할 수 없습니다\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok가 실패했습니다\n"
@@ -370,7 +380,7 @@ msgstr "집 전화번호"
 msgid "Other"
 msgstr "기타"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: 사용자 이름을 인식할 수 없습니다.\n"
@@ -385,11 +395,6 @@ msgstr "%s: NIS 클라이언트에서 '%s'의 사용자 이름을 바꿀 수 없
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: 현재의 클라이언트에 대하여 '%s'이(가) NIS 마스터입니다.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: 접근권한 거부됨.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -425,32 +430,32 @@ msgstr "%s: \"%s\"에 쓸 수 없는 글자가 들어 있습니다\n"
 msgid "%s: fields too long\n"
 msgstr "%s: 입력범위가 너무 깁니다\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "루트로 아이디를 바꿀 수는 없습니다.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "열쇠글 파일을 lock할 수 없습니다;  나중에 다시 시도하십시오.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "열쇠글 파일을 열 수가 없습니다.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s이(가) /etc/passwd에 없습니다\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "열쇠글 입력을 업데이트하는 데 오류발생.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "열쇠글 파일 바꾸기를 처리할 수 없습니다.\n"
@@ -460,7 +465,7 @@ msgstr "열쇠글 파일 바꾸기를 처리할 수 없습니다.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "열쇠글 파일을 lock할 수 없습니다.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -479,53 +484,53 @@ msgstr ""
 "  -m, --md5\t\t열쇠글이 있으면 DES가 아니라 MD5 암호화를 사용합니다\n"
 "\t\t\t열쇠글을 암호화하지 않습니다\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: 열쇠글 파일을 lock할 수 없습니다\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: 셰도우 파일을 lock할 수 없습니다\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: 셰도우 파일을 열 수 없습니다\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: line %d: 너무 깁니다\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: line %d: 새로운 열쇠글이 없습니다\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: line %d: 알 수 없는 사용자 %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: line %d: 열쇠글 입력을 업데이트 할 수 없습니다\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: 오류 발생, 바뀐 사항은 무시합니다\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: 셰도우 파일을 업데이트하는 데 오류발생\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: 열쇠글 파일을 업데이트하는 데 오류발생\n"
@@ -564,12 +569,12 @@ msgstr "%s은(는) 쓸 수 없는 쉘입니다.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "사용법: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: 경고! 반드시 루트의 UID를 맞출것!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: 알 수 없는 사용자\n"
@@ -604,22 +609,22 @@ msgstr ""
 "션 \n"
 "                                사용) 관리합니다.\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "로그인       실패     최대값  최근                     사용\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%ld초 남았습니다]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%ld초 잠금]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "알 수 없는 사용자: %s\n"
@@ -659,7 +664,7 @@ msgstr "%s: -A에 대하여 셰도우 그룹 열쇠글이 필요합니다\n"
 msgid "Who are you?\n"
 msgstr "당신은 누구십니까?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "알 수 없는 그룹: %s\n"
@@ -693,7 +698,7 @@ msgstr "%s 그룹에 대하여 열쇠글을 변경중\n"
 msgid "New Password: "
 msgstr "새로운 열쇠글: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "새 열쇠글을 다시 입력하세요: "
 
@@ -751,75 +756,75 @@ msgstr "%s: 파일 잠금을 풀 수 없습니다\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "사용법: groupadd [-g GID [-o]] [-f] 그룹명\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: 새로운 그룹을 더하는 데 오류가 발생했습니다\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: %s 란 이름은 적절하지 않습니다\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: GID %u은(는) 유일한 아이디가 아닙니다\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: 유일한 GID를 얻을 수 없습니다\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s은(는) 쓸 수 있는 그룹 이름이 아닙니다\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: 유효하지 않은 그룹 %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: NAME=VALUE를 위해서는 -O 옵션이 필요합니다\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: 그룹파일을 다시 쓸 수 없습니다\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: 셰도우 그룹 파일을 다시 쓸 수 없습니다\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: 그룹 파일 잠금을 할 수 없습니다\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: 그룹 파일을 열 수가 없습니다\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: 셰도우 그룹 파일 잠금을 할 수 없습니다\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: 셰도우 그룹 파일을 열 수 없습니다\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: 그룹 %s이(가) 있습니다\n"
@@ -829,32 +834,32 @@ msgstr "%s: 그룹 %s이(가) 있습니다\n"
 msgid "Usage: groupdel group\n"
 msgstr "사용법: groupdel 그룹명\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: 그룹 입력값을 제거하는 데 오류가 발생했습니다\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: 셰도우 그룹 입력값을 지우는 데 오류가 발생했습니다\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: 사용자의 주요 그룹은 지울 수 없습니다.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: %s 그룹은 없습니다\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: %s 그룹은 NIS 그룹입니다\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s은(는) NIS 마스터입니다\n"
@@ -869,12 +874,12 @@ msgstr "사용법: groupmod [-g GID [-o]] [-n 이름] 그룹명\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s은(는) /etc/group에 없습니다\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u은(는) 유일한 GID가 아닙니다\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s은(는) 유일한 이름이 아닙니다\n"
@@ -889,22 +894,21 @@ msgstr "사용법: %s [-r] [-s] [그룹 [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "사용법: %s [-r] [-s] [그룹]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "아니오"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s 옵션과 -r 옵션은 동시에 쓸 수 없습니다\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: 파일 %s 잠금을 할 수 없습니다\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: %s 파일을 열 수 없습니다\n"
@@ -915,8 +919,8 @@ msgid "invalid group file entry\n"
 msgstr "유효하지 않은 그룹파일  입력값\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "'%s' 줄을 지울까요?"
@@ -968,17 +972,17 @@ msgstr "관리용 멤버 '%s'을(를) 지울까요? "
 msgid "shadow group %s: no user %s\n"
 msgstr "셰도우 그룹 %s: %s 란 사용자가 없습니다\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: %s 파일을 업데이트 할 수 없습니다\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: 파일이 업데이트 되었습니다\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: 바꾸지 않았습니다\n"
@@ -1008,7 +1012,7 @@ msgstr "%s: 셰도우 그룹 파일을 열 수 없습니다\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: 셰도우 그룹 %s을(를) 지울 수 없습니다\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: %s에 대한 셰도우 입력값을 업데이트 할 수 없습니다\n"
@@ -1126,17 +1130,17 @@ msgstr ""
 "\n"
 "%d 초 후에 로그인 시간이 완료됩니다.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " on `%.100s' from `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " on `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1145,86 +1149,29 @@ msgstr ""
 "\n"
 "%s 로그인: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "로그인이 맞지 않습니다"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "경고: 일시적으로 페쇄된뒤 다시 로그인할 수 있습니다.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "마지막 로그인: %s on %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "마지막 로그인: %.19s on %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " from %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-"%s: 시스템에 DBM 데이터베이스가 없습니다 - 따라서 어떻한 것도 실행되지 않았습"
-"니다\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: %s 파일을 덮어 쓸 수 없습니다\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: %s에 대한 DBM 파일을 열 수 없습니다\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: %.16s...로 시작하는 줄은 너무 깁니다\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: \"%s\" 줄을 파싱하는 데 오류가 발생했습니다\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "이름 %s에 대한 기록을 더합니다\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: %s에 대한 기록을 더하는 데 오류\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "%d개 입력값을 더했습니다, 가장 긴 것은 %d입니다\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "사용법: %s [-vf] [-p|sp|sg] 파일명\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "사용법: %s [-vf] [-p|g|sp] 파일명\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "사용법: %s [-vf] [-p|g] 파일명\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1235,115 +1182,115 @@ msgstr "사용법: newgrp [-] [그룹]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "사용법: sg group [[-c] 명령]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "알 수 없는 UID: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "알 수 없는 GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
+msgid "unknown GID: %lu\n"
 msgstr "알 수 없는 GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "죄송합니다.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "그룹들이 너무나 많습니다\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "사용법: %s [입력값]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: /etc/passwd 잠금을 할 수 없습니다.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: 파일 잠금을 할 수 없습니다, 나중에 다시 시도하세요\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: 파일을 열 수가 없습니다\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: %d번 줄: 유효하지 않은 라인\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: %d번 줄: GID를 만들 수 없습니다\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: %d번 줄: UID를 만들 수 없습니다\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: %d번 줄: %s 사용자가 없습니다\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: %d번 줄: 열쇠글을 업데이트 할 수 없습니다\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: %d번 줄: 디렉토리 만들기를 실패했습니다\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: %d번 줄: chown을 실패했습니다\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: %d번 줄: 입력값을 업데이트 할 수 없습니다\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: 파일을 업데이트 하는 데 오류가 발생했습니다\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "사용법: %s [-f|-s] [이름]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x 최대][-n 최소][-w 경고][-i 비활성화] 이름\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} 이름\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "예전 열쇠글: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "`%s'에 대하여 열쇠글이 맞지 않습니다\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1352,16 +1299,16 @@ msgstr ""
 "새로운 열쇠글을 입력하세요 (최소 %d, 최대 %d 글자)\n"
 "상하위 글자와 숫자를 조합하여 사용하세요.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "새로운 열쇠글: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "다시 시도하세요.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1370,149 +1317,144 @@ msgstr ""
 "\n"
 "경고: 보안성이 없는 열쇠글 (그래도 사용하길 원한다면 다시 입력하세요).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "입력값이 일치하지 않습니다; 다시 시도하세요.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "%s에 대한 열쇠글은 바꿀 수 없습니다.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "죄송합니다, %s에 대한 열쇠글은 아직 바꿀 수 없습니다.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: 메모리 부족\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: %s을(를) 실행할 수 없습니다"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: %s 저장소는 지원하지 않습니다\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: %s에 대한 열쇠글 정보를 보거나 바꿀 수 없습니다.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "%s에 대한 열쇠글을 변경중\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "%s에 대한 열쇠글을 바꾸지 않았습니다.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "열쇠글을 바꿨습니다.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "사용법: %s [-q] [-r] [-s] [열쇠글 [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "사용법: %s [-q] [-r] [-s] [열쇠글]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "유효하지 않은 열쇠글 파일 입력\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "열쇠글 입력값 복제\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "유효하지 않은 사용자명 '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "사용자 %s: 그룹이 없습니다 %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "사용자 %s: %s 디렉토리는 없습니다\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "사용자 %s: %s 프로그램은 없습니다\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "유효하지 않은 셰도우 열쇠글 파일 입력값\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "셰도우 열쇠글 입력값 복제\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "열쇠글 파일 입력값이 일치하지 않습니다\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "사용자 %s: 마지막 열쇠글 바꾼 때가 미래입니다\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: 열쇠글 파일 잠금을 할 수 없습니다\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: 열쇠글 파일을 열 수 없습니다\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: %s에 대한 셰도우 입력값을 지울 수 없습니다\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: %s에 대한 열쇠글 입력값을 업데이트 할 수 없습니다\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: 셰도우 파일을 업데이트 할 수 없습니다\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: 열쇠글 파일을 업데이트 할 수 없습니다\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: 사용자 %s에 대한 입력값을 업데이트 할 수 없습니다\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: 셰도우 열쇠글 파일을 지울 수 없습니다\n"
@@ -1521,31 +1463,31 @@ msgstr "%s: 셰도우 열쇠글 파일을 지울 수 없습니다\n"
 msgid "Sorry."
 msgstr "죄송합니다."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: 터미널에서 받드시 실행이 되어져야 합니다\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: 오류 %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "알 수 없는 아이디: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "당신은 su %s 에게 인증이 되지 않았습니다\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(자신의 열쇠글을 입력하세요.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1554,7 +1496,7 @@ msgstr ""
 "%s: %s\n"
 "(무시됨)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "쉘이 없음\n"
@@ -1598,210 +1540,210 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "시스템 정비 모드로 들어가고 있습니다\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: 유효하지 않은 숫자 입력값 `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
+msgid "%s: unknown GID %s\n"
 msgstr "%s: 알 수 없는 GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: 알 수 없는 그룹 %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: 새로운 디폴트 파일을 만들 수 없습니다\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: 새로운 디폴트 파일을 만들 수 없습니다\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: 이름 재 설정: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: `%s' 그룹은 NIS 그룹입니다.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: 너무나 많은 그룹이 명시되었습니다 (최대 %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "사용법: useradd [-u UID [-o]] [-g 그룹명] [-G 그룹,...]\n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "               [-d 홈디렉토리] [-s 쉘] [-c 주석] [-m [-k template]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "               [-f 비활성화] [-e 만기]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "               [-p 열쇠글] 이름\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "       useradd -D [-g 그룹명] [-b 초기디렉토리] [-s 쉘]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: 그룹 파일 잠금을 하는 데 오류가 발생했습니다\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: 그룹 파일을 여는 데 오류가 발생했습니다\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: 셰도우 그룹을 잠그는 데 오류가 발생했습니다\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: 그룹 파일을 여는 데 오류가 발생했습니다\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: UID %u은(는) 유일하지 않습니다\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: GID %u은(는) 유일한 아이디가 아닙니다\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: ì \81ì \88í\95\9c UID를 얻을 수 없습니다\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: ì\9c ì\9d¼í\95\9c GID를 얻을 수 없습니다\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: 기본 디렉토리 `%s'은(는) 잘못되었습니다\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: 주석 `%s'이(가) 틀렸습니다\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: 홈 디렉토리 `%s'은(는) 잘못되었습니다\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: 날짜 `%s'은(는) 잘못되었습니다\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: 셰도우 열쇠글이 -e 옵션을 요구합니다\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: 셰도우 열쇠글이 -f 옵션을 요구합니다\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: `%s' 부분은 유효하지 않습니다\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: 유효하지 않은 쉘 `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: 유효하지 않은 사용자명 `%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: 열쇠글 파일을 다시 쓸 수가 없습니다\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: 셰도우 열쇠글 파일을 다시 쓸 수가 없습니다\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: 열쇠글 파일 잠금을 할 수 없습니다\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: 열쇠글 파일을 열 수 없습니다\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: 셰도우 열쇠글 파일을 잠글 수 없습니다\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: 셰도우 열쇠글 파일을 열 수 없습니다\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: 새로운 열쇠글 입력값을 더하는 데 오류가 발생했습니다\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: 새로운 셰도우 열쇠글 입력값을 더하는 데 오류가 발생했습니다\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: 디렉토리 %s을(를) 만들 수 없습니다\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "\"mail\"이라는 이름의 그룹이 있습니다. 메일 스풀을 모드 0600으로 만듭니다.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "사용자 %s의 메일 스풀을 만들 수 없습니다.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: 사용자 %s이(가) 있습니다\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1809,168 +1751,173 @@ msgstr ""
 "%s: %s 그룹이 있습니다 - 이 사용자를 이 그룹에 더하려면, -g 옵션을 사용하십시"
 "오.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s:경고: CREATE_HOME은 지원되지 않습니다, -m 옵션을 대신 사용하세요.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "사용법: %s [-r] 이름\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: 그룹 입력값을 업데이트하는 데 오류가 발생했습니다\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: 그룹 파일을 열 수 없습니다\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: 셰도우 그룹 파일을 열 수 없습니다\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: 열쇠글 입력값을 지우는 데 오류가 발생했습니다\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: 셰도우 열쇠글 입력값을 지우는 데 오류가 발생했습니다\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: %s 사용자는 현재 로그인한 상태 입니다\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s은(는) %s의 소유가 아닙니다, 지우지 않습니다\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: 경고: 지울 수 없습니다 "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: 사용자 %s은(는) 없습니다\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: 사용자 %s은(는) NIS 사용자 입니다\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: 디렉토리 %s은(는) 지우지 않습니다 (사용자 %s의 홈 디렉토리가 지워질 것입"
 "니다)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: 디렉토리 %s을(를) 지우는 데 오류가 발생했습니다\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "사용법: %s\t[-u UID [-o]] [-g 그룹이름][-G 그룹,...]\n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d 홈 디렉토리 [-m]] [-s 쉘] [-c 주석] [-l 새_이름]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f 비활성화] [-e 만기] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p 열쇠글] [-L|-U] 이름\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: 업데이트_그룹에 메모리 부족\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: 업데이트_그룹셰도우에 메모리 부족\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: 주어진 flag가 없습니다\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: 셰도우 열쇠글이 -e 옵션과 -f 옵션을 요구합니다\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: UID %lu은(는) 유일하지 않습니다\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: 열쇠글 입력값을 변경하는 데 오류가 발생했습니다\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: 열쇠글 입력값을 제거하는 데 오류가 발생했습니다\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: 셰도우 열쇠글 입력값을 제거하는 데 오류가 발생했습니다\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: 디렉토리 %s은(는) 있습니다\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: %s을(를) 만들 수 없습니다\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: %s을(를) chown할 수 없습니다\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: 디렉토리 %s에서 %s(으)로 이름을 바꿀 수 없습니다\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: 경고: %s은(는) %s에 소유되어 있지 않습니다\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "메일박스 소유자를 바꾸는 데 실패했습니다"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "메일박스의 이름을 바꾸는 데 실패했습니다"
 
@@ -2007,3 +1954,12 @@ msgstr ""
 "                                    \n"
 "`vipw'는 /etc/passwd를 편집합니다   `vipw -s'는 /etc/shadow를 편집합니다\n"
 "`vigr'은 /etc/group을 편집합니다    `vigr -s'는 /etc/gshadow를 편집합니다\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "알 수 없는 UID: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: UID %u은(는) 유일하지 않습니다\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: 적절한 UID를 얻을 수 없습니다\n"
index b0c99eec56f72787b2c7dcf7441585136f14d1ab..9f46690ade9e11c6dd88b35c1ed312fbdc8698b4 100644 (file)
Binary files a/po/nb.gmo and b/po/nb.gmo differ
index 77dab5995eab40e3560d0efc4e5e3336cdc1204a..fc7a4be51231405440c9fdac4ed8355799082da7 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-06-03 21:42+0200\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Language-Team: Norwegian (Nynorsk) <i18n-nn@lister.ping.uio.no>\n"
@@ -33,40 +33,40 @@ msgstr "Advarsel: ukjent gruppe %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Advarsel: for mange grupper\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Ditt passord har utgått på dato."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Ditt passord er ikke aktivert."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Din login har utgått på dato."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Kontakt systemadministrator.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Velg et nytt passord.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Ditt passord vil utløpe om %ld dager.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Ditt passord vil utløpe i morgen.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Ditt passord vil utløpe i dag.\n"
@@ -114,7 +114,7 @@ msgstr "Ingen epost."
 msgid "You have mail."
 msgstr "Du har epost."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Dårlig passord: %s.  "
@@ -172,7 +172,7 @@ msgstr "Fant ikke plass til config-info.\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "feil med oppsettet - ukjent element «%s» (kontakt administrator)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Passord: "
 
@@ -181,157 +181,167 @@ msgstr "Passord: "
 msgid "%s's Password: "
 msgstr "%s's Passord: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Bruk: chage [-l] [-m min_dager] [-M max_dager] [-W varsel]\n"
-"            [-I inaktiv] [-E utgått/(expire)] [-d siste_dag] bruker/(user)\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 "Skriv inn de nye verdiene, eller trykk RETUR for å bruke forvalgte verdier\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimum gyldighetsperiode på passord"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maksimum gyldighetsperiode på passord"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Siste endring av passord (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Varsel når passordet er utgått på dato"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Inaktivt passord"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Konto utløper (YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Siste endring av passord (YYYY-MM-DD)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Aldri\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Passord utløper:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Passord er inaktivt:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Kontoen utløper:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: ikke inkluder \"l\" sammen med andre opsjoner\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: ikke tillatelse\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM autentifisering feilet\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: kan ikke åpne passordfila\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: ukjent bruker %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: kan ikke låse skyggepassordfila"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: kan ikke åpne skyggepassordfila"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Endre utløpsinformasjon for %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: feil ved endring i feltene\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: kan ikke oppdatere passordfila\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: kan ikke oppdatere skyggepassordfila\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: kan ikke gjenskrive skyggepassordfila\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: kan ikke gjenskrive passordfila\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok feilet\n"
@@ -375,7 +385,7 @@ msgstr "Hjemtelefon"
 msgid "Other"
 msgstr "Andre"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Kan ikke avgjøre ditt brukernavn.\n"
@@ -390,11 +400,6 @@ msgstr "%s: kan ikke endre bruker «%s» på NIS-klienten.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: «%s» er NIS-sjefen for denne klienten.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: ikke tillatelse\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -430,32 +435,32 @@ msgstr "%s: \"%s\" inneholder ugyldige tegn\n"
 msgid "%s: fields too long\n"
 msgstr "%s: feltene er for lange\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Kan ikke endre ID til root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Kan ikke låse passordfila; forsøk senere.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Kan ikke åpne passordfila.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s ikke funnet i /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Feil ved oppdatering av passord.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Kan ikke sende inn endringer til passordfila.\n"
@@ -465,7 +470,7 @@ msgstr "Kan ikke sende inn endringer til passordfila.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Kan ikke låse opp passordfila.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -477,53 +482,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: kan ikke låse passordfila\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: kan ikke låse shadow filen\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: kan ikke åpne shadow filen\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: linje %d: linje er for lang\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: linje %d: mangler nytt passord\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: linje %d: ukjent bruker %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: linje %d: kan ikke oppdatere passordlinja\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: feil funnet, endringer er ikke utført\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: feil ved oppdatering av skyggefilen\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: feil ved oppdatering av passordfilen\n"
@@ -562,12 +567,12 @@ msgstr "%s er et ugyldig skall.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Bruk: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: ADVARSEL!  Må være set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: ukjent bruker\n"
@@ -589,22 +594,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds igjen]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds lås]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Ukjent bruker: %s\n"
@@ -644,7 +649,7 @@ msgstr "%s: shadow gruppepassord kreves for -A\n"
 msgid "Who are you?\n"
 msgstr "Hvem er du?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "ukjent gruppe: %s\n"
@@ -678,7 +683,7 @@ msgstr "Endrer passordet for gruppa %s\n"
 msgid "New Password: "
 msgstr "Nytt passord: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Skriv inn passordet pånytt: "
 
@@ -736,75 +741,75 @@ msgstr "%s: kan ikke låse opp filen\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Bruk: groupadd [-g gid [-o]] [-f] gruppe\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: feil ved oppretting av ny gruppeoppføring\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: navn %s er ikke unikt\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: gid %u er ikke unikt\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: klarer ikke å få unik gid\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s er ikke et gyldig gruppenavn\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: ugyldig gruppe %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O krever NAME=VALUE\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: klarer ikke å omskrive gruppefila\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: klarer ikke å omskrive shadow-fila\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: klarer ikke å låse gruppefilen\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: klarer ikke å åpne gruppefilen\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: klarer ikke å låse shadow gruppefilen\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: klarer ikke å åpne shadow gruppefila\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: gruppen %s finnes allerede\n"
@@ -814,32 +819,32 @@ msgstr "%s: gruppen %s finnes allerede\n"
 msgid "Usage: groupdel group\n"
 msgstr "Bruk: groupdel gruppe\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: feil ved fjerning av gruppeoppføring\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: feil ved sletting av shadow gruppe oppføring\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: kan ikke fjerne brukerens primærgruppe.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: gruppen %s finnes ikke\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: gruppen %s er en NIS gruppe\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s er NIS sjefen\n"
@@ -854,12 +859,12 @@ msgstr "Bruk: groupmod [-g gid [-o]] [-n navn] gruppe\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s ikke funnet i /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u er ikke en entydig gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s er ikke et entydig navn\n"
@@ -874,22 +879,21 @@ msgstr "Bruk: %s [-r] [-s] [gruppe [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Bruk: %s [-r] [-s] [gruppe]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nei"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s og -r kan ikke brukes samtidig\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: kan ikke låse filen %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: kan ikke åpne filen %s\n"
@@ -900,8 +904,8 @@ msgid "invalid group file entry\n"
 msgstr "ugyldig oppføring i gruppefila\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "slett linje `%s'? "
@@ -953,17 +957,17 @@ msgstr "slett administrativt medlem «%s» ?"
 msgid "shadow group %s: no user %s\n"
 msgstr "shadow gruppe %s: ingen bruker %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: kan ikke oppdatere fila %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: filene har blitt oppdatert\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: ingen endringer\n"
@@ -993,7 +997,7 @@ msgstr "%s: kan ikke åpne shadow-gruppefila\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: kan ikke fjerne shadow-gruppe %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: kan ikke oppdatere shadow-oppføringen for %s\n"
@@ -1105,17 +1109,17 @@ msgstr ""
 "\n"
 "Innlogging avbrutt på tid etter %d sekunder.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " på `%.100s' fra `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " på `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1124,84 +1128,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Ugyldig innlogging"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Advarsel: innlogging reaktivert etter midlertidig stenging.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Forrige login: %s på %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Forrige login: %.19s på %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " fra %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: ingen DBM-database på systemet - ingenting gjort\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: kan ikke overskrive %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: kan ikke åpne DBM filene for %s\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: starten med "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: feil under tolking av linje «%s»\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "legger til post for navn "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: feil under innlegging av post for "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "la til %d oppføringer, lengste var %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Bruk: %s [-vf] [-p|g|sp|sg] file\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Bruk: %s [-vf] [-p|g|sp] file\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Bruk: %s [-vf] [-p|g] file\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1212,115 +1161,115 @@ msgstr "Bruk: newgrp [-] [gruppe]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Bruk: sg group [[-c] command]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "ukjent uid: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "ukjent GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "ukjent gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "ukjent GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Beklager.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "For mange grupper\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Bruk: %s [input]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: kan ikke låse /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: kan ikke låse filene, prøv igjen senere\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: kan ikke åpne filer\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: linje %d: ugyldig linje\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: linje %d: kan ikke opprette GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: linje %d: kan ikke opprette UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: linje %d: kan ikke finne bruker %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: linje %d: kan ikke oppdatere passord\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: linje %d: mkdir feilet\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: linje %d: chown feilet\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: linje %d: kan ikke oppdatere oppføring\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: feil ved oppdatering av filer\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Bruk: %s [-f|-s] [navn]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "      %s [-x max] [-n min] [-w advar] [-i inakt] navn\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "      %s {-l|-u|-d|-S|-e} navn\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Gammelt passord: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Feil passord for «%s»\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1329,16 +1278,16 @@ msgstr ""
 "Skriv inn det nye passordet (minst %d, høyst %d tegn)\n"
 "Bruk en kombinasjon av store og små bokstaver, og tall.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nytt passord: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Prøv igjen.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1347,149 +1296,144 @@ msgstr ""
 "\n"
 "Advarsel: svakt passord (skriv det inn igjen for å bruke det likevel).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Passordene var ikke like, prøv igjen.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Passordet for %s kan ikke endres.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Passordet for %s kan ikke endres ennå.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: slapp opp for minne\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Kan ikke utføre %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: ikke støtte for lager %s\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "Du kan ikke endre skall til %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Endrer passordet til %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Passordet for %s er uendret.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Passordet er endret.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Bruk: %s [-q] [-r] [-s] [passord [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Bruk: %s [-q] [-r] [-s] [passord]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "ugyldig oppføring i passordfila\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "duplisert oppføring i passordfila\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "ugyldig brukernavn '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "bruker %s: ingen gruppe %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "bruker %s: mappe %s finnes ikke\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "bruker %s: programmet %s finnes ikke\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "ugyldig oppføring i shadow-passordfila\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "duplisert oppføring i shadow-passordfila\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "fant ingen tilsvarende oppføring i passordfila\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "bruker %s: seneste passordendring i fremtiden\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: klarte ikke å låse passordfila\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: klarte ikke å åpne passordfila\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: klarte ikke å fjerne shadow-oppføring for %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: klarer ikke å endre passord-oppføringen for %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: klarer ikke å oppdatere shadow-fila\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: klarer ikke å oppdatere passordfila\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: klarer ikke å oppdatere oppføring for bruker %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: kan ikke slette shadow-passordfila\n"
@@ -1498,31 +1442,31 @@ msgstr "%s: kan ikke slette shadow-passordfila\n"
 msgid "Sorry."
 msgstr "Beklager."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: må kjøres fra en terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: feil %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Ukjent id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Du har ikke adgang til å su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Oppgi ditt eget passord.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1531,7 +1475,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorert)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Mangler skall\n"
@@ -1575,209 +1519,209 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Starter systemvedlikeholds-modus\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: ugyldig numerisk argument `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: ukjent gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: ukjent GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: ukjent gruppe %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: klarer ikke å opprette ny «defaults»-fil\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: klarer ikke å åpne ny «defaults»-fil\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: gi nytt navn: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: gruppe `%s' er en NIS gruppe.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: for mange grupper spesifisert (maks %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Bruk: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "              [-d hjem] [-s skall] [-c kommentar] [-m [-k mal]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "              [-f inaktiv] [-e utgå ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "              [-p passord] navn\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "      useradd -D [-g gruppe] [-b base] [-s skall]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: feil ved låsing av gruppefila\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: feil ved åpning av gruppefila\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: feil ved låsing av shadow-gruppefila\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: feil ved åpning av shadow-gruppefila\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u er ikke unik\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: gid %u er ikke unikt\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: kan ikke finne unikt uid\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: klarer ikke å få unik gid\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: ugyldig basismappe `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: ugyldig kommentar `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: ugyldig hjemmemappe `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: ugyldig dato `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: shadow-passord kreves for -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: shadow-passord kreves for -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: ugyldig felt `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: ugyldig skall `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: ugyldig brukernavn '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: kan ikke skrive passordfila på nytt\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: kan ikke skrive shadow-passordfila på nytt\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: klarte ikke å låse passordfila\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: klarte ikke å åpne passordfila\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: klarte ikke å låse shadow-passordfila\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: klarte ikke å åpne shadow-passordfila\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: feil ved innlegging av ny passord-oppføring\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: feil ved innlegging av ny shadow passord-oppføring\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: kan ikke opprette mappa %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s: klarer ikke å oppdatere oppføring for bruker %s\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: bruker %s finnes\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1785,167 +1729,172 @@ msgstr ""
 "%s: gruppen %s finnes - hvis du ønsker å legge til denne brukeren til denne "
 "gruppen, bruk -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: advarsel: CREATE_HOME ikke støttet, bruk -m istedenfor.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Bruk: %s [-r] navn\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: feil ved oppdatering av gruppe-oppføring\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: kan ikke åpne gruppefila\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: kan ikke åpne shadow-gruppefila\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: feil ved sletting av passord-oppføring\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: feil ved sletting av shadow passordoppføring\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: brukeren %s er pålogget\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s ikke eid av %s, ikke fjernet\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: advarsel: kan ikke fjerne "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: bruker %s finnes ikke\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: bruker %s er ikke en NIS bruker\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: fjerner ikke mappe %s (det ville fjerne hjemmemappa til bruker %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: feil ved fjerning av mappe %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Bruk: %s\t[-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d hjem [-m]] [-s skall] [-c kommentar] [-l nytt_navn]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, fuzzy, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inaktiv] [-e utgå ] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p passord] [-L|-U] navn\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: slapp opp for minne i update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: slapp opp for minne i update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: ingen flagg oppgitt\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: shadow-passord kreves for -e og -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu er ikke unik\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: feil ved endring av passordoppføring\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: feil ved sletting av passordoppføring\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: feil ved sletting av shadow passord-oppføring\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: mappa %s finnes\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: kan ikke lage %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: kan ikke chown %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: kunne ikke endre navn på mappa %s til %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: advarsel: %s er ikke eid av %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "klarte ikke å endre eier av mailbox"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "klarte ikke å endre navn på mailbox"
 
@@ -1981,3 +1930,12 @@ msgstr ""
 "Bruk:\n"
 "«vipw» redigerer /etc/passwd        «vipw -s» redigerer /etc/shadow\n"
 "«vigr» redigerer /etc/group         «vigr -s» redigerer /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "ukjent uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid %u er ikke unik\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: kan ikke finne unikt uid\n"
index 5c8b2c3836117357a035e55c7606a83c62890563..ee51413a4df85c351a9775ff6ee68db7a94455b6 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index 0efe5c608893fc344d261ec977c770de76c68f2b..ec6b78606bfcd4e179f3f189dc607e5a97a0efd1 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-04-24 15:38+0100\n"
 "Last-Translator: Bart Cornelis <cobaco@linux.be>\n"
 "Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
@@ -24,40 +24,40 @@ msgstr "Waarschuwing: onbekende groep %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Waarschuwing: teveel groepen\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Uw wachtwoord is vervallen."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Uw wachtwoord is niet actief."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Uw aanmelding is vervallen."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  U dient contact op te nemen met de systeembeheerder.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr " U dient een nieuw wachtwoord te kiezen.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Uw wachtwoord vervalt binnen %ld dagen.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Uw wachtwoord vervalt morgen.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Uw wachtwoord vervalt vandaag.\n"
@@ -109,7 +109,7 @@ msgstr "Geen e-mails"
 msgid "You have mail."
 msgstr "U heeft e-mail."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Slecht wachtwoord: %s.  "
@@ -168,7 +168,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "configuratiefout - onbekend item '%s' (waarschuw een systeembeheerder)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Wachtwoord: "
 
@@ -177,159 +177,169 @@ msgstr "Wachtwoord: "
 msgid "%s's Password: "
 msgstr "Wachtwoord van %s:"
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Gebruik: chage [-l] [-m min_dagen] [-M max_dagen] [-W waarschuwing]\n"
-"               [-I niet actief] [-E vervalt] [-d laatste_dag] gebruiker\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 "U dient de nieuwe waarde in te voeren, druk 'enter' voor de standaardwaarde\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimumleeftijd voor wachtwoord"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maximumleeftijd voor wachtwoord"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Laatste wachtwoordverandering (JJJJ-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Waarschuwing voor wachtwoordverval"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Wachtwoord niet actief"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Vervaldatum van account (JJJJ-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Laatste wachtwoord-verandering\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "nooit\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Wachtwoord vervalt\t\t\t\t\t:"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Wachtwoord niet actief\t\t\t\t\t:"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Account vervalt\t\t\t\t\t\t:"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Minimaal aantal dagen tussen wachtwoord-wijzigingen\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Maximale aantal dagen tussen wachtwoordwijzigingen\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 "Aantal dagen voor gewaarschuwd wordt dat het wachtwoord dreigt te vervallen"
 "\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: gebruik 'l' niet samen met andere vlaggen\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: toegang geweigerd.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM-authenticatie is mislukt\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: kan wachtwoordbestand niet openen\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: onbekende gebruiker %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: kan schaduw-wachtwoordenbestand niet vergrendelen"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: kan schaduw-wachtwoordenbestand niet openen"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Verouderingsinformatie voor %s wordt aangepast\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: fout bij het aanpassen van de velden\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: kan wachtwoordbestand niet bijwerken\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: kan schaduwwachtwoordbestand niet bijwerken\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: kan het schaduwwachtwoordbestand niet herschrijven\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: kan het wachtwoordbestand niet herschrijven\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM-chauthtok is mislukt\n"
@@ -374,7 +384,7 @@ msgstr "Telefoon thuis"
 msgid "Other"
 msgstr "Varia"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Kan uw gebruikersnaam niet bepalen.\n"
@@ -389,11 +399,6 @@ msgstr "%s: kan gebruiker '%s' niet veranderen op NIS-client.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: '%s' is the NIS-master voor deze client.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: toegang geweigerd.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -429,34 +434,34 @@ msgstr "%s: '%s' bevat illegale karakters\n"
 msgid "%s: fields too long\n"
 msgstr "%s: velden zijn te lang\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Kan ID niet veranderen naar root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 "Kan het wachtwoordbestand niet vergrendelen; u kunt best later nog eens "
 "proberen.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Kan het wachtwoordbestand niet openen.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s is niet gevonden in /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Fout tijdens het bijwerken van de wachtwoordingang.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Kan de aanpassingen aan het wachtwoordbestand niet vastleggen.\n"
@@ -466,7 +471,7 @@ msgstr "Kan de aanpassingen aan het wachtwoordbestand niet vastleggen.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Kan het wachtwoordbestand niet ontgrendelen.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -485,53 +490,53 @@ msgstr ""
 "  -m, --md5\t\tmaak gebruik van MD5-versleuteling i.p.v. DES wanneer\n"
 "\t\t\topgegeven wachtwoorden niet versleutelt zijn\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: kan wachtwoordbestand niet vergrendelen\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: kan het 'schadow'-bestand niet vergrendelen\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: kan het schaduwbestand niet openen\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: op regel %d: regel is te lang\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: regel %d: nieuw wachtwoord ontbreekt\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: regel %d: onbekende gebruiker %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: regel %d: kan wachtwoordingang niet bijwerken\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: fouten gedetecteerd, aanpassingen genegeerd\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: fout tijdens bijwerken schaduwbestand\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: fout tijdens bijwerken van het wachtwoordbestand\n"
@@ -570,12 +575,12 @@ msgstr "%s is geen geldige shell.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Gebruik: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: WAARSCHUWING! Dient set-UID root ingesteld te zijn!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: onbekende gebruiker\n"
@@ -612,22 +617,22 @@ msgstr ""
 "enkel\n"
 "\t\t\t\tvoor gebruiker LOGIN\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Gebruiker Missingen Maximum Laatste          Op\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds over]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds slot]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Onbekende gebruiker %s\n"
@@ -667,7 +672,7 @@ msgstr "%s: schaduw groepwachtwoorden zijn vereist voor -A\n"
 msgid "Who are you?\n"
 msgstr "Wie bent u?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "onbekende groep: %s\n"
@@ -701,7 +706,7 @@ msgstr "Het wachtwoord voor groep %s wordt veranderd\n"
 msgid "New Password: "
 msgstr "Nieuw wachtwoord:"
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Nieuw wachtwoord bevestigen:"
 
@@ -759,75 +764,75 @@ msgstr "%s: kan bestand niet ontgrendelen\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Gebruik: groupadd [-g gid [-o]] [-f] groep\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: fout tijdens toevoegen nieuwe groepingang\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: naam %s is niet uniek\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: gid %u is niet uniek\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: kan geen unieke gid verkrijgen\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s is geen geldige groepsnaam\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: ongeldige groep %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O vereist NAAM=WAARDE\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: kan groepbestand niet herschrijven\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: kan schaduwgroepbestand niet herschrijven\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: kan groepbestand niet vergrendelen\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: kan groepbestand niet openen\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: kan schaduwgroepbestand niet vergrendelen\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: kan schaduwgroepbestand niet openen\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: groep %s bestaat reeds\n"
@@ -837,32 +842,32 @@ msgstr "%s: groep %s bestaat reeds\n"
 msgid "Usage: groupdel group\n"
 msgstr "Gebruik: groupdel groep\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: fout bij het verwijderen van de groepingang\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: fout tijdens het verwijderen van de schaduwgroepingang\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: kan de primaire groep van een gebruiker niet verwijderen.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: groep %s bestaan niet\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: groep %s is een NIS-groep\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s is de NIS-master\n"
@@ -877,12 +882,12 @@ msgstr "Gebruik: groupmod [-g gid [-o]] [-n naam] groep\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s is niet gevonden in /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u is geen unieke gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s is geen unieke naam\n"
@@ -897,22 +902,21 @@ msgstr "Gebruik: %s [-r] [-s] [groep [gshaduw]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Gebruik: %s [-r] [-s] [groep]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nee"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s en -r zijn niet compatibel\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: kan bestand %s niet vergrendelen\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: kan bestand %s niet openen\n"
@@ -923,8 +927,8 @@ msgid "invalid group file entry\n"
 msgstr "ongeldige ingang in het groepbestand\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "regel '%s' verwijderen?"
@@ -976,17 +980,17 @@ msgstr "administratieve gebruiker '%s' verwijderen?"
 msgid "shadow group %s: no user %s\n"
 msgstr "schaduwgroep %s: geen gebruiker %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: kan bestand %s niet bijwerken\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: de bestanden zijn bijgewerkt\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: geen aanpassingen\n"
@@ -1016,7 +1020,7 @@ msgstr "%s: kan schaduwgroepbestand niet openen\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: kan schaduwgroep %s niet verwijderen\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: kan schaduwingang voor %s niet bijwerken\n"
@@ -1134,17 +1138,17 @@ msgstr ""
 "\n"
 "Aanmelding is na %d seconden verlopen.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " om `%.100s' vanaf `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " om `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1153,84 +1157,29 @@ msgstr ""
 "\n"
 "%s gebruikersnaam: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Gebruikersnaam onjuist"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Waarschuwing: aanmelden gereactiveerd na tijdelijke buitensluiting.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Laatst aangemeld: %s om %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Laatst aangemeld: %.19s om %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " vanaf %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: geen DBM-database op systeem - geen actie uitgevoerd\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: kan bestand %s niet overschrijven\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: kan DBM-bestanden niet openen voor %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: de regel die begint met %.16s... is te lang\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: fout tijdens het ontleden van regel '%s'\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "record voor naam '%s' wordt toegevoegd\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: fout tijdens toevoegen record voor '%s'\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "%d ingangen toegevoegd, langste was %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Gebruik: %s [-vf] [-p|g|sp|sg] bestand\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Gebruik: %s [-vf] [-p|g|sp] bestand\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Gebruik: %s [-vf] [-p|g] bestand\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1241,115 +1190,115 @@ msgstr "Gebruik: newgrp [-] [groep]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Gebruik: sg groep [[-c] commando]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "onbekende uid: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "onbekende GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "onbekende gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "onbekende GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Sorry.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "teveel groepen\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Gebruik: %s [invoer]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: kan /etc/passwd niet vergrendelen.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: kan bestanden niet vergrendelen, probeer dit later nog eens\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: kan bestanden niet openen\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: regel %d: ongeldige regel\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: regel %d: kan geen GID aanmaken\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: regel %d: kan geen UID aanmaken\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: regel %d: kan gebruiker %s niet vinden\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: regel %d: kan wachtwoord niet bijwerken\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: regel %d: mkdir is mislukt\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: regel %d: chown is mislukt\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: regel %d: kan ingang niet bijwerken\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: fout tijdens bijwerken bestanden\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Gebruik: %s [-f|-s] [naam]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "         %s [-x max] [-n min] [-w waarschuwing] [-i inact] naam\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "         %s {-l|-u|-d|-S|-e} naam\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Oud wachtwoord: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Onjuist wachtwoord voor '%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1359,16 +1308,16 @@ msgstr ""
 "Dit dient te bestaan uit een combinatie van grote letters, kleine letters en "
 "cijfers.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nieuw wachtwoord:"
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Probeer het nog eens.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1378,149 +1327,144 @@ msgstr ""
 "Waarschuwing: zwak wachtwoord (voer het nogmaals in om het toch te "
 "gebruiken).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Ze komen niet overeen; probeer het nog eens.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Het wachtwoord voor %s kan niet veranderd worden.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Sorry, het wachtwoord voor %s kan nog niet veranderd worden.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: geen geheugen over\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Kan %s niet uitvoeren"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: opslagplaats %s wordt niet ondersteund\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: U mag het wachtwoord van %s niet aanpassen.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Wachtwoord van %s wordt veranderd\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Het wachtwoord voor %s is niet veranderd.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Wachtwoord veranderd\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Gebruik: %s [-q] [-r] [-s] [wachtwoord [shaduw]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Gebruik: %s [-q] [-r] [-s] [wachtwoord]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "ongeldige ingang in het wachtwoordbestand\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "dubbele wachtwoordingang\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "ongeldige gebruikersnaam '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "gebruiker %s: geen groep %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "gebruiker %s: map %s bestaat niet\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "gebruiker %s: programma %s bestaat niet\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "ongeldige ingang in het schaduwwachtwoordbestand\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "dubbele schaduwwachtwoordingang\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "geen overeenkomende ingang in het wachtwoordbestand\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "gebruiker %s: laatste wachtwoordverandering is in de toekomst\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: kan 'passwd'-bestand niet vergrendelen\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: kan 'passwd'-bestand niet openen\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: kan schaduwingang voor %s niet verwijderen\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: kan 'passwd'-ingang voor %s niet bijwerken\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: kan schaduwbestand niet bijwerken\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: kan 'passwd'-bestand niet bijwerken\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: kan ingang voor gebruiker %s niet bijwerken\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: kan schaduwwachtwoordbestand niet verwijderen\n"
@@ -1529,31 +1473,31 @@ msgstr "%s: kan schaduwwachtwoordbestand niet verwijderen\n"
 msgid "Sorry."
 msgstr "Sorry."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: dient uitgevoerd te worden vanaf een terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: fout %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Onbekende id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "U heeft geen authorisatie om su %s uit te voeren\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(U dient uw eigen wachtwoord in te voeren)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1562,7 +1506,7 @@ msgstr ""
 "%s: %s\n"
 "(Genegeerd)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Geen shell\n"
@@ -1606,213 +1550,213 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Systeemonderhoudsmodus wordt opgestart\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: ongeldig numeriek argument '%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: onbekende gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: onbekende GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: onbekende groep %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: kan geen nieuw standaardwaardenbestand aanmaken\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: kan het nieuwe standaardwaardenbestand niet openen\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: hernoemen: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: groep '%s' is een NIS-groep.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: teveel groepen gespecificeerd (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Gebruik: useradd [-u uid [-o]] [-g groep] [-G groep,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                 [-d thuismap] [-s shell] [-c commentaar] [-m [-k "
 "sjabloon]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                 [-f niet actief] [-e vervalt ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                 [-p wachtwoord] naam\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "         useradd -D [-g groep] [-b basis] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: fout tijdens vergrendelen groepbestand\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: fout tijdens openen groepbestand\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: fout tijdens vergrendelen schaduwgroepbestand\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: fout tijdens openen schaduwgroepbestand\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u is niet uniek\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: gid %u is niet uniek\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: kan geen unieke uid verkrijgen\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: kan geen unieke gid verkrijgen\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: ongeldige basismap '%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: ongeldige commentaar '%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: ongeldige thuismap '%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: ongeldige datum '%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: schaduwwachtwoorden zijn vereist voor -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: schaduwwachtwoorden zijn vereist voor -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: ongeldig veld `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: ongeldige shell '%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: ongeldige gebruikersnaam '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: kan wachtwoordbestand niet herschrijven\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: kan schaduwwachtwoordbestand niet herschrijven\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: kan wachtwoordbestand niet vergrendelen\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s; kan wachtwoordbestand niet openen\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: kan schaduwwachtwoordbestand niet vergrendelen\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: kan schaduwwachtwoordbestand niet openen\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: fout tijdens toevoegen nieuwe wachtwoordingang\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: fout tijdens toevoegen schaduwwachtwoordingang\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: kan map %s niet aanmaken\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Er bestaat geen groep met de naam 'mail', bijgevolg wordt de mailspool "
 "aangemaakt met modus 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Kan geen mailspool aanmaken voor gebruiker %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: gebruiker %s bestaat\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1820,170 +1764,175 @@ msgstr ""
 "%s: groep %s bestaat - om deze gebruiker aan die groep toe te voegen dient u "
 "-g te gebruiken.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 "%s: waarschuwing: CREATE_HOME is niet ondersteund, u dient in plaats hiervan "
 "-m te gebruiken.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Gebruik: %s [-r] naam\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr ":%s: fout tijdens bijwerken groepingang\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: kan groepbestand niet openen\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: kan schaduwgroepbestand niet openen\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: fout tijdens verwijderen wachtwoordingang\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: fout tijdens verwijderen schaduwwachtwoordingang\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: gebruiker %s is momenteel niet aangemeld\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s is niet van %s, wordt niet verwijderd\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: waarschuwing: kan niet verwijderen "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: gebruiker %s bestaat niet\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: gebruiker %s is een NIS-gebruiker\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: map %s wordt niet verwijderd (zou thuismap van gebruiker %s "
 "verwijderen)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: fout tijdens verwijderen van map %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Gebruik: %s\t[-u uid [-o]] [-g groep] [-G groep,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d thuismap [-m]] [-s shell] [-c commentaar] [-l nieuwe_naam]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inactierf] [-e vervalt] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p wachtwoord] [-L|-U] naam\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: geheugen is op in update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: geheugen is op in update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: geen vlaggen gegeven\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: schaduwwachtwoorden zijn vereist voor -e en -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu is niet uniek\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: fout tijdens aanpassen wachtwoordingang\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: fout tijdens verwijderen wachtwoordingang\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: fout tijdens verwijderen schaduwwachtwoordingang\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: map %s bestaat\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: kan %s niet aanmaken\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: kan chown %s niet uitvoeren\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: kan map %s niet hernoemen naar %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: waarschuwing: %s is niet van %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "aanpassen van de eigenaar van de e-mailbox is mislukt"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "hernoemen van de e-mailbox is mislukt"
 
@@ -2019,3 +1968,12 @@ msgstr ""
 "Gebruik:\n"
 "`vipw' bewerkt /etc/passwd        `vipw -s' bewerkt /etc/shadow\n"
 "`vigr' bewerkt /etc/group         `vigr -s' bewerkt /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "onbekende uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid %u is niet uniek\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: kan geen unieke uid verkrijgen\n"
index 05e36c9e857998e143c622eb05033b57858065ed..8bb5f5820228df93e9a9cf23855073619b02e3f6 100644 (file)
Binary files a/po/nn.gmo and b/po/nn.gmo differ
index 2d1ba660343526a85ce1b4c081ddc69c05692697..881caeaa0ac49be225b1d9efe58686f8ab056d28 100644 (file)
--- a/po/nn.po
+++ b/po/nn.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-06-03 21:41+0200\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Language-Team: Norwegian (Nynorsk) <i18n-nn@lister.ping.uio.no>\n"
@@ -26,40 +26,40 @@ msgstr "Åtvaring: ukjent gruppe %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Åtvaring: for mange grupper\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Passordet ditt er utgått."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Passordet ditt er inaktivt."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Innlogginga di er utgått."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Ta kontakt med systemadministrator.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Lag eit nytt passord.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Passordet ditt vil utgå om %ld dagar.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Passordet ditt vil utgå i morgon.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Passordet ditt vil utgå i dag.\n"
@@ -107,7 +107,7 @@ msgstr "Ingen e-post."
 msgid "You have mail."
 msgstr "Du har e-post."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Feil passord: %s.  "
@@ -165,7 +165,7 @@ msgstr "Klarte ikkje finna plass for oppsettsinformasjon.\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "oppsettsfeil - ukjent element «%s» (gje melding til administrator)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Passord: "
 
@@ -174,156 +174,166 @@ msgstr "Passord: "
 msgid "%s's Password: "
 msgstr "%s sitt passord: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Bruk: chage [-l] [-m min_dagar] [-M maks_dagar] [-W åtvare]\n"
-"            [-I inaktiv] [-E utgår] [-d siste_dag] brukar\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Skriv inn den nye verdien eller trykk Enter for standard\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimum alder på passord"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maksimum alder på passord"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Førre passordendring (ÅÅÅÅ-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Åtvaring for utgått passord"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Passord inaktivt"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Dato for når kontoen utgår (ÅÅÅÅ-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Førre passordendring (ÅÅÅÅ-MM-DD)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Aldri\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Passord utgår:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Passord inaktiv:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Konto utgår:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: ta ikkje med «l» med andre flagg\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: nekta tilgang\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM-autentisering feila\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: klarer ikkje opna passordfil\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: ukjend brukar %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: klarer ikkje låsa skuggepassordfila"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: klarer ikkje opna skuggepassordfila"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Endrar aldringsformasjonen for %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: feil ved endring av felt\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: klarer ikkje oppdatere passordfil\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: klarer ikkje oppdatere skuggepassordfil\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: klarer ikkje skriva ny skuggepassordfil\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: klarer ikkje skriva ny passordfil\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok feila\n"
@@ -367,7 +377,7 @@ msgstr "Telefon, heime"
 msgid "Other"
 msgstr "Anna"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Klarer ikkje avgjere brukarnamnet ditt.\n"
@@ -382,11 +392,6 @@ msgstr "%s: klarer ikkje endra brukar «%s» på NIS-klient.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: «%s» er NIS-hovud for denne klienten.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: nekta tilgang\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -422,32 +427,32 @@ msgstr "%s: «%s» inneheld ulovlege teikn\n"
 msgid "%s: fields too long\n"
 msgstr "%s: felta er for lange\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Klarer ikkje endra ID til root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Klarer ikkje låsa passordfila, prøv igjen seinare.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Klarer ikkje opna passordfila.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s ikkje funne i /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Feil ved oppdatering av passordet.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Klarer ikkje utføra endringar i passordfila.\n"
@@ -457,7 +462,7 @@ msgstr "Klarer ikkje utføra endringar i passordfila.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Klarer ikkje låsa opp passordfila.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -469,53 +474,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: klarer ikkje låsa passordfil\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: klarer ikkje låsa skuggepassordfila\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: klarer ikkje opna skuggepassordfila\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: linje %d: linja er for lang\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: linje %d: manglar nytt passord\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: linje %d: ukjent brukar %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: linje %d: klarer ikkje oppdatere passordet\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: feil funne, endringar er ikkje utført\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: feil ved oppdatering av skuggepassordfila\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: feil ved oppdatering av passordfila\n"
@@ -554,12 +559,12 @@ msgstr "%s er eit ugyldig skal.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Bruk: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: ÅTVARING! Må vera set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: ukjent brukar\n"
@@ -581,22 +586,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds igjen]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds lås]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Ukjent brukar: %s\n"
@@ -636,7 +641,7 @@ msgstr "%s: skuggepassord for gruppe krevst for -A\n"
 msgid "Who are you?\n"
 msgstr "Kven er du?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "ukjent gruppe: %s\n"
@@ -670,7 +675,7 @@ msgstr "Endrar passordet for gruppa %s\n"
 msgid "New Password: "
 msgstr "Nytt passord: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Gjenta det nye passordet: "
 
@@ -728,75 +733,75 @@ msgstr "%s: klarer ikkje låsa opp fil\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Bruk: groupadd [-g gid [-o]] [-f] gruppe\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: feil ved oppretting av ny gruppeoppføring\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: namn %s er ikkje unikt\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: gid %u er ikkje unikt\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: klarer ikkje få unikt gid\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s er ikkje eit gyldig gruppenamn\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: ugyldig gruppe %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O krev NAME=VERDI\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: klarer ikkje skriva ny gruppefil\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: klarer ikkje skriva ny skuggegruppefil\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: klarer ikkje låsa gruppefil\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: klarer ikkje opna gruppefil\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: klarer ikkje låsa skuggegruppefil\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: klarer ikkje opna skuggegruppefil\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: gruppa %s finst allereie\n"
@@ -806,32 +811,32 @@ msgstr "%s: gruppa %s finst allereie\n"
 msgid "Usage: groupdel group\n"
 msgstr "Bruk: goupdel gruppe\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: feil ved fjerning av gruppeoppføring\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: feil ved fjerning av oppføring for skuggegruppe\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: klarer ikkje fjerna primærgruppa til brukaren.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: gruppe %s eksisterer ikkje\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: gruppe %s er ei NIS-gruppe\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s er NIS-hovudet\n"
@@ -846,12 +851,12 @@ msgstr "Bruk: groupmod [-g gid [-o]] [-n namn] gruppe\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s ikkje funne i /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u er ikkje ein unik gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s er ikkje eit unikt namn\n"
@@ -866,22 +871,21 @@ msgstr "Bruk: %s [-r] [-s] [gruppe [gskugge]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Bruk: %s [-r] [-s] [gruppe]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nei"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s og -r er inkompatible\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: klarer ikkje låse fila %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: klarer ikkje opna fila %s\n"
@@ -892,8 +896,8 @@ msgid "invalid group file entry\n"
 msgstr "ugyldig oppføring for gruppefil\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "slett linja «%s»? "
@@ -945,17 +949,17 @@ msgstr "slett administratormedlem «%s»?"
 msgid "shadow group %s: no user %s\n"
 msgstr "skuggegruppe %s: ingen brukar %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: klarer ikkje oppdatere fila %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: filene er oppdaterte\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: ingen endringar\n"
@@ -985,7 +989,7 @@ msgstr "%s: klarer ikkje opna skuggegruppefil\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: klarer ikkje fjerna skuggegruppe %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: klarer ikkje oppdatere skuggeoppføring for %s\n"
@@ -1097,17 +1101,17 @@ msgstr ""
 "\n"
 "Innlogging gjekk ut på tid etter %d sekund.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " på «%.100s» frå «%.200s»"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " på «%.100s»"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1116,85 +1120,30 @@ msgstr ""
 "\n"
 "%s brukarnamn: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Feil innlogging"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Åtvaring: innlogging gjort mogeleg igjen etter mellombels utestenging.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Førre innlogging: %s på %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Førre inlogging: %.19s på %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " frå %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: ingen DBM-database på systemet - ingenting utført\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: klarer ikkje overskriva fila %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: klarer ikkje opna DBM-filer for %s\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: starten med "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: feil ved tolking av linje «%s»\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "legg til post for namn"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: feil ved innlegging av post for "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "lagt til %d oppføringar, den lengste var %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Bruk: %s [-vf] [-p|g|sp|sg] fil\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Bruk: %s [-vf] [-p|g|sp] fil\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Bruk: %s [-vf] [-p|g] fil\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1205,115 +1154,115 @@ msgstr "Bruk: newgrp [-] [gruppe]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Bruk: sg gruppe [[-c] kommando]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "ukjent uid: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "ukjent GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "ukjent gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "ukjent GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Årsak.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "for mange grupper\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Bruk: %s [inndata]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: klarer ikkje låsa /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: klarer ikkje låsa filer, prøv igjen seinare\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: klarer ikkje opna filer\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: linje %d: ugyldig linje\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: linje %d: klarer ikkje laga GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: linje %d: klarer ikkje laga UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: linje %d: klarer ikkje finne brukar %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: linje %d: klarer ikkje oppdatere passord\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: linje %d: mkdir feila\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: linje %d: chown feila\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: linje %d: kan ikkje oppdatere oppføring\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: feil ved oppdatering av filer\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Bruk: %s [-f|-s] [namn]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "      %s [-x maks] [-n min] [-w åtvar] [-i inaktiv] namn\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "      %s {-l|-u|-d|-S|-e} namn\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Gamalt passord:"
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Feil passord for «%s»\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1322,16 +1271,16 @@ msgstr ""
 "Skriv inn det nye passordet (minimum %d, maksimum %d teikn)\n"
 "Bruk ein kombinasjon av store og små bokstavar og tal.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nytt passord: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Prøv igjen.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1341,149 +1290,144 @@ msgstr ""
 "Åtvaring: Svakt passord (skriv det inn ein gong til for å bruka det "
 "likevel).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Passorda er ikkje like, prøv igjen.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Passordet for %s kan ikkje endrast.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Passordet for %s kan ikkje endrast enno.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: tomt for minne\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Kan ikkje køyre %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: arkiv %s er ikkje støtta\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "Du treng ikkje endra skal for %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Enrar passord for %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Passordet til %s er ikkje endra.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Passord er endra.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Bruk: %s [-q] [-r] [-s] [passord [skugge]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Bruk: %s [-q] [-r] [-s] [passord]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "Ugyldig oppføring i passordfila\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "duplisert oppføring i passordfila\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "ugyldig brukarnamn «%s»\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "brukar %s: inga gruppe %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "brukar %s: mappe %s finst ikkje\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "brukar %s: program %s finst ikkje\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "ugyldig oppføring i skuggepassordfila\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "duplisert oppføring i skuggepassordfila\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "ingen oppføringar i passordfila som passar\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "brukar %s: siste passordendring i framtida\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: klarer ikkje låda passordfil\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: klarer ikkje opna passordfil\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: klarer ikkje fjerna oppføring for %s i skuggepassordfila\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: klarer ikkje oppdatere oppføring i passordfila for %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: klarer ikkje oppdatere skuggepassordfil\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: klarer ikkje oppdatere passordfil\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: klarer ikkje oppdatere oppføring for brukar %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: klarer ikkje sletta skuggepassordfil\n"
@@ -1492,31 +1436,31 @@ msgstr "%s: klarer ikkje sletta skuggepassordfil\n"
 msgid "Sorry."
 msgstr "Årsak."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: må køyrast frå ein terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: feil %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Ukjent id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Du er ikkje autorisert til su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Skriv inn ditt eige passord.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1525,7 +1469,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorert)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Ingen skal\n"
@@ -1569,209 +1513,209 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Startar modus for systemvedlikehald\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: ugyldig nummerisk argument «%s»\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: ukjent gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: ukjent GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: ukjent gruppe %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: klarer ikkje opprette fil for standardverdiar\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: klarer ikkje opna fil for standardverdiar\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: gje nytt namn: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: gruppe «%s» er ei NIS-gruppe.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: for mange grupper spesifisert (maks %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Bruk: useradd [-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "              [-d heim] [-s skal] [-c kommentar] [-m [-k mal]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "              [-f inaktiv] [-e utgår]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "              [-p passord] namn\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "      useradd -D [-g gruppe] [-b startmappe] [-s skal]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: feil ved låsing av gruppefil\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: feil ved opning av gruppefil\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: feil ved låsing av skuggegruppefil\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: feil ved opning av skuggegruppefil\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u er ikkje unik\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: gid %u er ikkje unikt\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: klarer ikkje finne unik uid\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: klarer ikkje få unikt gid\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: ugyldig startmappe «%s»\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: ugyldig kommentar «%s»\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: ugyldig heimemappe «%s»\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: ugyldig dato «%s»\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: skuggepassord krevst for -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: skuggepassord krevst for -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: ugyldig felt «%s»\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: ugyldig skal «%s»\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: ugyldig brukarnamn «%s»\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: klarer ikkje skriva ny passordfil\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: klarer ikkje skriva ny skuggepassordfil\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: klarer ikkje låsa passordfil\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: klarer ikkje opna passordfil\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: klarer ikkje låsa skuggepassordfil\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: klarer ikkje opna skuggepassordfil\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: feil når passordoppføring blei lagt til\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: feil når oppføring av skuggepassord blei lag til\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: kan ikkje oppretta mappa %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s: klarer ikkje oppdatere oppføring for brukar %s\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: brukar %s finst\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1779,167 +1723,172 @@ msgstr ""
 "%s: gruppa %s finst - viss du ønskjer å leggja brukaren til denne gruppa, "
 "bruk -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: åtvaring: CREATE_HOME ikkje støtta, bruk -m istaden.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Bruk: %s [-r] namn\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: feil ved oppdatering av gruppeoppføring\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: klarer ikkje opna gruppefila\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: klarer ikkje opna skuggepassordfila\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: feil ved sletting av passordoppføring\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: feil ved sletting av skuggepassordoppføring\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: brukaren %s er pålogga\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s ikkje eigd av %s, ikkje fjerna\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: åtvaring: kan ikkje fjerna "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: brukar %s finst ikkje\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: brukar %s er ikkje ein NIS brukar\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: fjernar ikkje mappa %s (det ville fjerna heimemappa til brukar %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: feil ved fjerning av mappe %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Bruk: %s\t[-u uid [-o]] [-g gruppe] [-G gruppe,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d heim [-m]] [-s skal] [-c kommentar] [-l nytt_namn]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inaktiv] [-e utgår] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p passord] [-L|-U] namn\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: slapp opp for minne i update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: slapp opp for minne i update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: ingen flagg oppgjeve\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: skuggepassord krevst for -e og -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu er ikkje unik\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: feil ved endring av passordoppføring\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: feil ved sletting av passordoppføring\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: feil ved sletting av oppføring for skuggepassord\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: mappa %s finst\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: kan ikkje oppretta %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: kan ikkje chown %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: åtvaring: %s er ikkje eigd av %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "klarte ikke å endra eigar av mailbox"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "klarte ikkje endra namn på mailbox"
 
@@ -1975,3 +1924,12 @@ msgstr ""
 "Bruk:\n"
 "«vipw» redigerer /etc/passwd        «vipw -s» redigerer /etc/shadow\n"
 "«vigr» redigerer /etc/group         «vigr -s» redigerer /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "ukjent uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid %u er ikkje unik\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: klarer ikkje finne unik uid\n"
index f2ad22959cd565d80e00c6668dd3d3e024d77ed9..d1c005665bf7296a3e6da26848b2fd0cf447ec48 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index 2be6861ae85533a671dc63f9c8e7c59c3c705e59..06a24fc755903737b6bc3725ec4d5c4e61659b52 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow-4.0.8\n"
+"Project-Id-Version: shadow-4.0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-02-29 00:27+01:00\n"
 "Last-Translator: Tomasz Kłoczko <kloczek@pld.org.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -27,40 +27,40 @@ msgstr "Ostrzeżenie: nieznana grupa %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Ostrzeżenie: zbyt wiele grup\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Twoje hasło straciło ważność."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Twoje hasło jest nieaktywne."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Twoje konto straciło ważność."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Skontaktuj się z administratorem systemu.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Wybierz nowe hasło.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Twoje hasło straci ważność w ciągu %ld dni.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Jutro twoje hasło straci ważność.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Dziś twoje hasło straci ważność.\n"
@@ -115,7 +115,7 @@ msgstr "Nie masz poczty."
 msgid "You have mail."
 msgstr "Masz pocztę."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Złe hasło: %s.  "
@@ -174,7 +174,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "błąd w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Hasło: "
 
@@ -183,157 +183,185 @@ msgstr "Hasło: "
 msgid "%s's Password: "
 msgstr "Hasło użytkownika %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Użycie: chage [-l] [-m min_dni] [-M maks_dni] [-W ostrzeż]\n"
-"              [-I nieaktywne] [-E utrata_ważności]\n"
-"              [-d ostatni_dzień] użytkownik\n"
-
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+"Użycie: chage [opcje] user\n"
+"\n"
+"Opcje:\n"
+"  -d, --lastday OSTATNI\tustawia date ostatniej zmiany hasła na OSTATNI\n"
+"  -E, --expiredate DATA_WAŻNOSCI\tustawia datę wązności konta na "
+"DATA_WAŻNOSCI\n"
+"  -h, --help\t\t\twyświetlenie tego opisu i zakończenie\n"
+"  -I, --inactive NIEAKTYWNE\tustwia liczbę dni nieaktywności konta po\n"
+"\t\t\t\tktórych konta jest blokowane na NIEAKTYWNE\n"
+"  -l, --list\t\t\twyświetlenie informacji o terminach ważnosci konta i "
+"hasła\n"
+"  -m, --mindays MIN_DNI\tustawia minimalną liczbę dni pomiędzy zmianami "
+"hasła\n"
+"\t\t\t\tna wartość MIN_DNI\n"
+"  -M, --maxdays MAX_DAYS\tustawia maksymalną liczbę dni, przez jakie hasło\n"
+"\t\t\t\tjest ważne na wartość MAX_DNI\n"
+"  -W, --warndays DNI_OSTRZEGANIA\tustawia na DNI_OSTRZEGANIA liczbę dni "
+"przed\n"
+"\t\t\t\tupływem ważności hasła\n"
+
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Wpisz nową wartość lub wciśnij ENTER by przyjąć wartość domyślną\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimalny wiek hasła"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maksymalny wiek hasła"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Ostatnia zmiana hasła (RRRR-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Ostrzeżenie o utracie ważności hasła"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Hasło nieaktywne"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Data utraty ważności konta (RRRR-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Ostatnia zmiana hasła\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "nigdy\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Hasło traci ważność\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Hasło nieaktywne\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Konto traci ważność\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Minimalna ilość dni pomiędzy zmianami hasła\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Maksymalna ilość dni pomiędzy zmianami hasła\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Liczba dni ostrzeżenia, zanim ważność hasła upłynie\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: nie łącz \"l\" z innymi flagami\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: odmowa dostępu.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: Operacja niedozwolona.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: błąd podczas uwierzytelniania przez PAM\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: nie można otworzyć pliku z hasłami\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: nieznany użytkownik %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: nie można zablokować pliku z ukrytymi hasłami"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: nie można otworzyć pliku z ukrytymi hasłami"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Zmieniam informację o użytkowniku %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: błąd podczas zmieniania pól\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: nie można zaktualizować pliku z hasłami\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: nie można zaktualizować pliku z ukrytymi hasłami\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: nie można przepisać pliku z ukrytymi hasłami\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: nie można przepisać pliku z hasłami\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthtok nie powiodło się\n"
@@ -378,7 +406,7 @@ msgstr "Telefon domowy"
 msgid "Other"
 msgstr "Inne"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Nie można ustalić twojej nazwy użytkownika.\n"
@@ -393,11 +421,6 @@ msgstr "%s: nie można zmienić użytkownika `%s' na kliencie NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' jest nadrzędnym serwerem NIS dla tego klienta.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Operacja niedozwolona.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -433,32 +456,32 @@ msgstr "%s: \"%s\" zawiera nieprawidłowe znaki\n"
 msgid "%s: fields too long\n"
 msgstr "%s: pola zbyt długie\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Nie można zmienić ID na root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Nie można zablokować pliku z hasłami; spróbuj później.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Nie można otworzyć pliku z hasłami.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: nie znaleziono %s w /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Błąd podczas aktualizacji wpisu do bazy haseł.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Wprowadzenie zmian do pliku passwd jest niemożliwe.\n"
@@ -468,7 +491,7 @@ msgstr "Wprowadzenie zmian do pliku passwd jest niemożliwe.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Nie można usunąć blokady z pliku z hasłami.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -488,53 +511,53 @@ msgstr ""
 "przekazywane\n"
 "\t\t\thasła nie są zakodowane\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: nie można zablokować pliku z hasłami\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: nie można zablokować pliku z ukrytymi hasłami\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: nie można otworzyć pliku z ukrytymi hasłami\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: linia %d: linia zbyt długa\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: linia %d: brakuje nowego hasła\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: linia %d: nieznany użytkownik %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: linia %d: nie można zaktualizować wpisu do bazy haseł\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: wykryto błąd, zignorowano modyfikacje\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: błąd podczas aktualizacji pliku z ukrytymi hasłami\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: błąd podczas aktualizacji pliku z hasłami\n"
@@ -573,12 +596,12 @@ msgstr "%s jest nieprawidłową powłoką.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Użycie: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: OSTRZEŻENIE! Program musi posiadać SUID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: nieznany użytkownik\n"
@@ -613,22 +636,22 @@ msgstr ""
 "\t\t\t\ti limitami faillog (w połaczeniu z opcjami -r, -m lub -l) tylko\n"
 "\t\t\t\tdla użytkownika o loginie LOGIN\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Login       Nieudane Maks.   Ostanio                  Na\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [pozostało %lds]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [blokada %lds]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Nieznany użytkownik: %s\n"
@@ -668,7 +691,7 @@ msgstr "%s: plik z ukrytymi hasłami grup wymagany dla -A\n"
 msgid "Who are you?\n"
 msgstr "Kim jesteś?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "nieznana grupa: %s\n"
@@ -702,7 +725,7 @@ msgstr "Zmieniam hasło dla grupy %s\n"
 msgid "New Password: "
 msgstr "Nowe hasło: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Wpisz hasło ponownie: "
 
@@ -760,75 +783,75 @@ msgstr "%s: nie można usunąć blokady z pliku\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Użycie: groupadd [-g gid [-o]] [-f] grupa\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: błąd podczas dodawania nowej grupy\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: nazwa %s nie jest niepowtarzalny\n"
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
-msgstr "%s: uid %u nie jest niepowtarzalny\n"
+msgid "%s: GID %u is not unique\n"
+msgstr "%s: GID %u nie jest niepowtarzalny\n"
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
-msgstr "%s: nie można uzyskać niepowtarzalnego gid\n"
+msgid "%s: can't get unique GID\n"
+msgstr "%s: nie można uzyskać niepowtarzalnego GID\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s: nie jest prawidłową nazwą grupy\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: nieprawidłowa grupa %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O wymaga ZMIENNA=WARTOŚĆ\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: nie można przepisać pliku z grupami\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: nie można przepisać pliku z ukrytymi hasłami grup\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: nie można zablokować pliku z grupami\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: nie można otworzyć pliku z grupami\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: nie można zablokować pliku z ukrytymi hasłami grup\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: nie można otworzyć pliku z ukrytymi hasłami grup\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: grupa %s istnieje\n"
@@ -838,32 +861,32 @@ msgstr "%s: grupa %s istnieje\n"
 msgid "Usage: groupdel group\n"
 msgstr "Użycie: groupdel grupa\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: błąd podczas usuwania grupy\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: błąd podczas usuwania wpisu z pliku z ukrytymi hasłami grup\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: nie można usunąć podstawowej grupy użytkowników.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: grupa %s nie istnieje\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: grupa %s jest grupą NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s jest głównym serwerem NIS\n"
@@ -878,12 +901,12 @@ msgstr "Użycie: groupmod [-g gid [-o]] [-n nazwa] grupa\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: nie znaleziono %s w /etc/group\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
-msgstr "%s: %u nie jest niepowtarzalnym gid\n"
+msgid "%s: %u is not a unique GID\n"
+msgstr "%s: %u nie jest niepowtarzalnym GID\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s nie jest niepowtarzalną nazwą\n"
@@ -898,22 +921,21 @@ msgstr "Użycie: %s [-r] [-s] [grupa [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Użycie: %s [-r] [-s] [grupa]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nie"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s i -r są niekompatybilne\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: nie można zablokować pliku %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: nie można otworzyć pliku %s\n"
@@ -924,8 +946,8 @@ msgid "invalid group file entry\n"
 msgstr "nieprawidłowy wpis do pliku grup\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "usunąć linię `%s'? "
@@ -979,17 +1001,17 @@ msgstr "usunąć członka administracyjnego `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "grupa %s: użytkownik %s z pliku ukrytych haseł grup nie istnieje\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: nie można zaktualizować pliku %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: pliki zostały zaktualizowane\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: bez zmian\n"
@@ -1019,7 +1041,7 @@ msgstr "%s: nie można otworzyć pliku z ukrytymi hasłami grup\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: nie można usunąć grupy %s z pliku ukrytych haseł grup\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: nie można zaktualizować wpisu w pliku z ukrytymi hasłami dla %s\n"
@@ -1138,17 +1160,17 @@ msgstr ""
 "\n"
 "Limit czasu logowania przekroczony po %d sekundach.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " na `%.100s' z `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " na `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1157,85 +1179,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Nieprawidłowe logowanie"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Ostrzeżenie: logowanie ponownie odblokowanie po czasowej blokadzie.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Ostatnie logowanie: %s na %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Ostatnie logowanie: %s na %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " z %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-"%s: nie ma bazy DBM na tym systemie - żadna akcja nie została podjęta\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: nie można nadpisać pliku %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: nie można otworzyć plików DBM dla %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: rozpoczyna się od %.16s... jest za długa\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: błąd podczas przetwarzania linii \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "dodaję rekord do nazwy %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: błąd podczas dodawania rekordu dla %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "dodano %d wpisów, najdłuższy był %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Użycie: %s [-vf] [-p|g|sp|sg] plik\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Użycie: %s [-vf] [-p|g|sp] plik\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Użycie: %s [-vf] [-p|g] plik\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1246,115 +1212,115 @@ msgstr "Użycie: newgrp [-] [grupa]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Użycie: sg grupa [[-c] polecenie]\n"
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
-msgstr "nieznany uid: %u\n"
+msgid "unknown UID: %u\n"
+msgstr "nieznany UID: %u\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "nieznany gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "nieznany GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Wybacz.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "zbyt wiele grup\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Użycie: %s [wejście]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: nie można zablokować /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: nie można zablokować plików, spróbuj później\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: nie można otworzyć plików\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: linia %d: nieprawidłowa linia\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: linia %d: nie można utworzyć GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: linia %d: nie można utworzyć UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: linia %d: nie można znaleźć użytkownika %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: linia %d: nie można zaktualizować pliku z hasłami\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: linia %d: mkdir nie powiodło się\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: linia %d: chown nie powiodło się\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: linia %d: nie można zaktualizować wpisu\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: błąd podczas aktualizowania plików\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Użycie: %s [-f|-s] [nazwa]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "        %s [-x maks] [-n min] [-w ostrz] [-i nieakty] nazwa\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "        %s {-l|-u|-d|-S|-e} nazwa\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Stare hasło: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Nieprawidłowe hasło `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1363,16 +1329,16 @@ msgstr ""
 "Wpisz nowe hasło (minimum %d, maksimum %d znaków)\n"
 "Proszę użyj kombinacji wielkich i małych znaków oraz cyfr.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nowe hasło: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Spróbuj ponownie.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1381,149 +1347,144 @@ msgstr ""
 "\n"
 "Ostrzeżenie: słabe hasło (wpisz je ponowie jeśli jednak chcesz go użyć).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Nie zgadzają się; spróbuj ponownie.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Hasło dla %s nie może być zmienione.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Wybacz, hasło dla %s nie może być jeszcze zmienione.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: brak pamięci\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Nie można wykonać %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: repozytorium %s nie jest obsługiwane\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Nie możesz przeglądać lub zmieniać informacji o haśle dla %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Zmieniam hasło dla %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Hasło dla %s pozostaje niezmienione.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Hasło zmienione.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Użycie: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Użycie: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "nieprawidłowy wpis do pliku z hasłami\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "powtórzony wpis w pliku z hasłami\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "nieprawidłowa nazwa użytkownika '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "użytkownik %s: brak grupy %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "użytkownik %s: katalog %s nie istnieje\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "użytkownik %s: program %s nie istnieje\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "nieprawidłowy wpis w pliku z hasłami\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "powtórzony wpis w pliku z ukrytymi hasłami\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "brak pasującego wpisu w pliku z hasłami\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "użytkownik %s: ostatnia zmiana hasła w przyszłości\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: nie można zablokować pliku z hasłami\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: nie można otworzyć pliku z hasłami\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: nie można usunąć wpisu z pliku z ukrytymi hasłami dla %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: nie można zaktualizować wpisu w pliku z hasłami dla %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: nie można zaktualizować pliku z ukrytymi hasłami\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: nie można zaktualizować pliku z hasłami\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: nie można zaktualizować wpisu dla użytkownika %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: nie można skasować pliku z ukrytymi hasłami\n"
@@ -1532,31 +1493,31 @@ msgstr "%s: nie można skasować pliku z ukrytymi hasłami\n"
 msgid "Sorry."
 msgstr "Wybacz."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: musisz uruchamiać z terminala\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: błąd %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Nieznany id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Nie masz autoryzacji by używać su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Wpisz swoje własne hasło.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1565,7 +1526,7 @@ msgstr ""
 "%s: %s\n"
 "(Zignorowano)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Brak powłoki\n"
@@ -1609,378 +1570,384 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Wchodzę w tryb konserwacji systemu\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: nieprawidłowy argument numeryczny `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: nieznany gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: nieznany GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: nieznana grupa %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: nie można utworzyć nowego pliku z ustawieniami domyślnymi\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: nie można otworzyć nowego pliku z ustawieniami domyślnymi\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: zmiana nazwy: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: grupa `%s' jest grupą NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: podano zbyt wiele grup (maks %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Użycie: useradd [-u uid [-o]] [-g grupa] [-G grupa,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                [-d kat_dom] [-s powłoka] [-c komentarz] [-m [-k wzór]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                [-f nieaktywne] [-e utrata_ważności]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                [-p hasło] nazwa\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "        useradd -D [-g grupa] [-b baza] [-s powłoka]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: błąd podczas blokowania pliku z grupami\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: błąd podczas otwierania pliku z grupami\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: błąd podczas blokowania pliku z ukrytymi hasłami grup\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: błąd podczas otwierania pliku z ukrytymi hasłami grup\n"
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u nie jest niepowtarzalny\n"
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: UID %u nie jest niepowtarzalny\n"
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: nie można uzyskać niepowtarzalnego uid\n"
+msgid "%s: can't get unique UID\n"
+msgstr "%s: nie można uzyskać niepowtarzalnego UID\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: nieprawidłowy katalog bazowy `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: nieprawidłowy komentarz `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: nieprawidłowy katalog domowy `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: nieprawidłowa data `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: ukryte hasła wymagane dla -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: ukryte hasła wymagane dla -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: nieprawidłowe pole `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: nieprawidłowa powłoka `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: nie można przepisać pliku z hasłami\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: nie można przepisać pliku z ukrytymi hasłami\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: nie można zablokować pliku z hasłami\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: nie można otworzyć pliku z hasłami\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: nie można zablokować pliku z ukrytymi hasłami\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: nie można otworzyć pliku z ukrytymi hasłami\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: błąd podczas dodawania nowego wpisu do pliku z hasłami\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: błąd podczas dodawania nowego wpisu do pliku z ukrytymi hasłami\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: nie można utworzyć katalogu %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Nie istnieje grupa \"mail\", tworzenie skrzynki z uprawnieniami 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Nie można utworzyć skrzynki pocztowej dla użytkownika %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: użytkownik %s istnieje\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 "%s: grupa %s istnieje - aby dodać tego użytkownika do tej grupy, użyj -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: uwaga: CREATE_HOME nie jest obsługiwane, użyj opcji -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Użycie: %s [-r] nazwa\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: błąd podczas aktualizacji wpisu grupy\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: nie można otworzyć pliku z grupami\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: nie można otworzyć pliku z ukrytymi hasłami grup\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: błąd podczas usuwania wpisu z pliku z hasłami\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: błąd podczas usuwania wpisu z pliku z ukrytymi hasłami\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: użytkownik %s jest aktualnie zalogowany\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: właścicielem %s nie jest %s, nie usuwam\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: ostrzeżenie: nie można usunąć "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: użytkownik %s nie istnieje\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: użytkownik %s jest użytkownikiem NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: nie usuwam katalogu %s (usunęłoby to katalog domowy użytkownika %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: błąd podczas usuwania katalogu %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Użycie: %s\t[-u uid [-o]] [-g grupa] [-G grupa,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d kat_dom [-m]] [-s powłoka] [-c komentarz] [-l nowa_nazwa]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f nieaktywne] [-e utrata_ważności] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p hasło] [-L|-U] nazwa\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: zabrakło pamięci w update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: zabrakło pamięci w update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: nie podano flag\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: ukryte hasła wymagane dla -e i -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu nie jest niepowtarzalny\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: błąd podczas zmiany wpisu w pliku z hasłami\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: błąd podczas usuwania wpisu z pliku z hasłami\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: błąd podczas usuwania wpisu z pliku z ukrytymi hasłami\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: katalog %s istnieje\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: nie można utworzyć %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: nie można zmienić właściciela %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+"%s: uwaga: nie powiodło się całkowite usuniecie starego katalogu domovego %s"
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: ostrzeżenie: właścicielem %s nie jest %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "zmiana właściciela skrzynki pocztowej nie powiodła się"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "zmiana nazwy skrzynki pocztowej nie powiodła się"
 
index c8bbf83c47f6d450b83d0b2326807e91d2df32c2..0332e7dab293c5c4e796e30e1c21317f9194e3eb 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index ea9ffe9195af4ac14bc08a68d0333470e979923c..a31f2a7c6643ba9cf0836902db1f222d3fe669aa 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-04-17 22:55+0000\n"
 "Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
 "Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -24,40 +24,40 @@ msgstr "Aviso: grupo desconhecido %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Aviso: demasiados grupos\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "A sua password caducou."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "A sua password não está activa."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "O seu login caducou."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Contacte o administrador do sistema.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Escolha uma nova password.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "A sua password vai caducar em %ld dias.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "A sua password vai caducar amanhã.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "A sua password caduca hoje.\n"
@@ -105,7 +105,7 @@ msgstr "Não tem correio."
 msgid "You have mail."
 msgstr "Tem correio."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Password inválida: %s.  "
@@ -164,7 +164,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "erro de configuração - item '%s' desconhecido (notifique o administrador)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Password: "
 
@@ -173,157 +173,167 @@ msgstr "Password: "
 msgid "%s's Password: "
 msgstr "Password de %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Utilização: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"                  [-I inactive] [-E expire] [-d last_day] utilizador\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Introduza o novo valor, ou pressione ENTER para o valor por defeito\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Idade Mínima da Password"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Idade Máxima da Password"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Última Alteração da Password (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Aviso de Caducidade da Password"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Password Inactiva"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Data de Caducidade da Conta (YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Última alteração da password\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "nunca\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "A password caduca em\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Password inactiva\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "A conta caduca em\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Número mínimo de dias entre alterações de password\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Número máximo de dias entre alterações de password\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Número de dias de aviso antes da password expirar\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: não incluir \"l\" com outras flags\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: acesso negado.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: A autenticação PAM falhou\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: não é possível abrir o ficheiro de passwords\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: utilizador desconhecido %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr ""
 "%s: não é possível obter acesso exclusivo ao ficheiro de passwords shadow"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: não é possível abrir o ficheiro de passwords shadow"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "A alterar a informação de envelhecimento de %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: erro na alteração de campos\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: não é possível actualizar o ficheiro de passwords\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: não é possível actualizar o ficheiro de passwords shadow\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: não é possível reescrever o ficheiro de passwords shadow\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: não é possível reescrever o ficheiro de passwords\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: falhou chauthtok de PAM\n"
@@ -369,7 +379,7 @@ msgstr "Telefone de Casa"
 msgid "Other"
 msgstr "Outra Informação"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Não é possível determinar o seu nome de utilizador.\n"
@@ -384,11 +394,6 @@ msgstr "%s: não é possível alterar o utilizador `%s' no cliente NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' é o NIS master por este cliente.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: acesso negado.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -424,34 +429,34 @@ msgstr "%s: \"%s\" contém caracteres não permitidos.\n"
 msgid "%s: fields too long\n"
 msgstr "%s: valores demasiado grandes\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Não é possível alterar o ID para root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 "Não é possível obter acesso exclusivo ao ficheiro de passwords; tente de "
 "novo mais tarde.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Não é possível abrir o ficheiro de passwords.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s não foi encontrado em /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Erro ao actualizar o registo da password.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr ""
@@ -462,7 +467,7 @@ msgstr ""
 msgid "Cannot unlock the password file.\n"
 msgstr "Não é possível libertar o ficheiro de passwords.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -481,53 +486,53 @@ msgstr ""
 "  -m, --md5\t\tutilizar encriptação MD5 em vez de DES quando as passwords\n"
 "\t\t\tfornecidas não são encriptadas\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: não é possível obter acesso exclusivo ao ficheiro de passwords\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: não é possível obter acesso exclusivo ao ficheiro shadow\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: não é possível abrir o ficheiro shadow\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: linha %d: linha demasiado grande\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: linha %d: falta a nova password\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: linha %d: utilizador %s desconhecido\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: linha %d: não é possível actualizar o registo da password\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: foi detectado um erro, as alterações foram ignoradas\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: erro a actualizar o ficheiro shadow\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: erro a actualizar o ficheiro de passwords\n"
@@ -566,12 +571,12 @@ msgstr "%s é uma shell inválida.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Utilização: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: AVISO! Tem de ter o UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: utilizador desconhecido\n"
@@ -606,22 +611,22 @@ msgstr ""
 "\t\t\t\tmantidos e limites (se utilizado com as opções -r, -m ou -l) \n"
 "\t\t\t\tapenas para o utilizador com o login LOGIN\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Login       Falhas   Máximo  Última                   Em\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [faltam %lds]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds lock]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Utilizador Deconhecido: %s\n"
@@ -661,7 +666,7 @@ msgstr "%s: passwords shadow de grupo necessárias para -A\n"
 msgid "Who are you?\n"
 msgstr "Quem é você?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "grupo desconhecido: %s\n"
@@ -695,7 +700,7 @@ msgstr "A alterar a password para o grupo %s\n"
 msgid "New Password: "
 msgstr "Nova Password: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Re-introduza a nova password: "
 
@@ -753,76 +758,76 @@ msgstr "%s: não é possível libertar o ficheiro\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Utilização: groupadd [-g gid [-o]] [-f] grupo\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: erro a adicionar o registo do novo grupo\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: o nome %s não é único\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: gid %u não é único\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: não é possível obter um gid único\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s não é um nome válido para o grupo\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: grupo %s inválido\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O necessita de NAME=VALUE\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: não é possível reescrever o ficheiro dos grupos\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: não é possível reescrever o ficheiro de shadow dos grupos\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: não é possível obter acesso exclusivo ao ficheiro dos grupos\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: não é possível abrir o ficheiro dos grupos\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr ""
 "%s: não é possivel obter acesso exclusivo ao ficheiro de shadow dos grupos\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: não é possível abrir o ficheiro de shadow dos grupos\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: o grupo %s já existe\n"
@@ -832,32 +837,32 @@ msgstr "%s: o grupo %s já existe\n"
 msgid "Usage: groupdel group\n"
 msgstr "Utilização: groupdel grupo\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: erro ao remover o registo do grupo\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: erro ao remover o registo de shadow do grupo\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: não é possível remover o grupo primário do utilizador.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: o grupo %s não existe.\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: o grupo %s é um grupo NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s é o NIS master\n"
@@ -872,12 +877,12 @@ msgstr "Utilização: groupmod [-g gid [-o]] [-n nome] grupo\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s não foi encontrado em /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u não é um gid único\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s não é um nome único\n"
@@ -892,22 +897,21 @@ msgstr "Utilização: %s [-r] [-s] [grupo [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Utilização: %s [-r] [-s] [grupo]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Não"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s e -r são incompatíveis\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: não é possível obter acesso exclusivo ao ficheiro %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: não é possível abrir o ficheiro %s\n"
@@ -918,8 +922,8 @@ msgid "invalid group file entry\n"
 msgstr "um registo no ficheiro dos grupos é inválido\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "apagar a linha `%s'? "
@@ -971,17 +975,17 @@ msgstr "apagar o membro administrador `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "grupo shadow %s: o utilizador %s não existe\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: não é possível actualizar o ficheiro %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: os ficheiros foram actualizados\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: não houve alterações\n"
@@ -1012,7 +1016,7 @@ msgstr "%s: não é possível abrir o ficheiro de shadow dos grupos\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: não é possível remover o grupo shadow %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: não é possível actualizar o registo de shadow de %s\n"
@@ -1130,17 +1134,17 @@ msgstr ""
 "\n"
 "Tempo de login caducou após %d segundos de inactividade.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " em `%.100s' de `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " em `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1149,86 +1153,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Login incorrecto"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Aviso: o login foi novamente permitido após um tempo de bloqueio.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Última entrada no sistema: %s em %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Última entrada no sistema: %.19s em %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " de %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-"%s: a base de dados DBM não foi encontrada no sistema - nenhuma acção foi "
-"efectuada\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: não é possível sobrescrever o ficheiro %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: não é possível abrir os ficheiros DBM para %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: a linha que começa por %.16s... é demasiado longa\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: erro a fazer o parsing da linha \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "a adicionar o registo para o nome %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: erro a adicionar o registo para %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "foram adicionados %d registos, o maior foi o %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Utilização: %s [-vf] [-p|g|sp|sg] ficheiro\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Utilização: %s [-vf] [-p|g|sp] ficheiro\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Utilização: %s [-vf] [-p|g] ficheiro\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1239,116 +1186,116 @@ msgstr "Utilização: newgrp [-] [grupo]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Utilização: sg grupo [[-c] comando]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid desconhecido: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "GID desconhecido: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid desconhecido: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "GID desconhecido: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Desculpe.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "demasiados grupos\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Utilização: %s [input]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: não é possível obter acesso exclusivo a /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr ""
 "%s: não é possível obter acesso excluviso a ficheiros, tente mais tarde\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: não é possível abrir ficheiros\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: linha %d: linha inválida\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: linha %d: não é possível criar o GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: linha %d: não é possível criar o UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: linha %d: não é possivel encontrar o utilizador %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: linha %d: não é possível actualizar a password\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: linha %d: o mkdir falhou\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: linha %d: o chown falhou\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: linha %d: não é possível actualizar o registo\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: erro ao actualizar ficheiros\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Utilização: %s [-f|-s] [nome]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "            %s [-x max] [-n min] [-w aviso] [-i inactivo] nome\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "            %s {-l|-u|-d|-S|-e} nome\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Password antiga: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Password incorrecta para `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1358,16 +1305,16 @@ msgstr ""
 "Por favor utilize um combinação de letras maiúsculas, minúsculas e de "
 "números.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nova password: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Tente de novo.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1376,149 +1323,144 @@ msgstr ""
 "\n"
 "Aviso: password fraca (introduza-a de novo para usá-la mesmo assim).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Não coincidem; tente de novo.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "A password para %s não pode ser alterada.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Desculpe, mas a password para %s ainda não pode ser alterada.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: falta de memória\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Não é possível executar %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: o repositório %s não é suportado\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Não pode ver ou alterar a informação da password para %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "A alterar a password de %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "A password de %s não foi alterada.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Password alterada.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Utilização: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Utilização: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "registo no ficheiro de passwords inválido\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "registo de password duplicado\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "o nome de utilizador '%s' é inválido\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "utilizador %s: o grupo %u não existe\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "utilizador %s: a directoria %s não existe\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "utilizador %s: o programa %s não existe\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "registo no ficheiro de shadow de passwords inválido\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "registo de shadow da password duplicado\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "registo no ficheiro de passwords não coincidente\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "utilizador %s: a última alteração de password foi no futuro\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: não é possível obter acesso exclusivo ao ficheiro passwd\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: não é possível abrir o ficheiro passwd\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: não é possível remover o registo shadow de %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: não é possível actualizar o registo em passwd de %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: não é possível actualizar o ficheiro shadow\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: não é possível actualizar o ficheiro passwd\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: não é possível actualizar o registo do utilizador %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: não é possível apagar o ficheiro de shadow de passwords\n"
@@ -1527,31 +1469,31 @@ msgstr "%s: não é possível apagar o ficheiro de shadow de passwords\n"
 msgid "Sorry."
 msgstr "Desculpe."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: deve ser executado a partir de um terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: erro %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Id desconhecido: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Não está autorizado a fazer su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Introduza a sua password.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1560,7 +1502,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorado)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Sem shell\n"
@@ -1604,215 +1546,215 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "A Entrar no Modo de Manutenção do Sistema\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: argumento numérico inválido `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: gid %s desconhecido\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: GID %s desconhecido\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: grupo %s desconhecido\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: não é possível criar ficheiro de configurações por defeito\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: não é possível abrir ficheiro de configurações por defeito\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: renomear: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: o grupo `%s' é um grupo NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: estão especificados demasiados grupos (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Utilização: useradd [-u uid [-o]] [-g grupo] [-G grupo,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                    [-d home] [-s shell] [-c comentário] [-m [-k template]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                    [-f inactivo] [-e caduca]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                    [-p passwd] nome\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "            useradd -D [-g grupo] [-b base] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: erro ao tentar obter acesso exclusivo ao ficheiro dos grupos\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: erro ao tentar abrir o ficheiro dos grupos\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr ""
 "%s: erro ao tentar obter acesso exclusivo ao ficheiro de shadow dos grupos\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: erro ao tentar abrir o ficheiro de shadow dos grupos\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u não é único\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: gid %u não é único\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: não é possível obter um uid único\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: não é possível obter um gid único\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: a directoria base `%s' é inválida\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: o comentário `%s' é inválido\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: a directoria home `%s' é inválida\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: a data `%s' é inválida\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: é necessário shadow passwords para -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: é necessário shadow passwords para -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: o campo `%s' é inválido\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: a shell `%s' é inválida\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: o nome de utilizador '%s' é inválido\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: não foi possível reescrever o ficheiro de passwords\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: não foi possível reescrever o ficheiro de shadow de passwords\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: não foi possível obter acesso exclusivo ao ficheiro de passwords\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: não foi possível abrir o ficheiro de passwords\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr ""
 "%s: não é possível obter acesso exclusivo ao ficheiro de shadow de "
 "passwords\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: não é possível abrir o ficheiro de shadow de passwords\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: erro ao adicionar o registo da nova password\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: erro ao adicionar o registo da nova password de shadow\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: não é possível criar a directoria %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Não existe nenhum grupo chamado \"mail\", criando spool de mail com modo "
 "0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Não foi possível criar spool de mail para o utilizador %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: o utilizador %s existe\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1820,169 +1762,174 @@ msgstr ""
 "%s: o grupo %s existe - se pretende adicionar este utilizador a esse grupo, "
 "utilize -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 "%s: aviso: CREATE_HOME não é suportado, por favor em vez disso utilize -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Utilização: %s [-r] nome\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: erro ao actualizar o registo do grupo\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: não é possível abrir o ficheiro dos grupos\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: não é possível abrir o ficheiro de shadow dos grupos\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: erro ao apagar o registo da password\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: erro ao apagar o registo da password de shadow\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: o utilizador %s está actualmente no sistema\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: o %s não pertence a %s, não será removido\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: aviso: não é possível remover "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: o utilizador %s não existe\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: o utilizador %s é um utilizador NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: a directoria %s não será removida (iria remover a home do utilizador %"
 "s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: erro ao remover a directoria %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Utilização: %s\t[-u uid [-o]] [-g grupo] [-G grupo,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d home [-m]] [-s shell] [-c comentário] [-l novo_nome]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inactivo] [-e caduca] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p passwd] [-L|-U] nome\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: falta de memória em update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: falta de memória em update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: não foram especificadas flags\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: é necessária passwords shadow para -e e -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: o uid %lu não é único\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: erro ao alterar o registo de password\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: erro ao remover o registo de password\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: erro ao remover o registo de password de shadow\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: a directoria %s existe\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: não é possível criar %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: não é possível efectuar o chown a %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: não é possível renomear a directoria %s para %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: aviso: o %s não pertence a %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "a alteração do dono da caixa de correio falhou"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "falha ao renomear a caixa do correio"
 
@@ -2018,3 +1965,12 @@ msgstr ""
 "Uso:\n"
 "`vipw' edita /etc/passwd        `vipw -s' edita /etc/shadow\n"
 "`vigr' edita /etc/group         `vigr -s' edita /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "uid desconhecido: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid %u não é único\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: não é possível obter um uid único\n"
index b5e87687792ffdc09fce145c329fea77010e6e28..fa914f05bc862ddb68057a62ce56bcaef1343a67 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index 983af852f2d900ead7d1caddfeb1a05feb09927c..c65dcd1baacaf4ce313efffc7431f278e832dc16 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-06-12 17:16-0300\n"
 "Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
 "Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
@@ -25,40 +25,40 @@ msgstr "Aviso : grupo desconhecido %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Aviso : muitos grupos\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Sua senha expirou."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Sua senha está inativa."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Seu login expirou."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Entre em contato com o adminisrador do sistema.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Escolha uma nova senha.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Sua senha irá expirar em %ld dias.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Sua senha irá expirar amanhã.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Sua senha irá expirar hoje.\n"
@@ -106,7 +106,7 @@ msgstr "Sem mensagens."
 msgid "You have mail."
 msgstr "Você possui mensagens."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Senha ruim : %s.  "
@@ -165,7 +165,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "erro de configuração - item '%s' desconhecido (notifique o administrador)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Senha : "
 
@@ -174,156 +174,166 @@ msgstr "Senha : "
 msgid "%s's Password: "
 msgstr "Senha de %s : "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Uso : chage [-l] [-m mínimo_dias] [-M máximo_dias] [-W aviso]\n"
-"            [-I inativo] [-E expira] [-d último_dia] usuário\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Informe o novo valor ou pressione ENTER para aceitar o padrão\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Idade Mínima da Senha"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Idade Máxima da Senha"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Última Mudança de Senha (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Aviso de Expiração de Senha"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Senha Inativa"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Data de Expiração de Senha (YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Última Mudança de Senha (YYYY-MM-DD)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Nunca\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Senha Expira :\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Senha Inativa :\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Conta Expira :\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, fuzzy, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Número máximo de tentativas excedido (%d)\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s : não inclua \"l\" com outras flags\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s : permissão negada\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s : autenticação PAM falhou\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s : não foi possível abrir o arquivo de senhas\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s : usuário %s desconhecido\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s : não foi possível obter lock em arquivos de senhas shadow"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s : não foi possível abrir arquivo de senhas shadow"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Mudando a informação de idade para %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s : erro modificando campos\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s : não foi possível atualizar arquivo de senhas\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s : não foi possível atualizar arquivos de senhas shadow\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s : não foi possível reescrever arquivo de senhas shadow\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s : não foi possível reescrever arquivo de senhas\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s : chauthok PAM falhou\n"
@@ -369,7 +379,7 @@ msgstr "Fone Doméstico"
 msgid "Other"
 msgstr "Outro"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s : Não foi possível determinar seu nome de usuário.\n"
@@ -384,11 +394,6 @@ msgstr "%s : não foi possível mudar o usuário `%s' no cliente NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s : `%s' é o mestre NIS para este cliente.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s : permissão negada\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -424,34 +429,34 @@ msgstr "%s : \"%s\" contém caracteres ilegais\n"
 msgid "%s: fields too long\n"
 msgstr "%s : campos muito extensos\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Não foi possível mudar o ID para root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 "Não foi possível fazer local em arquivo de senhas; tente novamente mais "
 "tarde.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Não foi possível abrir arquivo de senhas.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s : %s não encontrado em /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Erro atualizando a entrada de senha.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Não foi possível gravar as mudanças no arquivo de senhas.\n"
@@ -461,7 +466,7 @@ msgstr "Não foi possível gravar as mudanças no arquivo de senhas.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Não foi possível remover o locak do arquivo de senhas.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -473,53 +478,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s : não foi possível obter lock em arquivo de senhas\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s : nao foi possível obter lock em arquivo shadow\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s : não foi possível abrir arquivo shadow\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s : linha %d : linha muito extensa\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s : linha %d : nova senha faltando\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s : linha %d : usuário %s desconhecido\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s : linha %d : não foi possível atualizar entrada de senha\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s : erro detectado, mudanças ignoradas\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s : erro atualizando arquivo shadow\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s : erro atualizando arquivo de senhas\n"
@@ -558,12 +563,12 @@ msgstr "%s é um shell inválido.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Uso : expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s : AVISO ! Deve ser set-UID root !\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s : usuário desconhecido\n"
@@ -585,22 +590,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds restante]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds lock]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Usuário Desconhecido : %s\n"
@@ -640,7 +645,7 @@ msgstr "%s : senhas de grupo shadow requeridas para -A\n"
 msgid "Who are you?\n"
 msgstr "Quem é você ?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "grupo desconhecido : %s\n"
@@ -674,7 +679,7 @@ msgstr "Mudando a senha para o grupo %s\n"
 msgid "New Password: "
 msgstr "Nova Senha : "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Informe a nova senha novamente : "
 
@@ -732,75 +737,75 @@ msgstr "%s : não foi possível remover o lock do arquivo\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Uso : groupadd [-g gid [-o]] [-f] grupo\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s : erro adicionando nova entrada de grupo\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s : o nome %s não é único\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s : o gid %u não é único\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s : não foi possível obter gid único\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s : %s não é um nome de grupo válido\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s : grupo %s inválido\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s : -O requer NOME=VALOR\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s : não foi possível regravar arquivo de grupo\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s : não foi possível regravar arquivo de grupo shadow\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s : não foi possível obter lock em arquivo de grupo\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s : não foi possível abrir arquivo de grupo\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s : não foi possível obter lock em arquivo de grupo shadow\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s : não foi possível abrir arquivo de grupo shadow\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s : grupo %s existe\n"
@@ -810,32 +815,32 @@ msgstr "%s : grupo %s existe\n"
 msgid "Usage: groupdel group\n"
 msgstr "Uso : groupdel grupo\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s : erro removendo entrada de grupo\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s : erro removendo entrada de grupo shadow\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s : não foi possível remover grupo primário do usuário.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s : grupo %s não existe\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s : grupo %s é um grupo NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s : %s é o mestre NIS\n"
@@ -850,12 +855,12 @@ msgstr "Uso : groupmod [-g gid [-o]] [-n nome] grupo\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s : %s não encontrado em /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s : %u não é um gid único\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s : %s não é um nome único\n"
@@ -870,22 +875,21 @@ msgstr "Uso : %s [-r] [-s] [grupo [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Uso : %s [-r] [-s] [grupo]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Não"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s : -s e -r são incompatíveis\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s : não foi possível obter lock no arquivo %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s : não foi possível abrir arquivo %s\n"
@@ -896,8 +900,8 @@ msgid "invalid group file entry\n"
 msgstr "entrada inválida no arquivo de grupo\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "remover a linha `%s' ? "
@@ -949,17 +953,17 @@ msgstr "remover membro administrativo `%s' ? "
 msgid "shadow group %s: no user %s\n"
 msgstr "grupo shadow %s : nenhum usuário %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s : não foi possível atualizar arquivo %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s : os arquivos foram atualizados\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s : nenhuma mudança\n"
@@ -989,7 +993,7 @@ msgstr "%s : não foi possível abrir arquivo de grupo shadow\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s : não foi possível remover grupo shadow %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s : não foi possível atualizar entrada shadow para %s\n"
@@ -1101,17 +1105,17 @@ msgstr ""
 "\n"
 "Login falhou após %d segundos de espera.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " em `%.100s' de `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " em `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1120,84 +1124,29 @@ msgstr ""
 "\n"
 "%s login : "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Login incorreto"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Aviso : login rehabilitado após travamento temporário.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Último login : %s em %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Último login : %.19s em %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " de %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s : nenhuma base de dados DBM no sistema - nenhuma ação executada\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s : não foi possível sobreescrever arquivo %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s : não foi possível abrir arquivos DBM para %s\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s : o início com "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s : erro interpretando linha \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "adicionando registro para nome"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s : erro adicionando registro para "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "adicionadas %d entradas. a maior foi %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Uso : %s [-vf] [-p|g|sp|sg] arquivo\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Uso : %s [-vf] [-p|g|sp] arquivo\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Uso : %s [-vf] [-p|g] arquivo\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1208,116 +1157,116 @@ msgstr "Uso : newgrp [-] [grupo]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Uso : sg group [[-c] comando]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid desconhecido : %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "GID desconhecido : %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid desconhecido : %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "GID desconhecido : %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Desculpe.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "muitos grupos\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Uso : %s [entrada]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s : não foi possível obter de /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr ""
 "%s : não foi possível obter lock de arquivos, tente novamente mais tarde\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s : não foi possível abrir arquivos\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s : linha %d : linha inválida\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s : linha %d : não foi possível criar GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s : linha %d : não foi possível criar UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s : linha %d : não foi possível encontrar usuário %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s : linha %d : não foi possível atualizar a senha\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s : linha %d : mkdir falhou\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s : linha %d : chown falhou\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s : linha %d : não foi possível atualizar entrada\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s : erro atualizando arquivos\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Uso : %s [-f|-s] [nome]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "      %s [-x máximo] [-n mínimo] [-w aviso] [-i inativo] nome\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "      %s {-l|-u|-d|-S|-e} nome\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Senha antiga : "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Senha incorreta para `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1327,16 +1276,16 @@ msgstr ""
 "Por favor, use uma combinação de letras em maiúsculas e minúsculas \n"
 "e de números.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nova senha : "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Tente novamente.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1345,149 +1294,144 @@ msgstr ""
 "\n"
 "Aviso : senha fraca (informe-a novamente para usá-la de qualquer forma).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "As senhas não são iguais; tente novamente.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "A senha para %s não pode ser modificada.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Desculpe, a senha para %s ainda não pode ser modificada.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s : sem memória\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s : Não foi possível executar %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s : repositório %s não suportado\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "Você não pode mudar o shell para %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Modificando a senha para %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "A senha para %s não foi modificada.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Senha modificada.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Uso : %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Uso : %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "entrada de arquivo de senha inválida\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "entrada de senha duplicada\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "nome de usuário '%s' inválido\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "usuário %s : nenhum grupo %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "usuário %s : diretório %s não existe\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "usuário %s : programa %s não existe\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "entrada de arquivos de senhas shadow inválida\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "entrada de senha shadow inválida\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "entrada de arquivo de senha não casa\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "usuário %s : última mudança de senha no futuro\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s : não foi possível obter lock em arquivo passwd\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s : não foi possível abrir arquivo passwd.\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s : não foi possível remover entrada shadow para %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s : não foi possível atualizar entrada passwd para %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s : não foi possível atualizar arquivo shadow\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s : não foi possível atualizar arquivo passwd\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s : não foi possível atualizar entrada para usuário %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s : não foi possível remover arquivo de senhas shadow\n"
@@ -1496,31 +1440,31 @@ msgstr "%s : não foi possível remover arquivo de senhas shadow\n"
 msgid "Sorry."
 msgstr "Desculpe."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s : deve ser executado a partir de um terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s : pam_start : erro %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Id desconhecido : %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Você não está autorizado a usar o su para %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "{Informe sua própria senha.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1529,7 +1473,7 @@ msgstr ""
 "%s : %s\n"
 "(Ignorado)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Sem shell\n"
@@ -1573,210 +1517,210 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Entrando em Modo de Manutenção do Sistema\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s : argumento numérico `%s' inválido\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s : gid %s desconhecido\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s : GID %s desconhecido\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s : grupo %s desconhecido\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s : não foi possível criar novo arquivo de padrões\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s : não foi possível abrir novo arquivo de padrões\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s : rename : %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s : grupo `%s' é um grupo NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s : muitos grupos especificados *máimo %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Uso : useradd [-u uid [-o]] [-g grupo] [-G grupo,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "              [-d home] [-s shell] [-c comentário] [-m [-k template]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "              [-f inativo] [-e expira ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "              [-p passwd] nome\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "      useradd -D [-g grupo] [-b base] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s : erro obtendo lock em arquivo de grupo\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s : erro abrindo arquivo de grupo\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s : erro obtendo lock em arquivo de grupo shadow\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s : erro abrindo arquivo de grupo shadow\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s : o uid %u não é único\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s : o gid %u não é único\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s : não foi possível obter uid único\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s : não foi possível obter gid único\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s : diretório base `%s'inválido\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s : comentário `%s' inválido\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s : diretório home `%s' inválido\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s : data `%s' inválida\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s : senhas shadow necessárias para -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s : senhas shadow necessárias para -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s : campo `%s' inválido\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s : shell `%s' inválida\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s : nome de usuário '%s' inválido\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s : não foi possível reescrever arquivo de senhas\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s : não foi possível reescrever arquivo de senhas shadow\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s : não foi possível obter lock em arquivo de senhas\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s : não foi possível abrir arquivo de senhas\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s : não foi possível obter lock em arquivo de senhas shadow\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s : não foi possível abrir arquivo de senhas shadow\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s : erro adicionando nova entrada de senha\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s : erro adicionando nova entrada de senha shadow\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s : não foi possível criar diretório %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s : não foi possível atualizar entrada para usuário %s\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s : usuário %s existe\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1784,166 +1728,171 @@ msgstr ""
 "%s : grupo %s existe - caso você ueira adicionar esse usuário a esse \n"
 "grupo, utilize -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s : aviso CREATE_HOME não é suportado, por favor, utilize -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Uso : %s [-r] nome\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s : erro atualizando entrada de grupo\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s : não foi possível abrir arquivo de grupo\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s : não foi possível abrir arquivo de grupo shadow\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s : erro removendo entrada de senha\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s : erro removendo entrada de senha shadow\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s : o usuário %s está logado no momento\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s : %s não é propriedade de %s, não removendo\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s : aviso : não foi possível remover "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s : usuário %s não existe\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s : usuário %s é um usuário NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s : não removendo diretório %s (removeria o home do usuário %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s : erro removendo diretório %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Uso : %s\t[-u uid [-o]] [-g grupo] [-G grupo,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d home [-m]] [-s shell] [-c comentário] [-l novo_nome]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inativo] [-e expira] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p passwd] [-L|-U] nome\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s : sem memória em update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s : sem memória em update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s : nenhuma flag informada\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s : senhas shadow necessárias para -e e -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s : o uid %lu não é único\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s : erro modificando entrada de senha\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s : erro removendo entrada de senha\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s erro removendo entrada de senha shadow\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s : diretório %s existe\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s : não foi possível criar %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s : não foi possível executar chown %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s : não foi possível renomear diretório %s para %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s : aviso : %s não é propriedade de %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "falha au mudar o dono da caixa-postal"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "falha ao renomear caixa-postal"
 
@@ -1979,3 +1928,12 @@ msgstr ""
 "Uso :\n"
 "`vipw' edita /etc/passwd        `vipw -s' edita /etc/shadow\n"
 "`vigr' edita /etc/group         `vigr -s' edita /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "uid desconhecido : %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s : o uid %u não é único\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s : não foi possível obter uid único\n"
index 2beb72fdf233026b680b4dc5c87fa1d37e08e3ca..5a8138b7a796d8f1af063b85298239c9de0df295 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index f84f3e4a140e4abd26cf109d8585eb1b91bf32f5..03f061a3fe07d36bd7323b9b6b2401d3a60a387d 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-05-14 02:20+0300\n"
 "Last-Translator: Sorin Batariuc <sorin@bonbon.net>\n"
 "Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
@@ -28,40 +28,40 @@ msgstr "Avertisment: grup necunoscut %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Avertisment: prea multe grupuri\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Parola v-a expirat."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Parola vă este inactivă."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Autentificarea v-a expirat."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Contactaţi administratorul de sistem.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Alegeţi o parolă nouă.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Parola vă va expira în %ld zile.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Parola vă va expira mâine.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Parola vă va expira azi.\n"
@@ -113,7 +113,7 @@ msgstr "Nu aveţi mesaje."
 msgid "You have mail."
 msgstr "Aveţi mesaje."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Parolă incorectă: %s.  "
@@ -172,7 +172,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "eroare de configurare - articol necunoscut '%s' (anunţaţi administratorul)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Parola: "
 
@@ -181,156 +181,166 @@ msgstr "Parola: "
 msgid "%s's Password: "
 msgstr "Parola %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Utilizare: chage [-l] [-m min_zile] [-M max_zile] [-W avertiza]\n"
-"             [-I inactivă] [-E expiră] [-d ultima_zi] utilizator\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Introduceţi noua valoare, sau apăsaţi ENTER pentru cea implicită\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Vârsta minimă a parolei"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Vârsta maximă a parolei"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Ultima schimbare de parolă (AAAA-LL-ZZ)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Avertisment de expirare a parolei"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Parolă inactivă"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Data expirării contului (AAAA-LL-ZZ)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Ultima schimbare de parolă\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "niciodată\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Parola expiră:\t\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Parolă inactivă\t\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Contul expiră\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Numărul minim de zile dintre modificările de parolă\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Numărul maxim de zile dintre modificările de parolă\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Numărul de zile de avertizări dinaintea expirării parolei\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: nu include \"l\" cu alte semnalizatoare\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: permisiune refuzată.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: autentificare PAM eşuată\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s; nu pot deschide fişierul de conturi utilizatori\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: utilizator necunoscut %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s nu pot încuia fişierul de parole criptate"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: nu pot deschide fişierul de parole criptate"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Modific informaţia de temporalitate pentru %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: eroare la modificarea câmpurilor\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: nu pot actualiza fişierul de conturi utilizatori\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: nu pot actualiza fişierul de parole criptate\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: nu pot rescrie fişierul de parole criptate\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: nu pot rescrie fişierul de conturi utilizatori\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: eşuare chauthtok PAM\n"
@@ -376,7 +386,7 @@ msgstr "Telefon acasă"
 msgid "Other"
 msgstr "Altele"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Nu vă pot determina numele de utilizator.\n"
@@ -391,11 +401,6 @@ msgstr "%s: nu pot schimba utilizatorul `%s' pe un client NIS.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' este stăpânul NIS pentru acest client.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: permisiune refuzată.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -431,32 +436,32 @@ msgstr "%s: \"%s\" conţine caractere ilegale\n"
 msgid "%s: fields too long\n"
 msgstr "%s: câmpuri prea lungi\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Nu pot schimba identificatorul la root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Nu pot încuia fişierul de conturi utilizatori; încercaţi mai târziu.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Nu pot deschide fişierul de conturi utilizatori.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: nu s-a găsit %s în /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Eroare la actualizarea intrării contului utilizator.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Nu pot face modificările în fişierul de conturi utilizatori.\n"
@@ -466,7 +471,7 @@ msgstr "Nu pot face modificările în fişierul de conturi utilizatori.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Nu pot descuia fişierul de conturi utilizatori.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -485,53 +490,53 @@ msgstr ""
 "  -m, --md5\t\tutilizează criptarea MD5 în loc de DES atunci când parola\n"
 "\t\t\tfurnizată nu este criptată\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: nu pot încuia fişierul de conturi utilizator\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: nu pot închide fişierul de parole criptate\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: nu pot deschide fişierul de parole criptate\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: linia %d: linie prea lungă\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: linia %d: lipseşte noua parolă\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: linia %d: utilizator necunoscut %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: linia %d: nu pot actualiza intrarea contului utilizator\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: detectată o eroare, schimbările sunt ignorate\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: eroare la actualizarea fişierului de parole criptate\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: eroare la actualizarea fişierului de conturi utilizatori\n"
@@ -570,12 +575,12 @@ msgstr "%s este o consolă nevalidă.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Utilizare: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: AVERTISMENT!  Trebuie atribuit UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: utilizator necunoscut\n"
@@ -614,24 +619,24 @@ msgstr ""
 "\t\t\t\tşi doar le limitează (dacă este folosit cu opţiunile -r, -m sau -l)\n"
 "\t\t\t\tpentru utilizatorul cu LOGIN\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 "Autentificare           Eşuări Maxim Cea mai recentă                     De "
 "la\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds rămase]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds rămase]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Utilizator necunoscut: %s\n"
@@ -671,7 +676,7 @@ msgstr "%s: sunt cerute parole criptate de grup pentru -A\n"
 msgid "Who are you?\n"
 msgstr "Cine sunteţi?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "grup necunoscut: %s\n"
@@ -705,7 +710,7 @@ msgstr "Schimbare parolă pentru grupul %s\n"
 msgid "New Password: "
 msgstr "Parola nouă: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Reintroduceţi noua parolă: "
 
@@ -763,75 +768,75 @@ msgstr "%s: nu pot descuia fişierul\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Utilizare: groupadd [-g id_grup [-o]] [-f] grup\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: eroare la adăugarea unei noi intrări de grup\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: numele %s nu este unic\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: id grup %u nu este unic\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: nu pot prelua id unic de grup\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s nu este un nume de grup valid\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: grup nevalid %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O cere NAME=VALUE\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: nu pot rescrie fişierul de grupuri\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: nu pot rescrie fişierul de parole criptate pentru grupuri\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: nu pot încuia fişierul de grupuri\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: nu pot deschide fişierul de grupuri\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: nu pot încuia fişierul de parole criptate pentru grupuri\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: nu pot deschide fişierul de parole criptate pentru grupuri\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: grupul %s există\n"
@@ -841,32 +846,32 @@ msgstr "%s: grupul %s există\n"
 msgid "Usage: groupdel group\n"
 msgstr "Utilizare: groupdel grup\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: eroare la ştergerea intrării de grup\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: eroare la ştergerea intrării parolei criptate de grup\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: nu pot şterge grupul primar al utilizatorului.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: grupul %s nu există\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: grupul %s este un grup NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s este stăpân NIS\n"
@@ -881,12 +886,12 @@ msgstr "Utilizare: groupmod [-g id_grup [-o]] [-n nume] grup\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s nu s-a găsit în /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u nu este un id unic de grup\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s nu este un nume unic\n"
@@ -901,22 +906,21 @@ msgstr "Utilizare: %s [-r] [-s] [grup [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Utilizare: %s [-r] [-s] [grup]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nu"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s şi -r sunt incompatibile\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: nu pot încuia fişierul %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: nu pot deschide fişierul %s\n"
@@ -927,8 +931,8 @@ msgid "invalid group file entry\n"
 msgstr "intrare nevalidă în fişierul de grupuri\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "şterg linia `%s'? "
@@ -980,17 +984,17 @@ msgstr "şterg membrul administrativ `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "parola criptată a grupului %s: nici un utilizator %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: nu pot actualiza fişierul %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: fişierele au fost actualizate\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: fără schimbări\n"
@@ -1020,7 +1024,7 @@ msgstr "%s: nu pot deschide fişierul de parole criptate de grupuri\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: nu pot şterge parola criptată pentru grupul %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: nu pot actualiza intrarea parolei criptate pentru %s\n"
@@ -1140,17 +1144,17 @@ msgstr ""
 "\n"
 "Timp expirat pentru autentificare după %d secunde.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " în `%.100s' din `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " în `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1159,84 +1163,29 @@ msgstr ""
 "\n"
 "%s autentificat: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "autentificare incorectă"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Avertisment: autentificare reactivată după închiderea temporară.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Ultima autentificare: %s în %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Ultima autentificare: %.19s în %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " de la %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: nici o bază de date DBM în sistem - nici o acţiune executată\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: nu pot rescrie fişierul %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: nu pot deschide fişierele DBM pentru %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: linia care începe cu %.16s... este prea lungă\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: eroare la analiza liniei \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "adăugare înregistrare pentru nume %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: eroare la adăugare înregistrare pentru %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "adăugate %d intrări, cea mai lungă a fost %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Utilizare: %s [-vf] [-p|g|sp|sg] fişier\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Utilizare: %s [-vf] [-p|g|sp] fişier\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Utilizare: %s [-vf] [-p|g] fişier\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1247,115 +1196,115 @@ msgstr "Utilizare: newgrp [-] [grup]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Utilizare: sg grup [[-c] comanda]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "id utilizator necunoscut: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "id grup necunoscut: %lu\n"
 
-#: src/newgrp.c:213
-#, c-format
-msgid "unknown gid: %lu\n"
+#: src/newgrp.c:212
+#, fuzzy, c-format
+msgid "unknown GID: %lu\n"
 msgstr "id grup necunoscut: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Scuze.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "prea multe grupuri\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Utilizare: %s [input]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: nu pot încuia /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: nu pot încuia fişierele, încercaţi mai târziu\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: nu pot deschide fişierele\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: linia %d: linie nevalidă\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: linia %d: nu pot crea ID grup\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: linia %d: nu pot crea ID utilizator\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: linia %d: nu pot găsi utilizatorul %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: linia %d: nu pot actualiza parola\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: linia %d: eşuare mkdir\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: linia %d: eşuare chown\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: linia %d: nu pot actualiza intrarea\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: eroare la actualizarea fişierelor\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Utilizare: %s [-f|-s] [nume]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x max] [-n min] [-w avertism] [-i inactiv] nume\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} nume\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Parola veche: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Parolă incorectă pentru `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1364,16 +1313,16 @@ msgstr ""
 "Introduceţi noua parolă (minimum %d, maximum %d caractere)\n"
 "Vă rog utilizaţi o combinaţie de litere mari şi mici şi numere.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Parola nouă: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Mai încercaţi.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1383,150 +1332,145 @@ msgstr ""
 "Avertisment: parolă slabă (mai introduceţi-o odată pentru a o folosi "
 "oricum).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Nu se potrivesc, mai încercaţi odată.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Parola pentru %s nu poate fi schimbată.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Scuze, parola pentru %s încă nu poate fi schimbată.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: nu mai este memorie\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: nu pot executa %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: depozitul %s nu este suportat\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr ""
 "%s: Nu puteţi vizualiza sau modifica informaţiile despre parola lui %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Schimbare parolă pentru %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Parola pentru %s este neschimbată.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Parolă schimbată.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Utilizare: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Utilizare: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "intrare nevalidă în fişierul de parole\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "intrare de parolă dublată\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "nume de utilizator nevalid '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "utilizatorul %s: fără grup %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "utilizatorul %s: directorul %s nu există\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "utilizatorul %s: programul %s nu există\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "intrare nevalidă în fişierul de parole criptate\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "intrare dublată de parolă criptată\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "nici o potrivire la intrările fişierului de conturi utilizatori\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "utilizatorul %s: ultima schimbare de parolă s-a făcut în viitor\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: nu pot încuia fişierul de conturi utilizatori\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: nu pot deschide fişierul de conturi utilizator\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: nu pot şterge intrarea de parolă criptată pentru %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: nu pot actualiza intrarea contului pentru %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: nu pot actualiza fişierul de parole criptate shadow\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: nu pot actualiza fişierul de conturi utilizator passwd\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: nu pot actualiza intrarea pentru utilizatorul %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: nu pot şterge fişierul de parole criptate shadow\n"
@@ -1535,31 +1479,31 @@ msgstr "%s: nu pot şterge fişierul de parole criptate shadow\n"
 msgid "Sorry."
 msgstr "Scuze."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: trebuie pornit de la un terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: eroare %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Identificator necunoscut: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Nu sunteţi autorizat pentru su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Introduceţi propria parolă.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1568,7 +1512,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorat)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Fără consolă\n"
@@ -1612,214 +1556,214 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Intrare în modul de întreţinere sistem\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: argument numeric nevalid `%s'\n"
 
-#: src/useradd.c:298
-#, c-format
-msgid "%s: unknown gid %s\n"
+#: src/useradd.c:289
+#, fuzzy, c-format
+msgid "%s: unknown GID %s\n"
 msgstr "%s: id grup necunoscut %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: grup necunoscut %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: nu pot crea noile fişiere implicite\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: nu pot deschide noile fişiere implicite\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: redenumesc: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: grupul `%s' este un grup NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: prea multe grupuri specificate (maximum %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Utilizare: useradd [-u id_utilizator [-o]] [-g grup] [-G grup,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                 [-d acasă] [-s consolă] [-c comentariu] [-m [-k şablon]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                [-f inactivă] [-e expiră ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                [-p passwd] nume\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "       useradd -D [-g grup] [-b baza] [-s consolă]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: eroare la închiderea fişierului de grupuri\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: eroare la deschiderea fişierului de grupuri\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr ""
 "%s: eroare la închiderea fişierului de parole criptate pentru grupuri\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr ""
 "%s: eroare la deschiderea fişierului de parole criptate pentru grupuri\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s; id utilizator %u nu este unic\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: id grup %u nu este unic\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: nu pot aloca un id utilizator unic\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: nu pot prelua id unic de grup\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: director de bază nevalid `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: comentariu nevalid `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: director personal nevalid `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: dată nevalidă `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: parole criptate cerute pentru -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s; parole criptate cerute pentru -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: fişier nevalid `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: consolă nevalidă `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: nume utilizator nevalid '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: nu pot rescrie fişierul de conturi utilizator\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: nu pot rescrie fişierul de parole criptate\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: nu pot încuia fişierul de conturi utilizatori\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: nu pot deschide fişierul de conturi utilizatori\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: nu pot încuia fişierul de parole criptate\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: nu pot deschide fişierul de parole criptate\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: eroare la adăugarea unei noi intrări de cont utilizator\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: eroare la adăugarea unei noi intrări de parolă criptată\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: nu pot crea directorul %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Nu există nici un grup cu numele de \"mail\", se crează directorul de poştă "
 "cu modul 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Nu pot crea directorul de poştă pentru utilizatorul %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: utilizatorul %s există\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1827,168 +1771,173 @@ msgstr ""
 "%s: grupul %s există - dacă vreţi să adăugaţi un utilizator la acest grup, "
 "folosiţi -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: avertisment: CREATE_HOME nu este suportat, vă rog folosiţi -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Utilizare: %s [-r] nume\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: eroare la actualizarea intrărilor de grupuri\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: nu pot deschide fişierul de grupuri\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: nu pot deschide fişierul de parole criptate pentru grupuri\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: eroare la ştergerea intrării contului utilizator\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: eroare la ştergerea intrării parolei criptate\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: utilizatorul %s este autentificat în acest moment\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s nu aparţine de %s, nu se şterge\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: avertisment: nu pot şterge "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: utilizatorul %s nu există\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: utilizatorul %s este un utilizator NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: nu se şterge directorul %s (s-ar şterge directorul personal al "
 "utilizatorului %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: eroare la ştergerea directorului %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Utilizare: %s\t[-u id_utilizator [-o]] [-g grup] [-G grup,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d acasă [-m]] [-s consolă] [-c comentariu] [-l nume_nou]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inactivă] [-e expiră ] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p passwd] [-L|-U] nume\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: nu mai este memorie pentru update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: nu mai este memorie pentru update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: nu s-au dat semnalizatoare\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: parole criptate necesare pentru -e şi -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: id utilizator %lu nu este unic\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: eroare la schimbarea intrării contului utilizator\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: eroare la ştergerea intrării contului utilizator\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: eroare la ştergerea intrării parolei criptate\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: directorul %s există\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: nu pot crea %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: nu pot schimba proprietarul %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: nu pot redenumi directorul %s în %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: avertisment: %s nu este deţinut de către %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "eşuare în schimbarea proprietarului căsuţei poştale"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "eşuare în redenumirea căsuţei poştale"
 
@@ -2024,3 +1973,12 @@ msgstr ""
 "Utilizare:\n"
 "`vipw' editează /etc/passwd        `vipw -s' editează /etc/shadow\n"
 "`vigr' editează /etc/group         `vigr -s' editează /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "id utilizator necunoscut: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s; id utilizator %u nu este unic\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: nu pot aloca un id utilizator unic\n"
index 20ab2d951a03bc38ce9c9043a373ae02af32e818..c5746fbc844b6857d0e85c994618c6a7e6996bd0 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index 8bd6ccbc2c09ff97e19848df18754e2d45b78a31..cf9b920d54077b362986b5d68152149d512702d7 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,3 +1,4 @@
+# translation of shadow_ru.po to Russian
 # translation of ru.po to Russian
 # translation of po_ru.po to Russian
 # Copyright (C) 2004, 2005 Free Software Foundation, Inc.
@@ -7,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.8\n"
+"Project-Id-Version: shadow 4.0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
-"PO-Revision-Date: 2005-05-13 20:56+0400\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
+"PO-Revision-Date: 2005-06-21 21:26+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@id.ru>\n"
 "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -30,40 +31,40 @@ msgstr "Внимание: неизвестная группа %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Внимание: слишком много групп\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Срок действия вашего пароля истёк."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Действие вашего пароля временно приостановлено."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Срок действия вашей учётной записи истёк."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Обратитесь к системному администратору.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Выберите и введите новый пароль.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Срок действия вашего пароля истекает через %ld дней.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Срок действия вашего пароля истекает завтра.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Срок действия вашего пароля истекает сегодня.\n"
@@ -116,7 +117,7 @@ msgstr "У вас нет почты."
 msgid "You have mail."
 msgstr "У вас есть почта."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Неверный пароль: %s.  "
@@ -176,7 +177,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "Ошибка конфигурации: неизвестный элемент '%s' (сообщите администратору)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Пароль: "
 
@@ -185,162 +186,187 @@ msgstr "Пароль: "
 msgid "%s's Password: "
 msgstr "Пароль пользователя %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Использование: chage [-l] [-m минимальный срок действия пароля (дней)]\n"
-"                     [-M максимальный срок действия пароля (дней)]\n"
-"                     [-W предупреждать за (дней)]\n"
-"                     [-I деактивировать учётную запись через (дней)]\n"
-"                     [-E отключить учётную запись (дата)]\n"
-"                     [-d дата последнего изменения пароля] имя пользователя\n"
-
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+"Использование: chage [параметры] имя пользователя\n"
+"\n"
+"Параметры:\n"
+"  -d, --lastday LAST_DAY\tустановить последний день смены пароля в LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tустановить дату окончания действия\n"
+"\t\t\t\tучётной записи до EXPIRE_DATE\n"
+"  -h, --help\t\t\tпоказать это сообщение и закончить работу\n"
+"  -I, --inactive INACTIVE\tустановить пароль для устаревших учётных записей "
+"в\n"
+"\t\t\t\tINACTIVE\n"
+"  -l, --list\t\t\tпоказать возраст учётной записи\n"
+"  -m, --mindays MIN_DAYS\tустановить минимальное число дней перед сменой "
+"пароля в\n"
+"\t\t\t\tMIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tустановить максимальное число дней перед сменой "
+"пароля в\n"
+"\t\t\t\tMAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tустановить количество дней с выдачей\n"
+"\t\t\t\tпредупреждения в WARN_DAYS\n"
+
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 "Введите новое значение или нажмите ВВОД для выбора значения по умолчанию\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Минимальный срок действия пароля (дней)"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Максимальный срок действия пароля (дней)"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Последний раз пароль был изменён (ГГГГ-ММ-ДД)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Предупреждать об истечении срока действия пароля за (дней)"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Деактивировать учётную запись через (дней)"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Дата истечения срока действия учётной записи (ГГГГ-ММ-ДД)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Последний раз пароль был изменён\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "никогда\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Срок действия пароля истекает\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Пароль будет деактивирован через (дней)\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Срок действия учётной записи истекает\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Минимальное количество дней между сменой пароля\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Максимальное количество дней между сменой пароля\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 "Количество дней с предупреждением перед деактивированием пароля\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: не используйте \"l\" совместно с другими ключами\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: Ð´оступ запрещён.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: Ð\94оступ запрещён.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: проверка подлинности PAM завершилась неудачно\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: не удалось открыть файл паролей\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: неизвестный пользователь %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: не удалось заблокировать теневой файл паролей"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: не удалось открыть теневой файл паролей"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Изменение информации о сроках действия для %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: ошибка при изменении полей\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: не удалось обновить файл паролей\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: не удалось обновить теневой файл паролей\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: не удалось перезаписать теневой файл паролей\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: не удалось перезаписать файл паролей\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: проверка подлинности (chauthtok) PAM завершилась неудачно\n"
@@ -386,7 +412,7 @@ msgstr "Домашний телефон"
 msgid "Other"
 msgstr "Другое"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Не удалось определить имя пользователя.\n"
@@ -401,11 +427,6 @@ msgstr "%s: невозможно изменить пользователя `%s'
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' -- сервер NIS для этого клиента.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Доступ запрещён.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -441,32 +462,32 @@ msgstr "%s: \"%s\" содержит недопустимые символы\n"
 msgid "%s: fields too long\n"
 msgstr "%s: поля слишком длинны\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Не удалось получить права суперпользователя.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Не удалось заблокировать файл паролей, попробуйте позже.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Не удалось открыть файл паролей.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s не найден в /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Не удалось обновить запись в файле паролей.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Не удалось сохранить изменения в файле паролей.\n"
@@ -476,7 +497,7 @@ msgstr "Не удалось сохранить изменения в файле
 msgid "Cannot unlock the password file.\n"
 msgstr "Не удалось разблокировать файл паролей.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -495,53 +516,53 @@ msgstr ""
 "  -m, --md5\t\tиспользовать шифрование MD5 вместо DES, если пароль\n"
 "\t\t\tвводится не шифрованным\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: не удалось заблокировать файл паролей\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: не удалось заблокировать теневой файл паролей\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: не удалось открыть теневой файл паролей\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: строка %d: слишком длинная строка\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: строка %d: отсутствует новый пароль\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: строка %d: неизвестный пользователь %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: строка %d: не удалось обновить поле пароля\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: обнаружена ошибка, изменения не были сохранены\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: не удалось обновить теневой файл паролей\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: не удалось обновить файл паролей\n"
@@ -580,14 +601,14 @@ msgstr "%s не является командной оболочкой.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Использование: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr ""
 "%s: ВНИМАНИЕ! Исполняемый файл программы должен быть с установленным битом "
 "set-UID!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: неизвестный пользователь\n"
@@ -623,22 +644,22 @@ msgstr ""
 "\t\t\t\tнеудачных попыток и ограничения (с помощью -r, -m или -l) только\n"
 "\t\t\t\tдля учётной записи LOGIN\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Уч.запись      Неуд. попыток  Максимум  Последний раз\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds осталось]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds блокировок]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Неизвестный пользователь: %s\n"
@@ -680,7 +701,7 @@ msgstr "%s: для -A требуется поддержка теневого ф
 msgid "Who are you?\n"
 msgstr "Вы кто?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "неизвестная группа: %s\n"
@@ -714,7 +735,7 @@ msgstr "Изменение пароля для группы %s\n"
 msgid "New Password: "
 msgstr "Новый пароль: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Повторите новый пароль: "
 
@@ -772,75 +793,75 @@ msgstr "%s: не удалось разблокировать файл\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Использование: groupadd [-g gid [-o]] группа\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: не удалось добавить новую группу\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: имя %s уже существует\n"
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
-msgstr "%s: gid %u уже существует\n"
+msgid "%s: GID %u is not unique\n"
+msgstr "%s: GID %u уже существует\n"
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
-msgstr "%s: не удалось найти уникальный gid\n"
+msgid "%s: can't get unique GID\n"
+msgstr "%s: не удалось найти уникальный GID\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s не может быть именем группы\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: неверная группа %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: для -O необходимо ИМЯ=ЗНАЧЕНИЕ\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: не удалось переписать файл групп\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: не удалось переписать теневой файл групп\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: не удалось заблокировать файл групп\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: не удалось открыть файл групп\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: не удалось заблокировать теневой файл групп\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: не удалось открыть теневой файл групп\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: группа %s существует\n"
@@ -850,32 +871,32 @@ msgstr "%s: группа %s существует\n"
 msgid "Usage: groupdel group\n"
 msgstr "Использование: groupdel группа\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: не удалось удалить группу из файла групп\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: не удалось удалить группу из теневого файла групп\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: невозможно удалить первичную группу пользователя.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: группа %s не существует\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: группа %s является группой NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s -- сервер NIS\n"
@@ -890,12 +911,12 @@ msgstr "Использование: groupmod [-g gid [-o]] [-n имя] груп
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s не найдена в /etc/group\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
-msgstr "%s: %u gid уже существует\n"
+msgid "%s: %u is not a unique GID\n"
+msgstr "%s: %u GID уже существует\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s имя уже существует\n"
@@ -910,22 +931,21 @@ msgstr "Использование: %s [-r] [-s] [файл групп [тене
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Использование: %s [-r] [-s] [файл групп]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Нет"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s и -r не могут использоваться одновременно\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: не удалось заблокировать файл %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: не удалось открыть файл %s\n"
@@ -936,8 +956,8 @@ msgid "invalid group file entry\n"
 msgstr "неверная запись в файле групп\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "удалить строку `%s'? "
@@ -989,17 +1009,17 @@ msgstr "удалить административного члена групп
 msgid "shadow group %s: no user %s\n"
 msgstr "теневая группа %s: пользователь %s не существует\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: не удалось обновить файл %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: файлы были изменены\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: изменений не внесено\n"
@@ -1029,7 +1049,7 @@ msgstr "%s: не удалось открыть теневой файл груп
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: не удалось удалить теневую группу %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: не удалось обновить запись в теневом файле паролей для %s\n"
@@ -1147,17 +1167,17 @@ msgstr ""
 "\n"
 "Время на выполнение входа в систему истекло после %d секунд.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " на `%.100s' с `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " на `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1166,84 +1186,29 @@ msgstr ""
 "\n"
 "Имя пользователя %s: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Неверное имя пользователя"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Внимание: вход в систему снова возможен.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Последний вход в систему: %s на %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Последний вход в систему: %.19s на %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " с %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: отсутствуют файлы DBM -- обновление не произведено\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: не удалось перезаписать файл %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: не удалось открыть файлы DBM для %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: строка, начинающаяся с %.16s... слишком длинна\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: ошибка разбора строки \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "добавление записи для имени %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: ошибка добавления записи для %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "добавлено записей: %d, самая длинная: %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Использование: %s [-vf] [-p|g|sp|sg] файл\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Использование: %s [-vf] [-p|g|sp] файл\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Использование: %s [-vf] [-p|g] файл\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1254,96 +1219,96 @@ msgstr "Использование: newgrp [-] [группа]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Использование: sg группа [[-c] команда]\n"
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
-msgstr "неизвестный uid: %u\n"
+msgid "unknown UID: %u\n"
+msgstr "неизвестный GID: %u\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "неизвестный gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "неизвестный GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Извините.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "слишком много групп\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Использование: %s [файл]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: не удалось заблокировать /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: не удалось заблокировать файлы, попробуйте позже\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: не удалось открыть файлы\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: строка %d: ошибка в строке\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: строка %d: не удалось создать GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: строка %d: не удалось создать UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: строка %d: не удалось найти пользователя %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: строка %d: не удалось обновить пароль\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: строка %d: не удалось создать каталог\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: строка %d: не удалось изменить владельца каталога\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: строка %d: не удалось обновить запись\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: ошибка обновления файлов\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Использованик: %s [-f|-s] [имя пользователя]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr ""
@@ -1351,21 +1316,21 @@ msgstr ""
 "действия пароля (дней)] [-w предупреждать за (дней)] [-i деактивировать "
 "через (дней)] имя пользователя\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} имя пользователя\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Старый пароль: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Неверный пароль для `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1374,16 +1339,16 @@ msgstr ""
 "Введите новый пароль (минимальная длина %d, максимальная длина %d символов)\n"
 " Используйте комбинацию из символов в верхнем и нижнем регистре и цифр.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Новый пароль: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Попробуйте ещё раз.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1393,150 +1358,145 @@ msgstr ""
 "Внимание: слишком простой пароль (чтобы всё равно использовать этот пароль, "
 "введите его ещё раз).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Пароли не совпадают, попробуйте ещё раз.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Пароль пользователя %s не может быть изменён.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Извините, но пароль пользователя %s пока не может быть изменён.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: нехватка памяти\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Не удалось выполнить %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: хранилище %s не поддерживается\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Вы не можете увидеть или изменить пароль для %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Изменение пароля для %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Пароль для %s не был изменён.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Пароль изменён.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
 "Использование: %s [-q] [-r] [-s] [файл паролей [теневой файл паролей]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Использование: %s [-q] [-r] [-s] [файл паролей]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "неверная запись в файле паролей\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "повторяющаяся запись в файле паролей\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "неверное имя пользователя '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "пользователь %s: группа %u не существует\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "пользователь %s: каталог %s не существует\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "пользователь %s: командная оболочка %s не существует\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "неверная запись в теневом файле паролей\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "повторяющаяся запись в теневом файле паролей\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "отсутствует соответствующая запись в файле паролей\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "пользователь %s: время последнего изменения пароля в будущем\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: не удалось заблокировать файл паролей\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: не удалось открыть файл паролей\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: не удалось удалить запись в теневом файле паролей для %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: не удалось обновить запись в файле паролей для %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: не удалось обновить теневой файл паролей\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: не удалось обновить файл паролей\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: не удалось обновить запись для пользователя %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: не удалось удалить теневой файл паролей\n"
@@ -1545,31 +1505,31 @@ msgstr "%s: не удалось удалить теневой файл паро
 msgid "Sorry."
 msgstr "Извините."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: должен выполняться из терминала\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: ошибка %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Неизвестный id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "У вас нет права переключать учётную запись %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Введите ваш собственный пароль.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1578,7 +1538,7 @@ msgstr ""
 "%s: %s\n"
 "(Игнорировано)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Отсутствует командная оболочка\n"
@@ -1623,215 +1583,215 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Вход в режим системного обслуживания\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: неверный числовой параметр `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: неизвестный gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: неизвестный GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: неизвестная группа %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: не удалось создать новый файл значений по умолчанию\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: не удалось открыть новый файл значений по умолчанию\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: переименовать: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: группа `%s' является группой NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: указано слишком много групп (максимум %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 "Использование: useradd [-u uid [-o]] [-g основная группа] [-G группа,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "               [-d домашний каталог] [-s командная оболочка] [-c "
 "комментарий] [-m [-k шаблон]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "               [-f деактивация] [-e срок действия учётной записи ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "               [-p пароль] имя пользователя\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr ""
 "       useradd -D [-g основная группа] [-b базовый каталог] [-s командная "
 "оболочка]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: не удалось заблокировать файл групп\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: не удалось открыть файл групп\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: не удалось заблокировать теневой файл групп\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: не удалось открыть теневой файл групп\n"
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u уже существует\n"
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: UID %u уже существует\n"
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð²Ñ\8bбÑ\80аÑ\82Ñ\8c Ñ\83никалÑ\8cнÑ\8bй uid\n"
+msgid "%s: can't get unique UID\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и Ñ\83никалÑ\8cнÑ\8bй UID\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: неверный базовый каталог `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: неверный комментарий `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: неверный домашний каталог `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: неверная дата `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: для -e необходима поддержка теневых паролей\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: для -f необходима поддержка теневых паролей\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: неверное поле `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: неверная командная оболочка `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: неверное имя пользователя '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: не удалось перезаписать файл паролей\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: не удалось перезаписать теневой файл паролей\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: не удалось заблокировать файл паролей\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: не удалось открыть файл паролей\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: не удалось заблокировать теневой файл паролей\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: не удалось открыть теневой файл паролей\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: не удалось добавить запись в файл паролей\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: не удалось добавить запись в теневой файл паролей\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: не удалось создать каталог %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 "Группа \"mail\" не существует, создаётся хранилище почты с правами 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Не удалось создать хранилище почты для пользователя %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: пользователь %s существует\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1839,170 +1799,175 @@ msgstr ""
 "%s: группа %s существует -- если вы хотите добавите в неё этого "
 "пользователя, используйте -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: внимание: CREATE_HOME не поддерживается, используйте -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Использование: %s [-r] имя пользователя\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: не удалось обновить запись в файле групп\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: не удалось открыть файл групп\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: не удалось открыть теневой файл групп\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: не удалось удалить запись из файла паролей\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: не удалось удалить запись из теневого файла паролей\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: пользователь %s находится в системе\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s не принадлежит %s, удаление не выполнено\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: внимание: не удалось удалить "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: пользователь %s не существует\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: пользователь %s является пользователем NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: каталог %s не удалён (является домашним каталогом пользователя %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: не удалось удалить каталог %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 "Использование: %s\t[-u uid [-o]] [-g основная группа] [-G группа,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr ""
 "\t\t[-d домашний каталог [-m]] [-s командная оболочка] [-c комментарий] [-l "
 "новое имя пользователя]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f деактивация] [-e срок действия учётной записи ] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p пароль] [-L|-U] имя пользователя\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: недостаточно памяти в update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: недостаточно памяти в update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: на заданы ключи\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: для -e и -f требуется поддержка теневых файлов паролей\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu уже существует\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: не удалось изменить запись в файле паролей\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: не удалось удалить запись из файла паролей\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: не удалось удалить запись из теневого файла паролей\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: каталог %s существует\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: не удалось создать %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: не удалось сменить владельца %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr "%s: внимание: не удалось полностью удалить старый домашний каталог %s"
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: не удалось переименовать каталог %s в %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: внимание: %s не принадлежит %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "не удалось сменить владельца почтового ящика"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "не удалось переименовать почтовый ящик"
 
index 59fd713176ad0b1c0ff4cc077f9d369b5771bb37..f8ab8811ffe2de53bb92ecc4a1b90acd17df2fce 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -27,40 +27,40 @@ msgstr ""
 msgid "Warning: too many groups\n"
 msgstr ""
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr ""
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr ""
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr ""
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr ""
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr ""
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr ""
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr ""
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr ""
@@ -108,7 +108,7 @@ msgstr ""
 msgid "You have mail."
 msgstr ""
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr ""
@@ -166,7 +166,7 @@ msgstr ""
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr ""
 
@@ -175,154 +175,166 @@ msgstr ""
 msgid "%s's Password: "
 msgstr ""
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr ""
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr ""
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr ""
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr ""
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr ""
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr ""
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr ""
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr ""
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr ""
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr ""
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr ""
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr ""
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr ""
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr ""
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr ""
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr ""
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr ""
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr ""
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr ""
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr ""
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr ""
@@ -364,7 +376,7 @@ msgstr ""
 msgid "Other"
 msgstr ""
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr ""
@@ -379,11 +391,6 @@ msgstr ""
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr ""
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr ""
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -419,32 +426,32 @@ msgstr ""
 msgid "%s: fields too long\n"
 msgstr ""
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr ""
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr ""
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr ""
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr ""
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr ""
@@ -454,7 +461,7 @@ msgstr ""
 msgid "Cannot unlock the password file.\n"
 msgstr ""
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -466,53 +473,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr ""
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr ""
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr ""
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr ""
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr ""
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr ""
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr ""
@@ -551,12 +558,12 @@ msgstr ""
 msgid "Usage: expiry {-f|-c}\n"
 msgstr ""
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr ""
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr ""
@@ -578,22 +585,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr ""
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr ""
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr ""
@@ -633,7 +640,7 @@ msgstr ""
 msgid "Who are you?\n"
 msgstr ""
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr ""
@@ -667,7 +674,7 @@ msgstr ""
 msgid "New Password: "
 msgstr ""
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr ""
 
@@ -725,75 +732,75 @@ msgstr ""
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr ""
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr ""
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr ""
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
+msgid "%s: GID %u is not unique\n"
 msgstr ""
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
+msgid "%s: can't get unique GID\n"
 msgstr ""
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr ""
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr ""
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr ""
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr ""
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr ""
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr ""
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr ""
@@ -803,32 +810,32 @@ msgstr ""
 msgid "Usage: groupdel group\n"
 msgstr ""
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr ""
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr ""
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr ""
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr ""
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr ""
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr ""
@@ -843,12 +850,12 @@ msgstr ""
 msgid "%s: %s not found in /etc/group\n"
 msgstr ""
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
+msgid "%s: %u is not a unique GID\n"
 msgstr ""
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr ""
@@ -863,22 +870,21 @@ msgstr ""
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr ""
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr ""
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr ""
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr ""
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr ""
@@ -889,8 +895,8 @@ msgid "invalid group file entry\n"
 msgstr ""
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr ""
@@ -942,17 +948,17 @@ msgstr ""
 msgid "shadow group %s: no user %s\n"
 msgstr ""
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr ""
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr ""
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr ""
@@ -982,7 +988,7 @@ msgstr ""
 msgid "%s: can't remove shadow group %s\n"
 msgstr ""
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr ""
@@ -1088,101 +1094,46 @@ msgid ""
 "Login timed out after %d seconds.\n"
 msgstr ""
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr ""
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr ""
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
 "%s login: "
 msgstr ""
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr ""
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr ""
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr ""
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr ""
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr ""
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr ""
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr ""
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr ""
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr ""
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr ""
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1193,280 +1144,275 @@ msgstr ""
 msgid "Usage: sg group [[-c] command]\n"
 msgstr ""
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
+msgid "unknown UID: %u\n"
 msgstr ""
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
+msgid "unknown GID: %lu\n"
 msgstr ""
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr ""
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr ""
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr ""
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr ""
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr ""
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr ""
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr ""
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr ""
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr ""
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr ""
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr ""
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr ""
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr ""
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr ""
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr ""
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr ""
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr ""
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr ""
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr ""
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr ""
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
 "Please use a combination of upper and lower case letters and numbers.\n"
 msgstr ""
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr ""
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr ""
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
 "Warning: weak password (enter it again to use it anyway).\n"
 msgstr ""
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr ""
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr ""
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr ""
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr ""
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr ""
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr ""
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr ""
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr ""
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr ""
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr ""
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr ""
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr ""
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr ""
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr ""
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr ""
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr ""
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr ""
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr ""
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr ""
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr ""
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr ""
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr ""
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr ""
@@ -1475,38 +1421,38 @@ msgstr ""
 msgid "Sorry."
 msgstr ""
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr ""
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr ""
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr ""
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr ""
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr ""
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
 "(Ignored)\n"
 msgstr ""
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr ""
@@ -1547,374 +1493,379 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr ""
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr ""
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
+msgid "%s: unknown GID %s\n"
 msgstr ""
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr ""
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr ""
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr ""
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr ""
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr ""
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr ""
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr ""
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr ""
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr ""
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
+msgid "%s: UID %u is not unique\n"
 msgstr ""
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
+msgid "%s: can't get unique UID\n"
 msgstr ""
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr ""
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr ""
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr ""
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr ""
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr ""
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr ""
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr ""
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr ""
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr ""
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr ""
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr ""
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr ""
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr ""
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr ""
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr ""
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr ""
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr ""
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr ""
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr ""
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr ""
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr ""
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr ""
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr ""
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr ""
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr ""
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr ""
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr ""
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr ""
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr ""
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr ""
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr ""
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr ""
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr ""
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr ""
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr ""
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr ""
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr ""
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr ""
 
index ded536398eb8de019998a6409bcefca7b67c247a..518128400fed6ba312b1f5cc1492be1732d1f5e4 100644 (file)
Binary files a/po/sk.gmo and b/po/sk.gmo differ
index 90fafa5c3fb0dfc9d6f613f04c8499bd7ecc4c47..ecd8ee91961dfcb36fa225972e135c8fd9aad944 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -2,10 +2,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 4.0.8\n"
+"Project-Id-Version: shadow 4.0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
-"PO-Revision-Date: 2005-04-25 11:14+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
+"PO-Revision-Date: 2005-06-25 18:08+0200\n"
 "Last-Translator: Peter KLFMANiK Mann <Peter.Mann@tuke.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
 "MIME-Version: 1.0\n"
@@ -23,40 +23,40 @@ msgstr "Varovanie: skupina %s je neznáma\n"
 msgid "Warning: too many groups\n"
 msgstr "Varovanie: príliš mnoho skupín\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Uplynula platnosť vášho hesla."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Vaše heslo je nečinné."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Uplynula platnosť vášho účtu."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Kontaktujte správcu systému.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Zvoľte nové heslo.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Za %ld dní uplynie platnosť vášho hesla.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Zajtra uplynie platnosť vášho hesla.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Dnes uplynie platnosť vášho hesla.\n"
@@ -111,7 +111,7 @@ msgstr "Nemáte žiadnu poštu."
 msgid "You have mail."
 msgstr "Máte poštu."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Heslo %s je chybné. "
@@ -170,7 +170,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "konfiguračná chyba - neznámy predmet '%s' (informujte správcu systému)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Heslo: "
 
@@ -179,158 +179,183 @@ msgstr "Heslo: "
 msgid "%s's Password: "
 msgstr "Heslo používateľa %s:"
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Použitie: chage [-l] [-m min_dní] [-M max_dní] [-W varovanie]\n"
-"                [-I nečinnosť] [-E uplynutie] [-d posledný_deň] používateľ\n"
+"Použitie: chage [voľby] používateľ\n"
+"\n"
+"Options:\n"
+"  -d, --lastday POSL_DEN\tnastaví dátum poslednej zmeny hesla na POSL_DEN\n"
+"  -E, --expiredate EXP_DATUM\tnastaví dátum vypršania platnosti účtu na "
+"EXP_DATUM\n"
+"  -h, --help\t\t\tzobrazí túto nápovedu a ukončí sa\n"
+"  -I, --inactive NEAKTIV\tnastaví nefunkčnosť hesla na NEAKTIV dní\n"
+"\t\t\t\tpo vypršaní platnosti účtu\n"
+"  -l, --list\t\t\tzobrazí časové údaje o účte\n"
+"  -m, --mindays MIN_DNÍ\tnastaví minimálny počet dní pred zmenou\n"
+"\t\t\t\thesla na MIN_DNÍ\n"
+"  -M, --maxdays MAX_DNÍ\tnastaví maximálny počet dní pred zmenou\n"
+"\t\t\t\thesla na MAX_DNÍ\n"
+"  -W, --warndays UPOZ_DNÍ\tnastaví upozornenie o platnosti účtu na UPOZ_DNÍ\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 "Zadajte novú hodnotu alebo stlačte ENTER pre použitie predvolenej hodnoty\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minimálna doba platnosti hesla"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Maximálna doba platnosti hesla"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Posledná zmena hesla (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Varovanie o uplynutí doby platnosti hesla"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Nečinné heslo"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Uplynutie platnosti účtu (YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Posledná zmena hesla\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "nikdy\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Platnosť hesla uplynie\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Nečinné heslo\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Platnosť účtu uplynie\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Minimálny počet dní medzi zmenami hesla\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Maximálny počet dní medzi zmenami hesla\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Počet dní upozornenia pred vypršaním platnosti hesla\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: nepoužívajte \"l\" s ostatnými príznakmi\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: odmietnutý prístup.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: Odmietnutý prístup.\n"
 
 #  c-format
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM autentifikácia zlyhala\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: súbor s heslami sa nedá otvoriť\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: používateľ %s je neznámy\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: súbor s tieňovými heslami sa nedá zamknúť"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: súbor s tieňovými heslami sa nedá otvoriť"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Mením časové informácie pre používateľa %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: chyba pri zmene položiek\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: súbor s heslami sa nedá aktualizovaťt\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá aktualizovať\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá prepísať\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: súbor s heslami sa nedá prepísať\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM metóda chauthok zlyhala\n"
@@ -378,7 +403,7 @@ msgstr "Telefón domov"
 msgid "Other"
 msgstr "Ostatné"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: vaše používateľské meno sa nedá zistiť.\n"
@@ -393,11 +418,6 @@ msgstr "%s: na NIC klientovi sa nedá zmeniť používateľ `%s'.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' je hlavným NIS serverom pre tohto klienta\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Odmietnutý prístup.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -433,32 +453,32 @@ msgstr "%s: \"%s\" obsahuje chybné znaky\n"
 msgid "%s: fields too long\n"
 msgstr "%s: položka je príliš dlhá\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "ID sa nedá zmeniť na root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Nedá sa zamknúť súbor s heslami; skúste to neskôr.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Súbor s heslami sa nedá otvoriť.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s sa nenachádza v /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Chyba pri aktualizácii záznamu hesla.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Nedajú sa vykonať zmeny v súbore s heslami.\n"
@@ -468,7 +488,7 @@ msgstr "Nedajú sa vykonať zmeny v súbore s heslami.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Súbor s heslami sa nedá odomknúť.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -487,53 +507,53 @@ msgstr ""
 "  -m, --md5\t\tpoužije MD5 kódovanie namiesto DES, ak zadané\n"
 "\t\t\theslá nie sú zakódované\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: súbor s heslami sa nedá zamknúť\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá zamknúť\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá otvoriť\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: riadok %d je príliš dlhý\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: riadok %d: chýba nové heslo\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: riadok %d: používateľ %s je neznámy\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: riadok %d: záznam hesla sa nedá aktualizovať\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: zistená chyba, zmeny budú zamietnuté\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: chyba pri aktualizácii súboru s tieňovými heslami\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: chyba pri aktualizácii súboru s heslami\n"
@@ -572,12 +592,12 @@ msgstr "Shell %s je neplatný.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Použitie: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: VAROVANIE! Musí mať oprávnenie root-a!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: neznámy používateľ\n"
@@ -612,22 +632,22 @@ msgstr ""
 "\t\t\t\ta limitov (iba s použitím volieb -r, -m or -l)\n"
 "\t\t\t\tpre používateľa s loginom LOGIN\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Login       Chybné   Najviac Posledné                 Na\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds ostalo]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds zámok]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Používateľ %s je neznámy.\n"
@@ -667,7 +687,7 @@ msgstr "%s: prepínač -A funguje iba s tieňovými heslami skupín\n"
 msgid "Who are you?\n"
 msgstr "Kto ste?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "skupina %s je neznáma\n"
@@ -701,7 +721,7 @@ msgstr "Mením heslo skupiny %s\n"
 msgid "New Password: "
 msgstr "Nové heslo: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Zadajte znova nové heslo: "
 
@@ -759,75 +779,75 @@ msgstr "%s: súbor sa nedá odomknúť\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Použitie: groupadd [-g gid [-o]] [-f] skupina\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: chyba pri pridávaní položky do súboru so skupinami\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: meno %s nie je jedinečné\n"
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
-msgstr "%s: uid %u nie je jedinečné\n"
+msgid "%s: GID %u is not unique\n"
+msgstr "%s: GID %u nie je jedinečný\n"
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
-msgstr "%s: nedá sa vytvoriÅ¥ jedineÄ\8d© gid\n"
+msgid "%s: can't get unique GID\n"
+msgstr "%s: nedá sa vytvoriÅ¥ jedineÄ\8d½ GID\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s nie je platným názvom skupiny\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: chybná skupina %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: prepínač -O vyžaduje argument typu MENO=HODNOTA\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: súbor so skupinami sa nedá prepísať\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: súbor s tieňovými skupinami sa nedá prepísať\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: súbor so skupinami sa nedá zamknúť\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: súbor so skupinami sa nedá otvoriť\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: súbor s tieňovými skupinami sa nedá zamknúť\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: súbor s tieňovými skupinami sa nedá otvoriť\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: skupina %s už existuje\n"
@@ -837,32 +857,32 @@ msgstr "%s: skupina %s už existuje\n"
 msgid "Usage: groupdel group\n"
 msgstr "Použitie: groupdel skupina\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: chyba pri odstraňovaní položky zo súboru so skupinami\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: chyba pri odstraňovaní položky zo súboru s tieňovými skupinami\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: primárna skupina používateľa sa nedá odstrániť\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: skupina %s neexistuje\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: skupina %s je NIS skupinou\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s je hlavným NIS serverom\n"
@@ -877,12 +897,12 @@ msgstr "Použitie: groupmod [-g gid [-o]] [-n meno] skupina\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s sa nenachádza v /etc/group\n"
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
-msgstr "%s: gid %u nie je jedinečné\n"
+msgid "%s: %u is not a unique GID\n"
+msgstr "%s: GID %u nie je jedinečný\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: meno %s nie je jedinečné\n"
@@ -898,22 +918,21 @@ msgstr ""
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Použitie: %s [-r] [-s] [súbor_so_skupinami]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nie"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s a -r nie sú zlučiteľné\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: súbor %s sa nedá zamknúť\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: súbor %s sa nedá otvoriť\n"
@@ -924,8 +943,8 @@ msgid "invalid group file entry\n"
 msgstr "chybná položka v súbore so skupinami\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "zmazať riadok `%s'?"
@@ -977,17 +996,17 @@ msgstr "zmazať administrátora `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "tieňová skupina %s: používateľ %s neexistuje\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: súbor %s sa nedá aktualizovať\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: súbory boli aktualizované\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: bezo zmien\n"
@@ -1017,7 +1036,7 @@ msgstr "%s: súbor s tieňovými skupinami sa nedá otvoriť\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: položka tieňovej skupiny %s sa nedá odstrániť\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: položka %s súboru s tieňovými heslami sa nedá aktualizovať\n"
@@ -1136,17 +1155,17 @@ msgstr ""
 "\n"
 "Uplynul časový limit (%d sekúnd) na prihlásenie.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " na `%.100s' z `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " na `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1155,84 +1174,29 @@ msgstr ""
 "\n"
 "Prihlasovacie meno na %s: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Chybné prihlásenie"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Varovanie: po dočasnom zákaze je prihlasovánie opäť povolené.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Posledné prihlásenie: %s na %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Posledné prihlásenie: %.19s na %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " z %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: systém neobsahuje žiadnu DBM databázu - nič sa nevykoná\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: súbor %s sa nedá prepísať\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: súbory s DBM databázami pre %s sa nedajú otvoriť\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: riadok začínajúci %.16s... je príliš dlhý\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: chyba pri spracovaní riadku \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "pridávam záznam pre meno %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: chyba pri pridávaní záznamu pre %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "počet pridaných položiek: %d; dĺžka najväčšej: %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Použitie: %s [-vf] [-p|g|sp|sg] súbor\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Použitie: %s [-vf] [-p|g|sp] súbor\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Použitie: %s [-vf] [-p|g] súbor\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1243,115 +1207,115 @@ msgstr "Použitie: newgrp [-] [skupina]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Použitie: sg skupina [[-c] príkaz]\n"
 
-#: src/newgrp.c:131
+#: src/newgrp.c:130
 #, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid %u je neznáme\n"
+msgid "unknown UID: %u\n"
+msgstr "neznámy UID: %u\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid %lu je neznáme\n"
+msgid "unknown GID: %lu\n"
+msgstr "neznámy GID %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Ľutujem.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "príliš mnoho skupín\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Použitie: %s [vstup]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: súbor /etc/passwd sa nedá zamknúť\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: súbory sa nedajú zamknúť, skúste to neskôr znova\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: súbory sa nedajú otvoriť\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: riadok %d: chybný riadok\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: riadok %d: nedá sa vytvoriť GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: riadok %d: nedá sa vytvoriť UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: riadok %d: nedá sa nájsť používateľ %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: riadok %d: heslo sa nedá aktualizovať\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: riadok %d: volanie mkdir zlyhalo\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: riadok %d: volanie chown zlyhalo\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: riadok %d: položka sa nedá aktualizovať\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: chyba pri aktualizácii súborov\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Použitie: %s [-f|-s] [meno]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "          %s [-x max] [-n min] [-w varovanie] [-i nečinnosť] meno\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "          %s {-l|-u|-d|-S|-e} meno\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Staré heslo: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Chybné heslo pre `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1360,16 +1324,16 @@ msgstr ""
 "Zadajte nové heslo (počet znakov v intervale %d až %d).\n"
 "Použijte kombináciu veľkých a malých písmen s číslicami.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nové heslo: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Skúste to znova.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1378,150 +1342,145 @@ msgstr ""
 "\n"
 "Varovanie: slabé heslo (ak ho chcete naozaj použiť, znova ho zadajte).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Nezhodujú sa; skúste to znova.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Heslo pre %s sa nedá zmeniť.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Ľutujem, ale heslo pre %s sa ešte nedá zmeniť.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: nedostatok pamäti\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: %s sa nedá spustiť"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: skladisko %s nie je podporované\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Nemôžete prezerať alebo meniť informácie o hesle pre %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Mením heslo používateľovi %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Heslo používateľa %s nebolo zmenené.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Heslo bolo zmenené.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
 "Použitie: %s [-q] [-r] [-s] [súbor_s_heslami [súbor_s_tieňovými_heslami]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Použitie: %s [-q] [-r] [-s] [súbor_s_heslami]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "chybná položka v súbore s heslami\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "duplikovaná položka v súbore s heslami\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "chybné používateľské meno '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "používateľ %s: skupina %u neexistuje\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "používateľ %s: adresár %s neexistuje\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "používateľ %s: program %s neexistuje\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "chybná položka v súbore s tieňovými heslami\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "duplikovaná položka v súbore s tieňovými heslami\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "chýba položka v súbore s heslami\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "používateľ %s: posledná zmena hesla v budúcnosti\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: súbor s heslami sa nedá zamknúť\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: súbor s heslami sa nedá otvoriť\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: položka súboru s heslami pre používateľe %s sa nedá odstrániť\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: položka súboru s heslami pre používateľe %s sa nedá aktualizovať\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá aktualizovať\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: súbor s heslami sa nedá aktualizovať\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: položka pre používateľa %s sa nedá aktualizovať\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: nemôžete zmazať súbor s tieňovými heslami\n"
@@ -1530,31 +1489,31 @@ msgstr "%s: nemôžete zmazať súbor s tieňovými heslami\n"
 msgid "Sorry."
 msgstr "Ľutujem."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: musí byť spustené z terminálu\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: chyba %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Id %s je neznáme.\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Nie ste oprávnení používať su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Zadajte vaše heslo.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1563,7 +1522,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorujem)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Žiadny shell\n"
@@ -1607,211 +1566,211 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Vstupujem do režimu údržby systému\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: chybný číselný argument `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: gid %s je neznáme\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: neznámy GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
-msgstr "%s: skupina %s je neznáma\n"
+msgstr "%s: neznáma skupina %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: nedá sa vytvoriť nový súbor s predvolenými hodnotami\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: nedá sa otvoriť nový súbor s predvolenými hodnotami\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: premenovať: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: skupina `%s' je NIS skupinou.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: bolo zadaných príliš veľa skupín (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Použitie: useradd [-u uid [-o]] [-g skupina [-G skupina,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                  [-d domáci_adresár] [-s shell] [-c komentár] [-m [-k "
 "šablóna]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                  [-f nečinnosť] [-e uplynutie_lehoty]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                  [-p heslo] meno\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "          useradd -D [-g skupina] [-b základný_adresár] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: chyba pri zamykaní súboru so skupinami\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: chyba pri otváraní súboru so skupinami\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: chyba pri zamykaní súboru s tieňovými heslami\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: chyba pri otváraní súboru s tieňovými heslami\n"
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s uid %u nie je jedinečné\n"
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: UID %u nie je jedinečný\n"
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: nemôžem získať jedinečné uid\n"
+msgid "%s: can't get unique UID\n"
+msgstr "%s: nedá sa vytvoriť jedinečný UID\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: chybný základný adresár `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: chybný komentár `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: chybný domáci adresár `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: chybný dátum `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: prepínač -e vyžaduje tieňové heslá\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: prepínač -f vyžaduje tieňové heslá\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: chybná položka `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: chybný shell `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: chybné používateľské meno `%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: súbor s heslami sa nedá prepísať\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá prepísať\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: súbor s heslami sa nedá zamknúť\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: súbor s heslami sa nedá otvoriť\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá zamknúť\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: súbor s tieňovými heslami sa nedá otvoriť\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: chyba pri vytváraní novej položky v súbore s heslami\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: chyba pri vytváraní novej položky v súbore s tieňovými heslami\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: nedá sa vytvoriť adresár %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr "Skupina \"mail\" nejestvuje, vytvára sa mail spool s právami 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Nedá sa vytvoriť mail spool pre používateľa %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: používateľ %s už existuje\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1819,166 +1778,172 @@ msgstr ""
 "%s: skupina %s už existuje - ak chcete pridať tohto používateľa do tejto "
 "skupiny, použijte -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: varovanie: CREATE_HOME nie je podporované, použijte prepínač -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Použitie: %s [-r] meno\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: položka súboru so skupinami sa nedá aktualizovať\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: súbor so skupinami sa nedá otvoriť\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: súbor s tieňovými skupinami sa nedá otvoriť\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: chyba pri odstraňovaní položky zo súboru s heslami\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: chyba pri odstraňovaní položky zo súboru s tieňovými heslami\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: používateľ %s je práve prihlásený\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: vlastníkom %s nie je %s, nemažem ho\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: varovanie: nemôžem zmazať "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: používateľ %s neexistuje\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: používateľ %s je NIS používateľom\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: adresár %s nebudem mazať (je to domáci adresár používateľa %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: chyba pri mazaní adresára %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Použitie: %s\t[-u uid [-o]] [-g skupina [-G skupina,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d domáci_adresár [-m]] [-s shell] [-c komentár] [-l nové_meno]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f nečinnosť] [-e uplynutie_lehoty] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p heslo] [-L|-U] meno\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s nedostatok pamäti v update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: nedostatok pamäti v update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: žiadne prepínače\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: prepínače -e a -f vyžadujú tieňové heslá\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
-msgstr "%s uid %lu nie je jedineÄ\8d©\n"
+msgstr "%s uid %lu nie je jedineÄ\8d½\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: chyba pri zmene položky v súbore s heslami\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: chyba pri odstraňovaní položky zo súboru s heslami\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: chyba pri odstraňovaní položky zo súboru s tieňovými heslami\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: adresár %s už existuje\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: %s sa nedá vytvoriť\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: volanie chown pre %s zlyhalo\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+"%s: varovanie: chyba pri úplnom odstraňovaní starého domáceho adresára %s"
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: adresár %s sa nedá premenovať na %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: varovanie: vlastníkom %s nie je %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "chyba pri zmene vlastníka schránky"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "chyba pri premenovaní schránky"
 
index 67af95fde28b4927d621e3f0999c7bd7f25e5af9..845c012f0a884aa8c74ce5fc5d2232020983b370 100644 (file)
Binary files a/po/sq.gmo and b/po/sq.gmo differ
index 83f4498c0feba938a8fbaa60f90aef301440690d..c7faafbd318562258f062fe0f722e690eb293b4e 100644 (file)
--- a/po/sq.po
+++ b/po/sq.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-11-20 03:28+0100\n"
 "Last-Translator: Elian Myftiu <pinguini AT fastwebnet DOT it>\n"
 "Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
@@ -27,40 +27,40 @@ msgstr "Kujdes: grup i panjohur %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Kujdes: ka shumë grupe\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Fjalëkalimi yt ka skaduar."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Fjalëkalimi yt nuk është aktiv."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Login-i yt ka skaduar."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "   Kontakto administratorin e sistemit.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "   Zgjidh një fjalëkalim të ri.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr ""
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr ""
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr ""
@@ -108,7 +108,7 @@ msgstr ""
 msgid "You have mail."
 msgstr ""
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr ""
@@ -166,7 +166,7 @@ msgstr ""
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr ""
 
@@ -175,154 +175,166 @@ msgstr ""
 msgid "%s's Password: "
 msgstr ""
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr ""
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr ""
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr ""
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr ""
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr ""
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr ""
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr ""
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr ""
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Fjalëkalimi yt nuk është aktiv."
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr ""
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr ""
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr ""
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr ""
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr ""
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr ""
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr ""
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr ""
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr ""
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr ""
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr ""
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr ""
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr ""
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr ""
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr ""
@@ -364,7 +376,7 @@ msgstr ""
 msgid "Other"
 msgstr ""
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr ""
@@ -379,11 +391,6 @@ msgstr ""
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr ""
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr ""
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -419,32 +426,32 @@ msgstr ""
 msgid "%s: fields too long\n"
 msgstr ""
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr ""
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr ""
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr ""
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr ""
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr ""
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr ""
@@ -454,7 +461,7 @@ msgstr ""
 msgid "Cannot unlock the password file.\n"
 msgstr ""
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -466,53 +473,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr ""
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr ""
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr ""
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr ""
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr ""
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr ""
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr ""
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr ""
@@ -551,12 +558,12 @@ msgstr ""
 msgid "Usage: expiry {-f|-c}\n"
 msgstr ""
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr ""
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr ""
@@ -578,22 +585,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr ""
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr ""
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr ""
@@ -633,7 +640,7 @@ msgstr ""
 msgid "Who are you?\n"
 msgstr ""
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr ""
@@ -667,7 +674,7 @@ msgstr ""
 msgid "New Password: "
 msgstr ""
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr ""
 
@@ -725,75 +732,75 @@ msgstr ""
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr ""
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr ""
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr ""
 
-#: src/groupadd.c:234
+#: src/groupadd.c:233
 #, c-format
-msgid "%s: gid %u is not unique\n"
+msgid "%s: GID %u is not unique\n"
 msgstr ""
 
-#: src/groupadd.c:258
+#: src/groupadd.c:257
 #, c-format
-msgid "%s: can't get unique gid\n"
+msgid "%s: can't get unique GID\n"
 msgstr ""
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr ""
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr ""
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr ""
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr ""
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr ""
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr ""
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr ""
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr ""
@@ -803,32 +810,32 @@ msgstr ""
 msgid "Usage: groupdel group\n"
 msgstr ""
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr ""
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr ""
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr ""
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr ""
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr ""
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr ""
@@ -843,12 +850,12 @@ msgstr ""
 msgid "%s: %s not found in /etc/group\n"
 msgstr ""
 
-#: src/groupmod.c:242
+#: src/groupmod.c:241
 #, c-format
-msgid "%s: %u is not a unique gid\n"
+msgid "%s: %u is not a unique GID\n"
 msgstr ""
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr ""
@@ -863,22 +870,21 @@ msgstr ""
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr ""
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr ""
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr ""
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr ""
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr ""
@@ -889,8 +895,8 @@ msgid "invalid group file entry\n"
 msgstr ""
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr ""
@@ -942,17 +948,17 @@ msgstr ""
 msgid "shadow group %s: no user %s\n"
 msgstr ""
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr ""
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr ""
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr ""
@@ -982,7 +988,7 @@ msgstr ""
 msgid "%s: can't remove shadow group %s\n"
 msgstr ""
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr ""
@@ -1088,101 +1094,46 @@ msgid ""
 "Login timed out after %d seconds.\n"
 msgstr ""
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr ""
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr ""
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
 "%s login: "
 msgstr ""
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr ""
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr ""
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr ""
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr ""
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr ""
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr ""
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr ""
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr ""
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr ""
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr ""
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr ""
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1193,280 +1144,275 @@ msgstr ""
 msgid "Usage: sg group [[-c] command]\n"
 msgstr ""
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr ""
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "Kujdes: grup i panjohur %s\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
+msgid "unknown GID: %lu\n"
 msgstr ""
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr ""
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr ""
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr ""
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr ""
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr ""
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr ""
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr ""
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr ""
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr ""
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr ""
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr ""
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr ""
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr ""
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr ""
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr ""
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr ""
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr ""
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr ""
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr ""
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr ""
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
 "Please use a combination of upper and lower case letters and numbers.\n"
 msgstr ""
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr ""
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr ""
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
 "Warning: weak password (enter it again to use it anyway).\n"
 msgstr ""
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr ""
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr ""
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr ""
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr ""
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr ""
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr ""
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr ""
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr ""
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr ""
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr ""
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr ""
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr ""
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr ""
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr ""
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr ""
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr ""
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr ""
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr ""
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr ""
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr ""
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr ""
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr ""
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr ""
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr ""
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr ""
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr ""
@@ -1475,38 +1421,38 @@ msgstr ""
 msgid "Sorry."
 msgstr ""
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr ""
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr ""
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr ""
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr ""
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr ""
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
 "(Ignored)\n"
 msgstr ""
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr ""
@@ -1547,374 +1493,379 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr ""
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr ""
 
-#: src/useradd.c:298
-#, c-format
-msgid "%s: unknown gid %s\n"
-msgstr ""
+#: src/useradd.c:289
+#, fuzzy, c-format
+msgid "%s: unknown GID %s\n"
+msgstr "Kujdes: grup i panjohur %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr ""
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr ""
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr ""
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr ""
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr ""
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr ""
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr ""
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr ""
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr ""
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr ""
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr ""
 
-#: src/useradd.c:909
+#: src/useradd.c:875
 #, c-format
-msgid "%s: uid %u is not unique\n"
+msgid "%s: UID %u is not unique\n"
 msgstr ""
 
-#: src/useradd.c:939
+#: src/useradd.c:905
 #, c-format
-msgid "%s: can't get unique uid\n"
+msgid "%s: can't get unique UID\n"
 msgstr ""
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr ""
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr ""
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr ""
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr ""
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr ""
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr ""
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr ""
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr ""
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr ""
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr ""
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr ""
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr ""
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr ""
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr ""
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr ""
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr ""
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr ""
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr ""
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr ""
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr ""
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr ""
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr ""
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr ""
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr ""
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr ""
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr ""
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr ""
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr ""
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr ""
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr ""
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr ""
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr ""
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr ""
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr ""
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr ""
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr ""
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr ""
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr ""
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr ""
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr ""
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr ""
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr ""
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr ""
 
index 1439a3b048229be2a8111c891f0fe1710196b458..2edc80c727a3986ecab7d74a3adaccb9364cdd1f 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index 0a7c3cafa0932ac7078b9f7e610225a995673138..9e3098b533a81a0e42fcdec7a5ff0e685eb71e51 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 19990709\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-12-14 18:21+0100\n"
 "Last-Translator: Per Olofsson <pelle@dsv.su.se>\n"
 "Language-Team: sv <sv@li.org>\n"
@@ -25,40 +25,40 @@ msgstr "Varning: okänd grupp %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Varning: för mÃ¥nga grupper\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Ditt lösenord har upphört"
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Ditt lösenord Ã¤r inaktivt"
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Din användare har upphört."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Kontakta systemoperatören.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Välj ett nytt lösenord.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Ditt lösenord upphör om %ld dagar.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Ditt lösenord upphör imorgon.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Ditt lösenord upphör idag.\n"
@@ -106,7 +106,7 @@ msgstr "Ingen post."
 msgid "You have mail."
 msgstr "Du har post."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Felaktigt lösenord: %s.  "
@@ -164,7 +164,7 @@ msgstr "Kunde inte allokera utrymme för konfigureringsinformation.\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "konfigurationsfel - okänt object \"%s\" (meddela systemoperatören)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Lösenord: "
 
@@ -173,156 +173,166 @@ msgstr "Lösenord: "
 msgid "%s's Password: "
 msgstr "Lösenord för %s: "
 
-#: src/chage.c:112
-#, fuzzy, c-format
+#: src/chage.c:110
+#, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Användning: %s [-l] [-m min_dagar] [-M max_dagar] [-W varna]\n"
-"\t[-I inaktiv] [-E utgÃ¥ng] [-d senaste_dag] användare\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Skriv in det nya värdet, eller tryck ENTER för standardvärdet\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Minsta lösenordsÃ¥lder"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Högsta lösenordsÃ¥lder"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Senaste lösenordsändring (Ã\85Ã\85Ã\85Ã\85-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Lösenords upphörningsvarning"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Lösenord inaktivt"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Kontot upphör (Ã\85Ã\85Ã\85Ã\85-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Senaste lösenordsändring (Ã\85Ã\85Ã\85Ã\85-MM-DD)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Aldrig\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Lösenordet upphör:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Lösenord inaktiv:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Lösenordet upphör:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, fuzzy, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Maximala antalet försök Ã¶verskridna (%d)\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: inkludera inte \"l\" tillsammands med andra flaggor\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
-#, fuzzy, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: tillÃ¥telse nekas\n"
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
+#, c-format
+msgid "%s: Permission denied.\n"
+msgstr "%s: TillÃ¥telse nekas.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM-autentisering misslyckades\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: kan inte Ã¶ppna lösenordsfilen\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: okänd användare %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: kan inte lÃ¥sa skugglösenordsfilen"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: kan inte Ã¶ppna skugglösenordsfilen"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Ã\84ndrar Ã¥ldringsinformation för %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: fel uppstod under byte av fält\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: kan inte uppdatera lösenordsfilen\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: kan inte uppdatera skugglösenordsfilen\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: kan inte skriva om skugglösenordsfilen\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: kan inte skriva om lösenordsfilen\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM-funktionen chauthtok misslyckades\n"
@@ -368,7 +378,7 @@ msgstr "Hemtelefonnummer"
 msgid "Other"
 msgstr "Ã\96vrigt"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Kan inte avgöra ditt användarnamn.\n"
@@ -383,11 +393,6 @@ msgstr "%s: kan inte Ã¤ndra användare \"%s\" pÃ¥ NIS-klienten.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: \"%s\" Ã¤r NIS-mästare för denna klient.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: TillÃ¥telse nekas.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -423,32 +428,32 @@ msgstr "%s: \"%s\" innehÃ¥ller otillÃ¥tna tecken\n"
 msgid "%s: fields too long\n"
 msgstr "%s: för lÃ¥nga fält\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Kan inte Ã¤ndra ID till root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Kan inte lÃ¥sa lösenordsfilen; försök igen senare.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Kan inte Ã¶ppna lösenordsfilen.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s hittades inte i /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Fel under uppdatering av lösenordsnoteringen.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Kan inte genomföra Ã¤ndringar i lösenordsfilen.\n"
@@ -458,7 +463,7 @@ msgstr "Kan inte genomföra Ã¤ndringar i lösenordsfilen.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Kan inte lÃ¥sa upp lösenordsfilen.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -477,53 +482,53 @@ msgstr ""
 "  -m, --md5\t\tanvänd MD5-kryptering i stället för DES när\n"
 "\t\t\tde angivna lösenorden inte Ã¤r krypterade\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: kan inte lÃ¥sa lösenordsfilen\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: kan inte lÃ¥sa skuggfilen\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: kan inte Ã¶ppna skuggfilen\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: rad %d: för lÃ¥ng rad\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: rad %d: det nya lösenordet saknas\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: rad %d: okänd användare %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: rad %d: kan inte uppdatera lösenordsnoteringen\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: fel upptäcktes, Ã¤ndringarna ignorerades\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: fel under uppdatering av skuggfilen\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: fel under uppdatering av lösenordsfilen\n"
@@ -562,12 +567,12 @@ msgstr "%s Ã¤r ett felaktigt skal.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Användning: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: VARNING!  MÃ¥ste vara set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: okänd användare\n"
@@ -589,22 +594,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds kvar]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds lÃ¥sning]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Okänd användare: %s\n"
@@ -644,7 +649,7 @@ msgstr "%s: skuggrupplösenord krävs för -A\n"
 msgid "Who are you?\n"
 msgstr "Vem Ã¤r du?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "okänd grupp: %s\n"
@@ -678,7 +683,7 @@ msgstr "Ã\84ndrar lösenordet för grupp %s\n"
 msgid "New Password: "
 msgstr "Nytt lösenord: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Skriv in det nya lösenordet igen: "
 
@@ -736,75 +741,75 @@ msgstr "%s: kan inte lÃ¥sa upp filen\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Användning: groupadd [-g gid [-o]] grupp\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: gick inte att lägga till en ny gruppnotering\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: namnet %s Ã¤r inte unikt\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: gid %u Ã¤r inte unikt\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: kan inte hitta ett unikt gid\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, fuzzy, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s Ã¤r inte ett giltigt gruppnamn\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: ogiltig grupp %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O kräver NAME=VÃ\84RDE\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: kan inte skriva om gruppfilen\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: kan inte skriva om skuggruppfilen\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: kan inte lÃ¥sa gruppfilen\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: kan inte Ã¶ppna gruppfilen\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: kan inte lÃ¥sa skuggruppfilen\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: kan inte Ã¶ppna skuggruppfilen\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: grupp %s existerar\n"
@@ -814,32 +819,32 @@ msgstr "%s: grupp %s existerar\n"
 msgid "Usage: groupdel group\n"
 msgstr "Användning: groupdel grupp\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: fel under borttagning av gruppnotering\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: fel under borttagning av skuggruppnotering\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: kan inte ta bort användarens primära grupp.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: grupp %s existerar inte\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: grupp %s Ã¤r en NIS-grupp\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s Ã¤r NIS-mästeren\n"
@@ -854,12 +859,12 @@ msgstr "Användning: groupmod [-g gid [-o]] [-n namn] grupp\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s hittades inte i /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u Ã¤r inte ett unikt gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s Ã¤r inte ett unikt namn\n"
@@ -874,22 +879,21 @@ msgstr "Användning: %s [-s] [-r] [grupp [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Användning: %s [-s] [-r] [grupp]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Nej"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s och -r Ã¤r inkompatibla\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: kan inte lÃ¥sa filen %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: kan inte Ã¶ppna filen %s\n"
@@ -900,8 +904,8 @@ msgid "invalid group file entry\n"
 msgstr "felaktig gruppfilsnotering\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "ta bort rad \"%s\"? "
@@ -953,17 +957,17 @@ msgstr "ta bort administrativa medlemmen \"%s\"? "
 msgid "shadow group %s: no user %s\n"
 msgstr "skuggrupp %s: finns ingen användare %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: kan inte uppdatera filen %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: filerna Ã¤r uppdaterade\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: inga Ã¤ndringar\n"
@@ -993,7 +997,7 @@ msgstr "%s: kan inte Ã¶ppna skuggruppfilen\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: kan inte ta bort skuggruppen %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: kan inte uppdatera skuggnoteringen för %s\n"
@@ -1112,17 +1116,17 @@ msgstr ""
 "\n"
 "Inloggningen avbröts efter %d sekunders inaktivitet.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " pÃ¥ \"%.100s\" frÃ¥n \"%.200s\""
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " pÃ¥ \"%.100s\""
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1131,85 +1135,30 @@ msgstr ""
 "\n"
 "%s användare: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Felaktig inloggning"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Varning: inloggning pÃ¥ nytt aktiv efter den temporära utelÃ¥sningen.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Senaste inloggning: %s pÃ¥ %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Senaste inloggning: %.19s pÃ¥ %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " frÃ¥n %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: ingen DBM-databas pÃ¥ systemet - ingen Ã¥tgärd genomfördes\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: kan inte skriva Ã¶ver filen %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: kan inte Ã¶ppna DBM-filer för %s\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: början med "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: fel under analysering av rad \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "lägger till notering för namn "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: fel under tillägg av notering för "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "lade till %d noteringar, den längsta var %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Användning: %s [-vf] [-p|g|sp|sg] fil\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Användning: %s [-vf] [-p|g|sp] fil\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Användning: %s [-vf] [-p|g] fil\n"
-
 #: src/newgrp.c:61
 #, fuzzy, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1220,115 +1169,115 @@ msgstr "Användning: newgrp [-] [grupp]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Användning: sg grupp [[-c] kommando]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "okänt uid: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "okänt GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "okänt gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "okänt GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Tyvärr.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "för mÃ¥nga grupper\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Användning: %s [indata]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: kan inte lÃ¥sa /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: kan inte lÃ¥sa filerna, försök igen senare\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: kan inte Ã¶ppna filerna\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: rad %d: ogiltig rad\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: rad %d: kan inte skapa GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: rad %d: kan inte skapa UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: rad %d: kan inte hitta användaren %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: rad %d: kan inte uppdatera lösenordet\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: rad %d: mkdir misslyckades\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: rad %d: chown misslyckades\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: rad %d: kan inte uppdatera notering\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: kunde inte uppdatera filerna\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, fuzzy, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Användning: %s [-f|-s] [namn]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x högst] [-n minst] [-w varna] [-i inaktiv] namn\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} namn\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Förra lösenordet: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Felaktigt lösenord för \"%s\"\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1337,16 +1286,16 @@ msgstr ""
 "Skriv in det nya lösenordet (minst %d, högst %d tecken)\n"
 "Var god använd en kombination av versaler, gemener och siffror.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Nytt lösenord: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Försök igen.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1355,149 +1304,144 @@ msgstr ""
 "\n"
 "Varning: svagt lösenord (skriv in det igen för att använda det Ã¤ndÃ¥).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "De matchar inte; försök igen.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Lösenordet för %s kan inte bytas.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Tyvärr, lösenordet för %s kan inte Ã¤ndras Ã¤n.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: slut pÃ¥ minne\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Kan inte starta %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: förvaringsplatsen %s stöds ej\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Du fÃ¥r inte läsa eller Ã¤ndra lösenordsinformation för %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Ã\84ndrar lösenord för %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Lösenordet för %s Ã¤r oförändrat.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Lösenordet Ã¤ndrat.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Användning: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Användning: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "felaktig notering i lösenordsfilen\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "dubblett av lösenords notering\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "ogiltigt användarnamn '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "användare %s: ingen grupp %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "användare %s: katalogen %s finns inte\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "användare %s: programmet %s finns inte\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "felaktig notering i skugglösenordsfilen\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "dubblett av notering i skugglösenordsfilen\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "ingen matchande notering i lösenordsfilen\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "användare %s: senaste lösenordsändring i framtiden\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: kan inte lÃ¥sa lösenordsfilen\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: kan inte Ã¶ppna lösenordsfilen\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: kan inte ta bort notering i skugglösenordsfilen för %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: kan inte uppdatera noteringen i lösenordsfilen för %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: kan inte uppdatera skuggfilen\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: kan inte uppdatera lösenordsfilen\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: kan inte uppdatera noteringen för användaren %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: kan inte ta bort skugglösenordsfilen\n"
@@ -1506,31 +1450,31 @@ msgstr "%s: kan inte ta bort skugglösenordsfilen\n"
 msgid "Sorry."
 msgstr "Tyvärr."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: mÃ¥ste köras frÃ¥n en terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: fel %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Okänt id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Du har inte tillÃ¥telse att köra su till %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Skriv in ditt eget lösenord.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1539,7 +1483,7 @@ msgstr ""
 "%s: %s\n"
 "(Ignorerad)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Inget skal\n"
@@ -1583,375 +1527,380 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "GÃ¥r in i systemunderhÃ¥llsläge\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: ogiltigt numeriskt argument \"%s\"\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: okänt gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: okänt GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: okänd grupp %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: kan inte skapa en ny defaults-fil\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: kan inte Ã¶ppna den nya defaults-filen\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: rename: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: grupp \"%s\" Ã¤r en NIS-grupp.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: för mÃ¥nga grupper speciferade (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, fuzzy, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Användning: %s [-u uid [-o]] [-g grupp] [-G grupp,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, fuzzy, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "\t\t    [-d hem] [-s skal] [-c kommentar] [-m [-k mall]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, fuzzy, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "\t\t[-f inaktiv] [-e utgÃ¥ng]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, fuzzy, c-format
 msgid "               [-p passwd] name\n"
 msgstr "[-p passwd] namn\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, fuzzy, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "            %s -D [-g grupp] [-b bas] [-s skal]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: fel under lÃ¥sning av gruppfilen\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: fel under Ã¶ppning av gruppfilen\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: fel under lÃ¥sning av skuggruppfilen\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: fel under Ã¶ppning av skuggruppfilen\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u Ã¤r inte unikt\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: gid %u Ã¤r inte unikt\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: kan inte hitta ett unikt uid\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: kan inte hitta ett unikt gid\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: felaktig baskatalog \"%s\"\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: felaktig kommentar \"%s\"\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: felaktig hemkatalog \"%s\"\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: felaktigt datum \"%s\"\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: skugglösenord krävs för -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: skugglösenord krävs för -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: felaktigt fält \"%s\"\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: felaktigt skal \"%s\"\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: felaktigt användar namn '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: kan inte skriva om lösenordsfilen\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: kan inte skriva om skugglösenordsfilen\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: kan inte lÃ¥sa lösenordsfilen\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: kan inte Ã¶ppna lösenordsfilen\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: kan inte lÃ¥sa skugglösenordsfilen\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: kan inte Ã¶ppna skugglösenordsfilen\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: fel under tilläggning av ny lösenordsnotering\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: fel under tilläggning av ny skugglösenordsnotering\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: kan inte skapa katalog %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s: kan inte uppdatera noteringen för användaren %s\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: användare %s existerar\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 "%s: gruppen %s finns redan - vill du lägga till en användare, använd -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: varning: CREATE_HOME stöds inte, använd -m istället.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, fuzzy, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Användning: %s [-r] namn\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: fel under uppdatering av gruppnotering\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: kan inte Ã¶ppna gruppfilen\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: kan inte Ã¶ppna skuggruppfilen\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: fel under borttagning av lösenordsnotering\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: fel under borttagning av skugglösenordsnotering\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: användare %s Ã¤r inloggad\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s Ã¤gs inte av %s, tar inte bort\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: varning: kan inte ta bort "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: användare %s finns inte\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: användare %s Ã¤r en NIS-användare\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: tar inte bort katalogen %s (skulle ta bort hemkatalogen för %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: fel under borttagning av katalogen %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, fuzzy, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Användning: %s [-u uid [-o]] [-g grupp] [-G grupp,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d hem [-m]] [-s skal] [-c kommentar] [-l nytt_namn]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, fuzzy, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inaktiv] [-e utgÃ¥ng] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p passwd] [-L|-U] namn\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: slut pÃ¥ minne i update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: slut pÃ¥ minne i update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: inga flaggor givna\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: skugglösenord krävs för -e och -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu Ã¤r inte unikt\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: fel under Ã¤ndring av lösenordsnotering\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: fel under borttagning av lösenordsnotering\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: fel under borttagning av skugglösenordsnotering\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: katalogen %s existerar\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: kan inte skapa %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: kan inte byta Ã¤gare pÃ¥ %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: kan inte byta namn pÃ¥ katalogen %s till %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: varning: %s Ã¤gs inte av %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "kunde inte byta Ã¤gare av brevlÃ¥dan"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "kunde inte byta namn pÃ¥ brevlÃ¥dan"
 
@@ -1987,3 +1936,12 @@ msgstr ""
 "Användning:\n"
 "\"vipw\" redigerar /etc/passwd   \"vipw -w\" redigerar /etc/shadow\n"
 "\"vipg\" redigerar /etc/group    \"vipg -w\" redigerar /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "okänt uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid %u Ã¤r inte unikt\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: kan inte hitta ett unikt uid\n"
index e015d8f5481a12efc6ff81996041c0f64cd08c37..35900a172693ebb8a800ebbd8ab3615fe3699280 100644 (file)
Binary files a/po/tl.gmo and b/po/tl.gmo differ
index 3880f077a8970053a284543eb5cb1610bb5b62cd..c18a64f7f6a8e9c013380f8d2260ce4dae6a6cfe 100644 (file)
--- a/po/tl.po
+++ b/po/tl.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-01-26 22:00+0800\n"
 "Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
 "Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
@@ -29,40 +29,40 @@ msgstr "Babala: hindi kilalang grupo %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Babala: labis ang dami ng mga grupo\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Lumampas sa taning ang inyong password."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Ang inyong password ay hindi aktibo."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Lumampas sa taning ang inyong login."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Kausapin ang tagapangasiwa ng sistema.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Pumili ng bagong password.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Ang inyong password ay may taning na %ld na araw.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Hanggang bukas ang taning ng inyong password.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Mapapaso ang inyong password ngayong araw na ito.\n"
@@ -110,7 +110,7 @@ msgstr "Walang koreo."
 msgid "You have mail."
 msgstr "Mayroon kang koreo."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Masamang password: %s.  "
@@ -170,7 +170,7 @@ msgstr ""
 "may mali sa pagsasaayos - hindi kilalang item '%s' (ipaalam sa "
 "tagapangasiwa)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Password: "
 
@@ -179,156 +179,166 @@ msgstr "Password: "
 msgid "%s's Password: "
 msgstr "Password ni %s: "
 
-#: src/chage.c:112
-#, fuzzy, c-format
+#: src/chage.c:110
+#, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Pag-gamit: %s [-l] [-m min_araw] [-M max_araw] [-W babala]\n"
-"\\t[-I inaktibo] [-E paso] [-d huling_araw] gumagamit\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Ibigay ang bagong halaga, o pindutin ang ENTER para sa default\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Pinakamaliit na Tanda ng Password"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Pinakamalaking Tanda ng Password"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Huling Pagpalit ng Password (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Babala ng Paglipas ng Taning ng Password"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Inaktibo ang Password"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Hangganan ng Account (YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Huling Pagpalit ng Password (YYYY-MM-DD)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Hindi kailanman\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Taning ng Password:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Inaktibong Password:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Mapapaso ang Account:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, fuzzy, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Labis ang pagsubok na pumasok (%d)\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: huwag isama ang \"l\" sa ibang mga flag\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
-#, fuzzy, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: hindi pinahintulutan\n"
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
+#, c-format
+msgid "%s: Permission denied.\n"
+msgstr "%s: Walang pahintulot.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: sawi ang pagpapakilalang PAM\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: hindi mabuksan ang tipunang password\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: di kilalang gumagamit %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: hindi maaldaba ang tipunang shadow password"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: hindi mabuksan ang tipunang shadow password"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Pinapalitan ang impormasyong pagtanda para kay %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: error sa pagbabago ng mga field\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: hindi maapdeyt ang tipunang password\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: hindi maapdeyt ang tipunang shadow password\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: hindi maisulat-muli ang tipunang shadow password\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: hindi maisulat-muli ang tipunang password\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: sawi ang PAM chauthtok\n"
@@ -375,7 +385,7 @@ msgstr "Telepono sa Bahay"
 msgid "Other"
 msgstr "Iba pa"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Hindi makilala ang inyong pangalan.\n"
@@ -390,11 +400,6 @@ msgstr "%s: hindi mapalitan ang gumagamit `%s' sa NIS client.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' ay ang NIS master ng klienteng ito.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: Walang pahintulot.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -430,32 +435,32 @@ msgstr "%s: \"%s\" ay may hindi tanggap na mga karakter\n"
 msgid "%s: fields too long\n"
 msgstr "%s: mahaba masyado ang mga field\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Hindi mabago ang ID sa root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Hindi maaldaba ang tipunang password; subukan muli mamaya.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Hindi mabuksan ang tipunang password\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: hindi nahanap ang %s sa /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Error sa pag-apdeyt ng password entry.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Hindi maisulat ang pagbabago sa tipunang password.\n"
@@ -465,7 +470,7 @@ msgstr "Hindi maisulat ang pagbabago sa tipunang password.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Hindi maalis ang aldaba sa tipunang password.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -484,53 +489,53 @@ msgstr ""
 "  -m, --md5\t\tgamitin ang MD5 encryption imbes na DES kapag ang\n"
 "\t\t\tmga ibinigay na mga password ay hindi naka-encrypt\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: hindi maaldaba ang tipunang password\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: hindi maaldaba ang tipunang shadow\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: hindi mabuksan ang tipunang shadow\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: linya %d: sobrang haba ng linya\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: linya %d: walang bagong password\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: linya %d: di kilalang gumagamit %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: linya %d: hindi ma-apdeyt password entry\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: may error na naganap, di pinansin ang mga pagbabago\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: error sa pag-apdeyt ng tipunang shadow\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: error sa pag-apdeyt ng tipunang password\n"
@@ -569,12 +574,12 @@ msgstr "Ang %s ay hindi tanggap na shell.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Pag-gamit: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: BABALA!  Kailangang naka-set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: hindi kilalang gumagamit\n"
@@ -596,22 +601,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds naiwan]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds lock]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Di kilalang Gumagamit: %s\n"
@@ -651,7 +656,7 @@ msgstr "%s: kailangan ng password ng grupong shadow para sa -A\n"
 msgid "Who are you?\n"
 msgstr "Sino ka?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "di kilalang grupo: %s\n"
@@ -685,7 +690,7 @@ msgstr "Pinapalitan ang password ng grupong %s\n"
 msgid "New Password: "
 msgstr "Bagong Password: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Ibigay muli ang bagong password: "
 
@@ -743,75 +748,75 @@ msgstr "%s: hindi matanggal ang aldaba ng tipunan\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "pag-gamit: groupadd [-g gid [-o]] grupo\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: error sa pagdagdag ng entry ng bagong grupo\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: hindi kakaiba ang pangalang %s\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: hindi kakaiba ang gid na %u\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: hindi makakuha ng kakaibang gid\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, fuzzy, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s ay hindi tanggap na pangalan ng grupo\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: hindi tanggap na grupo %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: kinakailangan ng -O ang PANGALAN=HALAGA\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: hindi maisulat muli ang tipunang grupo\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: hindi maisulat muli ang tipunang grupo ng shadow\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: hindi maaldaba ang tipunang grupo\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: hindi mabuksan ang tipunang grupo\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: hindi maaldaba ang tipunang grupo ng shadow\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: hindi mabuksan ang tipunang grupo ng shadow\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: mayroon nang grupong %s\n"
@@ -821,32 +826,32 @@ msgstr "%s: mayroon nang grupong %s\n"
 msgid "Usage: groupdel group\n"
 msgstr "pag-gamit: groupdel grupo\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: error sa pagtanggal ng entry ng grupo\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: error sa pagtanggal ng entry ng grupong shadow\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: hindi matanggal ang pangunahing grupo ng gumagamit.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: walang grupong %s\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: ang grupong %s ay grupong NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s ay ang NIS master\n"
@@ -861,12 +866,12 @@ msgstr "pag-gamit: groupmod [-g gid [-o]] [-n pangalan] grupo\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s hindi nahanap sa /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u ay hindi kakaibang gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s ay hindi kakaibang pangalan\n"
@@ -881,22 +886,21 @@ msgstr "Pag-gamit: %s [-r] [-s] [grupo [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Pag-gamit: %s [-r] [-s] [grupo]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Hindi"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s at -r ay hindi maaring magkasabay\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: hindi maaldaba ang tipunang %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: hindi mabuksan ang tipunang %s\n"
@@ -907,8 +911,8 @@ msgid "invalid group file entry\n"
 msgstr "hindi tanggap na entry ng tipunang grupo\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "burahin ang linyang `%s'? "
@@ -960,17 +964,17 @@ msgstr "tanggaling ang miyembrong tagapamahala `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "grupong shadow %s: walang gumagamit na %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: hindi ma-apdeyt ang tipunang %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: ang mga tipunan ay na-apdeyt\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: walang pagbabago\n"
@@ -1000,7 +1004,7 @@ msgstr "%s: hindi mabuksan ang tipunang grupo na shadow\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: hindi matanggal ang grupong shadow %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: hindi ma-apdeyt ang ipinasok sa shadow para kay %s\n"
@@ -1119,17 +1123,17 @@ msgstr ""
 "\n"
 "Lumipas ang taning ng pagpasok ng %d segundo.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " ng `%.100s' mula `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " ng `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1138,84 +1142,29 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Maling pagpasok"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Babala: pagpasok ay enabled muli matapos ng panandalian pagbawal.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Huling pagpasok: %s sa %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Huling pagpasok: %.19s sa %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " mula %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: walang DBM database sa sistema - walang ginawa\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: hindi mapatungan ang tipunang %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: hindi mabuksan ang tipunang DBM para sa %s\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: nag-umpisa sa "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: error sa pagbasa ng linya \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "dinadagdag ang record para sa pangalan "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: error sa pagdagdag ng record para "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "nagdagdag ng %d na ipinasok, pinakamahaba ang %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Pag-gamit: %s [-vf] [-p|g|sp|sg] tipunan\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Pag-gamit: %s [-vf] [-p|g|sp] tipunan\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Pag-gamit: %s [-vf] [-p|g] tipunan\n"
-
 #: src/newgrp.c:61
 #, fuzzy, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1226,115 +1175,115 @@ msgstr "pag-gamit: newgrp [-] [grupo]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "pag-gamit: sg grupo [[-c] utos]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "di kilalang uid: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "di kilalang GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "di kilalang gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "di kilalang GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Ipagpaumanhin.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "labis ang dami ng mga grupo\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Pag-gamit: %s [input]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: hindi maaldaba ang /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: hindi makapag-aldaba ng mga tipunan, subukan muli mamaya.\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: hindi mabuksan ang mga tipunan\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: linya %d: hindi tanggap na linya\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: linya %d: hindi makalikha ng GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: linya %d: hindi makalikha ng UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: linya %d: hindi mahanap ang gumagamit %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: linya %d: hindi ma-apdeyt ang password\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: linya %d: sawi ang mkdir\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: linya %d: sawi ang chown\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: linya %d: hindi ma-apdeyt ang ipinasok\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: error sa pag-apdeyt ng mga tipunan\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, fuzzy, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "pag-gamit: %s [-f|-s] [pangalan]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x max] [-n min] [-w babala] [-i inakt] pangalan\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} pangalan\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Lumang password: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Maling password para kay `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1343,16 +1292,16 @@ msgstr ""
 "Ibigay ang bagong password (minimum na %d, maximum na %d karakter)\n"
 "Gumamit ng kombinasyon ng malaki at maliit na titik at mga numero.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Bagong password: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Subukan muli.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1361,149 +1310,144 @@ msgstr ""
 "\n"
 "Babala: mahinang password (ibigay ito muli upang gamitin pa rin).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Hindi sila magkapareho; subukan muli.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Ang password ni %s ay hindi mapapalitan.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Ipagpaumanhin, ang password ni %s ay hindi pa mapapalitan.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: nagkulang ng memory\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Hindi mapatakbo ang %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: hindi suportado ang repositoryong %s\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "Hindi niyo mapapalitan ang shell para kay %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Pinapalitan ang password ni %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Ang password ni %s ay hindi napalitan.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Napalitan ang password.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Pag-gamit: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Pag-gamit: %s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "hindi tanggap na ipinasok sa tipunang password\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "nadobleng ipinasok sa password\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "hindi tanggap na pangalan '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "gumagamit %s: walang grupo %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "gumagamit %s: walang directory na %s\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "gumagamit %s: walang programang %s\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "hindi tanggap na ipinasok sa tipunang password na shadow\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "nadobleng ipinasok sa tipunang password ng shadow\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "walang kaparehas na ipinasok sa tipunang password\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "gumagamit %s: huling pagpalit ng password ay nasa hinaharap\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: hindi maaldaba ang tipunang passwd\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: hindi mabuksan ang tipunang passwd\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: hindi matanggal ang ipinasok sa shadow para kay %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: hindi maapdeyt ang ipinasok sa passwd para kay %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: hindi maapdeyt ang tipunang shadow\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: hindi maapdeyt ang tipunang passwd\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: hindi maapdeyt ang ipinasok para kay %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: hindi matanggal ang tipunang password ng shadow\n"
@@ -1512,31 +1456,31 @@ msgstr "%s: hindi matanggal ang tipunang password ng shadow\n"
 msgid "Sorry."
 msgstr "Ipagpaumanhin."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: kinakailangang patakbuhin mula sa isang terminal\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: error %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Di kilalang id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Hindi kayo awtorisadong gumamit ng su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Ibigay ang sarili niyong password.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1545,7 +1489,7 @@ msgstr ""
 "%s: %s\n"
 "(Di pinansin)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Walang shell\n"
@@ -1589,209 +1533,209 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Pumapasok sa Modang Pagtataguyod ng Sistema\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: hindi tanggap na argumentong numero `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: di kilalang gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: di kilalang GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: di kilalang grupo %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: hindi malikha ang bagong tipunan ng mga default\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: hindi mabuksan ang bagong tipunan ng mga default\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: baguhin ang pangalan: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: ang grupong `%s' ay grupong NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: sobrang dami ng grupo ang nakatakda (max %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, fuzzy, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "pag-gamit: %s\t[-u uid [-o]] [-g grupo] [-G grupo,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, fuzzy, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "\t\t[-d bahay] [-s shell] [-c comment] [-m [-k template]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, fuzzy, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "\t\t[-f inaktibo] [-e paso ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, fuzzy, c-format
 msgid "               [-p passwd] name\n"
 msgstr "[-p passwd] pangalan\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, fuzzy, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "       %s\t-D [-g grupo] [-b base] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: error sa pagaldaba ng tipunang grupo\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: error sa pagbukas ng tipunang grupo\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: error sa pagaldaba ng tipunang grupo ng shadow\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: error sa pagbukas ng tipunang grupo ng shadow\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: ang uid %u ay hindi kakaiba\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: hindi kakaiba ang gid na %u\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: hindi makakuha ng kakaibang uid\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: hindi makakuha ng kakaibang gid\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: hindi tanggap na batayang directory `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: hindi tanggap na komento `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: hindi tanggap na bahay directory `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: hindi tanggap na petsa `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: kailangan ng shadow password para sa -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: kailangan ng shadow password para sa -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: hindi tanggap na field `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: hindi tanggap na shell `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: hindi tanggap na pangalan `%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: hindi maisulat muli ang tipunang password\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: hindi maisulat muli ang tipunang password na shadow\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: hindi maaldaba ang tipunang password\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: hindi mabuksan ang tipunang password\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: hindi maaldaba ang tipunang password ng shadow\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: hindi mabuksan ang tipunang password ng shadow\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: error sa pagdagdag ng bagong ipapasok sa password\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: error sa pagdagdag ng bagong ipinasok na password sa shadow\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: hindi malikha ang directory %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s: hindi maapdeyt ang ipinasok para kay %s\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: mayroon nang gumagamit na %s\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1799,166 +1743,171 @@ msgstr ""
 "%s: mayroon nang grupong %s - kung nais niyong idagdag ang gumagamit na ito "
 "sa grupong iyon, gamitin ang -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: babala: CREATE_HOME hindi suportado, gamitin na lamang ang -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, fuzzy, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "pag-gamit: %s [-r] pangalan\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: error sa pag-apdeyt ng ipinasok sa grupo\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: hindi mabuksan ang tipunang grupo\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: hindi mabuksan ang tipunang grupo ng shadow\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: error sa pagtanggal ng ipinasok na password\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: error sa pagtanggal ng ipinasok na password sa shadow\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: gumagamit na si %s ay kasalukuyang nakapasok\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s ay hindi pag-aari ni %s, hindi tatanggalin\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: babala: hindi matanggal "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: walang gumagamit na nagngangalang %s\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: ang gumagamit na %s ay nasa NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: hindi tatanggalin ang directory %s (mawawalan ng bahay si %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: error sa pagtanggal ng directory %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, fuzzy, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "pag-gamit: %s\t[-u uid [-o]] [-g grupo] [-G grupo,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d bahay [-m]] [-s shell] [-c comment] [-| bagong_pangalan]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, fuzzy, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inaktibo] [-e paso ] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p passwd] [-L|-U] pangalan\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: naubos ang memory sa update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: naubos ang memory sa update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: walang binigay na mga flag\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: kailangan ang shadow password para sa -e at -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu ay hindi kakaiba\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: error sa pagpalit ng ipinasok na password\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: error sa pagtanggal ng ipinasok na password\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: error sa pagtanggal ng ipinasok na shadow password\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: mayroon nang directory na %s\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: hindi malikha ang %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: hindi ma-chown %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: babala: %s ay hindi pag-aari ni %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "sawi sa pagpalit ng may-ari ng mailbox"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "sawi sa pagpalit ng pangalan ng mailbox"
 
@@ -1994,3 +1943,12 @@ msgstr ""
 "Pag-gamit:\n"
 "`vipw' ine-edit /etc/passwd     `vipw -s' ine-edit /etc/shadow\n"
 "`vigr' ine-edit /etc/group      `vigr -s' ine-edit /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "di kilalang uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: ang uid %u ay hindi kakaiba\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: hindi makakuha ng kakaibang uid\n"
index 970b22bd853357464db565e6cc98935c5965b63e..ba091eda1910a5e5844b147e7ba8ef720ea76876 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index 9c784a0f02dc0b5005dafb8bede1edfb30ade969..8d421f46d74be0ad0859092733923d65c1260b7f 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-06-13 10:27+0300\n"
 "Last-Translator: Mehmet Türker <mturker@innova.com.tr>\n"
 "Language-Team: Turkish <debian-l10n-turkish@lists.debian.org>\n"
@@ -25,40 +25,40 @@ msgstr "Uyarı: bilinmeyen grup %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Uyarı: grup sayısı çok fazla\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Parolanızın kullanım süresi doldu."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Parolanız etkin değil."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Hesabınızın kullanım süresi doldu."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Sistem yöneticisine başvurunuz.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "Yeni bir parola seçin.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Parolanızın kullanım süresi %ld gün sonra dolacaktır.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Parolanızın kullanım süresi yarın dolacaktır.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Parolanızın kullanım süresi bugün dolacaktır.\n"
@@ -106,7 +106,7 @@ msgstr "E-Posta yok."
 msgid "You have mail."
 msgstr "E-Postanız var."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Hatalı parola: %s.  "
@@ -165,7 +165,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "yapılandırma hatası - bilinmeyen öğe '%s' (sistem yöneticisine bildirin)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Parola: "
 
@@ -174,156 +174,166 @@ msgstr "Parola: "
 msgid "%s's Password: "
 msgstr "%s kullanıcı parolası: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Kullanım: chage [-l] [-m min_gün_sayısı] [-M max_gün_sayısı] [-W uyarı]\n"
-"                [-I pasif] [-E hesap_bitimi] [-d son_gün] kullanıcı\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Yeni değeri girin, veya varsayılan değer için ENTER'a basın\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Asgari Parola Ömrü"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Azami Parola Ömrü"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Son Parola Değişimi (YYYY-AA-GG)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Parola Kullanım Süresi Bitti Uyarısı"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Parola Pasif"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Hesap Bitimi Tarihi (YYYY-AA-GG)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Son Parola Değişimi (YYYY-AA-GG)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "Hiçbir zaman\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Parola Kullanım Süresi Dolumu:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Parola Pasif:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Hesap Bitimi:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, fuzzy, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Maksimum giriş denemesi sayısı aşıldı (%d)\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: diğer bayraklarla beraber \"l\" yi kullanmayınız\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s: müsaade edilmedi\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM yetkilendirmesi başarısız oldu\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: parola dosyası açılamadı\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: bilinmeyen kullanıcı %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: gölge parola dosyası kilitlenemedi"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: gölge parola dosyası açılamadı"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "%s için ömür bilgisi değiştiriliyor\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: alanları değiştirirken hata oluştu\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: parola dosyası güncellenemedi\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: gölge parola dosyası güncellenemedi\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: gölge parola dosyasının üzerine yazılamadı\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: parola dosyasına yazılamadı\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: PAM chauthok başarısız oldu\n"
@@ -367,7 +377,7 @@ msgstr "Ev Telefonu"
 msgid "Other"
 msgstr "Diğer"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Kullanıcı isminiz belirlenemedi.\n"
@@ -382,11 +392,6 @@ msgstr "%s: kullanıcı `%s' NIS istemcisinde değiştirilemedi.\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' bu istemci için NIS efendisidir.\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: müsaade edilmedi\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -422,32 +427,32 @@ msgstr "%s: \"%s\" geçersiz karakterler içeriyor\n"
 msgid "%s: fields too long\n"
 msgstr "%s: alanlar çok uzun\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "ID root kullanıcısı olarak değiştirilemiyor.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Parola dosyası kilitlenemiyor, daha sonra tekrar deneyin.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Parola dosyası açılamıyor.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s /etc/passwd içinde bulunamadı\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Parola kaydı güncellenmesinde hata.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Parola dosyası değişiklikleri işlenemiyor.\n"
@@ -457,7 +462,7 @@ msgstr "Parola dosyası değişiklikleri işlenemiyor.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Parola dosyası kilidi açılamıyor.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -469,53 +474,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: parola dosyası kilitlenemedi\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: gölge dosyası kilitlenemiyor\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: gölge dosyası açılamıyor\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: satır %d: satır çok uzun\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: satır %d: yeni parola eksik\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: satır %d: bilinmeyen kullanıcı %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: satır %d: parola kaydı güncellenemiyor\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: hata algılandı, değişiklikler görmezden gelindi\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: gölge (shadow9 dosyası güncellenmesinde hata\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: parola dosyası güncellenmesinde hata\n"
@@ -554,12 +559,12 @@ msgstr "%s geçersiz bir kabuk.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Kullanım: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: UYARI!  root kullanıcısına set-UID olmalı!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: bilinmeyen kullanıcı\n"
@@ -581,22 +586,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds kaldı]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds kilitli]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Bilinmeyen Kullanıcı: %s\n"
@@ -636,7 +641,7 @@ msgstr "%s: -A için gölge grup parolaları gerekli\n"
 msgid "Who are you?\n"
 msgstr "Siz kimsiniz?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "bilinmeyen grup: %s\n"
@@ -670,7 +675,7 @@ msgstr "%s grubu için parola değiştiriliyor\n"
 msgid "New Password: "
 msgstr "Yeni parola: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Yeni parolayı tekrar girin: "
 
@@ -728,75 +733,75 @@ msgstr "%s: dosya kilidi açılamıyor\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Kullanım: groupadd [-g gid [-o]] [-f] grup\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: yeni grup kaydı eklenirken hata oluştu\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: %s ismi tek değil\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: %u gid tek değil\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: tek (benzersiz) bir gid alınamadı\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s geçerli bir grup adı değil\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: geçersiz grup %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O seçeneği ISIM=DEĞER gerektirir\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: grup dosyasına yazılamıyor\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: gölge grup dosyasına yazılamıyor\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: grup dosyası kilitlenemiyor\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: grup dosyası açılamıyor\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: gölge grup dosyası kilitlenemiyor\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: gölge grup dosyası açılamıyor\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: grup %s zaten var\n"
@@ -806,32 +811,32 @@ msgstr "%s: grup %s zaten var\n"
 msgid "Usage: groupdel group\n"
 msgstr "Kullanım: groupdel grup_adı\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: grup kaydını silerken hata oluştu\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: gölge grup kaydını silerken hata oluştu\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: kullanıcının birincil grubu silinemez\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: grup %s mevcut değil\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: grup %s bir NIS grubudur\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s NIS efendisidir\n"
@@ -846,12 +851,12 @@ msgstr "Kullanım: groupmod [-g gid [-o]] [-n isim] grup\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s /etc/group dosyasında bulunamadı\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u benzersiz bir gid değil\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s benzersiz bir isim değil\n"
@@ -866,22 +871,21 @@ msgstr "Kullanım: %s [-r] [-s] [grup [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Kullanım: %s [-r] [-s] [grup]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Hayır"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s ve -r uyumsuz\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: %s dosyası kilitlenemiyor\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: %s dosyası açılamıyor\n"
@@ -892,8 +896,8 @@ msgid "invalid group file entry\n"
 msgstr "geçersiz grup dosyası kaydı\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "`%s' satırı silinsin mi? "
@@ -945,17 +949,17 @@ msgstr "yönetici üye `%s' silinsin mi? "
 msgid "shadow group %s: no user %s\n"
 msgstr "gölge grubu %s: kullanıcı %s mevcut değil\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: %s dosyası güncellenemiyor\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: dosyalar güncellendi\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: değişiklik yok\n"
@@ -985,7 +989,7 @@ msgstr "%s: gölge grup dosyası açılamıyor\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s gölge grubu %s silinemiyor\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: %s için gölge kaydı güncellenemiyor\n"
@@ -1097,17 +1101,17 @@ msgstr ""
 "\n"
 "Giriş %d saniye sonra zaman aşımına uğradı.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " `%.200s'den `%.100s' üzerinde"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " `%.100s' üzerinde"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1116,85 +1120,30 @@ msgstr ""
 "\n"
 "%s giriş: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Giriş geçersiz"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr ""
 "Uyarı: geçici bir kilitlenme sonrasında giriş tekrar olanaklı kılındı.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Son giriş: %s üzerinden %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Son giriş: %s üzerinden %.19s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr "%.*s'den"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: sistemde DBM veritabanı yok - faaliyet gerçekleştirilmedi\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: %s dosyasının üzerine yazılamıyor\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: %s için DBM dosyaları açılamıyor\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: başlangıç "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: \"%s\" satırını ayrıştırmada hata\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "kaydı eklenen isim "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: kayıt eklenirken oluşan hata "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "%d kayıt eklendi, en uzunu %d idi\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Kullanım: %s [-vf] [-p|g|sp|sg] dosya\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Kullanım: %s [-vf] [-p|g|sp] dosya\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Kullanım: %s [-vf] [-p|g] dosya\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1205,115 +1154,115 @@ msgstr "Kullanım: newgrp [-] [grup]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Kullanım: sg grup [[-c] komut]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "bilinmeyen uid: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "bilinmeyen GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "bilinmeyen gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "bilinmeyen GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Üzgünüm.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "çok fazla grup\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Kullanım: %s [girdi]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: /etc/passwd kilitlenemiyor.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: dosyalar kilitlenemiyor, daha sonra tekrar deneyin\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: dosyalar açılamıyor\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: satır %d: geçersiz satır\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: satır %d: GID yaratılamıyor\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: satır %d: UID yaratılamıyor\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: satır %d: kullanıcı %s bulunamadı\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: satır %d: parola güncellenemiyor\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: satır %d: mkdir başarısız oldu\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: satır %d: chown başarısız oldu\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: satır %d: kayıt güncellenemiyor\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: dosyaların güncellenmesinde hata oluştu\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Kullanım: %s [-f|-s] [isim]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "          %s [-x maks] [-n min] [-w uyarı] [-i pasif] isim\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "          %s {-l|-u|-d|-S|-e} isim\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Eski parola: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "`%s' için yanlış parola\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1322,16 +1271,16 @@ msgstr ""
 "Yeni parolayı girin (asgari %d, azami %d karakter)\n"
 "Lütfen büyük, küçük harf ve rakamların bir kombinasyonunu kullanın.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Yeni parola: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Yeniden deneyin.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1340,149 +1289,144 @@ msgstr ""
 "\n"
 "Uyarı: zayıf parola (yine de kullanmak için aynısını tekrar girin).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Eşleşmediler, tekrar deneyin.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "%s için parola değiştirilemedi.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Üzgünüm, %s için parola henüz değiştirilemedi.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: yetersiz bellek\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: %s çalıştırılamıyor"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: depo %s desteklenmiyor\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s için kabuğu değiştiremezsiniz.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "%s için parola değiştiriliyor\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "%s için parola değişmedi\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Parola değişti \n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Kullanım: %s [-q] [-r] [-s] [parola [gölge]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Kullanım: %s [-q] [-r] [-s] [parola]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "geçersiz parola dosyası kaydı\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "mükerrer parola kaydı\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "geçersiz kullanıcı adı '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "kullanıcı %s: %u grubu mevcut değil\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "kullanıcı %s: %s dizini mevcut değil\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "kullanıcı %s: uygulama %s mevcut değil\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "geçersiz gölge parola dosyası kaydı\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "mükerrer gölge parola kaydı\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "eşleşen parola dosyası kaydı yok\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "kullanıcı %s: gelecekteki son parola değişimi\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: passwd dosyası kilitlenemedi\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: passwd dosyası açılamadı\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: %s için gölge kaydı silinemedi\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: %s için passwd kaydı güncellenemedi\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: gölge dosyası güncellenemedi\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: passwd dosyası güncellenemedi\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: kullanıcı %s için kayıt güncellenemiyor\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: gölge parola dosyası silinemiyor\n"
@@ -1491,31 +1435,31 @@ msgstr "%s: gölge parola dosyası silinemiyor\n"
 msgid "Sorry."
 msgstr "Üzgünüm."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: bir terminalden çalıştırılmalı\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: hata %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Bilinmeyen id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "su %s için yetkili değilsiniz\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Kendi parolanızı girin.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1524,7 +1468,7 @@ msgstr ""
 "%s: %s\n"
 "(Dikkate alınmadı)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Kabuk yok\n"
@@ -1568,210 +1512,210 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Sistem Bakımı Kipine Giriliyor\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: geçersiz sayısal argüman `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: bilinmeyen gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: bilinmeyen GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: bilinmeyen grup %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: yeni varsayılanlar dosyası oluşturulamadı\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: yeni varsayılanlar dosyası açılamadı\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: yeniden adlandırma: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: grup `%s' bir NIS grubu.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: çok fazla grup verildi (azami %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "kullanım: useradd [-u uid [-o]] [-g grup] [-G grup,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr ""
 "                  [-d ev_dizini] [-s kabuk] [-c açıklama] [-m [-k şablon]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "                  [-f pasif] [-e hesap_bitimi ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "                  [-p parola] isim\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "          useradd -D [-g grup] [-b taban] [-s kabuk]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: grup dosyası kilitlenmesinde hata\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: grup dosyası açılırken hata\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: gölge grup dosyası kilitlenirken hata\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: gölge grup dosyası açılırken hata\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u benzersiz değil\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: %u gid tek değil\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: benzersiz bir uid elde edilemedi\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: tek (benzersiz) bir gid alınamadı\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: geçersiz ana dizin `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: geçersiz açıklama `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: geçersiz ev dizini `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: geçersiz tarih `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: -e için gölge parolalar gerekli\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: -f için gölge parolalar gerekli\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: geçersiz alan `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: geçersiz kabuk `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: geçersiz kullanıcı adı '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: parola dosyası yazılamıyor\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: gölge parola dosyası yazılamıyor\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: parola dosyası kilitlenemiyor\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: parola dosyası açılamıyor\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: gölge parola dosyası kilitlenemiyor\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: gölge parola dosyası açılamıyor\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: yeni parola kaydı eklenirken hata\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: yeni gölge parola kaydı eklenirken hata\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: %s dizini yaratılamıyor\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s: kullanıcı %s için kayıt güncellenemiyor\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: kullanıcı %s mevcut\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1779,167 +1723,172 @@ msgstr ""
 "%s: grup %s mevcut - eğer bu kullanıcıyı bu gruba eklemek istiyorsanız, -g "
 "kullanın.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 "%s: uyarı: CREATE_HOME desteklenmiyor, lütfen bunun yerine -m kullanın.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Kullanım: %s [-r] isim\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: grup kaydı güncellenirken hata oluştu\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: grup dosyası açılamıyor\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: gölge grup dosyası açılamıyor\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: parola kaydı silinirken hata oluştu\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: gölge parola kaydı silinirken hata oluştu\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: kullanıcı %s şu an oturumda\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s %s kullanıcısına ait değil, silinmiyor\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: uyarı: silinemiyor "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: kullanıcı %s mevcut değil\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: kullanıcı %s bir NIS kullanıcısı\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: %s dizini silinmiyor (%s kullanıcısının ev dizinini silecekti)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: %s dizini silinirken hata oluştu\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Kullanım: %s\t[-u uid [-o]] [-g grup] [-G grup,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d ev_dizini [-m]] [-s kabuk] [-c açıklama] [-l yeni_isim]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f pasif] [-e hesap_bitimi] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p parola] [-L|-U] isim\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: update_group için bellek yetersiz\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: update_gshadow için bellek yetersiz\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: herhangi bir bayrak verilmedi\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: -e ve -f için gölge parolalar gerekli\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu benzersiz değil\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: parola kaydı değiştirilirken hata oluştu\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: parola kaydı silinirken hata oluştu\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: gölge parola kaydı silinirken hata oluştu\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: %s dizini mevcut\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: %s yaratılamıyor\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: chown %s gerçekleştirilemiyor\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: uyarı: %s %s kullanıcısına ait değil\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "postakutusu sahibi değiştirilmedi"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "postakutusu isim değişikliği başarısız"
 
@@ -1975,3 +1924,12 @@ msgstr ""
 "Kullanım:\n"
 "`vipw' /etc/passwd'ü düzenler        `vipw -s' /etc/shadow'u düzenler\n"
 "`vigr' /etc/group'u düzenler         `vigr -s' /etc/gshadow'u düzenler\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "bilinmeyen uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid %u benzersiz değil\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: benzersiz bir uid elde edilemedi\n"
index afad80798322707a8ffbd314ce0a8e62841bf04a..0aa0d3258e2aaf8bf31ed4781bb11569583f0ac8 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 44155005d8f1bd1577734d5543b2f7e7404e8a26..636999da86863e08d202ea273395043a73c1320f 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow-4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-04-19 23:22+0300\n"
 "Last-Translator: Roman Festchook <linux@polesye.net>\n"
 "Language-Team:  <linux@polesye.net>\n"
@@ -25,40 +25,40 @@ msgstr "Застереження: невідома група %s\n"
 msgid "Warning: too many groups\n"
 msgstr "Застереження: забагато груп\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Ваш пароль прострочено."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Ваш пароль є неактивним."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Ваш логін прострочено."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Зв'яжіться з системним адміністратором.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Оберіть новий пароль.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Ваш пароль буде просторочено за %ld днів.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Ваш пароль буде прострочено завтра.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Ваш пароль буде прострочено сьогодні.\n"
@@ -109,7 +109,7 @@ msgstr "Пошти не має."
 msgid "You have mail."
 msgstr "Ви маєте пошту."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Поганий пароль: %s.  "
@@ -168,7 +168,7 @@ msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
 "помилка у конфігурації - невідома позиція '%s' (повідомте адміністратора)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Пароль: "
 
@@ -177,157 +177,166 @@ msgstr "Пароль: "
 msgid "%s's Password: "
 msgstr "Пароль користувача %s: "
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Використовуйте: chage [-l] [-m мін_днів] [-M макс_днів] [-W застереження]\n"
-"                      [-I неактивність] [-E простроченно]\n"
-"                      [-d останній_день] користувач\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Введіть нове значення або нажміть ENTER для значення по замовчуванню\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Мінімальний вік пароля"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Максимальний вік пароля"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Остання зміна пароля (РРРР-ММ-ДД)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Застереження про прострочення пароля"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Пароль неактивний"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Дата прострочення рахунку (РРРР-ММ-ДД)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Остання зміна пароля\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "ніколи\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Пароль стає простроченим\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Пароль неактивний\t\t\t\t\t: "
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Рахунок стає простроченим\t\t\t\t\t\t: "
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Мінімальна кількість днів між змінами паролю\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Максимальна кількість днів між змінами паролю\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Кількість днів для застереження про прострочення паролю\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: не використовуйте \"l\" з іншіми флагами\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: у доступі відмовлено.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: У доступі відмовлено.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: PAM аутентифікація не пройшла\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: не можу відкрити файл паролей\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: невідомий користувач %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: не можу заблокувати файл прихованих паролей"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: не можу відкрити файл прихованих паролей"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Змінюю вікову інформацію для %s\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: помилка заміни поля\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: не можу оновити файл паролей\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: не можу оновити файл прихованих паролей\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: не можу переписати файл прихованих паролей\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: не можу переписати файл паролей\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: помилка PAM chauthtok\n"
@@ -373,7 +382,7 @@ msgstr "Домашній телефон"
 msgid "Other"
 msgstr "Інше"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: Не можу визначити Ваше ім'я користувача.\n"
@@ -388,11 +397,6 @@ msgstr "%s: не можу змінити користувача `%s' у кліє
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' це NIS сервер для цього клієнта.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: У доступі відмовлено.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -428,32 +432,32 @@ msgstr "%s: \"%s\" включає заборонені символи\n"
 msgid "%s: fields too long\n"
 msgstr "%s: поля занадто довгі\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Не можу змінити ID на root.\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Не можу блокувати файл паролей; спробуйте пізніше.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Не можу відкрити файл паролей.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: %s не знайдено у /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Не можу оновити запис у файлі паролей.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Не можу записати зміни до файлу паролей.\n"
@@ -463,7 +467,7 @@ msgstr "Не можу записати зміни до файлу паролей
 msgid "Cannot unlock the password file.\n"
 msgstr "Не можу разблокувати файл паролей.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -482,53 +486,53 @@ msgstr ""
 "  -m, --md5\t\tвикористовувати MD5 шифрування замість DES, якщо вказані\n"
 "\t\t\tпаролі не зашифровано\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: не можу заблокувати файл паролей\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: не можу заблокувати файл з прихованими паролями\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: не можу відкрити файл з прихованими паролями\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: рядок %d: рядок занадто довгий\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: рядок %d: бракує нового пароля\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: рядок %d: невідомий користувач %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: рядок %d: не можу оновити запис у базі паролей\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: виявлено помилку, зміни ігноруються\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: помилка оновлення файлу з прихованими паролями\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: помилка оновлення файлу з паролями\n"
@@ -567,12 +571,12 @@ msgstr "%s є невірна оболонка.\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "Використовуйте: expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: ЗАСТЕРЕЖЕННЯ! Програма повина бути Set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: невідомий користувач\n"
@@ -608,22 +612,22 @@ msgstr ""
 "\t\t\t\tта ліміти (якщо використовується з -r, -m або -l опціями) лише для\n"
 "\t\t\t\tкористувача з логіном ЛОГІН\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Логін       Помилок Максімум Останнє                 На\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds залишилось]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds блоковано]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Невідомий користувач: %s\n"
@@ -663,7 +667,7 @@ msgstr "%s: приховані паролі груп потрібні для -A\
 msgid "Who are you?\n"
 msgstr "Ви хто?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "невідома група: %s\n"
@@ -697,7 +701,7 @@ msgstr "Зміна пароля для групи %s\n"
 msgid "New Password: "
 msgstr "Новий пароль: "
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Повторіть новий пароль: "
 
@@ -755,75 +759,75 @@ msgstr "%s: не можу разблокувати файл\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "Використовуйте: groupadd [-g gid [-o]] [-f] група\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: помилка додання нового запису у файл груп\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: ім'я %s не є унікальним\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: uid %u не є унікальним\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: не можу отримати унікальний gid\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s: то не є вірне ім'я групи\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: невірна група %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O вимагає ЗМІННА=ЗНАЧЕННЯ\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: не можу переписати файл груп\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: не можу переписати файл прихованих груп\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: не можу заблокувати файл груп\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: не можу відкрити файл груп\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: не можу блокувати файл прихованих груп\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: не можу відкрити файл прихованих груп\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: група %s існує\n"
@@ -833,32 +837,32 @@ msgstr "%s: група %s існує\n"
 msgid "Usage: groupdel group\n"
 msgstr "Використовуйте: groupdel група\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: помилка відалення запису з бази груп\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: помилка відалення запису з бази прихованих груп\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: не можу видалити головну групу користувача.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: група %s не існує\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: група %s є групою NIS\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s є сервер NIS\n"
@@ -873,12 +877,12 @@ msgstr "Використовуйте: groupmod [-g gid [-o]] [-n ім'я] гру
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: %s не знайдено у /etc/passwd\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u не є унікальний gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s не є унікальне ім'я\n"
@@ -893,22 +897,21 @@ msgstr "Використовуйте: %s [-r] [-s] [група [gshadow]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Використовуйте: %s [-r] [-s] [група]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Ні"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: -s та -r несумісні\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: не можу заблокувати файл %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: не можу відкрити файл %s\n"
@@ -919,8 +922,8 @@ msgid "invalid group file entry\n"
 msgstr "невірний запис у файлі груп\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "видалити запис `%s'? "
@@ -972,17 +975,17 @@ msgstr "видалити адміністратора `%s'? "
 msgid "shadow group %s: no user %s\n"
 msgstr "прихована група %s: не має користувачів %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: не можу оновити файл %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: файли було оновлено\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: без змін\n"
@@ -1012,7 +1015,7 @@ msgstr "%s: не можу відкрити файл прихованих гру
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: не можу видалити приховану групу %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: не можу оновити прихований запис для %s\n"
@@ -1131,17 +1134,17 @@ msgstr ""
 "\n"
 "Час логіну буде вичерпано за %d секунд.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " на `%.100s' з `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " на `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1150,84 +1153,29 @@ msgstr ""
 "\n"
 "%s логін: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Невірний логін"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Застереження: login поновлено після тимчасового блокування.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Останній вхід в систему: %s на %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Останній вхід в систему: %.19s на %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " з %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: не має DBM бази данних у системі - ніяких дій не виконано\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: не можу перезаписати файл %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: не можу відкрити файли DBM для %s\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: строка, що розпочинається з %.16s... задовга\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: помилка обробки рядку \"%s\"\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "додання запису для імені %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: помилка додання запису для %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "додано %d записів, довжиною %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Використовуйте: %s [-vf] [-p|g|sp|sg] файл\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Використовуйте: %s [-vf] [-p|g|sp] файл\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Використовуйте: %s [-vf] [-p|g] файл\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1238,115 +1186,115 @@ msgstr "Використовуйте: newgrp [-] [група]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "Використовуйте: sg група [[-c] команда]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "невідомий uid: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "невідомий GID: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "невідомий gid: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "невідомий GID: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Вибачте.\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "занадто багато груп\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Використовуйте: %s [вхідні_данні]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: не можу блокувати /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: не можу блокувати файли, спробуйте пізніше\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: не можу відкрити файл\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: рядок %d: невірний рядок\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: рядок %d: не можу створити GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: рядок %d: не можу створити UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: рядок %d: не можу знайти користувача %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: рядок %d: не можу оновити пароль\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: рядок %d: mkdir не виконався\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s: рядок %d: chown не виконався\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: рядок %d: не можу оновити запис\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: помилка оновлення файлу\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Використовуйте: %s [-f|-s] [ім'я]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "     %s [-x макс] [-n мин] [-w застереження] [-i неактивний] ім'я\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "                %s {-l|-u|-d|-S|-e} ім'я\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Старий пароль: "
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Невірний пароль для `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1355,16 +1303,16 @@ msgstr ""
 "Введіть новий пароль (від %d до %d знаків)\n"
 "Змішуйте великі та малі літери та цифри.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Новий пароль: "
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Спробуте ще.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1374,149 +1322,144 @@ msgstr ""
 "Застереження: Поганий пароль (введіть його знову, якщо все одно бажаєте його "
 "використовувати).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Не співпадає; спробуйте знову.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Пароль для %s не може бути змінений.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Вибачте, пароль для %s не може бути змінено зараз.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: брак пам'яті\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: Не можу виконати %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s: репозиторій %s не підтримується\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: Ви не можете дивитися та змінювати парольну інформацію для %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Зміна пароля для %s\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Пароль для %s не змінено.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Пароль змінено.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "Використовуйте: %s [-q] [-r] [-s] [пароль [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Використовуйте: %s [-q] [-r] [-s] [пароль]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "невірний запис у файлі паролей\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "дублюючий запис у файлі паролей\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "невірне ім'я користувача '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "користувач %s: не має групи %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "користувач %s: тека %s не існує\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "користувач %s: програма %s не існує\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "невірний запис у файлі прихованих паролей\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "дублюючий запис у файлі прихованих паролей\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "відсутній відповідний запис у файлі паролей\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "користувач %s: остання зміна пароля у майбутньому\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: не можу блокувати файл паролей\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: не можу відкрити файл паролей\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: не можу відалити запис у файлі прихованих паролей для %s\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: не можу оновити запис у файлі паролей для %s\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: не можу оновити файл прихованих паролей\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: не можу оновити файл паролей\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: не можу оновити запис для користувача %s\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: не можу видалити файл прихованих паролей\n"
@@ -1525,31 +1468,31 @@ msgstr "%s: не можу видалити файл прихованих пар
 msgid "Sorry."
 msgstr "Вибачте."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: повино бути запущено з терміналу\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: помилка %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "Невідомий id: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Ви не авторизовані для su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Введіть ваш пароль.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1558,7 +1501,7 @@ msgstr ""
 "%s: %s\n"
 "(Ігнорую)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Немає оболонки\n"
@@ -1602,209 +1545,209 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Входимо у режим відновлення системи\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: невірний числовий аргумент `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s: невідомий gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s: невідомий GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: невідома група %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: не можу створити новий файл із значеннями по замовчуванню\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: не можу відкрити новий файл із значеннями по замовчуванню\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: перейменування: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: група `%s' є групою NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: вказано забагато груп (макс %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Використовуйте: useradd [-u uid [-o]] [-g група] [-G група,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "      [-d домашня_тека] [-s shell] [-c коментар] [-m [-k шаблон]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "              [-f неактивний] [-e прострочений]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "             [-p пароль] ім'я\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "         useradd -D [-g група] [-b базова_тека] [-s оболонка]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: не можу заблокувати файл груп\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: не можу відкрити файл груп\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: не можу заблокувати файл прихованих груп\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: не можу відкрити файл прихованих груп\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
 msgstr "%s: uid %u не є унікальним\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: не можу отримати унікальній uid\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: не можу отримати унікальний gid\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: невірна базова тека `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: невірний коментар `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: невірна домашня тека `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: невірна дата `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: приховані паролі потрібні для -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: приховані паролі потрібні для -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: невірне поле `%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: невірна оболонка `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: невірне ім'я користувача '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: не можу переписати файл паролей\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: не можу переписати файл прихованих паролей\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: не можу блокувати файл паролей\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: не можу відкрити файл паролей\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: не можу блокувати файл прихованих паролей\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: не можу відкрити файл прихованих паролей\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: помилка додання нового запису у базу паролей\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: помилка додання нового запису у базу прихованих паролей\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: не можу створити теку %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr "Немає групи \"mail\", створюю поштовий спул з правами 600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Не можу створити поштовій спул для користувача %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: користувач %s існує\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1812,167 +1755,172 @@ msgstr ""
 "%s: група %s існує - якщо ви бажаєте додати користувача до цієї групи, "
 "використовуйте -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: застереження: CREATE_HOME не підтримується, користуйтесь -m.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Використовуйте: %s [-r] ім'я\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: помилка оновлення запису у базі груп\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: не можу відкрити файл груп\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: не можу відкрити файл прихованих груп\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: помилка видалення запису з бази паролей\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: помилка видалення запису з бази прихованих паролей\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: користувач %s на данний момент у системі\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s: %s не належить %s, не видалено\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: застереження: не можу видалити "
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: користувач %s не існує\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: користувач %s є користувачем NIS\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s: не видалено теку %s (можна видалити домашню теку користувача %s)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: помилка видалення теки %s\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "використовуйте: %s\t[-u uid [-o]] [-g група] [-G група,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr ""
 "\t\t[-d домашня_тека [-m]] [-s оболонка] [-c коментар] [-l нове_ім'я]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f неактивний] [-e прострочений] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p пароль] [-L|-U] ім'я\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: бракує памяті у update_group\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: бракує памяті у update_gshadow\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: не подано флагів\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: приховані паролі потрібні для -e і -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: uid %lu не є унікальним\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: помилка зміни запису в базі паролей\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: помилка видалення запису з бази паролей\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: помилка видалення запису з бази прихованих паролей\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: тека %s існує\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: не можу створити %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: не можу змінити власника %s\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: не можу перейменувати теку з %s на %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s: застереження: %s не належить %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "не можу змінити власника поштової скриньки"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "не можу перейменувати поштову скриньку"
 
@@ -2008,3 +1956,12 @@ msgstr ""
 "Використовуйте:\n"
 "`vipw' редагує /etc/passwd      `vipw -s' редагує /etc/shadow\n"
 "`vigr' редагує /etc/group       `vigr -s' редагує /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "невідомий uid: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: uid %u не є унікальним\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: не можу отримати унікальній uid\n"
index b54bba1834db26c0cb44b0f1eef5fb8fd8d9b851..3267d587abbbbcb2db417500c9e9f72b2658e0ee 100644 (file)
Binary files a/po/vi.gmo and b/po/vi.gmo differ
index a6517235e63aaefd7534c47ad20ac506b6518272..5eeffc68987a26c6d07555371c76167b174b7515 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.9\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2005-05-10 22:33+0930\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
@@ -25,40 +25,40 @@ msgstr "Cảnh báo: không biết nhóm %s.\n"
 msgid "Warning: too many groups\n"
 msgstr "Cảnh báo: quá nhiều nhóm.\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "Mật khẩu bạn đã hết hạn dùng rồi."
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "Mật khẩu bạn không hoạt động."
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "Đăng nhập bạn đã hết hạn dùng rồi."
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  Hãy liên lạc quản trị hệ thống.\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  Hãy chọn mật khẩu mới.\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "Mật khẩu bạn sẽ hết hạn dùng %ld ngày.\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "Mật khẩu bạn sễ hết hạn dùng vào ngày mai.\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "Mật khẩu bạn sễ hết hạn dùng vào hôm nay.\n"
@@ -106,7 +106,7 @@ msgstr "Không có thư."
 msgid "You have mail."
 msgstr "Bạn có thư."
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "Mật khẩu sai: %s."
@@ -164,7 +164,7 @@ msgstr "Không thể phân chia chỗ cho thông tin cấu hình.\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "lỗi cấu hình - không biết mục '%s' (hãy báo quản trị).\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "Mật khẩu:"
 
@@ -173,156 +173,166 @@ msgstr "Mật khẩu:"
 msgid "%s's Password: "
 msgstr "Mật khẩu của %s:"
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"Cách sử dụng: chage [-l] [-m ngày_tối_thiểu] [-M ngày_tối_đa] [-W cảnh_bao]\n"
-"\t[-I không_hoạt_động] [-E hết_hạn] [-d ngày_cuối_cùng] người_dùng\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "Hãy nhập giá trị mới, hoạc bấm phím Enter để chọn mặc định.\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "Phạm vị thời gian tối thiểu cho mật khẩu"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "Phạm vị thời gian tối đa cho mật khẩu"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "Thay đổi mặt khẩu cuối cùng (NNNN-TT-NN)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "Cảnh báo hết hạn dùng mật khẩu"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "Mật khẩu không hoạt động"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Ngày hết hạn dùng tài khoản (NNNN-TT-NN)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "Thay đổi mặt khẩu cuối cùng\t\t\t\t\t: "
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, c-format
 msgid "never\n"
 msgstr "không bao giờ\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "Mật khẩu hết hạn dùng:\t\t\t\t\t: "
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "Mật khẩu không hoạt động\t\t\t\t\t:"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "Tài khoản hết hạn dùng\t\t\t\t\t\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr "Số ngày tối thiểu giữa hai lần thay đổi mật khẩu\t\t: %ld\n"
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr "Số ngày tối đa giữa hai lần thay đổi mật khẩu\t\t: %ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr "Số ngày cảnh báo trước khi mật khẩu hết hạn\t: %ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s: đừng bao gồm \"l\" cùng với những cờ khác\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, c-format
-msgid "%s: permission denied.\n"
-msgstr "%s: không có đủ quyền.\n"
+msgid "%s: Permission denied.\n"
+msgstr "%s: không đủ quyền.\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s: xác thức kiểu PAM thất bại\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s: không mở được tập tin mật khẩu.\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s: người dùng lạ %s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s: không khóa được tập tin mật khẩu bóng."
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s: không mở được tập tin mật khẩu bóng."
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "Đang thay đổi thông tin phạm vị thời gian cho %s.\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s: gặp lỗi khi chuyển đổi trường.\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s: không cập nhật được tập tin mật khẩu.\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s: không cập nhật được tập tin mật khẩu bóng.\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s: không thể ghi lại tập tin mật khẩu bóng.\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s: không thể ghi lại tập tin mật khẩu.\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s: chauthtok PAM (thay đổi hiệu bài xác thức) đã thất bại.\n"
@@ -368,7 +378,7 @@ msgstr "Điện thoại ở nhà"
 msgid "Other"
 msgstr "Khác"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s: không thể quyết định tên người dùng của bạn.\n"
@@ -384,11 +394,6 @@ msgstr ""
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' là NIS cái cho ứng dụng khách này.\n"
 
-#: src/chfn.c:382
-#, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s: không đủ quyền.\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -424,32 +429,32 @@ msgstr "%s: \"%s\" chứa ký tự sai\n"
 msgid "%s: fields too long\n"
 msgstr "%s: trường quá dài\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "Không thay đổi được thông tin nhận biết (ID) thành người chủ (root).\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "Không khóa được tập tin mật khẩu; hãy thử lại sau.\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "Không mở được tập tin mật khẩu.\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s: không tìm thấy %s trong /etc/passwd\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "Gặp lỗi khi cập nhật mục ghi mật khẩu.\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "Không đóng góp được các thay đổi mật khẩu.\n"
@@ -459,7 +464,7 @@ msgstr "Không đóng góp được các thay đổi mật khẩu.\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "Không thể bỏ khóa tập tin mật khẩu.\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -478,53 +483,53 @@ msgstr ""
 "  -m, --md5\t\tsử dụng cách mật mã MD5 thay vào DES khi các\n"
 "\t\t\tmật khẩu đã cung cấp chưa được mật mã\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s: không khóa được tập tin mật khẩu.\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s: không khóa được tập tin bóng.\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s: không mở được tập tin bóng.\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s: dòng %d: dòng quá dài.\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s: dòng %d: thiếu mật khẩu mới.\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s: dòng %d: người dùng lại %s.\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s: dòng %d: không câp nhật được mục ghi mật khẩu.\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s: gặp lỗi thì đã bỏ qua các thay đổi.\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s: gặp lỗi khi cập nhật tập tin bóng.\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s: gặp lỗi khi cập nhật tập tin mật khẩu.\n"
@@ -565,12 +570,12 @@ msgstr ""
 "Cách sử dụng: expiry {-f|-c}\n"
 "(expiry: khi hết hạn dùng)\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s: CẢNH BÁO!  Phải có quyền người chủ (root) set-UID!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s: người dùng lạ.\n"
@@ -609,22 +614,22 @@ msgstr ""
 "\t\t\t\t(nếu dùng với tùy chọn -r, -m hay -l)\n"
 "\t\t\t\tchỉ cho _người_ có tên _dùng_ ấy\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr "Tên dùng\t     Thất bại\tTối đa\tMới nhất        Vào\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [%lds còn lại]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [%lds khóa]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "Người dùng lạ: %s\n"
@@ -664,7 +669,7 @@ msgstr "%s: cần thiết mật khẩu nhóm bóng cho -A\n"
 msgid "Who are you?\n"
 msgstr "Bạn là ai?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "nhóm lạ: %s\n"
@@ -698,7 +703,7 @@ msgstr "Đang thay đổi mật khẩu cho nhóm %s\n"
 msgid "New Password: "
 msgstr "Mật khẩu mới:"
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "Hãy nhập lại mật khẩu mới:"
 
@@ -758,75 +763,75 @@ msgstr ""
 "Cách sử dụng: groupadd [-g gid [-o]] nhóm\n"
 "(groupadd: thêm nhóm)\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s: gặp lỗi khi thêm mục ghi nhóm mới.\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s: tên %s không phải độc nhất.\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s: gid %u không phải độc nhất.\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s: không gọi được gid độc nhất.\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s không phải là tên nhóm hợp lệ\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s: nhóm không hợp lệ %s.\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s: -O cần đến TÊN=GIÁ_TRỊ\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s: không ghi lại được tập tin nhóm.\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s: không ghi lại được tập tin nhóm bóng.\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s: không khóa được tập tin nhóm.\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s: không mở được tập tin nhóm.\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s: không khóa được tập tin nhóm bóng.\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s: không mở được tập tin nhóm bóng.\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s: có nhóm %s rồi.\n"
@@ -838,32 +843,32 @@ msgstr ""
 "Cách sử dụng: groupdel nhóm\n"
 "(groupdel: xóa bỏ nhóm)\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s: gặp lỗi khi loại bỏ mục ghi nhóm.\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s: gặp lỗi khi loại bỏ mục ghi nhóm bóng.\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s: không loại bỏ được nhóm chính của người dùng.\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s: chưa có nhóm %s.\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s: nhóm %s là nhóm NIS.\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s là NIS cái.\n"
@@ -880,12 +885,12 @@ msgstr ""
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s: không tìm thấy %s trong /etc/group\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s: %u không phải là gid độc nhất.\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s: %s không phải là tên độc nhất.\n"
@@ -900,22 +905,21 @@ msgstr "Cách sử dụng: %s [-r] [-s] [nhóm [nhóm_bóng]]\n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "Cách sử dụng: %s [-r] [-s] [nhóm]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "Không"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s: hai tùy chọn -s và -r không tương thích.\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s: không khóa được tập tin %s.\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s: không mở được tập tin %s.\n"
@@ -926,8 +930,8 @@ msgid "invalid group file entry\n"
 msgstr "mục ghi tập tin nhóm không hợp lệ.\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "xóa bỏ dòng `%s' chứ?"
@@ -979,17 +983,17 @@ msgstr "xóa bỏ thành viên có quyền quản lý `%s' chứ?"
 msgid "shadow group %s: no user %s\n"
 msgstr "nhóm bóng %s: không có người dùng %s.\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s: không cập nhật được tập tin %s.\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s: đã cập nhật các tập tin ấy rồi.\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s: chưa thay đổi gì\n"
@@ -1019,7 +1023,7 @@ msgstr "%s: không mở được tập tin nhóm bóng.\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s: không loại bỏ được nhóm bóng %s.\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s: không cập nhật được mục ghi bóng cho %s.\n"
@@ -1139,17 +1143,17 @@ msgstr ""
 "\n"
 "Đăng nhập đã quá giờ sau %d giây.\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " vào `%.100s' từ `%.200s'"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr " vào `%.100s'"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1158,86 +1162,29 @@ msgstr ""
 "\n"
 "%s đăng nhập: "
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "Đăng nhập không đúng"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "Cảnh báo: đã hiệu lực lại đăng nhập sau bị khóa ra tạm thời.\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "Đang nhập cuối cùng: %s vào %s"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "Đang nhập cuối cùng: %.19s vào %s"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " từ %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr ""
-"%s: không có cơ sở dữ liệu DBM trên hệ thống này thì chưa thực hiện hành "
-"động nào.\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: không ghi đè lên tập tin %s.\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: không mở được các tập tin DBM để %s.\n"
-
-#: src/mkpasswd.c:286
-#, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: dòng bắt đầu với %.16s... là quá dài.\n"
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s: gặp lỗi khi phân tách dòng \"%s\".\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, c-format
-msgid "adding record for name %s\n"
-msgstr "đang thêm mục ghi cho tên %s\n"
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s: gặp lỗi khi thêm mục ghi cho %s\n"
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "đã thêm %d mục ghi, mục dài nhất là %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Cách sử dụng: %s [-vf] [-p|g|sp|sg] tập_tin\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Cách sử dụng: %s [-vf] [-p|g|sp] tập_tin\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Cách sử dụng: %s [-vf] [-p|g] tập_tin\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1252,117 +1199,117 @@ msgstr ""
 "Cách sử dụng: sg group [[-c] lệnh]\n"
 "(group: nhóm)\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "uid lạ: %u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "GID lạ: %lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "gid lạ: %lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "GID lạ: %lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "Tiếc là\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "có quá nhiều nhóm.\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "Cách sử dụng: %s [dữ_liệu]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s: không khóa được /etc/passwd.\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s: không khóa được tập tin; hãy thư lại sau.\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s: không mở được tập tin.\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s: dòng %d: dòng không hợp lệ.\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s: dòng %d: không tạo được GID.\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s: dòng %d: không tạo được UID.\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s: dòng %d: không tìm thấy người dùng %s.\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s: dòng %d: không cập nhật được mật khẩu.\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s: dòng %d: không thực hiện lệnh mkdir (tạo thư mục) được.\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr ""
 "%s: dòng %d: không thực hiện lệnh chown (thay đổi quyền sở hữu) được.\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s: dòng %d: không cập nhật được mục ghi\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s: gặp lỗi khi cập nhật tập tin.\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "Cách sử dụng: %s [-f|-s] [tên]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr ""
 "       %s [-x tối_đa] [-n tối_thiểu] [-w cảnh_báo] [-i không_hoạt_động] tên\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} tên\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "Mật khẩu cũ:"
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "Mật khẩu không đúng cho `%s'\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1371,16 +1318,16 @@ msgstr ""
 "Hãy nhập mật khẩu mới (ký tự tối thiểu %d, tối đa %d).\n"
 "Hãy phối cả chữ hoa và chữ thường và số với nhau.\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "Mật khẩu mới:"
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "Hãy thử lại.\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1389,57 +1336,57 @@ msgstr ""
 "\n"
 "Cảnh báo: mật khẩu yếu (nếu còn muốn sử dụng nó thì hãy nhập lại).\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "Hai mật khẩu ấy chưa khớp với nhau: hãy thử lại.\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "Không thay đổi được mật khẩu cho %s.\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "Tiếc là chưa có thể thay đổi mật khẩu cho %s.\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: hết bộ nhớ\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s: không thực hiện được %s."
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s chưa hỗ trợ kho %s.\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "%s: không cho phép bạn xem hay sửa đổi thông tin mật khẩu cho %s.\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Đang thay đổi mật khẩu cho %s.\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "Chưa thay đổi mật khẩu cho %s.\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "Đã thay đổi mật khẩu rồi.\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr ""
@@ -1447,96 +1394,89 @@ msgstr ""
 "(passwd: mật khẩu\n"
 "shadow: bóng)\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr ""
-"Cách sử dụng: %s [-q] [-r] [-s] [passwd]\n"
-"(passwd: mật khẩu)\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "mục ghi tập tin mật khẩu không hợp lệ\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "mục ghi mật khẩu nhân bản\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "tên dùng không hợp lệ '%s'\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "người dùng %s: không có nhóm %u\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "người dùng %s: chưa có thư mục %s.\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "người dùng %s: chưa có chương trình %s.\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "mục ghi tập tin mật khẩu bóng không hợp lệ\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "mục ghi tập tin mật khẩu bóng nhân bản\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "không có mục ghi tập tin mật khẩu có khớp\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "người dùng %s: lần thay đổi mật khẩu cuối cùng có trong tương lai\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s: không khóa được tập tin mật khẩu (passwd)\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s: không mở được tập tin mật khẩu (passwd)\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s: không loại bỏ được mục ghi bóng cho %s.\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s: không cập nhật được mục ghi mật khẩu (passwd) cho %s.\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s: không cập nhật được tập tin bóng.\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s: không cập nhật được tập tin mật khẩu (passwd).\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s: không cập nhật được mục ghi cho người dùng %s.\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s: không xóa bỏ được tập tin mật khẩu bóng.\n"
@@ -1545,31 +1485,31 @@ msgstr "%s: không xóa bỏ được tập tin mật khẩu bóng.\n"
 msgid "Sorry."
 msgstr "Tiếc là..."
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s: phải chạy nó từ thiết bị cuối.\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s: pam_start: (pam bắt đầu) lỗi %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "ID lạ: %s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "Bạn không đủ quyền sử dụng lệnh su với %s.\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(Hãy nhập mật khẩu của bạn.)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1578,7 +1518,7 @@ msgstr ""
 "%s: %s\n"
 "(Đã bo qua)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "Không có hệ vỏ\n"
@@ -1622,213 +1562,213 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "Đang vào chế độ bảo dưỡng hệ thống\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s: đối số thuộc số không hợp lệ `%s'\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
+msgid "%s: unknown GID %s\n"
 msgstr "%s: GID lạ %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s: nhóm lạ %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s: không tạo được tập tin mặc định mới.\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s: không mở được tập tin mặc định mới.\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s: đổi tên: %s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s: nhóm `%s' không phải là nhóm NIS.\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: đã ghi rõ quá nhiều nhóm (tối đa %d).\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr ""
 "Cách sử dụng: useradd [-u uid [-o]] [-g nhóm] [-G nhóm,...] \n"
 "(useradd: thêm người dùng)\n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "\t\t[-d chính] [-s hệ_vỏ] [-c ghi_chú] [-m [-k mẫu]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "\t\t[-f không_hoạt_động] [-e hết_hạn ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "\t\t[-p mật_khẩu] tên\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr ""
 "       useradd -D [-g nhóm] [-b cơ_bản] [-s hệ_vỏ]\n"
 "(useradd: thêm người dùng)\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s: gặp lỗi khi khóa tập tin nhóm.\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s: gặp lỗi khi mở tập tin nhóm.\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s: gặp lỗi khi khóa tập tin nhóm bóng.\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s: gặp lỗi khi mở tập tin nhóm bóng.\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s: UID %u không phải độc nhất\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s: gid %u không phải độc nhất.\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%s: không gọi được UID độc nhất\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%s: không gọi được gid độc nhất.\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s: thư mục cơ ban không hợp lệ `%s'\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s: ghi chú không hợp lệ `%s'\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s: thư mục chính không hợp lê `%s'\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s: ngày không hợp lệ `%s'\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s: cần đến mật khẩu bóng cho tùy chọn -e\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s: cần đến mật khẩu bóng cho tùy chọn -f\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s: trường không hợp lệ`%s'\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s: hệ vỏ không hợp lệ `%s'\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s: tên dùng không hợp lệ '%s'\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s: không ghi lại được tập tin mật khẩu\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s: không ghi lại được tập tin mật khẩu bóng\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s: không khóa được tập tin mật khẩu\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s: không mở được tập tin mật khẩu\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s: không khóa được tập tin mật khẩu bóng\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s: không mở được tập tin mật khẩu bóng\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s: gặp lỗi khi thêm mục ghi mật khẩu mới.\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s: gặp lỗi khi thêm mục ghi mật khẩu bóng mới.\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s: không tạo được thư mục %s.\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr "Không có nhóm tên \"mail\" thì đang tạo ống chỉ với chế độ 0600.\n"
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "Không tạo được ống chỉ thư cho người dùng %s.\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s: có người dùng %s rồi.\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
@@ -1836,170 +1776,175 @@ msgstr ""
 "%s: có nhóm %s rồi.  Nếu bạn muốn thêm người dùng này vào nhóm ấy\n"
 "\t\t\t\t\tthì hãy sử dụng tùy chọn -g.\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr ""
 "%s: cảnh báo: chưa hỗ trợ CREATE_HOME thì hãy sử dụng tùy chọn -m thay vào "
 "đó.\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "Cách sử dụng: %s [-r] tên\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s: gặp lỗi khi cập nhật mục ghi nhóm.\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s: không mở được tập tin nhóm.\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s: không mở được tập tin nhóm bóng.\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s: gặp lỗi khi xóa bỏ mục ghi mật khẩu.\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s: gặp lỗi khi xóa bỏ mục ghi mật khẩu bóng.\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s: người dùng %s có đã đăng nhập.\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%1$s: %3$s không sở hữu %2$s thì sẽ không loại bỏ nó.\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s: cảnh báo: không thể loại bỏ"
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s: không có người dùng %s\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s: người dùng %s là người dùng NIS.\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr ""
 "%s: sẽ không loại bỏ thư mục %s (vì sẽ cũng loại bỏ thư mục chính của người "
 "dùng %s).\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s: gặp lỗi khi loại bỏ thư mục %s.\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "Cách sử dụng: %s\t[-u uid [-o]] [-g nhóm] [-G nhóm,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d chính [-m]] [-s hệ_vỏ] [-c ghi_chú] [-l tên_mới]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f không_hoạt_động] [-e hết_hạn ] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p mật_khẩu] [-L|-U] tên\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s: hết bộ nhớ trong update_group (cập nhật nhóm).\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s: hết bộ nhớ trong update_shadow (cập nhật bóng).\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s: chưa gõ cờ\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s: cần đến mật khẩu bóng cho hai tùy chọn -e và -f\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s: UID %lu không phải độc nhất.\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s: gặp lỗi khi thay đổi mục ghi mật khẩu.\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s: gặp lỗi khi loại bỏ mục ghi mật khẩu.\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s: gặp lỗi khi loại bỏ mục ghi mật khẩu bóng.\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s: có thư mục %s rồi.\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s: không tạo được %s.\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s: không chown (thay đổi quyền sở hữu) được %s.\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s: không thể thay đổi lại thư mục %s thành %s.\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%1$s: cảnh báo: %3$s không sở hữu %2$s.\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "không thay đổi người sở hữu hộp thư được"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "không thay đổi tên hộp thư được"
 
@@ -2035,3 +1980,12 @@ msgstr ""
 "Cách sử dụng:\n"
 "`vipw' thì sửa đổi /etc/passwd        `vipw -s' thì sửa đổi /etc/shadow\n"
 "`vigr' thì sửa đổi /etc/group         `vigr -s' thì sửa đổi /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "uid lạ: %u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s: UID %u không phải độc nhất\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s: không gọi được UID độc nhất\n"
index 5a6982d092616145c5c6dd8e5bd31345251fcbbe..95020c3164a743ee90195fc944d841f1db80c5d8 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index b4e06da0e0ad3c16c6ca15431fb40f0afb1851a5..e2c97f822178feffd00378e7107f2185d8be3dc4 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
 "PO-Revision-Date: 2004-05-14 10:26+1200\n"
 "Last-Translator: Carlos Z.F. Liu <carlos_liu@yahoo.com>\n"
 "Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
@@ -25,40 +25,40 @@ msgstr "警告:未知组 %s\n"
 msgid "Warning: too many groups\n"
 msgstr "警告:用户组过多\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "您的密码已过期。"
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "您的密码已失效。"
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "您的帐户已过期。"
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
 msgstr "  请联系系统管理员。\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  请选择一个新密码。\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "您的密码将在 %ld 天内过期。\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "您的密码将在明天过期。\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "您的密码今天过期。\n"
@@ -105,7 +105,7 @@ msgstr "无信件。"
 msgid "You have mail."
 msgstr "您有信件。"
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "错误的密码:%s。 "
@@ -163,7 +163,7 @@ msgstr "无法为配置信息分配空间。\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "配置错误 - 未知项目“%s”(请通知管理员)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "密码:"
 
@@ -172,156 +172,166 @@ msgstr "密码:"
 msgid "%s's Password: "
 msgstr "%s 的密码:"
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"用法:chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告]\n"
-"             [-I 失效日] [-E 过期日] [-d 最后日] 用户\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "请输入新值,或直接敲回车键以使用默认值\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "最小密码年龄"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "最大密码年龄"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "最近一次密码修改时间 (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "密码过期警告"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "密码失效"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "帐户过期时间 (YYYY-MM-DD)"
 
-#: src/chage.c:231
+#: src/chage.c:241
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
 msgstr "最近一次密码修改时间 (YYYY-MM-DD)"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
 #, fuzzy, c-format
 msgid "never\n"
 msgstr "从不\n"
 
-#: src/chage.c:244
+#: src/chage.c:254
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
 msgstr "密码过期:\t"
 
-#: src/chage.c:260
+#: src/chage.c:270
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
 msgstr "密码失效:\t"
 
-#: src/chage.c:274
+#: src/chage.c:284
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
 msgstr "帐户过期:\t"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:292
+#: src/chage.c:302
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s:请不要与其它标志一同使用“l”\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
 #, fuzzy, c-format
-msgid "%s: permission denied.\n"
+msgid "%s: Permission denied.\n"
 msgstr "%s:没有权限\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s:PAM 验证失败\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s:无法打开密码文件\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s:未知用户:%s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s:无法锁定影子密码文件"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s:无法打开影子密码文件"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "正在为 %s 修改年龄信息\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s:改变字段时出错\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s:无法更新密码文件\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s:无法更新影子密码文件\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s:无法重写影子密码文件\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s:无法重写密码文件\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s:PAM chauthtok 失败\n"
@@ -365,7 +375,7 @@ msgstr "家庭电话"
 msgid "Other"
 msgstr "其它"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s:无法确定您的用户名。\n"
@@ -380,11 +390,6 @@ msgstr "%s:不能在 NIS 客户端上修改用户“%s”。\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s:“%s”是此客户端的 NIS 管理员。\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s:没有权限\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -420,32 +425,32 @@ msgstr "%s:“%s”包含非法字符\n"
 msgid "%s: fields too long\n"
 msgstr "%s:字段太长\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "无法改变 ID 到 root。\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "无法锁定密码文件;稍后再试。\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "无法打开密码文件。\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s:未在 /etc/passwd 中找到 %s\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "更改密码条目时出错。\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "无法提交密码文件改动。\n"
@@ -455,7 +460,7 @@ msgstr "无法提交密码文件改动。\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "无法解锁密码文件。\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -467,53 +472,53 @@ msgid ""
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
 msgstr "%s:无法锁定密码文件\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
 msgstr "%s:无法锁定影子文件\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
 msgstr "%s:无法打开影子文件\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s:第 %d 行:此行太长\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s:第 %d 行:缺少新密码\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s:第 %d 行:未知用户 %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s:第 %d 行:无法更新密码条目\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s:发现错误,忽略改动\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s:更新影子文件时出错。\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s:更新密码文件时出错。\n"
@@ -552,12 +557,12 @@ msgstr "%s 是无效的 shell。\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "用法:expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s:警告!必须是 set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s:未知用户\n"
@@ -579,22 +584,22 @@ msgid ""
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [还剩 %lds]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [锁定 %lds]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "未知用户:%s\n"
@@ -634,7 +639,7 @@ msgstr "%s:-A 需要影子组密码\n"
 msgid "Who are you?\n"
 msgstr "你是谁?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "未知组:%s\n"
@@ -668,7 +673,7 @@ msgstr "正在修改 %s 组的密码\n"
 msgid "New Password: "
 msgstr "新密码:"
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "请重新输入新密码:"
 
@@ -726,75 +731,75 @@ msgstr "%s 无法解锁文件。\n"
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
 msgstr "用法:groupadd [-g gid [-o]] [-f] 组\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s:增加新组条目时出错\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s:名称 %s 并不唯一\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s:gid %u 并不唯一\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s:无法获取独有的 gid\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
+#: src/groupadd.c:279 src/groupmod.c:282
 #, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s:%s 不是有效的组名\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s:无效组名 %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s:-O 需要 NAME=VALUE\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s:无法重写组文件\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s:无法重写影子组文件\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s:无法锁定组文件\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s:无法打开组文件\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s:无法锁定影子组文件\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s:无法打开影子组文件\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s:%s 组已存在\n"
@@ -804,32 +809,32 @@ msgstr "%s:%s 组已存在\n"
 msgid "Usage: groupdel group\n"
 msgstr "用法:groupdel 组\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s:删除组条目时出错\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s:删除影子组条目时出错\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s:不能删除用户的主组。\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s:%s 组不存在\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s:%s 组是一个 NIS 组\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s:%s 是 NIS 管理员\n"
@@ -844,12 +849,12 @@ msgstr "用法:groupmod [-g gid [-o]] [-n 名称] 组\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s:未在 /etc/group 中找到 %s\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s:%u 不是一个独有的 gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s:%s 不是一个独有的名称\n"
@@ -864,22 +869,21 @@ msgstr "用法:%s [-r] [-s] [组 [gshadow]] \n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "用法:%s [-r] [-s] [组]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "否"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s:-s 和 -r 是互不兼容的\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s:无法锁定文件 %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s:无法打开文件 %s\n"
@@ -890,8 +894,8 @@ msgid "invalid group file entry\n"
 msgstr "无效的组文件条目\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "删除“%s”行?"
@@ -943,17 +947,17 @@ msgstr "删除管理员用户“%s”吗?"
 msgid "shadow group %s: no user %s\n"
 msgstr "%s 影子组:无用户 %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s:无法更新文件 %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s:文件已被更新\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s:无改变\n"
@@ -983,7 +987,7 @@ msgstr "%s:无法打开影子组文件\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s:无法删除影子组 %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s:无法为 %s 更新影子条目\n"
@@ -1095,17 +1099,17 @@ msgstr ""
 "\n"
 "登录超时 %d 秒\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " 在“%.100s”上,来自“%.200s”"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr "在“%.100s”上"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1114,84 +1118,29 @@ msgstr ""
 "\n"
 "%s 用户名:"
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "登录错误"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "警告:在短暂的锁定后将恢复登录。\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "上次登录:%s 在 %s 上"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "上次登录:%.19s 在 %s 上"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " 来自 %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s:系统中没有 DBM 数据库 - 未执行任何动作\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s:无法覆盖文件 %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s:无法为 %s 打开 DBM 文件\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s:开头 "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s:解析“%s”行时出错\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "增加名称记录 "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s:增加记录时出错 "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "增加 %d 个条目,最长是 %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "用法:%s [-vf] [-p|g|sp|sg] 文件\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "用法:%s [-vf] [-p|g|sp] 文件\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "用法:%s [-vf] [-p|g] 文件\n"
-
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
@@ -1202,115 +1151,115 @@ msgstr "用法:newgrp [-] [组]\n"
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "用法:sg 组 [[-c] 命令]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "未知的 uid:%u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "未知的 GID:%lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "未知的 gid:%lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "未知的 GID:%lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "抱歉。\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "用户组过多\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "用法:%s [输入]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s:无法锁定 /etc/passwd。\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s:无法锁定文件,请稍后再试。\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s:无法打开文件\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s:第 %d 行:无效行\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s:第 %d 行:无法创建 GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s:第 %d 行:无法创建 UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s:第 %d 行:无法找到用户 %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s:第 %d 行:无法更新密码\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s:第 %d 行:创建目录失败\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s:第 %d 行:改变所有者或组别失败\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s:第 %d 行:无法更新条目\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s:更新文件出错\n"
 
-#: src/passwd.c:154
+#: src/passwd.c:142
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "用法:%s [-f|-s] [名称]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x 最大] [-n 最小] [-w 警告] [-i 失效] 名称\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} 名称\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "旧密码:"
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "“%s”的密码不正确\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1319,16 +1268,16 @@ msgstr ""
 "请输入新密码(最少 %d 最多 %d 个字符)\n"
 "请混合使用大小写字母和数字。\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "新密码:"
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "再试试。\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1337,149 +1286,144 @@ msgstr ""
 "\n"
 "警告:脆弱的密码(重新输入以强制使用它)。\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "他们并不匹配;请重试。\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "无法更改 %s 的密码。\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "抱歉,无法更改 %s 的密码。\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s:内存溢出\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s:无法执行 %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s:不支持 %s 存储。\n"
 
-#: src/passwd.c:884
+#: src/passwd.c:830
 #, fuzzy, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
 msgstr "您不能为 %s 更改 shell。\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "正在为 %s 修改密码\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "%s 的密码未被改变。\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "密码未更改。\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "用法:%s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "用法:%s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "无效的密码文件项\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "重复的密码项\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "无效的用户名“%s”\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "用户 %s:无 %u 组\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "用户 %s:目录 %s 不存在\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "用户 %s:程序 %s 不存在\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "无效的影子密码文件项\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "重复的影子密码文项\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "无匹配的密码文件项\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "用户 %s:最近一次密码改动\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s:无法锁定密码文件\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s:无法打开密码文件\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s:无法为 %s 删除影子条目\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s:无法为 %s 更新密码条目\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s:无法更新影子文件\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s:无法更新密码文件\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s:不能更新用户 %s 的条目\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s:无法删除影子密码文件\n"
@@ -1488,31 +1432,31 @@ msgstr "%s:无法删除影子密码文件\n"
 msgid "Sorry."
 msgstr "抱歉"
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s:必须从终端中执行\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s:pam_start:错误 %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "未知 id:%s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "您没有被授权 su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(请输入您自己的密码)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1521,7 +1465,7 @@ msgstr ""
 "%s:%s\n"
 "(忽略)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "没有 shell\n"
@@ -1565,374 +1509,379 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "正在进入系统维护模式\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s:无效的数字参数“%s”\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s:未知的 gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s:未知的 GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s:未知的组 %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s:无法创建新的默认文件\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s:无法打开新的默认文件\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s:改名:%s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s:“%s”组是一个 NIS 组。\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s:指定了过多组(最多 %d)。\n"
 
-#: src/useradd.c:660
+#: src/useradd.c:635
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "用法:useradd [-u uid [-o]] [-g 组] [-G 组,...] \n"
 
-#: src/useradd.c:663
+#: src/useradd.c:638
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
 msgstr "               [-d 主目录] [-s shell] [-c 注释] [-m [-k 模板]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
+#: src/useradd.c:639 src/useradd.c:643
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
 msgstr "               [-f 失效日] [-e 过期日 ]\n"
 
-#: src/useradd.c:667
+#: src/useradd.c:640
 #, c-format
 msgid "               [-p passwd] name\n"
 msgstr "               [-p 密码] 名称\n"
 
-#: src/useradd.c:669
+#: src/useradd.c:642
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
 msgstr "       useradd -D [-g 组] [-b 主目录] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s:锁定组文件时出错\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s:打开组文件时出错\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s:锁定影子组文件时出错\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s:打开影子组文件时出错\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s:uid %u 不唯一\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s:gid %u 并不唯一\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%sï¼\9aæ\97 æ³\95è\8e·å¾\97å\94¯ä¸\80ç\9a\84 uid\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%sï¼\9aæ\97 æ³\95è\8e·å\8f\96ç\8b¬æ\9c\89ç\9a\84 gid\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s:无效的主目录“%s”\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s:无效注释“%s”\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s:无效的主目录“%s”\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s:无效日期“%s”\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s:-e 参数需要有影子密码\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s:-f 参数需要有影子密码\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s:无效字段 “%s”\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s:无效 shell“%s”\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s:无效用户名“%s”\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s:无法重写密码文件\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s:无法重写影子密码文件\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s:无法锁定密码文件\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s:无法打开密码文件\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s:无法锁定影子密码文件\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s:无法打开影子密码文件\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s:加入新密码项时出错\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s:加入新影子密码项时出错\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s:无法创建目录 %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
 
-#: src/useradd.c:1446
+#: src/useradd.c:1390
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
 msgstr "%s:不能更新用户 %s 的条目\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s:用户 %s 已存在\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr "%s:%s 组已经存在 - 如果您想将此用户加入到该组,请使用 -g 参数。\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s:警告:CREATE_HOME 未被支持,请使用 -m 参数。\n"
 
-#: src/userdel.c:108
+#: src/userdel.c:104
 #, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "用法:%s [-r] 名称\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s:更新组条目时出错\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s:无法打开组文件\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s:无法打开影子组文件\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s:删除密码项时出错\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s:删除影子密码项时出错\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s:用户 %s 目前已登录\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s:%s 并不属于 %s,所以不会删除\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s:警告:无法删除"
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s:用户 %s 不存在\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s:用户 %s 是 NIS 用户\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s:不能删除目录 %s (因为这将删除用户 %s 的主目录)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s:删除目录 %s 时出错\n"
 
-#: src/usermod.c:289
+#: src/usermod.c:279
 #, fuzzy, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "用法:%s\t[-u uid [-o]] [-g 组] [-G 组,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d 主目录 [-m]] [-s shell] [-c 注释] [-l 新名称]\n"
 
-#: src/usermod.c:296
+#: src/usermod.c:285
 #, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f 失效日] [-e 过期日] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p 密码] [-L|-U] 名称\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s:update_group 内存溢出\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s:update_gshadow 内存溢出\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s:没有指定标志\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s:-e 和 -f 参数需要影子密码\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s:uid %lu 不唯一\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s:改变密码项时出错\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s:删除密码项时出错\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s:删除影子密码项时出错\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s:目录 %s 不存在\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s:无法创建 %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s:无法改变 %s 的所有者和组别\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s:无法将目录 %s 改名为 %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s:警告:%s 不属于 %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "改变信箱所有者失败"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "无法为信箱改名"
 
@@ -1968,3 +1917,12 @@ msgstr ""
 "用法:\n"
 "“vipw” 编辑 /etc/passwd      “vipw -s” 编辑 /etc/shadow\n"
 "“vigr” 编辑 /etc/group       “vigr -s” 编辑 /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "未知的 uid:%u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s:uid %u 不唯一\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s:无法获得唯一的 uid\n"
index 64c4d67f86ae94a1a40d05317966ec09296680c6..5014f85888a1f0a84d1b2418b5d097defc165c3e 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index 76d43f791459b8676b75a68889598ad058107dbd..397bfe8776c9224e885406dd371e753c31000186 100644 (file)
@@ -5,12 +5,12 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow\n"
+"Project-Id-Version: shadow 4.0.9\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-23 12:26+0200\n"
-"PO-Revision-Date: 2005-01-06 09:58+0800\n"
+"POT-Creation-Date: 2005-06-20 17:48+0200\n"
+"PO-Revision-Date: 2005-06-02 22:20+0800\n"
 "Last-Translator: Asho Yeh <asho@debian.org.tw>\n"
-"Language-Team: Chinese (traditional) <<zh-l10n@linux.org.tw>>\n"
+"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -29,40 +29,40 @@ msgstr "警告:未知群組 %s\n"
 msgid "Warning: too many groups\n"
 msgstr "警告:使用者群組過多\n"
 
-#: libmisc/age.c:72
+#: libmisc/age.c:70
 #, c-format
 msgid "Your password has expired."
 msgstr "您的密碼已過期。"
 
-#: libmisc/age.c:75
+#: libmisc/age.c:73
 #, c-format
 msgid "Your password is inactive."
 msgstr "您的密碼已失效。"
 
-#: libmisc/age.c:78
+#: libmisc/age.c:76
 #, c-format
 msgid "Your login has expired."
 msgstr "您的帳戶已過期。"
 
-#: libmisc/age.c:90
+#: libmisc/age.c:88
 msgid "  Contact the system administrator.\n"
-msgstr "  è«\8bè\81¯ç³»系統管理員。\n"
+msgstr "  è«\8bè\81¯ç¹«系統管理員。\n"
 
-#: libmisc/age.c:93
+#: libmisc/age.c:91
 msgid "  Choose a new password.\n"
 msgstr "  請選擇一個新密碼。\n"
 
-#: libmisc/age.c:169
+#: libmisc/age.c:167
 #, c-format
 msgid "Your password will expire in %ld days.\n"
 msgstr "您的密碼將在 %ld 天內過期。\n"
 
-#: libmisc/age.c:172
+#: libmisc/age.c:170
 #, c-format
 msgid "Your password will expire tomorrow.\n"
 msgstr "您的密碼將在明天過期。\n"
 
-#: libmisc/age.c:174
+#: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire today.\n"
 msgstr "您的密碼今天過期。\n"
@@ -83,14 +83,16 @@ msgid "You may not change $%s\n"
 msgstr "您不應該改變 $%s\n"
 
 #: libmisc/failure.c:229
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "%d failure since last login.\n"
 "Last was %s on %s.\n"
 msgid_plural ""
 "%d failures since last login.\n"
 "Last was %s on %s.\n"
-msgstr[0] "距離上一次登錄已有 %d 次登錄失敗。最後一次是 %s 在 %s 上。\n"
+msgstr[0] ""
+"距離上一次登錄已有 %d 次登錄失敗。\n"
+"最後一次是 %s 在 %s 上。\n"
 
 #: libmisc/limits.c:397
 #, c-format
@@ -109,7 +111,7 @@ msgstr "無信件。"
 msgid "You have mail."
 msgstr "您有信件。"
 
-#: libmisc/obscure.c:273 src/passwd.c:181
+#: libmisc/obscure.c:273 src/passwd.c:169
 #, c-format
 msgid "Bad password: %s.  "
 msgstr "錯誤的密碼:%s。 "
@@ -126,7 +128,7 @@ msgstr "passwd:%s\n"
 
 #: libmisc/pam_pass.c:49
 msgid "passwd: password updated successfully\n"
-msgstr ""
+msgstr "passwd:密碼已成功地變更\n"
 
 #: libmisc/setupenv.c:207
 #, c-format
@@ -167,7 +169,7 @@ msgstr "無法為設定訊息配置空間。\n"
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "配置錯誤 - 未知項目“%s”(請通知管理員)\n"
 
-#: lib/pwauth.c:45 src/newgrp.c:341
+#: lib/pwauth.c:45 src/newgrp.c:338
 msgid "Password: "
 msgstr "密碼:"
 
@@ -176,156 +178,177 @@ msgstr "密碼:"
 msgid "%s's Password: "
 msgstr "%s 的密碼:"
 
-#: src/chage.c:112
+#: src/chage.c:110
 #, fuzzy, c-format
 msgid ""
-"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-"             [-I inactive] [-E expire] [-d last_day] user\n"
+"Usage: chage [options] user\n"
+"\n"
+"Options:\n"
+"  -d, --lastday LAST_DAY\tset last password change to LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\tset account expiration date to EXPIRE_DATE\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -I, --inactive INACTIVE\tset password inactive after expiration\n"
+"\t\t\t\tto INACTIVE\n"
+"  -l, --list\t\t\tshow account aging information\n"
+"  -m, --mindays MIN_DAYS\tset minimum number of days before password\n"
+"\t\t\t\tchange to MIN_DAYS\n"
+"  -M, --maxdays MAX_DAYS\tset maximim number of days before password\n"
+"\t\t\t\tchange to MAX_DAYS\n"
+"  -W, --warndays WARN_DAYS\tset expiration warning days to WARN_DAYS\n"
 msgstr ""
-"用法:%s [-l] [-m 最小天數] [-M 最大天數] [-W 警告]\n"
-"\t[-I 失效日] [-E 過期日] [-d 最後日] 使用者\n"
+"用法:chage [選項] 使用者\n"
+"\n"
+"選項:\n"
+"  -d, --lastday LAST_DAY\t設定密碼的最後修改日期為 LAST_DAY\n"
+"  -E, --expiredate EXPIRE_DATE\t設定帳號過期的日期為 EXPIRE\n"
+"  -h, --help\t\t\t顯示這份說明文字然後結束\n"
+"  -I, --inactive INACTIVE\t設定密碼在 INACTIVE 天後失效\n"
+"  -l, --list\t\t\t顯示帳號期限的相關資訊\n"
+"  -m, --mindays MIN_DAYS\t最少必須相隔 MIN_DAYS 天才能改變密碼\n"
+"  -M, --maxdays MAX_DAYS\t最多必須相隔 MIN_DAYS 天才能改變密碼\n"
+"  -W, --warndays WARN_DAYS\t密碼在過期前 WARN_DAYS 天會發出警告\n"
 
-#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#: src/chage.c:155 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
 msgstr "請輸入新值,或直接按 ENTER 鍵以使用預設值\n"
 
-#: src/chage.c:149
+#: src/chage.c:159
 msgid "Minimum Password Age"
 msgstr "密碼期限最小值"
 
-#: src/chage.c:155
+#: src/chage.c:165
 msgid "Maximum Password Age"
 msgstr "密碼期限最大值"
 
-#: src/chage.c:162
+#: src/chage.c:172
 msgid "Last Password Change (YYYY-MM-DD)"
 msgstr "最近一次密碼修改時間 (YYYY-MM-DD)"
 
-#: src/chage.c:170
+#: src/chage.c:180
 msgid "Password Expiration Warning"
 msgstr "密碼過期警告"
 
-#: src/chage.c:176
+#: src/chage.c:186
 msgid "Password Inactive"
 msgstr "密碼失效"
 
-#: src/chage.c:184
+#: src/chage.c:194
 msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "帳戶過期時間 (YYYY-MM-DD)"
 
-#: src/chage.c:231
-#, fuzzy, c-format
+#: src/chage.c:241
+#, c-format
 msgid "Last password change\t\t\t\t\t: "
-msgstr "最近一次密碼修改時間 (YYYY-MM-DD)"
+msgstr "最近一次密碼修改時間\t\t\t\t\t:"
 
-#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
-#, fuzzy, c-format
+#: src/chage.c:243 src/chage.c:257 src/chage.c:273 src/chage.c:286
+#, c-format
 msgid "never\n"
 msgstr "從不\n"
 
-#: src/chage.c:244
-#, fuzzy, c-format
+#: src/chage.c:254
+#, c-format
 msgid "Password expires\t\t\t\t\t: "
-msgstr "密碼過期:\t"
+msgstr "密碼過期\t\t\t\t\t:"
 
-#: src/chage.c:260
-#, fuzzy, c-format
+#: src/chage.c:270
+#, c-format
 msgid "Password inactive\t\t\t\t\t: "
-msgstr "密碼失效:\t"
+msgstr "密碼失效\t\t\t\t\t:"
 
-#: src/chage.c:274
-#, fuzzy, c-format
+#: src/chage.c:284
+#, c-format
 msgid "Account expires\t\t\t\t\t\t: "
-msgstr "帳戶過期:\t"
+msgstr "帳戶過期\t\t\t\t\t:"
 
-#: src/chage.c:290
+#: src/chage.c:300
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "最少必須相隔幾天才能改變密碼\t\t\t\t:%ld\n"
 
-#: src/chage.c:292
-#, fuzzy, c-format
+#: src/chage.c:302
+#, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
-msgstr "æ\9c\80大å\98\97試次æ\95¸è¶\85é\81\8eäº\86 (%d)\n"
+msgstr "æ\9c\80å¤\9aå¿\85é \88ç\9b¸é\9a\94幾天æ\89\8dè\83½æ\94¹è®\8aå¯\86碼\t\t\t\tï¼\9a%ld\n"
 
-#: src/chage.c:294
+#: src/chage.c:304
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
-msgstr ""
+msgstr "在密碼將要過期之前多少天會發出警告\t\t\t\t:%ld\n"
 
-#: src/chage.c:431
+#: src/chage.c:462
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
 msgstr "%s:請不要與其它標誌一同使用“l”\n"
 
-#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
-#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
-#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
-#, fuzzy, c-format
-msgid "%s: permission denied.\n"
-msgstr "%sï¼\9aæ²\92æ\9c\89æ¬\8aé\99\90\n"
+#: src/chage.c:474 src/chage.c:602 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370 src/chfn.c:382
+#: src/gpasswd.c:150 src/login.c:426 src/passwd.c:769 src/passwd.c:805
+#, c-format
+msgid "%s: Permission denied.\n"
+msgstr "%sï¼\9aæ¬\8aé\99\90被æ\8b\92ã\80\82\n"
 
-#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
-#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
-#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#: src/chage.c:507 src/chage.c:713 src/chpasswd.c:173 src/groupadd.c:488
+#: src/groupdel.c:274 src/groupmod.c:456 src/newusers.c:355 src/useradd.c:1469
+#: src/userdel.c:567 src/usermod.c:1272 src/usermod.c:1326
 #, c-format
 msgid "%s: PAM authentication failed\n"
 msgstr "%s:PAM 驗証失敗\n"
 
-#: src/chage.c:494 src/chpasswd.c:193
+#: src/chage.c:525 src/chpasswd.c:188
 #, c-format
 msgid "%s: can't open password file\n"
 msgstr "%s:無法打開密碼文件\n"
 
-#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
-#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#: src/chage.c:532 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:811
 #, c-format
 msgid "%s: unknown user %s\n"
 msgstr "%s:未知使用者:%s\n"
 
-#: src/chage.c:519
+#: src/chage.c:550
 #, c-format
 msgid "%s: can't lock shadow password file"
 msgstr "%s:無法鎖定shadow密碼文件"
 
-#: src/chage.c:527
+#: src/chage.c:558
 #, c-format
 msgid "%s: can't open shadow password file"
 msgstr "%s:無法打開影子密碼文件"
 
-#: src/chage.c:587
+#: src/chage.c:618
 #, c-format
 msgid "Changing the aging information for %s\n"
 msgstr "正在為 %s 修改年齡訊息\n"
 
-#: src/chage.c:589
+#: src/chage.c:620
 #, c-format
 msgid "%s: error changing fields\n"
 msgstr "%s:改變字段時出錯\n"
 
-#: src/chage.c:613 src/pwunconv.c:137
+#: src/chage.c:644 src/pwunconv.c:136
 #, c-format
 msgid "%s: can't update password file\n"
 msgstr "%s:無法更新密碼檔案\n"
 
-#: src/chage.c:636 src/pwunconv.c:132
+#: src/chage.c:667 src/pwunconv.c:131
 #, c-format
 msgid "%s: can't update shadow password file\n"
 msgstr "%s:無法更新shadow密碼檔案\n"
 
-#: src/chage.c:649
+#: src/chage.c:680
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
 msgstr "%s:無法重寫shadow密碼檔案\n"
 
-#: src/chage.c:693
+#: src/chage.c:724
 #, c-format
 msgid "%s: can't rewrite password file\n"
 msgstr "%s:無法重寫密碼檔案\n"
 
-#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
-#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#: src/chage.c:743 src/chpasswd.c:357 src/groupadd.c:534 src/groupdel.c:339
+#: src/groupmod.c:523 src/newusers.c:570 src/useradd.c:1564 src/userdel.c:689
 #, c-format
 msgid "%s: PAM chauthtok failed\n"
 msgstr "%s:PAM chauthtok 失敗\n"
@@ -337,12 +360,12 @@ msgid ""
 "\t[-h home_ph] [-o other] [user]\n"
 msgstr ""
 "用法:%s [-f 全名] [-r 房間號] [-w 工作電話]\n"
-"\t[-h 家庭電話] [-o 其它] [使用者]\n"
+"\t[-h 住家電話] [-o 其它] [使用者]\n"
 
 #: src/chfn.c:89
 #, c-format
 msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n"
-msgstr "用法:%s [-f 全名] [-r 房間號] [-w 工作電話] [-h 家庭電話]\n"
+msgstr "用法:%s [-f 全名] [-r 房間號] [-w 工作電話] [-h 住家電話]\n"
 
 #: src/chfn.c:142
 msgid "Full Name"
@@ -363,13 +386,13 @@ msgstr "工作電話"
 
 #: src/chfn.c:157 src/chfn.c:159
 msgid "Home Phone"
-msgstr "家庭電話"
+msgstr "住家電話"
 
 #: src/chfn.c:162
 msgid "Other"
 msgstr "其它"
 
-#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:751
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
 msgstr "%s:無法確定您的使用者名稱。\n"
@@ -384,11 +407,6 @@ msgstr "%s:不能在 NIS 用戶端上修改使用者“%s”。\n"
 msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s:“%s”是用戶端的 NIS 管理員。\n"
 
-#: src/chfn.c:382
-#, fuzzy, c-format
-msgid "%s: Permission denied.\n"
-msgstr "%s:沒有權限\n"
-
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
@@ -412,44 +430,44 @@ msgstr "%s:無效的工作電話:“%s”\n"
 #: src/chfn.c:471
 #, c-format
 msgid "%s: invalid home phone: \"%s\"\n"
-msgstr "%s:無效的家庭電話:“%s”\n"
+msgstr "%s:無效的住家電話:“%s”\n"
 
 #: src/chfn.c:478
 #, c-format
 msgid "%s: \"%s\" contains illegal characters\n"
-msgstr "%s:“%s”包含非法字元\n"
+msgstr "%s:“%s”包含無效字元\n"
 
 #: src/chfn.c:491
 #, c-format
 msgid "%s: fields too long\n"
 msgstr "%s:字段太長\n"
 
-#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:904
 #, c-format
 msgid "Cannot change ID to root.\n"
 msgstr "無法改變 ID 成 root。\n"
 
-#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:466 src/passwd.c:506
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
 msgstr "無法鎖定密碼檔案﹔稍後再試。\n"
 
-#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:471 src/passwd.c:511
 #, c-format
 msgid "Cannot open the password file.\n"
 msgstr "無法打開密碼檔案。\n"
 
-#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:477 src/usermod.c:982
 #, c-format
 msgid "%s: %s not found in /etc/passwd\n"
 msgstr "%s:未在 /etc/passwd 中找到 %s\n"
 
-#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:486 src/passwd.c:546
 #, c-format
 msgid "Error updating the password entry.\n"
 msgstr "更改密碼項目時出錯。\n"
 
-#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:491 src/passwd.c:551
 #, c-format
 msgid "Cannot commit password file changes.\n"
 msgstr "無法提交密碼檔案變動。\n"
@@ -459,7 +477,7 @@ msgstr "無法提交密碼檔案變動。\n"
 msgid "Cannot unlock the password file.\n"
 msgstr "無法解鎖密碼檔案。\n"
 
-#: src/chpasswd.c:71
+#: src/chpasswd.c:67
 #, c-format
 msgid ""
 "Usage: chpasswd [options]\n"
@@ -473,57 +491,58 @@ msgstr ""
 "用法:chpasswd [選項]\n"
 "\n"
 "選項:\n"
-"  -e, --encrypted\t加密所提供的密碼\n"
-"  -h, --help\t\t顯示該幫助訊息並離開\n"
-"  -m,  --md5\t\t對提供的密碼使用 MD5 取代 DES 加密\t\t\t密碼沒有加密\n"
+"  -e, --encrypted\t所提供的密碼已經過加密\n"
+"  -h, --help\t\t顯示這份說明文字然後結束\n"
+"  -m,  --md5\t\t如果所提供的密碼沒有加密,則使用 MD5 加密法\n"
+"\t\t\t來替代 DES。\n"
 
-#: src/chpasswd.c:189
+#: src/chpasswd.c:184
 #, c-format
 msgid "%s: can't lock password file\n"
-msgstr "%sï¼\9aç\84¡æ³\95é\8e\96å®\9aå¯\86碼æ\96\87ä»¶\n"
+msgstr "%sï¼\9aç\84¡æ³\95é\8e\96å®\9aå¯\86碼æª\94\n"
 
-#: src/chpasswd.c:201 src/pwconv.c:95
+#: src/chpasswd.c:196 src/pwconv.c:94
 #, c-format
 msgid "%s: can't lock shadow file\n"
-msgstr "%s:無法鎖定shadow檔案\n"
+msgstr "%s:無法鎖定 shadow 檔\n"
 
-#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
-#: src/pwunconv.c:94
+#: src/chpasswd.c:202 src/gpasswd.c:580 src/pwconv.c:99 src/pwunconv.c:88
+#: src/pwunconv.c:93
 #, c-format
 msgid "%s: can't open shadow file\n"
-msgstr "%s:無法打開shadow檔案\n"
+msgstr "%s:無法打開 shadow 檔\n"
 
-#: src/chpasswd.c:230 src/newusers.c:434
+#: src/chpasswd.c:224 src/newusers.c:414
 #, c-format
 msgid "%s: line %d: line too long\n"
 msgstr "%s:第 %d 行:此行太長\n"
 
-#: src/chpasswd.c:250
+#: src/chpasswd.c:244
 #, c-format
 msgid "%s: line %d: missing new password\n"
 msgstr "%s:第 %d 行:缺少新密碼\n"
 
-#: src/chpasswd.c:274
+#: src/chpasswd.c:268
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
 msgstr "%s:第 %d 行:未知使用者 %s\n"
 
-#: src/chpasswd.c:320
+#: src/chpasswd.c:307
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
 msgstr "%s:第 %d 行:無法更新密碼項目\n"
 
-#: src/chpasswd.c:337 src/newusers.c:561
+#: src/chpasswd.c:324 src/newusers.c:541
 #, c-format
 msgid "%s: error detected, changes ignored\n"
 msgstr "%s:發現錯誤,忽略更動\n"
 
-#: src/chpasswd.c:349
+#: src/chpasswd.c:333
 #, c-format
 msgid "%s: error updating shadow file\n"
 msgstr "%s:更新shadow檔案時出錯。\n"
 
-#: src/chpasswd.c:357
+#: src/chpasswd.c:340
 #, c-format
 msgid "%s: error updating password file\n"
 msgstr "%s:更新密碼檔案時出錯。\n"
@@ -562,12 +581,12 @@ msgstr "%s 是無效的 shell。\n"
 msgid "Usage: expiry {-f|-c}\n"
 msgstr "用法:expiry {-f|-c}\n"
 
-#: src/expiry.c:112
+#: src/expiry.c:110
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
 msgstr "%s:警告!必須是 set-UID root!\n"
 
-#: src/expiry.c:122
+#: src/expiry.c:120
 #, c-format
 msgid "%s: unknown user\n"
 msgstr "%s:未知使用者\n"
@@ -588,29 +607,40 @@ msgid ""
 "\t\t\t\tand limits (if used with -r, -m or -l options) only\n"
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
+"用法:faillog [選項]\n"
+"\n"
+"選項:\n"
+"  -a, --all\t\t\t顯示所有的使用者的失敗記錄\n"
+"  -h, --help\t\t\t顯示這份說明文字然後結束\n"
+"  -l, --lock-time SEC\t\t在登入失敗後,關閉帳號 SEC 秒\n"
+"  -m, --maximum MAX\t\t設定最多能登入失敗 MAX 次\n"
+"  -r, --reset\t\t\t重新設定登入失敗計數\n"
+"  -t, --time DAYS\t\t顯示最近 DAYS 內的失敗記錄。\n"
+"  -u, --user LOGIN\t\t根據指定的 LOGIN 顯示其失敗記錄及目前的失敗計數\n"
+"\t\t\t\t及限制(當和 -r、-m 或 -l 選項搭配使用時)\n"
 
-#: src/faillog.c:87
+#: src/faillog.c:88
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
-msgstr ""
+msgstr "登入        失敗     最多    最後                     在\n"
 
-#: src/faillog.c:105
+#: src/faillog.c:106
 #, c-format
 msgid " [%lds left]"
 msgstr " [還剩 %lds]"
 
-#: src/faillog.c:109
+#: src/faillog.c:110
 #, c-format
 msgid " [%lds lock]"
 msgstr " [鎖定 %lds]"
 
-#: src/faillog.c:353 src/lastlog.c:187
+#: src/faillog.c:354 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
 msgstr "未知使用者:%s\n"
 
 #: src/gpasswd.c:71
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [-r|-R] group\n"
 msgstr "用法:%s [-r|-R] 群組\n"
 
@@ -644,7 +674,7 @@ msgstr "%s:-A 需要shadow群組密碼\n"
 msgid "Who are you?\n"
 msgstr "你是誰?\n"
 
-#: src/gpasswd.c:299 src/newgrp.c:290
+#: src/gpasswd.c:299 src/newgrp.c:289
 #, c-format
 msgid "unknown group: %s\n"
 msgstr "未知群組:%s\n"
@@ -678,7 +708,7 @@ msgstr "正在修改 %s 群組的密碼\n"
 msgid "New Password: "
 msgstr "新密碼:"
 
-#: src/gpasswd.c:514 src/passwd.c:278
+#: src/gpasswd.c:514 src/passwd.c:266
 msgid "Re-enter new password: "
 msgstr "請重新輸入新密碼:"
 
@@ -732,120 +762,120 @@ msgid "%s: can't unlock file\n"
 msgstr "%s 無法解鎖檔案。\n"
 
 #: src/groupadd.c:97
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-msgstr "用法:groupadd [-g gid [-o]] 群組\n"
+msgstr "用法:groupadd [-g gid [-o]] [-f] 群組\n"
 
-#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
-#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#: src/groupadd.c:161 src/groupadd.c:169 src/groupmod.c:174 src/groupmod.c:196
+#: src/useradd.c:823 src/usermod.c:496 src/usermod.c:618
 #, c-format
 msgid "%s: error adding new group entry\n"
 msgstr "%s:增加新群組項目時出錯\n"
 
-#: src/groupadd.c:219 src/useradd.c:904
+#: src/groupadd.c:218 src/useradd.c:870
 #, c-format
 msgid "%s: name %s is not unique\n"
 msgstr "%s:名稱 %s 並不唯一\n"
 
-#: src/groupadd.c:234
-#, c-format
-msgid "%s: gid %u is not unique\n"
+#: src/groupadd.c:233
+#, fuzzy, c-format
+msgid "%s: GID %u is not unique\n"
 msgstr "%s:gid %u 並不唯一\n"
 
-#: src/groupadd.c:258
-#, c-format
-msgid "%s: can't get unique gid\n"
+#: src/groupadd.c:257
+#, fuzzy, c-format
+msgid "%s: can't get unique GID\n"
 msgstr "%s:無法獲取獨有的 gid\n"
 
-#: src/groupadd.c:280 src/groupmod.c:283
-#, fuzzy, c-format
+#: src/groupadd.c:279 src/groupmod.c:282
+#, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s:%s 不是有效的群組名\n"
 
-#: src/groupadd.c:309 src/groupmod.c:308
+#: src/groupadd.c:308 src/groupmod.c:307
 #, c-format
 msgid "%s: invalid group %s\n"
 msgstr "%s:無效群組名 %s\n"
 
-#: src/groupadd.c:326 src/useradd.c:1099
+#: src/groupadd.c:325 src/useradd.c:1058
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
 msgstr "%s:-O 需要 NAME=VALUE\n"
 
-#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
-#: src/userdel.c:245 src/usermod.c:522
+#: src/groupadd.c:369 src/groupdel.c:123 src/groupmod.c:342 src/useradd.c:1167
+#: src/userdel.c:247 src/usermod.c:504
 #, c-format
 msgid "%s: cannot rewrite group file\n"
 msgstr "%s:無法重寫群組檔案\n"
 
-#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
-#: src/userdel.c:251 src/usermod.c:645
+#: src/groupadd.c:376 src/groupdel.c:130 src/groupmod.c:349 src/useradd.c:1175
+#: src/userdel.c:253 src/usermod.c:627
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
 msgstr "%s:無法重寫shadow群組檔案\n"
 
-#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#: src/groupadd.c:393 src/groupdel.c:147 src/groupmod.c:366 src/userdel.c:307
 #, c-format
 msgid "%s: unable to lock group file\n"
 msgstr "%s:無法鎖定群組檔案\n"
 
-#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#: src/groupadd.c:397 src/groupdel.c:151 src/groupmod.c:370
 #, c-format
 msgid "%s: unable to open group file\n"
 msgstr "%s:無法打開群組檔案\n"
 
-#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#: src/groupadd.c:403 src/groupdel.c:157 src/groupmod.c:376 src/userdel.c:317
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
 msgstr "%s:無法鎖定shadow群組檔案\n"
 
-#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#: src/groupadd.c:408 src/groupdel.c:162 src/groupmod.c:381
 #, c-format
 msgid "%s: unable to open shadow group file\n"
 msgstr "%s:無法打開shadow群組檔案\n"
 
-#: src/groupadd.c:508
+#: src/groupadd.c:507
 #, c-format
 msgid "%s: group %s exists\n"
 msgstr "%s:%s 群組已存在\n"
 
 #: src/groupdel.c:83
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: groupdel group\n"
 msgstr "用法:groupdel 群組\n"
 
-#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:200
 #, c-format
 msgid "%s: error removing group entry\n"
 msgstr "%s:刪除群組項目時出錯\n"
 
-#: src/groupdel.c:106
+#: src/groupdel.c:105
 #, c-format
 msgid "%s: error removing shadow group entry\n"
 msgstr "%s:刪除shadow群組項目時出錯\n"
 
-#: src/groupdel.c:202
+#: src/groupdel.c:201
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
 msgstr "%s:不能刪除使用者的主群組。\n"
 
-#: src/groupdel.c:290 src/groupmod.c:471
+#: src/groupdel.c:289 src/groupmod.c:470
 #, c-format
 msgid "%s: group %s does not exist\n"
 msgstr "%s:%s 群組不存在\n"
 
-#: src/groupdel.c:303 src/groupmod.c:485
+#: src/groupdel.c:301 src/groupmod.c:484
 #, c-format
 msgid "%s: group %s is a NIS group\n"
 msgstr "%s:%s 群組是一個 NIS 群組\n"
 
-#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#: src/groupdel.c:306 src/groupmod.c:489 src/userdel.c:603 src/usermod.c:723
 #, c-format
 msgid "%s: %s is the NIS master\n"
 msgstr "%s:%s 是 NIS 管理員\n"
 
 #: src/groupmod.c:98
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n"
 msgstr "用法:groupmod [-g gid [-o]] [-n 名稱] 群組\n"
 
@@ -854,12 +884,12 @@ msgstr "用法:groupmod [-g gid [-o]] [-n 名稱] 群組\n"
 msgid "%s: %s not found in /etc/group\n"
 msgstr "%s:未在 /etc/group 中找到 %s\n"
 
-#: src/groupmod.c:242
-#, c-format
-msgid "%s: %u is not a unique gid\n"
+#: src/groupmod.c:241
+#, fuzzy, c-format
+msgid "%s: %u is not a unique GID\n"
 msgstr "%s:%u 不是一個唯一的 gid\n"
 
-#: src/groupmod.c:272
+#: src/groupmod.c:271
 #, c-format
 msgid "%s: %s is not a unique name\n"
 msgstr "%s:%s 不是一個唯一的名稱\n"
@@ -874,22 +904,21 @@ msgstr "用法:%s [-r] [-s] [群組 [gshadow]] \n"
 msgid "Usage: %s [-r] [-s] [group]\n"
 msgstr "用法:%s [-r] [-s] [群組]\n"
 
-#: src/grpck.c:107 src/pwck.c:108
+#: src/grpck.c:107 src/pwck.c:100
 msgid "No"
 msgstr "取消"
 
-#: src/grpck.c:191 src/pwck.c:175
+#: src/grpck.c:191 src/pwck.c:165
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
 msgstr "%s:-s 和 -r 是互不相容的\n"
 
-#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:198 src/pwck.c:206
 #, c-format
 msgid "%s: cannot lock file %s\n"
 msgstr "%s:無法鎖定檔案 %s\n"
 
-#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
-#: src/pwck.c:248
+#: src/grpck.c:255 src/grpck.c:264 src/pwck.c:221 src/pwck.c:229
 #, c-format
 msgid "%s: cannot open file %s\n"
 msgstr "%s:無法打開檔案 %s\n"
@@ -900,8 +929,8 @@ msgid "invalid group file entry\n"
 msgstr "無效的群組檔案項目\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
-#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
-#: src/pwck.c:539
+#: src/grpck.c:533 src/pwck.c:271 src/pwck.c:333 src/pwck.c:430 src/pwck.c:492
+#: src/pwck.c:516
 #, c-format
 msgid "delete line `%s'? "
 msgstr "刪除“%s”行?\""
@@ -953,17 +982,17 @@ msgstr "刪除系統管理者“%s”嗎?"
 msgid "shadow group %s: no user %s\n"
 msgstr "%s shadow群組:無使用者 %s\n"
 
-#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:549 src/pwck.c:556
 #, c-format
 msgid "%s: cannot update file %s\n"
 msgstr "%s:無法更新檔案 %s\n"
 
-#: src/grpck.c:640 src/pwck.c:606
+#: src/grpck.c:640 src/pwck.c:578
 #, c-format
 msgid "%s: the files have been updated\n"
 msgstr "%s:檔案已被更新\n"
 
-#: src/grpck.c:641 src/pwck.c:607
+#: src/grpck.c:641 src/pwck.c:579
 #, c-format
 msgid "%s: no changes\n"
 msgstr "%s:無改變\n"
@@ -993,7 +1022,7 @@ msgstr "%s:無法打開shadow群組檔案\n"
 msgid "%s: can't remove shadow group %s\n"
 msgstr "%s:無法移除shadow群組 %s\n"
 
-#: src/grpconv.c:130 src/pwconv.c:153
+#: src/grpconv.c:130 src/pwconv.c:152
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
 msgstr "%s:無法為 %s 更新shadow項目\n"
@@ -1019,12 +1048,12 @@ msgid "%s: can't delete shadow group file\n"
 msgstr "%s:無法刪除shadow群組檔案\n"
 
 #: src/id.c:53
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: id [-a]\n"
 msgstr "用法:id [-a]\n"
 
 #: src/id.c:55
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: id\n"
 msgstr "用法:id\n"
 
@@ -1034,7 +1063,7 @@ msgid " groups="
 msgstr " 群組="
 
 #: src/lastlog.c:64
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
@@ -1043,12 +1072,12 @@ msgid ""
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
-"用法:chpasswd [選項]\n"
+"用法:lastlog [選項]\n"
 "\n"
 "選項:\n"
-"  -e, --encrypted\t加密所提供的密碼\n"
-"  -h, --help\t\t顯示該幫助訊息並離開\n"
-"  -m,  --md5\t\t對提供的密碼使用 MD5 取代 DES 加密\t\t\t密碼沒有加密\n"
+"  -u, --user LOGIN\t根據指定的 LOGIN 列出該使用者最後的歷史記錄\n"
+"  -h, --help\t\t顯示這份說明文字然後結束\n"
+"  -t, --time DAYS\t只列出 DAYS 天內的歷史記錄\n"
 
 #: src/lastlog.c:90
 #, c-format
@@ -1065,7 +1094,7 @@ msgid "**Never logged in**"
 msgstr "**從未登入過**"
 
 #: src/login.c:156
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [-p] [name]\n"
 msgstr "用法:%s [-p] [名稱]\n"
 
@@ -1111,17 +1140,17 @@ msgstr ""
 "\n"
 "登入逾時 %d 秒\n"
 
-#: src/login.c:565
+#: src/login.c:570
 #, c-format
 msgid " on `%.100s' from `%.200s'"
 msgstr " 在“%.100s”上,來自“%.200s”"
 
-#: src/login.c:568
+#: src/login.c:573
 #, c-format
 msgid " on `%.100s'"
 msgstr "在“%.100s”上"
 
-#: src/login.c:722
+#: src/login.c:730
 #, c-format
 msgid ""
 "\n"
@@ -1130,203 +1159,148 @@ msgstr ""
 "\n"
 " %s 使用者名稱:"
 
-#: src/login.c:879 src/sulogin.c:203
+#: src/login.c:885 src/sulogin.c:203
 msgid "Login incorrect"
 msgstr "登入錯誤"
 
-#: src/login.c:996
+#: src/login.c:1032
 msgid "Warning: login re-enabled after temporary lockout.\n"
 msgstr "警告:在短暫的鎖定後將恢復登入。\n"
 
-#: src/login.c:1010
+#: src/login.c:1046
 #, c-format
 msgid "Last login: %s on %s"
 msgstr "上次登入:%s 在 %s 上"
 
-#: src/login.c:1013
+#: src/login.c:1049
 #, c-format
 msgid "Last login: %.19s on %s"
 msgstr "上次登入:%.19s 在 %s 上"
 
-#: src/login.c:1018
+#: src/login.c:1054
 #, c-format
 msgid " from %.*s"
 msgstr " 來自 %.*s"
 
-#: src/mkpasswd.c:47
-#, c-format
-msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s:系統中沒有 DBM 資料庫 - 未執行任何動作\n"
-
-#: src/mkpasswd.c:231 src/mkpasswd.c:236
-#, c-format
-msgid "%s: cannot overwrite file %s\n"
-msgstr "%s:無法覆蓋檔案 %s\n"
-
-#: src/mkpasswd.c:251
-#, c-format
-msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s:無法為 %s 打開 DBM 檔案\n"
-
-#: src/mkpasswd.c:286
-#, fuzzy, c-format
-msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s:開頭 "
-
-#: src/mkpasswd.c:313
-#, c-format
-msgid "%s: error parsing line \"%s\"\n"
-msgstr "%s:解析“%s”行時出錯\n"
-
-#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
-msgid "adding record for name %s\n"
-msgstr "增加名稱記錄 "
-
-#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
-msgid "%s: error adding record for %s\n"
-msgstr "%s:增加記錄時出錯 "
-
-#: src/mkpasswd.c:376
-#, c-format
-msgid "added %d entries, longest was %d\n"
-msgstr "增加 %d 個項目,最長是 %d\n"
-
-#: src/mkpasswd.c:389
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "用法:%s [-vf] [-p|g|sp|sg] 檔案\n"
-
-#: src/mkpasswd.c:391
-#, c-format
-msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "用法:%s [-vf] [-p|g|sp] 檔案\n"
-
-#: src/mkpasswd.c:394
-#, c-format
-msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "用法:%s [-vf] [-p|g] 檔案\n"
-
 #: src/newgrp.c:61
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: newgrp [-] [group]\n"
 msgstr "用法:newgrp [-] [群組]\n"
 
 #: src/newgrp.c:63
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: sg group [[-c] command]\n"
 msgstr "用法:sg 群組 [[-c] 命令]\n"
 
-#: src/newgrp.c:131
-#, c-format
-msgid "unknown uid: %u\n"
-msgstr "未知的 uid:%u\n"
+#: src/newgrp.c:130
+#, fuzzy, c-format
+msgid "unknown UID: %u\n"
+msgstr "未知的 GID:%lu\n"
 
-#: src/newgrp.c:213
+#: src/newgrp.c:212
 #, c-format
-msgid "unknown gid: %lu\n"
-msgstr "未知的 gid:%lu\n"
+msgid "unknown GID: %lu\n"
+msgstr "未知的 GID:%lu\n"
 
-#: src/newgrp.c:358 src/newgrp.c:367
+#: src/newgrp.c:355 src/newgrp.c:364
 msgid "Sorry.\n"
 msgstr "抱歉。\n"
 
-#: src/newgrp.c:472
+#: src/newgrp.c:469
 #, c-format
 msgid "too many groups\n"
 msgstr "使用者群組過多\n"
 
-#: src/newusers.c:78
+#: src/newusers.c:76
 #, c-format
 msgid "Usage: %s [input]\n"
 msgstr "用法:%s [輸入]\n"
 
-#: src/newusers.c:382
+#: src/newusers.c:376
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
 msgstr "%s:無法鎖定 /etc/passwd。\n"
 
-#: src/newusers.c:394
+#: src/newusers.c:383
 #, c-format
 msgid "%s: can't lock files, try again later\n"
 msgstr "%s:無法鎖定檔案,請稍後再試。\n"
 
-#: src/newusers.c:409
+#: src/newusers.c:391
 #, c-format
 msgid "%s: can't open files\n"
 msgstr "%s:無法打開檔案\n"
 
-#: src/newusers.c:454
+#: src/newusers.c:434
 #, c-format
 msgid "%s: line %d: invalid line\n"
 msgstr "%s:第 %d 行:無效行\n"
 
-#: src/newusers.c:473
+#: src/newusers.c:453
 #, c-format
 msgid "%s: line %d: can't create GID\n"
 msgstr "%s:第 %d 行:無法建立 GID\n"
 
-#: src/newusers.c:489
+#: src/newusers.c:469
 #, c-format
 msgid "%s: line %d: can't create UID\n"
 msgstr "%s:第 %d 行:無法建立 UID\n"
 
-#: src/newusers.c:502
+#: src/newusers.c:482
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
 msgstr "%s:第 %d 行:無法找到使用者 %s\n"
 
-#: src/newusers.c:511
+#: src/newusers.c:491
 #, c-format
 msgid "%s: line %d: can't update password\n"
 msgstr "%s:第 %d 行:無法更新密碼\n"
 
-#: src/newusers.c:529
+#: src/newusers.c:509
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
 msgstr "%s:第 %d 行:建立目錄失敗\n"
 
-#: src/newusers.c:534
+#: src/newusers.c:514
 #, c-format
 msgid "%s: line %d: chown failed\n"
 msgstr "%s:第 %d 行:改變擁有者或群組失敗\n"
 
-#: src/newusers.c:544
+#: src/newusers.c:524
 #, c-format
 msgid "%s: line %d: can't update entry\n"
 msgstr "%s:第 %d 行:無法更新項目\n"
 
-#: src/newusers.c:576
+#: src/newusers.c:549
 #, c-format
 msgid "%s: error updating files\n"
 msgstr "%s:更新檔案出錯\n"
 
-#: src/passwd.c:154
-#, fuzzy, c-format
+#: src/passwd.c:142
+#, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
 msgstr "用法:%s [-f|-s] [名稱]\n"
 
-#: src/passwd.c:158
+#: src/passwd.c:146
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
 msgstr "       %s [-x 最大] [-n 最小] [-w 警告] [-i 失效] 名稱\n"
 
-#: src/passwd.c:160
+#: src/passwd.c:148
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
 msgstr "       %s {-l|-u|-d|-S|-e} 名稱\n"
 
-#: src/passwd.c:214
+#: src/passwd.c:202
 msgid "Old password: "
 msgstr "舊密碼:"
 
-#: src/passwd.c:223
+#: src/passwd.c:211
 #, c-format
 msgid "Incorrect password for `%s'\n"
 msgstr "“%s”的密碼不正確\n"
 
-#: src/passwd.c:247
+#: src/passwd.c:235
 #, c-format
 msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
@@ -1335,16 +1309,16 @@ msgstr ""
 "請輸入新密碼(最少 %d 最多 %d 個字元)\n"
 "請混合使用大小寫字母和數字。\n"
 
-#: src/passwd.c:253
+#: src/passwd.c:241
 msgid "New password: "
 msgstr "新密碼:"
 
-#: src/passwd.c:263
+#: src/passwd.c:251
 #, c-format
 msgid "Try again.\n"
 msgstr "重試。\n"
 
-#: src/passwd.c:274
+#: src/passwd.c:262
 #, c-format
 msgid ""
 "\n"
@@ -1353,149 +1327,144 @@ msgstr ""
 "\n"
 "警告:脆弱的密碼(重新輸入以強制使用它)。\n"
 
-#: src/passwd.c:283
+#: src/passwd.c:271
 #, c-format
 msgid "They don't match; try again.\n"
 msgstr "他們並不匹配﹔請重試。\n"
 
-#: src/passwd.c:360 src/passwd.c:377
+#: src/passwd.c:338
 #, c-format
 msgid "The password for %s cannot be changed.\n"
 msgstr "無法更改 %s 的密碼。\n"
 
-#: src/passwd.c:390
+#: src/passwd.c:355
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
 msgstr "抱歉,無法更改 %s 的密碼。\n"
 
-#: src/passwd.c:472
+#: src/passwd.c:430
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s:記憶體不足\n"
 
-#: src/passwd.c:701
+#: src/passwd.c:655
 #, c-format
 msgid "%s: Cannot execute %s"
 msgstr "%s:無法執行 %s"
 
-#: src/passwd.c:786
+#: src/passwd.c:732
 #, c-format
 msgid "%s: repository %s not supported\n"
 msgstr "%s:不支持 %s 套件存庫。\n"
 
-#: src/passwd.c:884
-#, fuzzy, c-format
+#: src/passwd.c:830
+#, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
-msgstr "您不能為 %s 更改 shell。\n"
+msgstr "%s:您無法替 %s 檢視或修改密碼資訊。\n"
 
-#: src/passwd.c:934
+#: src/passwd.c:872
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "正在為 %s 修改密碼\n"
 
-#: src/passwd.c:938
+#: src/passwd.c:876
 #, c-format
 msgid "The password for %s is unchanged.\n"
 msgstr "%s 的密碼未被改變。\n"
 
-#: src/passwd.c:987
+#: src/passwd.c:921
 #, c-format
 msgid "Password changed.\n"
 msgstr "密碼已更改。\n"
 
-#: src/pwck.c:87
+#: src/pwck.c:82
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 msgstr "用法:%s [-q] [-r] [-s] [passwd [shadow]]\n"
 
-#: src/pwck.c:90
-#, c-format
-msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "用法:%s [-q] [-r] [-s] [passwd]\n"
-
-#: src/pwck.c:292
+#: src/pwck.c:270
 #, c-format
 msgid "invalid password file entry\n"
 msgstr "無效的密碼檔案項目\n"
 
-#: src/pwck.c:354
+#: src/pwck.c:332
 msgid "duplicate password entry\n"
 msgstr "重復的密碼項目\n"
 
-#: src/pwck.c:370
+#: src/pwck.c:348
 #, c-format
 msgid "invalid user name '%s'\n"
 msgstr "無效的使用者名稱“%s”\n"
 
-#: src/pwck.c:384
+#: src/pwck.c:362
 #, c-format
 msgid "user %s: no group %u\n"
 msgstr "使用者 %s:無 %u 群組\n"
 
-#: src/pwck.c:400
+#: src/pwck.c:378
 #, c-format
 msgid "user %s: directory %s does not exist\n"
 msgstr "使用者 %s:目錄 %s 不存在\n"
 
-#: src/pwck.c:416
+#: src/pwck.c:394
 #, c-format
 msgid "user %s: program %s does not exist\n"
 msgstr "使用者 %s:程式 %s 不存在\n"
 
-#: src/pwck.c:452
+#: src/pwck.c:429
 #, c-format
 msgid "invalid shadow password file entry\n"
 msgstr "無效的shadow密碼檔案項目\n"
 
-#: src/pwck.c:514
+#: src/pwck.c:491
 msgid "duplicate shadow password entry\n"
 msgstr "重復的shadow密碼項目\n"
 
-#: src/pwck.c:538
+#: src/pwck.c:515
 msgid "no matching password file entry\n"
 msgstr "無匹配的密碼檔案項目\n"
 
-#: src/pwck.c:556
+#: src/pwck.c:533
 #, c-format
 msgid "user %s: last password change in the future\n"
 msgstr "使用者 %s:最近一次密碼更動\n"
 
-#: src/pwconv.c:85 src/pwunconv.c:79
+#: src/pwconv.c:84 src/pwunconv.c:78
 #, c-format
 msgid "%s: can't lock passwd file\n"
 msgstr "%s:無法鎖定密碼檔案\n"
 
-#: src/pwconv.c:90 src/pwunconv.c:84
+#: src/pwconv.c:89 src/pwunconv.c:83
 #, c-format
 msgid "%s: can't open passwd file\n"
 msgstr "%s:無法打開密碼檔案\n"
 
-#: src/pwconv.c:118
+#: src/pwconv.c:117
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
 msgstr "%s:無法為 %s 刪除shadow項目\n"
 
-#: src/pwconv.c:163
+#: src/pwconv.c:162
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
 msgstr "%s:無法為 %s 更新密碼項目\n"
 
-#: src/pwconv.c:170
+#: src/pwconv.c:169
 #, c-format
 msgid "%s: can't update shadow file\n"
 msgstr "%s:無法更新shadow檔案\n"
 
-#: src/pwconv.c:174
+#: src/pwconv.c:173
 #, c-format
 msgid "%s: can't update passwd file\n"
 msgstr "%s:無法更新密碼檔案\n"
 
-#: src/pwunconv.c:124
+#: src/pwunconv.c:123
 #, c-format
 msgid "%s: can't update entry for user %s\n"
 msgstr "%s:不能更新使用者 %s 的項目\n"
 
-#: src/pwunconv.c:143
+#: src/pwunconv.c:142
 #, c-format
 msgid "%s: can't delete shadow password file\n"
 msgstr "%s:無法刪除shadow密碼檔案\n"
@@ -1504,31 +1473,31 @@ msgstr "%s:無法刪除shadow密碼檔案\n"
 msgid "Sorry."
 msgstr "抱歉"
 
-#: src/su.c:320
+#: src/su.c:319
 #, c-format
 msgid "%s: must be run from a terminal\n"
 msgstr "%s:必須從終端中執行\n"
 
-#: src/su.c:419
+#: src/su.c:416
 #, c-format
 msgid "%s: pam_start: error %d\n"
 msgstr "%s:pam_start:錯誤 %d\n"
 
-#: src/su.c:447
+#: src/su.c:444
 #, c-format
 msgid "Unknown id: %s\n"
 msgstr "未知 id:%s\n"
 
-#: src/su.c:484 src/su.c:500
+#: src/su.c:479 src/su.c:495
 #, c-format
 msgid "You are not authorized to su %s\n"
 msgstr "您沒有被授權 su %s\n"
 
-#: src/su.c:495
+#: src/su.c:490
 msgid "(Enter your own password.)"
 msgstr "(請輸入您自己的密碼)"
 
-#: src/su.c:527
+#: src/su.c:522
 #, c-format
 msgid ""
 "%s: %s\n"
@@ -1537,7 +1506,7 @@ msgstr ""
 "%s:%s\n"
 "(忽略)\n"
 
-#: src/su.c:741
+#: src/su.c:730
 #, c-format
 msgid "No shell\n"
 msgstr "沒有 shell\n"
@@ -1581,375 +1550,380 @@ msgstr ""
 msgid "Entering System Maintenance Mode\n"
 msgstr "正在進入系統維護模式\n"
 
-#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#: src/useradd.c:221 src/useradd.c:234 src/usermod.c:664 src/usermod.c:677
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
 msgstr "%s:無效的數字參數“%s”\n"
 
-#: src/useradd.c:298
+#: src/useradd.c:289
 #, c-format
-msgid "%s: unknown gid %s\n"
-msgstr "%s:未知的 gid %s\n"
+msgid "%s: unknown GID %s\n"
+msgstr "%s:未知的 GID %s\n"
 
-#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
-#: src/usermod.c:814
+#: src/useradd.c:297 src/useradd.c:573 src/useradd.c:1014 src/usermod.c:217
+#: src/usermod.c:785
 #, c-format
 msgid "%s: unknown group %s\n"
 msgstr "%s:未知的群組 %s\n"
 
-#: src/useradd.c:418
+#: src/useradd.c:405
 #, c-format
 msgid "%s: cannot create new defaults file\n"
 msgstr "%s:無法建立新的預設檔案\n"
 
-#: src/useradd.c:423
+#: src/useradd.c:410
 #, c-format
 msgid "%s: cannot open new defaults file\n"
 msgstr "%s:無法打開新的預設檔案\n"
 
-#: src/useradd.c:515 src/useradd.c:526
+#: src/useradd.c:498 src/useradd.c:509
 #, c-format
 msgid "%s: rename: %s"
 msgstr "%s:更名:%s"
 
-#: src/useradd.c:619 src/usermod.c:248
+#: src/useradd.c:594 src/usermod.c:238
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
 msgstr "%s:“%s”群組是一個 NIS 群組。\n"
 
-#: src/useradd.c:628 src/usermod.c:257
+#: src/useradd.c:603 src/usermod.c:247
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s:指定了過多群組(最多 %d)。\n"
 
-#: src/useradd.c:660
-#, fuzzy, c-format
+#: src/useradd.c:635
+#, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-msgstr "用法:%s\t[-u uid [-o]] [-g 群組] [-G 群組,...] \n"
+msgstr "用法:useradd [-u uid [-o]] [-g 群組] [-G 群組,...] \n"
 
-#: src/useradd.c:663
-#, fuzzy, c-format
+#: src/useradd.c:638
+#, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-msgstr "\t\t[-d 主目錄] [-s shell] [-c 注釋] [-m [-k 模板]]\n"
+msgstr "               [-d 主目錄] [-s shell] [-c 注釋] [-m [-k 模板]]\n"
 
-#: src/useradd.c:665 src/useradd.c:671
-#, fuzzy, c-format
+#: src/useradd.c:639 src/useradd.c:643
+#, c-format
 msgid "               [-f inactive] [-e expire]\n"
-msgstr "\t\t[-f 無效日] [-e 過期日 ]\n"
+msgstr "               [-f 失效日] [-e 過期日 ]\n"
 
-#: src/useradd.c:667
-#, fuzzy, c-format
+#: src/useradd.c:640
+#, c-format
 msgid "               [-p passwd] name\n"
-msgstr "[-p 密碼] 名稱\n"
+msgstr "               [-p 密碼] 名稱\n"
 
-#: src/useradd.c:669
-#, fuzzy, c-format
+#: src/useradd.c:642
+#, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-msgstr "       %s\t-D [-g 群組] [-b 主目錄] [-s shell]\n"
+msgstr "       useradd -D [-g 群組] [-b 主目錄] [-s shell]\n"
 
-#: src/useradd.c:756 src/usermod.c:444
+#: src/useradd.c:722 src/usermod.c:426
 #, c-format
 msgid "%s: error locking group file\n"
 msgstr "%s:鎖定群組檔案時出錯\n"
 
-#: src/useradd.c:760 src/usermod.c:449
+#: src/useradd.c:726 src/usermod.c:431
 #, c-format
 msgid "%s: error opening group file\n"
 msgstr "%s:打開群組檔案時出錯\n"
 
-#: src/useradd.c:766 src/usermod.c:542
+#: src/useradd.c:732 src/usermod.c:524
 #, c-format
 msgid "%s: error locking shadow group file\n"
 msgstr "%s:鎖定shadow群組檔案時出錯\n"
 
-#: src/useradd.c:771 src/usermod.c:548
+#: src/useradd.c:737 src/usermod.c:530
 #, c-format
 msgid "%s: error opening shadow group file\n"
 msgstr "%s:打開shadow群組檔案時出錯\n"
 
-#: src/useradd.c:909
-#, c-format
-msgid "%s: uid %u is not unique\n"
-msgstr "%s:uid %u 不唯一\n"
+#: src/useradd.c:875
+#, fuzzy, c-format
+msgid "%s: UID %u is not unique\n"
+msgstr "%s:gid %u 並不唯一\n"
 
-#: src/useradd.c:939
-#, c-format
-msgid "%s: can't get unique uid\n"
-msgstr "%sï¼\9aç\84¡æ³\95ç\8d²å¾\97å\94¯ä¸\80ç\9a\84 uid\n"
+#: src/useradd.c:905
+#, fuzzy, c-format
+msgid "%s: can't get unique UID\n"
+msgstr "%sï¼\9aç\84¡æ³\95ç\8d²å\8f\96ç\8d¨æ\9c\89ç\9a\84 gid\n"
 
-#: src/useradd.c:975
+#: src/useradd.c:936
 #, c-format
 msgid "%s: invalid base directory `%s'\n"
 msgstr "%s:無效的主目錄“%s”\n"
 
-#: src/useradd.c:985
+#: src/useradd.c:946
 #, c-format
 msgid "%s: invalid comment `%s'\n"
 msgstr "%s:無效注釋“%s”\n"
 
-#: src/useradd.c:996
+#: src/useradd.c:957
 #, c-format
 msgid "%s: invalid home directory `%s'\n"
 msgstr "%s:無效的主目錄“%s”\n"
 
-#: src/useradd.c:1015 src/usermod.c:796
+#: src/useradd.c:975 src/usermod.c:768
 #, c-format
 msgid "%s: invalid date `%s'\n"
 msgstr "%s:無效日期“%s”\n"
 
-#: src/useradd.c:1028
+#: src/useradd.c:988
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
 msgstr "%s:-e 參數需要有shadow密碼\n"
 
-#: src/useradd.c:1044
+#: src/useradd.c:1004
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
 msgstr "%s:-f 參數需要有shadow密碼\n"
 
-#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
-#: src/usermod.c:873
+#: src/useradd.c:1070 src/usermod.c:745 src/usermod.c:755 src/usermod.c:800
+#: src/usermod.c:844
 #, c-format
 msgid "%s: invalid field `%s'\n"
 msgstr "%s:無效字段 “%s”\n"
 
-#: src/useradd.c:1122
+#: src/useradd.c:1081
 #, c-format
 msgid "%s: invalid shell `%s'\n"
 msgstr "%s:無效 shell“%s”\n"
 
-#: src/useradd.c:1163
+#: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid user name '%s'\n"
 msgstr "%s:無效使用者名稱“%s”\n"
 
-#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#: src/useradd.c:1156 src/userdel.c:242 src/usermod.c:909
 #, c-format
 msgid "%s: cannot rewrite password file\n"
 msgstr "%s:無法重寫密碼檔案\n"
 
-#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#: src/useradd.c:1161 src/userdel.c:245 src/usermod.c:914
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
 msgstr "%s:無法重寫shadow密碼檔案\n"
 
-#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#: src/useradd.c:1197 src/userdel.c:289 src/usermod.c:942
 #, c-format
 msgid "%s: unable to lock password file\n"
 msgstr "%s:無法鎖定密碼檔案\n"
 
-#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#: src/useradd.c:1201 src/userdel.c:293 src/usermod.c:946
 #, c-format
 msgid "%s: unable to open password file\n"
 msgstr "%s:無法打開密碼檔案\n"
 
-#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#: src/useradd.c:1207 src/userdel.c:298 src/usermod.c:951
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
 msgstr "%s:無法鎖定shadow密碼檔案\n"
 
-#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#: src/useradd.c:1213 src/userdel.c:303 src/usermod.c:956
 #, c-format
 msgid "%s: cannot open shadow password file\n"
 msgstr "%s:無法打開shadow密碼檔案\n"
 
-#: src/useradd.c:1354
+#: src/useradd.c:1300
 #, c-format
 msgid "%s: error adding new password entry\n"
 msgstr "%s:加入新密碼項目時出錯\n"
 
-#: src/useradd.c:1365 src/usermod.c:1063
+#: src/useradd.c:1310 src/usermod.c:1019
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
 msgstr "%s:加入新shadow密碼項時出錯\n"
 
-#: src/useradd.c:1393
+#: src/useradd.c:1337
 #, c-format
 msgid "%s: cannot create directory %s\n"
 msgstr "%s:無法建立目錄 %s\n"
 
-#: src/useradd.c:1423
+#: src/useradd.c:1367
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
-msgstr ""
+msgstr "找不到名為 \"mail\" 的群組,以 0600 模式來建立郵件暫存檔。\n"
 
-#: src/useradd.c:1446
-#, fuzzy, c-format
+#: src/useradd.c:1390
+#, c-format
 msgid "Can't create mail spool for user %s.\n"
-msgstr "%s:不能更新使用者 %s 的項目\n"
+msgstr "無法替使用者 %s 建立郵件暫存檔。\n"
 
-#: src/useradd.c:1550 src/usermod.c:919
+#: src/useradd.c:1492 src/usermod.c:888
 #, c-format
 msgid "%s: user %s exists\n"
 msgstr "%s:使用者 %s 已存在\n"
 
-#: src/useradd.c:1564
+#: src/useradd.c:1506
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
 "%s:%s 群組已經存在 - 如果您想將此使用者加入到該群組,請使用 -g 參數。\n"
 
-#: src/useradd.c:1602
+#: src/useradd.c:1544
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s:警告:CREATE_HOME 不支援,請使用 -m 參數。\n"
 
-#: src/userdel.c:108
-#, fuzzy, c-format
+#: src/userdel.c:104
+#, c-format
 msgid "Usage: %s [-r] name\n"
 msgstr "用法:%s [-r] 名稱\n"
 
-#: src/userdel.c:160 src/userdel.c:221
+#: src/userdel.c:157 src/userdel.c:222
 #, c-format
 msgid "%s: error updating group entry\n"
 msgstr "%s:更新群組項目時出錯\n"
 
-#: src/userdel.c:315
+#: src/userdel.c:311
 #, c-format
 msgid "%s: cannot open group file\n"
 msgstr "%s:無法打開群組檔案\n"
 
-#: src/userdel.c:325
+#: src/userdel.c:321
 #, c-format
 msgid "%s: cannot open shadow group file\n"
 msgstr "%s:無法打開shadow群組檔案\n"
 
-#: src/userdel.c:343
+#: src/userdel.c:339
 #, c-format
 msgid "%s: error deleting password entry\n"
 msgstr "%s:刪除密碼項目時出錯\n"
 
-#: src/userdel.c:347
+#: src/userdel.c:342
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
 msgstr "%s:刪除shadow密碼項目時出錯\n"
 
-#: src/userdel.c:388
+#: src/userdel.c:382
 #, c-format
 msgid "%s: user %s is currently logged in\n"
 msgstr "%s:使用者 %s 目前已登入\n"
 
-#: src/userdel.c:496 src/userdel.c:641
+#: src/userdel.c:490 src/userdel.c:631
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
 msgstr "%s:%s 並不屬於 %s,所以不會刪除\n"
 
-#: src/userdel.c:502
+#: src/userdel.c:496
 #, c-format
 msgid "%s: warning: can't remove "
 msgstr "%s:警告:無法刪除"
 
-#: src/userdel.c:592 src/usermod.c:722
+#: src/userdel.c:584 src/usermod.c:702
 #, c-format
 msgid "%s: user %s does not exist\n"
 msgstr "%s:使用者 %s 不存在\n"
 
-#: src/userdel.c:607 src/usermod.c:738
+#: src/userdel.c:599 src/usermod.c:718
 #, c-format
 msgid "%s: user %s is a NIS user\n"
 msgstr "%s:使用者 %s 是 NIS 使用者\n"
 
-#: src/userdel.c:664
+#: src/userdel.c:654
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
 msgstr "%s:不能刪除目錄 %s (因為這將刪除使用者 %s 的主目錄)\n"
 
-#: src/userdel.c:678
+#: src/userdel.c:668
 #, c-format
 msgid "%s: error removing directory %s\n"
 msgstr "%s:刪除目錄 %s 時出錯\n"
 
-#: src/usermod.c:289
-#, fuzzy, c-format
+#: src/usermod.c:279
+#, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
 msgstr "用法:%s\t[-u uid [-o]] [-g 群組] [-G 群組,...] \n"
 
-#: src/usermod.c:293
+#: src/usermod.c:283
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d 家目錄 [-m]] [-s shell] [-c 注釋] [-l 新名稱]\n"
 
-#: src/usermod.c:296
-#, fuzzy, c-format
+#: src/usermod.c:285
+#, c-format
 msgid "[-f inactive] [-e expire] "
-msgstr "[-f 效日] [-e 過期日 ] "
+msgstr "[-f 效日] [-e 過期日 ] "
 
-#: src/usermod.c:298
+#: src/usermod.c:286
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
 msgstr "[-p 密碼] [-L|-U] 名稱\n"
 
-#: src/usermod.c:476
+#: src/usermod.c:458
 #, c-format
 msgid "%s: out of memory in update_group\n"
 msgstr "%s:update_group 時記憶體不足\n"
 
-#: src/usermod.c:585
+#: src/usermod.c:567
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
 msgstr "%s:update_gshadow 時記憶體不足\n"
 
-#: src/usermod.c:896
+#: src/usermod.c:867
 #, c-format
 msgid "%s: no flags given\n"
 msgstr "%s:沒有指定標誌\n"
 
-#: src/usermod.c:903
+#: src/usermod.c:873
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
 msgstr "%s:-e 和 -f 參數需要shadow密碼\n"
 
-#: src/usermod.c:924
+#: src/usermod.c:893
 #, c-format
 msgid "%s: uid %lu is not unique\n"
 msgstr "%s:uid %lu 不唯一\n"
 
-#: src/usermod.c:1047
+#: src/usermod.c:1004
 #, c-format
 msgid "%s: error changing password entry\n"
 msgstr "%s:改變密碼項目時出錯\n"
 
-#: src/usermod.c:1053
+#: src/usermod.c:1010
 #, c-format
 msgid "%s: error removing password entry\n"
 msgstr "%s:移除密碼項時出錯\n"
 
-#: src/usermod.c:1070
+#: src/usermod.c:1026
 #, c-format
 msgid "%s: error removing shadow password entry\n"
 msgstr "%s:刪除shadow密碼項目時出錯\n"
 
-#: src/usermod.c:1098
+#: src/usermod.c:1053
 #, c-format
 msgid "%s: directory %s exists\n"
 msgstr "%s:目錄 %s 不存在\n"
 
-#: src/usermod.c:1106
+#: src/usermod.c:1061
 #, c-format
 msgid "%s: can't create %s\n"
 msgstr "%s:無法建立 %s\n"
 
-#: src/usermod.c:1111
+#: src/usermod.c:1066
 #, c-format
 msgid "%s: can't chown %s\n"
 msgstr "%s:無法改變 %s 的所有者和群組\n"
 
-#: src/usermod.c:1128
+#: src/usermod.c:1078
+#, c-format
+msgid "%s: warning: failed to completely remove old home directory %s"
+msgstr ""
+
+#: src/usermod.c:1088
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
 msgstr "%s:無法將目錄 %s 改名為 %s\n"
 
-#: src/usermod.c:1223
+#: src/usermod.c:1183
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
 msgstr "%s:警告:%s 不屬於 %s\n"
 
-#: src/usermod.c:1229
+#: src/usermod.c:1189
 msgid "failed to change mailbox owner"
 msgstr "改變信箱所有者失敗"
 
-#: src/usermod.c:1237
+#: src/usermod.c:1197
 msgid "failed to rename mailbox"
 msgstr "無法為信箱改名"
 
@@ -1985,3 +1959,12 @@ msgstr ""
 "用法:\n"
 "“vipw” 編輯 /etc/passwd      “vipw -s” 編輯 /etc/shadow\n"
 "“vigr” 編輯 /etc/group       “vigr -s” 編輯 /etc/gshadow\n"
+
+#~ msgid "unknown uid: %u\n"
+#~ msgstr "未知的 uid:%u\n"
+
+#~ msgid "%s: uid %u is not unique\n"
+#~ msgstr "%s:uid %u 不唯一\n"
+
+#~ msgid "%s: can't get unique uid\n"
+#~ msgstr "%s:無法獲得唯一的 uid\n"
index f9d39d7b77e240d797d37842b8a848f60715e7ad..5ae2c3217f703ceb6daf0dbdaf00b1d962cf376a 100644 (file)
@@ -1,5 +1,6 @@
 
-EXTRA_DIST = .indent.pro
+EXTRA_DIST = \
+       .indent.pro
 
 ubindir = ${prefix}/bin
 usbindir = ${prefix}/sbin
@@ -30,7 +31,6 @@ usbin_PROGRAMS = \
        grpconv \
        grpunconv \
        logoutd \
-       mkpasswd \
        newusers \
        pwck \
        pwconv \
index 6dcaef74481deb2b52b4b970e4d134ea5a6b73d7..1b7649b37d5492479362afbde3239260bd36e34b 100644 (file)
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-SOURCES = chage.c chfn.c chpasswd.c chsh.c expiry.c faillog.c gpasswd.c groupadd.c groupdel.c groupmod.c groups.c grpck.c grpconv.c grpunconv.c id.c lastlog.c $(login_SOURCES) logoutd.c mkpasswd.c newgrp.c newusers.c passwd.c pwck.c pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c usermod.c vipw.c
+SOURCES = chage.c chfn.c chpasswd.c chsh.c expiry.c faillog.c gpasswd.c groupadd.c groupdel.c groupmod.c groups.c grpck.c grpconv.c grpunconv.c id.c lastlog.c $(login_SOURCES) logoutd.c newgrp.c newusers.c passwd.c pwck.c pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c usermod.c vipw.c
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
@@ -44,19 +44,15 @@ ubin_PROGRAMS = faillog$(EXEEXT) lastlog$(EXEEXT) chage$(EXEEXT) \
        newgrp$(EXEEXT) passwd$(EXEEXT)
 usbin_PROGRAMS = chpasswd$(EXEEXT) groupadd$(EXEEXT) groupdel$(EXEEXT) \
        groupmod$(EXEEXT) grpck$(EXEEXT) grpconv$(EXEEXT) \
-       grpunconv$(EXEEXT) logoutd$(EXEEXT) mkpasswd$(EXEEXT) \
-       newusers$(EXEEXT) pwck$(EXEEXT) pwconv$(EXEEXT) \
-       pwunconv$(EXEEXT) useradd$(EXEEXT) userdel$(EXEEXT) \
-       usermod$(EXEEXT) vipw$(EXEEXT)
+       grpunconv$(EXEEXT) logoutd$(EXEEXT) newusers$(EXEEXT) \
+       pwck$(EXEEXT) pwconv$(EXEEXT) pwunconv$(EXEEXT) \
+       useradd$(EXEEXT) userdel$(EXEEXT) usermod$(EXEEXT) \
+       vipw$(EXEEXT)
 noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT)
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -146,11 +142,6 @@ logoutd_OBJECTS = logoutd.$(OBJEXT)
 logoutd_LDADD = $(LDADD)
 logoutd_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.a \
        $(top_builddir)/lib/libshadow.la
-mkpasswd_SOURCES = mkpasswd.c
-mkpasswd_OBJECTS = mkpasswd.$(OBJEXT)
-mkpasswd_LDADD = $(LDADD)
-mkpasswd_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.a \
-       $(top_builddir)/lib/libshadow.la
 newgrp_SOURCES = newgrp.c
 newgrp_OBJECTS = newgrp.$(OBJEXT)
 newgrp_LDADD = $(LDADD)
@@ -214,15 +205,15 @@ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 SOURCES = chage.c chfn.c chpasswd.c chsh.c expiry.c faillog.c \
        gpasswd.c groupadd.c groupdel.c groupmod.c groups.c grpck.c \
        grpconv.c grpunconv.c id.c lastlog.c $(login_SOURCES) \
-       logoutd.c mkpasswd.c newgrp.c newusers.c passwd.c pwck.c \
-       pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c \
-       userdel.c usermod.c vipw.c
+       logoutd.c newgrp.c newusers.c passwd.c pwck.c pwconv.c \
+       pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c \
+       usermod.c vipw.c
 DIST_SOURCES = chage.c chfn.c chpasswd.c chsh.c expiry.c faillog.c \
        gpasswd.c groupadd.c groupdel.c groupmod.c groups.c grpck.c \
        grpconv.c grpunconv.c id.c lastlog.c $(login_SOURCES) \
-       logoutd.c mkpasswd.c newgrp.c newusers.c passwd.c pwck.c \
-       pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c \
-       userdel.c usermod.c vipw.c
+       logoutd.c newgrp.c newusers.c passwd.c pwck.c pwconv.c \
+       pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c \
+       usermod.c vipw.c
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -344,7 +335,9 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-EXTRA_DIST = .indent.pro
+EXTRA_DIST = \
+       .indent.pro
+
 ubindir = ${prefix}/bin
 usbindir = ${prefix}/sbin
 INCLUDES = \
@@ -391,9 +384,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
        cd $(top_srcdir) && \
-         $(AUTOMAKE) --foreign  src/Makefile
+         $(AUTOMAKE) --gnu  src/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
@@ -556,9 +549,6 @@ login$(EXEEXT): $(login_OBJECTS) $(login_DEPENDENCIES)
 logoutd$(EXEEXT): $(logoutd_OBJECTS) $(logoutd_DEPENDENCIES) 
        @rm -f logoutd$(EXEEXT)
        $(LINK) $(logoutd_LDFLAGS) $(logoutd_OBJECTS) $(logoutd_LDADD) $(LIBS)
-mkpasswd$(EXEEXT): $(mkpasswd_OBJECTS) $(mkpasswd_DEPENDENCIES) 
-       @rm -f mkpasswd$(EXEEXT)
-       $(LINK) $(mkpasswd_LDFLAGS) $(mkpasswd_OBJECTS) $(mkpasswd_LDADD) $(LIBS)
 newgrp$(EXEEXT): $(newgrp_OBJECTS) $(newgrp_DEPENDENCIES) 
        @rm -f newgrp$(EXEEXT)
        $(LINK) $(newgrp_LDFLAGS) $(newgrp_OBJECTS) $(newgrp_LDADD) $(LIBS)
@@ -621,7 +611,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login_nopam.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logoutd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkpasswd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgrp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newusers.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwd.Po@am__quote@
index f5736c8077be46c13952d7c87943569073533702..5d5d4e873c13fd1d08a3a3fb7056fb56b5467f73 100644 (file)
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: chage.c,v 1.43 2005/04/17 00:07:00 kloczek Exp $")
-#include <sys/types.h>
+RCSID (PKG_VER "$Id: chage.c,v 1.47 2005/06/20 15:43:09 kloczek Exp $")
 #include <ctype.h>
 #include <fcntl.h>
+#include <getopt.h>
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/types.h>
 #include <time.h>
-#ifdef SHADOWPWD
 #ifdef USE_PAM
 #include <security/pam_appl.h>
 #include <security/pam_misc.h>
@@ -107,10 +107,20 @@ int isnum (const char *s)
 
 static void usage (void)
 {
-       fprintf (stderr,
-                _
-                ("Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
-                 "             [-I inactive] [-E expire] [-d last_day] user\n"));
+       fprintf (stderr, _("Usage: chage [options] user\n"
+                          "\n"
+                          "Options:\n"
+                          "  -d, --lastday LAST_DAY    set last password change to LAST_DAY\n"
+                          "  -E, --expiredate EXPIRE_DATE      set account expiration date to EXPIRE_DATE\n"
+                          "  -h, --help                        display this help message and exit\n"
+                          "  -I, --inactive INACTIVE   set password inactive after expiration\n"
+                          "                            to INACTIVE\n"
+                          "  -l, --list                        show account aging information\n"
+                          "  -m, --mindays MIN_DAYS    set minimum number of days before password\n"
+                          "                            change to MIN_DAYS\n"
+                          "  -M, --maxdays MAX_DAYS    set maximim number of days before password\n"
+                          "                            change to MAX_DAYS\n"
+                          "  -W, --warndays WARN_DAYS  set expiration warning days to WARN_DAYS\n"));
        exit (1);
 }
 
@@ -327,13 +337,13 @@ static void cleanup (int state)
  *
  *     The valid options are
  *
- *     -m      set minimum number of days before password change (*)
- *     -M      set maximim number of days before password change (*)
  *     -d      set last password change date (*)
+ *     -E      set account expiration date (*)
+ *     -I      set password inactive after expiration (*)
  *     -l      show account aging information
+ *     -M      set maximim number of days before password change (*)
+ *     -m      set minimum number of days before password change (*)
  *     -W      set expiration warning days (*)
- *     -I      set password inactive after expiration (*)
- *     -E      set account expiration date (*)
  *
  *     (*) requires root permission to execute.
  *
@@ -375,46 +385,67 @@ int main (int argc, char **argv)
         */
        Prog = Basename (argv[0]);
 
-       /*
-        * Parse the command line options.
-        */
-       while ((flag = getopt (argc, argv, "lm:M:W:I:E:d:")) != EOF) {
-               switch (flag) {
-               case 'l':
-                       lflg++;
-                       break;
-               case 'm':
-                       mflg++;
-                       mindays = strtol (optarg, 0, 10);
-                       break;
-               case 'M':
-                       Mflg++;
-                       maxdays = strtol (optarg, 0, 10);
-                       break;
-               case 'd':
-                       dflg++;
-                       if (!isnum (optarg))
-                               lastday = strtoday (optarg);
-                       else
-                               lastday = strtol (optarg, 0, 10);
-                       break;
-               case 'W':
-                       Wflg++;
-                       warndays = strtol (optarg, 0, 10);
-                       break;
-               case 'I':
-                       Iflg++;
-                       inactdays = strtol (optarg, 0, 10);
-                       break;
-               case 'E':
-                       Eflg++;
-                       if (!isnum (optarg))
-                               expdays = strtoday (optarg);
-                       else
-                               expdays = strtol (optarg, 0, 10);
-                       break;
-               default:
-                       usage ();
+       {
+               /*
+                * Parse the command line options.
+                */
+               int option_index = 0;
+               int c;
+               static struct option long_options[] = {
+                       {"lastday", required_argument, NULL, 'd'},
+                       {"expiredate", required_argument, NULL, 'E'},
+                       {"help", no_argument, NULL, 'h'},
+                       {"inactive", required_argument, NULL, 'I'},
+                       {"list", no_argument, NULL, 'l'},
+                       {"mindays", required_argument, NULL, 'm'},
+                       {"maxdays", required_argument, NULL, 'M'},
+                       {"warndays", required_argument, NULL, 'W'},
+                       {NULL, 0, NULL, '\0'}
+               };
+
+               while ((c =
+                       getopt_long (argc, argv, "d:E:hI:lm:M:W:", long_options,
+                                    &option_index)) != -1) {
+                       switch (c) {
+                       case 'd':
+                               dflg++;
+                               if (!isnum (optarg))
+                                       lastday = strtoday (optarg);
+                               else
+                                       lastday = strtol (optarg, 0, 10);
+                               break;
+                       case 'E':
+                               Eflg++;
+                               if (!isnum (optarg))
+                                       expdays = strtoday (optarg);
+                               else
+                                       expdays = strtol (optarg, 0, 10);
+                               break;
+                       case 'h':
+                               usage ();
+                               break;
+                       case 'I':
+                               Iflg++;
+                               inactdays = strtol (optarg, 0, 10);
+                               break;
+                       case 'l':
+                               lflg++;
+                               break;
+                       case 'm':
+                               mflg++;
+                               mindays = strtol (optarg, 0, 10);
+                               break;
+                       case 'M':
+                               Mflg++;
+                               maxdays = strtol (optarg, 0, 10);
+                               break;
+                       case 'W':
+                               Wflg++;
+                               warndays = strtol (optarg, 0, 10);
+                               break;
+                       default:
+                               usage ();
+                       }
                }
        }
 
@@ -440,7 +471,7 @@ int main (int argc, char **argv)
         */
 
        if (!amroot && !lflg) {
-               fprintf (stderr, _("%s: permission denied.\n"), Prog);
+               fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                exit (E_NOPERM);
        }
 
@@ -568,7 +599,7 @@ int main (int argc, char **argv)
 
        if (lflg) {
                if (!amroot && (ruid != pwent.pw_uid)) {
-                       fprintf (stderr, _("%s: permission denied.\n"), Prog);
+                       fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                        closelog ();
                        exit (E_NOPERM);
                }
@@ -723,12 +754,3 @@ int main (int argc, char **argv)
        exit (E_SUCCESS);
        /* NOTREACHED */
 }
-
-#else                          /* !SHADOWPWD */
-int main (int argc, char **argv)
-{
-       fprintf (stderr,
-                "%s: not configured for shadow password support.\n", argv[0]);
-       exit (E_NOPERM);
-}
-#endif                         /* !SHADOWPWD */
index 43399266a372544ccfc8ac15db760abc75c212cc..95ea29c6bd7f0261ac4cd3d8c8a6ce897deb6678 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: chfn.c,v 1.27 2005/04/06 04:26:06 kloczek Exp $")
+RCSID (PKG_VER "$Id: chfn.c,v 1.28 2005/06/20 09:36:26 kloczek Exp $")
 #include <sys/types.h>
 #include <stdio.h>
 #include <fcntl.h>
@@ -265,7 +265,7 @@ int main (int argc, char **argv)
                case 'f':
                        if (!may_change_field ('f')) {
                                fprintf (stderr,
-                                        _("%s: permission denied.\n"), Prog);
+                                        _("%s: Permission denied.\n"), Prog);
                                exit (1);
                        }
                        fflg++;
@@ -274,7 +274,7 @@ int main (int argc, char **argv)
                case 'r':
                        if (!may_change_field ('r')) {
                                fprintf (stderr,
-                                        _("%s: permission denied.\n"), Prog);
+                                        _("%s: Permission denied.\n"), Prog);
                                exit (1);
                        }
                        rflg++;
@@ -283,7 +283,7 @@ int main (int argc, char **argv)
                case 'w':
                        if (!may_change_field ('w')) {
                                fprintf (stderr,
-                                        _("%s: permission denied.\n"), Prog);
+                                        _("%s: Permission denied.\n"), Prog);
                                exit (1);
                        }
                        wflg++;
@@ -292,7 +292,7 @@ int main (int argc, char **argv)
                case 'h':
                        if (!may_change_field ('h')) {
                                fprintf (stderr,
-                                        _("%s: permission denied.\n"), Prog);
+                                        _("%s: Permission denied.\n"), Prog);
                                exit (1);
                        }
                        hflg++;
@@ -301,7 +301,7 @@ int main (int argc, char **argv)
                case 'o':
                        if (!amroot) {
                                fprintf (stderr,
-                                        _("%s: permission denied.\n"), Prog);
+                                        _("%s: Permission denied.\n"), Prog);
                                exit (1);
                        }
                        oflg++;
@@ -367,7 +367,7 @@ int main (int argc, char **argv)
         */
 
        if (!amroot && pw->pw_uid != getuid ()) {
-               fprintf (stderr, _("%s: permission denied.\n"), Prog);
+               fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                closelog ();
                exit (1);
        }
index 43009e75e56d39201003622f996a8b79a4d78ce3..39b2cf026851962ed438b747774a051157918d5f 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: chpasswd.c,v 1.24 2005/04/06 00:13:45 kloczek Exp $")
+RCSID (PKG_VER "$Id: chpasswd.c,v 1.26 2005/05/25 19:31:51 kloczek Exp $")
 #include <fcntl.h>
 #include <getopt.h>
 #include <pwd.h>
@@ -45,9 +45,7 @@ RCSID (PKG_VER "$Id: chpasswd.c,v 1.24 2005/04/06 00:13:45 kloczek Exp $")
 #include "defines.h"
 #include "pwio.h"
 #include "nscd.h"
-#ifdef SHADOWPWD
 #include "shadowio.h"
-#endif
 /*
  * Global variables
  */
@@ -55,9 +53,7 @@ static char *Prog;
 static int eflg = 0;
 static int md5flg = 0;
 
-#ifdef SHADOWPWD
 static int is_shadow_pwd;
-#endif
 
 /* local function prototypes */
 static void usage (void);
@@ -92,10 +88,9 @@ int main (int argc, char **argv)
        char *newpwd;
        char *cp;
 
-#ifdef SHADOWPWD
        const struct spwd *sp;
        struct spwd newsp;
-#endif
+
        const struct passwd *pw;
        struct passwd newpw;
        int errors = 0;
@@ -194,7 +189,7 @@ int main (int argc, char **argv)
                pw_unlock ();
                exit (1);
        }
-#ifdef SHADOWPWD
+
        is_shadow_pwd = spw_file_present ();
        if (is_shadow_pwd) {
                if (!spw_lock ()) {
@@ -211,7 +206,6 @@ int main (int argc, char **argv)
                        exit (1);
                }
        }
-#endif
 
        /*
         * Read each line, separating the user name from the password. The
@@ -276,12 +270,10 @@ int main (int argc, char **argv)
                        errors++;
                        continue;
                }
-#ifdef SHADOWPWD
                if (is_shadow_pwd)
                        sp = spw_locate (name);
                else
                        sp = NULL;
-#endif
 
                /*
                 * The freshly encrypted new password is merged into the
@@ -289,14 +281,11 @@ int main (int argc, char **argv)
                 * date is set to the current date.
                 */
 
-#ifdef SHADOWPWD
                if (sp) {
                        newsp = *sp;
                        newsp.sp_pwdp = cp;
                        newsp.sp_lstchg = now;
-               } else
-#endif
-               {
+               } else {
                        newpw = *pw;
                        newpw.pw_passwd = cp;
                }
@@ -307,11 +296,9 @@ int main (int argc, char **argv)
                 * other entries have been updated as well.
                 */
 
-#ifdef SHADOWPWD
                if (sp)
                        ok = spw_update (&newsp);
                else
-#endif
                        ok = pw_update (&newpw);
 
                if (!ok) {
@@ -335,14 +322,11 @@ int main (int argc, char **argv)
        if (errors) {
                fprintf (stderr,
                         _("%s: error detected, changes ignored\n"), Prog);
-#ifdef SHADOWPWD
                if (is_shadow_pwd)
                        spw_unlock ();
-#endif
                pw_unlock ();
                exit (1);
        }
-#ifdef SHADOWPWD
        if (is_shadow_pwd) {
                if (!spw_close ()) {
                        fprintf (stderr,
@@ -352,7 +336,6 @@ int main (int argc, char **argv)
                }
                spw_unlock ();
        }
-#endif
        if (!pw_close ()) {
                fprintf (stderr, _("%s: error updating password file\n"), Prog);
                exit (1);
index 1b00faa696576f8059a04d1a4e76af7c721a5332..3525aae6ae39f708fff00437646e0128e129979c 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: expiry.c,v 1.13 2005/03/31 05:14:54 kloczek Exp $")
+RCSID (PKG_VER "$Id: expiry.c,v 1.14 2005/05/25 18:20:25 kloczek Exp $")
 #include <sys/types.h>
 #include <signal.h>
 #include <stdio.h>
@@ -71,9 +71,7 @@ int main (int argc, char **argv)
 {
        struct passwd *pwd;
 
-#ifdef SHADOWPWD
        struct spwd *spwd;
-#endif
        char *Prog = argv[0];
 
        sanitize_env ();
@@ -122,9 +120,7 @@ int main (int argc, char **argv)
                fprintf (stderr, _("%s: unknown user\n"), Prog);
                exit (10);
        }
-#ifdef SHADOWPWD
        spwd = getspnam (pwd->pw_name);
-#endif
 
        /*
         * If checking accounts, use agecheck() function.
@@ -136,21 +132,13 @@ int main (int argc, char **argv)
                 * Print out number of days until expiration.
                 */
 
-#ifdef SHADOWPWD
                agecheck (pwd, spwd);
-#else
-               agecheck (pwd);
-#endif
 
                /*
                 * Exit with status indicating state of account.
                 */
 
-#ifdef SHADOWPWD
                exit (isexpired (pwd, spwd));
-#else
-               exit (isexpired (pwd));
-#endif
        }
 
        /*
@@ -165,11 +153,7 @@ int main (int argc, char **argv)
                 * all unless the account is unexpired.
                 */
 
-#ifdef SHADOWPWD
                expire (pwd, spwd);
-#else
-               expire (pwd);
-#endif
                exit (0);
        }
 
index 2e1da5da9277f3a3f570809ae2f2ffc5ee47551d..227978a54a7b8ee6770a639a79e72083c10d202a 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: faillog.c,v 1.22 2005/04/25 10:25:50 kloczek Exp $")
+RCSID (PKG_VER "$Id: faillog.c,v 1.23 2005/05/25 19:31:51 kloczek Exp $")
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -84,7 +84,8 @@ static void print_one (const struct faillog *fl, uid_t uid)
 #endif
 
        if (!once) {
-               printf (_("Login       Failures Maximum Latest                   On\n"));
+               printf (_
+                       ("Login       Failures Maximum Latest                   On\n"));
                once++;
        }
        pwent = getpwuid (uid);
index b107c69e2eeed5b291910534b4574f967bec0576..8ab9ccdc2bf13f0dcaba2fabde6dd008f41ae508 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: gpasswd.c,v 1.24 2005/04/06 04:26:06 kloczek Exp $")
+RCSID (PKG_VER "$Id: gpasswd.c,v 1.25 2005/06/20 09:36:27 kloczek Exp $")
 #include <sys/types.h>
 #include <stdio.h>
 #include <pwd.h>
@@ -147,7 +147,7 @@ static int check_list (const char *users)
 
 static void failure (void)
 {
-       fprintf (stderr, _("%s: permission denied.\n"), Prog);
+       fprintf (stderr, _("%s: Permission denied.\n"), Prog);
        exit (1);
  /*NOTREACHED*/}
 
index 31882fd179dcb7bf5cac98e55a978ca099afcfbd..2c3fc597bd1612b5fa87ff83e78edb151d18df6b 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: groupadd.c,v 1.31 2005/04/06 04:26:06 kloczek Exp $")
+RCSID (PKG_VER "$Id: groupadd.c,v 1.33 2005/06/20 09:57:51 kloczek Exp $")
 #include <sys/types.h>
 #include <stdio.h>
 #include <grp.h>
@@ -161,7 +161,6 @@ static void grp_update (void)
                fprintf (stderr, _("%s: error adding new group entry\n"), Prog);
                fail_exit (E_GRP_UPDATE);
        }
-
 #ifdef SHADOWGRP
        /*
         * Write out the new shadow group entries as well.
@@ -171,7 +170,7 @@ static void grp_update (void)
                fail_exit (E_GRP_UPDATE);
        }
 #endif                         /* SHADOWGRP */
-       SYSLOG ((LOG_INFO, "new group: name=%s, gid=%u",
+       SYSLOG ((LOG_INFO, "new group: name=%s, GID=%u",
                 group_name, (unsigned int) group_id));
 }
 
@@ -231,7 +230,7 @@ static void find_new_gid (void)
 #endif
                                continue;
                        }
-                       fprintf (stderr, _("%s: gid %u is not unique\n"),
+                       fprintf (stderr, _("%s: GID %u is not unique\n"),
                                 Prog, (unsigned int) group_id);
                        fail_exit (E_GID_IN_USE);
                }
@@ -255,7 +254,7 @@ static void find_new_gid (void)
 #endif
                }
                if (group_id == gid_max) {
-                       fprintf (stderr, _("%s: can't get unique gid\n"), Prog);
+                       fprintf (stderr, _("%s: can't get unique GID\n"), Prog);
                        fail_exit (E_GID_IN_USE);
                }
        }
index 02f7fcf3dd0e459552a42b068f3521a01b8dc457..fc456487191f8ca37a9137341a96d213c06983fa 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: groupdel.c,v 1.20 2005/04/06 04:26:06 kloczek Exp $")
+RCSID (PKG_VER "$Id: groupdel.c,v 1.21 2005/05/25 19:31:51 kloczek Exp $")
 #include <sys/types.h>
 #include <stdio.h>
 #include <grp.h>
@@ -96,7 +96,6 @@ static void grp_update (void)
                fprintf (stderr, _("%s: error removing group entry\n"), Prog);
                errors++;
        }
-
 #ifdef SHADOWGRP
        /*
         * Delete the shadow group entries as well.
@@ -291,7 +290,6 @@ int main (int argc, char **argv)
                         Prog, group_name);
                exit (E_NOTFOUND);
        }
-
 #ifdef USE_NIS
        /*
         * Make sure this isn't a NIS group
index a86e8d73ba6092cdf967ebc980e92ff3cd749a4f..54f93023d58c5f9b596153e5c1cf32beac96a9ea 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: groupmod.c,v 1.26 2005/04/06 04:26:06 kloczek Exp $")
+RCSID (PKG_VER "$Id: groupmod.c,v 1.28 2005/06/20 09:57:51 kloczek Exp $")
 #include <sys/types.h>
 #include <stdio.h>
 #include <grp.h>
@@ -178,7 +178,6 @@ static void grp_update (void)
                fprintf (stderr, _("%s: error removing group entry\n"), Prog);
                exit (E_GRP_UPDATE);
        }
-
 #ifdef SHADOWGRP
        /*
         * Make sure there was a shadow entry to begin with. Skip down to
@@ -209,7 +208,7 @@ static void grp_update (void)
                         group_name, group_newname));
 
        if (gflg)
-               SYSLOG ((LOG_INFO, "change gid for `%s' to %u",
+               SYSLOG ((LOG_INFO, "change GID for `%s' to %u",
                         nflg ? group_newname : group_name, group_newid));
 }
 
@@ -239,7 +238,7 @@ static void check_new_gid (void)
         * Tell the user what they did wrong.
         */
 
-       fprintf (stderr, _("%s: %u is not a unique gid\n"), Prog, group_newid);
+       fprintf (stderr, _("%s: %u is not a unique GID\n"), Prog, group_newid);
        exit (E_GID_IN_USE);
 }
 
index a6f4fd165c647c7320f4329790dd71f196c0d527..f6e5c4734a4fe94af3dc21d9946497eb65be3d23 100644 (file)
--- a/src/id.c
+++ b/src/id.c
@@ -38,7 +38,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: id.c,v 1.13 2003/06/19 18:11:01 kloczek Exp $")
+RCSID (PKG_VER "$Id: id.c,v 1.15 2005/06/20 10:17:08 kloczek Exp $")
 #include <sys/types.h>
 #include <stdio.h>
 #include <grp.h>
@@ -120,15 +120,15 @@ static void usage (void)
 
        pw = getpwuid (ruid);
        if (pw)
-               printf ("uid=%u(%s)", ruid, pw->pw_name);
+               printf ("UID=%u(%s)", ruid, pw->pw_name);
        else
-               printf ("uid=%u", ruid);
+               printf ("UID=%u", ruid);
 
        gr = getgrgid (rgid);
        if (gr)
-               printf (" gid=%u(%s)", rgid, gr->gr_name);
+               printf (" GID=%u(%s)", rgid, gr->gr_name);
        else
-               printf (" gid=%u", rgid);
+               printf (" GID=%u", rgid);
 
        /*
         * Print out the effective user ID and group ID if they are
@@ -138,16 +138,16 @@ static void usage (void)
        if (ruid != euid) {
                pw = getpwuid (euid);
                if (pw)
-                       printf (" euid=%u(%s)", euid, pw->pw_name);
+                       printf (" EUID=%u(%s)", euid, pw->pw_name);
                else
-                       printf (" euid=%u", euid);
+                       printf (" EUID=%u", euid);
        }
        if (rgid != egid) {
                gr = getgrgid (egid);
                if (gr)
-                       printf (" egid=%u(%s)", egid, gr->gr_name);
+                       printf (" EGID=%u(%s)", egid, gr->gr_name);
                else
-                       printf (" egid=%u", egid);
+                       printf (" EGID=%u", egid);
        }
 #ifdef HAVE_GETGROUPS
        /*
index 469f912b2f33792049a036a54516ca0b0524910e..7b1b5ad1b5923fde2302c3416c167a1796e73710 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: login.c,v 1.52 2005/04/17 15:38:56 kloczek Exp $")
+RCSID (PKG_VER "$Id: login.c,v 1.59 2005/06/20 09:36:27 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include <sys/stat.h>
@@ -348,7 +348,7 @@ int main (int argc, char **argv)
        pid_t child;
        char *pam_user;
 #endif                         /* USE_PAM */
-#if defined(SHADOWPWD) && !defined(USE_PAM)
+#ifndef USE_PAM
        struct spwd *spwd = NULL;
 #endif
        /*
@@ -369,7 +369,7 @@ int main (int argc, char **argv)
 
        check_flags (argc, argv);
 
-       while ((flag = getopt (argc, argv, "d:f:h:pr:")) != EOF) {
+       while ((flag = getopt (argc, argv, "d:f::h:pr:")) != EOF) {
                switch (flag) {
                case 'p':
                        pflg++;
@@ -378,11 +378,16 @@ int main (int argc, char **argv)
                        /*
                         * username must be a separate token
                         * (-f root, *not* -froot).  --marekm
+                        *
+                        * if -f has an arg, use that, else use the
+                        * normal user name passed after all options
+                        * --benc
                         */
-                       if (optarg != argv[optind - 1])
+                       if (optarg != NULL && optarg != argv[optind - 1])
                                usage ();
                        fflg++;
-                       STRFCPY (username, optarg);
+                       if (optarg)
+                               STRFCPY (username, optarg);
                        break;
 #ifdef RLOGIN
                case 'r':
@@ -418,7 +423,7 @@ int main (int argc, char **argv)
         */
 
        if ((rflg || fflg || hflg) && !amroot) {
-               fprintf (stderr, _("%s: permission denied.\n"), Prog);
+               fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                exit (1);
        }
 
@@ -535,7 +540,7 @@ int main (int argc, char **argv)
                init_env ();
 
                if (optind < argc) {    /* get the user name */
-                       if (rflg || fflg)
+                       if (rflg || (fflg && username[0]))
                                usage ();
 
                        STRFCPY (username, argv[optind]);
@@ -703,11 +708,14 @@ int main (int argc, char **argv)
 
                if (!pwd || setup_groups (pwd))
                        exit (1);
+               else
+                       pwent = *pwd;
 
                retcode = pam_setcred (pamh, PAM_ESTABLISH_CRED);
                PAM_FAIL_CHECK;
 
-               retcode = pam_open_session (pamh, 0);
+               retcode = pam_open_session (pamh,
+                                           hushed (&pwent) ? PAM_SILENT : 0);
                PAM_FAIL_CHECK;
 
 #else                          /* ! USE_PAM */
@@ -742,7 +750,6 @@ int main (int argc, char **argv)
                        pwent = *pwd;
                }
 #ifndef USE_PAM
-#ifdef SHADOWPWD
                spwd = NULL;
                if (pwd && strcmp (pwd->pw_passwd, SHADOW_PASSWD_STRING) == 0) {
                        spwd = getspnam (username);
@@ -753,7 +760,6 @@ int main (int argc, char **argv)
                                         "no shadow password for `%s'%s",
                                         username, fromhost));
                }
-#endif                         /* SHADOWPWD */
 
                /*
                 * If the encrypted password begins with a "!", the account
@@ -918,9 +924,7 @@ int main (int argc, char **argv)
                subroot++;      /* say i was here again */
                endpwent ();    /* close all of the file which were */
                endgrent ();    /* open in the original rooted file */
-#ifdef SHADOWPWD
                endspent ();    /* system. they will be re-opened */
-#endif
 #ifdef SHADOWGRP
                endsgent ();    /* in the new rooted file system */
 #endif
@@ -938,7 +942,6 @@ int main (int argc, char **argv)
         * and changes to the user in the child before executing the passwd
         * program.  --marekm
         */
-#ifdef SHADOWPWD
        if (spwd) {             /* check for age of password */
                if (expire (&pwent, spwd)) {
                        pwd = getpwnam (username);
@@ -947,11 +950,44 @@ int main (int argc, char **argv)
                                pwent = *pwd;
                }
        }
-#endif                         /* SHADOWPWD */
        setup_limits (&pwent);  /* nice, ulimit etc. */
 #endif                         /* ! USE_PAM */
        chown_tty (tty, &pwent);
 
+#ifdef USE_PAM
+       /*
+        * We must fork before setuid() because we need to call
+        * pam_close_session() as root.
+        *
+        * Note: not true in other (non-Linux) PAM implementations, where
+        * the parent process of login (init, telnetd, ...) is responsible
+        * for calling pam_close_session(). This avoids an extra process for
+        * each login. Maybe we should do this on Linux too? We let the
+        * admin configure whether they need to keep login around to close
+        * sessions.
+        */
+       if (getdef_bool ("CLOSE_SESSIONS")) {
+               signal (SIGINT, SIG_IGN);
+               child = fork ();
+               if (child < 0) {
+                       /* error in fork() */
+                       fprintf (stderr,
+                                "login: failure forking: %s",
+                                strerror (errno));
+                       PAM_END;
+                       exit (0);
+               } else if (child) {
+                       /*
+                        * parent - wait for child to finish, then cleanup
+                        * session
+                        */
+                       wait (NULL);
+                       PAM_END;
+                       exit (0);
+               }
+               /* child */
+       }
+#endif
        /* We call set_groups() above because this clobbers pam_groups.so */
 #ifndef USE_PAM
        if (setup_uid_gid (&pwent, is_console))
@@ -1021,11 +1057,7 @@ int main (int argc, char **argv)
 #endif
                        printf (".\n");
                }
-#ifdef SHADOWPWD
                agecheck (&pwent, spwd);
-#else
-               agecheck (&pwent);
-#endif
 
                mailcheck ();   /* report on the status of mail */
 #endif                         /* !USE_PAM */
@@ -1039,55 +1071,22 @@ int main (int argc, char **argv)
        signal (SIGTERM, SIG_DFL);      /* default terminate signal */
        signal (SIGALRM, SIG_DFL);      /* default alarm signal */
        signal (SIGHUP, SIG_DFL);       /* added this.  --marekm */
-
-#ifdef USE_PAM
-       /*
-        * We must fork before setuid() because we need to call
-        * pam_close_session() as root.
-        *
-        * Note: not true in other (non-Linux) PAM implementations, where
-        * the parent process of login (init, telnetd, ...) is responsible
-        * for calling pam_close_session(). This avoids an extra process for
-        * each login. Maybe we should do this on Linux too? We let the
-        * admin configure whether they need to keep login around to close
-        * sessions.
-        */
-       if (getdef_bool ("CLOSE_SESSIONS")) {
-               signal (SIGINT, SIG_IGN);
-               child = fork ();
-               if (child < 0) {
-                       /* error in fork() */
-                       fprintf (stderr,
-                                "login: failure forking: %s",
-                                strerror (errno));
-                       PAM_END;
-                       exit (0);
-               } else if (child) {
-                       /*
-                        * parent - wait for child to finish, then cleanup
-                        * session
-                        */
-                       wait (NULL);
-                       PAM_END;
-                       exit (0);
-               }
-               /* child */
-       }
-#endif
        signal (SIGINT, SIG_DFL);       /* default interrupt signal */
 
        endpwent ();            /* stop access to password file */
        endgrent ();            /* stop access to group file */
-#ifdef SHADOWPWD
        endspent ();            /* stop access to shadow passwd file */
-#endif
 #ifdef SHADOWGRP
        endsgent ();            /* stop access to shadow group file */
 #endif
        if (pwent.pw_uid == 0)
                SYSLOG ((LOG_NOTICE, "ROOT LOGIN %s", fromhost));
        else if (getdef_bool ("LOG_OK_LOGINS"))
+#ifdef USE_PAM
+               SYSLOG ((LOG_INFO, "`%s' logged in %s", pam_user, fromhost));
+#else
                SYSLOG ((LOG_INFO, "`%s' logged in %s", username, fromhost));
+#endif
        closelog ();
        if ((tmp = getdef_str ("FAKE_SHELL")) != NULL) {
                shell (tmp, pwent.pw_shell);    /* fake shell */
diff --git a/src/mkpasswd.c b/src/mkpasswd.c
deleted file mode 100644 (file)
index aa9280c..0000000
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- * Copyright 1990 - 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. Neither the name of Julianne F. Haugh nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <config.h>
-
-#include "rcsid.h"
-RCSID (PKG_VER "$Id: mkpasswd.c,v 1.12 2005/03/31 05:14:54 kloczek Exp $")
-#include <sys/stat.h>
-#include "prototypes.h"
-#include "defines.h"
-#include <stdio.h>
-#if !defined(NDBM)             /*{ */
-int main (int argc, char **argv)
-{
-       setlocale (LC_ALL, "");
-       bindtextdomain (PACKAGE, LOCALEDIR);
-       textdomain (PACKAGE);
-
-       fprintf (stderr,
-                _
-                ("%s: no DBM database on system - no action performed\n"),
-                argv[0]);
-       return 0;
-}
-
-#else                          /*} defined(NDBM) { */
-#include <fcntl.h>
-#include <pwd.h>
-#include <ndbm.h>
-#include <grp.h>
-extern DBM *pw_dbm;
-extern DBM *gr_dbm;
-
-#ifdef SHADOWPWD
-extern DBM *sp_dbm;
-#endif
-#ifdef SHADOWGRP
-extern DBM *sg_dbm;
-#endif
-
-char *Progname;
-int vflg = 0;
-int fflg = 0;
-int gflg = 0;
-int sflg = 0;                  /* -s flag -- leave in, makes code nicer */
-int pflg = 0;
-
-extern struct passwd *sgetpwent ();
-extern int pw_dbm_update ();
-
-extern struct group *sgetgrent ();
-extern int gr_dbm_update ();
-
-#ifdef SHADOWPWD
-extern struct spwd *sgetspent ();
-extern int sp_dbm_update ();
-#endif
-
-#ifdef SHADOWGRP
-extern struct sgrp *sgetsgent ();
-extern int sg_dbm_update ();
-#endif
-
-/* local function prototypes */
-static void usage (void);
-
-/*
- * mkpasswd - create DBM files for /etc/passwd-like input file
- *
- * mkpasswd takes an an argument the name of a file in /etc/passwd format
- * and creates a DBM file keyed by user ID and name. The output files have
- * the same name as the input file, with .dir and .pag appended.
- *
- * this command will also create look-aside files for
- * /etc/group, /etc/shadow, and /etc/gshadow.
- */
-
-int main (int argc, char **argv)
-{
-       extern int optind;
-       extern char *optarg;
-       FILE *fp;               /* File pointer for input file       */
-       char *file;             /* Name of input file                */
-       char *dir;              /* Name of .dir file                 */
-       char *pag;              /* Name of .pag file                 */
-       char *cp;               /* Temporary character pointer       */
-       int flag;               /* Flag for command line option      */
-       int cnt = 0;            /* Number of entries in database     */
-       int longest = 0;        /* Longest entry in database         */
-       int len;                /* Length of input line              */
-       int errors = 0;         /* Count of errors processing file   */
-       char buf[BUFSIZ * 8];   /* Input line from file              */
-       struct passwd *passwd = NULL;   /* Pointer to password file entry    */
-
-       struct group *group = NULL;     /* Pointer to group file entry       */
-
-#ifdef SHADOWPWD
-       struct spwd *shadow = NULL;     /* Pointer to shadow passwd entry    */
-#endif
-#ifdef SHADOWGRP
-       struct sgrp *gshadow = NULL;    /* Pointer to shadow group entry     */
-#endif
-       DBM *dbm;               /* Pointer to new NDBM files         */
-       DBM *dbm_open ();       /* Function to open NDBM files       */
-
-       /*
-        * Figure out what my name is. I will use this later ...
-        */
-
-       Progname = Basename (argv[0]);
-
-       /*
-        * Figure out what the flags might be ...
-        */
-
-       while ((flag = getopt (argc, argv, "fvpgs")) != EOF) {
-               switch (flag) {
-               case 'v':
-                       vflg++;
-                       break;
-               case 'f':
-                       fflg++;
-                       break;
-               case 'g':
-                       gflg++;
-#ifndef        SHADOWGRP
-                       if (sflg)
-                               usage ();
-#endif
-                       if (pflg)
-                               usage ();
-
-                       break;
-#if defined(SHADOWPWD) || defined(SHADOWGRP)
-               case 's':
-                       sflg++;
-#ifndef        SHADOWGRP
-                       if (gflg)
-                               usage ();
-#endif
-                       break;
-#endif
-               case 'p':
-                       pflg++;
-                       if (gflg)
-                               usage ();
-
-                       break;
-               default:
-                       usage ();
-               }
-       }
-
-       /*
-        * Backwards compatibility fix for -p flag ...
-        */
-
-#ifdef SHADOWPWD
-       if (!sflg && !gflg)
-#else
-       if (!gflg)
-#endif
-               pflg++;
-
-       /*
-        * The last and only remaining argument must be the file name
-        */
-
-       if (argc - 1 != optind)
-               usage ();
-
-       file = argv[optind];
-
-       if (!(fp = fopen (file, "r"))) {
-               fprintf (stderr, _("%s: cannot open file %s\n"), Progname,
-                        file);
-               exit (1);
-       }
-
-       /*
-        * Make the filenames for the two DBM files.
-        */
-
-       dir = xmalloc (strlen (file) + 5);      /* space for .dir file */
-       strcat (strcpy (dir, file), ".dir");
-
-       pag = xmalloc (strlen (file) + 5);      /* space for .pag file */
-       strcat (strcpy (pag, file), ".pag");
-
-       /*
-        * Remove existing files if requested.
-        */
-
-       if (fflg) {
-               (void) unlink (dir);
-               (void) unlink (pag);
-       }
-
-       /*
-        * Create the two DBM files - it is an error for these files
-        * to have existed already.
-        */
-
-       if (access (dir, F_OK) == 0) {
-               fprintf (stderr, _("%s: cannot overwrite file %s\n"),
-                        Progname, dir);
-               exit (1);
-       }
-       if (access (pag, F_OK) == 0) {
-               fprintf (stderr, _("%s: cannot overwrite file %s\n"),
-                        Progname, pag);
-               exit (1);
-       }
-
-       if (sflg)
-               umask (077);
-       else
-               umask (022);
-
-       /*
-        * Now the DBM database gets initialized
-        */
-
-       if (!(dbm = dbm_open (file, O_RDWR | O_CREAT, 0644))) {
-               fprintf (stderr, _("%s: cannot open DBM files for %s\n"),
-                        Progname, file);
-               exit (1);
-       }
-       if (gflg) {
-#ifdef SHADOWGRP
-               if (sflg)
-                       sg_dbm = dbm;
-               else
-#endif
-                       gr_dbm = dbm;
-       } else {
-#ifdef SHADOWPWD
-               if (sflg)
-                       sp_dbm = dbm;
-               else
-#endif
-                       pw_dbm = dbm;
-       }
-
-       /*
-        * Read every line in the password file and convert it into a data
-        * structure to be put in the DBM database files.
-        */
-
-       while (fgetsx (buf, BUFSIZ, fp) != NULL) {
-
-               /*
-                * Get the next line and strip off the trailing newline
-                * character.
-                */
-
-               buf[sizeof buf - 1] = '\0';
-               if (!(cp = strchr (buf, '\n'))) {
-                       fprintf (stderr,
-                                _("%s: the line beginning with %.16s... is too long\n"),
-                                Progname, buf);
-                       exit (1);
-               }
-               *cp = '\0';
-               len = strlen (buf);
-
-#ifdef USE_NIS
-               /*
-                * Parse the password file line into a (struct passwd). 
-                * Erroneous lines cause error messages, but that's all. YP
-                * lines are ignored completely.
-                */
-
-               if (buf[0] == '-' || buf[0] == '+')
-                       continue;
-#endif
-               if (!(((!sflg && pflg) && (passwd = sgetpwent (buf)))
-#ifdef SHADOWPWD
-                     || ((sflg && pflg) && (shadow = sgetspent (buf)))
-#endif
-                     || ((!sflg && gflg) && (group = sgetgrent (buf)))
-#ifdef SHADOWGRP
-                     || ((sflg && gflg) && (gshadow = sgetsgent (buf)))
-#endif
-                   )) {
-                       fprintf (stderr,
-                                _("%s: error parsing line \"%s\"\n"),
-                                Progname, buf);
-                       errors++;
-                       continue;
-               }
-               if (vflg) {
-                       if (!sflg && pflg)
-                               printf (_
-                                       ("adding record for name %s\n"),
-                                       passwd->pw_name);
-#ifdef SHADOWPWD
-                       if (sflg && pflg)
-                               printf (_
-                                       ("adding record for name %s\n"),
-                                       shadow->sp_namp);
-#endif
-                       if (!sflg && gflg)
-                               printf (_
-                                       ("adding record for name %s\n"),
-                                       group->gr_name);
-#ifdef SHADOWGRP
-                       if (sflg && gflg)
-                               printf (_
-                                       ("adding record for name %s\n"),
-                                       gshadow->sg_name);
-#endif
-               }
-               if (!sflg && pflg && !pw_dbm_update (passwd))
-                       fprintf (stderr,
-                                _("%s: error adding record for %s\n"),
-                                Progname, passwd->pw_name);
-
-#ifdef SHADOWPWD
-               if (sflg && pflg && !sp_dbm_update (shadow))
-                       fprintf (stderr,
-                                _("%s: error adding record for %s\n"),
-                                Progname, shadow->sp_namp);
-#endif
-               if (!sflg && gflg && !gr_dbm_update (group))
-                       fprintf (stderr,
-                                _("%s: error adding record for %s\n"),
-                                Progname, group->gr_name);
-#ifdef SHADOWGRP
-               if (sflg && gflg && !sg_dbm_update (gshadow))
-                       fprintf (stderr,
-                                _("%s: error adding record for %s\n"),
-                                Progname, gshadow->sg_name);
-#endif                         /* SHADOWGRP */
-
-               /*
-                * Update the longest record and record count
-                */
-
-               if (len > longest)
-                       longest = len;
-               cnt++;
-       }
-
-       /*
-        * Tell the user how things went ...
-        */
-
-       if (vflg)
-               printf (_("added %d entries, longest was %d\n"), cnt, longest);
-
-       exit (errors);
- /*NOTREACHED*/}
-
-/*
- * usage - print error message and exit
- */
-
-static void usage (void)
-{
-#ifdef SHADOWPWD
-#ifdef SHADOWGRP
-       fprintf (stderr, _("Usage: %s [-vf] [-p|g|sp|sg] file\n"), Progname);
-#else                          /* !SHADOWGRP */
-       fprintf (stderr, _("Usage: %s [-vf] [-p|g|sp] file\n"), Progname);
-#endif                         /* SHADOWGRP */
-#else                          /* !SHADOWPWD */
-       fprintf (stderr, _("Usage: %s [-vf] [-p|g] file\n"), Progname);
-#endif                         /* SHADOWPWD */
-
-       exit (1);
- /*NOTREACHED*/}
-#endif                         /*} defined(NDBM) */
index 66df597b8a87f94a807f835f96c0362e06732e6b..c5e1e743542c676b86b2d173387b8a29a31727b8 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: newgrp.c,v 1.28 2005/05/19 11:28:27 kloczek Exp $")
+RCSID (PKG_VER "$Id: newgrp.c,v 1.32 2005/06/20 10:17:08 kloczek Exp $")
 #include <stdio.h>
 #include <errno.h>
 #include <grp.h>
@@ -82,9 +82,8 @@ int main (int argc, char **argv)
        struct passwd *pwd;
        struct group *grp;
 
-#ifdef SHADOWPWD
        struct spwd *spwd;
-#endif
+
 #ifdef SHADOWGRP
        struct sgrp *sgrp;
 #endif
@@ -128,8 +127,8 @@ int main (int argc, char **argv)
 
        pwd = get_my_pwent ();
        if (!pwd) {
-               fprintf (stderr, _("unknown uid: %u\n"), getuid ());
-               SYSLOG ((LOG_WARN, "unknown uid %u", getuid ()));
+               fprintf (stderr, _("unknown UID: %u\n"), getuid ());
+               SYSLOG ((LOG_WARN, "unknown UID %u", getuid ()));
                closelog ();
                exit (1);
        }
@@ -210,9 +209,9 @@ int main (int argc, char **argv)
                         */
 
                        if (!(grp = getgrgid (pwd->pw_gid))) {
-                               fprintf (stderr, _("unknown gid: %lu\n"),
+                               fprintf (stderr, _("unknown GID: %lu\n"),
                                         (unsigned long) pwd->pw_gid);
-                               SYSLOG ((LOG_CRIT, "unknown gid: %lu",
+                               SYSLOG ((LOG_CRIT, "unknown GID: %lu",
                                         (unsigned long) pwd->pw_gid));
                                goto failure;
                        } else
@@ -252,14 +251,14 @@ int main (int argc, char **argv)
         * set to the value from her password file entry.  
         *
         * If run as newgrp, or as sg with no command, this process exec's
-        * an interactive subshell with the effective gid of the new group. 
+        * an interactive subshell with the effective GID of the new group. 
         * If run as sg with a command, that command is exec'ed in this
         * subshell. When this process terminates, either because the user
         * exits, or the command completes, the parent of this process
-        * resumes with the current gid.
+        * resumes with the current GID.
         *
         * If a group is explicitly specified on the command line, the
-        * interactive shell or command is run with that effective gid
+        * interactive shell or command is run with that effective GID
         * Access will be denied if no entry for that group can be found in
         * /etc/group. If the current user name appears in the members list
         * for that group, access will be granted immediately; if not, the
@@ -267,9 +266,9 @@ int main (int argc, char **argv)
         * password response is incorrect, if the specified group does not
         * have a password, or if that group has been locked by gpasswd -R,
         * access will be denied. This is true even if the group specified
-        * has the user's login gid (as shown in /etc/passwd). If no group
+        * has the user's login GID (as shown in /etc/passwd). If no group
         * is explicitly specified on the command line, the effect is
-        * exactly the same as if a group name matching the user's login gid
+        * exactly the same as if a group name matching the user's login GID
         * had been explicitly specified. Root, however, is never
         * challenged for passwords, and is always allowed access.
         *
@@ -313,10 +312,8 @@ int main (int argc, char **argv)
         * group password.
         */
 
-#ifdef SHADOWPWD
        if ((spwd = getspnam (name)))
                pwd->pw_passwd = spwd->sp_pwdp;
-#endif
 
        if (pwd->pw_passwd[0] == '\0' && grp->gr_passwd[0])
                needspasswd = 1;
@@ -480,8 +477,8 @@ int main (int argc, char **argv)
 #endif
 
        /*
-        * Set the effective gid to the new group id and the effective uid
-        * to the real uid. For root, this also sets the real gid to the
+        * Set the effective GID to the new group id and the effective UID
+        * to the real UID. For root, this also sets the real GID to the
         * new group id.
         */
 
@@ -542,9 +539,7 @@ int main (int argc, char **argv)
 
        cp = Basename ((char *) prog);
 
-#ifdef SHADOWPWD
        endspent ();
-#endif
 #ifdef SHADOWGRP
        endsgent ();
 #endif
index a9487bd4ecb307dc0f7595270d72f19c6c0d9965..9d2ae25fa3b88161c534c386f3ec32669de81d54 100644 (file)
@@ -36,7 +36,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: newusers.c,v 1.21 2005/03/31 05:14:54 kloczek Exp $")
+RCSID (PKG_VER "$Id: newusers.c,v 1.23 2005/05/25 19:31:51 kloczek Exp $")
 #include <sys/types.h>
 #include <sys/stat.h>
 #include "prototypes.h"
@@ -56,11 +56,9 @@ static char *Prog;
 #include "pwio.h"
 #include "groupio.h"
 
-#ifdef SHADOWPWD
 #include "shadowio.h"
 
 static int is_shadow;
-#endif
 
 /* local function prototypes */
 static void usage (void);
@@ -237,10 +235,8 @@ static void update_passwd (struct passwd *pwd, const char *passwd)
 
 static int add_passwd (struct passwd *pwd, const char *passwd)
 {
-#ifdef SHADOWPWD
        const struct spwd *sp;
        struct spwd spent;
-#endif
 
        /*
         * In the case of regular password files, this is real easy - pwd
@@ -252,7 +248,6 @@ static int add_passwd (struct passwd *pwd, const char *passwd)
                update_passwd (pwd, passwd);
                return 0;
        }
-#ifdef SHADOWPWD
        /*
         * Do the first and easiest shadow file case. The user already
         * exists in the shadow password file.
@@ -293,7 +288,6 @@ static int add_passwd (struct passwd *pwd, const char *passwd)
        spent.sp_flag = -1;
 
        return !spw_update (&spent);
-#endif
 }
 
 #ifdef USE_PAM
@@ -382,36 +376,22 @@ int main (int argc, char **argv)
                fprintf (stderr, _("%s: can't lock /etc/passwd.\n"), Prog);
                exit (1);
        }
-#ifdef SHADOWPWD
        is_shadow = spw_file_present ();
 
-       if ((is_shadow && !spw_lock ()) || !gr_lock ())
-#else
-       if (!gr_lock ())
-#endif
-       {
+       if ((is_shadow && !spw_lock ()) || !gr_lock ()) {
                fprintf (stderr,
                         _("%s: can't lock files, try again later\n"), Prog);
                (void) pw_unlock ();
-#ifdef SHADOWPWD
                if (is_shadow)
                        spw_unlock ();
-#endif
                exit (1);
        }
-#ifdef SHADOWPWD
        if (!pw_open (O_RDWR) || (is_shadow && !spw_open (O_RDWR))
-           || !gr_open (O_RDWR))
-#else
-       if (!pw_open (O_RDWR) || !gr_open (O_RDWR))
-#endif
-       {
+           || !gr_open (O_RDWR)) {
                fprintf (stderr, _("%s: can't open files\n"), Prog);
                (void) pw_unlock ();
-#ifdef SHADOWPWD
                if (is_shadow)
                        spw_unlock ();
-#endif
                (void) gr_unlock ();
                exit (1);
        }
@@ -560,33 +540,22 @@ int main (int argc, char **argv)
                fprintf (stderr,
                         _("%s: error detected, changes ignored\n"), Prog);
                (void) gr_unlock ();
-#ifdef SHADOWPWD
                if (is_shadow)
                        spw_unlock ();
-#endif
                (void) pw_unlock ();
                exit (1);
        }
-#ifdef SHADOWPWD
-       if (!pw_close () || (is_shadow && !spw_close ()) || !gr_close ())
-#else
-       if (!pw_close () || !gr_close ())
-#endif
-       {
+       if (!pw_close () || (is_shadow && !spw_close ()) || !gr_close ()) {
                fprintf (stderr, _("%s: error updating files\n"), Prog);
                (void) gr_unlock ();
-#ifdef SHADOWPWD
                if (is_shadow)
                        spw_unlock ();
-#endif
                (void) pw_unlock ();
                exit (1);
        }
        (void) gr_unlock ();
-#ifdef SHADOWPWD
        if (is_shadow)
                spw_unlock ();
-#endif
        (void) pw_unlock ();
 
 #ifdef USE_PAM
index 9a6402757ee11ba905315e6ee36fac84824d45f4..48f5994658e88057861647a549ecc57a03b9e709 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: passwd.c,v 1.36 2005/04/15 21:23:49 kloczek Exp $")
+RCSID (PKG_VER "$Id: passwd.c,v 1.39 2005/06/20 09:36:27 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include <sys/types.h>
@@ -50,9 +50,7 @@ RCSID (PKG_VER "$Id: passwd.c,v 1.36 2005/04/15 21:23:49 kloczek Exp $")
 #endif
 #include <pwd.h>
 #include "pwauth.h"
-#ifdef SHADOWPWD
 #include "shadowio.h"
-#endif
 #include "pwio.h"
 #include "nscd.h"
 #include "getdef.h"
@@ -79,14 +77,12 @@ static char *Prog;          /* Program name */
 static int amroot;             /* The real UID was 0 */
 
 static int
-#ifdef SHADOWPWD
  eflg = 0,                     /* -e - force password change */
     iflg = 0,                  /* -i - set inactive days */
     kflg = 0,                  /* -k - change only if expired */
     nflg = 0,                  /* -n - set minimum days */
     wflg = 0,                  /* -w - set warning days */
     xflg = 0,                  /* -x - set maximum days */
-#endif
     aflg = 0,                  /* -a - show status for all users */
     dflg = 0,                  /* -d - delete password */
     lflg = 0,                  /* -l - lock account */
@@ -100,12 +96,10 @@ static int
  */
 static int anyflag = 0;
 
-#ifdef SHADOWPWD
 static long age_min = 0;       /* Minimum days before change   */
 static long age_max = 0;       /* Maximum days until change     */
 static long warn = 0;          /* Warning days before change   */
 static long inact = 0;         /* Days without change before locked */
-#endif
 
 static int do_update_age = 0;
 
@@ -125,11 +119,7 @@ static void usage (int);
 static int reuse (const char *, const struct passwd *);
 static int new_password (const struct passwd *);
 
-#ifdef SHADOWPWD
 static void check_password (const struct passwd *, const struct spwd *);
-#else                          /* !SHADOWPWD */
-static void check_password (const struct passwd *);
-#endif                         /* !SHADOWPWD */
 static char *insert_crypt_passwd (const char *, const char *);
 #endif                         /* !USE_PAM */
 static char *date_to_str (time_t);
@@ -140,9 +130,7 @@ static void oom (void);
 static char *update_crypt_pw (char *);
 static void update_noshadow (void);
 
-#ifdef SHADOWPWD
 static void update_shadow (void);
-#endif
 static long getnumber (const char *);
 
 /*
@@ -314,21 +302,12 @@ Please use a combination of upper and lower case letters and numbers.\n"), getde
  *     password for the given user.
  */
 
-#ifdef SHADOWPWD
 static void check_password (const struct passwd *pw, const struct spwd *sp)
 {
-#else
-static void check_password (const struct passwd *pw)
-{
-#endif
        time_t now, last, ok;
        int exp_status;
 
-#ifdef SHADOWPWD
        exp_status = isexpired (pw, sp);
-#else
-       exp_status = isexpired (pw);
-#endif
 
        /*
         * If not expired and the "change only if expired" option (idea from
@@ -346,7 +325,6 @@ static void check_password (const struct passwd *pw)
 
        time (&now);
 
-#ifdef SHADOWPWD
        /*
         * Expired accounts cannot be changed ever. Passwords which are
         * locked may not be changed. Passwords where min > max may not be
@@ -371,19 +349,6 @@ static void check_password (const struct passwd *pw)
        last = sp->sp_lstchg * SCALE;
        ok = last + (sp->sp_min > 0 ? sp->sp_min * SCALE : 0);
 
-#else                          /* !SHADOWPWD */
-       if (pw->pw_passwd[0] == '!' || exp_status > 1) {
-               fprintf (stderr,
-                        _("The password for %s cannot be changed.\n"),
-                        pw->pw_name);
-               SYSLOG ((LOG_WARN, "password locked for `%s'", pw->pw_name));
-               closelog ();
-               exit (E_NOPERM);
-       }
-
-       last = 0;
-       ok = 0;
-#endif                         /* !SHADOWPWD */
        if (now < ok) {
                fprintf (stderr,
                         _
@@ -435,11 +400,8 @@ static const char *pw_status (const char *pass)
 
 static void print_status (const struct passwd *pw)
 {
-#ifdef SHADOWPWD
        struct spwd *sp;
-#endif
 
-#ifdef SHADOWPWD
        sp = getspnam (pw->pw_name);
        if (sp) {
                printf ("%s %s %s %ld %ld %ld %ld\n",
@@ -450,9 +412,7 @@ static void print_status (const struct passwd *pw)
                        (sp->sp_max * SCALE) / DAY,
                        (sp->sp_warn * SCALE) / DAY,
                        (sp->sp_inact * SCALE) / DAY);
-       } else
-#endif
-       {
+       } else {
                printf ("%s %s\n", pw->pw_name, pw_status (pw->pw_passwd));
        }
 }
@@ -461,9 +421,7 @@ static void print_status (const struct passwd *pw)
 static void fail_exit (int status)
 {
        pw_unlock ();
-#ifdef SHADOWPWD
        spw_unlock ();
-#endif
        exit (status);
 }
 
@@ -537,7 +495,6 @@ static void update_noshadow (void)
        pw_unlock ();
 }
 
-#ifdef SHADOWPWD
 static void update_shadow (void)
 {
        const struct spwd *sp;
@@ -597,7 +554,6 @@ static void update_shadow (void)
        }
        spw_unlock ();
 }
-#endif                         /* SHADOWPWD */
 
 static long getnumber (const char *str)
 {
@@ -647,9 +603,7 @@ int main (int argc, char **argv)
 #ifndef USE_PAM
        char *cp;               /* Miscellaneous character pointing  */
 
-#ifdef SHADOWPWD
        const struct spwd *sp;  /* Shadow file entry for user   */
-#endif
 #endif
 
        setlocale (LC_ALL, "");
@@ -715,16 +669,9 @@ int main (int argc, char **argv)
         * be checked for any commands which are restricted to root only.
         */
 
-#ifdef SHADOWPWD
-#define FLAGS "adlqr:uSekn:x:i:w:"
-#else
-# define FLAGS "adlqr:uS"
-#endif
 
-       while ((flag = getopt (argc, argv, FLAGS)) != EOF) {
-#undef FLAGS
+       while ((flag = getopt (argc, argv, "adlqr:uSekn:x:i:w:")) != EOF) {
                switch (flag) {
-#ifdef SHADOWPWD
                case 'x':
                        age_max = getnumber (optarg);
                        xflg++;
@@ -755,7 +702,6 @@ int main (int argc, char **argv)
                        /* change only if expired, like Linux-PAM passwd -k. */
                        kflg++; /* ok for users */
                        break;
-#endif                         /* SHADOWPWD */
                case 'a':
                        aflg++;
                        break;
@@ -820,7 +766,7 @@ int main (int argc, char **argv)
                if (anyflag || !Sflg || (optind < argc))
                        usage (E_USAGE);
                if (!amroot) {
-                       fprintf (stderr, _("%s: permission denied.\n"), Prog);
+                       fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                        exit (E_NOPERM);
                }
                setpwent ();
@@ -856,7 +802,7 @@ int main (int argc, char **argv)
                usage (E_USAGE);
 
        if (anyflag && !amroot) {
-               fprintf (stderr, _("%s: permission denied.\n"), Prog);
+               fprintf (stderr, _("%s: Permission denied.\n"), Prog);
                exit (E_NOPERM);
        }
 
@@ -895,7 +841,6 @@ int main (int argc, char **argv)
                exit (E_SUCCESS);
        }
 #ifndef USE_PAM
-#ifdef SHADOWPWD
        /*
         * The user name is valid, so let's get the shadow file entry.
         */
@@ -905,9 +850,6 @@ int main (int argc, char **argv)
                sp = pwd_to_spwd (pw);
 
        cp = sp->sp_pwdp;
-#else
-       cp = pw->pw_passwd;
-#endif
 
        /*
         * If there are no other flags, just change the password.
@@ -921,11 +863,7 @@ int main (int argc, char **argv)
                 * Otherwise, go ahead and set a new password.
                 */
 
-#ifdef SHADOWPWD
                check_password (pw, sp);
-#else
-               check_password (pw);
-#endif
 
                /*
                 * Let the user know whose password is being changed.
@@ -961,25 +899,21 @@ int main (int argc, char **argv)
                do_pam_passwd (name, qflg, kflg);
                exit (E_SUCCESS);
        }
-#endif                         /* SHADOWPWD */
+#endif                         /* USE_PAM */
        if (setuid (0)) {
                fprintf (stderr, _("Cannot change ID to root.\n"));
                SYSLOG ((LOG_ERR, "can't setuid(0)"));
                closelog ();
                exit (E_NOPERM);
        }
-#ifdef SHADOWPWD
        if (spw_file_present ())
                update_shadow ();
        else
-#endif
                update_noshadow ();
 
        nscd_flush_cache ("passwd");
        nscd_flush_cache ("group");
-#ifdef SHADOWPWD
        nscd_flush_cache ("shadow");
-#endif
 
        SYSLOG ((LOG_INFO, "password for `%s' changed by `%s'", name, myname));
        closelog ();
index 9284483d45a30b96c7d38c0d10369a448ce44624..06e0fc63e9ac7e55765ac30f838b3f36ce8cfaed 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: pwck.c,v 1.26 2005/04/06 04:26:06 kloczek Exp $")
+RCSID (PKG_VER "$Id: pwck.c,v 1.27 2005/05/25 18:20:25 kloczek Exp $")
 #include <stdio.h>
 #include <fcntl.h>
 #include <grp.h>
@@ -43,11 +43,9 @@ RCSID (PKG_VER "$Id: pwck.c,v 1.26 2005/04/06 04:26:06 kloczek Exp $")
 extern void __pw_del_entry (const struct commonio_entry *);
 extern struct commonio_entry *__pw_get_head (void);
 
-#ifdef SHADOWPWD
 #include "shadowio.h"
 extern void __spw_del_entry (const struct commonio_entry *);
 extern struct commonio_entry *__spw_get_head (void);
-#endif
 
 /*
  * Exit codes
@@ -67,9 +65,7 @@ extern struct commonio_entry *__spw_get_head (void);
 static char *Prog;
 static const char *pwd_file = PASSWD_FILE;
 
-#ifdef SHADOWPWD
 static const char *spw_file = SHADOW_FILE;
-#endif
 static int read_only = 0;
 static int quiet = 0;          /* don't report warnings, only errors */
 
@@ -83,12 +79,8 @@ static int yes_or_no (void);
 
 static void usage (void)
 {
-#ifdef SHADOWPWD
        fprintf (stderr, _("Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"),
                 Prog);
-#else
-       fprintf (stderr, _("Usage: %s [-q] [-r] [-s] [passwd]\n"), Prog);
-#endif
        exit (E_USAGE);
 }
 
@@ -132,11 +124,9 @@ int main (int argc, char **argv)
        struct passwd *pwd;
        int sort_mode = 0;
 
-#ifdef SHADOWPWD
        struct commonio_entry *spe, *tspe;
        struct spwd *spw;
        int is_shadow = 0;
-#endif
 
        /*
         * Get my name so that I can use it to report errors.
@@ -180,11 +170,7 @@ int main (int argc, char **argv)
         * Make certain we have the right number of arguments
         */
 
-#ifdef SHADOWPWD
        if (optind != argc && optind + 1 != argc && optind + 2 != argc)
-#else
-       if (optind != argc && optind + 1 != argc)
-#endif
                usage ();
 
        /*
@@ -196,14 +182,12 @@ int main (int argc, char **argv)
                pwd_file = argv[optind];
                pw_name (pwd_file);
        }
-#ifdef SHADOWPWD
        if (optind + 2 == argc) {
                spw_file = argv[optind + 1];
                spw_name (spw_file);
                is_shadow = 1;
        } else if (optind == argc)
                is_shadow = spw_file_present ();
-#endif
 
        /*
         * Lock the files if we aren't in "read-only" mode
@@ -218,7 +202,6 @@ int main (int argc, char **argv)
                        closelog ();
                        exit (E_CANTLOCK);
                }
-#ifdef SHADOWPWD
                if (is_shadow && !spw_lock ()) {
                        fprintf (stderr, _("%s: cannot lock file %s\n"),
                                 Prog, spw_file);
@@ -227,7 +210,6 @@ int main (int argc, char **argv)
                        closelog ();
                        exit (E_CANTLOCK);
                }
-#endif
        }
 
        /*
@@ -243,7 +225,6 @@ int main (int argc, char **argv)
                closelog ();
                exit (E_CANTOPEN);
        }
-#ifdef SHADOWPWD
        if (is_shadow && !spw_open (read_only ? O_RDONLY : O_RDWR)) {
                fprintf (stderr, _("%s: cannot open file %s\n"),
                         Prog, spw_file);
@@ -252,14 +233,11 @@ int main (int argc, char **argv)
                closelog ();
                exit (E_CANTOPEN);
        }
-#endif
 
        if (sort_mode) {
                pw_sort ();
-#ifdef SHADOWPWD
                if (is_shadow)
                        spw_sort ();
-#endif
                goto write_and_bye;
        }
 
@@ -419,7 +397,6 @@ int main (int argc, char **argv)
                }
        }
 
-#ifdef SHADOWPWD
        if (!is_shadow)
                goto shadow_done;
 
@@ -560,7 +537,6 @@ int main (int argc, char **argv)
        }
 
       shadow_done:
-#endif
 
        /*
         * All done. If there were no deletions we can just abandon any
@@ -576,7 +552,6 @@ int main (int argc, char **argv)
                        closelog ();
                        exit (E_CANTUPDATE);
                }
-#ifdef SHADOWPWD
                if (is_shadow && !spw_close ()) {
                        fprintf (stderr, _("%s: cannot update file %s\n"),
                                 Prog, spw_file);
@@ -584,17 +559,14 @@ int main (int argc, char **argv)
                        closelog ();
                        exit (E_CANTUPDATE);
                }
-#endif
        }
 
        /*
         * Don't be anti-social - unlock the files when you're done.
         */
 
-#ifdef SHADOWPWD
        if (is_shadow)
                spw_unlock ();
-#endif
        (void) pw_unlock ();
 
        /*
index d713c7d704856107c497ed529c43595e43531006..7e0ada8fb935923d75512b9c63aaff4a5d9f888a 100644 (file)
@@ -29,7 +29,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: pwconv.c,v 1.16 2005/03/31 05:14:54 kloczek Exp $")
+RCSID (PKG_VER "$Id: pwconv.c,v 1.17 2005/05/25 18:20:25 kloczek Exp $")
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -43,7 +43,6 @@ RCSID (PKG_VER "$Id: pwconv.c,v 1.16 2005/03/31 05:14:54 kloczek Exp $")
 #include "pwio.h"
 #include "shadowio.h"
 #include "getdef.h"
-#ifdef SHADOWPWD
 /*
  * exit status values
  */
@@ -179,12 +178,3 @@ int main (int argc, char **argv)
        pw_unlock ();
        exit (E_SUCCESS);
 }
-
-#else                          /* !SHADOWPWD */
-int main (int argc, char **argv)
-{
-       fprintf (stderr,
-                "%s: not configured for shadow password support.\n", argv[0]);
-       exit (1);
-}
-#endif                         /* !SHADOWPWD */
index f179fe54df79c59c8d4815dee828bb58ac9246d3..43dbb8565aadb18ca15a1e5b44b21a9b6109cdab 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: pwunconv.c,v 1.16 2005/03/31 05:14:54 kloczek Exp $")
+RCSID (PKG_VER "$Id: pwunconv.c,v 1.17 2005/05/25 18:20:25 kloczek Exp $")
 #include "defines.h"
 #include <sys/types.h>
 #include <stdio.h>
@@ -41,7 +41,6 @@ RCSID (PKG_VER "$Id: pwunconv.c,v 1.16 2005/03/31 05:14:54 kloczek Exp $")
 #include "pwio.h"
 #include "shadowio.h"
 #include "nscd.h"
-#ifdef SHADOWPWD
 char *l64a ();
 
 static int shadow_locked = 0, passwd_locked = 0;
@@ -148,18 +147,7 @@ int main (int argc, char **argv)
        pw_unlock ();
 
        nscd_flush_cache ("passwd");
-#ifdef SHADOWPWD
        nscd_flush_cache ("shadow");
-#endif
 
        return 0;
 }
-
-#else                          /* !SHADOWPWD */
-int main (int argc, char **argv)
-{
-       fprintf (stderr,
-                "%s: not configured for shadow password support.\n", argv[0]);
-       exit (1);
-}
-#endif                         /* !SHADOWPWD */
index 436e9dbd3b082c5c6441133999542a35b62b52c3..370a8dde829c381a8dc91f092d7d6b45fef6b715 100644 (file)
--- a/src/su.c
+++ b/src/su.c
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: su.c,v 1.30 2005/04/02 14:09:48 kloczek Exp $")
+RCSID (PKG_VER "$Id: su.c,v 1.34 2005/06/20 10:17:08 kloczek Exp $")
 #include <sys/types.h>
 #include <stdio.h>
 #ifdef USE_PAM
@@ -125,7 +125,7 @@ static void su_failure (const char *tty)
 #ifdef USE_SYSLOG
        if (getdef_bool ("SYSLOG_SU_ENAB"))
                SYSLOG ((pwent.pw_uid ? LOG_INFO : LOG_NOTICE,
-                        "- %s %s-%s", tty,
+                        "- %s %s:%s", tty,
                         oldname[0] ? oldname : "???", name[0] ? name : "???"));
        closelog ();
 #endif
@@ -270,9 +270,8 @@ int main (int argc, char **argv)
        RETSIGTYPE (*oldsig) ();
        int is_console = 0;
 
-#ifdef SHADOWPWD
        struct spwd *spwd = 0;
-#endif
+
 #ifdef SU_ACCESS
        char *oldpass;
 #endif
@@ -405,10 +404,8 @@ int main (int argc, char **argv)
         * Sort out the password of user calling su, in case needed later
         * -- chris
         */
-#ifdef SHADOWPWD
        if ((spwd = getspnam (oldname)))
                pw->pw_passwd = spwd->sp_pwdp;
-#endif
        oldpass = xstrdup (pw->pw_passwd);
 #endif                         /* SU_ACCESS */
 
@@ -449,12 +446,10 @@ int main (int argc, char **argv)
                exit (1);
        }
 #ifndef USE_PAM
-#ifdef SHADOWPWD
        spwd = NULL;
        if (strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING) == 0
            && (spwd = getspnam (name)))
                pw->pw_passwd = spwd->sp_pwdp;
-#endif
 #endif                         /* !USE_PAM */
        pwent = *pw;
 
@@ -466,7 +461,7 @@ int main (int argc, char **argv)
 
        /* The original Shadow 3.3.2 did this differently. Do it like BSD:
         *
-        * - check for uid 0 instead of name "root" - there are systems with
+        * - check for UID 0 instead of name "root" - there are systems with
         *   several root accounts under different names,
         *
         * - check the contents of /etc/group instead of the current group
@@ -563,7 +558,6 @@ int main (int argc, char **argv)
         */
 
        if (!amroot) {
-#ifdef SHADOWPWD
                if (!spwd)
                        spwd = pwd_to_spwd (&pwent);
 
@@ -572,7 +566,6 @@ int main (int argc, char **argv)
                                 "Expired account %s", name));
                        su_failure (tty);
                }
-#endif
        }
 
        /*
@@ -616,20 +609,16 @@ int main (int argc, char **argv)
                pwent.pw_shell++;       /* skip the '*' */
                subsystem (&pwent);     /* figure out what to execute */
                endpwent ();
-#ifdef SHADOWPWD
                endspent ();
-#endif
                goto top;
        }
 
        sulog (tty, 1, oldname, name);  /* save SU information */
        endpwent ();
-#ifdef SHADOWPWD
        endspent ();
-#endif
 #ifdef USE_SYSLOG
        if (getdef_bool ("SYSLOG_SU_ENAB"))
-               SYSLOG ((LOG_INFO, "+ %s %s-%s", tty,
+               SYSLOG ((LOG_INFO, "+ %s %s:%s", tty,
                         oldname[0] ? oldname : "???", name[0] ? name : "???"));
 #endif
 
index cbc0861e5c54442db84a1aa54a6977cea4f378a4..7f05db399da24c0af73584fd25cd7aa5c9f0d365 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: useradd.c,v 1.55 2005/04/17 00:15:55 kloczek Exp $")
+RCSID (PKG_VER "$Id: useradd.c,v 1.59 2005/06/20 10:17:09 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include "chkname.h"
@@ -75,10 +75,8 @@ static const char *def_shell = "";
 static const char *def_template = SKEL_DIR;
 static const char *def_create_mail_spool = "no";
 
-#ifdef SHADOWPWD
 static long def_inactive = -1;
 static const char *def_expire = "";
-#endif
 
 static char def_file[] = USER_DEFAULTS_FILE;
 
@@ -93,10 +91,9 @@ static const char *user_home = "";
 static const char *user_shell = "";
 static const char *create_mail_spool = "";
 
-#ifdef SHADOWPWD
 static long user_expire = -1;
 static int is_shadow_pwd;
-#endif
+
 #ifdef SHADOWGRP
 static int is_shadow_grp;
 #endif
@@ -134,11 +131,7 @@ static int home_added;
 #endif
 
 #include "pwio.h"
-
-#ifdef SHADOWPWD
 #include "shadowio.h"
-#endif
-
 #include "getdef.h"
 
 /*
@@ -148,7 +141,7 @@ static int home_added;
 #define E_PW_UPDATE    1       /* can't update password file */
 #define E_USAGE                2       /* invalid command syntax */
 #define E_BAD_ARG      3       /* invalid argument to option */
-#define E_UID_IN_USE   4       /* uid already in use (and no -o) */
+#define E_UID_IN_USE   4       /* UID already in use (and no -o) */
 #define E_NOTFOUND     6       /* specified group doesn't exist */
 #define E_NAME_IN_USE  9       /* username already in use */
 #define E_GRP_UPDATE   10      /* can't update group file */
@@ -175,10 +168,8 @@ static int get_groups (char *);
 static void usage (void);
 static void new_pwent (struct passwd *);
 
-#ifdef SHADOWPWD
 static long scale_age (long);
 static void new_spent (struct spwd *);
-#endif
 static void grp_update (void);
 static void find_new_uid (void);
 
@@ -211,7 +202,7 @@ static struct group *getgr_nam_gid (const char *name)
        char *ep;
 
        gid = strtoul (name, &ep, 10);
-       if (*name != '\0' && *ep == '\0')       /* valid numeric gid */
+       if (*name != '\0' && *ep == '\0')       /* valid numeric GID */
                return getgrgid (gid);
 
        return getgrnam (name);
@@ -295,7 +286,7 @@ static void get_defaults (void)
                                        def_gname = xstrdup (grp->gr_name);
                                } else {
                                        fprintf (stderr,
-                                                _("%s: unknown gid %s\n"),
+                                                _("%s: unknown GID %s\n"),
                                                 Prog, cp);
                                }
                        } else if ((grp = getgrnam (cp))) {
@@ -320,7 +311,6 @@ static void get_defaults (void)
                else if (MATCH (buf, SHELL)) {
                        def_shell = xstrdup (cp);
                }
-#ifdef SHADOWPWD
 
                /*
                 * Default Password Inactive value
@@ -340,7 +330,6 @@ static void get_defaults (void)
                else if (MATCH (buf, EXPIRE)) {
                        def_expire = xstrdup (cp);
                }
-#endif
 
                /*
                 * Default Skeleton information
@@ -376,10 +365,8 @@ static void show_defaults (void)
 {
        printf ("GROUP=%u\n", (unsigned int) def_group);
        printf ("HOME=%s\n", def_home);
-#ifdef SHADOWPWD
        printf ("INACTIVE=%ld\n", def_inactive);
        printf ("EXPIRE=%s\n", def_expire);
-#endif
        printf ("SHELL=%s\n", def_shell);
        printf ("SKEL=%s\n", def_template);
        printf ("CREATE_MAIL_SPOOL=%s\n", def_create_mail_spool);
@@ -446,14 +433,12 @@ static int set_defaults (void)
                } else if (!out_home && MATCH (buf, HOME)) {
                        fprintf (ofp, HOME "%s\n", def_home);
                        out_home++;
-#ifdef SHADOWPWD
                } else if (!out_inactive && MATCH (buf, INACT)) {
                        fprintf (ofp, INACT "%ld\n", def_inactive);
                        out_inactive++;
                } else if (!out_expire && MATCH (buf, EXPIRE)) {
                        fprintf (ofp, EXPIRE "%s\n", def_expire);
                        out_expire++;
-#endif
                } else if (!out_shell && MATCH (buf, SHELL)) {
                        fprintf (ofp, SHELL "%s\n", def_shell);
                        out_shell++;
@@ -481,12 +466,10 @@ static int set_defaults (void)
                fprintf (ofp, DGROUP "%u\n", (unsigned int) def_group);
        if (!out_home)
                fprintf (ofp, HOME "%s\n", def_home);
-#ifdef SHADOWPWD
        if (!out_inactive)
                fprintf (ofp, INACT "%ld\n", def_inactive);
        if (!out_expire)
                fprintf (ofp, EXPIRE "%s\n", def_expire);
-#endif
        if (!out_shell)
                fprintf (ofp, SHELL "%s\n", def_shell);
        if (!out_skel)
@@ -527,20 +510,12 @@ static int set_defaults (void)
                perror (buf);
                return -1;
        }
-#ifdef SHADOWPWD
        SYSLOG ((LOG_INFO,
                 "useradd defaults: GROUP=%u, HOME=%s, SHELL=%s, INACTIVE=%ld, "
                 "EXPIRE=%s, SKEL=%s, CREATE_MAIL_SPOOL=%s",
                 (unsigned int) def_group, def_home, def_shell,
                 def_inactive, def_expire, def_template,
                 def_create_mail_spool));
-#else
-       SYSLOG ((LOG_INFO,
-                "useradd defaults: GROUP=%u, HOME=%s, SHELL=%s, "
-                "SKEL=%s, CREATE_MAIL_SPOOL=%s",
-                (unsigned int) def_group, def_home, def_shell,
-                def_template, def_create_mail_spool));
-#endif
        return 0;
 }
 
@@ -661,16 +636,11 @@ static void usage (void)
        fprintf (stderr,
                 _
                 ("               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"));
-#ifdef SHADOWPWD
        fprintf (stderr, _("               [-f inactive] [-e expire]\n"));
-#endif
        fprintf (stderr, _("               [-p passwd] name\n"));
        fprintf (stderr,
                 _("       useradd -D [-g group] [-b base] [-s shell]\n"));
-#ifdef SHADOWPWD
        fprintf (stderr, _("               [-f inactive] [-e expire]\n"));
-#endif
-
        exit (E_USAGE);
 }
 
@@ -685,11 +655,9 @@ static void new_pwent (struct passwd *pwent)
 {
        memzero (pwent, sizeof *pwent);
        pwent->pw_name = (char *) user_name;
-#ifdef SHADOWPWD
        if (is_shadow_pwd)
                pwent->pw_passwd = (char *) SHADOW_PASSWD_STRING;
        else
-#endif
                pwent->pw_passwd = (char *) user_pass;
 
        pwent->pw_uid = user_id;
@@ -699,7 +667,6 @@ static void new_pwent (struct passwd *pwent)
        pwent->pw_shell = (char *) user_shell;
 }
 
-#ifdef SHADOWPWD
 static long scale_age (long x)
 {
        if (x <= 0)
@@ -728,7 +695,6 @@ static void new_spent (struct spwd *spent)
        spent->sp_expire = scale_age (user_expire);
        spent->sp_flag = -1;
 }
-#endif
 
 /*
  * grp_update - add user to secondary group set
@@ -906,7 +872,7 @@ static void find_new_uid (void)
                        exit (E_NAME_IN_USE);
                }
                if (uflg && user_id == pwd->pw_uid) {
-                       fprintf (stderr, _("%s: uid %u is not unique\n"),
+                       fprintf (stderr, _("%s: UID %u is not unique\n"),
                                 Prog, (unsigned int) user_id);
                        exit (E_UID_IN_USE);
                }
@@ -917,10 +883,10 @@ static void find_new_uid (void)
                }
        }
        /*
-        * If a user with uid equal to UID_MAX exists, the above algorithm
+        * If a user with UID equal to UID_MAX exists, the above algorithm
         * will give us UID_MAX+1 even if not unique. Search for the first
-        * free uid starting with UID_MIN (it's O(n*n) but can be avoided
-        * by not having users with uid equal to UID_MAX).  --marekm
+        * free UID starting with UID_MIN (it's O(n*n) but can be avoided
+        * by not having users with UID equal to UID_MAX).  --marekm
         */
        if (!uflg && user_id == uid_max + 1) {
                for (user_id = uid_min; user_id < uid_max; user_id++) {
@@ -936,7 +902,7 @@ static void find_new_uid (void)
 #endif
                }
                if (user_id == uid_max) {
-                       fprintf (stderr, _("%s: can't get unique uid\n"), Prog);
+                       fprintf (stderr, _("%s: can't get unique UID\n"), Prog);
                        fail_exit (E_UID_IN_USE);
                }
        }
@@ -957,13 +923,8 @@ static void process_flags (int argc, char **argv)
        int arg;
        char *cp;
 
-#ifdef SHADOWPWD
-#define FLAGS "A:Du:og:G:d:s:c:mk:p:f:e:b:O:M"
-#else
-#define FLAGS "A:Du:og:G:d:s:c:mk:p:b:O:M"
-#endif
-       while ((arg = getopt (argc, argv, FLAGS)) != EOF) {
-#undef FLAGS
+       while ((arg =
+               getopt (argc, argv, "A:Du:og:G:d:s:c:mk:p:f:e:b:O:M")) != EOF) {
                switch (arg) {
                case 'b':
                        if (!Dflg)
@@ -1005,7 +966,6 @@ static void process_flags (int argc, char **argv)
                                usage ();
                        Dflg++;
                        break;
-#ifdef SHADOWPWD
                case 'e':
                        if (*optarg) {
                                user_expire = strtoday (optarg);
@@ -1047,7 +1007,6 @@ static void process_flags (int argc, char **argv)
                        }
                        fflg++;
                        break;
-#endif
                case 'g':
                        grp = getgr_nam_gid (optarg);
                        if (!grp) {
@@ -1174,10 +1133,8 @@ static void process_flags (int argc, char **argv)
                }
        }
 
-#ifdef SHADOWPWD
        if (!eflg)
                user_expire = strtoday (def_expire);
-#endif
 
        if (!gflg)
                user_gid = def_group;
@@ -1199,13 +1156,11 @@ static void close_files (void)
                fprintf (stderr, _("%s: cannot rewrite password file\n"), Prog);
                fail_exit (E_PW_UPDATE);
        }
-#ifdef SHADOWPWD
        if (is_shadow_pwd && !spw_close ()) {
                fprintf (stderr,
                         _("%s: cannot rewrite shadow password file\n"), Prog);
                fail_exit (E_PW_UPDATE);
        }
-#endif
        if (do_grp_update) {
                if (!gr_close ()) {
                        fprintf (stderr,
@@ -1225,10 +1180,8 @@ static void close_files (void)
                        sgr_unlock ();
 #endif
        }
-#ifdef SHADOWPWD
        if (is_shadow_pwd)
                spw_unlock ();
-#endif
        pw_unlock ();
 }
 
@@ -1249,7 +1202,6 @@ static void open_files (void)
                pw_unlock ();
                exit (E_PW_UPDATE);
        }
-#ifdef SHADOWPWD
        if (is_shadow_pwd && !spw_lock ()) {
                fprintf (stderr,
                         _("%s: cannot lock shadow password file\n"), Prog);
@@ -1263,7 +1215,6 @@ static void open_files (void)
                pw_unlock ();
                exit (E_PW_UPDATE);
        }
-#endif
 }
 
 
@@ -1305,10 +1256,7 @@ static void lastlog_reset (uid_t uid)
 static void usr_update (void)
 {
        struct passwd pwent;
-
-#ifdef SHADOWPWD
        struct spwd spent;
-#endif
 
        if (!oflg)
                find_new_uid ();
@@ -1319,9 +1267,7 @@ static void usr_update (void)
         */
 
        new_pwent (&pwent);
-#ifdef SHADOWPWD
        new_spent (&spent);
-#endif
 
        /*
         * Create a syslog entry. We need to do this now in case anything
@@ -1329,7 +1275,7 @@ static void usr_update (void)
         */
 
        SYSLOG ((LOG_INFO,
-                "new user: name=%s, uid=%u, gid=%u, home=%s, shell=%s",
+                "new user: name=%s, UID=%u, GID=%u, home=%s, shell=%s",
                 user_name, (unsigned int) user_id,
                 (unsigned int) user_gid, user_home, user_shell));
 
@@ -1355,7 +1301,6 @@ static void usr_update (void)
                exit (E_PW_UPDATE);
        }
 
-#ifdef SHADOWPWD
        /*
         * Put the new (struct spwd) in the table.
         */
@@ -1366,7 +1311,6 @@ static void usr_update (void)
                         Prog);
                exit (E_PW_UPDATE);
        }
-#endif                         /* SHADOWPWD */
 
        /*
         * Do any group file updates for this user.
@@ -1486,9 +1430,7 @@ int main (int argc, char **argv)
        sys_ngroups = sysconf (_SC_NGROUPS_MAX);
        user_groups = malloc ((1 + sys_ngroups) * sizeof (char *));
 
-#ifdef SHADOWPWD
        is_shadow_pwd = spw_file_present ();
-#endif
 #ifdef SHADOWGRP
        is_shadow_grp = sgr_file_present ();
 #endif
index ca64527bbc9b1c885835b01549eefb215974a8a9..5a4596fc55c33864dfeec2d575c3fda9ace5d91d 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: userdel.c,v 1.37 2005/04/06 04:26:06 kloczek Exp $")
+RCSID (PKG_VER "$Id: userdel.c,v 1.41 2005/06/20 10:17:09 kloczek Exp $")
 #include <sys/stat.h>
 #include <stdio.h>
 #include <errno.h>
@@ -67,18 +67,14 @@ static int fflg = 0, rflg = 0;
 
 #include "groupio.h"
 #include "pwio.h"
-
-#ifdef SHADOWPWD
 #include "shadowio.h"
-#endif
 
 #ifdef SHADOWGRP
 #include "sgroupio.h"
 #endif
 
-#ifdef SHADOWPWD
 static int is_shadow_pwd;
-#endif
+
 #ifdef SHADOWGRP
 static int is_shadow_grp;
 #endif
@@ -126,6 +122,7 @@ static void update_groups (void)
        struct group *ngrp;
 
 #ifdef SHADOWGRP
+       int deleted_user_group = 0;
        const struct sgrp *sgrp;
        struct sgrp *nsgrp;
 #endif                         /* SHADOWGRP */
@@ -178,6 +175,10 @@ static void update_groups (void)
 
                gr_remove (grp->gr_name);
 
+#ifdef SHADOWGRP
+               deleted_user_group = 1;
+#endif
+
                SYSLOG ((LOG_INFO, "removed group `%s' owned by `%s'\n",
                         grp->gr_name, user_name));
        }
@@ -222,6 +223,9 @@ static void update_groups (void)
                SYSLOG ((LOG_INFO, "delete `%s' from shadow group `%s'\n",
                         user_name, nsgrp->sg_name));
        }
+
+       if (deleted_user_group)
+               sgr_remove (user_name);
 #endif                         /* SHADOWGRP */
 }
 
@@ -236,11 +240,9 @@ static void close_files (void)
 {
        if (!pw_close ())
                fprintf (stderr, _("%s: cannot rewrite password file\n"), Prog);
-#ifdef SHADOWPWD
        if (is_shadow_pwd && !spw_close ())
                fprintf (stderr,
                         _("%s: cannot rewrite shadow password file\n"), Prog);
-#endif
        if (!gr_close ())
                fprintf (stderr, _("%s: cannot rewrite group file\n"), Prog);
 
@@ -253,10 +255,8 @@ static void close_files (void)
        if (is_shadow_grp)
                (void) sgr_unlock ();
 #endif
-#ifdef SHADOWPWD
        if (is_shadow_pwd)
                (void) spw_unlock ();
-#endif
        (void) pw_unlock ();
 }
 
@@ -268,10 +268,8 @@ static void fail_exit (int code)
 {
        (void) pw_unlock ();
        (void) gr_unlock ();
-#ifdef SHADOWPWD
        if (is_shadow_pwd)
                spw_unlock ();
-#endif
 #ifdef SHADOWGRP
        if (is_shadow_grp)
                sgr_unlock ();
@@ -295,7 +293,6 @@ static void open_files (void)
                fprintf (stderr, _("%s: unable to open password file\n"), Prog);
                fail_exit (E_PW_UPDATE);
        }
-#ifdef SHADOWPWD
        if (is_shadow_pwd && !spw_lock ()) {
                fprintf (stderr,
                         _("%s: cannot lock shadow password file\n"), Prog);
@@ -306,7 +303,6 @@ static void open_files (void)
                         _("%s: cannot open shadow password file\n"), Prog);
                fail_exit (E_PW_UPDATE);
        }
-#endif
        if (!gr_lock ()) {
                fprintf (stderr, _("%s: unable to lock group file\n"), Prog);
                fail_exit (E_GRP_UPDATE);
@@ -341,11 +337,9 @@ static void update_user (void)
        if (!pw_remove (user_name))
                fprintf (stderr,
                         _("%s: error deleting password entry\n"), Prog);
-#ifdef SHADOWPWD
        if (is_shadow_pwd && !spw_remove (user_name))
                fprintf (stderr,
                         _("%s: error deleting shadow password entry\n"), Prog);
-#endif
        SYSLOG ((LOG_INFO, "delete user `%s'\n", user_name));
 }
 
@@ -354,7 +348,7 @@ static void update_user (void)
  *
  * XXX - should probably check if there are any processes owned
  * by this user. Also, I think this check should be in usermod
- * as well (at least when changing username or uid).  --marekm
+ * as well (at least when changing username or UID).  --marekm
  */
 
 static void user_busy (const char *name, uid_t uid)
@@ -577,9 +571,7 @@ int main (int argc, char **argv)
 
        OPENLOG ("userdel");
 
-#ifdef SHADOWPWD
        is_shadow_pwd = spw_file_present ();
-#endif
 #ifdef SHADOWGRP
        is_shadow_grp = sgr_file_present ();
 #endif
@@ -630,9 +622,7 @@ int main (int argc, char **argv)
 
        nscd_flush_cache ("passwd");
        nscd_flush_cache ("group");
-#ifdef SHADOWPWD
        nscd_flush_cache ("shadow");
-#endif
 
        if (rflg)
                remove_mailbox ();
index 3884520c55606d30e9fa08e5bc53652eedab296b..c86c42880bedfaf671abbf51e0ace966470621ce 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: usermod.c,v 1.37 2005/04/17 15:49:01 kloczek Exp $")
+RCSID (PKG_VER "$Id: usermod.c,v 1.42 2005/06/20 10:17:10 kloczek Exp $")
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -62,7 +62,7 @@ RCSID (PKG_VER "$Id: usermod.c,v 1.37 2005/04/17 15:49:01 kloczek Exp $")
 #define E_PW_UPDATE    1       /* can't update password file */
 #define E_USAGE                2       /* invalid command syntax */
 #define E_BAD_ARG      3       /* invalid argument to option */
-#define E_UID_IN_USE   4       /* uid already in use (and no -o) */
+#define E_UID_IN_USE   4       /* UID already in use (and no -o) */
     /* #define E_BAD_PWFILE     5 *//* passwd file contains errors */
 #define E_NOTFOUND     6       /* specified user/group doesn't exist */
 #define E_USER_BUSY    8       /* user to modify is logged in */
@@ -83,10 +83,8 @@ static char *user_home;
 static char *user_newhome;
 static char *user_shell;
 
-#ifdef SHADOWPWD
 static long user_expire;
 static long user_inactive;
-#endif
 static long sys_ngroups;
 static char **user_groups;     /* NULL-terminated list */
 
@@ -101,18 +99,15 @@ static int
     sflg = 0,                  /* new shell program */
     cflg = 0,                  /* new comment (GECOS) field */
     mflg = 0,                  /* create user's home directory if it doesn't exist */
-#ifdef SHADOWPWD
     fflg = 0,                  /* days until account with expired password is locked */
     eflg = 0,                  /* days since 1970-01-01 when account becomes expired */
-#endif
     Lflg = 0,                  /* lock the password */
     Uflg = 0,                  /* unlock the password */
     pflg = 0,                  /* new encrypted password */
     lflg = 0;                  /* new user name */
 
-#ifdef SHADOWPWD
 static int is_shadow_pwd;
-#endif
+
 #ifdef SHADOWGRP
 static int is_shadow_grp;
 #endif
@@ -124,19 +119,14 @@ static int is_shadow_grp;
 #endif
 
 #include "pwio.h"
-
-#ifdef SHADOWPWD
 #include "shadowio.h"
-#endif
 
 /* local function prototypes */
 static int get_groups (char *);
 static void usage (void);
 static void new_pwent (struct passwd *);
 
-#ifdef SHADOWPWD
 static void new_spent (struct spwd *);
-#endif
 static void fail_exit (int);
 static int update_group (void);
 
@@ -169,7 +159,7 @@ static struct group *getgr_nam_gid (const char *name)
        char *ep;
 
        gid = strtoul (name, &ep, 10);
-       if (*name != '\0' && *ep == '\0')       /* valid numeric gid */
+       if (*name != '\0' && *ep == '\0')       /* valid numeric GID */
                return getgrgid (gid);
 
        return getgrnam (name);
@@ -292,9 +282,7 @@ static void usage (void)
                 _
                 ("\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"));
        fprintf (stderr, "\t\t");
-#ifdef SHADOWPWD
        fprintf (stderr, _("[-f inactive] [-e expire] "));
-#endif
        fprintf (stderr, _("[-p passwd] [-L|-U] name\n"));
        exit (E_USAGE);
 }
@@ -343,9 +331,7 @@ static void new_pwent (struct passwd *pwent)
                         pwent->pw_name, user_newname));
                pwent->pw_name = xstrdup (user_newname);
        }
-#ifdef SHADOWPWD
        if (!is_shadow_pwd)
-#endif
                pwent->pw_passwd =
                    new_pw_passwd (pwent->pw_passwd, pwent->pw_name);
 
@@ -378,7 +364,6 @@ static void new_pwent (struct passwd *pwent)
        }
 }
 
-#ifdef SHADOWPWD
 /*
  * new_spent - initialize the values in a shadow password file entry
  *
@@ -406,7 +391,6 @@ static void new_spent (struct spwd *spent)
        }
        spent->sp_pwdp = new_pw_passwd (spent->sp_pwdp, spent->sp_namp);
 }
-#endif                         /* SHADOWPWD */
 
 /*
  * fail_exit - exit with an error code after unlocking files
@@ -419,10 +403,8 @@ static void fail_exit (int code)
        if (is_shadow_grp)
                sgr_unlock ();
 #endif
-#ifdef SHADOWPWD
        if (is_shadow_pwd)
                spw_unlock ();
-#endif
        (void) pw_unlock ();
        exit (code);
 }
@@ -709,9 +691,7 @@ static void process_flags (int argc, char **argv)
        const struct group *grp;
        const struct passwd *pwd;
 
-#ifdef SHADOWPWD
        const struct spwd *spwd = NULL;
-#endif
        int anyflag = 0;
        int arg;
 
@@ -752,19 +732,12 @@ static void process_flags (int argc, char **argv)
        user_home = xstrdup (pwd->pw_dir);
        user_shell = xstrdup (pwd->pw_shell);
 
-#ifdef SHADOWPWD
        if (is_shadow_pwd && (spwd = getspnam (user_name))) {
                user_expire = spwd->sp_expire;
                user_inactive = spwd->sp_inact;
        }
-#endif
-#ifdef SHADOWPWD
-#define FLAGS "A:u:og:G:d:s:c:mf:e:l:p:LU"
-#else
-#define FLAGS "A:u:og:G:d:s:c:ml:p:LU"
-#endif
-       while ((arg = getopt (argc, argv, FLAGS)) != EOF) {
-#undef FLAGS
+
+       while ((arg = getopt (argc, argv, "A:u:og:G:d:s:c:mf:e:l:p:LU")) != EOF) {
                switch (arg) {
                case 'c':
                        if (!VALID (optarg)) {
@@ -786,7 +759,6 @@ static void process_flags (int argc, char **argv)
                        dflg++;
                        user_newhome = optarg;
                        break;
-#ifdef SHADOWPWD
                case 'e':
                        if (*optarg) {
                                user_expire = strtoday (optarg);
@@ -806,7 +778,6 @@ static void process_flags (int argc, char **argv)
                        user_inactive = get_number (optarg);
                        fflg++;
                        break;
-#endif
                case 'g':
                        grp = getgr_nam_gid (optarg);
                        if (!grp) {
@@ -896,7 +867,6 @@ static void process_flags (int argc, char **argv)
                fprintf (stderr, _("%s: no flags given\n"), Prog);
                exit (E_USAGE);
        }
-#ifdef SHADOWPWD
        if (!is_shadow_pwd && (eflg || fflg)) {
                fprintf (stderr,
                         _
@@ -904,7 +874,6 @@ static void process_flags (int argc, char **argv)
                         Prog);
                exit (E_USAGE);
        }
-#endif
 
        if (optind != argc - 1)
                usage ();
@@ -940,17 +909,13 @@ static void close_files (void)
                fprintf (stderr, _("%s: cannot rewrite password file\n"), Prog);
                fail_exit (E_PW_UPDATE);
        }
-#ifdef SHADOWPWD
        if (is_shadow_pwd && !spw_close ()) {
                fprintf (stderr,
                         _("%s: cannot rewrite shadow password file\n"), Prog);
                fail_exit (E_PW_UPDATE);
        }
-#endif
-#ifdef SHADOWPWD
        if (is_shadow_pwd)
                spw_unlock ();
-#endif
        (void) pw_unlock ();
 
        /*
@@ -958,9 +923,7 @@ static void close_files (void)
         */
 
        endpwent ();
-#ifdef SHADOWPWD
        endspent ();
-#endif
        endgrent ();
 #ifdef SHADOWGRP
        endsgent ();
@@ -983,7 +946,6 @@ static void open_files (void)
                fprintf (stderr, _("%s: unable to open password file\n"), Prog);
                fail_exit (E_PW_UPDATE);
        }
-#ifdef SHADOWPWD
        if (is_shadow_pwd && !spw_lock ()) {
                fprintf (stderr,
                         _("%s: cannot lock shadow password file\n"), Prog);
@@ -994,7 +956,6 @@ static void open_files (void)
                         _("%s: cannot open shadow password file\n"), Prog);
                fail_exit (E_PW_UPDATE);
        }
-#endif
 }
 
 /*
@@ -1009,10 +970,8 @@ static void usr_update (void)
        struct passwd pwent;
        const struct passwd *pwd;
 
-#ifdef SHADOWPWD
        struct spwd spent;
        const struct spwd *spwd = NULL;
-#endif
 
        /*
         * Locate the entry in /etc/passwd, which MUST exist.
@@ -1027,7 +986,6 @@ static void usr_update (void)
        pwent = *pwd;
        new_pwent (&pwent);
 
-#ifdef SHADOWPWD
 
        /* 
         * Locate the entry in /etc/shadow. It doesn't have to exist, and
@@ -1038,7 +996,6 @@ static void usr_update (void)
                spent = *spwd;
                new_spent (&spent);
        }
-#endif
 
        if (lflg || uflg || gflg || cflg || dflg || sflg || pflg
            || Lflg || Uflg) {
@@ -1055,7 +1012,6 @@ static void usr_update (void)
                        fail_exit (E_PW_UPDATE);
                }
        }
-#ifdef SHADOWPWD
        if (spwd && (lflg || eflg || fflg || pflg || Lflg || Uflg)) {
                if (!spw_update (&spent)) {
                        fprintf (stderr,
@@ -1072,7 +1028,6 @@ static void usr_update (void)
                        fail_exit (E_PW_UPDATE);
                }
        }
-#endif                         /* SHADOWPWD */
 }
 
 /*
@@ -1115,10 +1070,15 @@ static void move_home (void)
                                }
                                if (copy_tree (user_home, user_newhome,
                                               uflg ? user_newid : -1,
-                                              gflg ? user_newgid : -1) ==
-                                   0 && remove_tree (user_home) == 0
-                                   && rmdir (user_home) == 0)
+                                              gflg ? user_newgid : -1) == 0) {
+                                       if (remove_tree (user_home) != 0 ||
+                                           rmdir (user_home) != 0)
+                                               fprintf (stderr,
+                                                        _
+                                                        ("%s: warning: failed to completely remove old home directory %s"),
+                                                        Prog, user_home);
                                        return;
+                               }
 
                                (void) remove_tree (user_newhome);
                                (void) rmdir (user_newhome);
@@ -1275,9 +1235,7 @@ int main (int argc, char **argv)
 
        OPENLOG ("usermod");
 
-#ifdef SHADOWPWD
        is_shadow_pwd = spw_file_present ();
-#endif
 #ifdef SHADOWGRP
        is_shadow_grp = sgr_file_present ();
 #endif
index f40a267541d10f9929beb431d5c0b21ae5ab8e04..fa8ab557d9480a6b4278f954ae4d7811863a3cff 100644 (file)
@@ -23,7 +23,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: vipw.c,v 1.10 2005/04/13 22:59:18 kloczek Exp $")
+RCSID (PKG_VER "$Id: vipw.c,v 1.11 2005/05/25 18:20:25 kloczek Exp $")
 #include "defines.h"
 #include <errno.h>
 #include <sys/stat.h>
@@ -240,11 +240,9 @@ int main (int argc, char **argv)
        }
 
        if (do_vipw) {
-#ifdef SHADOWPWD
                if (editshadow)
                        vipwedit (SHADOW_FILE, spw_lock, spw_unlock);
                else
-#endif
                        vipwedit (PASSWD_FILE, pw_lock, pw_unlock);
        } else {
 #ifdef SHADOWGRP
@@ -257,8 +255,6 @@ int main (int argc, char **argv)
 
        nscd_flush_cache ("passwd");
        nscd_flush_cache ("group");
-#ifdef SHADOWPWD
        nscd_flush_cache ("shadow");
-#endif
        return 0;
 }