commit 33d3d85f4f54f7c6e7aadec4f8f1b0f7b89b01d8 Author: Laslo Hunhold <d...@frign.de> AuthorDate: Sun Feb 4 21:40:51 2018 +0100 Commit: Laslo Hunhold <d...@frign.de> CommitDate: Sun Feb 4 21:40:51 2018 +0100
Refine error messages I forgot that they can fail with errno = 0, which indicates that the given entry was not found. diff --git a/main.c b/main.c index 5dc9034..28b78c9 100644 --- a/main.c +++ b/main.c @@ -198,11 +198,13 @@ main(int argc, char *argv[]) /* validate user and group */ errno = 0; if (user && !(pwd = getpwnam(user))) { - die("getpwnam '%s':", user); + die("getpwnam '%s': %s", user, errno ? strerror(errno) : + "Entry not found"); } errno = 0; if (group && !(grp = getgrnam(group))) { - die("getgrnam '%s':", group); + die("getgrnam '%s': %s", group, errno ? strerror(errno) : + "Entry not found"); } handlesignals(sigcleanup); @@ -243,10 +245,10 @@ main(int argc, char *argv[]) die("setuid:"); } if (getuid() == 0) { - die("won't run as root user", argv0); + die("Won't run as root user", argv0); } if (getgid() == 0) { - die("won't run as root group", argv0); + die("Won't run as root group", argv0); } serve(insock);