summaryrefslogtreecommitdiffstats
path: root/contrib/opie/libopie/randomchallenge.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/libopie/randomchallenge.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/libopie/randomchallenge.c')
-rw-r--r--contrib/opie/libopie/randomchallenge.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/contrib/opie/libopie/randomchallenge.c b/contrib/opie/libopie/randomchallenge.c
new file mode 100644
index 0000000..6e0d5b7
--- /dev/null
+++ b/contrib/opie/libopie/randomchallenge.c
@@ -0,0 +1,43 @@
+/* randomchallenge.c: The opierandomchallenge() library function.
+
+%%% 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. Add sha support.
+ Modified by cmetz for OPIE 2.22. Don't include stdio.h.
+ Use opienewseed(). Don't include unneeded headers.
+ Modified by cmetz for OPIE 2.2. Use FUNCTION declaration et al.
+ Changed use of gethostname() to uname(). Ifdefed around some
+ headers.
+ Created at NRL for OPIE 2.2 from opiesubr2.c
+*/
+
+#include "opie_cfg.h"
+#include "opie.h"
+
+static char *algids[] = { NULL, NULL, NULL, "sha1", "md4", "md5" };
+
+/* Generate a random challenge */
+/* This could grow into quite a monster, really. Random is good enough for
+ most situations; it is certainly better than a fixed string */
+VOIDRET opierandomchallenge FUNCTION((prompt), char *prompt)
+{
+ char buf[OPIE_SEED_MAX + 1];
+
+ buf[0] = 0;
+ if (opienewseed(buf))
+ strcpy(buf, "ke4452");
+
+ sprintf(prompt, "otp-%s %d %s", algids[MDX], (rand() % 499) + 1, buf);
+}
OpenPOWER on IntegriCloud