=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/skeyinfo/skeyinfo.c,v retrieving revision 1.5 retrieving revision 1.6 diff -c -r1.5 -r1.6 *** src/usr.bin/skeyinfo/skeyinfo.c 1998/06/21 22:14:03 1.5 --- src/usr.bin/skeyinfo/skeyinfo.c 2001/02/05 16:58:11 1.6 *************** *** 1,4 **** ! /* $OpenBSD: skeyinfo.c,v 1.5 1998/06/21 22:14:03 millert Exp $ */ /* * Copyright (c) 1997 Todd C. Miller --- 1,4 ---- ! /* $OpenBSD: skeyinfo.c,v 1.6 2001/02/05 16:58:11 millert Exp $ */ /* * Copyright (c) 1997 Todd C. Miller *************** *** 49,55 **** struct passwd *pw; struct skey key; char *name = NULL; ! int errs, ch, verbose = 0; if (geteuid() != 0) errx(1, "must be setuid root"); --- 49,55 ---- struct passwd *pw; struct skey key; char *name = NULL; ! int error, ch, verbose = 0; if (geteuid() != 0) errx(1, "must be setuid root"); *************** *** 74,81 **** errx(1, "only root may specify an alternate user"); if (name) { - if (strlen(name) > PASS_MAX) - errx(1, "username too long (%d chars max)", PASS_MAX); if ((pw = getpwnam(name)) == NULL) errx(1, "no passwd entry for %s", name); } else { --- 74,79 ---- *************** *** 85,108 **** if ((name = strdup(pw->pw_name)) == NULL) err(1, "cannot allocate memory"); - sevenbit(name); ! errs = skeylookup(&key, name); ! switch (errs) { case 0: /* Success! */ if (verbose) (void)printf("otp-%s ", skey_get_algorithm()); (void)printf("%d %s\n", key.n - 1, key.seed); break; case -1: /* File error */ ! warnx("cannot open %s", _PATH_SKEYKEYS); break; case 1: /* Unknown user */ warnx("%s is not listed in %s", name, _PATH_SKEYKEYS); } (void)fclose(key.keyfile); ! exit(errs); } void --- 83,105 ---- if ((name = strdup(pw->pw_name)) == NULL) err(1, "cannot allocate memory"); ! error = skeylookup(&key, name); ! switch (error) { case 0: /* Success! */ if (verbose) (void)printf("otp-%s ", skey_get_algorithm()); (void)printf("%d %s\n", key.n - 1, key.seed); break; case -1: /* File error */ ! warn("cannot open %s", _PATH_SKEYKEYS); break; case 1: /* Unknown user */ warnx("%s is not listed in %s", name, _PATH_SKEYKEYS); } (void)fclose(key.keyfile); ! exit(error ? 1 : 0); } void