aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/random/random_plugin.c
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2013-11-16 00:11:40 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2013-11-16 00:11:40 +0100
commitb63246c5dbba706fcade7e1f509bc6957cdb2af9 (patch)
treecc73ce1ceeacce4b4fb3b01e4a99c4de48c01034 /src/libstrongswan/plugins/random/random_plugin.c
parent85adb98dafeb85c6be627641e9a807631de69a8f (diff)
downloadstrongswan-b63246c5dbba706fcade7e1f509bc6957cdb2af9.tar.bz2
strongswan-b63246c5dbba706fcade7e1f509bc6957cdb2af9.tar.xz
Implemented libstrongswan.plugins.random.strong_equals_true option
Diffstat (limited to 'src/libstrongswan/plugins/random/random_plugin.c')
-rw-r--r--src/libstrongswan/plugins/random/random_plugin.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/random/random_plugin.c b/src/libstrongswan/plugins/random/random_plugin.c
index 24c711a69..8ac1ac366 100644
--- a/src/libstrongswan/plugins/random/random_plugin.c
+++ b/src/libstrongswan/plugins/random/random_plugin.c
@@ -51,6 +51,9 @@ static int dev_random = -1;
/** /dev/urandom file descriptor */
static int dev_urandom = -1;
+/** Is strong randomness equivalent to true randomness? */
+static bool strong_equals_true = FALSE;
+
/**
* See header.
*/
@@ -68,6 +71,14 @@ int random_plugin_get_dev_urandom()
}
/**
+ * See header.
+ */
+bool random_plugin_get_strong_equals_true()
+{
+ return strong_equals_true;
+}
+
+/**
* Open a random device file
*/
static bool open_dev(char *file, int *fd)
@@ -131,6 +142,8 @@ plugin_t *random_plugin_create()
},
);
+ strong_equals_true = lib->settings->get_bool(lib->settings,
+ "libstrongswan.plugins.random.strong_equals_true", FALSE);
urandom_file = lib->settings->get_str(lib->settings,
"libstrongswan.plugins.random.urandom", DEV_URANDOM);
random_file = lib->settings->get_str(lib->settings,