diff options
Diffstat (limited to 'package/hostapd/patches/700-use_dev_urandom.patch')
-rw-r--r-- | package/hostapd/patches/700-use_dev_urandom.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/package/hostapd/patches/700-use_dev_urandom.patch b/package/hostapd/patches/700-use_dev_urandom.patch new file mode 100644 index 0000000000..b72319ff17 --- /dev/null +++ b/package/hostapd/patches/700-use_dev_urandom.patch @@ -0,0 +1,47 @@ +--- a/src/crypto/random.c ++++ b/src/crypto/random.c +@@ -202,16 +202,16 @@ int random_pool_ready(void) + + /* + * Try to fetch some more data from the kernel high quality +- * /dev/random. There may not be enough data available at this point, ++ * /dev/urandom. There may not be enough data available at this point, + * so use non-blocking read to avoid blocking the application + * completely. + */ +- fd = open("/dev/random", O_RDONLY | O_NONBLOCK); ++ fd = open("/dev/urandom", O_RDONLY | O_NONBLOCK); + if (fd < 0) { + #ifndef CONFIG_NO_STDOUT_DEBUG + int error = errno; +- perror("open(/dev/random)"); +- wpa_printf(MSG_ERROR, "random: Cannot open /dev/random: %s", ++ perror("open(/dev/urandom)"); ++ wpa_printf(MSG_ERROR, "random: Cannot open /dev/urandom: %s", + strerror(error)); + #endif /* CONFIG_NO_STDOUT_DEBUG */ + return -1; +@@ -220,12 +220,12 @@ int random_pool_ready(void) + res = read(fd, dummy_key + dummy_key_avail, + sizeof(dummy_key) - dummy_key_avail); + if (res < 0) { +- wpa_printf(MSG_ERROR, "random: Cannot read from /dev/random: " ++ wpa_printf(MSG_ERROR, "random: Cannot read from /dev/urandom: " + "%s", strerror(errno)); + res = 0; + } + wpa_printf(MSG_DEBUG, "random: Got %u/%u bytes from " +- "/dev/random", (unsigned) res, ++ "/dev/urandom", (unsigned) res, + (unsigned) (sizeof(dummy_key) - dummy_key_avail)); + dummy_key_avail += res; + close(fd); +@@ -234,7 +234,7 @@ int random_pool_ready(void) + return 1; + + wpa_printf(MSG_INFO, "random: Only %u/%u bytes of strong " +- "random data available from /dev/random", ++ "random data available from /dev/urandom", + (unsigned) dummy_key_avail, (unsigned) sizeof(dummy_key)); + + if (own_pool_ready >= MIN_READY_MARK || |