- added random source ./configure options
authorMartin Willi <martin@strongswan.org>
Wed, 17 May 2006 14:21:38 +0000 (14:21 -0000)
committerMartin Willi <martin@strongswan.org>
Wed, 17 May 2006 14:21:38 +0000 (14:21 -0000)
- fixed default-pkcs11 option

configure.in
src/libstrongswan/utils/randomizer.c
src/libstrongswan/utils/randomizer.h
src/pluto/rnd.c
src/scepclient/rsakey.c
src/starter/files.h

index 7536168..9a610f6 100644 (file)
@@ -23,9 +23,31 @@ AC_SUBST(ipsecdir, '${libexecdir}/ipsec')
 AC_SUBST(confdir, '${sysconfdir}')
 AC_SUBST(piddir, '/var/run')
 
-dnl ===========================
-dnl  check --enable-xxx params
-dnl ===========================
+dnl =================================
+dnl  check --enable-xxx & --with-xxx
+dnl =================================
+
+
+AC_ARG_WITH(
+    [default-pkcs11],
+    AS_HELP_STRING([--with-default-pkcs11=lib],[set the default PKCS11 library other than /usr/lib/opensc-pkcs11.so]),
+    [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "$withval")],
+    [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "/usr/lib/opensc-pkcs11.so")]
+)
+
+AC_ARG_WITH(
+    [random-device],
+    AS_HELP_STRING([--with-random-device=dev],[set the device for real random data other than /dev/random]),
+    [AC_DEFINE_UNQUOTED(DEV_RANDOM, "$withval")],
+    [AC_DEFINE_UNQUOTED(DEV_RANDOM, "/dev/random")]
+)
+
+AC_ARG_WITH(
+    [urandom-device],
+    AS_HELP_STRING([--with-urandom-device=dev],[set the device for pseudo random data other than /dev/urandom]),
+    [AC_DEFINE_UNQUOTED(DEV_URANDOM, "$withval")],
+    [AC_DEFINE_UNQUOTED(DEV_URANDOM, "/dev/urandom")]
+)
 
 AC_ARG_ENABLE(
     [http],
@@ -37,27 +59,17 @@ AM_CONDITIONAL(USE_LIBCURL, test x$http = xtrue)
 
 AC_ARG_ENABLE(
     [ldap],
-    AS_HELP_STRING([--enable-ldap],[enable fetching of CRLs from LDAP (default is NO). Requires openldap. \
-                                    Protocol version 2 or 3 are supported, use --with-ldap=version to specify \
-                                    explicitly.]),
+    AS_HELP_STRING([--enable-ldap],[enable fetching of CRLs from LDAP (default is NO). Requires openLDAP.]),
     ldap=true
-    [case "${enableval}" in
-        2) AC_DEFINE(LDAP_VER, 2) ;;
-        3) AC_DEFINE(LDAP_VER, 3) ;;
-        *) AC_MSG_ERROR([Invalid LDAP protocol version specified!]) ;;
-        esac
-    ]
+    AC_DEFINE(LDAP_VER, 3)
 )
 AM_CONDITIONAL(USE_LDAP, test x$ldap = xtrue)
 
 AC_ARG_ENABLE(
-    [pkcs11],
-    AS_HELP_STRING([--enable-pkcs11],[enable PKCS11 smartcard support (default is NO). \
-                                      Set the default PKCS11 library using \
-                                      --enable-pkcs11=/path/to/default-pkcs11.so]),
+    [smartcard],
+    AS_HELP_STRING([--enable-smartcard],[enable smartcard support (default is NO).]),
     smartcard=true
     AC_DEFINE(SMARTCARD)
-    AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "$enableval")
 )
 AM_CONDITIONAL(USE_SMARTCARD, test x$smartcard = xtrue)
 
@@ -65,7 +77,7 @@ AC_ARG_ENABLE(
     [leak-detective],
     AS_HELP_STRING([--enable-leak-detective],[enable malloc hooks to find memory leaks (default is NO).]),
     leak_detective=true
-    AC_DEFINE(USE_LEAK_DETECTIVE)
+    AC_DEFINE(LEAK_DETECTIVE)
 )
 AM_CONDITIONAL(USE_LEAK_DETECTIVE, test x$leak_detective = xtrue)
 
index 09e8189..5db150e 100644 (file)
@@ -65,7 +65,7 @@ static status_t get_bytes_from_device(private_randomizer_t *this,bool pseudo_ran
        size_t got;
        char * device_name;
 
-       device_name = pseudo_random ? PSEUDO_RANDOM_DEVICE : RANDOM_DEVICE;
+       device_name = pseudo_random ? DEV_URANDOM : DEV_RANDOM;
 
        device = open(device_name, 0);
        if (device < 0) {
index 993f71d..a2e0f75 100644 (file)
 #include <types.h>
 
 
+#ifndef DEV_RANDOM
 /**
  * Device to read real random bytes
  */
-#define RANDOM_DEVICE "/dev/random"
+# define DEV_RANDOM "/dev/random"
+#endif
 
+#ifndef DEV_URANDOM
 /**
  * Device to read pseudo random bytes
  */
-#define PSEUDO_RANDOM_DEVICE "/dev/urandom"
+# define DEV_URANDOM "/dev/urandom"
+#endif
 
 typedef struct randomizer_t randomizer_t;
 
index da72cc8..812882c 100644 (file)
@@ -69,7 +69,7 @@
 
 #ifdef linux
 # define USE_DEV_RANDOM        1
-# define RANDOM_PATH    "/dev/urandom"
+# define RANDOM_PATH    DEV_URANDOM
 #else
 # ifdef __OpenBSD__
 #  define USE_ARC4RANDOM
index c4f26b2..a7c6321 100644 (file)
@@ -47,8 +47,8 @@
 /* Public exponent used for signature key generation */
 #define PUBLIC_EXPONENT                0x10001
 
-#ifndef RANDOM_DEVICE
-#define        RANDOM_DEVICE   "/dev/random"
+#ifndef DEV_RANDOM
+#define        DEV_RANDOM      "/dev/random"
 #endif
 
 
@@ -66,9 +66,9 @@ get_true_random_bytes(size_t nbytes, char *buf)
 {
     size_t ndone;
     size_t got;
-    char *device = RANDOM_DEVICE;
+    char *device = DEV_RANDOM;
 
-    int dev = open(RANDOM_DEVICE, 0);
+    int dev = open(DEV_RANDOM, 0);
 
     if (dev < 0)
     {
index 39b89bc..88b670d 100644 (file)
@@ -19,8 +19,6 @@
 
 #define STARTER_PID_FILE IPSEC_PIDDIR "/starter.pid"
 
-#define DEV_RANDOM      "/dev/random"
-#define DEV_URANDOM     "/dev/urandom"
 #define PROC_NETKEY    "/proc/net/pfkey"
 #define PROC_MODULES   "/proc/modules"