Tobias Brunner
525cc46cab
Change interface for enumerator_create_filter() callback
...
This avoids the unportable 5 pointer hack, but requires enumerating in
the callback.
2017-05-26 13:56:44 +02:00
Tobias Brunner
2cbb2271aa
unit-tests: Fix test_chunk_eq() if arguments have side-effects
2017-05-24 09:34:17 +02:00
Andreas Steffen
cfdccc93f5
utils: chunk_from_hex() skips optional 0x prefix
2017-03-06 18:54:09 +01:00
Tobias Brunner
2283c8148a
host: Don't log port if it is zero
2017-03-02 08:27:30 +01:00
Tobias Brunner
2e52bbb4b2
traffic-selector: Allow calling set_address() for any traffic selector
...
Users may check is_host(), is_dynamic() or includes() before calling this
if restrictions are required (most actually already do).
2017-02-27 18:21:02 +01:00
Thomas Egerer
8a0bbb9355
unit-tests: Allow default test timeout to be configured via compile option
...
Signed-off-by: Thomas Egerer <[email protected] >
2017-02-14 10:41:42 +01:00
Andreas Steffen
4f19112b1f
Moved Ed25519 tests to libstrongswan
2016-12-14 11:57:36 +01:00
Andreas Steffen
e9c2b6658b
unit-tests: Completed coverage of hasher, crypter and libnttfft
2016-12-14 11:15:48 +01:00
Andreas Steffen
40f2589abf
gmp: Support of SHA-3 RSA signatures
2016-09-22 17:34:31 +02:00
Tobias Brunner
11140e717f
unit-tests: MGF1 tests depend on an XOF implementation not just a hash function
...
If the mgf1 plugin was not enabled (e.g. with the default configure
options) the tests failed.
2016-09-21 18:36:28 +02:00
Andreas Steffen
188b190a70
mgf1: Refactored MGF1 as an XOF
2016-09-21 06:40:52 +02:00
Tobias Brunner
b104b2a737
unit-tests: Defining TESTS_RUNNERS allows to only run specific test runners
2016-06-17 18:48:01 +02:00
Martin Willi
518a5b2ece
configure: Check for and explicitly link against -latomic
...
Some C libraries, such as uClibc, require an explicit link for some atomic
functions. Check for any libatomic, and explcily link it.
2016-06-14 14:27:20 +02:00
Tobias Brunner
b82b5f6398
chunk: Skip all leading zero bytes in chunk_skip_zero() not just the first
2016-04-04 15:39:42 +02:00
Tobias Brunner
85597f2983
string: Gracefully handle NULL in str*eq() macros
2016-04-04 10:43:46 +02:00
Andreas Steffen
b12c53ce77
Use standard unsigned integer types
2016-03-24 18:52:48 +01:00
Andreas Steffen
1d86d1d65a
Implemented IPv4/IPv6 subnet and range identities
...
The IKEv1 IPV4_ADDR_SUBNET, IPV6_ADDR_SUBNET, IPV4_ADDR_RANGE and
IPV6_ADDR_RANGE identities have been fully implemented and can be
used as owners of shared secrets (PSKs).
2016-03-10 13:59:37 +01:00
Tobias Brunner
348b0ffbc6
linked-list: Add method to compare two lists of objects for equality
2016-03-08 10:21:57 +01:00
Tobias Brunner
3c23a75120
auth-cfg: Make IKE signature schemes configurable
...
This also restores the charon.signature_authentication_constraints
functionality, that is, if no explicit IKE signature schemes are
configured we apply all regular signature constraints as IKE constraints.
2016-03-04 16:19:54 +01:00
Tobias Brunner
fbbbe43ec1
unit-tests: The pseudonym RDN is now recognized, so use something more exotic
2016-01-28 16:01:24 +01:00
Martin Willi
01caed533b
array: Add an insert/create function for value based arrays
2015-12-07 10:05:07 +01:00
Tobias Brunner
8623ae9fc6
settings: Add settings_value_as_uint64() helper function
2015-11-11 15:39:49 +01:00
Tobias Brunner
ebeb8c87c5
traffic-selector: Don't end printf'ed list of traffic selectors with a space
2015-11-10 12:13:06 +01:00
Andreas Steffen
23a50e66f1
testing: Updated hasher tests
2015-11-06 16:05:44 +01:00
Andreas Steffen
a88d958933
Explicitly mention SHA2 algorithm in BLISS OIDs and signature schemes
2015-11-06 14:55:31 +01:00
Tobias Brunner
dc486823aa
unit-tests: Add a test to verify that there is no partial matching of RDNs
2015-09-09 14:39:26 +02:00
Tobias Brunner
7a1fed284c
Fixed some typos, courtesy of codespell
2015-08-27 12:06:31 +02:00
Tobias Brunner
0737e936e0
unit-tests: Additional test cases to increase coverage
2015-08-27 11:47:36 +02:00
Tobias Brunner
520fba4899
identification: Add hash() method
...
Compared to hashing the encoding we can ignore string types of RDNs when
hashing DNs, making hash() compatible to equals() that does the same.
Fixes #991 .
2015-08-06 17:22:32 +02:00
Tobias Brunner
d29a4a5e20
unit-tests: Add unit tests for settings_t.load_string[_section]
2015-07-28 13:27:32 +02:00
Tobias Brunner
764960e8b9
settings: Add support for multi-line strings
...
Unterminated strings are now an error.
2015-07-28 13:27:32 +02:00
Tobias Brunner
65579569ad
host: Properly handle NULL in host_create_from_string[_and_family]
2015-07-27 11:53:26 +02:00
Martin Willi
80d7f44198
unit-tests: Increase failure message buffer to hold larger hex dumps
2015-07-12 13:25:50 +02:00
Martin Willi
ee9f691915
unit-tests: Forward variable argument list in TEST_SUITE_DEPEND
...
For some plugin features, such as crypters or AEADs, we have some additional
feature arguments, such as the key size.
2015-07-12 13:25:50 +02:00
Tobias Brunner
523ea82ed5
unit-tests: Add tests for iv_gen_seq_t
2015-06-05 13:44:42 +02:00
Martin Willi
31a171f5c4
unit-tests: Further increase the test vector testing timeout
...
Some build bots running make check seem to have longer for the DH testing.
2015-04-16 10:15:13 +02:00
Martin Willi
432d712048
unit-tests: Set test verbosity just after test suite loading
...
We see any plugin startup messages during suite configuration, where
initialization is called once to query plugin features. No need to be verbose
and show these messages once again in the first test.
2015-04-15 14:38:43 +02:00
Martin Willi
e507c48e8d
unit-tests: Use progressive testing of transforms with test vectors
...
This allows us to show which transform from which plugin failed. Also, we use
the new cleanup handler functionality that allows proper deinitialization on
failure or timeout.
2015-04-15 14:38:43 +02:00
Martin Willi
de1c492a0f
enum-names: Fail gracefully when passing a NULL value as enum names
2015-04-15 14:38:43 +02:00
Martin Willi
30003bc51a
unit-tests: Invoke all registered thread cleanup handlers on test failure
...
If a test fails in a timeout or a test failure, longjmp() is used to restore
the thread context and handle test failure. However, there might be unreleased
resources, namely locks, which prevent the library to clean up properly after
finishing the test.
By using thread cleanup handlers, we can release any test subject internal or
test specific external resources on test failure. We do so by calling all
registered cleanup handlers.
2015-04-15 14:38:43 +02:00
Martin Willi
d36b30803e
thread: Add a function to pop and call all registered cleanup handlers
2015-04-15 14:38:43 +02:00
Martin Willi
162252aca9
unit-tests: Add a TESTS_PLUGINS environment variable
...
This is often more convenient than specifying plugins in a configuration file.
2015-04-15 14:38:42 +02:00
Martin Willi
26c215e818
unit-tests: Use a larger timeout for test vector testing
...
As we test DH calculations this now takes more time. If multiple DH backends
are enabled, we likely hit the default test timeout.
2015-04-15 14:38:42 +02:00
Martin Willi
2b40c9646c
unit-tests: Pass stringyfied assertion statement as non-format string argument
...
If the assertion contains a modulo (%) operation, test_fail_msg() handles
this as printf() format specifier. Pass the assertion string as argument for
an explicit "%s" in the format string, instead.
2015-04-15 13:44:40 +02:00
Martin Willi
f206bb7444
utils: Add malloc/free wrappers returning aligned data
...
While we could use posix_memalign(3), that is not fully portable. Further, it
might be difficult on some platforms to properly catch it in leak-detective,
which results in invalid free()s when releasing such memory.
We instead use a simple wrapper, which allocates larger data, and saves the
padding size in the allocated header. This requires that memory is released
using a dedicated function.
To reduce the risk of invalid free() when working on corrupted data, we fill up
all the padding with the padding length, and verify it during free_align().
2015-04-15 13:44:40 +02:00
Martin Willi
9d6e952201
utils: Add a constant time chunk_equals() variant for cryptographic purposes
2015-04-14 12:02:48 +02:00
Martin Willi
b833963270
utils: Add a constant time memeq() variant for cryptographic purposes
2015-04-14 11:51:54 +02:00
Martin Willi
a777155ffe
diffie-hellman: Add a bool return value to set_other_public_value()
2015-03-23 17:54:03 +01:00
Martin Willi
42431690e0
diffie-hellman: Add a bool return value to get_my_public_value()
2015-03-23 17:54:03 +01:00
Martin Willi
bace1d6479
diffie-hellman: Use bool instead of status_t as get_shared_secret() return value
...
While such a change is not unproblematic, keeping status_t makes the API
inconsistent once we introduce return values for the public value operations.
2015-03-23 17:54:02 +01:00