summaryrefslogtreecommitdiff
path: root/package/rdate/patches/patch-arc4random_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/rdate/patches/patch-arc4random_c')
-rw-r--r--package/rdate/patches/patch-arc4random_c41
1 files changed, 41 insertions, 0 deletions
diff --git a/package/rdate/patches/patch-arc4random_c b/package/rdate/patches/patch-arc4random_c
new file mode 100644
index 000000000..e84a77832
--- /dev/null
+++ b/package/rdate/patches/patch-arc4random_c
@@ -0,0 +1,41 @@
+--- rdate.orig/arc4random.c 2007-05-15 00:15:12.000000000 +0200
++++ rdate/arc4random.c 2014-03-03 07:27:38.000000000 +0100
+@@ -30,7 +30,6 @@
+ #include <sys/param.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
+-#include <sys/sysctl.h>
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -97,30 +96,6 @@ arc4_stir(struct arc4_stream *as)
+ if (fd != -1) {
+ read(fd, rdat.rnd, sizeof(rdat.rnd));
+ close(fd);
+- } else {
+- /* /dev/urandom failed? Maybe we're in a chroot. */
+-//#if defined(CTL_KERN) && defined(KERN_RANDOM) && defined(RANDOM_UUID)
+-#ifdef _LINUX_SYSCTL_H
+- /* XXX this is for Linux, which uses enums */
+-
+- int mib[3];
+- size_t i, len;
+-
+- mib[0] = CTL_KERN;
+- mib[1] = KERN_RANDOM;
+- mib[2] = RANDOM_UUID;
+-
+- for (i = 0; i < sizeof(rdat.rnd) / sizeof(u_int); i ++) {
+- len = sizeof(u_int);
+- if (sysctl(mib, 3, &rdat.rnd[i], &len, NULL, 0) == -1) {
+- fprintf(stderr, "warning: no entropy source\n");
+- break;
+- }
+- }
+-#else
+- /* XXX kFreeBSD doesn't seem to have KERN_ARND or so */
+- ;
+-#endif
+ }
+
+ arc4_stir_pid = getpid();