summaryrefslogtreecommitdiff
path: root/src/libtnccs/plugins
diff options
context:
space:
mode:
authorYves-Alexis Perez <corsac@debian.org>2015-11-18 14:49:27 +0100
committerYves-Alexis Perez <corsac@debian.org>2015-11-18 14:49:27 +0100
commit1e980d6be0ef0e243c6fe82b5e855454b97e24a4 (patch)
tree0d59eec2ce2ed332434ae80fc78a44db9ad293c5 /src/libtnccs/plugins
parent5dca9ea0e2931f0e2a056c7964d311bcc30a01b8 (diff)
downloadvyos-strongswan-1e980d6be0ef0e243c6fe82b5e855454b97e24a4.tar.gz
vyos-strongswan-1e980d6be0ef0e243c6fe82b5e855454b97e24a4.zip
Imported Upstream version 5.3.4
Diffstat (limited to 'src/libtnccs/plugins')
-rw-r--r--src/libtnccs/plugins/tnc_imc/tnc_imc.c8
-rw-r--r--src/libtnccs/plugins/tnc_imv/tnc_imv.c8
2 files changed, 14 insertions, 2 deletions
diff --git a/src/libtnccs/plugins/tnc_imc/tnc_imc.c b/src/libtnccs/plugins/tnc_imc/tnc_imc.c
index 623da7f62..822df3f27 100644
--- a/src/libtnccs/plugins/tnc_imc/tnc_imc.c
+++ b/src/libtnccs/plugins/tnc_imc/tnc_imc.c
@@ -349,10 +349,16 @@ static private_tnc_imc_t* tnc_imc_create_empty(char *name)
imc_t* tnc_imc_create(char *name, char *path)
{
private_tnc_imc_t *this;
+ int flag = RTLD_LAZY;
this = tnc_imc_create_empty(name);
- this->handle = dlopen(path, RTLD_LAZY);
+ if (lib->settings->get_bool(lib->settings, "%s.dlopen_use_rtld_now",
+ lib->ns, FALSE))
+ {
+ flag = RTLD_NOW;
+ }
+ this->handle = dlopen(path, flag);
if (!this->handle)
{
DBG1(DBG_TNC, "IMC \"%s\" failed to load: %s", name, dlerror());
diff --git a/src/libtnccs/plugins/tnc_imv/tnc_imv.c b/src/libtnccs/plugins/tnc_imv/tnc_imv.c
index 039f1fcf1..9a0304172 100644
--- a/src/libtnccs/plugins/tnc_imv/tnc_imv.c
+++ b/src/libtnccs/plugins/tnc_imv/tnc_imv.c
@@ -345,10 +345,16 @@ static private_tnc_imv_t* tnc_imv_create_empty(char *name)
imv_t* tnc_imv_create(char *name, char *path)
{
private_tnc_imv_t *this;
+ int flag = RTLD_LAZY;
this = tnc_imv_create_empty(name);
- this->handle = dlopen(path, RTLD_LAZY);
+ if (lib->settings->get_bool(lib->settings, "%s.dlopen_use_rtld_now",
+ lib->ns, FALSE))
+ {
+ flag = RTLD_NOW;
+ }
+ this->handle = dlopen(path, flag);
if (!this->handle)
{
DBG1(DBG_TNC, "IMV \"%s\" failed to load: %s", name, dlerror());