diff options
| author | Mark Eichin <eichin@mit.edu> | 1994-10-27 18:33:35 +0000 |
|---|---|---|
| committer | Mark Eichin <eichin@mit.edu> | 1994-10-27 18:33:35 +0000 |
| commit | 4c0dd02caea5a7a04becd467b0de77a62b5530a8 (patch) | |
| tree | e58f149d0e88a568d72c02967ec97ca90f08e706 /src | |
| parent | 41629ce3ae47282f362eae51763ee6dafeebafea (diff) | |
* 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
Diffstat (limited to 'src')
| -rw-r--r-- | src/appl/bsd/ChangeLog | 7 | ||||
| -rw-r--r-- | src/appl/bsd/configure.in | 1 | ||||
| -rw-r--r-- | src/appl/bsd/krlogind.c | 28 |
3 files changed, 34 insertions, 2 deletions
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)); |
