summaryrefslogtreecommitdiff
path: root/nss/lib/freebl/sysrand.c
diff options
context:
space:
mode:
Diffstat (limited to 'nss/lib/freebl/sysrand.c')
-rw-r--r--nss/lib/freebl/sysrand.c37
1 files changed, 3 insertions, 34 deletions
diff --git a/nss/lib/freebl/sysrand.c b/nss/lib/freebl/sysrand.c
index 0128fa0..763f6af 100644
--- a/nss/lib/freebl/sysrand.c
+++ b/nss/lib/freebl/sysrand.c
@@ -8,42 +8,11 @@
#include "seccomon.h"
-#ifndef XP_WIN
-static size_t rng_systemFromNoise(unsigned char *dest, size_t maxLen);
-#endif
-
-#if defined(XP_UNIX) || defined(XP_BEOS)
+#if (defined(XP_UNIX) || defined(XP_BEOS)) && defined(SEED_ONLY_DEV_URANDOM)
+#include "unix_urandom.c"
+#elif defined(XP_UNIX) || defined(XP_BEOS)
#include "unix_rand.c"
#endif
#ifdef XP_WIN
#include "win_rand.c"
#endif
-#ifdef XP_OS2
-#include "os2_rand.c"
-#endif
-
-#ifndef XP_WIN
-/*
- * Normal RNG_SystemRNG() isn't available, use the system noise to collect
- * the required amount of entropy.
- */
-static size_t
-rng_systemFromNoise(unsigned char *dest, size_t maxLen)
-{
- size_t retBytes = maxLen;
-
- while (maxLen) {
- size_t nbytes = RNG_GetNoise(dest, maxLen);
-
- PORT_Assert(nbytes != 0);
-
- dest += nbytes;
- maxLen -= nbytes;
-
- /* some hw op to try to introduce more entropy into the next
- * RNG_GetNoise call */
- rng_systemJitter();
- }
- return retBytes;
-}
-#endif