From: Mark Eichin Date: Thu, 27 Oct 1994 18:33:35 +0000 (+0000) Subject: * configure.in: check for srand48, srand, and srandom. X-Git-Tag: krb5-1.0-beta5~1058 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=4c0dd02caea5a7a04becd467b0de77a62b5530a8;p=krb5.git * configure.in: check for srand48, srand, and srandom. * krlogind.c (v4_des_write): use the best available of the three random number systems for padding (based on code from lib/crypto/os/rnd_confoun.c.) git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@4590 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog index a8ad665d8..048334818 100644 --- a/src/appl/bsd/ChangeLog +++ b/src/appl/bsd/ChangeLog @@ -1,3 +1,10 @@ +Thu Oct 27 14:31:17 1994 Mark Eichin (eichin@cygnus.com) + + * configure.in: check for srand48, srand, and srandom. + * krlogind.c (v4_des_write): use the best available of the three + random number systems for padding (based on code from + lib/crypto/os/rnd_confoun.c.) + Wed Oct 26 00:04:02 1994 Theodore Y. Ts'o (tytso@dcl) * krsh.c (main): diff --git a/src/appl/bsd/configure.in b/src/appl/bsd/configure.in index fbf70b61b..88c19198b 100644 --- a/src/appl/bsd/configure.in +++ b/src/appl/bsd/configure.in @@ -93,4 +93,5 @@ AC_COMPILE_CHECK([number of arguments to setpgrp], AC_DEFINE(SETPGRP_TWOARG)) dnl ADD_DEF(-DKERBEROS) +AC_HAVE_FUNCS(srand48 srand srandom) V5_AC_OUTPUT_MAKEFILE diff --git a/src/appl/bsd/krlogind.c b/src/appl/bsd/krlogind.c index 8f5634c01..b50fffccc 100644 --- a/src/appl/bsd/krlogind.c +++ b/src/appl/bsd/krlogind.c @@ -1595,6 +1595,29 @@ recvauth() #ifdef KRB5_KRB4_COMPAT +/* Random number support only needed for v4_des_write */ +#ifdef HAVE_SRAND48 +#define SRAND srand48 +#define RAND lrand48 +#define RAND_TYPE long +#endif + +#if !defined(RAND_TYPE) && defined(HAVE_SRAND) +#define SRAND srand +#define RAND rand +#define RAND_TYPE int +#endif + +#if !defined(RAND_TYPE) && defined(HAVE_SRANDOM) +#define SRAND srandom +#define RAND random +#define RAND_TYPE long +#endif + +#if !defined(RAND_TYPE) +You need a random number generator! +#endif + int v4_des_read(fd, buf, len) int fd; @@ -1702,10 +1725,11 @@ int len; if (len < 8) { if (!seeded) { + RAND_TYPE rval = time((long *) 0); seeded = 1; - srandom((int) time((long *)0)); + SRAND(rval); } - garbage = random(); + garbage = RAND(); /* insert random garbage */ (void) memcpy(garbage_buf, &garbage, min(sizeof(long),8));