Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | ikev1: Defer Mode Config push after CHILD adoption and reauth detection | Martin Willi | 2014-08-25 | 2 | -10/+35 | |
| | | | | | | | | When an initiator starts reauthentication on a connection that uses push mode to assign a virtual IP, we can't execute the Mode Config before releasing the virtual IP. Otherwise we would request a new and different lease, which the client probably can't handle. Defer Mode Config execution, so the same IP gets first released then reassigned during reauthentication. | |||||
* | ikev1: Extend adopt_children_job by task queuing, executed after adoption | Martin Willi | 2014-08-25 | 2 | -0/+48 | |
| | ||||||
* | ikev1: Accept Quick Mode DELETES while Quick Mode rekeying is active | Martin Willi | 2014-08-25 | 1 | -2/+21 | |
| | | | | | | | | | | If a peer immediately sends DELETE messages when completing Quick Mode rekeying, the third Quick Mode message and the DELETE are sent simultaneously. This implies that DELETE messages may arrive before the completing third Quick Mode message. Handle this case by ignoring the DELETE INFORMATIONAL in Quick Mode and let the delete task handle it. | |||||
* | ike-sa-manager: Use transient hasher for IKE_SA_INIT hash calculation | Christophe Gouault | 2014-08-25 | 1 | -32/+11 | |
| | | | | | | | | | | | | | | | | To check if a received IKE_SA_INIT request is a new request or a retransmit, charon maintains hashes of the pending IKE_SA_INIT exchanges. However, the hash calculation is not reentrant because a single hasher is used for the whole IKE SA manager. It leads to bogus calculations under high load and hence dropped messages on responder (IkeInInvalidSpi incremented). Don't share a single hasher in the IKE SA manager, create a transient one whenever a message must be hashed. Signed-off-by: Christophe Gouault <christophe.gouault@6wind.com> | |||||
* | bus: Add ike_reestablish_pre hook, called before DNS resolution | Tobias Brunner | 2014-07-22 | 4 | -9/+69 | |
| | | | | | The old hook is renamed to ike_reestablish_post and is now also called when the initiation of the new IKE_SA failed. | |||||
* | receiver: Send a single INVALID_MAJOR_VERSION notify for IKE version > 2 | Martin Willi | 2014-07-17 | 1 | -3/+1 | |
| | | | | | | | | | We sent both a notify using IKEv1 and IKEv2. This is a little more aggressive than required, RFC 5996 says we "SHOULD send an unauthenticated Notify message of type INVALID_MAJOR_VERSION containing the highest (closest) version number it supports". Fixes #657. | |||||
* | xauth-pam: Add workaround for null-terminated passwords | Tobias Brunner | 2014-07-07 | 1 | -1/+6 | |
| | | | | Fixes #631. | |||||
* | stroke: Don't log unspecified options of conn and ca sections | Tobias Brunner | 2014-06-30 | 1 | -37/+50 | |
| | ||||||
* | libvici: Add missing argument to Doxygen comment | Tobias Brunner | 2014-06-30 | 1 | -0/+1 | |
| | ||||||
* | Fixed some typos | Tobias Brunner | 2014-06-30 | 2 | -2/+2 | |
| | ||||||
* | updown: Force subnet address to be numeric | Tobias Brunner | 2014-06-25 | 1 | -2/+2 | |
| | ||||||
* | eap-radius: Increase buffer for accounting attributes to maximum attribute size | Martin Willi | 2014-06-25 | 1 | -1/+1 | |
| | | | | Fixes #624. | |||||
* | android: Update Android.mk files to match changes due to the Windows port | Tobias Brunner | 2014-06-24 | 1 | -1/+3 | |
| | | | | Makes them easier to compare to the original Makefile.am. | |||||
* | vici: Install libvici in ipseclibdir like we do with other libraries | Tobias Brunner | 2014-06-19 | 1 | -1/+1 | |
| | ||||||
* | kernel-interface: Add destination prefix to get_nexthop() | Tobias Brunner | 2014-06-19 | 3 | -4/+4 | |
| | | | | | This allows to determine the next hop to reach a subnet, for instance, when installing routes for shunt policies. | |||||
* | shunt-manager: Install passthrough policies with highest priority | Tobias Brunner | 2014-06-19 | 1 | -9/+34 | |
| | | | | | | This avoids conflicts with regular IPsec policies. Similarly, use the lowest priority for drop policies. | |||||
* | load-tester: Add a crl option to include a CRL uri in generated certificates | Martin Willi | 2014-06-19 | 1 | -1/+21 | |
| | ||||||
* | bus: Properly va_copy() argument list before passing it to printf() functions | Martin Willi | 2014-06-19 | 1 | -1/+3 | |
| | | | | | | | | As we later potentially use args again, we can't consume it with printf functions without copying it first. Clone list before passing it to any consuming function. Fixes #621. | |||||
* | child-sa: Set replay window on both inbound and outbound SA | Martin Willi | 2014-06-18 | 1 | -6/+2 | |
| | | | | | | | | While the outbound SA actually does not need a replay window, the kernel rejects zero replay windows on SAs using ESN. The ESN flag is required to use the full sequence number in ICV calculation, hence we set the replay window. This restores the behavior we had before 30c009c2. | |||||
* | ikev1: Allow late connection switching based on XAuth username | Tobias Brunner | 2014-06-18 | 1 | -6/+0 | |
| | ||||||
* | vici: Support memory stats without leak-detective on Windows | Martin Willi | 2014-06-17 | 1 | -0/+53 | |
| | ||||||
* | vici: Add a stats command returning various daemon infos and statistics | Martin Willi | 2014-06-17 | 1 | -0/+104 | |
| | ||||||
* | vici: Support a replay_window CHILD_SA option | Martin Willi | 2014-06-17 | 1 | -0/+16 | |
| | ||||||
* | starter: Add a replay_window connection option | Martin Willi | 2014-06-17 | 1 | -0/+4 | |
| | ||||||
* | kernel-interface: Add a replay_window parameter to add_sa() | Martin Willi | 2014-06-17 | 4 | -8/+15 | |
| | ||||||
* | child-cfg: Store connection specific replay window on CHILD_SA config | Martin Willi | 2014-06-17 | 2 | -0/+38 | |
| | ||||||
* | socket-win: Use non-overlapped I/O and socket event selection | Martin Willi | 2014-06-17 | 1 | -31/+13 | |
| | | | | | | | | The use of overlapped I/O was incorrect, as we passed stack based buffers, but did not cancel/wait for pending completion on all sockets. Our receive-from-all socket interface is actually tricky to implement using overlapped I/O. Switch to WSAEventSelect() event management, which can be canceled properly while working in a select()-like way. | |||||
* | bus: Add a handle_vips() hook invoked after handling configuration attributes | Martin Willi | 2014-06-17 | 6 | -0/+53 | |
| | | | | | | | | | Similar to assign_vips() used by a peer assigning virtual IPs to the other peer, the handle_vips() hook gets invoked on a peers after receiving attributes. On release of the same attributes the hook gets invoked again. This is useful to inspect handled attributes, as the ike_updown() hook is invoked after authentication, when attributes have not been handled yet. | |||||
* | ikev1: Invoke the assign_vips() bus hook for IKEv1 as well | Martin Willi | 2014-06-16 | 2 | -3/+7 | |
| | ||||||
* | ike: Create an enumerator for (un-)handled configuration attributes on IKE_SA | Martin Willi | 2014-06-16 | 2 | -0/+32 | |
| | ||||||
* | ike: Store unhandled attributes on IKE_SA as well | Martin Willi | 2014-06-16 | 4 | -12/+12 | |
| | ||||||
* | Split swanctl --raw mode into single-line and --pretty mode | Andreas Steffen | 2014-06-14 | 4 | -31/+70 | |
| | ||||||
* | windows: Use WINAPI call convention for Windows API callbacks | Martin Willi | 2014-06-06 | 3 | -10/+13 | |
| | | | | | For x86_64 it does not actually matter, but for i686 builds the call convention is different with WINAPI. | |||||
* | kernel-wfp: Include Windows header patch for MinGW 4.8.1 | Martin Willi | 2014-06-04 | 2 | -0/+29 | |
| | ||||||
* | kernel-wfp: Clone acquire traffic selectors only if they exist | Martin Willi | 2014-06-04 | 1 | -1/+3 | |
| | ||||||
* | kernel-wfp: Install routes for trap policies | Martin Willi | 2014-06-04 | 1 | -3/+21 | |
| | ||||||
* | kernel-wfp: Refactor route management to separate function | Martin Willi | 2014-06-04 | 1 | -39/+47 | |
| | ||||||
* | kernel-wfp: Install tunnel mode policies to appropriate sub-layers | Martin Willi | 2014-06-04 | 2 | -6/+22 | |
| | | | | | While it is unclear if this has any effect at all, we prefer specific sublayers to install policies as suggested. | |||||
* | kernel-wfp: Declare GUIDs and auth/cipher configs missing in some MinGW builds | Martin Willi | 2014-06-04 | 1 | -0/+89 | |
| | ||||||
* | kernel-wfp: Support multiple traffic selectors on tunnel mode SAs | Martin Willi | 2014-06-04 | 1 | -36/+80 | |
| | ||||||
* | child-sa: Pass the number of total policies tied to an SA to the kernel | Martin Willi | 2014-06-04 | 1 | -0/+8 | |
| | | | | | This will be useful if the kernel backend has to know how many policies follow an SA install, for example if it must install all policies concurrently. | |||||
* | kernel-iph: Implicitly enable IP forwarding when installing routes | Martin Willi | 2014-06-04 | 1 | -0/+26 | |
| | ||||||
* | kernel-wfp: Show a warning for packets the kernel drops in its IPsec layers | Martin Willi | 2014-06-04 | 1 | -0/+6 | |
| | ||||||
* | kernel-wfp: Set flag to get UDP encapsulation with tunnel mode working | Martin Willi | 2014-06-04 | 2 | -0/+22 | |
| | | | | | | Having this flag set fixes connections initiated by the Windows host, but unfortunately does not yet fix incoming connections. Connection state issue? We still see 0xc00000e2 error events, translating to INTERNAL_ERROR. | |||||
* | kernel-wfp: Install tunnel and trap forward policies | Martin Willi | 2014-06-04 | 3 | -136/+275 | |
| | ||||||
* | kernel-wfp: Manually create a ProviderContext to attach individual filters | Martin Willi | 2014-06-04 | 4 | -79/+73 | |
| | | | | | | This gives us more flexibility than using the intransparent FwpmIPsecTunnelAdd, and fixes the issues we have seen with trap policies. Forward filters are still missing, but required for site-to-site tunnels. | |||||
* | kernel-wfp: Print filter weight in "ipsecdump filters" | Martin Willi | 2014-06-04 | 1 | -0/+4 | |
| | ||||||
* | kernel-wfp: Add support for trap policies and acquires | Martin Willi | 2014-06-04 | 2 | -1/+304 | |
| | ||||||
* | socket-win: Install IKE bypass policies using bypass_socket() | Martin Willi | 2014-06-04 | 2 | -0/+12 | |
| | ||||||
* | kernel-wfp: Implement bypass_socket() using dedicated filter rules | Martin Willi | 2014-06-04 | 1 | -2/+117 | |
| |