strength.
charon.dlopen_use_rtld_now = no
- Use RTLD_NOW with dlopen when loading plugins to reveal missing symbols
- immediately.
+ Use RTLD_NOW with dlopen when loading plugins and IMV/IMCs to reveal missing
+ symbols immediately.
charon.dns1
DNS server assigned to peer via configuration payload (CP).
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());
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());