]> git.ipfire.org Git - people/ms/strongswan.git/blobdiff - configure.in
Merge branch 'ikev1-clean' into ikev1-master
[people/ms/strongswan.git] / configure.in
index 1d28cfac2f67dc84df680c7667201381fe5cfc70..b99487aea44a0705eabb546c444f12044a41756c 100755 (executable)
@@ -92,6 +92,7 @@ ARG_DISBL_SET([revocation],     [disable X509 CRL/OCSP revocation check plugin.]
 ARG_DISBL_SET([constraints],    [disable advanced X509 constraint checking plugin.])
 ARG_DISBL_SET([pubkey],         [disable RAW public key support plugin.])
 ARG_DISBL_SET([pkcs1],          [disable PKCS1 key decoding plugin.])
+ARG_DISBL_SET([pkcs8],          [disable PKCS8 private key decoding plugin.])
 ARG_DISBL_SET([pgp],            [disable PGP key decoding plugin.])
 ARG_DISBL_SET([dnskey],         [disable DNS RR key decoding plugin.])
 ARG_DISBL_SET([pem],            [disable PEM decoding plugin.])
@@ -132,6 +133,7 @@ ARG_ENABL_SET([eap-radius],     [enable RADIUS proxy authentication module.])
 ARG_ENABL_SET([xauth-generic],  [enable generic XAuth backend.])
 ARG_ENABL_SET([xauth-eap],      [enable XAuth backend using EAP methods to verify passwords.])
 ARG_ENABL_SET([tnc-ifmap],      [enable TNC IF-MAP module.])
+ARG_ENABL_SET([tnc-pdp],        [enable TNC policy decision point module.])
 ARG_ENABL_SET([tnc-imc],        [enable TNC IMC module.])
 ARG_ENABL_SET([tnc-imv],        [enable TNC IMV module.])
 ARG_ENABL_SET([tnccs-11],       [enable TNCCS 1.1 protocol module.])
@@ -194,6 +196,7 @@ ARG_ENABL_SET([certexpire],     [enable CSV export of expiration dates of used c
 ARG_ENABL_SET([led],            [enable plugin to control LEDs on IKEv2 activity using the Linux kernel LED subsystem.])
 ARG_ENABL_SET([duplicheck],     [advanced duplicate checking plugin using liveness checks.])
 ARG_ENABL_SET([coupling],       [enable IKEv2 plugin to couple peer certificates permanently to authentication.])
+ARG_ENABL_SET([radattr],        [enable plugin to inject and process custom RADIUS attributes as IKEv2 client.])
 ARG_ENABL_SET([vstr],           [enforce using the Vstr string library to replace glibc-like printf hooks.])
 ARG_ENABL_SET([monolithic],     [build monolithic version of libstrongswan that includes all enabled plugins. Similarly, the plugins of charon are assembled in libcharon.])
 
@@ -255,7 +258,11 @@ if test x$eap_tls = xtrue -o x$eap_ttls = xtrue -o x$eap_peap = xtrue; then
        tls=true;
 fi
 
-if test x$tnc_imc = xtrue -o x$tnc_imv = xtrue -o x$tnccs_11 = xtrue -o x$tnccs_11 = xtrue -o x$tnccs_dynamic = xtrue; then
+if test x$eap_radius = xtrue -o x$radattr = xtrue -o x$tnc_pdp = xtrue; then
+       radius=true;
+fi
+
+if test x$tnc_imc = xtrue -o x$tnc_imv = xtrue -o x$tnccs_11 = xtrue -o x$tnccs_11 = xtrue -o x$tnccs_dynamic = xtrue -o x$eap_tnc = xtrue; then
        tnc_tnccs=true;
 fi
 
@@ -384,6 +391,22 @@ dnl check if native rwlocks are available
 AC_CHECK_FUNCS(pthread_rwlock_init)
 LIBS=$saved_LIBS
 
+AC_CHECK_FUNC(
+       [gettid],
+       [AC_DEFINE(HAVE_GETTID)],
+       [AC_MSG_CHECKING([for SYS_gettid])
+        AC_TRY_COMPILE(
+               [#define _GNU_SOURCE
+                #include <unistd.h>
+                #include <sys/syscall.h>],
+               [int main() {
+                       return syscall(SYS_gettid);}],
+               [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_GETTID])
+                AC_DEFINE([HAVE_SYS_GETTID])],
+               [AC_MSG_RESULT([no])]
+       )]
+)
+
 AC_CHECK_FUNCS(prctl mallinfo getpass closefrom)
 
 AC_CHECK_HEADERS(sys/sockio.h glob.h)
@@ -570,6 +593,11 @@ if test x$axis2c = xtrue; then
        AC_SUBST(axis2c_LIBS)
 fi
 
+if test x$imc_attestation = xtrue -o x$imv_attestation = xtrue; then
+       AC_HAVE_LIBRARY([tspi],[LIBS="$LIBS"],[AC_MSG_ERROR([TrouSerS library libtspi not found])])
+       AC_CHECK_HEADER([trousers/tss.h],,[AC_MSG_ERROR([TrouSerS header trousers/tss.h not found!])])
+fi
+
 if test x$dumm = xtrue; then
        PKG_CHECK_MODULES(gtk, [gtk+-2.0 vte])
        AC_SUBST(gtk_CFLAGS)
@@ -762,6 +790,7 @@ libcharon_plugins=
 pluto_plugins=
 starter_plugins=
 pool_plugins=
+attest_plugins=
 openac_plugins=
 scepclient_plugins=
 pki_plugins=
@@ -780,31 +809,32 @@ ADD_PLUGIN([test-vectors],         [s libcharon pluto openac scepclient pki])
 ADD_PLUGIN([curl],                 [s libcharon pluto scepclient scripts])
 ADD_PLUGIN([soup],                 [s libcharon pluto scripts])
 ADD_PLUGIN([ldap],                 [s libcharon pluto scepclient scripts])
-ADD_PLUGIN([mysql],                [s libcharon pluto pool manager medsrv])
-ADD_PLUGIN([sqlite],               [s libcharon pluto pool manager medsrv])
+ADD_PLUGIN([mysql],                [s libcharon pluto pool manager medsrv attest])
+ADD_PLUGIN([sqlite],               [s libcharon pluto pool manager medsrv attest])
 ADD_PLUGIN([pkcs11],               [s libcharon pki])
 ADD_PLUGIN([aes],                  [s libcharon pluto openac scepclient pki scripts])
 ADD_PLUGIN([des],                  [s libcharon pluto openac scepclient pki scripts])
 ADD_PLUGIN([blowfish],             [s libcharon pluto openac scepclient pki scripts])
-ADD_PLUGIN([sha1],                 [s libcharon pluto openac scepclient pki scripts medsrv])
-ADD_PLUGIN([sha2],                 [s libcharon pluto openac scepclient pki scripts medsrv])
+ADD_PLUGIN([sha1],                 [s libcharon pluto openac scepclient pki scripts medsrv attest])
+ADD_PLUGIN([sha2],                 [s libcharon pluto openac scepclient pki scripts medsrv attest])
 ADD_PLUGIN([md4],                  [s libcharon openac manager scepclient pki])
-ADD_PLUGIN([md5],                  [s libcharon pluto openac scepclient pki scripts])
-ADD_PLUGIN([random],               [s libcharon pluto openac scepclient pki scripts medsrv])
-ADD_PLUGIN([x509],                 [s libcharon pluto openac scepclient pki scripts])
+ADD_PLUGIN([md5],                  [s libcharon pluto openac scepclient pki scripts attest])
+ADD_PLUGIN([random],               [s libcharon pluto openac scepclient pki scripts medsrv attest])
+ADD_PLUGIN([x509],                 [s libcharon pluto openac scepclient pki scripts attest])
 ADD_PLUGIN([revocation],           [s libcharon])
 ADD_PLUGIN([constraints],          [s libcharon])
 ADD_PLUGIN([pubkey],               [s libcharon])
-ADD_PLUGIN([pkcs1],                [s libcharon pluto openac scepclient pki scripts manager medsrv])
+ADD_PLUGIN([pkcs1],                [s libcharon pluto openac scepclient pki scripts manager medsrv attest])
+ADD_PLUGIN([pkcs8],                [s libcharon pluto openac scepclient pki scripts manager medsrv attest])
 ADD_PLUGIN([pgp],                  [s libcharon pluto])
 ADD_PLUGIN([dnskey],               [s pluto])
-ADD_PLUGIN([pem],                  [s libcharon pluto openac scepclient pki scripts manager medsrv])
+ADD_PLUGIN([pem],                  [s libcharon pluto openac scepclient pki scripts manager medsrv attest])
 ADD_PLUGIN([padlock],              [s libcharon])
-ADD_PLUGIN([openssl],              [s libcharon pluto openac scepclient pki scripts manager medsrv])
-ADD_PLUGIN([gcrypt],               [s libcharon pluto openac scepclient pki scripts manager medsrv])
-ADD_PLUGIN([af-alg],               [s libcharon pluto openac scepclient pki scripts medsrv])
+ADD_PLUGIN([openssl],              [s libcharon pluto openac scepclient pki scripts manager medsrv attest])
+ADD_PLUGIN([gcrypt],               [s libcharon pluto openac scepclient pki scripts manager medsrv attest])
+ADD_PLUGIN([af-alg],               [s libcharon pluto openac scepclient pki scripts medsrv attest])
 ADD_PLUGIN([fips-prf],             [s libcharon])
-ADD_PLUGIN([gmp],                  [s libcharon pluto openac scepclient pki scripts manager medsrv])
+ADD_PLUGIN([gmp],                  [s libcharon pluto openac scepclient pki scripts manager medsrv attest])
 ADD_PLUGIN([agent],                [s libcharon])
 ADD_PLUGIN([xcbc],                 [s libcharon])
 ADD_PLUGIN([hmac],                 [s libcharon pluto scripts])
@@ -848,6 +878,7 @@ ADD_PLUGIN([eap-tnc],              [c libcharon])
 ADD_PLUGIN([xauth-generic],        [c libcharon])
 ADD_PLUGIN([xauth-eap],            [c libcharon])
 ADD_PLUGIN([tnc-ifmap],            [c libcharon])
+ADD_PLUGIN([tnc-pdp],              [c libcharon])
 ADD_PLUGIN([tnc-imc],              [c libcharon])
 ADD_PLUGIN([tnc-imv],              [c libcharon])
 ADD_PLUGIN([tnc-tnccs],            [c libcharon])
@@ -865,6 +896,7 @@ ADD_PLUGIN([certexpire],           [c libcharon])
 ADD_PLUGIN([led],                  [c libcharon])
 ADD_PLUGIN([duplicheck],           [c libcharon])
 ADD_PLUGIN([coupling],             [c libcharon])
+ADD_PLUGIN([radattr],              [c libcharon])
 ADD_PLUGIN([maemo],                [c libcharon])
 ADD_PLUGIN([uci],                  [c libcharon])
 ADD_PLUGIN([addrblock],            [c libcharon])
@@ -874,6 +906,7 @@ AC_SUBST(libcharon_plugins)
 AC_SUBST(pluto_plugins)
 AC_SUBST(starter_plugins)
 AC_SUBST(pool_plugins)
+AC_SUBST(attest_plugins)
 AC_SUBST(openac_plugins)
 AC_SUBST(scepclient_plugins)
 AC_SUBST(pki_plugins)
@@ -911,6 +944,7 @@ AM_CONDITIONAL(USE_REVOCATION, test x$revocation = xtrue)
 AM_CONDITIONAL(USE_CONSTRAINTS, test x$constraints = xtrue)
 AM_CONDITIONAL(USE_PUBKEY, test x$pubkey = xtrue)
 AM_CONDITIONAL(USE_PKCS1, test x$pkcs1 = xtrue)
+AM_CONDITIONAL(USE_PKCS8, test x$pkcs8 = xtrue)
 AM_CONDITIONAL(USE_PGP, test x$pgp = xtrue)
 AM_CONDITIONAL(USE_DNSKEY, test x$dnskey = xtrue)
 AM_CONDITIONAL(USE_PEM, test x$pem = xtrue)
@@ -949,6 +983,7 @@ AM_CONDITIONAL(USE_CERTEXPIRE, test x$certexpire = xtrue)
 AM_CONDITIONAL(USE_LED, test x$led = xtrue)
 AM_CONDITIONAL(USE_DUPLICHECK, test x$duplicheck = xtrue)
 AM_CONDITIONAL(USE_COUPLING, test x$coupling = xtrue)
+AM_CONDITIONAL(USE_RADATTR, test x$radattr = xtrue)
 AM_CONDITIONAL(USE_EAP_SIM, test x$eap_sim = xtrue)
 AM_CONDITIONAL(USE_EAP_SIM_FILE, test x$eap_sim_file = xtrue)
 AM_CONDITIONAL(USE_EAP_SIM_PCSC, test x$eap_sim_pcsc = xtrue)
@@ -969,6 +1004,7 @@ AM_CONDITIONAL(USE_EAP_RADIUS, test x$eap_radius = xtrue)
 AM_CONDITIONAL(USE_XAUTH_GENERIC, test x$xauth_generic = xtrue)
 AM_CONDITIONAL(USE_XAUTH_EAP, test x$xauth_eap = xtrue)
 AM_CONDITIONAL(USE_TNC_IFMAP, test x$tnc_ifmap = xtrue)
+AM_CONDITIONAL(USE_TNC_PDP, test x$tnc_pdp = xtrue)
 AM_CONDITIONAL(USE_TNC_IMC, test x$tnc_imc = xtrue)
 AM_CONDITIONAL(USE_TNC_IMV, test x$tnc_imv = xtrue)
 AM_CONDITIONAL(USE_TNC_TNCCS, test x$tnc_tnccs = xtrue)
@@ -1025,10 +1061,10 @@ AM_CONDITIONAL(USE_CHARON, test x$charon = xtrue)
 AM_CONDITIONAL(USE_TOOLS, test x$tools = xtrue)
 AM_CONDITIONAL(USE_SCRIPTS, test x$scripts = xtrue)
 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_LIBSTRONGSWAN, test x$charon = xtrue -o x$pluto = xtrue -o x$tools = xtrue -o x$conftest = xtrue -o x$fast = xtrue -o x$imcv = 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_LIBTNCIF, test x$tnc_tnccs = xtrue -o x$imcv = xtrue)
 AM_CONDITIONAL(USE_LIBTNCCS, test x$tnc_tnccs = 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)
@@ -1036,6 +1072,7 @@ AM_CONDITIONAL(USE_LIBCAP, test x$capabilities = xlibcap)
 AM_CONDITIONAL(USE_VSTR, test x$vstr = xtrue)
 AM_CONDITIONAL(USE_SIMAKA, test x$simaka = xtrue)
 AM_CONDITIONAL(USE_TLS, test x$tls = xtrue)
+AM_CONDITIONAL(USE_RADIUS, test x$radius = xtrue)
 AM_CONDITIONAL(USE_IMCV, test x$imcv = xtrue)
 AM_CONDITIONAL(USE_PTS, test x$pts = xtrue)
 AM_CONDITIONAL(MONOLITHIC, test x$monolithic = xtrue)
@@ -1089,6 +1126,7 @@ AC_OUTPUT(
        src/libstrongswan/plugins/constraints/Makefile
        src/libstrongswan/plugins/pubkey/Makefile
        src/libstrongswan/plugins/pkcs1/Makefile
+       src/libstrongswan/plugins/pkcs8/Makefile
        src/libstrongswan/plugins/pgp/Makefile
        src/libstrongswan/plugins/dnskey/Makefile
        src/libstrongswan/plugins/pem/Makefile
@@ -1118,16 +1156,17 @@ AC_OUTPUT(
        src/libfreeswan/Makefile
        src/libsimaka/Makefile
        src/libtls/Makefile
+       src/libradius/Makefile
        src/libtncif/Makefile
        src/libtnccs/Makefile
        src/libpts/Makefile
+       src/libpts/plugins/imc_attestation/Makefile
+       src/libpts/plugins/imv_attestation/Makefile
        src/libimcv/Makefile
        src/libimcv/plugins/imc_test/Makefile
        src/libimcv/plugins/imv_test/Makefile
        src/libimcv/plugins/imc_scanner/Makefile
        src/libimcv/plugins/imv_scanner/Makefile
-       src/libimcv/plugins/imc_attestation/Makefile
-       src/libimcv/plugins/imv_attestation/Makefile
        src/pluto/Makefile
        src/pluto/plugins/xauth/Makefile
        src/whack/Makefile
@@ -1153,6 +1192,7 @@ AC_OUTPUT(
        src/libcharon/plugins/xauth_generic/Makefile
        src/libcharon/plugins/xauth_eap/Makefile
        src/libcharon/plugins/tnc_ifmap/Makefile
+       src/libcharon/plugins/tnc_pdp/Makefile
        src/libcharon/plugins/tnc_imc/Makefile
        src/libcharon/plugins/tnc_imv/Makefile
        src/libcharon/plugins/tnc_tnccs/Makefile
@@ -1176,6 +1216,7 @@ AC_OUTPUT(
        src/libcharon/plugins/led/Makefile
        src/libcharon/plugins/duplicheck/Makefile
        src/libcharon/plugins/coupling/Makefile
+       src/libcharon/plugins/radattr/Makefile
        src/libcharon/plugins/android/Makefile
        src/libcharon/plugins/maemo/Makefile
        src/libcharon/plugins/stroke/Makefile