diff options
Diffstat (limited to 'src/libstrongswan/plugins/random')
-rw-r--r-- | src/libstrongswan/plugins/random/Makefile.in | 9 | ||||
-rw-r--r-- | src/libstrongswan/plugins/random/random_plugin.c | 26 | ||||
-rw-r--r-- | src/libstrongswan/plugins/random/random_rng.c | 29 |
3 files changed, 64 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/random/Makefile.in b/src/libstrongswan/plugins/random/Makefile.in index efd24c761..fbdf35170 100644 --- a/src/libstrongswan/plugins/random/Makefile.in +++ b/src/libstrongswan/plugins/random/Makefile.in @@ -221,9 +221,13 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ ipsecdir = @ipsecdir@ +<<<<<<< HEAD ipsecgid = @ipsecgid@ ipsecgroup = @ipsecgroup@ ipsecuid = @ipsecuid@ +======= +ipsecgroup = @ipsecgroup@ +>>>>>>> upstream/4.5.1 ipsecuser = @ipsecuser@ libcharon_plugins = @libcharon_plugins@ libdir = @libdir@ @@ -262,6 +266,11 @@ sbindir = @sbindir@ scepclient_plugins = @scepclient_plugins@ scripts_plugins = @scripts_plugins@ sharedstatedir = @sharedstatedir@ +<<<<<<< HEAD +======= +soup_CFLAGS = @soup_CFLAGS@ +soup_LIBS = @soup_LIBS@ +>>>>>>> upstream/4.5.1 srcdir = @srcdir@ strongswan_conf = @strongswan_conf@ sysconfdir = @sysconfdir@ diff --git a/src/libstrongswan/plugins/random/random_plugin.c b/src/libstrongswan/plugins/random/random_plugin.c index 39678ba71..f70998334 100644 --- a/src/libstrongswan/plugins/random/random_plugin.c +++ b/src/libstrongswan/plugins/random/random_plugin.c @@ -18,6 +18,11 @@ #include <library.h> #include "random_rng.h" +<<<<<<< HEAD +======= +static const char *plugin_name = "random"; + +>>>>>>> upstream/4.5.1 typedef struct private_random_plugin_t private_random_plugin_t; /** @@ -31,10 +36,15 @@ struct private_random_plugin_t { random_plugin_t public; }; +<<<<<<< HEAD /** * Implementation of random_plugin_t.gmptroy */ static void destroy(private_random_plugin_t *this) +======= +METHOD(plugin_t, destroy, void, + private_random_plugin_t *this) +>>>>>>> upstream/4.5.1 { lib->crypto->remove_rng(lib->crypto, (rng_constructor_t)random_rng_create); @@ -46,6 +56,7 @@ static void destroy(private_random_plugin_t *this) */ plugin_t *random_plugin_create() { +<<<<<<< HEAD private_random_plugin_t *this = malloc_thing(private_random_plugin_t); this->public.plugin.destroy = (void(*)(plugin_t*))destroy; @@ -53,6 +64,21 @@ plugin_t *random_plugin_create() lib->crypto->add_rng(lib->crypto, RNG_STRONG, (rng_constructor_t)random_rng_create); lib->crypto->add_rng(lib->crypto, RNG_TRUE, +======= + private_random_plugin_t *this; + + INIT(this, + .public = { + .plugin = { + .destroy = _destroy, + }, + }, + ); + + lib->crypto->add_rng(lib->crypto, RNG_STRONG, plugin_name, + (rng_constructor_t)random_rng_create); + lib->crypto->add_rng(lib->crypto, RNG_TRUE, plugin_name, +>>>>>>> upstream/4.5.1 (rng_constructor_t)random_rng_create); return &this->public.plugin; diff --git a/src/libstrongswan/plugins/random/random_rng.c b/src/libstrongswan/plugins/random/random_rng.c index b09f3f57a..e4247a3cc 100644 --- a/src/libstrongswan/plugins/random/random_rng.c +++ b/src/libstrongswan/plugins/random/random_rng.c @@ -55,11 +55,16 @@ struct private_random_rng_t { char *file; }; +<<<<<<< HEAD /** * Implementation of random_rng_t.get_bytes. */ static void get_bytes(private_random_rng_t *this, size_t bytes, u_int8_t *buffer) +======= +METHOD(rng_t, get_bytes, void, + private_random_rng_t *this, size_t bytes, u_int8_t *buffer) +>>>>>>> upstream/4.5.1 { size_t done; ssize_t got; @@ -81,20 +86,30 @@ static void get_bytes(private_random_rng_t *this, size_t bytes, } } +<<<<<<< HEAD /** * Implementation of random_rng_t.allocate_bytes. */ static void allocate_bytes(private_random_rng_t *this, size_t bytes, chunk_t *chunk) +======= +METHOD(rng_t, allocate_bytes, void, + private_random_rng_t *this, size_t bytes, chunk_t *chunk) +>>>>>>> upstream/4.5.1 { *chunk = chunk_alloc(bytes); get_bytes(this, chunk->len, chunk->ptr); } +<<<<<<< HEAD /** * Implementation of random_rng_t.destroy. */ static void destroy(private_random_rng_t *this) +======= +METHOD(rng_t, destroy, void, + private_random_rng_t *this) +>>>>>>> upstream/4.5.1 { close(this->dev); free(this); @@ -105,12 +120,26 @@ static void destroy(private_random_rng_t *this) */ random_rng_t *random_rng_create(rng_quality_t quality) { +<<<<<<< HEAD private_random_rng_t *this = malloc_thing(private_random_rng_t); /* public functions */ this->public.rng.get_bytes = (void (*) (rng_t *, size_t, u_int8_t*)) get_bytes; this->public.rng.allocate_bytes = (void (*) (rng_t *, size_t, chunk_t*)) allocate_bytes; this->public.rng.destroy = (void (*) (rng_t *))destroy; +======= + private_random_rng_t *this; + + INIT(this, + .public = { + .rng = { + .get_bytes = _get_bytes, + .allocate_bytes = _allocate_bytes, + .destroy = _destroy, + }, + }, + ); +>>>>>>> upstream/4.5.1 if (quality == RNG_TRUE) { |