+2002-06-19 Ken Raeburn <raeburn@mit.edu>
+
+ * init_os_ctx.c: Don't include sys/ioctl.h or sys/filio.h.
+ (krb5_os_init_context): Drop /dev/[u]random support, the Yarrow
+ code will deal with that now.
+
2002-06-18 Danilo Almeida <dalmeida@mit.edu>
* toffset.c (krb5_get_time_offsets), an_to_ln.c
#include <PreferencesLib.h>
#endif /* macintosh */
-#if !defined(macintosh) && !defined(_WIN32)
-#define USE_RANDOM_DEVICE
-#include <sys/ioctl.h> /* for FIONBIO */
-#ifdef HAVE_SYS_FILIO_H
-#include <sys/filio.h> /* Solaris needs this */
-#endif
-#endif
-
#if defined(_WIN32)
static krb5_error_code
os_ctx->default_ccname = 0;
os_ctx->default_ccprincipal = 0;
-#ifdef USE_RANDOM_DEVICE
- /* If the OS provides us with random or even pseudorandom
- data, use it. It'll be far better than what we've got
- above, but not all systems provide it (yet).
-
- Typical setup seems to be /dev/urandom is pseudo-random, as
- good as the system can provide, but never blocking;
- /dev/random is supposedly truly random (the metrics are
- sometimes suspect), and may block. */
- {
- char rndbytes[128];
- krb5_data seed;
- int tmp;
-
- tmp = open ("/dev/urandom", O_RDONLY);
- if (tmp == -1) {
- int dontblock = 1;
- tmp = open ("/dev/random", O_RDONLY);
- if (tmp != -1)
- (void) ioctl (tmp, FIONBIO,
- (char *) &dontblock);
- }
- if (tmp != -1) {
- /* If this doesn't work, should we continue or
- report an error that'll cause all Kerberos
- programs to fail? */
- (void) read (tmp, &rndbytes, sizeof (rndbytes));
- close (tmp);
- }
- /* Okay. Take whatever we've got, and seed the
- PRNG. */
- seed.length = sizeof(rndbytes);
- seed.data = (char *) &rndbytes;
- if ((retval = krb5_c_random_seed(ctx, &seed)))
- return retval;
- }
-#endif
-
krb5_cc_set_default_name(ctx, NULL);
retval = os_init_paths(ctx);