470 Commits

Author SHA1 Message Date
Tobias Brunner
92a10e4645 x509: Manually print CRL/OCSP URIs when fuzzing
This avoids a warning about the custom %Y printf specifier.
2017-05-23 18:29:12 +02:00
Tobias Brunner
1a06bf03f9 plugin-loader: Add facility to register plugin constructors
Enabled when building monolithically and statically.

This should allow us to work around the -whole-archive issue with
libtool.  If the libraries register the plugin constructors they provide
they reference the constructors and will therefore prevent the linker from
removing these seemingly unused symbols from the final executable.

For use cases where dlsym() can be used, e.g. because the static libraries
are manually linked with -whole-archive (Linux) or -force-load (Apple),
this can be disabled by passing ss_cv_static_plugin_constructors=no to
the configure script.
2017-05-23 18:29:12 +02:00
Tobias Brunner
6ce649a8a6 configure: Don't build static libraries by default
This way we can actually detect if someone wants to build strongSwan
statically because --enable-static has to be passed explicitly.
2017-05-23 18:29:11 +02:00
Tobias Brunner
8806b00f43 fuzz: Make path to libFuzzer.a configurable 2017-05-23 18:29:11 +02:00
Tobias Brunner
157742be7d fuzz: Add fuzzing boilerplate 2017-05-23 18:29:11 +02:00
Andreas Steffen
a5f7a4c790 Version bump to 5.3.3dr2 2017-05-08 22:38:12 +02:00
Andreas Steffen
d38d1fcd68 Version bump to 5.5.3dr1 2017-04-26 21:29:42 +02:00
Martin Willi
e419b010aa configure: Include curve25519 in the pki default plugin list
The plugin provides ed25519 public key support, and is required to generate
keys or sign certificates with pki.
2017-04-26 20:41:33 +02:00
Andreas Steffen
bb2ba9f15d Version bump to 5.5.2 2017-03-27 16:57:03 +02:00
Tobias Brunner
5e8e71d405 configure: Fix test for libunwind
Most functions in libunwind.h are actually mapped via macros to obscure
function names, so checking for these would require some elaborate test
via AC_LINK_IFELSE().  However, unw_backtrace() seems to be one of the few
actual functions so lets use this for now, even though we don't call it
ourselves later.

