aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan
Commit message (Collapse)AuthorAgeFilesLines
...
* utils: Add helper macros to read variadic arguments into local variablesTobias Brunner2017-05-261-2/+46
|
* unit-tests: Fix test_chunk_eq() if arguments have side-effectsTobias Brunner2017-05-241-1/+1
|
* asn1: Make sure the first argument to sscanf() is null-terminatedTobias Brunner2017-05-231-7/+9
|
* x509: Fix leak when parsing CDPs if an invalid one follows valid onesTobias Brunner2017-05-231-2/+2
|
* pem: Ensure a value before checking Proc-Type in PEM headerTobias Brunner2017-05-231-1/+1
|
* chunk: Correctly parse Base64 text where four = follow in a rowTobias Brunner2017-05-231-1/+1
| | | | | | | That's not correct Base64 but invalid data could trigger this. Since outlen would get reduced four times, but is only ever increased three times per iteration, this could result in an integer underflow and then a potential buffer overflow.
* plugin-loader: Disable some logging output when building fuzz targetsTobias Brunner2017-05-231-4/+19
| | | | | This avoids evaluating %N. An alternative would be to define a printf-hook for plugin features.
* x509: Manually print CRL/OCSP URIs when fuzzingTobias Brunner2017-05-231-8/+25
| | | | This avoids a warning about the custom %Y printf specifier.
* processor: Move priority threads assignment to set_threads()Tobias Brunner2017-05-231-4/+9
| | | | | | This avoids the evaluation of %N even if the thread pool is never used. We need to avoid as many custom printf specifiers as possible when fuzzing our code to avoid excessive log messages.
* Add plugin constructor registration for all libraries that provide pluginsTobias Brunner2017-05-232-0/+16
| | | | | | | | | | | | | | Unfortunately, we can't just add the generated C file to the sources in Makefile.am as the linker would remove that object file when it notices that no symbol in it is ever referenced. So we include it in the file that contains the library initialization, which will definitely be referenced by the executable. This allows building an almost stand-alone static version of e.g. charon when building with `--enable-monolithic --enable-static --disable-shared` (without `--disable-shared` libtool will only build a version that links the libraries dynamically). External libraries (e.g. gmp or openssl) are not linked statically this way, though.
* plugin-constructors: Add script to generate constructor registrationTobias Brunner2017-05-232-0/+61
| | | | Using a Python script so this works in cross-compilation situations.
* plugin-loader: Add facility to register plugin constructorsTobias Brunner2017-05-232-3/+69
| | | | | | | | | | | | | | 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.
* library: Add compile option to disable memwipe() checkTobias Brunner2017-05-231-0/+6
|
* pem: Don't read beyond line endsTobias Brunner2017-05-231-2/+2
|
* x509: Fix leak if there is an empty CDPTobias Brunner2017-05-231-1/+7
|
* x509: Fix leak if a certificate contains multiple authorityKeyIdentifiersTobias Brunner2017-05-231-0/+1
|
* credential-manager: Prefer local over global setsAdrian-Ken Rueegsegger2017-05-231-7/+7
| | | | | Invert set enumeration order to first enumerate local and then global credential sets.
* tun-device: Use next free TUN device on FreeBSDTobias Brunner2017-05-191-3/+18
| | | | | | | | | | | While this API is documented as legacy (and there is a sysctl option to disable it) the documentation also mentions that it will probably stay enabled by default due to compatibility issues with existing applications. With the previous approach only 255 devices could be opened then the daemon had to be restarted. Fixes #2313.
* tun-device: TUN devices are not supported on iOSTobias Brunner2017-05-191-1/+10
|
* af-alg: Fix crypt() definition conflictBaruch Siach2017-05-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | Rename the crypt() method to avoid conflict with POSIX crypt(). Fixes the following build failure with musl libc: In file included from ../../../../src/libstrongswan/utils/utils.h:53:0, from ../../../../src/libstrongswan/library.h:101, from af_alg_ops.h:24, from af_alg_ops.c:16: af_alg_ops.c:110:22: error: conflicting types for 'crypt' METHOD(af_alg_ops_t, crypt, bool, ^ ../../../../src/libstrongswan/utils/utils/object.h:99:13: note: in definition of macro 'METHOD' static ret name(union {iface *_public; this;} \ ^ In file included from af_alg_ops.c:18:0: .../host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/unistd.h:144:7: note: previous declaration of 'crypt' was here char *crypt(const char *, const char *); ^ Closes strongswan/strongswan#72.
* x509: Evaluate return codes of parsing functionsAndreas Steffen2017-05-084-52/+149
|
* Fixed some typos, courtesy of codespellTobias Brunner2017-03-232-2/+2
|
* Allow x25519 as an alias of the curve25519 KE algorithmAndreas Steffen2017-03-201-0/+1
|
* Reference Edwards-curve signature RFCsAndreas Steffen2017-03-203-17/+19
|
* utils: chunk_from_hex() skips optional 0x prefixAndreas Steffen2017-03-062-11/+18
|
* settings: Add support for hex integers (0x prefix) via get_int()Tobias Brunner2017-03-021-1/+6
|
* host: Don't log port if it is zeroTobias Brunner2017-03-022-6/+6
|
* traffic-selector: Allow calling set_address() for any traffic selectorTobias Brunner2017-02-273-48/+63
| | | | | Users may check is_host(), is_dynamic() or includes() before calling this if restrictions are required (most actually already do).
* x509: Do not mark generated addrblock extension as criticalMartin Willi2017-02-271-2/+1
| | | | | | | | | | | | | | While RFC 3779 says we SHOULD mark it is critical, this has severe side effects in practice. The addrblock extension is not widely used nor implemented, and only a few applications can handle this extension. By marking it critical, none of these applications can make use of such certificates where included addrblocks do not matter, such as TLS/HTTPS. If an application wants to make use of addrblocks, that is usually an explicit decision. Then the very same application obviously can handle addrblocks, and there is no need for the extension to be critical. In other words, for local policy checks it is a local matter to handle the extension, hence making it critical is usually not of much help.
* x509: Support encoding the RFC 3779 addrblock extensionMartin Willi2017-02-271-3/+134
|
* builder: Define a builder part for X.509 RFC 3779 address blocksMartin Willi2017-02-272-0/+3
|
* plugin-loader: Fix hashing of registered plugin featuresTobias Brunner2017-02-241-1/+1
| | | | | | | This strangely never caused any noticeable issues, but was the reason for build failures in certain test cases (mostly BLISS) due to missing plugin features when built with specific options on Travis (was not reproducible locally).
* mem-cred: Add methods to add/remove shared keys with unique identifiersTobias Brunner2017-02-162-6/+107
| | | | Also added is a method to enumerate the unique identifiers.
* mem-cred: Add method to remove a private key with a specific fingerprintTobias Brunner2017-02-162-2/+38
|
* revocation: More accurately describe the flags to disable OCSP/CRL validationTobias Brunner2017-02-151-8/+7
| | | | | | These options disable validation as such, e.g. even from cached CRLs, not only the fetching. Also made the plugin's validate() implementation a no-op if both options are disabled.
* unit-tests: Allow default test timeout to be configured via compile optionThomas Egerer2017-02-141-0/+2
| | | | Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
* settings: Fix purge if order differs from alphabetical orderTobias Brunner2017-02-071-1/+1
|
* libipsec: Fix Windows build via MinGWTobias Brunner2017-01-251-0/+7
| | | | Fixes #2118.
* bliss: Increase timeout for sampler unit testTobias Brunner2017-01-161-2/+2
| | | | Fixes #2204.
* android: Include ref10 subdirectory for curve25519 pluginTobias Brunner2017-01-161-0/+1
| | | | Fixes #2201.
* revocation: OCSP and/or CRL fetching can be disabledAndreas Steffen2016-12-301-38/+71
|
* Moved Ed25519 tests to libstrongswanAndreas Steffen2016-12-149-141/+27
|
* unit-tests: Completed coverage of hasher, crypter and libnttfftAndreas Steffen2016-12-143-34/+57
|
* Implemented EdDSA for IKEv2 using a pro forma Identity hash functionAndreas Steffen2016-12-145-17/+108
|
* Added Ed25519 ref10 implementation from libsodiumAndreas Steffen2016-12-1413-16/+5789
|
* Added support of EdDSA signaturesAndreas Steffen2016-12-1423-35/+857
|
* openssl: BoringSSL doesn't provide curve data for ECC Brainpool curvesTobias Brunner2016-12-101-1/+4
|
* android: Optionally build the curve25519 pluginTobias Brunner2016-12-081-0/+2
|
* android: Optionally build the chapoly pluginTobias Brunner2016-12-081-0/+2
|
* plugin-loader: Strip '!' from critical plugin names when setting pathsTobias Brunner2016-11-181-1/+1
|