Andreas Steffen
dbb7859f9f
define pen_type_t as a vendor-specific type
2012-08-20 22:37:08 +02:00
Martin Willi
88a5abf5e2
Don't use POSIX semaphores if a MONOTONIC clock is available
...
POSIX semaphores use CLOCK_REALTIME, but our semaphore_t abstraction
expects CLOCK_MONOTONIC based times. Use the mutex/condvar based
fallback if time_monotonic() actuall returns monotonic times.
2012-08-20 18:01:20 +02:00
Martin Willi
907d3d0f1d
Add a mutex/condvar based semaphore implementation if sem_timedwait is unavailable
...
Fixes #214 .
2012-08-20 17:20:26 +02:00
Andreas Steffen
f39b3915cd
added IBM and OpenPTS Private Enterprise Numbers
2012-08-20 15:02:25 +02:00
Tobias Brunner
3570c43968
openssl: Fix registration of the PUBKEY builder
...
libtls drops support for RSA suites if it does not find an RSA backend
(final builder for RSA public keys).
2012-08-18 17:49:57 +02:00
Tobias Brunner
7ab348370c
Add a wrapper around vstr_add_fmt() to avoid having to link libcharon against libvstr
...
At least on Android the latter would be required.
2012-08-17 11:47:52 +02:00
Andreas Steffen
17f806d8d0
fixed Makefile for libstrongswan dev headers
2012-08-14 10:21:28 +02:00
Tobias Brunner
305d98b780
Validate netmask in traffic_selector_create_from_subnet
...
Fixes #216 .
2012-08-13 13:46:19 +02:00
Tobias Brunner
36a3981d47
Comment fixed
2012-08-13 13:17:53 +02:00
Tobias Brunner
09ae3d79ca
Merge branch 'android-app'
...
This branch introduces a userland IPsec implementation (libipsec) and an
Android App which targets the VpnService API that is provided by Android 4+.
The implementation is based on the bachelor thesis 'Userland IPsec for
Android 4' by Giuliano Grassi and Ralf Sager.
2012-08-13 12:07:52 +02:00
Tobias Brunner
efbb5e8c57
Ensure thread IDs always start with 1 even if the library is reused
...
Within the Android App the library stays loaded in memory and is just
initialized/deinitialized with each connection, the static thread
counter would continuously increase without this patch.
2012-08-13 11:28:08 +02:00
Tobias Brunner
f12b3ad2c9
Don't print hosts as %any if %+H is used
...
That is, the plus sign can be used in the format string to force a numeric
string representation of all host_t objects even 0.0.0.0 and :: which
would otherwise be printed as %any and %any6.
2012-08-13 11:00:29 +02:00
Tobias Brunner
495e12aead
Add support for '+' in custom format specifiers
2012-08-13 11:00:28 +02:00
Tobias Brunner
e4ef4c9877
Merge branch 'android-ndk'
...
This branch comes with some preliminary changes for the user-land IPsec
implementation and the Android App.
One important change is that the UDP ports used by the socket-default plugin
were made configurable (either via ./configure or strongswan.conf).
Also, the plugin does randomly allocate a port if it is configured to 0,
which is useful for client implementations. A consequence of these
changes is that the local UDP port used when creating ike_cfg_t objects has
to be fetched from the socket.
2012-08-13 10:45:39 +02:00
Tobias Brunner
3b891b9e5b
Avoid problems with Doxygen by adding warn_unused_result attribute at the end of method signatures
2012-08-11 16:48:09 +02:00
Tobias Brunner
2c93a214aa
Add warn_unused_result attributes to rng_(get|allocate)_bytes_not_zero
...
Also fixed Doxygen comments.
2012-08-11 16:30:27 +02:00
Martin Willi
a63192479d
If _POSIX_SPIN_LOCKS is defined as -1, it is not available
2012-08-10 17:02:46 +02:00
Martin Willi
922fb29f89
If vstr printf functions are #defined, undef them before redefinition
...
At least Mountain Lion seems to have them #defined to secure _chk
variants.
2012-08-10 17:02:05 +02:00
Martin Willi
0bac49b0a9
Add getspnam_r() to leak detective whitelist
2012-08-10 10:43:44 +02:00
Tobias Brunner
34400edc37
Added utility class to create TUN devices
...
Currently works only on Linux.
2012-08-08 15:41:03 +02:00
Tobias Brunner
156f7e9b85
Moved types used by kernel_ipsec_t interface (and libipsec) to libstrongswan
...
This avoids a dependency of libipsec to libhydra.
2012-08-08 15:41:02 +02:00
Tobias Brunner
2dde79aca6
Added a simple blocking queue around linked_list_t
2012-08-08 15:41:02 +02:00
Tobias Brunner
ec486e9433
Extended constructor for packet_t added (takes src, dst and data)
2012-08-08 15:41:02 +02:00
Tobias Brunner
5764a9b355
Moved packet_t to libstrongswan
2012-08-08 15:41:02 +02:00
Tobias Brunner
6dfdcf420f
Added a method to bio_writer_t that allows to skip a number of bytes
...
A chunk pointing to the skipped bytes is returned, allowing users of
bio_writer_t to write/copy data to the skipped bytes themselves.
2012-08-08 15:41:02 +02:00
Tobias Brunner
59a15a7475
Added a method to bio_writer_t that allows to extract the internal buffer
2012-08-08 15:41:02 +02:00
Tobias Brunner
c1830d2670
Added methods to bio_reader_t to read data from end of buffer
2012-08-08 15:41:02 +02:00
Tobias Brunner
56d07af3be
Added ESP log group for libipsec log messages.
2012-08-08 15:12:25 +02:00
Tobias Brunner
73940eb712
Make path to Android OpenSSL headers configurable.
2012-08-08 15:07:43 +02:00
Tobias Brunner
4528e74a5c
Don't require STRONGSWAN_CONF to be defined.
2012-08-08 15:07:42 +02:00
Tobias Brunner
a9f169f699
Don't require PLUGINDIR to be defined.
...
If it is not available, we just load monolithically built plugins.
2012-08-08 15:07:42 +02:00
Martin Willi
7c6d6b0d89
PEM loading soft-depends on MD5 only, as unencrypted files don't need MD5
...
Fixes #211 .
2012-08-03 15:25:17 +02:00
Tobias Brunner
decc467a4f
Implemented recursive mutex without thread-specific counter
2012-08-03 11:30:18 +02:00
Tobias Brunner
920f29e7d5
Use a single thread-specific value for our custom rwlock_t implementation
...
The pthread implementation on Android currently only supports 64
different thread-specific values per process, which we hit easily when
every rwlock_t requires one.
2012-08-03 11:30:18 +02:00
Martin Willi
11d6bc3eb0
Move MODP_CUSTOM va_arg fetching out of loop
...
It seems problematic at least on PPC with gcc 4.3, fixes #208 .
2012-08-02 12:08:27 +02:00
Tobias Brunner
63ac6d00b0
Proper fallback if capability dropping is not available
2012-07-27 14:46:42 +02:00
Martin Willi
6a8786b55f
Show which group would be required when failing in constraint check
2012-07-26 12:39:53 +02:00
Martin Willi
5d2698dd62
Add a SHA1 test vector forcing padding over block boundary
2012-07-18 15:10:29 +02:00
Martin Willi
610f90a8b9
Use centralized hasher names in openssl plugin
2012-07-17 17:32:00 +02:00
Martin Willi
4b96000833
Add short names for hasher algorithms
2012-07-17 17:31:55 +02:00
Martin Willi
082b0d7249
Support void return values in OpenSSL 0.9.8 HMAC functions
2012-07-17 10:58:53 +02:00
Martin Willi
44fc169579
Test reset() of hasher in crypto tester
2012-07-16 14:55:07 +02:00
Martin Willi
67ea663d7c
Refactored error handling in crypto tester
2012-07-16 14:55:07 +02:00
Martin Willi
73264a81b8
Set a key before benching PRFs
2012-07-16 14:55:07 +02:00
Martin Willi
3aca89c8e6
Resetting OpenSSL HMAC with NULL key reuses existing key
2012-07-16 14:55:07 +02:00
Martin Willi
9138f49e6a
Make sure HMAC_Init is called before HMAC_Update, fixes crash
2012-07-16 14:55:07 +02:00
Martin Willi
ae4411547a
Check and forward syscall errors in AF_ALG
2012-07-16 14:55:07 +02:00
Martin Willi
e3b2e900e6
Add a return value to hasher_t.reset()
2012-07-16 14:55:06 +02:00
Martin Willi
87dd205b61
Add a return value to hasher_t.allocate_hash()
2012-07-16 14:55:06 +02:00
Martin Willi
8bd6a30af1
Add a return value to hasher_t.get_hash()
2012-07-16 14:55:06 +02:00