lib util: Add function to generate random uint64_t
authorGary Lockyer <gary@catalyst.net.nz>
Thu, 31 Jan 2019 20:33:53 +0000 (09:33 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 20 Feb 2019 05:03:08 +0000 (06:03 +0100)
Generate a random uint64_t , which will be used for the netlogon
logon_id.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/util/genrand_util.c
lib/util/samba_util.h

index 76b7cd918908bab93ee54298f029f55d49f4069a..d7b74c6cf1ab77a2a02a86d01048aa8a9acd6502 100644 (file)
@@ -37,6 +37,17 @@ _PUBLIC_ uint32_t generate_random(void)
        return IVAL(v, 0);
 }
 
+/**
+  @brief generate a random uint64
+**/
+_PUBLIC_ uint64_t generate_random_u64(void)
+{
+       uint8_t v[8];
+       generate_random_buffer(v, 8);
+       return BVAL(v, 0);
+}
+
+
 
 /**
   Microsoft composed the following rules (among others) for quality
index 615bb13d6c26496c1d9d33f78c187c6496a64371..20adae39bcffa6a24fad56e15610f7c277a1e3db 100644 (file)
@@ -92,6 +92,11 @@ _PUBLIC_ int sys_getnameinfo(const struct sockaddr *psa,
 **/
 _PUBLIC_ uint32_t generate_random(void);
 
+/**
+  generate a single random uint64_t
+**/
+_PUBLIC_ uint64_t generate_random_u64(void);
+
 /**
   very basic password quality checker
 **/