diff options
-rw-r--r-- | configure.in | 82 | ||||
-rw-r--r-- | scripts/key2keyid.c | 5 | ||||
-rw-r--r-- | src/charon/Makefile.am | 13 | ||||
-rw-r--r-- | src/charon/daemon.c | 3 | ||||
-rw-r--r-- | src/charon/plugins/sql/Makefile.am | 3 | ||||
-rw-r--r-- | src/charon/plugins/sql/pool.c | 3 | ||||
-rw-r--r-- | src/libstrongswan/plugins/plugin_loader.c | 8 | ||||
-rw-r--r-- | src/manager/Makefile.am | 2 | ||||
-rw-r--r-- | src/manager/main.c | 3 | ||||
-rw-r--r-- | src/openac/Makefile.am | 2 | ||||
-rwxr-xr-x | src/openac/openac.c | 3 | ||||
-rw-r--r-- | src/strongswan.conf | 15 |
12 files changed, 107 insertions, 35 deletions
diff --git a/configure.in b/configure.in index 6611330ee..143bfd416 100644 --- a/configure.in +++ b/configure.in @@ -26,7 +26,6 @@ dnl ================================= dnl check --enable-xxx & --with-xxx dnl ================================= - AC_ARG_WITH( [default-pkcs11], AS_HELP_STRING([--with-default-pkcs11=lib],[set the default PKCS11 library other than "/usr/lib/opensc-pkcs11.so"]), @@ -672,10 +671,75 @@ if test x$openssl = xtrue; then AC_CHECK_HEADER([openssl/evp.h],,[AC_MSG_ERROR([OpenSSL header openssl/evp.h not found!])]) fi +dnl ====================================== +dnl collect all plugins for libstrongswan +dnl ====================================== + +libstrongswan_plugins= + +if test x$curl = xtrue; then + libstrongswan_plugins+=" curl" +fi +if test x$ldap = xtrue; then + libstrongswan_plugins+=" ldap" +fi +if test x$aes = xtrue; then + libstrongswan_plugins+=" aes" +fi +if test x$des = xtrue; then + libstrongswan_plugins+=" des" +fi +if test x$md5 = xtrue; then + libstrongswan_plugins+=" md5" +fi +if test x$sha1 = xtrue; then + libstrongswan_plugins+=" sha1" +fi +if test x$sha2 = xtrue; then + libstrongswan_plugins+=" sha2" +fi +if test x$fips_prf = xtrue; then + libstrongswan_plugins+=" fips-prf" +fi +if test x$gmp = xtrue; then + libstrongswan_plugins+=" gmp" +fi +if test x$random = xtrue; then + libstrongswan_plugins+=" random" +fi +if test x$x509 = xtrue; then + libstrongswan_plugins+=" x509" +fi +if test x$pubkey = xtrue; then + libstrongswan_plugins+=" pubkey" +fi +if test x$hmac = xtrue; then + libstrongswan_plugins+=" hmac" +fi +if test x$xcbc = xtrue; then + libstrongswan_plugins+=" xcbc" +fi +if test x$mysql = xtrue; then + libstrongswan_plugins+=" mysql" +fi +if test x$sqlite = xtrue; then + libstrongswan_plugins+=" sqlite" +fi +if test x$padlock = xtrue; then + libstrongswan_plugins+=" padlock" +fi +if test x$openssl = xtrue; then + libstrongswan_plugins+=" openssl" +fi + +AC_SUBST(libstrongswan_plugins) + dnl ========================= dnl set Makefile.am vars dnl ========================= +dnl libstrongswan plugins +dnl ===================== AM_CONDITIONAL(USE_CURL, test x$curl = xtrue) AM_CONDITIONAL(USE_LDAP, test x$ldap = xtrue) AM_CONDITIONAL(USE_AES, test x$aes = xtrue) @@ -692,19 +756,27 @@ AM_CONDITIONAL(USE_HMAC, test x$hmac = xtrue) AM_CONDITIONAL(USE_XCBC, test x$xcbc = xtrue) AM_CONDITIONAL(USE_MYSQL, test x$mysql = xtrue) AM_CONDITIONAL(USE_SQLITE, test x$sqlite = xtrue) +AM_CONDITIONAL(USE_PADLOCK, test x$padlock = xtrue) +AM_CONDITIONAL(USE_OPENSSL, test x$openssl = xtrue) + +dnl charon plugins +dnl ============== AM_CONDITIONAL(USE_STROKE, test x$stroke = xtrue) AM_CONDITIONAL(USE_MEDSRV, test x$medsrv = xtrue) AM_CONDITIONAL(USE_MEDCLI, test x$medcli = xtrue) AM_CONDITIONAL(USE_SMP, test x$smp = xtrue) AM_CONDITIONAL(USE_SQL, test x$sql = xtrue) -AM_CONDITIONAL(USE_SMARTCARD, test x$smartcard = xtrue) -AM_CONDITIONAL(USE_CISCO_QUIRKS, test x$cisco_quirks = xtrue) -AM_CONDITIONAL(USE_LEAK_DETECTIVE, test x$leak_detective = xtrue) AM_CONDITIONAL(USE_UNIT_TESTS, test x$unittest = xtrue) AM_CONDITIONAL(USE_EAP_SIM, test x$eap_sim = xtrue) AM_CONDITIONAL(USE_EAP_IDENTITY, test x$eap_identity = xtrue) AM_CONDITIONAL(USE_EAP_MD5, test x$eap_md5 = xtrue) AM_CONDITIONAL(USE_EAP_AKA, test x$eap_aka = xtrue) + +dnl other options +dnl ============= +AM_CONDITIONAL(USE_SMARTCARD, test x$smartcard = xtrue) +AM_CONDITIONAL(USE_CISCO_QUIRKS, test x$cisco_quirks = xtrue) +AM_CONDITIONAL(USE_LEAK_DETECTIVE, test x$leak_detective = xtrue) AM_CONDITIONAL(USE_NAT_TRANSPORT, test x$nat_transport = xtrue) AM_CONDITIONAL(USE_VENDORID, test x$vendor_id = xtrue) AM_CONDITIONAL(USE_XAUTH_VID, test x$xauth_vid = xtrue) @@ -720,8 +792,6 @@ AM_CONDITIONAL(USE_TOOLS, test x$tools = xtrue) AM_CONDITIONAL(USE_PLUTO_OR_CHARON, test x$pluto = xtrue -o x$charon = xtrue) AM_CONDITIONAL(USE_LIBSTRONGSWAN, test x$charon = xtrue -o x$tools = xtrue) AM_CONDITIONAL(USE_FILE_CONFIG, test x$pluto = xtrue -o x$stroke = xtrue) -AM_CONDITIONAL(USE_PADLOCK, test x$padlock = xtrue) -AM_CONDITIONAL(USE_OPENSSL, test x$openssl = xtrue) dnl ============================== dnl set global definitions diff --git a/scripts/key2keyid.c b/scripts/key2keyid.c index cab5db730..3c488e5d3 100644 --- a/scripts/key2keyid.c +++ b/scripts/key2keyid.c @@ -5,6 +5,7 @@ static void dbg_stderr(int level, char *fmt, ...) { + } /** @@ -18,10 +19,10 @@ int main(int argc, char *argv[]) char buf[8096]; int read; - dbg = dbg_stderr; + //dbg = dbg_stderr; library_init(NULL); - lib->plugins->load(lib->plugins, "/usr/local/libexec/ipsec/plugins", "libstrongswan-"); + lib->plugins->load(lib->plugins, "/usr/local/libexec/ipsec/plugins", "gmp pubkey sha1"); atexit(library_deinit); read = fread(buf, 1, sizeof(buf), stdin); diff --git a/src/charon/Makefile.am b/src/charon/Makefile.am index 0f17c9642..9d0e64879 100644 --- a/src/charon/Makefile.am +++ b/src/charon/Makefile.am @@ -129,44 +129,57 @@ endif ######################## SUBDIRS = . +PLUGINS = ${libstrongswan_plugins} if USE_UNIT_TESTS SUBDIRS += plugins/unit_tester + PLUGINS += unit-tester endif if USE_STROKE SUBDIRS += plugins/stroke + PLUGINS += stroke endif if USE_SMP SUBDIRS += plugins/smp + PLUGINS += smb endif if USE_SQL SUBDIRS += plugins/sql + PLUGINS += sql endif if USE_EAP_IDENTITY SUBDIRS += plugins/eap_identity + PLUGINS += eap-identity endif if USE_EAP_SIM SUBDIRS += plugins/eap_sim + PLUGINS += eap-sim endif if USE_EAP_MD5 SUBDIRS += plugins/eap_md5 + PLUGINS += eap-md5 endif if USE_EAP_AKA SUBDIRS += plugins/eap_aka + PLUGINS += eap-aka endif if USE_MEDSRV SUBDIRS += plugins/medsrv + PLUGINS += medsrv endif if USE_MEDCLI SUBDIRS += plugins/medcli + PLUGINS += medcli endif +AM_CFLAGS += -DPLUGINS=\""${PLUGINS}\"" + diff --git a/src/charon/daemon.c b/src/charon/daemon.c index 2eb0d2eba..9406e89ea 100644 --- a/src/charon/daemon.c +++ b/src/charon/daemon.c @@ -382,8 +382,7 @@ static bool initialize(private_daemon_t *this, bool syslog, level_t levels[]) /* load plugins, further infrastructure may need it */ lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR, - lib->settings->get_str(lib->settings, "charon.load", - "aes des gmp hmac md5 random sha1 sha2 pubkey x509 xcbc stroke")); + lib->settings->get_str(lib->settings, "charon.load", PLUGINS)); this->public.ike_sa_manager = ike_sa_manager_create(); if (this->public.ike_sa_manager == NULL) diff --git a/src/charon/plugins/sql/Makefile.am b/src/charon/plugins/sql/Makefile.am index 7dc42c181..d412980ef 100644 --- a/src/charon/plugins/sql/Makefile.am +++ b/src/charon/plugins/sql/Makefile.am @@ -1,7 +1,8 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon -AM_CFLAGS = -rdynamic -DIPSEC_PLUGINDIR=\"${plugindir}\" +AM_CFLAGS = -rdynamic \ + -DIPSEC_PLUGINDIR=\"${plugindir}\" -DPLUGINS=\""${libstrongswan_plugins}\"" plugin_LTLIBRARIES = libstrongswan-sql.la libstrongswan_sql_la_SOURCES = sql_plugin.h sql_plugin.c \ diff --git a/src/charon/plugins/sql/pool.c b/src/charon/plugins/sql/pool.c index 40ff6bc55..43a4f33ab 100644 --- a/src/charon/plugins/sql/pool.c +++ b/src/charon/plugins/sql/pool.c @@ -359,8 +359,7 @@ int main(int argc, char *argv[]) library_init(STRONGSWAN_CONF); atexit(library_deinit); lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR, - lib->settings->get_str(lib->settings, "pool.load", - "sqlite mysql")); + lib->settings->get_str(lib->settings, "pool.load", PLUGINS)); uri = lib->settings->get_str(lib->settings, "charon.plugins.sql.database", NULL); if (!uri) diff --git a/src/libstrongswan/plugins/plugin_loader.c b/src/libstrongswan/plugins/plugin_loader.c index 5734c9092..6c25cfbe2 100644 --- a/src/libstrongswan/plugins/plugin_loader.c +++ b/src/libstrongswan/plugins/plugin_loader.c @@ -100,7 +100,11 @@ static int load(private_plugin_loader_t *this, char *path, char *list) pos = strchr(list, ' '); if (pos) { - *pos = '\0'; + *pos++ = '\0'; + while (*pos == ' ') + { + pos++; + } } plugin = load_plugin(this, path, list); if (plugin) @@ -112,7 +116,7 @@ static int load(private_plugin_loader_t *this, char *path, char *list) { break; } - list = pos + 1; + list = pos; } return count; } diff --git a/src/manager/Makefile.am b/src/manager/Makefile.am index 3e27d5ca2..bcf168f53 100644 --- a/src/manager/Makefile.am +++ b/src/manager/Makefile.am @@ -12,7 +12,7 @@ manager_fcgi_LDADD = $(top_builddir)/src/libfast/libfast.la ${xml_LIBS} INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libfast ${xml_CFLAGS} AM_CFLAGS = -rdynamic -DIPSECDIR=\"${ipsecdir}\" -DIPSEC_PIDDIR=\"${piddir}\" \ - -DIPSEC_PLUGINDIR=\"${plugindir}\" + -DIPSEC_PLUGINDIR=\"${plugindir}\" -DPLUGINS=\""${libstrongswan_plugins}\"" # Don't forget to add templates to EXTRA_DIST !!! How to automate? ipsec_templatesdir = ${ipsecdir}/templates diff --git a/src/manager/main.c b/src/manager/main.c index 08f05e548..cfecc71ba 100644 --- a/src/manager/main.c +++ b/src/manager/main.c @@ -38,8 +38,7 @@ int main (int arc, char *argv[]) library_init(STRONGSWAN_CONF); lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR, - lib->settings->get_str(lib->settings, "manager.load", - "random sha1 sqlite")); + lib->settings->get_str(lib->settings, "manager.load", PLUGINS)); socket = lib->settings->get_str(lib->settings, "manager.socket", NULL); debug = lib->settings->get_bool(lib->settings, "manager.debug", FALSE); diff --git a/src/openac/Makefile.am b/src/openac/Makefile.am index 84f2d646d..2890c75aa 100644 --- a/src/openac/Makefile.am +++ b/src/openac/Makefile.am @@ -4,6 +4,6 @@ dist_man_MANS = openac.8 INCLUDES = -I$(top_srcdir)/src/libstrongswan AM_CFLAGS = -DIPSEC_CONFDIR=\"${confdir}\" \ - -DIPSEC_PLUGINDIR=\"${plugindir}\" + -DIPSEC_PLUGINDIR=\"${plugindir}\" -DPLUGINS=\""${libstrongswan_plugins}\"" openac_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lgmp diff --git a/src/openac/openac.c b/src/openac/openac.c index 2ef898996..e0f07fb08 100755 --- a/src/openac/openac.c +++ b/src/openac/openac.c @@ -268,8 +268,7 @@ int main(int argc, char **argv) /* initialize library */ library_init(STRONGSWAN_CONF); lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR, - lib->settings->get_str(lib->settings, "openac.load", - "gmp hmac md5 random sha1 sha2 pubkey x509")); + lib->settings->get_str(lib->settings, "openac.load", PLUGINS)); /* initialize optionsfrom */ options_t *options = options_create(); diff --git a/src/strongswan.conf b/src/strongswan.conf index 5b6ecb7ea..661792a67 100644 --- a/src/strongswan.conf +++ b/src/strongswan.conf @@ -6,7 +6,7 @@ charon { threads = 16 # plugins to load in charon - load = aes des gmp hmac md5 random sha1 sha2 pubkey xcbc stroke + # load = aes des gmp hmac md5 random sha1 sha2 pubkey xcbc x509 stroke plugins { @@ -23,16 +23,3 @@ charon { # ... } - -pool { - # choose one - load = mysql sqlite -} - -manager { - load = sha1 random sqlite -} - -openac { - load = gmp hmac md5 random sha1 sha2 pubkey x509 -} |