]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Initialize the random number generator from /dev/urandom, if available. (CVS 2258)
authordrh <drh@noemail.net>
Fri, 21 Jan 2005 17:53:17 +0000 (17:53 +0000)
committerdrh <drh@noemail.net>
Fri, 21 Jan 2005 17:53:17 +0000 (17:53 +0000)
FossilOrigin-Name: aab8e7f8d81ffa786d5fae5a13963c6e58a8eefc

manifest
manifest.uuid
src/os_unix.c

index 78fc2b550f8c667bad287a1060f7321332959c25..b0a8c0d463c695cf3ecd43ce60f8c19b9af011f1 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Change\sto\smkopcodeh.awk\sto\saccomodate\swindows\ssystems.\s(CVS\s2257)
-D 2005-01-21T17:07:23
+C Initialize\sthe\srandom\snumber\sgenerator\sfrom\s/dev/urandom,\sif\savailable.\s(CVS\s2258)
+D 2005-01-21T17:53:17
 F Makefile.in ffd81f5e926d40b457071b4de8d7c1fa18f39b5a
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1
@@ -48,7 +48,7 @@ F src/os.h ae44064dc118b20d39450cb331409a775e8bb1c6
 F src/os_common.h 0e7f428ba0a6c40a61bc56c4e96f493231301b73
 F src/os_test.c 91e5f22dd89491e5e1554820e715805f43fa4ece
 F src/os_test.h 6a26a4978492e4bbdbf385554958418ff02db162
-F src/os_unix.c 77319e31f5284c5714239cf50ae28552286414df
+F src/os_unix.c 1f17ceff056c64939e5f2e98bf909fc64d0929ca
 F src/os_unix.h f3097815e041e82e24d92505e1ff61ba24172d13
 F src/os_win.c 3c0b0a3bc33318cf555a1cd130232ad1b9a5a711
 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
@@ -271,7 +271,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
 F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618
 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
 F www/whentouse.tcl 3e522a06ad41992023c80ca29a048ae2331ca5bd
-P 4d9b858746084c2636ba618108775b9be2eff0a5
-R b294ab96a83b2891d9812a17ce9a70c9
+P 39786aa894d620480661ed8867961f9f1ef33e40
+R 3b3cb6465646de5c987cef2f82ee9d6f
 U drh
-Z 4c64a14703470895094994113ac63b9b
+Z 55ddc61929d4f52f311fda35960362e7
index 9edc36b71b0716661c10502a39d126e0e01aa4a5..17731ef8b175278fe39b2eb0300a3c5ddb6d893d 100644 (file)
@@ -1 +1 @@
-39786aa894d620480661ed8867961f9f1ef33e40
\ No newline at end of file
+aab8e7f8d81ffa786d5fae5a13963c6e58a8eefc
\ No newline at end of file
index bc5c0b111b3102af8aa296cc64cd56dece9babc7..13da7439c147be70acd555fed41b4f61d8f6fde2 100644 (file)
@@ -1183,10 +1183,16 @@ int sqlite3OsRandomSeed(char *zBuf){
   memset(zBuf, 0, 256);
 #if !defined(SQLITE_TEST)
   {
-    int pid;
-    time((time_t*)zBuf);
-    pid = getpid();
-    memcpy(&zBuf[sizeof(time_t)], &pid, sizeof(pid));
+    int pid, fd;
+    fd = open("/dev/urandom", O_RDONLY);
+    if( fd<0 ){
+      time((time_t*)zBuf);
+      pid = getpid();
+      memcpy(&zBuf[sizeof(time_t)], &pid, sizeof(pid));
+    }else{
+      read(fd, zBuf, 256);
+      close(fd);
+    }
   }
 #endif
   return SQLITE_OK;