Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | bus: Add an ike_update() hook invoked when peer endpoints change | Martin Willi | 2015-02-20 | 4 | -0/+50 | |
| | ||||||
* | connmark: Add a plugin stub | Martin Willi | 2015-02-20 | 4 | -0/+150 | |
| | ||||||
* | load-tester: Support initiating XAuth authentication | Martin Willi | 2015-02-20 | 1 | -0/+22 | |
| | | | | | | | | As with other configuration backends, XAuth is activated with a two round client authentication using pubkey and xauth. In load-tester, this is configured with initiator_auth=pubkey|xauth. Fixes #835. | |||||
* | mem-pool: Pass the remote IKE address, to re-acquire() an address during reauth | Martin Willi | 2015-02-20 | 6 | -51/+87 | |
| | | | | | | | | | | | With make-before-break IKEv2 re-authentication, virtual IP addresses must be assigned overlapping to the same peer. With the remote IKE address, the backend can detect re-authentication attempts by comparing the remote host address and port. This allows proper reassignment of the virtual IP if it is re-requested. This change removes the mem-pool.reassign_online option, as it is obsolete now. IPs get automatically reassigned if a peer re-requests the same address, and additionally connects from the same address and port. | |||||
* | ikev2: Schedule a make-before-break completion task to delete old IKE_SA | Martin Willi | 2015-02-20 | 8 | -1/+174 | |
| | ||||||
* | ikev2: Allow task to skip exchange by setting undefined exchange type | Martin Willi | 2015-02-20 | 1 | -0/+5 | |
| | ||||||
* | ikev2: Trigger make-before-break reauthentication instead of reauth task | Martin Willi | 2015-02-20 | 2 | -2/+79 | |
| | ||||||
* | ike-sa-manager: Use IKEv1 uniqueness reauthentication detection for IKEv2, too | Martin Willi | 2015-02-20 | 1 | -12/+8 | |
| | ||||||
* | attribute-handler: Pass full IKE_SA to handler backends | Martin Willi | 2015-02-20 | 8 | -72/+56 | |
| | ||||||
* | attribute-provider: Pass full IKE_SA to provider backends | Martin Willi | 2015-02-20 | 10 | -65/+55 | |
| | ||||||
* | attribute-manager: Pass full IKE_SA to handler methods | Martin Willi | 2015-02-20 | 5 | -23/+28 | |
| | ||||||
* | attribute-manager: Pass the full IKE_SA to provider methods | Martin Willi | 2015-02-20 | 5 | -23/+32 | |
| | ||||||
* | unit-tester: Drop the old unit-tester libcharon plugin | Martin Willi | 2015-02-20 | 13 | -953/+0 | |
| | | | | | | While it has some tests that we don't directly cover with the new unit tests, most of them require special infrastructure and therefore have not been used for a long time. | |||||
* | attributes: Move the configuration attributes framework to libcharon | Martin Willi | 2015-02-20 | 32 | -97/+2031 | |
| | ||||||
* | libcharon: Add a test runner | Martin Willi | 2015-02-20 | 5 | -0/+96 | |
| | ||||||
* | attr-sql: Move plugin to libcharon | Martin Willi | 2015-02-20 | 6 | -0/+722 | |
| | ||||||
* | attr: Move plugin to libcharon | Martin Willi | 2015-02-20 | 6 | -0/+560 | |
| | ||||||
* | resolve: Move plugin back to libcharon | Martin Willi | 2015-02-20 | 6 | -0/+595 | |
| | | | | Since pluto is gone, all existing users build upon libcharon. | |||||
* | ike: Consistently log CHILD_SAs with their unique_id instead of their reqid | Martin Willi | 2015-02-20 | 7 | -10/+12 | |
| | ||||||
* | unity: Reference IKE_SAs by the IKEv1 COOKIEs, improving lookup performance | Martin Willi | 2015-02-20 | 3 | -14/+17 | |
| | | | | | When handling thousands of IKE_SAs, the unique ID based lookup is rather slow, as we have no indexing. | |||||
* | ike-sa-manager: Remove IKE_SA checkout by CHILD_SA reqid | Martin Willi | 2015-02-20 | 4 | -38/+15 | |
| | ||||||
* | migrate-job: Do CHILD_SA reqid lookup locally | Martin Willi | 2015-02-20 | 2 | -26/+21 | |
| | ||||||
* | kernel-interface: Raise mapping event with a proto/SPI/dst tuple | Martin Willi | 2015-02-20 | 3 | -16/+37 | |
| | ||||||
* | inactivity-job: Schedule job by CHILD_SA unique ID instead of reqid | Martin Willi | 2015-02-20 | 4 | -23/+17 | |
| | ||||||
* | kernel-interface: Raise expires with a proto/SPI/dst tuple instead of reqid | Martin Willi | 2015-02-20 | 9 | -60/+51 | |
| | ||||||
* | controller: Use the CHILD_SA unique_id to terminate CHILD_SAs | Martin Willi | 2015-02-20 | 5 | -37/+23 | |
| | ||||||
* | stroke: List CHILD_SA unique ID as the primary identifier, but print reqid, too | Martin Willi | 2015-02-20 | 1 | -5/+6 | |
| | ||||||
* | vici: Include the CHILD_SA unique ID in list-sa event | Martin Willi | 2015-02-20 | 2 | -0/+2 | |
| | ||||||
* | ike: Maintain per-IKE_SA CHILD_SAs in the global CHILD_SA manager | Martin Willi | 2015-02-20 | 3 | -19/+92 | |
| | ||||||
* | child-sa-manager: Add a global manager storing CHILD_SA relations | Martin Willi | 2015-02-20 | 6 | -1/+432 | |
| | | | | | | To quickly check out IKE_SAs and find associated CHILD_SAs, the child_sa_manager stores relations between CHILD_SAs and IKE_SAs. It provides CHILD_SA specific IKE_SA checkout functions wrapping the ike_sa_manager. | |||||
* | child-sa: Replace reqid based marks by "unique" marks | Martin Willi | 2015-02-20 | 10 | -11/+110 | |
| | | | | | | | | | | | As we now use the same reqid for multiple CHILD_SAs with the same selectors, having marks based on the reqid makes not that much sense anymore. Instead we use unique marks that use a custom identifier. This identifier is reused during rekeying, keeping the marks constant for any rule relying on it (for example installed by updown). This also simplifies handling of reqid allocation, as we do not have to query the marks that is not yet assigned for an unknown reqid. | |||||
* | child-sa: Introduce a unique CHILD_SA identifier | Martin Willi | 2015-02-20 | 2 | -0/+24 | |
| | | | | | As the reqid is not that unique even among multiple IKE_SAs anymore, we need an identifier to uniquely identify a specific CHILD_SA instance. | |||||
* | child-sa: Delegate reqid allocation to the kernel interface | Martin Willi | 2015-02-20 | 1 | -15/+46 | |
| | ||||||
* | child-sa: Sort traffic selectors after adding CHILD_SA policies | Martin Willi | 2015-02-20 | 1 | -0/+3 | |
| | | | | Having traffic selectors sorted properly makes comparing them much simpler. | |||||
* | child-sa: Remove the obsolete update logic | Martin Willi | 2015-02-20 | 1 | -6/+1 | |
| | | | | | | The kernel backend uses an inbound parameter these days, where it makes no sense to pass the update flag. The kernel backend decides itself how it handles SA installation based on the inbound flag. | |||||
* | kernel-interface: Pass full list of traffic selectors to add_sa() | Martin Willi | 2015-02-20 | 4 | -11/+9 | |
| | | | | | | While we can handle the first selector only in BEET mode in kernel-netlink, passing the full list gives the backend more flexibility how to handle this information. | |||||
* | libipsec: Remove unused src/dst_ts parameters from ipsec_sa_mgr_t.add_sa() | Martin Willi | 2015-02-20 | 1 | -2/+1 | |
| | ||||||
* | kernel-interface: Remove reqid parameter from get_spi/get_cpi() methods | Martin Willi | 2015-02-20 | 4 | -8/+8 | |
| | | | | | | | | | | The reqid is not strictly required, as we set the reqid with the update call when installing the negotiated SA. If we don't need a reqid at this stage, we can later allocate the reqid in the kernel backend once the SA parameters have been fully negotaited. This allows us to assign the same reqid for the same selectors to avoid conflicts on backends this is necessary. | |||||
* | libipsec: Remove unused reqid parameter from ipsec_sa_mgr_t.get_spi() | Martin Willi | 2015-02-19 | 1 | -1/+1 | |
| | ||||||
* | ha: Perform child rekeying outside of CHILD_SA enumerator | Thomas Egerer | 2015-02-19 | 1 | -7/+22 | |
| | | | | | | | | | | | | | | | | When rekey_child_sa is called while enumerating the children of an IKE_SA, and the child to be rekeyed is redundant a QUICK_DELETE task is queued instead of a QUICK_MODE task. This alters the IKE_SA's list of children (ike_sa_t::child_sas) invalidating the current element of the child_sa_enumerator. The enumerate function of linked_list_t will then advance to an element with unpredictable contents most likely resulting in an segmentation violation. A similar behavior should be observed when delete_child_sa is called. This patch creates a list of protocol/spi values while holding the child_sa_enumerator and performs the rekeying (deletion of redundant) chlidren after releasing the enumerator. Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com> | |||||
* | vici: Fix ruby gem author email | Martin Willi | 2015-01-22 | 1 | -1/+1 | |
| | ||||||
* | vici: Fix README example encoding element type values, off by one | Martin Willi | 2015-01-21 | 1 | -10/+10 | |
| | | | | | | | While we fixed the wrong values in the description with d39e04b5, the example values are still off by one. Fixes #828. | |||||
* | ikev2: Only touch the DH object if we have a matching proposal | Tobias Brunner | 2014-12-23 | 1 | -11/+17 | |
| | ||||||
* | apple: Redefine some additional clashing Mach types | Martin Willi | 2014-12-16 | 1 | -0/+2 | |
| | | | | | | While they usually are not included in a normal strongSwan build, the XPC header indirectly defines these Mach types. To build charon-xpc, which uses both XPC and strongSwan includes, we have to redefine these types. | |||||
* | Fixed some typos, courtesy of codespell | Tobias Brunner | 2014-12-15 | 1 | -1/+1 | |
| | ||||||
* | ike: Allow creation of internally used payloads | Tobias Brunner | 2014-12-12 | 1 | -1/+1 | |
| | | | | | | | Since 42e0a317c64b ("ike: Only parse payloads valid for the current IKE version") payload types are checked before creating objects. This check failed for internally used payload types (e.g. proposal substructures), which have a type >= 256, i.e. outside the IKE payload type range. | |||||
* | vici: Use silent builder destroy function in vici_free_req() | Martin Willi | 2014-12-12 | 1 | -7/+1 | |
| | ||||||
* | vici: Add a destroy method to builder, allowing cancellation without error | Martin Willi | 2014-12-12 | 2 | -4/+18 | |
| | | | | | When cancelling a builder, finalize throws an error which we might prefer to avoid. | |||||
* | eap-radius: Use the single-server legacy server options as fallback | Martin Willi | 2014-12-12 | 1 | -3/+10 | |
| | ||||||
* | ikev1: Use same map for AH and ESP authentication algorithms | Tobias Brunner | 2014-12-09 | 1 | -152/+120 | |
| | | | | | | The transform identifier used in AH transforms is not the same as the authentication algorithm identifier used in the transform attributes in AH (and ESP) transforms. |