Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | libcharon: Use lib->ns instead of charon->name | Tobias Brunner | 2014-02-12 | 11 | -26/+26 |
| | |||||
* | ikev1: Fix config switching due to failed authentication during Aggressive mode | Tobias Brunner | 2014-02-12 | 1 | -3/+1 |
| | | | | | | | The encoded ID payload gets destroyed by the authenticator, which caused a segmentation fault after the switch. Fixes #501. | ||||
* | child-sa: Add a getter for CHILD_SA install time | Martin Willi | 2014-01-23 | 2 | -0/+20 |
| | |||||
* | ikev2: Add Cisco FRAGMENTATION vendor ID | Martin Willi | 2014-01-23 | 1 | -0/+2 |
| | | | | Courtesy of C.J. Adams-Collier, ZeroLag Communications, Inc. | ||||
* | ikev2: Add Cisco Copyright vendor ID | Martin Willi | 2014-01-23 | 1 | -0/+2 |
| | | | | Courtesy of C.J. Adams-Collier, ZeroLag Communications, Inc. | ||||
* | ikev2: Add Cisco Delete Reason vendor ID | Martin Willi | 2014-01-23 | 1 | -0/+2 |
| | | | | Courtesy of C.J. Adams-Collier, ZeroLag Communications, Inc. | ||||
* | ikev2: Use a more dynamic vendor ID database, as we use with IKEv1 | Martin Willi | 2014-01-23 | 1 | -16/+57 |
| | |||||
* | ike: Simplify error handling if name resolution failed | Tobias Brunner | 2014-01-23 | 1 | -16/+3 |
| | | | | | | | This avoids a second name resolution attempt just to determine if %any etc. was configured. Fixes #440. | ||||
* | ike: Use proper hostname(s) when name resolution failed | Tobias Brunner | 2014-01-23 | 1 | -1/+1 |
| | | | | | | Was wrong since 0edce687675df8f10f4026fa12a8fc3b3dd003f5. Fixes #440. | ||||
* | ikev2: Wipe (optional) shared secret during CHILD_SA key derivation | Tobias Brunner | 2014-01-23 | 1 | -11/+14 |
| | |||||
* | ike_sa: Defer task manager destruction after child destruction | Thomas Egerer | 2014-01-16 | 4 | -9/+16 |
| | | | | | | | | | | This patch exports the task manager's flush to allow flushing of all queues with one function call from ike_sa->destroy. It allows the access of intact children during task destructoin (see git-commit e44ebdcf) and allows the access of the task manager in child_state_change hook. Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com> | ||||
* | ike: Log SK_p consistently on level 4 | Tobias Brunner | 2013-11-28 | 1 | -1/+1 |
| | |||||
* | trap-manager: Reset IKE_SA on bus_t if initiating fails | Tobias Brunner | 2013-11-21 | 1 | -0/+1 |
| | |||||
* | trap-manager: Prevent deadlock when installing trap policies | Tobias Brunner | 2013-11-21 | 1 | -40/+46 |
| | | | | | | | | | | | Because the write lock was held while calling add_policies() on child_sa_t, which finishes with a call to child_state_change() on bus_t, a deadlock would ensue if CHILD_SAs are concurrently being established, which also causes a call to child_state_change() that will require the read lock in trap_manager_t. No locks are now being held while creating the CHILD_SA and installing the trap policies. | ||||
* | ikev2: Properly free DH secret in case of errors during IKE key derivation | Tobias Brunner | 2013-11-06 | 1 | -0/+3 |
| | | | | Fixes #437. | ||||
* | ike: Don't immediately DPD after deferred DELETEs following IKE_SA rekeying | Martin Willi | 2013-11-01 | 1 | -0/+8 |
| | | | | | | | Some peers seem to defer DELETEs a few seconds after rekeying the IKE_SA, which is perfectly valid. For short(er) DPD delays, this leads to the situation where we send a DPD request during set_state(), but the IKE_SA has no hosts set yet. Avoid that DPD by resetting the INBOUND timestamp during set_state(). | ||||
* | ikev1: Properly initialize list of fragments in case fragment ID is 0 | Volker Rümelin | 2013-10-31 | 1 | -1/+1 |
| | | | | Fixes CVE-2013-6076. | ||||
* | Fixed some typos | Tobias Brunner | 2013-10-29 | 2 | -2/+2 |
| | |||||
* | trap-manager: Make sure a config is not trapped twice | Tobias Brunner | 2013-10-17 | 1 | -4/+16 |
| | |||||
* | iv_gen: aead_t implementations provide an IV generator | Tobias Brunner | 2013-10-11 | 1 | -0/+8 |
| | |||||
* | Remove HASH_PREFERRED, usages are replaced with HASH_SHA1, which is required ↵ | Tobias Brunner | 2013-10-11 | 1 | -1/+1 |
| | | | | for IKEv2 anyway | ||||
* | kernel: Use a time_t to report use time in query_policy() | Martin Willi | 2013-10-11 | 1 | -2/+2 |
| | |||||
* | kernel: Use a time_t to report use time in query_sa() | Martin Willi | 2013-10-11 | 1 | -3/+3 |
| | |||||
* | ike: Define keylength for aescmac algorithm | Martin Willi | 2013-10-11 | 1 | -0/+1 |
| | |||||
* | ikev1: Delete quick modes with the negotiated SA protocol | Martin Willi | 2013-10-11 | 1 | -1/+1 |
| | |||||
* | trap-manager: Install trap with SA protocol of the first configured proposal | Martin Willi | 2013-10-11 | 1 | -4/+12 |
| | |||||
* | child-sa: Save protocol during SPI allocation | Martin Willi | 2013-10-11 | 1 | -6/+3 |
| | | | | | This allows us to properly delete the incomplete SA with the correct protocol should negotiation fail. | ||||
* | ikev1: Negotiate SPI with the first/negotiated proposal protocol | Martin Willi | 2013-10-11 | 1 | -3/+18 |
| | |||||
* | ikev2: Allocate SPI with the protocol of the first/negotiated proposal | Martin Willi | 2013-10-11 | 1 | -2/+16 |
| | |||||
* | ikev1: Accept reauthentication attempts with a keep unique policy from same host | Martin Willi | 2013-09-30 | 1 | -6/+17 |
| | | | | | | | When we have a "keep" unique policy in place, we have to be less strict in rejecting Main/Aggressive Modes to enforce it. If the host/port equals to that of an existing ISAKMP SA, we assume it is a reauthentication attempt and accept the new SA (to replace the old). | ||||
* | ikev1: Delay a potential delete for a duplicate IKE_SA having a replace policy | Martin Willi | 2013-09-30 | 1 | -8/+29 |
| | | | | | | | | | Sending a DELETE for the replaced SA immediately is problematic during reauthentication, as the peer might have associated the Quick Modes to the old SA, and also delete them. With this change the delete for the old ISAKMP SA is usually omitted, as it is gets implicitly deleted by the reauth. | ||||
* | ikev2: Force an update of the host addresses on the first response | Tobias Brunner | 2013-09-23 | 1 | -11/+9 |
| | | | | | | | | | | | This is especially useful on Android where we are able to send messages even if we don't know the correct local address (this is possible because we don't set source addresses in outbound messages). This way we may learn the correct local address if it e.g. changed right before reestablishing an SA. Updating the local address later is tricky without MOBIKE as the responder might not update the associated IPsec SAs properly. | ||||
* | ike-sa: Resolve hosts before reestablishing an IKE_SA | Tobias Brunner | 2013-09-23 | 1 | -0/+2 |
| | |||||
* | ikev1: Fix double free when searching for redundant CHILD_SAs | Tobias Brunner | 2013-09-13 | 1 | -1/+1 |
| | | | | Fixes #411. | ||||
* | ikev1: For PFS prefer DH group from IKE_SA over first configured | Thomas Egerer | 2013-09-10 | 1 | -18/+54 |
| | | | | | | | | | | If PFS is configured for a CHILD_SA first try to create a list of proposals with using DH group negotiated during phase 1. If the resulting list is empty (i.e. the DH group(s) configured for PFS differ from the one(s) configured for the IKE_SA), fall back to the first configured DH group from the CHILD_SA. This modificiation is due to the fact that it is likely that the peer supports the same DH group for PFS it did already for the IKE_SA. | ||||
* | ike-cfg: remove the to be obsoleted allow any parameter in get_my/other_addr | Martin Willi | 2013-09-04 | 1 | -1/+1 |
| | |||||
* | trap-manager: use ike_cfg resolver functions | Martin Willi | 2013-09-04 | 1 | -4/+2 |
| | |||||
* | ike-sa: use ike_cfg resolver functions | Martin Willi | 2013-09-04 | 1 | -16/+12 |
| | |||||
* | ikev1: implement mode config push mode | Martin Willi | 2013-09-04 | 5 | -76/+363 |
| | |||||
* | xauth: add a configuration string option to be passed to XAuth instances | Martin Willi | 2013-09-03 | 4 | -4/+25 |
| | | | | | | The configuration string is appended to the XAuth backend name, separated by a colon. The configuration string is passed untouched to the backend, where it can change the behavior of the XAuth module. | ||||
* | ikev1: Fix calculation of the number of fragments | Tobias Brunner | 2013-08-15 | 1 | -1/+1 |
| | | | | The old code resulted in too few fragments in some cases. | ||||
* | ikev1: When sending fragments, use ports to decide if a non-ESP marker is added | Tobias Brunner | 2013-08-15 | 1 | -6/+8 |
| | | | | | This is same same logic used by sender and might apply in some cases (e.g. when initiating to port 4500). | ||||
* | ikev2: Fix segfault when reestablishing CHILD_SAs due to ↵ | Tobias Brunner | 2013-08-13 | 1 | -3/+4 |
| | | | | | | closeaction=restart|hold This regression was introduced with c949a4d5. | ||||
* | ikev2: Only schedule half-open-timeout delete job after successfully ↵ | Tobias Brunner | 2013-07-29 | 1 | -8/+16 |
| | | | | | | | handling IKE_SA_INIT We want to avoid this allocation if the initial message is invalid (e.g. if the message ID is != 0). | ||||
* | ikev1: Always send ID payloads (traffic selectors) during Quick Mode | Tobias Brunner | 2013-07-25 | 1 | -26/+4 |
| | | | | | | | Especially Windows 7 has problems if the peer does not send ID payloads for host-to-host connections (tunnel and transport mode). Fixes #319. | ||||
* | Fix various API doc issues and typos | Tobias Brunner | 2013-07-18 | 6 | -13/+11 |
| | | | | Partially based on an old patch by Adrian-Ken Rueegsegger. | ||||
* | ike: Fix reestablishing SAs if no child-creating tasks are queued | Tobias Brunner | 2013-07-18 | 1 | -2/+5 |
| | |||||
* | ike-sa: uninstall CHILD_SAs before removing virtual IPs | Martin Willi | 2013-07-18 | 1 | -1/+8 |
| | | | | | | a3854d83 changed cleanup order. But we should remove CHILD_SAs first, as routes for CHILD_SAs might get deleted while removing virtual IPs, resulting in an error when a CHILD_SA tries to uninstall its route. | ||||
* | ikev1: Reestablish IKE_SA/CHILD_SAs if it gets deleted by the peer | Tobias Brunner | 2013-07-17 | 1 | -0/+5 |
| | | | | | We call ike_sa_t.reestablish() so the IKE_SA is only recreated if any CHILD_SA requires it. | ||||
* | ike: Migrate queued CHILD_SA-creating tasks when reestablishing an IKE_SA | Tobias Brunner | 2013-07-17 | 4 | -2/+115 |
| |