diff options
author | pst <pst@FreeBSD.org> | 1997-02-06 17:52:29 +0000 |
---|---|---|
committer | pst <pst@FreeBSD.org> | 1997-02-06 17:52:29 +0000 |
commit | 2dfcbf193123fd16b26454eeffa4bbd014e52c53 (patch) | |
tree | ec9d150c9da4390c2d223a04ac002523cbfd7f36 /contrib/opie/libopie/randomchallenge.c | |
download | FreeBSD-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.c | 43 |
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); +} |