$OpenBSD: patch-db_nonce_cpp,v 1.2 2011/10/03 16:38:21 fgsch Exp $ --- db/nonce.cpp.orig Sun Sep 11 15:09:34 2011 +++ db/nonce.cpp Sun Sep 18 21:35:45 2011 @@ -42,7 +42,7 @@ namespace mongo { massert( 10353 , "can't open dev/urandom", _devrandom->is_open() ); #elif defined(_WIN32) srand(curTimeMicros()); // perhaps not relevant for rand_s but we might want elsewhere anyway -#else +#elif !defined(__openbsd__) srandomdev(); #endif @@ -63,6 +63,8 @@ namespace mongo { assert( rand_s(&a) == 0 ); assert( rand_s(&b) == 0 ); n = (((unsigned long long)a)<<32) | b; +#elif defined(__openbsd__) + n = arc4random(); #else n = (((unsigned long long)random())<<32) | random(); #endif