]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
fixed integrity tests of plugins using libtls or libtnccs
authorAndreas Steffen <andreas.steffen@strongswan.org>
Wed, 2 Nov 2011 05:41:48 +0000 (06:41 +0100)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Wed, 2 Nov 2011 05:42:08 +0000 (06:42 +0100)
14 files changed:
src/charon/Makefile.am
src/checksum/Makefile.am
src/checksum/checksum_builder.c
src/libcharon/plugins/eap_peap/Makefile.am
src/libcharon/plugins/eap_tls/Makefile.am
src/libcharon/plugins/eap_tnc/Makefile.am
src/libcharon/plugins/eap_ttls/Makefile.am
src/libcharon/plugins/tnc_imc/Makefile.am
src/libcharon/plugins/tnc_imv/Makefile.am
src/libcharon/plugins/tnc_tnccs/Makefile.am
src/libcharon/plugins/tnc_tnccs/tnc_tnccs_plugin.c
src/libcharon/plugins/tnccs_11/Makefile.am
src/libcharon/plugins/tnccs_20/Makefile.am
src/libcharon/plugins/tnccs_dynamic/Makefile.am

index 6481947f15827d8a781c459133061781d54b25f9..6918216239b677dfd9edb6dbf85c2c03615142de 100644 (file)
@@ -18,5 +18,9 @@ charon_LDADD = \
        $(top_builddir)/src/libcharon/libcharon.la \
        -lm $(PTHREADLIB) $(DLLIB)
 
+if USE_LIBTNCCS
+  charon_LDADD += $(top_builddir)/src/libtnccs/libtnccs.la
+endif
+
 EXTRA_DIST = Android.mk
 
index fc48438c2bce595879abd50e45ad10efa34cb6fb..fe6cf79b41578adcb303bb4e35009be6910e6d86 100644 (file)
@@ -30,6 +30,13 @@ if !MONOLITHIC
 endif
 endif
 
+if USE_LIBTNCCS
+  libs += $(top_builddir)/src/libtnccs/.libs/libtnccs.so
+  checksum_builder_LDADD += $(top_builddir)/src/libtnccs/libtnccs.la
+  INCLUDES += -I$(top_srcdir)/src/libtncif -I$(top_srcdir)/src/libtnccs
+  AM_CFLAGS += -DHAS_TNC
+endif
+
 if USE_CHARON
   libs += $(top_builddir)/src/libcharon/.libs/libcharon.so
   libs += $(top_builddir)/src/charon/.libs/charon
index a4d9aa084636630e2a24d3bc901a6332b0aca4bc..4bc387da8b7748db18e882bb02d41a751dbfdfb1 100644 (file)
 #include <daemon.h>
 #include <utils/enumerator.h>
 
+#ifdef HAS_TNC
+#include <tnc/tnc.h>
+#endif
+
 /* we need to fake the pluto symbol to dlopen() the xauth plugin */
 void *pluto;
 
@@ -133,6 +137,11 @@ int main(int argc, char* argv[])
        hydra = NULL;
        charon = NULL;
 
+#ifdef HAS_TNC
+       /* forces link against libtnccs */
+       tnc = NULL;
+#endif
+
        /* avoid confusing leak reports in build process */
        setenv("LEAK_DETECTIVE_DISABLE", "1", 0);
        /* don't use a strongswan.conf, forces integrity check to disabled */
index 81f2575c73c7c42fb6d276b514f9a8527d810033..9f7ec6a4dc75a9472988575135583ab555803e87 100644 (file)
@@ -8,7 +8,6 @@ if MONOLITHIC
 noinst_LTLIBRARIES = libstrongswan-eap-peap.la
 else
 plugin_LTLIBRARIES = libstrongswan-eap-peap.la
-libstrongswan_eap_peap_la_LIBADD = $(top_builddir)/src/libtls/libtls.la
 endif
 
 libstrongswan_eap_peap_la_SOURCES = \
index 29ddd822b695e4d9eea2f51ff2d8984fb564638a..fb3de493721e74cd2af3ea79aaa8658cfa19ec38 100644 (file)
@@ -8,7 +8,6 @@ if MONOLITHIC
 noinst_LTLIBRARIES = libstrongswan-eap-tls.la
 else
 plugin_LTLIBRARIES = libstrongswan-eap-tls.la
-libstrongswan_eap_tls_la_LIBADD = $(top_builddir)/src/libtls/libtls.la
 endif
 
 libstrongswan_eap_tls_la_SOURCES = \
index 0e10f7d9c4eda80832c945c24668b497ab94100c..0d5760b25e56f7b5cc6d3550587f3b2753bb061b 100644 (file)
@@ -13,9 +13,6 @@ if MONOLITHIC
 noinst_LTLIBRARIES = libstrongswan-eap-tnc.la
 else
 plugin_LTLIBRARIES = libstrongswan-eap-tnc.la
-libstrongswan_eap_tnc_la_LIBADD = \
-       $(top_builddir)/src/libtls/libtls.la \
-       $(top_builddir)/src/libtnccs/libtnccs.la
 endif
 
 libstrongswan_eap_tnc_la_SOURCES = \
index 94ce5cc1ea5072bb431a662efaa316b48892baca..a06665d4c5ce8b1d94a2984cabb7a31d8726d54b 100644 (file)
@@ -8,7 +8,6 @@ if MONOLITHIC
 noinst_LTLIBRARIES = libstrongswan-eap-ttls.la
 else
 plugin_LTLIBRARIES = libstrongswan-eap-ttls.la
