aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.in2
-rw-r--r--src/Makefile.am4
-rw-r--r--src/libcharon/Makefile.am5
-rw-r--r--src/libcharon/plugins/tnc_imc/Makefile.am2
-rw-r--r--src/libcharon/plugins/tnc_imc/tnc_imc_manager.c3
-rw-r--r--src/libcharon/plugins/tnc_imv/Makefile.am3
-rw-r--r--src/libcharon/plugins/tnc_imv/tnc_imv_manager.c3
-rw-r--r--src/libcharon/plugins/tnc_imv/tnc_imv_recommendations.c4
-rw-r--r--src/libcharon/plugins/tnccs_11/Makefile.am4
-rw-r--r--src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.h2
-rw-r--r--src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.h2
-rw-r--r--src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.h2
-rw-r--r--src/libcharon/plugins/tnccs_11/tnccs_11.c2
-rw-r--r--src/libcharon/plugins/tnccs_20/Makefile.am4
-rw-r--r--src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c2
-rw-r--r--src/libcharon/plugins/tnccs_20/messages/pb_assessment_result_msg.c3
-rw-r--r--src/libcharon/plugins/tnccs_20/messages/pb_error_msg.c2
-rw-r--r--src/libcharon/plugins/tnccs_20/messages/pb_pa_msg.c2
-rw-r--r--src/libcharon/plugins/tnccs_20/tnccs_20.c4
-rw-r--r--src/libcharon/tnc/imc/imc.h3
-rw-r--r--src/libcharon/tnc/imv/imv.h3
-rw-r--r--src/libcharon/tnc/imv/imv_recommendations.h2
-rw-r--r--src/libcharon/tnc/tnccs/tnccs.h7
-rw-r--r--src/libimcv/Makefile.am4
-rw-r--r--src/libimcv/imc/imc_agent.h5
-rw-r--r--src/libimcv/imc/imc_state.h3
-rw-r--r--src/libimcv/imv/imv_agent.h5
-rw-r--r--src/libimcv/imv/imv_state.h3
-rw-r--r--src/libimcv/ita/ita_attr_command.c3
-rw-r--r--src/libimcv/pa_tnc/pa_tnc_attr.h2
-rw-r--r--src/libimcv/plugins/imc_test/Makefile.am7
-rw-r--r--src/libimcv/plugins/imc_test/imc_test.c4
-rw-r--r--src/libimcv/plugins/imv_test/Makefile.am7
-rw-r--r--src/libimcv/plugins/imv_test/imv_test.c4
-rw-r--r--src/libstrongswan/Makefile.am1
-rw-r--r--src/libstrongswan/pen/pen.c (renamed from src/libcharon/tnc/pen/pen.c)0
-rw-r--r--src/libstrongswan/pen/pen.h (renamed from src/libcharon/tnc/pen/pen.h)0
-rw-r--r--src/libtncif/Makefile.am6
-rw-r--r--src/libtncif/tncif.c (renamed from src/libcharon/tnc/tncif.c)0
-rw-r--r--src/libtncif/tncif.h (renamed from src/libcharon/tnc/tncif.h)0
-rw-r--r--src/libtncif/tncifimc.h (renamed from src/libcharon/tnc/tncifimc.h)0
-rw-r--r--src/libtncif/tncifimv.c (renamed from src/libcharon/tnc/tncifimv.c)0
-rw-r--r--src/libtncif/tncifimv.h (renamed from src/libcharon/tnc/tncifimv.h)0
43 files changed, 79 insertions, 45 deletions
diff --git a/configure.in b/configure.in
index 89188b160..b223afd46 100644
--- a/configure.in
+++ b/configure.in
@@ -953,6 +953,7 @@ AM_CONDITIONAL(USE_CONFTEST, test x$conftest = xtrue)
AM_CONDITIONAL(USE_LIBSTRONGSWAN, test x$charon = xtrue -o x$pluto = xtrue -o x$tools = xtrue -o x$conftest = xtrue)
AM_CONDITIONAL(USE_LIBHYDRA, test x$charon = xtrue -o x$pluto = xtrue)
AM_CONDITIONAL(USE_LIBCHARON, test x$charon = xtrue -o x$conftest = xtrue)
+AM_CONDITIONAL(USE_LIBTNCIF, test x$charon = xtrue -o x$conftest = xtrue -o x$imcv = xtrue)
AM_CONDITIONAL(USE_FILE_CONFIG, test x$pluto = xtrue -o x$stroke = xtrue)
AM_CONDITIONAL(USE_IPSEC_SCRIPT, test x$pluto = xtrue -o x$stroke = xtrue -o x$tools = xtrue -o x$conftest = xtrue)
AM_CONDITIONAL(USE_LIBCAP, test x$capabilities = xlibcap)
@@ -1035,6 +1036,7 @@ AC_OUTPUT(
src/libfreeswan/Makefile
src/libsimaka/Makefile
src/libtls/Makefile
+ src/libtncif/Makefile
src/libimcv/Makefile
src/libimcv/plugins/imc_test/Makefile
src/libimcv/plugins/imv_test/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 4bafcbd06..3d56faaf0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,6 +16,10 @@ if USE_TLS
SUBDIRS += libtls
endif
+if USE_LIBTNCIF
+ SUBDIRS += libtncif
+endif
+
if USE_IMCV
SUBDIRS += libimcv
endif
diff --git a/src/libcharon/Makefile.am b/src/libcharon/Makefile.am
index 08f3981ba..27bea75a2 100644
--- a/src/libcharon/Makefile.am
+++ b/src/libcharon/Makefile.am
@@ -90,11 +90,9 @@ sa/tasks/ike_reauth.c sa/tasks/ike_reauth.h \
sa/tasks/ike_auth_lifetime.c sa/tasks/ike_auth_lifetime.h \
sa/tasks/ike_vendor.c sa/tasks/ike_vendor.h \
sa/tasks/task.c sa/tasks/task.h \
-tnc/tncif.h tnc/tncif.c tnc/tncifimc.h tnc/tncifimv.h tnc/tncifimv.c \
tnc/imc/imc.h tnc/imc/imc_manager.h \
tnc/imv/imv.h tnc/imv/imv_manager.h \
tnc/imv/imv_recommendations.c tnc/imv/imv_recommendations.h \
-tnc/pen/pen.h tnc/pen/pen.c \
tnc/tnccs/tnccs.c tnc/tnccs/tnccs.h \
tnc/tnccs/tnccs_manager.c tnc/tnccs/tnccs_manager.h
@@ -104,7 +102,8 @@ INCLUDES = \
-I${linux_headers} \
-I$(top_srcdir)/src/libstrongswan \
-I$(top_srcdir)/src/libhydra \
- -I$(top_srcdir)/src/libcharon
+ -I$(top_srcdir)/src/libcharon \
+ -I$(top_srcdir)/src/libtncif
AM_CFLAGS = \
-DIPSEC_DIR=\"${ipsecdir}\" \
diff --git a/src/libcharon/plugins/tnc_imc/Makefile.am b/src/libcharon/plugins/tnc_imc/Makefile.am
index 2c551813e..42a4ea8d8 100644
--- a/src/libcharon/plugins/tnc_imc/Makefile.am
+++ b/src/libcharon/plugins/tnc_imc/Makefile.am
@@ -1,6 +1,6 @@
INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libhydra \
- -I$(top_srcdir)/src/libcharon
+ -I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libtncif
AM_CFLAGS = -rdynamic
diff --git a/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c b/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c
index ccf6aea67..c8cc06e0f 100644
--- a/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c
+++ b/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c
@@ -16,7 +16,8 @@
#include "tnc_imc_manager.h"
#include <tnc/imc/imc_manager.h>
-#include <tnc/tncifimc.h>
+
+#include <tncifimc.h>
#include <debug.h>
#include <library.h>
diff --git a/src/libcharon/plugins/tnc_imv/Makefile.am b/src/libcharon/plugins/tnc_imv/Makefile.am
index 3ba283bb7..6ad7cfff3 100644
--- a/src/libcharon/plugins/tnc_imv/Makefile.am
+++ b/src/libcharon/plugins/tnc_imv/Makefile.am
@@ -1,6 +1,6 @@
INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libhydra \
- -I$(top_srcdir)/src/libcharon
+ -I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libtncif
AM_CFLAGS = -rdynamic
@@ -8,6 +8,7 @@ if MONOLITHIC
noinst_LTLIBRARIES = libstrongswan-tnc-imv.la
else
plugin_LTLIBRARIES = libstrongswan-tnc-imv.la
+libstrongswan_tnc_imv_la_LIBADD = $(top_builddir)/src/libtncif/libtncif.la
endif
libstrongswan_tnc_imv_la_SOURCES = \
diff --git a/src/libcharon/plugins/tnc_imv/tnc_imv_manager.c b/src/libcharon/plugins/tnc_imv/tnc_imv_manager.c
index 579ab06ff..28d7f735f 100644
--- a/src/libcharon/plugins/tnc_imv/tnc_imv_manager.c
+++ b/src/libcharon/plugins/tnc_imv/tnc_imv_manager.c
@@ -17,7 +17,8 @@
#include "tnc_imv_recommendations.h"
#include <tnc/imv/imv_manager.h>
-#include <tnc/tncifimv.h>
+
+#include <tncifimv.h>
#include <debug.h>
#include <daemon.h>
diff --git a/src/libcharon/plugins/tnc_imv/tnc_imv_recommendations.c b/src/libcharon/plugins/tnc_imv/tnc_imv_recommendations.c
index 5cc6b0ced..960377957 100644
--- a/src/libcharon/plugins/tnc_imv/tnc_imv_recommendations.c
+++ b/src/libcharon/plugins/tnc_imv/tnc_imv_recommendations.c
@@ -14,7 +14,9 @@
#include <debug.h>
#include <daemon.h>
-#include <tnc/tncifimv.h>
+
+#include <tncifimv.h>
+
#include <tnc/imv/imv.h>
#include <tnc/imv/imv_recommendations.h>
diff --git a/src/libcharon/plugins/tnccs_11/Makefile.am b/src/libcharon/plugins/tnccs_11/Makefile.am
index 1042c3514..165346a49 100644
--- a/src/libcharon/plugins/tnccs_11/Makefile.am
+++ b/src/libcharon/plugins/tnccs_11/Makefile.am
@@ -1,6 +1,7 @@
INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libhydra \
- -I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libtls ${xml_CFLAGS}
+ -I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libtls \
+ -I$(top_srcdir)/src/libtncif ${xml_CFLAGS}
AM_CFLAGS = -rdynamic
@@ -10,6 +11,7 @@ if MONOLITHIC
noinst_LTLIBRARIES = libstrongswan-tnccs-11.la
else
plugin_LTLIBRARIES = libstrongswan-tnccs-11.la
+libstrongswan_tnccs_11_la_LIBADD += $(top_builddir)/src/libtncif/libtncif.la
endif
libstrongswan_tnccs_11_la_SOURCES = \
diff --git a/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.h b/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.h
index 02f07199f..3477fa74e 100644
--- a/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.h
+++ b/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.h
@@ -25,7 +25,7 @@ typedef struct imc_imv_msg_t imc_imv_msg_t;
#include "tnccs_msg.h"
-#include <tnc/tncif.h>
+#include <tncif.h>
/**
* Classs representing the PB-PA message type.
diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.h b/src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.h
index d301ab2bb..c2de7fe4d 100644
--- a/src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.h
+++ b/src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.h
@@ -25,7 +25,7 @@ typedef struct tnccs_preferred_language_msg_t tnccs_preferred_language_msg_t;
#include "tnccs_msg.h"
-#include <tnc/tncif.h>
+#include <tncif.h>
/**
* Class representing the TNCCS-PreferredLanguage message type
diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.h b/src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.h
index 685049e95..3a67a3b32 100644
--- a/src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.h
+++ b/src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.h
@@ -25,7 +25,7 @@ typedef struct tnccs_recommendation_msg_t tnccs_recommendation_msg_t;
#include "tnccs_msg.h"
-#include <tnc/tncifimv.h>
+#include <tncifimv.h>
/**
* Class representing the TNCCS-Recommendation message type
diff --git a/src/libcharon/plugins/tnccs_11/tnccs_11.c b/src/libcharon/plugins/tnccs_11/tnccs_11.c
index 86f1c269f..ed2576448 100644
--- a/src/libcharon/plugins/tnccs_11/tnccs_11.c
+++ b/src/libcharon/plugins/tnccs_11/tnccs_11.c
@@ -25,8 +25,6 @@
#include <daemon.h>
#include <debug.h>
#include <threading/mutex.h>
-#include <tnc/tncif.h>
-#include <tnc/tncifimv.h>
#include <tnc/tnccs/tnccs.h>
typedef struct private_tnccs_11_t private_tnccs_11_t;
diff --git a/src/libcharon/plugins/tnccs_20/Makefile.am b/src/libcharon/plugins/tnccs_20/Makefile.am
index a5200869e..9a1e915c2 100644
--- a/src/libcharon/plugins/tnccs_20/Makefile.am
+++ b/src/libcharon/plugins/tnccs_20/Makefile.am
@@ -1,6 +1,7 @@
INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libhydra \
- -I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libtls
+ -I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libtls \
+ -I$(top_srcdir)/src/libtncif
AM_CFLAGS = -rdynamic
@@ -8,6 +9,7 @@ if MONOLITHIC
noinst_LTLIBRARIES = libstrongswan-tnccs-20.la
else
plugin_LTLIBRARIES = libstrongswan-tnccs-20.la
+libstrongswan_tnccs_20_la_LIBADD = $(top_builddir)/src/libtncif/libtncif.la
endif
libstrongswan_tnccs_20_la_SOURCES = \
diff --git a/src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c b/src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c
index 28c42c28e..efc6d3e4b 100644
--- a/src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c
+++ b/src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c
@@ -23,7 +23,7 @@
#include <bio/bio_writer.h>
#include <bio/bio_reader.h>
#include <tnc/tnccs/tnccs.h>
-#include <tnc/pen/pen.h>
+#include <pen/pen.h>
ENUM(pb_tnc_batch_type_names, PB_BATCH_CDATA, PB_BATCH_CLOSE,
"CDATA",
diff --git a/src/libcharon/plugins/tnccs_20/messages/pb_assessment_result_msg.c b/src/libcharon/plugins/tnccs_20/messages/pb_assessment_result_msg.c
index cb10e009b..0d558c0d4 100644
--- a/src/libcharon/plugins/tnccs_20/messages/pb_assessment_result_msg.c
+++ b/src/libcharon/plugins/tnccs_20/messages/pb_assessment_result_msg.c
@@ -15,9 +15,10 @@
#include "pb_assessment_result_msg.h"
+#include <tncifimv.h>
+
#include <bio/bio_writer.h>
#include <bio/bio_reader.h>
-#include <tnc/tncifimv.h>
#include <debug.h>
typedef struct private_pb_assessment_result_msg_t private_pb_assessment_result_msg_t;
diff --git a/src/libcharon/plugins/tnccs_20/messages/pb_error_msg.c b/src/libcharon/plugins/tnccs_20/messages/pb_error_msg.c
index 325143972..a90e734ec 100644
--- a/src/libcharon/plugins/tnccs_20/messages/pb_error_msg.c
+++ b/src/libcharon/plugins/tnccs_20/messages/pb_error_msg.c
@@ -19,7 +19,7 @@
#include <bio/bio_writer.h>
#include <bio/bio_reader.h>
#include <tnc/tnccs/tnccs.h>
-#include <tnc/pen/pen.h>
+#include <pen/pen.h>
ENUM(pb_tnc_error_code_names, PB_ERROR_UNEXPECTED_BATCH_TYPE,
PB_ERROR_VERSION_NOT_SUPPORTED,
diff --git a/src/libcharon/plugins/tnccs_20/messages/pb_pa_msg.c b/src/libcharon/plugins/tnccs_20/messages/pb_pa_msg.c
index 2f36e15af..9126a0f91 100644
--- a/src/libcharon/plugins/tnccs_20/messages/pb_pa_msg.c
+++ b/src/libcharon/plugins/tnccs_20/messages/pb_pa_msg.c
@@ -20,7 +20,7 @@
#include <bio/bio_writer.h>
#include <bio/bio_reader.h>
#include <tnc/tnccs/tnccs.h>
-#include <tnc/pen/pen.h>
+#include <pen/pen.h>
#include <debug.h>
ENUM(pa_tnc_subtype_names, PA_SUBTYPE_TESTING, PA_SUBTYPE_NEA_CLIENT,
diff --git a/src/libcharon/plugins/tnccs_20/tnccs_20.c b/src/libcharon/plugins/tnccs_20/tnccs_20.c
index 3d7853d28..df3fe8504 100644
--- a/src/libcharon/plugins/tnccs_20/tnccs_20.c
+++ b/src/libcharon/plugins/tnccs_20/tnccs_20.c
@@ -29,10 +29,8 @@
#include <debug.h>
#include <daemon.h>
#include <threading/mutex.h>
-#include <tnc/tncif.h>
-#include <tnc/tncifimv.h>
#include <tnc/tnccs/tnccs.h>
-#include <tnc/pen/pen.h>
+#include <pen/pen.h>
typedef struct private_tnccs_20_t private_tnccs_20_t;
diff --git a/src/libcharon/tnc/imc/imc.h b/src/libcharon/tnc/imc/imc.h
index fe8f25b0f..ddedf714c 100644
--- a/src/libcharon/tnc/imc/imc.h
+++ b/src/libcharon/tnc/imc/imc.h
@@ -24,7 +24,8 @@
#ifndef IMC_H_
#define IMC_H_
-#include <tnc/tncifimc.h>
+#include <tncifimc.h>
+
#include <library.h>
typedef struct imc_t imc_t;
diff --git a/src/libcharon/tnc/imv/imv.h b/src/libcharon/tnc/imv/imv.h
index 26874ab0b..df338d40a 100644
--- a/src/libcharon/tnc/imv/imv.h
+++ b/src/libcharon/tnc/imv/imv.h
@@ -24,7 +24,8 @@
#ifndef IMV_H_
#define IMV_H_
-#include <tnc/tncifimv.h>
+#include <tncifimv.h>
+
#include <library.h>
typedef struct imv_t imv_t;
diff --git a/src/libcharon/tnc/imv/imv_recommendations.h b/src/libcharon/tnc/imv/imv_recommendations.h
index 3a6e25c9f..071b6b38a 100644
--- a/src/libcharon/tnc/imv/imv_recommendations.h
+++ b/src/libcharon/tnc/imv/imv_recommendations.h
@@ -21,7 +21,7 @@
#ifndef IMV_RECOMMENDATIONS_H_
#define IMV_RECOMMENDATIONS_H_
-#include <tnc/tncifimv.h>
+#include <tncifimv.h>
#include <library.h>
typedef enum recommendation_policy_t recommendation_policy_t;
diff --git a/src/libcharon/tnc/tnccs/tnccs.h b/src/libcharon/tnc/tnccs/tnccs.h
index f97282ce9..dc8a422f7 100644
--- a/src/libcharon/tnc/tnccs/tnccs.h
+++ b/src/libcharon/tnc/tnccs/tnccs.h
@@ -24,9 +24,10 @@
#ifndef TNCCS_H_
#define TNCCS_H_
-#include <tnc/tncif.h>
-#include <tnc/tncifimc.h>
-#include <tnc/tncifimv.h>
+#include <tncif.h>
+#include <tncifimc.h>
+#include <tncifimv.h>
+
#include <library.h>
typedef enum tnccs_type_t tnccs_type_t;
diff --git a/src/libimcv/Makefile.am b/src/libimcv/Makefile.am
index 4df819db6..ffce14a7d 100644
--- a/src/libimcv/Makefile.am
+++ b/src/libimcv/Makefile.am
@@ -1,8 +1,10 @@
-INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libcharon
+INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libtncif
noinst_LTLIBRARIES = libimcv.la
+libimcv_la_LIBADD = $(top_builddir)/src/libtncif/libtncif.la
+
libimcv_la_SOURCES = \
imc/imc_agent.h imc/imc_agent.c imc/imc_state.h \
imv/imv_agent.h imv/imv_agent.c imv/imv_state.h \
diff --git a/src/libimcv/imc/imc_agent.h b/src/libimcv/imc/imc_agent.h
index 1112fb37f..7c7ef732b 100644
--- a/src/libimcv/imc/imc_agent.h
+++ b/src/libimcv/imc/imc_agent.h
@@ -23,8 +23,9 @@
#include "imc_state.h"
-#include <tnc/tncifimc.h>
-#include <tnc/pen/pen.h>
+#include <tncifimc.h>
+#include <pen/pen.h>
+
#include <library.h>
typedef struct imc_agent_t imc_agent_t;
diff --git a/src/libimcv/imc/imc_state.h b/src/libimcv/imc/imc_state.h
index 9d46a57b2..73013f8ce 100644
--- a/src/libimcv/imc/imc_state.h
+++ b/src/libimcv/imc/imc_state.h
@@ -21,7 +21,8 @@
#ifndef IMC_STATE_H_
#define IMC_STATE_H_
-#include <tnc/tncif.h>
+#include <tncif.h>
+
#include <library.h>
typedef struct imc_state_t imc_state_t;
diff --git a/src/libimcv/imv/imv_agent.h b/src/libimcv/imv/imv_agent.h
index 04f113474..d0816b3ad 100644
--- a/src/libimcv/imv/imv_agent.h
+++ b/src/libimcv/imv/imv_agent.h
@@ -23,8 +23,9 @@
#include "imv_state.h"
-#include <tnc/tncifimv.h>
-#include <tnc/pen/pen.h>
+#include <tncifimv.h>
+#include <pen/pen.h>
+
#include <library.h>
typedef struct imv_agent_t imv_agent_t;
diff --git a/src/libimcv/imv/imv_state.h b/src/libimcv/imv/imv_state.h
index dcf7af6bb..a2559643f 100644
--- a/src/libimcv/imv/imv_state.h
+++ b/src/libimcv/imv/imv_state.h
@@ -21,7 +21,8 @@
#ifndef IMV_STATE_H_
#define IMV_STATE_H_
-#include <tnc/tncifimv.h>
+#include <tncifimv.h>
+
#include <library.h>
typedef struct imv_state_t imv_state_t;
diff --git a/src/libimcv/ita/ita_attr_command.c b/src/libimcv/ita/ita_attr_command.c
index 33f97a1a9..d8c18b55c 100644
--- a/src/libimcv/ita/ita_attr_command.c
+++ b/src/libimcv/ita/ita_attr_command.c
@@ -14,7 +14,8 @@
#include "ita_attr_command.h"
-#include <tnc/pen/pen.h>
+#include <pen/pen.h>
+
#include <debug.h>
typedef struct private_ita_attr_command_t private_ita_attr_command_t;
diff --git a/src/libimcv/pa_tnc/pa_tnc_attr.h b/src/libimcv/pa_tnc/pa_tnc_attr.h
index b594a4608..c1ef6d52a 100644
--- a/src/libimcv/pa_tnc/pa_tnc_attr.h
+++ b/src/libimcv/pa_tnc/pa_tnc_attr.h
@@ -24,7 +24,7 @@
typedef struct pa_tnc_attr_t pa_tnc_attr_t;
#include <library.h>
-#include <tnc/pen/pen.h>
+#include <pen/pen.h>
/**
* Interface for an RFC 5792 PA-TNC Posture Attribute.
diff --git a/src/libimcv/plugins/imc_test/Makefile.am b/src/libimcv/plugins/imc_test/Makefile.am
index ffad4e445..893d32a00 100644
--- a/src/libimcv/plugins/imc_test/Makefile.am
+++ b/src/libimcv/plugins/imc_test/Makefile.am
@@ -1,12 +1,13 @@
-INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libhydra \
- -I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libimcv
+INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libtncif \
+ -I$(top_srcdir)/src/libimcv
AM_CFLAGS = -rdynamic
plugin_LTLIBRARIES = libstrongswan-imc-test.la
-libstrongswan_imc_test_la_LIBADD = $(top_builddir)/src/libimcv/libimcv.la
+libstrongswan_imc_test_la_LIBADD = $(top_builddir)/src/libimcv/libimcv.la \
+ $(top_builddir)/src/libstrongswan/libstrongswan.la
libstrongswan_imc_test_la_SOURCES = imc_test.c \
imc_test_state.h imc_test_state.c
diff --git a/src/libimcv/plugins/imc_test/imc_test.c b/src/libimcv/plugins/imc_test/imc_test.c
index ad5d3b059..752a66ef5 100644
--- a/src/libimcv/plugins/imc_test/imc_test.c
+++ b/src/libimcv/plugins/imc_test/imc_test.c
@@ -17,7 +17,9 @@
#include <imc/imc_agent.h>
#include <pa_tnc/pa_tnc_msg.h>
#include <ita/ita_attr_command.h>
-#include <tnc/pen/pen.h>
+
+#include <pen/pen.h>
+
#include <debug.h>
/* IMC definitions */
diff --git a/src/libimcv/plugins/imv_test/Makefile.am b/src/libimcv/plugins/imv_test/Makefile.am
index 59a6cc806..a3a3c1d37 100644
--- a/src/libimcv/plugins/imv_test/Makefile.am
+++ b/src/libimcv/plugins/imv_test/Makefile.am
@@ -1,12 +1,13 @@
-INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libhydra \
- -I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libimcv
+INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libtncif \
+ -I$(top_srcdir)/src/libimcv
AM_CFLAGS = -rdynamic
plugin_LTLIBRARIES = libstrongswan-imv-test.la
-libstrongswan_imv_test_la_LIBADD = $(top_builddir)/src/libimcv/libimcv.la
+libstrongswan_imv_test_la_LIBADD = $(top_builddir)/src/libimcv/libimcv.la \
+ $(top_builddir)/src/libstrongswan/libstrongswan.la
libstrongswan_imv_test_la_SOURCES = imv_test.c \
imv_test_state.h imv_test_state.c
diff --git a/src/libimcv/plugins/imv_test/imv_test.c b/src/libimcv/plugins/imv_test/imv_test.c
index 92605d136..a6540c1cb 100644
--- a/src/libimcv/plugins/imv_test/imv_test.c
+++ b/src/libimcv/plugins/imv_test/imv_test.c
@@ -17,7 +17,9 @@
#include <imv/imv_agent.h>
#include <pa_tnc/pa_tnc_msg.h>
#include <ita/ita_attr_command.h>
-#include <tnc/pen/pen.h>
+
+#include <pen/pen.h>
+
#include <debug.h>
/* IMV definitions */
diff --git a/src/libstrongswan/Makefile.am b/src/libstrongswan/Makefile.am
index 5ae8d7351..626270020 100644
--- a/src/libstrongswan/Makefile.am
+++ b/src/libstrongswan/Makefile.am
@@ -49,6 +49,7 @@ credentials/cert_validator.h \
database/database.h database/database_factory.h database/database_factory.c \
fetcher/fetcher.h fetcher/fetcher.c fetcher/fetcher_manager.h fetcher/fetcher_manager.c \
eap/eap.h eap/eap.c \
+pen/pen.h pen/pen.c \
plugins/plugin_loader.c plugins/plugin_loader.h plugins/plugin.h \
processing/jobs/job.h processing/jobs/job.c \
processing/jobs/callback_job.c processing/jobs/callback_job.h \
diff --git a/src/libcharon/tnc/pen/pen.c b/src/libstrongswan/pen/pen.c
index 3dd92218d..3dd92218d 100644
--- a/src/libcharon/tnc/pen/pen.c
+++ b/src/libstrongswan/pen/pen.c
diff --git a/src/libcharon/tnc/pen/pen.h b/src/libstrongswan/pen/pen.h
index e6eb7fc53..e6eb7fc53 100644
--- a/src/libcharon/tnc/pen/pen.h
+++ b/src/libstrongswan/pen/pen.h
diff --git a/src/libtncif/Makefile.am b/src/libtncif/Makefile.am
new file mode 100644
index 000000000..689f509fa
--- /dev/null
+++ b/src/libtncif/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I$(top_srcdir)/src/libstrongswan
+
+noinst_LTLIBRARIES = libtncif.la
+
+libtncif_la_SOURCES = tncif.h tncif.c tncifimc.h tncifimv.h tncifimv.c
+
diff --git a/src/libcharon/tnc/tncif.c b/src/libtncif/tncif.c
index b195685a3..b195685a3 100644
--- a/src/libcharon/tnc/tncif.c
+++ b/src/libtncif/tncif.c
diff --git a/src/libcharon/tnc/tncif.h b/src/libtncif/tncif.h
index 42a0232c7..42a0232c7 100644
--- a/src/libcharon/tnc/tncif.h
+++ b/src/libtncif/tncif.h
diff --git a/src/libcharon/tnc/tncifimc.h b/src/libtncif/tncifimc.h
index c6ddabd45..c6ddabd45 100644
--- a/src/libcharon/tnc/tncifimc.h
+++ b/src/libtncif/tncifimc.h
diff --git a/src/libcharon/tnc/tncifimv.c b/src/libtncif/tncifimv.c
index fbfd56566..fbfd56566 100644
--- a/src/libcharon/tnc/tncifimv.c
+++ b/src/libtncif/tncifimv.c
diff --git a/src/libcharon/tnc/tncifimv.h b/src/libtncif/tncifimv.h
index 4ec101337..4ec101337 100644
--- a/src/libcharon/tnc/tncifimv.h
+++ b/src/libtncif/tncifimv.h