]>
git.ipfire.org Git - thirdparty/strongswan.git/log
Martin Willi [Tue, 11 Jun 2013 13:42:23 +0000 (15:42 +0200)]
Merge branch 'scep-bind'
Extend fetcher interface by an option to specify a source IP, implement
it in the curl plugin and provide a --bind option in scepclient.
Martin Willi [Wed, 15 May 2013 14:59:34 +0000 (16:59 +0200)]
scepclient: support a --bind option to fetch from a specific source IP
Martin Willi [Wed, 15 May 2013 14:34:12 +0000 (16:34 +0200)]
curl: add an option to fetch bound to a local source address
Martin Willi [Thu, 16 May 2013 11:32:48 +0000 (13:32 +0200)]
Allow IPComp on NATed connections, both for IKEv1 and IKEv2
While this was problematic in earlier releases, it seems that it works just
fine the way we handle compression now. So there is no need to disable it over
NATed connections or when using forceencaps.
Martin Willi [Wed, 15 May 2013 14:27:15 +0000 (16:27 +0200)]
fetcher: add missing "continue" when handling FETCH_CALLBACK
Tobias Brunner [Tue, 11 Jun 2013 13:38:56 +0000 (15:38 +0200)]
leak-detective: Resolve hooked functions during initialization
If uses of dlopen(), e.g. when loading plugins, produce errors an error
string could get allocated dynamically. At this point realloc() might not
yet be resolved and when dlsym() is later called by leak detective to do
so the error string might get freed while leak detective is disabled and
real_free() will be called with a pointer into one of leak detective's
memory blocks instead of a pointer to the block itself, causing a SIGSEGV.
Tobias Brunner [Fri, 31 May 2013 17:01:05 +0000 (19:01 +0200)]
Properly compare CHILD_SAs during rekey collision
The previous code did not properly check for the situation when the
DELETE for a redundant CHILD_SA created by a responder during a
CHILD_SA rekey collision arrives before the responder's answer to the
initiator's winning CREATE_CHILD_SA request.
Tobias Brunner [Tue, 11 Jun 2013 09:18:33 +0000 (11:18 +0200)]
Merge branch 'plugin-loader'
Improves how plugin loader resolves dependencies between plugins. The
old loader had problems if plugins had dependencies on features provided
by plugins listed later in the plugin list. For instance, it was not
possible to use the X.509 implementation provided by the x509 plugin
while using all the crypto primitives provided by the openssl plugin.
Because the x509 plugin has a dependency on SHA1, the old loader skipped
that plugin until it loaded a SHA1 implementation. Because the loader
also loaded all features with resolved dependencies provided by a specific
plugin it would, while loading the openssl plugin's SHA1 implementation,
also load its X.509 implementation. So to use the x509 plugin it was
necessary to load the sha1 plugin before it so that its dependencies
could be properly resolved.
With the new implementation the plugins don't have to be in a specific
order to resolve dependencies. But the order still matters if two
plugins provide the same feature.
Also, support for the get_features() interface was added to all plugins.
Tobias Brunner [Mon, 10 Jun 2013 16:33:49 +0000 (18:33 +0200)]
Removed stray *_plugin_create() declarations from header files
Tobias Brunner [Mon, 10 Jun 2013 16:15:40 +0000 (18:15 +0200)]
eap-radius: Do initialization in a plugin feature callback
Tobias Brunner [Sat, 8 Jun 2013 13:46:33 +0000 (15:46 +0200)]
Refactored plugin-loader with improved dependency resolution
With the new implementation the plugins don't have to be listed in any
special order, dependencies are properly resolved. The order only
matters if two plugins provide the same feature.
Tobias Brunner [Sat, 8 Jun 2013 09:05:02 +0000 (11:05 +0200)]
android-log: Use plugin features
Tobias Brunner [Sat, 8 Jun 2013 09:03:42 +0000 (11:03 +0200)]
android-dns: Use plugin features to register attribute handler
Tobias Brunner [Sat, 8 Jun 2013 09:02:26 +0000 (11:02 +0200)]
maemo: Use plugin features
Tobias Brunner [Sat, 8 Jun 2013 09:00:48 +0000 (11:00 +0200)]
medsrv: Use plugin features with dependency on database implementation
Tobias Brunner [Sat, 8 Jun 2013 08:56:44 +0000 (10:56 +0200)]
medcli: Use plugin features with dependency on database implementation
Tobias Brunner [Sat, 8 Jun 2013 08:55:42 +0000 (10:55 +0200)]
whitelist: Use plugin features to register listener
Tobias Brunner [Sat, 8 Jun 2013 08:47:38 +0000 (10:47 +0200)]
updown: Use plugin features to register listener and attribute handler
Tobias Brunner [Sat, 8 Jun 2013 08:44:56 +0000 (10:44 +0200)]
unity: Use plugin features to register listener and attribute handler/provider
Tobias Brunner [Sat, 8 Jun 2013 08:41:39 +0000 (10:41 +0200)]
unit-tester: Use plugin features
Tobias Brunner [Sat, 8 Jun 2013 08:34:44 +0000 (10:34 +0200)]
uci: Use plugin features to register backend and credential set
Tobias Brunner [Sat, 8 Jun 2013 08:34:31 +0000 (10:34 +0200)]
systime-fix: Use plugin features to register validator
Tobias Brunner [Sat, 8 Jun 2013 08:29:09 +0000 (10:29 +0200)]
smp: Use plugin features
Tobias Brunner [Sat, 8 Jun 2013 08:25:37 +0000 (10:25 +0200)]
radattr: Use plugin features to register listener
Tobias Brunner [Sat, 8 Jun 2013 08:22:23 +0000 (10:22 +0200)]
lookip: Use plugin features to register listener
Tobias Brunner [Sat, 8 Jun 2013 08:18:00 +0000 (10:18 +0200)]
led: Use plugin features to register listener
Tobias Brunner [Fri, 7 Jun 2013 17:35:24 +0000 (19:35 +0200)]
test-vectors: Use plugin features
Tobias Brunner [Fri, 7 Jun 2013 17:31:51 +0000 (19:31 +0200)]
revocation: Use plugin features with soft dependencies on fetcher and en-/decoding
Tobias Brunner [Fri, 7 Jun 2013 17:23:11 +0000 (19:23 +0200)]
padlock: Use plugin features to properly register algorithms
Tobias Brunner [Fri, 7 Jun 2013 17:22:26 +0000 (19:22 +0200)]
pkcs11: Use plugin_features_add() in get_features()
Tobias Brunner [Fri, 7 Jun 2013 17:19:22 +0000 (19:19 +0200)]
plugin-feature: Added helper function to extend arrays of plugin features
Tobias Brunner [Fri, 7 Jun 2013 17:01:40 +0000 (19:01 +0200)]
constraints: Use plugin features with soft dependency on X.509 decoding
Tobias Brunner [Fri, 7 Jun 2013 16:57:15 +0000 (18:57 +0200)]
blowfish: Use plugin features to properly register crypter
Tobias Brunner [Fri, 7 Jun 2013 16:54:36 +0000 (18:54 +0200)]
resolve: Use plugin features to register attribute handler
Tobias Brunner [Fri, 7 Jun 2013 16:52:33 +0000 (18:52 +0200)]
attr: Use plugin features to register attribute provider
Tobias Brunner [Fri, 7 Jun 2013 16:38:16 +0000 (18:38 +0200)]
ipseckey: Allow en-/disabling at runtime using plugin reload feature
Tobias Brunner [Fri, 7 Jun 2013 16:22:41 +0000 (18:22 +0200)]
ipseckey: Use plugin features and depend on RESOLVER
Also fixed a double-free of the resolver instance.
Tobias Brunner [Fri, 7 Jun 2013 16:16:08 +0000 (18:16 +0200)]
unbound: Use plugin features and provide RESOLVER
Tobias Brunner [Fri, 7 Jun 2013 16:11:46 +0000 (18:11 +0200)]
plugin-feature: Add feature for DNSSEC-enabled resolvers
Tobias Brunner [Fri, 7 Jun 2013 15:58:12 +0000 (17:58 +0200)]
ha: Use plugin features to register listeners and attribute provider
Tobias Brunner [Fri, 7 Jun 2013 15:50:12 +0000 (17:50 +0200)]
farp: Use plugin features to register listener
Tobias Brunner [Fri, 7 Jun 2013 15:46:43 +0000 (17:46 +0200)]
error-notify: Use plugin features to register listener
Tobias Brunner [Fri, 7 Jun 2013 15:43:41 +0000 (17:43 +0200)]
duplicheck: Use plugin features to register listener
Tobias Brunner [Fri, 7 Jun 2013 15:37:13 +0000 (17:37 +0200)]
coupling: Use plugin features and soft depend on SHA1
Tobias Brunner [Fri, 7 Jun 2013 15:19:13 +0000 (17:19 +0200)]
certexpire: Use plugin features to register listener
Tobias Brunner [Fri, 7 Jun 2013 13:45:02 +0000 (15:45 +0200)]
addrblock: Use plugin features with soft dependency on X.509 decoding
Tobias Brunner [Fri, 7 Jun 2013 13:35:47 +0000 (15:35 +0200)]
dhcp: Use plugin features with dependency to RNG implementation
Tobias Brunner [Fri, 7 Jun 2013 13:14:52 +0000 (15:14 +0200)]
sql: Use plugin features with dependency to database backend
Tobias Brunner [Fri, 7 Jun 2013 13:07:39 +0000 (15:07 +0200)]
attr-sql: Use plugin features with dependency to database backend
Tobias Brunner [Fri, 7 Jun 2013 12:44:52 +0000 (14:44 +0200)]
plugin-feature: Function added to exactly compare plugin features
Tobias Brunner [Fri, 7 Jun 2013 12:41:12 +0000 (14:41 +0200)]
Socket plugins soft depend on the kernel-ipsec plugin feature
On most platforms calls to methods to bypass the IKE sockets and enabling
UDP decapsulation are required.
Tobias Brunner [Tue, 11 Jun 2013 09:07:43 +0000 (11:07 +0200)]
Merge branch 'unit-tests'
Adds a test runner and several test suites for libstrongswan.
Also adds an option to produce a test coverage report.
Several bugs were fixed in the process and chunk_hash() was replaced
with an improved implementation based on SipHash-2-4 (with a randomly
allocated key to prevent hash flooding attacks).
Tobias Brunner [Wed, 5 Jun 2013 14:34:04 +0000 (16:34 +0200)]
Suppress log messages during tests
Tobias Brunner [Wed, 5 Jun 2013 12:14:12 +0000 (14:14 +0200)]
Remove explicit leak detective checks as these are now done for all tests
Tobias Brunner [Wed, 5 Jun 2013 12:01:40 +0000 (14:01 +0200)]
Enable leak detective for all test cases
Tobias Brunner [Tue, 4 Jun 2013 16:29:06 +0000 (18:29 +0200)]
Added tests for bio_writer_t
Tobias Brunner [Tue, 4 Jun 2013 15:29:40 +0000 (17:29 +0200)]
Ensure buffer in bio_writer_t is properly increased
The previous code was problematic if bufsize/increase was smaller than 8
and an u_int64_t was written when the buffer was too small. Also, for
large chunks and small bufsizes realloc() was called several times
instead of just once.
Tobias Brunner [Tue, 4 Jun 2013 14:25:22 +0000 (16:25 +0200)]
Added tests for bio_reader_t
Tobias Brunner [Tue, 4 Jun 2013 14:21:48 +0000 (16:21 +0200)]
Add getter for the number of leaks to leak_detective_t
Tobias Brunner [Mon, 3 Jun 2013 16:58:14 +0000 (18:58 +0200)]
Added tests for utils/enum.c
Tobias Brunner [Mon, 3 Jun 2013 16:45:57 +0000 (18:45 +0200)]
Gracefully handle NULL as argument for enum_from_name()
Tobias Brunner [Thu, 28 Mar 2013 15:53:07 +0000 (16:53 +0100)]
Additional tests for identification_t added
Tobias Brunner [Mon, 3 Jun 2013 15:30:40 +0000 (17:30 +0200)]
Fail DN parsing if OID is unterminated
This is the case if the last OID is not followed by a = or if the string
starts with a =.
Tobias Brunner [Mon, 3 Jun 2013 14:41:45 +0000 (16:41 +0200)]
Fix DN printing if last RDN has an empty value
Tobias Brunner [Mon, 3 Jun 2013 13:53:46 +0000 (15:53 +0200)]
Fix DN parsing if last RDN has an empty value
Tobias Brunner [Tue, 23 Apr 2013 10:06:54 +0000 (12:06 +0200)]
Fix output of ASN.1 GN
Tobias Brunner [Thu, 28 Mar 2013 15:50:36 +0000 (16:50 +0100)]
Use chunk_from_str in identification_from_string
We always have a non-empty string in those cases as "" is now handled
as ID_ANY.
Tobias Brunner [Thu, 28 Mar 2013 15:33:39 +0000 (16:33 +0100)]
Use local variable in chunk_from_str()
This allows using strdup() or other string functions as argument
without calling them twice.
Tobias Brunner [Thu, 28 Mar 2013 15:30:29 +0000 (16:30 +0100)]
Parse empty string as ID_ANY
Tobias Brunner [Thu, 28 Mar 2013 09:58:09 +0000 (10:58 +0100)]
Added tests for utils/utils.[ch]
Tobias Brunner [Thu, 28 Mar 2013 13:12:53 +0000 (14:12 +0100)]
Allow memstr() to be called with NULL arguments
Tobias Brunner [Thu, 28 Mar 2013 10:03:26 +0000 (11:03 +0100)]
Removed unused clalloc() function
Tobias Brunner [Thu, 28 Mar 2013 09:25:11 +0000 (10:25 +0100)]
timeval_add_ms() fixed
1000000us are exactly 1s so.
Tobias Brunner [Wed, 27 Mar 2013 18:56:14 +0000 (19:56 +0100)]
Additional tests for chunk_t
Tobias Brunner [Wed, 27 Mar 2013 16:41:04 +0000 (17:41 +0100)]
Also capture coverage data for tests but filter them from the result
Otherwise calls from test cases to static inline functions are not captured.
Tobias Brunner [Wed, 27 Mar 2013 15:35:28 +0000 (16:35 +0100)]
Add tests for lib->get|set
Tobias Brunner [Wed, 27 Mar 2013 15:15:10 +0000 (16:15 +0100)]
Remove dead code in token enumerator
Since we always search for the nearest separator (and strip them from
the front of the next token) there can't be any separators left at the
end of a token.
Tobias Brunner [Wed, 27 Mar 2013 14:35:19 +0000 (15:35 +0100)]
Additional and improved enumerator_t tests
Tobias Brunner [Wed, 27 Mar 2013 13:45:07 +0000 (14:45 +0100)]
Test remove and remove_at of hashtable_t if all items are in the same bucket
Tobias Brunner [Wed, 27 Mar 2013 13:10:12 +0000 (14:10 +0100)]
Add test cases for invoke_* and clone_* of linked_list_t
Tobias Brunner [Wed, 27 Mar 2013 12:27:19 +0000 (13:27 +0100)]
Improve tests for linked_list_t.replace()
Tobias Brunner [Wed, 27 Mar 2013 12:22:07 +0000 (13:22 +0100)]
Add additional tests for linked_list_t
Tobias Brunner [Wed, 27 Mar 2013 12:21:52 +0000 (13:21 +0100)]
Improved test for linked_list_t.insert_before()
Tobias Brunner [Wed, 27 Mar 2013 10:54:09 +0000 (11:54 +0100)]
Enable coverage report for libstrongswan
Tobias Brunner [Wed, 27 Mar 2013 10:03:56 +0000 (11:03 +0100)]
Add --enable-coverage configure option
This configure flag enables lcov [1] coverage generation and is intended
to be used with unit tests (--enable-unit-tests is implied).
A html coverage report can be generated by issuing the following command
in the toplevel build directory:
make coverage
[1] - http://ltp.sourceforge.net/coverage/lcov.php
Based on a patch by Adrian-Ken Rueegsegger.
Tobias Brunner [Wed, 27 Mar 2013 10:24:14 +0000 (11:24 +0100)]
Use proper type for enumerator_t/linked_list_t tests
Worked with -O2 but not with -O0.
Tobias Brunner [Wed, 27 Mar 2013 08:16:59 +0000 (09:16 +0100)]
Converted test for recursive mutex_t
Tobias Brunner [Tue, 26 Mar 2013 18:25:55 +0000 (19:25 +0100)]
Randomly allocate chunk_hash() key during first use
This avoids hash flooding attacks.
Tobias Brunner [Tue, 26 Mar 2013 18:24:24 +0000 (19:24 +0100)]
Replace chunk_hash() with output from chunk_mac()
The quality is way better, the calculation is a bit slower though.
The key is statically initialized to zero, which will be changed later
to prevent hash flooding.
Tobias Brunner [Tue, 26 Mar 2013 17:18:52 +0000 (18:18 +0100)]
Adding chunk_mac() which calculates a 64-bit MAC using SipHash-2-4
Tobias Brunner [Tue, 26 Mar 2013 15:39:44 +0000 (16:39 +0100)]
Converted tests for chunk_t
Tobias Brunner [Tue, 26 Mar 2013 15:38:27 +0000 (16:38 +0100)]
Converted and added tests for hashtable_t
Tobias Brunner [Tue, 26 Mar 2013 13:52:33 +0000 (14:52 +0100)]
Converted tests for identification_t
Tobias Brunner [Tue, 26 Mar 2013 12:13:33 +0000 (13:13 +0100)]
Remove obsolete enumerator/linked_list tests in unit_tester plugin
Tobias Brunner [Tue, 26 Mar 2013 12:07:23 +0000 (13:07 +0100)]
Add tests combining linked_list_t and enumerators
Tobias Brunner [Tue, 26 Mar 2013 11:36:51 +0000 (12:36 +0100)]
Some minor Doxygen fixes for linked_list_t
Tobias Brunner [Tue, 26 Mar 2013 11:18:44 +0000 (12:18 +0100)]
Add basic tests for linked_list_t
Tobias Brunner [Tue, 26 Mar 2013 09:49:08 +0000 (10:49 +0100)]
Redirect test runner output to stderr
This allows redirecting stdout of 'make check' to /dev/null.
Tobias Brunner [Tue, 26 Mar 2013 09:41:54 +0000 (10:41 +0100)]
Add tests for enumerator_t
Tobias Brunner [Tue, 26 Mar 2013 09:21:32 +0000 (10:21 +0100)]
Add test runner for unit tests in libstrongswan