Sfoglia il codice sorgente

Merge pull request #7 from FreifunkBremen/master

gluon-autoupdater: get random number from /dev/urandom
Nils Schneider 10 anni fa
parent
commit
4fef2e5e11
1 ha cambiato i file con 3 aggiunte e 1 eliminazioni
  1. 3 1
      package/gluon-autoupdater/files/usr/sbin/autoupdater

+ 3 - 1
package/gluon-autoupdater/files/usr/sbin/autoupdater

@@ -10,7 +10,9 @@ BRANCH=$(uci get autoupdater.settings.branch)
 PROBABILITY=$(uci get autoupdater.${BRANCH}.probability)
 
 if test "a$1" != "a-f"; then
-  echo | awk "END{srand();exit rand() > $PROBABILITY}"
+  # get one random byte from /dev/urandom, convert it to decimal and check
+  # against update_probability*255
+  hexdump -n1 -e '/1 "%d"' /dev/urandom | awk "{exit \$1 > $PROBABILITY * 255}"
   if test $? -ne 0; then
     echo "No autoupdate this time. Use -f to override"
     exit 0