]>
git.ipfire.org Git - thirdparty/strongswan.git/log
Martin Willi [Fri, 26 Jul 2013 11:06:17 +0000 (13:06 +0200)]
testing: add a testcase for plain XAuth RADIUS authentication
Martin Willi [Wed, 24 Jul 2013 11:35:46 +0000 (13:35 +0200)]
charon-cmd: add --eap-identity and --xauth-username options
Martin Willi [Mon, 22 Jul 2013 13:59:49 +0000 (15:59 +0200)]
eap-radius: do RADIUS/IKE attribute forwarding in XAuth backend
Martin Willi [Mon, 22 Jul 2013 12:28:12 +0000 (14:28 +0200)]
eap-radius: support plain XAuth RADIUS authentication using User-Password
Martin Willi [Mon, 22 Jul 2013 12:23:01 +0000 (14:23 +0200)]
libradius: support encryption of User-Password attributes
Martin Willi [Mon, 22 Jul 2013 12:16:38 +0000 (14:16 +0200)]
utils: add round_up/down() helper functions
Martin Willi [Mon, 22 Jul 2013 11:45:31 +0000 (13:45 +0200)]
libradius: refactor generic RADIUS en-/decryption function to a message method
Martin Willi [Mon, 22 Jul 2013 08:17:38 +0000 (10:17 +0200)]
eap-radius: export function to build common attributes of Access-Request
Martin Willi [Mon, 22 Jul 2013 07:55:00 +0000 (09:55 +0200)]
eap-radius: export function to process common attributes of Access-Accept
Martin Willi [Wed, 24 Jul 2013 14:20:46 +0000 (16:20 +0200)]
mem-pool: add option for reusing online leases, and disable it by default
Mainly for reauthentication with third party implementations, we allowed to
reuse an online lease, but only for the same peer identity and when it
explicitly requested the same address.
This has always been problematic, because it changes the reqid of the CHILD_SA
with the same traffic selectors, breaking the old tunnel. As we now reject
such policy overwrites, this usually lets the installation of the new policies
fail. We therefore disable reassignment of online leases by default.
Martin Willi [Wed, 24 Jul 2013 14:13:07 +0000 (16:13 +0200)]
mem-pool: replace per-identity online/offline lists by more efficient arrays
This saves two lists per connected peer identity, up to 0.4KB.
Martin Willi [Wed, 24 Jul 2013 13:45:39 +0000 (15:45 +0200)]
mem-pool: refcount online lease when reassigning it to another tunnel
When we reassign an online lease for the same peer, we have to refcount it.
Otherwise we would set it offline if one of the tunnels goes down, but it is
actually still in use by a the second tunnel. This can finally lead in
assigning the same virtual IP to different peers.
Tobias Brunner [Thu, 25 Jul 2013 15:08:17 +0000 (17:08 +0200)]
ikev1: Always send ID payloads (traffic selectors) during Quick Mode
Especially Windows 7 has problems if the peer does not send ID payloads
for host-to-host connections (tunnel and transport mode).
Fixes #319.
Tobias Brunner [Thu, 25 Jul 2013 14:57:42 +0000 (16:57 +0200)]
watcher: Made notify array initialization compatible with older GCC versions
Tobias Brunner [Wed, 24 Jul 2013 10:16:52 +0000 (12:16 +0200)]
unit-tests: Add additional tests for host_t
Tobias Brunner [Wed, 24 Jul 2013 14:23:14 +0000 (16:23 +0200)]
imv-attestation: Properly measure complete directories
Tobias Brunner [Wed, 24 Jul 2013 14:03:38 +0000 (16:03 +0200)]
array: Number of items in get_size() is unsigned
Otherwise, array->esize is promoted to int and if array->esize * num
results in a value > 0x7fffffff the return value would be incorrect due
the implicit sign extension when getting cast to size_t.
Tobias Brunner [Wed, 24 Jul 2013 09:18:31 +0000 (11:18 +0200)]
stream: Ensure UNIX socket path is null terminated
Tobias Brunner [Wed, 24 Jul 2013 09:11:25 +0000 (11:11 +0200)]
kernel-pfkey: Add sanity check when deleting policies
Tobias Brunner [Wed, 24 Jul 2013 09:04:34 +0000 (11:04 +0200)]
imv-os: check_packages() fails if product query fails
Tobias Brunner [Wed, 24 Jul 2013 08:58:34 +0000 (10:58 +0200)]
pkcs5: Add missing break statements when checking crypto primitives
Tobias Brunner [Wed, 24 Jul 2013 08:45:32 +0000 (10:45 +0200)]
imv-scanner: Properly check snprintf() return value
Tobias Brunner [Wed, 24 Jul 2013 08:36:49 +0000 (10:36 +0200)]
socket-dynamic: Properly initialize IPv6 address
Tobias Brunner [Wed, 24 Jul 2013 08:33:06 +0000 (10:33 +0200)]
unit-tests: Add test for host_create_netmask()
Tobias Brunner [Wed, 24 Jul 2013 08:31:52 +0000 (10:31 +0200)]
host: Prevent overflow in host_create_netmask() if mask is 0 or 32/128
Tobias Brunner [Wed, 24 Jul 2013 07:04:09 +0000 (09:04 +0200)]
imv-attestation: Use proper cast for length when using %.*s
Tobias Brunner [Wed, 24 Jul 2013 07:00:35 +0000 (09:00 +0200)]
tnc-ifmap: Use proper cast for length when using %.*s
Tobias Brunner [Wed, 24 Jul 2013 06:43:10 +0000 (08:43 +0200)]
capabilities: Proper error handling when reading groups
Tobias Brunner [Tue, 23 Jul 2013 10:23:05 +0000 (12:23 +0200)]
strongswan.conf: Moved some stuff around
Tobias Brunner [Mon, 22 Jul 2013 16:12:04 +0000 (18:12 +0200)]
ipsec: Add --piddir to retrieve the PID/socket directory
Tobias Brunner [Mon, 22 Jul 2013 15:59:49 +0000 (17:59 +0200)]
starter: Properly refer to the ipsec script if it was renamed
Tobias Brunner [Mon, 22 Jul 2013 15:53:56 +0000 (17:53 +0200)]
coupling: Fix call to call_hook()
Tobias Brunner [Mon, 22 Jul 2013 15:45:43 +0000 (17:45 +0200)]
strongswan.conf: Add missing options
Tobias Brunner [Mon, 22 Jul 2013 15:44:37 +0000 (17:44 +0200)]
charon-xpc: Use correct namespace when setting default settings
Tobias Brunner [Mon, 22 Jul 2013 15:43:54 +0000 (17:43 +0200)]
tnc-pdp: Fix reading port setting from strongswan.conf
Andreas Steffen [Fri, 19 Jul 2013 18:07:32 +0000 (20:07 +0200)]
fixed typo
Andreas Steffen [Fri, 19 Jul 2013 17:36:07 +0000 (19:36 +0200)]
updated some TNC scenarios
Martin Willi [Fri, 19 Jul 2013 13:27:07 +0000 (15:27 +0200)]
processor: force synchronous execute_job() if set_threads(0) has been called
During daemon shutdown, some idle threads might be lingering around even if
set_threads(0) already has been called. To avoid any races, we enforce
synchronous execution of the job.
Martin Willi [Fri, 19 Jul 2013 13:01:53 +0000 (15:01 +0200)]
proposal: correctly enumerate registered AEADs to build default IKE proposal
AEADs are not returned (anymore) with the encryption enumerator.
Andreas Steffen [Fri, 19 Jul 2013 08:40:49 +0000 (10:40 +0200)]
Version bump to 5.1.0rc1
Tobias Brunner [Fri, 19 Jul 2013 07:02:04 +0000 (09:02 +0200)]
tkm: Properly refer to includes now that AM_CPPFLAGS is used
Tobias Brunner [Fri, 19 Jul 2013 07:01:39 +0000 (09:01 +0200)]
keychain: Use AM_CPPFLAGS instead of INCLUDES
Tobias Brunner [Thu, 18 Jul 2013 15:27:11 +0000 (17:27 +0200)]
Fix various API doc issues and typos
Partially based on an old patch by Adrian-Ken Rueegsegger.
Martin Willi [Thu, 18 Jul 2013 14:45:10 +0000 (16:45 +0200)]
identification: parse identities having a "@@" prefix as ID_RFC822_ADDR
Original patch by Gerald Richter.
Martin Willi [Thu, 18 Jul 2013 14:10:48 +0000 (16:10 +0200)]
NEWS: mention watcher and stream services
Martin Willi [Thu, 18 Jul 2013 14:03:14 +0000 (16:03 +0200)]
Merge branch 'ipc-service'
Adds network transparency and TCP support to the IPC interfaces of different
plugins using the new stream and stream service classes. A central watcher
thread can watch multiple file descriptors to handle connection requests
for these and other services using only a single thread.
Martin Willi [Thu, 18 Jul 2013 13:46:17 +0000 (15:46 +0200)]
stream-service: move CAP_CHOWN check from plugins to service constructor
A plugin service can be a TCP socket now, so it does not make much sense
to strictly check for CAP_CHOWN.
Martin Willi [Thu, 18 Jul 2013 09:42:59 +0000 (11:42 +0200)]
processor: remove the now unused get_threads() method again
Martin Willi [Thu, 18 Jul 2013 09:40:40 +0000 (11:40 +0200)]
watcher: use processors new execute_job() to notify FDs
Just queueing is problematic, as all threads might be busy waiting for events
that the queued (but never executed) job delivers.
Martin Willi [Thu, 18 Jul 2013 09:37:42 +0000 (11:37 +0200)]
processor: add an execute_job() method to directly execute an important job
If all worker threads are busy and waiting for an event, we must ensure that
a job delivering that event gets executed. This new method has this property
for CRITICAL jobs, using a worker if we have one, but executing the job directly
if not.
Martin Willi [Wed, 17 Jul 2013 14:07:47 +0000 (16:07 +0200)]
watcher: properly support multiple watch callback types for the same FD
Martin Willi [Wed, 17 Jul 2013 14:03:23 +0000 (16:03 +0200)]
watcher: read multiple notifications if available
Use non-blocking I/O on the read end of the notify pipe. This also makes sure
the read does not block should select() signal data while there is none.
Martin Willi [Tue, 15 Nov 2011 17:13:53 +0000 (17:13 +0000)]
certexpire: add an option to enforce exporting trustchains having a private key
Martin Willi [Tue, 9 Jul 2013 12:28:10 +0000 (14:28 +0200)]
error-notify: catch and forward some alerts related to certificate validation
Martin Willi [Tue, 9 Jul 2013 12:21:40 +0000 (14:21 +0200)]
bus: raise certificate validation alerts using credential manager hook
Martin Willi [Tue, 9 Jul 2013 09:55:32 +0000 (11:55 +0200)]
credmgr: introduce a hook function to catch trust chain validation errors
Martin Willi [Mon, 4 Feb 2013 09:02:14 +0000 (10:02 +0100)]
lookip: double size of id field in message
Martin Willi [Mon, 4 Feb 2013 08:59:54 +0000 (09:59 +0100)]
error-notify: increase size of string/identity fields in messages
Martin Willi [Mon, 8 Jul 2013 09:44:52 +0000 (11:44 +0200)]
whitelist: use a read-copy when listing entries
While this requires a little more overhead, we can free the lock should the
stream block, allowing other threads to add/remove entries.
Martin Willi [Mon, 8 Jul 2013 08:52:49 +0000 (10:52 +0200)]
whitelist: fix error handling when creating the socket fails
Martin Willi [Mon, 8 Jul 2013 08:40:25 +0000 (10:40 +0200)]
lookip: fix error handling when creating the socket fails
Martin Willi [Mon, 8 Jul 2013 08:39:23 +0000 (10:39 +0200)]
error-notify: fix error handling when creating the socket fails
Martin Willi [Mon, 1 Jul 2013 13:48:22 +0000 (15:48 +0200)]
kernel-pfroute: use watcher to receive kernel events
Martin Willi [Mon, 1 Jul 2013 13:45:01 +0000 (15:45 +0200)]
kernel-pfkey: use watcher to receive networking events
Martin Willi [Mon, 1 Jul 2013 13:42:22 +0000 (15:42 +0200)]
kernel-netlink: use watcher to receive kernel events for net/ipsec
Martin Willi [Mon, 1 Jul 2013 09:52:42 +0000 (11:52 +0200)]
eap-radius: use watcher instead of receiver thread on DAE socket
Martin Willi [Mon, 1 Jul 2013 07:47:28 +0000 (09:47 +0200)]
dhcp: use watcher instead of dedicated receiver thread
Martin Willi [Mon, 1 Jul 2013 09:59:56 +0000 (11:59 +0200)]
farp: use watcher instead of dedicated receiver thread
Martin Willi [Mon, 1 Jul 2013 10:18:15 +0000 (12:18 +0200)]
load-tester: use a stream service to dispatch control connections
Martin Willi [Mon, 1 Jul 2013 12:47:11 +0000 (14:47 +0200)]
whitelist: use a stream service to accept client connections
Use SOCK_STREAM, as we don't have SOCK_SEQPACKET on TCP. To have network
transparency, the message now uses network byte order.
Martin Willi [Mon, 1 Jul 2013 10:47:45 +0000 (12:47 +0200)]
lookip: use stream service with async I/O dispatching
Now uses SOCK_STREAM, as SOCK_SEQPACKET is not available over TCP. To have
network transparency, the message now uses network byte order.
Martin Willi [Mon, 1 Jul 2013 09:42:18 +0000 (11:42 +0200)]
error-notify: use a stream service to accept client connections
As TCP does not have SOCK_SEQPACKET, we now use SOCK_STREAM for the error-notify
socket. To have network transparency, the message now uses network byte order.
Martin Willi [Mon, 1 Jul 2013 09:19:01 +0000 (11:19 +0200)]
duplicheck: use a stream service to accept client connections
As we can't use SOCK_SEQPACKET over TCP, we now have to provide message
boundaries ourselves. We do this by appending a 16-bit length header to each
sent duplicate identity.
Martin Willi [Fri, 28 Jun 2013 12:35:12 +0000 (14:35 +0200)]
stroke: use a stream service to handle stroke requests
Martin Willi [Tue, 2 Jul 2013 12:09:45 +0000 (14:09 +0200)]
stream: allow async read/write callback to destroy the stream explicitly
Martin Willi [Tue, 2 Jul 2013 12:04:51 +0000 (14:04 +0200)]
stream: don't close underlying socket when creating a stream from it
Martin Willi [Tue, 2 Jul 2013 12:03:51 +0000 (14:03 +0200)]
watcher: add some debugging statements
Martin Willi [Tue, 2 Jul 2013 09:01:10 +0000 (11:01 +0200)]
watcher: if the processor has no threads, execute the job with watcher thread
This is important during shutdown, where we might need to signal some FDs while
all idle threads are gone already.
Martin Willi [Tue, 2 Jul 2013 09:00:27 +0000 (11:00 +0200)]
processor: add a getter for the threads passed to set_threads()
Martin Willi [Mon, 1 Jul 2013 16:38:42 +0000 (18:38 +0200)]
watcher: unregister a watcher FD if its thread gets cancelled
Martin Willi [Mon, 1 Jul 2013 16:34:08 +0000 (18:34 +0200)]
watcher: release threads waiting in remove() when watcher thread gets cancelled
During daemon shutdown, users might call remove() after processor.set_threads(0)
has been called. This gets problematic, as a watch event might be unable
to signal completion when no threads are available anymore. Work around this
issue by cancelling waiters once processor.cancel() has been called.
Martin Willi [Mon, 1 Jul 2013 12:57:28 +0000 (14:57 +0200)]
stream: support keeping the service alive outside of service callback
Martin Willi [Mon, 1 Jul 2013 08:36:52 +0000 (10:36 +0200)]
stream: add read/write_all() methods to stream
Martin Willi [Fri, 28 Jun 2013 12:33:03 +0000 (14:33 +0200)]
stream: support cancellation of stream service callback
Martin Willi [Fri, 28 Jun 2013 12:55:27 +0000 (14:55 +0200)]
stream: use a service constructor to create services
It does not make much sense to reference running services in the manager,
especially as unregistration would need the URI (which a user would have to
store instead of the service reference).
Martin Willi [Fri, 28 Jun 2013 12:33:41 +0000 (14:33 +0200)]
stream: replace print/vprint() convenience functions by a FILE* getter
While this will complicate the implementation of streams not based on a fd,
it allows us to unleash the full power of FILE based convenience functions.
Martin Willi [Fri, 28 Jun 2013 09:50:59 +0000 (11:50 +0200)]
stream: add a concurrency option to services, limiting parallel callbacks
Martin Willi [Fri, 28 Jun 2013 08:32:30 +0000 (10:32 +0200)]
stream: add a job priority option to stream services
Martin Willi [Fri, 28 Jun 2013 08:20:13 +0000 (10:20 +0200)]
stream: add backlog option to stream services, forward to listen()
Martin Willi [Thu, 27 Jun 2013 15:25:51 +0000 (17:25 +0200)]
stream: add support for TCP stream services
Martin Willi [Thu, 27 Jun 2013 15:25:21 +0000 (17:25 +0200)]
stream: add support for TCP streams
Martin Willi [Wed, 26 Jun 2013 15:16:33 +0000 (17:16 +0200)]
stream: add support for UNIX stream services
Martin Willi [Wed, 26 Jun 2013 15:08:14 +0000 (17:08 +0200)]
stream: add support for UNIX streams
Martin Willi [Thu, 27 Jun 2013 13:49:11 +0000 (15:49 +0200)]
stream: support async operation using watcher
Martin Willi [Thu, 27 Jun 2013 09:46:41 +0000 (11:46 +0200)]
stream: add printf()-style covenience functions
Martin Willi [Thu, 27 Jun 2013 08:16:00 +0000 (10:16 +0200)]
stream: create library instance of stream-manager
Martin Willi [Wed, 26 Jun 2013 15:28:19 +0000 (17:28 +0200)]
stream: add a manager to dynamically register streams and services
Martin Willi [Wed, 26 Jun 2013 15:13:11 +0000 (17:13 +0200)]
stream: add a stream service class abstracting services using BSD sockets
Martin Willi [Wed, 26 Jun 2013 15:03:19 +0000 (17:03 +0200)]
stream: add a stream class abstracting BSD sockets
Currently only synchronous operation is supported, but this will be extended
with asynchronous methods using the new watcher.
Martin Willi [Mon, 24 Jun 2013 12:58:01 +0000 (14:58 +0200)]
watcher: add a centralized an generic facility to monitor file descriptors