Go to file
Alejandro Colomar e28deeb8e9 libmisc/yesno.c: Use getline(3) and rpmatch(3)
getline(3) is much more readable than manually looping.  It has some
overhead due to the allocation of a buffer, but that shouldn't be a
problem here.  If that was a problem, we could reuse the buffer (thus
making the function non-reentrant), but I don't think that's worth the
extra complexity.

Using rpmatch(3) instead of a simple y/n test provides i18n to the
response checking.  We have a fall-back minimalistic implementation for
systems that lack this function (e.g., musl libc).

While we're at it, apply some other minor improvements to this file:

-  Remove comment saying which files use this function.  That's likely
   to get outdated.  And anyway, it's just a grep(1) away, so it doesn't
   really add any value.

-  Remove unnecessary casts to (void) that were used to verbosely ignore
   errors from stdio calls.  They add clutter without really adding much
   value to the code (or I don't see it).

-  Remove comments from the function body.  They make the function less
   readable.  Instead, centralize the description of the function into a
   man-page-like comment before the function definition.  This keeps the
   function body short and sweet.

-  Add '#include <stdbool.h>', which was missing.

-  Minor whitespace style changes (it doesn't hurt the diff at this
   point, since most of the affected lines were already touched by other
   changes, so I applied my preferred style :).

Acked-by: Samanta Navarro <ferivoz@riseup.net>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-04-26 17:32:47 -05:00
.builds CI: add libbsd and pkg-config dependencies 2022-11-28 09:07:41 -06:00
.github CI: Make build logs more readable 2023-04-18 09:21:09 +02:00
contrib Remove superfluous casts 2023-02-09 10:03:03 -06:00
doc doc: add contributions introduction 2023-04-03 10:42:22 -05:00
docs fix spelling and unify whitespace 2021-08-18 18:06:02 +00:00
etc fix PAM service files --without-selinux 2022-03-04 08:51:20 -06:00
lib useradd/usermod: add --selinux-range argument 2023-04-19 09:19:19 +02:00
libmisc libmisc/yesno.c: Use getline(3) and rpmatch(3) 2023-04-26 17:32:47 -05:00
libsubid Remove superfluous casts 2023-02-09 10:03:03 -06:00
man useradd/usermod: add --selinux-range argument 2023-04-19 09:19:19 +02:00
po Fix regression in some translation strings 2023-02-24 12:56:05 -06:00
share CI: Make build logs more readable 2023-04-18 09:21:09 +02:00
src newgrp/useradd: always set SIGCHLD to default 2023-04-26 08:27:45 -05:00
tests run_some: fix shellcheck warning 2023-02-27 21:38:45 -06:00
.editorconfig Add .editorconfig 2023-03-02 16:33:06 -06:00
.gitignore Show libsubid api version in subid.h 2021-12-05 08:02:57 -06:00
.travis.yml CI: Make build logs more readable 2023-04-18 09:21:09 +02:00
AUTHORS.md Update AUTHORS to add Marek Michałkiewicz 2023-04-24 09:01:22 +02:00
COPYING Update licensing info 2021-12-23 19:36:50 -06:00
ChangeLog fix typo 2023-01-12 12:10:57 +01:00
Makefile.am fix spelling and unify whitespace 2021-08-18 18:06:02 +00:00
NEWS fix typo 2023-01-12 12:10:57 +01:00
README Add README as symlink to README.md 2021-12-19 14:09:08 -06:00
README.md README: add reference to contribution guidelines 2023-04-03 10:42:22 -05:00
SECURITY.md SECURITY.md: add Iker Pedrosa 2023-03-20 10:54:45 -05:00
TODO fix spelling and unify whitespace 2021-08-18 18:06:02 +00:00
acinclude.m4 configure: replace obsolete autoconf macros 2022-05-10 09:55:18 +02:00
autogen.sh undo accidental autogen.sh commit: enable-shared 2021-11-27 14:56:03 -06:00
configure.ac libmisc/yesno.c: Use getline(3) and rpmatch(3) 2023-04-26 17:32:47 -05:00
shadow.spec.in * shadow.spec.in: Fix the source (new FTP). 2008-08-31 17:30:45 +00:00

README.md

shadow-utils

Introduction

The shadow-utils package includes the necessary programs for converting UNIX password files to the shadow password format, plus programs for managing user and group accounts. The pwconv command converts passwords to the shadow password format. The pwunconv command unconverts shadow passwords and generates a passwd file (a standard UNIX password file). The pwck command checks the integrity of password and shadow files. The lastlog command prints out the last login times for all users. The useradd, userdel, and usermod commands are used for managing user accounts. The groupadd, groupdel, and groupmod commands are used for managing group accounts.

Sites

Contacts

There are several ways to contact us:

Mailing archives

Contributions

Contributions are welcome. Follow the guidelines before posting any patches.

Authors and maintainers

Authors and maintainers are listed in AUTHORS.md.