library: Store the used root strongswan.conf configuration

This commit is contained in:
Martin Willi
2014-09-22 13:40:39 +02:00
parent 0bf2abf182
commit 9e783f6e89
2 changed files with 12 additions and 7 deletions
+7 -7
View File
@@ -29,6 +29,10 @@
#define CHECKSUM_LIBRARY IPSEC_LIB_DIR"/libchecksum.so"
#ifndef STRONGSWAN_CONF
#define STRONGSWAN_CONF NULL
#endif
typedef struct private_library_t private_library_t;
/**
@@ -149,6 +153,7 @@ void library_deinit()
utils_deinit();
threads_deinit();
free(this->public.conf);
free((void*)this->public.ns);
free(this);
lib = NULL;
@@ -258,6 +263,7 @@ bool library_init(char *settings, const char *namespace)
.get = _get,
.set = _set,
.ns = strdup(namespace ?: "libstrongswan"),
.conf = strdupnull(settings ?: STRONGSWAN_CONF),
},
.ref = 1,
);
@@ -304,13 +310,7 @@ bool library_init(char *settings, const char *namespace)
this->objects = hashtable_create((hashtable_hash_t)hash,
(hashtable_equals_t)equals, 4);
#ifdef STRONGSWAN_CONF
if (!settings)
{
settings = STRONGSWAN_CONF;
}
#endif
this->public.settings = settings_create(settings);
this->public.settings = settings_create(this->public.conf);
/* all namespace settings may fall back to libstrongswan */
lib->settings->add_fallback(lib->settings, lib->ns, "libstrongswan");
+5
View File
@@ -146,6 +146,11 @@ struct library_t {
*/
const char *ns;
/**
* Main configuration file passed to library_init(), the default, or NULL
*/
char *conf;
/**
* Printf hook registering facility
*/