Diff

configure @ 7187:3d2c2f0809ee

util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
author Kim Alvefur <zash@zash.se>
date Mon, 22 Feb 2016 18:44:43 +0100
parent 6886:27f5a76e3fa5
child 7548:69d8e1477c43
line wrap: on
line diff
--- a/configure	Mon Feb 22 17:43:40 2016 +0100
+++ b/configure	Mon Feb 22 18:44:43 2016 +0100
@@ -19,6 +19,8 @@
 LD=gcc
 RUNWITH=lua
 EXCERTS=yes
+PRNG=
+PRNGLIBS=
 
 CFLAGS="-fPIC -Wall"
 LDFLAGS="-shared"
@@ -58,6 +60,11 @@
                             icu: use ICU from IBM
 --with-ssl=LIB              The name of the SSL to link with.
                             Default is $OPENSSL_LIB
+--with-random=METHOD        CSPRNG backend to use. One of
+                            getrandom: Linux kernel
+                            arc4random: OpenBSD kernel
+                            openssl: OpenSSL RAND method
+                            Default is to use /dev/urandom
 --cflags=FLAGS              Flags to pass to the compiler
                             Default is $CFLAGS
 --ldflags=FLAGS             Flags to pass to the linker
@@ -174,6 +181,16 @@
    --with-ssl=*)
       OPENSSL_LIB="$value"
       ;;
+  --with-random=getrandom)
+      PRNG=GETRANDOM
+      ;;
+  --with-random=openssl)
+      PRNG=OPENSSL
+      PRNGLIBS=-lcrypto
+      ;;
+  --with-random=arc4random)
+      PRNG=ARC4RANDOM
+      ;;
    --cflags=*)
       CFLAGS="$value"
       ;;
@@ -372,6 +389,9 @@
 LD=$LD
 RUNWITH=$RUNWITH
 EXCERTS=$EXCERTS
+RANDOM=$PRNG
+RANDOM_LIBS=$PRNGLIBS
+
 
 EOF