From 7e719aef2bfb501ca96a3993b21219dc67f12ba3 Mon Sep 17 00:00:00 2001 From: Ian Dowse Date: Sun, 11 Jan 2004 18:28:08 +0000 Subject: Add a `-H ' option that is like `-h ', but accepts an already encrypted password on the specified file descriptor. PR: bin/22033 MFC after: 2 weeks --- pw/pw_group.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'pw/pw_group.c') diff --git a/pw/pw_group.c b/pw/pw_group.c index c9af998..1c63a11 100644 --- a/pw/pw_group.c +++ b/pw/pw_group.c @@ -158,11 +158,13 @@ pw_group(struct userconf * cnf, int mode, struct cargs * args) * software. */ - if ((arg = getarg(args, 'h')) != NULL) { + if ((arg = getarg(args, 'h')) != NULL || + (arg = getarg(args, 'H')) != NULL) { if (strcmp(arg->val, "-") == 0) grp->gr_passwd = "*"; /* No access */ else { int fd = atoi(arg->val); + int precrypt = (arg->ch == 'H'); int b; int istty = isatty(fd); struct termios t; @@ -196,7 +198,12 @@ pw_group(struct userconf * cnf, int mode, struct cargs * args) *p = '\0'; if (!*line) errx(EX_DATAERR, "empty password read on file descriptor %d", fd); - grp->gr_passwd = pw_pwcrypt(line); + if (precrypt) { + if (strchr(line, ':') != NULL) + return EX_DATAERR; + grp->gr_passwd = line; + } else + grp->gr_passwd = pw_pwcrypt(line); } } -- cgit v1.2.3-56-ge451