Tobias Brunner
c711687c00
Force libdl if the android plugin is enabled. AC_SEARCH_LIBS thinks it's not required, but on Android 2.0 it is.
2010-02-25 13:51:05 +01:00
Tobias Brunner
eba28948a5
Link all plugins to libstrongswan.
2010-02-25 13:51:05 +01:00
Tobias Brunner
608af0a445
Avoid a race condition that could lead to a segmentation fault.
...
Let's assume the callback function of a callback job returns
JOB_REQUEUE_FAIR in one call and JOB_REQUEUE_NONE in the next. Before
this fix, the thread executing the callback job would requeue the job
before unregistering itself. If there was a context switch right after
the job got requeued, and if the thread that requeued the job never got
resumed until a second thread executed the job and, due to the return
value of JOB_REQUEUE_NONE, destroyed it, then when the first thread
eventually got resumed and tried to lock the mutex to unregister itself
the pointer wouldn't be valid anymore, thus resulting in a segmentation fault.
2010-02-25 09:26:16 +01:00
Tobias Brunner
38da64fe12
Detect windows hosts to add specific workarounds.
2010-02-12 10:57:39 +01:00
Tobias Brunner
71baf5a8f0
Adding support for AES GMAC (RFC4543).
2010-02-12 10:57:39 +01:00
Tobias Brunner
3cc0cc4332
Increased the buffer for netlink responses.
...
If an error occurs while manipulating policies in the kernel, the
original netlink request gets attached to the response.
Prior to Linux 2.6.32 the size in the netlink header of the response was
wrong.
2010-02-05 20:10:54 +01:00
Tobias Brunner
41faec0791
Some whitespace and code cleanups concerning the mediation extension.
2010-02-02 15:53:22 +01:00
Tobias Brunner
dc5969242f
Join pluto's fetching thread instead of detaching it in order to avoid that the leak-detective reports a memleak.
2010-02-02 15:23:39 +01:00
Tobias Brunner
776f59f7be
Block the signals before the call to sigwait.
2010-01-12 11:52:03 +01:00
Tobias Brunner
e9a1852aac
Pluto's fetcher thread is now created via libstrongswan.
2009-12-26 15:50:34 +01:00
Tobias Brunner
ff4d4aa99a
Adapted the load_tester kernel-interface to the changes introduced in 6ec949e02.
2009-12-23 17:15:28 +01:00
Tobias Brunner
cb186f9922
Added some IPv6 tweaks for Android.
...
Android 1.6 does not yet support the Advanced Sockets API for IPv6 as defined in
RFC 3542. Also, in6addr_any is missing.
2009-12-23 17:03:42 +01:00
Tobias Brunner
a37cf4580a
Semicolon removed.
2009-12-23 17:03:42 +01:00
Tobias Brunner
3f490ff978
According to the man page (and the header files in Android) prctl takes a total of 5 arguments.
2009-12-23 17:03:42 +01:00
Tobias Brunner
85202e8795
Added a workaround for the missing pthread_cancel on Android.
2009-12-23 17:03:42 +01:00
Tobias Brunner
b2944d71ca
Use pthread_cond_timedwait_monotonic on Android.
2009-12-23 17:03:41 +01:00
Tobias Brunner
01e606546c
Cache queue locking in credential manager corrected.
2009-12-23 17:03:41 +01:00
Tobias Brunner
47e98cda5f
Join worker threads when destroying the processor.
2009-12-23 17:03:41 +01:00
Tobias Brunner
b97cc0ab3f
Callback job refactored and fixed.
2009-12-23 17:03:41 +01:00
Tobias Brunner
89ec5bef08
Whitespace cleanup.
2009-12-23 17:03:41 +01:00
Tobias Brunner
4ec2c94b5d
Readding changes that got lost during refactoring/rebasing.
2009-12-23 17:03:41 +01:00
Tobias Brunner
4a5a5dd290
Using the thread wrapper in charon, libstrongswan and their plugins.
2009-12-23 17:03:41 +01:00
Tobias Brunner
c48eea9203
Adding an object-oriented wrapper for thread-specific values.
2009-12-23 17:02:26 +01:00
Tobias Brunner
0d5c6a28d5
Adding an object-oriented wrapper for threads.
2009-12-23 17:02:26 +01:00
Tobias Brunner
070ac5b0b7
Check if libpthread is required or not.
2009-12-23 17:02:26 +01:00
Tobias Brunner
866dc0134a
Check for pthread_condattr_init added to configure script.
2009-12-23 17:02:25 +01:00
Tobias Brunner
c33d4f29bc
Generating the apidoc in an out-of-tree build fixed.
2009-12-23 17:02:25 +01:00
Tobias Brunner
5fe538504e
Moved implementation of condvar_t to mutex.c because it requires access to private_mutex_t.
2009-12-23 17:02:25 +01:00
Tobias Brunner
eba64cef41
Separated the public interfaces of the threading primitives.
2009-12-23 17:01:53 +01:00
Tobias Brunner
f36143b0ba
Implemented a read-write lock using only mutex_t and condvar_t (in case the pthread_rwlock_* group of functions is not available).
2009-12-23 17:01:30 +01:00
Tobias Brunner
b1f35d0695
Threading primitives separated.
2009-12-23 17:01:30 +01:00
Tobias Brunner
14f7091280
Moved mutex.c to a separate folder in order to cleanly wrap other threading primitives (and utils/mutex.h is now threading.h).
2009-12-23 17:00:58 +01:00
Tobias Brunner
268911a5cc
The attribute manager was moved from daemon_t to libstrongswan.
2009-12-07 16:00:27 +01:00
Tobias Brunner
6e6975395e
Using the correct type for ME_ENDPOINT payloads in connectivity checks.
2009-09-24 11:29:34 +02:00
Tobias Brunner
0755e98e5c
Cleaned up some code of the mediation extension.
2009-09-04 15:48:30 +02:00
Tobias Brunner
f4b975a65d
Moved set_state after the DBG0 statement, so that the message gets logged also for mediation connections without CHILD_SA.
2009-09-04 15:13:12 +02:00
Tobias Brunner
a20e98749a
Simplified the search for ME_CONNECTID notifies.
2009-09-02 17:30:47 +02:00
Tobias Brunner
484a06bce7
Fixed some typos; whitespace cleanup.
2009-09-02 17:30:46 +02:00
Tobias Brunner
5293b02945
Missing commas added.
2009-09-02 17:29:44 +02:00
Tobias Brunner
deddfde91b
Description of new lifetime limits added to manpage.
2009-09-01 12:54:33 +02:00
Tobias Brunner
686aba2589
Added lifetime/margintime keywords as alias for keylife/rekeymargin.
2009-09-01 12:54:33 +02:00
Tobias Brunner
e75f423753
Refactored the lifetime_cfg_t struct to be simpler and more expressive. Initialization is now static.
2009-09-01 12:54:33 +02:00
Tobias Brunner
abff49a7ff
Handling of new lifetime limits added to stroke.
2009-09-01 12:53:44 +02:00
Tobias Brunner
ca41aa0602
Added keywords for the new lifetime limits to starter.
2009-09-01 12:53:44 +02:00
Tobias Brunner
9c7faa8618
Added parser for unsigned long long ints to starter.
2009-09-01 12:53:44 +02:00
Tobias Brunner
f40c115531
If no inbound CHILD_SA is found, try to find an outbound SA.
...
Due to the new lifetime limits in- and outbound SAs may expire
individually.
2009-09-01 12:53:44 +02:00
Tobias Brunner
1087b9cebb
Set the packet and byte limits in the netlink and pfkey kernel interfaces.
2009-09-01 12:53:44 +02:00
Tobias Brunner
e3c7e72973
Terminology and return value of get_lifetime of child_sa_t corrected.
2009-09-01 12:53:44 +02:00
Tobias Brunner
cb123493d1
child_sa_t adapted to the new lifetime configuration.
2009-09-01 12:53:43 +02:00
Tobias Brunner
888af96343
Adapted the kernel interfaces to the new lifetime configuration.
2009-09-01 12:53:13 +02:00
Tobias Brunner
e0a8a8c3ec
Adapted the config backends to the new lifetime configuration.
2009-09-01 12:50:50 +02:00
Tobias Brunner
caf87c7dcb
child_cfg_t now takes a lifetime_cfg_t to configure the lifetime limits. Also adjusted the jitter calculation, so it works for values > RAND_MAX.
2009-09-01 12:50:50 +02:00
Tobias Brunner
86e4728550
lifetime_cfg_t added to configure lifetime limits of a CHILD_SA.
2009-09-01 12:50:50 +02:00
Tobias Brunner
e822fc576a
Added side effect free min and max macros.
2009-09-01 12:50:50 +02:00
Tobias Brunner
333b461aa6
Fixing address resolution via getaddrinfo in libfreeswan.
2009-08-18 12:30:11 +02:00
Tobias Brunner
f1777dff59
Replacing gethostbyname, gethostbyname2 and their _r variants with getaddrinfo to increase portability.
2009-08-14 16:14:32 +02:00
Tobias Brunner
26965b4ef3
OpenSolaris needs libsocket and libnsl for socket().
2009-08-14 14:50:53 +02:00
Tobias Brunner
932fdc38de
Enable CMSG headers and macros on OpenSolaris.
2009-08-14 14:50:52 +02:00
Tobias Brunner
8c3627c5ae
Added define to get sigwait with two parameters on OpenSolaris.
2009-08-14 14:50:51 +02:00
Tobias Brunner
e580e0a9a2
sockio.h is required on OpenSolaris for SIOCGIFADDR.
2009-08-14 14:50:50 +02:00
Tobias Brunner
647bd246e4
Replaced the strange definitions of IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT on OpenSolaris.
2009-08-14 14:50:49 +02:00
Tobias Brunner
cc396286e8
Defined some missing fixed-width int types on OpenSolaris.
2009-08-14 14:50:22 +02:00
Tobias Brunner
a3ccf95f3f
LOG_AUTHPRIV is not defined on OpenSolaris.
2009-08-14 13:37:07 +02:00
Tobias Brunner
3901937d14
OpenSolaris defines MUTEX_DEFAULT therefore we rename the members of the enums mutex/condvar/rwlock_type_t.
2009-08-14 13:30:59 +02:00
Tobias Brunner
8b6a5ce5ba
We need to include alloca.h on OpenSolaris.
2009-08-14 13:25:22 +02:00
Tobias Brunner
3974b2fb07
FreeBSD's libc does not support backtrace(), but libexecinfo optionally replicates this function (and the other defined in execinfo.h).
2009-08-07 18:46:25 +02:00
Tobias Brunner
79ff614144
Use LONG_MAX instead of a hard-coded value.
2009-08-06 18:22:01 +02:00
Tobias Brunner
bfca7aa5ed
FreeBSD returns the current policy use time only after specifying a hard lifetime when installing the policy.
2009-08-06 18:14:44 +02:00
Tobias Brunner
c3a78360a8
Fixed a race condition when querying stats of a child_sa in different order.
2009-08-06 16:47:32 +02:00
Tobias Brunner
dd83c6d490
Don't query the policy usetime if there was no traffic on the SA.
...
This helps in cases where a policy is assigned to more than one SA. That
is, SAs now should have different usetimes even if they use the same policy.
2009-08-06 15:14:54 +02:00
Tobias Brunner
b3f8ea8346
Reverted the interface changes introduced in 3f720dc7.
2009-08-06 13:31:54 +02:00
Tobias Brunner
1e7b4b0028
Reversed the check for udp.h, fixes compilation on Linux.
2009-08-06 10:01:59 +02:00
Tobias Brunner
7da1f4a0ff
Enabling UDP encapsulation via setsockopt fails on Mac OS X (it is also not required as this is done using sysctl).
2009-08-05 12:31:10 +02:00
Tobias Brunner
524f9ac470
FreeBSD only reports a policy's usetime if a lifetime has been specified when the policy was added (we only specify a lifetime on the SA, not on the policy).
2009-08-04 11:08:58 +02:00
Tobias Brunner
56ee8fcc96
FreeBSD and Mac OS X both set the sequence number of an SADB_X_SPDGET response to zero, we accept that for now.
2009-08-04 11:08:58 +02:00
Tobias Brunner
e8c3cdb25b
Missing check for udp.h added.
2009-08-04 11:08:57 +02:00
Tobias Brunner
eab05274f4
Handling of unsupported policy directions (FWD) fixed.
2009-07-30 14:06:26 +02:00
Tobias Brunner
e20bd8b6ea
Enabling NAT-T on Mac OS X using the private SADB_X_EXT_NATT flag and sadb_sa_2 struct.
2009-07-30 14:06:26 +02:00
Tobias Brunner
789ba17024
Configure the NAT-T port via sysctl on Mac OS X to enable handling of incoming UDP encapsulated ESP packets in the kernel.
2009-07-30 14:06:26 +02:00
Tobias Brunner
b2117eee20
Make accept(2) and recvfrom(2) cancellation points on Mac OS X.
2009-07-30 14:06:26 +02:00
Tobias Brunner
6ff7ab850b
Fixed GID lookup in cases where the configured group is a prefix of another group.
2009-07-20 21:20:03 +02:00
Tobias Brunner
9af7715c3d
Fixed installation of config files in out-of-tree builds.
2009-07-20 21:13:45 +02:00
Tobias Brunner
7cdf712d3e
Use the numerical UID/GID to install the config files and create the ipsec.d directories.
2009-07-20 21:03:05 +02:00
Tobias Brunner
7d2b06da6a
Translate the configured user and group to a numerical UID and GID.
2009-07-20 21:01:13 +02:00
Tobias Brunner
375a91bb9b
Fixing distribution build (checksum.c is created on the user's system).
2009-07-16 16:53:43 +02:00
Tobias Brunner
69fc782000
Check for gperf version added to configure script.
2009-07-16 15:15:40 +02:00
Tobias Brunner
c7e0f07ced
Typo fixed.
2009-07-16 15:15:35 +02:00
Tobias Brunner
cf00cffef2
Added an option to the configure script to disable building the scripts.
2009-07-16 15:15:26 +02:00
Tobias Brunner
599d2bcea8
Revert "gperf under FreeBSD does not know the -m option."
...
This reverts commit 0ead254919 .
2009-07-16 15:15:09 +02:00
Tobias Brunner
233a132634
Removed an unnecessary include of a header that is not available on Mac OS X.
2009-07-15 22:42:22 +02:00
Tobias Brunner
0ead254919
gperf under FreeBSD does not know the -m option.
...
We could use AC_PATH_PROGS_FEATURE_CHECK (added in Autoconf 2.62) to check for this option.
2009-07-14 12:09:22 +02:00
Tobias Brunner
fd0df7ec75
Corrected check for valid ASN1 types in rdn_enumerate.
...
Because of the range of u_char the comparison was always TRUE before.
2009-07-14 12:09:22 +02:00
Tobias Brunner
0b5f2a81da
Added --with-lib-prefix option to the configure script.
...
This option enables users to add additional search paths for include
files and libraries.
2009-07-14 12:09:22 +02:00
Tobias Brunner
272c81134c
Typo in configure script fixed.
2009-06-12 10:42:07 +02:00
Tobias Brunner
a6ae2a1490
Fixing IPSEC_* checks on older Linux distros.
2009-05-21 10:03:27 +02:00
Tobias Brunner
617e59b7bc
Portably check for IPSEC_* constants (defined in ipsec.h).
...
The problem is that FreeBSD defines them as #defines whereas Linux defines them as enums.
2009-05-20 20:15:06 +02:00
Tobias Brunner
ad36ab252e
Automatically build (and install) the DUMM Ruby extension.
2009-05-20 19:38:01 +02:00
Tobias Brunner
2d9ce480fa
Enable building the DUMM Ruby extension in a VPATH build.
2009-05-20 19:38:01 +02:00
Tobias Brunner
d2e9cbc9a2
The configure script now tries to figure out where ruby.h is located.
...
This is required because the location depends on the architecture.
2009-05-20 19:38:01 +02:00
Tobias Brunner
68173e1fea
typo
2009-05-18 13:04:18 +02:00