summaryrefslogtreecommitdiffstats
path: root/contrib/opie/opieinfo.c
diff options
context:
space:
mode:
authorpst <pst@FreeBSD.org>1997-02-06 17:52:29 +0000
committerpst <pst@FreeBSD.org>1997-02-06 17:52:29 +0000
commit2dfcbf193123fd16b26454eeffa4bbd014e52c53 (patch)
treeec9d150c9da4390c2d223a04ac002523cbfd7f36 /contrib/opie/opieinfo.c
downloadFreeBSD-src-2dfcbf193123fd16b26454eeffa4bbd014e52c53.zip
FreeBSD-src-2dfcbf193123fd16b26454eeffa4bbd014e52c53.tar.gz
Initial import of OPIE v2.3 from
ftp://ftp.nrl.navy.mil/pub/security/opie/
Diffstat (limited to 'contrib/opie/opieinfo.c')
-rw-r--r--contrib/opie/opieinfo.c90
1 files changed, 90 insertions, 0 deletions
diff --git a/contrib/opie/opieinfo.c b/contrib/opie/opieinfo.c
new file mode 100644
index 0000000..f1b0acb
--- /dev/null
+++ b/contrib/opie/opieinfo.c
@@ -0,0 +1,90 @@
+/*
+opieinfo: Print a user's current OPIE sequence number and seed
+
+%%% portions-copyright-cmetz
+Portions of this software are Copyright 1996 by Craig Metz, All Rights
+Reserved. The Inner Net License Version 2 applies to these portions of
+the software.
+You should have received a copy of the license with this software. If
+you didn't get a copy, you may request one from <license@inner.net>.
+
+Portions of this software are Copyright 1995 by Randall Atkinson and Dan
+McDonald, All Rights Reserved. All Rights under this copyright are assigned
+to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
+License Agreement applies to this software.
+
+ History:
+
+ Modified by cmetz for OPIE 2.3. Removed unneeded debug message.
+ Modified by cmetz for OPIE 2.2. Use FUNCTION definition et al.
+ Fixed include order. Make everything static. Ifdef around
+ some headers.
+ Modified at NRL for OPIE 2.1. Substitute @@KEY_FILE@@. Re-write in
+ C.
+ Modified at NRL for OPIE 2.01. Remove hard-coded paths for grep and
+ awk and let PATH take care of it. Substitute for Makefile
+ variables $(EXISTS) and $(KEY_FILE). Only compute $WHO if
+ there's a key file. Got rid of grep since awk can do the job
+ itself.
+ Modified at NRL for OPIE 2.0.
+ Written at Bellcore for the S/Key Version 1 software distribution
+ (keyinfo)
+*/
+
+#include "opie_cfg.h"
+#include <stdio.h>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if HAVE_PWD_H
+#include <pwd.h>
+#endif /* HAVE_PWD_H */
+#include "opie.h"
+
+/* extern char *optarg; */
+extern int errno, optind;
+
+static char *getusername FUNCTION_NOARGS
+{
+ struct passwd *p = getpwuid(getuid());
+
+ if (!p)
+ return getlogin();
+
+ return p->pw_name;
+}
+
+int main FUNCTION((argc, argv), int argc AND char *argv[])
+{
+ char *username;
+ struct opie opie;
+ int i;
+
+ while ((i = getopt(argc, argv, "hv")) != EOF) {
+ switch (i) {
+ case 'v':
+ opieversion();
+ case 'h':
+ default:
+ fprintf(stderr, "usage: %s [-h] [-v] [user_name]\n", argv[0]);
+ exit(0);
+ }
+ }
+
+ if (optind < argc)
+ username = argv[optind];
+ else
+ username = getusername();
+
+ if ((i = opielookup(&opie, username)) && (i != 2)) {
+ if (i < 0)
+ fprintf(stderr, "Error opening database! (errno = %d)\n", errno);
+ else
+ fprintf(stderr, "%s not found in database.\n", username);
+ exit(1);
+ }
+
+ printf("%d %s\n", opie.opie_n - 1, opie.opie_seed);
+
+ return 0;
+}
OpenPOWER on IntegriCloud