cvs commit: patches/lfs-utils lfs-utils-0.5-frandom-1.patch

tushar at linuxfromscratch.org tushar at linuxfromscratch.org
Sat May 1 21:31:31 PDT 2004


tushar      04/05/01 22:31:31

  Added:       lfs-utils lfs-utils-0.5-frandom-1.patch
  Log:
  Added: lfs-utils-0.5-frandom-1.patch
  
  Revision  Changes    Path
  1.1                  patches/lfs-utils/lfs-utils-0.5-frandom-1.patch
  
  Index: lfs-utils-0.5-frandom-1.patch
  ===================================================================
  Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
  Date: 2004-04-25
  Initial Package Version: 1.5
  Origin: None
  Description: This uses sysctl erandom instead of urandom for mktemp.
  Do not use the --with-libc configure option with this patch or it will
  not work.
  
  This patch depends on erandom sysctl from:
  http://frandom.sourceforge.net/
  http://www.linuxfromscratch.org/hints/downloads/files/entropy.txt
  Thanks to Eli Billauer
  
  This is the kernel patch, check for newer versions.
  http://www.linuxfromscratch.org/patches/downloads/linux/\
  linux-2.4.26-frandom-1.patch
  
  Also see:
  http://www.linuxfromscratch.org/hlfs/
  
  diff -Naur lfs-utils-0.5.orig/mktemp-1.5/configure lfs-utils-0.5.frandom/mktemp-1.5/configure
  --- lfs-utils-0.5.orig/mktemp-1.5/configure	2003-03-24 01:06:43.000000000 +0000
  +++ lfs-utils-0.5.frandom/mktemp-1.5/configure	2004-04-26 07:15:06.000000000 +0000
  @@ -3643,7 +3643,7 @@
   if test -n "$with_random"; then
       mktemp_cv_dev_urandom="with_random=$with_random"
   elif test -r /dev/urandom; then
  -    mktemp_cv_dev_urandom="with_random=/dev/urandom"
  +    mktemp_cv_dev_urandom="with_random=erandom"
   else
       mktemp_cv_dev_urandom="with_random=no"
   fi
  diff -Naur lfs-utils-0.5.orig/mktemp-1.5/configure.in lfs-utils-0.5.frandom/mktemp-1.5/configure.in
  --- lfs-utils-0.5.orig/mktemp-1.5/configure.in	2003-03-24 01:04:49.000000000 +0000
  +++ lfs-utils-0.5.frandom/mktemp-1.5/configure.in	2004-04-26 07:15:06.000000000 +0000
  @@ -172,7 +172,7 @@
   if test -n "$with_random"; then
       mktemp_cv_dev_urandom="with_random=$with_random"
   elif test -r /dev/urandom; then
  -    mktemp_cv_dev_urandom="with_random=/dev/urandom"
  +    mktemp_cv_dev_urandom="with_random=erandom"
   else
       mktemp_cv_dev_urandom="with_random=no"
   fi
  diff -Naur lfs-utils-0.5.orig/mktemp-1.5/random.c lfs-utils-0.5.frandom/mktemp-1.5/random.c
  --- lfs-utils-0.5.orig/mktemp-1.5/random.c	2001-10-01 00:21:34.000000000 +0000
  +++ lfs-utils-0.5.frandom/mktemp-1.5/random.c	2004-04-26 07:15:16.000000000 +0000
  @@ -26,6 +26,7 @@
    */
   
   #include "config.h"
  +#include <sys/sysctl.h>
   
   #include <sys/types.h>
   #if defined(TIME_WITH_SYS_TIME) || defined(HAVE_SYS_TIME_H)
  @@ -105,16 +106,17 @@
   	SEED_T seed;
   	struct timeval tv;
   
  -#ifdef _PATH_RANDOM
  -	int fd;
  +        int i, mib[3];
  +        size_t len;
  +        mib[0] = CTL_KERN;
  +        mib[1] = KERN_RANDOM;
  +        mib[2] = RANDOM_ERANDOM;
  +	len = sizeof(seed);
   
  -	if ((fd = open(_PATH_RANDOM, O_RDONLY)) != -1 &&
  -	    read_loop(fd, &seed, sizeof(seed)) == sizeof(seed)) {
  -		close(fd);
  +	if (sysctl(mib, 3, &seed, &len, NULL, 0) != -1) {
   		SRAND(seed);
  -		return;
  -	}
  -#endif /* _PATH_RANDOM */
  +                return;
  +        }
   
   	/* Don't have /dev/random */
   	/* XXX - check for gettimeofday() and use time() if none? */
  
  
  



More information about the patches mailing list