-libstrongswan_eap_ttls_la_LIBADD = $(top_builddir)/src/libtls/libtls.la
 endif
 
 libstrongswan_eap_ttls_la_SOURCES = \
index fc197952545dffb311bf13297ca05d019b3bacd6..f282978a9918376f9952cbac211f8014b6519d7d 100644 (file)
@@ -11,8 +11,7 @@ noinst_LTLIBRARIES = libstrongswan-tnc-imc.la
 else
 plugin_LTLIBRARIES = libstrongswan-tnc-imc.la
 libstrongswan_tnc_imc_la_LIBADD = \
-       $(top_builddir)/src/libtncif/libtncif.la \
-       $(top_builddir)/src/libtnccs/libtnccs.la
+       $(top_builddir)/src/libtncif/libtncif.la
 endif
 
 libstrongswan_tnc_imc_la_SOURCES = \
index eca3b377b3ae48d5c7d8949a95fe2ab369633598..0de287d922b827adb1949f9367072a3a1cb70508 100644 (file)
@@ -13,8 +13,7 @@ noinst_LTLIBRARIES = libstrongswan-tnc-imv.la
 else
 plugin_LTLIBRARIES = libstrongswan-tnc-imv.la
 libstrongswan_tnc_imv_la_LIBADD = \
-       $(top_builddir)/src/libtncif/libtncif.la \
-       $(top_builddir)/src/libtnccs/libtnccs.la
+       $(top_builddir)/src/libtncif/libtncif.la
 endif
 
 libstrongswan_tnc_imv_la_SOURCES = \
index c7fc02f7c412a621257cb67d4c80270b59796380..bf77c4caea0f80c91ec9587d7927c7fc3d361b42 100644 (file)
@@ -11,8 +11,7 @@ noinst_LTLIBRARIES = libstrongswan-tnc-tnccs.la
 else
 plugin_LTLIBRARIES = libstrongswan-tnc-tnccs.la
 libstrongswan_tnc_tnccs_la_LIBADD = \
-       $(top_builddir)/src/libtncif/libtncif.la \
-       $(top_builddir)/src/libtnccs/libtnccs.la
+       $(top_builddir)/src/libtncif/libtncif.la
 endif
 
 libstrongswan_tnc_tnccs_la_SOURCES = \
index 777c33c51cfb4ed3e41c2bdb9db25af75e3bdea5..a44319ed1329274057ec3516a91bfbc3dfed003a 100644 (file)
@@ -18,6 +18,8 @@
 
 #include <tnc/tnc.h>
 
+#include <debug.h>
+
 typedef struct private_tnc_tnccs_plugin_t private_tnc_tnccs_plugin_t;
 
 /**
@@ -64,6 +66,21 @@ plugin_t *tnc_tnccs_plugin_create(void)
 {
        private_tnc_tnccs_plugin_t *this;
 
+       if (lib->integrity)
+       {
+               if (lib->integrity->check(lib->integrity, "libtnccs", libtnccs_init))
+               {
+                       DBG1(DBG_LIB,
+                                "lib    'libtnccs': passed file and segment integrity tests");
+               }
+               else
+               {
+                       DBG1(DBG_LIB,
+                                "lib    'libtnccs': failed integrity tests");
+                       return NULL;
+               }
+       }
+
        INIT(this,
                .public = {
                        .plugin = {
index c205692d449e66a6c149a8265ff50de123726cf3..b10c4019c2f35575952ce9cba8ea5806a1adbafb 100644 (file)
@@ -15,8 +15,7 @@ noinst_LTLIBRARIES = libstrongswan-tnccs-11.la
 else
 plugin_LTLIBRARIES = libstrongswan-tnccs-11.la
 libstrongswan_tnccs_11_la_LIBADD += \
-       $(top_builddir)/src/libtncif/libtncif.la \
-       $(top_builddir)/src/libtnccs/libtnccs.la
+       $(top_builddir)/src/libtncif/libtncif.la
 endif
 
 libstrongswan_tnccs_11_la_SOURCES = \
index ec17e64122dc7b89a4f2ef30e7c10576f0f33292..f63e2656e8b6693fcfdb03baa5cd0035f1173280 100644 (file)
@@ -12,8 +12,7 @@ noinst_LTLIBRARIES = libstrongswan-tnccs-20.la
 else
 plugin_LTLIBRARIES = libstrongswan-tnccs-20.la
 libstrongswan_tnccs_20_la_LIBADD = \
-       $(top_builddir)/src/libtncif/libtncif.la \
-       $(top_builddir)/src/libtnccs/libtnccs.la
+       $(top_builddir)/src/libtncif/libtncif.la
 endif
 
 libstrongswan_tnccs_20_la_SOURCES = \
index 57c2baaf0de9b95f6a3f4b4a96f706f556b82a94..d9baee48a617e3c8b768ea1cdeae012f10ade409 100644 (file)
@@ -12,8 +12,7 @@ noinst_LTLIBRARIES = libstrongswan-tnccs-dynamic.la
 else
 plugin_LTLIBRARIES = libstrongswan-tnccs-dynamic.la
 libstrongswan_tnccs_dynamic_la_LIBADD = \
-       $(top_builddir)/src/libtncif/libtncif.la \
-       $(top_builddir)/src/libtnccs/libtnccs.la
+       $(top_builddir)/src/libtncif/libtncif.la
 endif
 
 libstrongswan_tnccs_dynamic_la_SOURCES = \