From 79d453a0cd3be7dfa4a2e941816e0a820bac085c Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Sat, 9 Jan 2021 22:30:49 -0500 Subject: [PATCH] getent: add support for the 'shadow' database --- main/musl/getent.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/main/musl/getent.c b/main/musl/getent.c index b10d75acc403..4a6aa6f32365 100644 --- a/main/musl/getent.c +++ b/main/musl/getent.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -428,6 +429,29 @@ static int services(int argc, char *argv[]) return rv; } +static int shadow(int argc, char *argv[]) +{ + struct spwd *sp; + int i, rv; + + rv = RV_OK; + if (argc == 2) { + while ((sp = getspent()) != NULL) + putspent(sp, stdout); + } else { + for (i = 2; i < argc; i++) { + sp = getspnam(argv[i]); + if (sp == NULL) { + rv = RV_NOTFOUND; + break; + } + putspent(sp, stdout); + } + } + endspent(); + return rv; +} + static int shells(int argc, char *argv[]) { const char *sh; @@ -471,6 +495,7 @@ static struct getentdb { { "passwd", passwd, }, { "protocols", protocols, }, { "services", services, }, + { "shadow", shadow, }, { "shells", shells, }, { NULL, NULL, },