Fixes: 016228c15843 ("configure: Check for actual functions in libraries
with AC_CHECK_LIB")
2017-03-23 18:29:18 +01:00
Andreas Steffen
7c672e6118 Version bump to 5.2.2rc1 2017-03-21 09:09:43 +01:00
Andreas Steffen
25bfb338a2 Version bump to 5.5.2dr7 2017-03-06 20:21:40 +01:00
Andreas Steffen
4a620a97a0 aikpub2: Removed aikpub2 tool
The aikpub2 tool has been replaced by pki --pub|--req --keyid hex ..
where keyid indicates the TPM 2.0 private key object handle. Thus
either the public key in PKCS#1 format can be extracted or a PKCS#10
certificate request signed by the TPM private key can be generated.
2017-03-06 19:35:05 +01:00
Andreas Steffen
6885375e66 Version bump to 5.5.2dr6 2017-03-03 09:34:50 +01:00
Andreas Steffen
f43850b3b9 Version bump to 5.5.2dr5 2017-02-23 17:31:11 +01:00
Andreas Steffen
af9341c2c0 Use of TPM 2.0 private keys for signatures via tpm plugin 2017-02-22 12:18:26 +01:00
Tobias Brunner
f8a362bfbc bypass-lan: Add plugin that installs bypass policies for locally attached subnets 2017-02-08 10:38:28 +01:00
Andreas Steffen
9ad147ac63 Version bump to 5.5.2dr4 2017-01-02 15:46:27 +01:00
Andreas Steffen
65797c9faf Version bump to 5.5.2dr3 and Linux kernel 4.9 2016-12-17 18:10:13 +01:00
Tobias Brunner
016228c158 configure: Check for actual functions in libraries with AC_CHECK_LIB
Checking for `main` produces code like this in the test program:

  int
  main ()
  {
  return main ();
    ;
    return 0;
  }

This recursive call results in a warning message with some compilers (e.g.
Clang in newer Xcode versions: "all paths through this function will call
itself [-Winfinite-recursion]"), which lets the tests fail when compiling
with -Werror.
2016-12-02 16:56:13 +01:00
Andreas Steffen
011195f1a9 Version bump to 5.5.2dr2 2016-11-14 16:20:51 +01:00
Tobias Brunner
9d170c18bc configure: Enable curve25519 plugin by default 2016-11-14 16:20:51 +01:00
Martin Willi
7f9bfacd5a curve25519: Add a plugin providing Curve25519 DH using backend drivers 2016-11-14 16:20:51 +01:00
Andreas Steffen
4a97999466 Version bump to 5.5.2dr1 2016-10-30 17:34:05 +01:00
Andreas Steffen
e6a4bd83ff Version bump to 5.5.1 2016-10-20 12:57:00 +02:00
Andreas Steffen
4d77fcbec9 Version bump to 5.5.1rc2 2016-10-18 18:14:57 +02:00
Tobias Brunner
ede17556ad configure: Reorder mgf1 in list of crypto plugins 2016-10-18 11:44:30 +02:00
Andreas Steffen
a617223ed5 Version bump to 5.5.1rc1 2016-10-11 19:21:36 +02:00
Andreas Steffen
6b3e408ba5 Version bump to 5.5.1dr5 2016-09-22 17:36:37 +02:00
Andreas Steffen
e31ed9ab98 Version bump to 5.5.1dr4 2016-09-21 14:14:42 +02:00
Andreas Steffen
188b190a70 mgf1: Refactored MGF1 as an XOF 2016-09-21 06:40:52 +02:00
Tobias Brunner
d8f27ba679 maemo: Remove unused plugin 2016-09-15 18:33:52 +02:00
Andreas Steffen
8aaa6de322 Version bump to 5.5.1dr3 2016-09-15 11:45:17 +02:00
Andreas Steffen
d2577aa3c5 Version bump to 5.5.1dr2 2016-08-26 22:55:41 +02:00
Tobias Brunner
6e19a1f5f2 configure: Improve check for built-in __atomic_* functions
With AC_SEARCH_LIBS() we don't succeed if the searched function is a
built-in as the check uses the wrong signature so the built-in will not
be applied (the warning issued by GCC is "conflicting types for built-in
function '...'").  So even if not required, libatomic will be linked if
it is found, which could be problematic if compiling on a separate host
and the target host does not have libatomic installed.

Also, some tests showed that it's more likely that __atomic_and_fetch()
requires linking libatomic than __atomic_load_n() does.

References #1533.
2016-08-26 09:59:01 +02:00
Tobias Brunner
603a1d3c8f utils: Fix definition of BYTE_ORDER with MinGW 2016-08-24 10:40:57 +02:00
Andreas Steffen
5afaf0dba2 Version bump to 5.5.1dr1 2016-08-10 18:11:53 +02:00
Andreas Steffen
1342bd3386 unit-tests: Created newhope unit-tests 2016-08-10 14:22:00 +02:00
Andreas Steffen
393688aea0 Created newhope plugin implementing the New Hope key exchange algorithm 2016-08-10 14:22:00 +02:00
Andreas Steffen
d305f251a5 Created libnttfft
This makes Number Theoretic Transforms (NTT) based on the efficient
Fast-Fourier-Transform (FFT) available to multiple plugins.
2016-07-29 12:36:15 +02:00
Andreas Steffen
0274163674 libtpmtss: Use pkconfig to configure TSS 2.0 includes and libraries 2016-07-20 11:26:07 +02:00
Andreas Steffen
74de8c3727 Version bump to 5.5.0 2016-07-13 13:26:16 +02:00
Andreas Steffen
8fafbffdb7 Version bump to 5.5.0rc1 2016-06-30 16:28:28 +02:00
Tobias Brunner
aaa37f590d configure: Enable respective TSS if aikgen/-pub2 are enabled 2016-06-28 11:30:20 +02:00
Andreas Steffen
6a24637dcb Version bump to 5.5.0dr1 2016-06-26 20:11:30 +02:00
Andreas Steffen
30d4989aec libimcv: migrate pts to tpm_tss 2016-06-22 15:33:44 +02:00
Andreas Steffen
c08753bdf4 Created libtpmtss library handling access to v1.2 and v2.0 TPMs 2016-06-22 15:33:43 +02:00
Andreas Steffen
87d356dc47 aikpub2: Convert TSS 2.0 AIK public key blob into PKCS#1 format 2016-06-22 15:33:43 +02:00
Tobias Brunner
a35ee9f402 Revert "configure: Cache result of pthread_condattr_setclock() check"
This reverts commit 8d79bfa8318ddd1b9b863241fe0e637be73af5f4 as it does
not provide any advantage over setting ac_cv_func_pthread_condattr_setclock=no.

References #1502.
2016-06-17 15:04:17 +02:00
Tobias Brunner
8d79bfa831 configure: Cache result of pthread_condattr_setclock() check
Even if not using caching when running the configure script (-C) this
allows pre-defining the result by setting the environment variable
ss_cv_func_pthread_condattr_setclock_monotonic=yes|no|unknown
before/while running the script.

As the check requires running a test program this might be helpful
when cross-compiling to disable using monotonic time if
pthread_condattr_setclock() is defined but not actually usable with
CLOCK_MONOTONIC.

References #1502.
2016-06-17 11:36:48 +02:00