Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Extended IPsec kernel policy scheme | Andreas Steffen | 2016-04-09 | 1 | -18/+53 |
| | | | | | | | | The kernel policy now considers src and dst port masks as well as restictions to a given network interface. The base priority is 100'000 for passthrough shunts, 200'000 for IPsec policies, 300'000 for IPsec policy traps and 400'000 for fallback drop shunts. The values 1..30'000 can be used for manually set priorities. | ||||
* | Include manual policy priorities and restriction to interfaces in vici ↵ | Andreas Steffen | 2016-04-09 | 1 | -1/+14 |
| | | | | list-conn command | ||||
* | Implemented IPsec policies restricted to given network interface | Andreas Steffen | 2016-04-09 | 2 | -6/+12 |
| | |||||
* | Support manually-set IPsec policy priorities | Andreas Steffen | 2016-04-09 | 2 | -2/+6 |
| | |||||
* | peer-cfg: Use struct to pass data to constructor | Tobias Brunner | 2016-04-09 | 9 | -95/+148 |
| | |||||
* | child-cfg: Use struct to pass data to constructor | Tobias Brunner | 2016-04-09 | 9 | -219/+231 |
| | |||||
* | kernel-pfkey: Prefer policies with reqid over those without | Tobias Brunner | 2016-04-09 | 1 | -1/+7 |
| | |||||
* | kernel-pfkey: Only install templates for regular IPsec policies with reqid | Tobias Brunner | 2016-04-09 | 1 | -32/+35 |
| | |||||
* | kernel-netlink: Prefer policies with reqid over those without | Tobias Brunner | 2016-04-09 | 1 | -1/+7 |
| | | | | | | | This allows two CHILD_SAs with reversed subnets to install two FWD policies each. Since the outbound policy won't have a reqid set we will end up with the two inbound FWD policies installed in the kernel, with the correct templates to allow decrypted traffic. | ||||
* | kernel-netlink: Only associate templates with inbound FWD policies | Tobias Brunner | 2016-04-09 | 1 | -1/+1 |
| | | | | | | We can't set a template on the outbound FWD policy (or we'd have to make it optional). Because if the traffic does not come from another (matching) IPsec tunnel it would get dropped due to the template mismatch. | ||||
* | kernel-netlink: Associate routes with IN policies instead of FWD policies | Tobias Brunner | 2016-04-09 | 1 | -21/+21 |
| | | | | | | This allows us to install more than one FWD policy. We already do this in the kernel-pfkey plugin (there the original reason was that not all kernels support FWD policies). | ||||
* | kernel: Use structs to pass information to the kernel-ipsec interface | Tobias Brunner | 2016-04-09 | 5 | -529/+593 |
| | |||||
* | vici: Fix documentation of some dictionary keys of two request messages | Cameron McCord | 2016-03-31 | 1 | -3/+3 |
| | | | | Closes strongswan/strongswan#40. | ||||
* | Use standard unsigned integer types | Andreas Steffen | 2016-03-24 | 93 | -725/+725 |
| | |||||
* | updown: Get value for PLUTO_MARK_{IN,OUT} from CHILD_SA | Shota Fukumori | 2016-03-23 | 1 | -2/+2 |
| | | | | | | | Or the invoked script will get a broken value when `mark=%unique` is used in a configuration. Closes strongswan/strongswan#37. | ||||
* | connmark: Explicitly include xt_mark.h for older kernels | Tobias Brunner | 2016-03-23 | 1 | -0/+1 |
| | | | | Fixes #1365. | ||||
* | ha: Delete cache entry inside the locked mutex | Thomas Egerer | 2016-03-23 | 1 | -0/+2 |
| | | | | Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com> | ||||
* | kernel-netlink: Fix lookup of next hops for destinations with prefix | Tobias Brunner | 2016-03-21 | 1 | -1/+2 |
| | | | | References #1347. | ||||
* | vici: Don't hold write lock while running or undoing start actions | Tobias Brunner | 2016-03-11 | 1 | -27/+63 |
| | | | | | | | | | | | | | | Running or undoing start actions might require enumerating IKE_SAs, which in turn might have to enumerate peer configs concurrently, which requires acquiring a read lock. So if we keep holding the write lock while enumerating the SAs we provoke a deadlock. By preventing other threads from acquiring the write lock while handling actions, and thus preventing the modification of the configs, we largely maintain the current synchronous behavior. This way we also don't need to acquire additional refs for config objects as they won't get modified/removed. Fixes #1185. | ||||
* | Initialize ts variable | Andreas Steffen | 2016-03-11 | 1 | -1/+1 |
| | |||||
* | forecast: Compare the complete rules when deleting them | Tobias Brunner | 2016-03-10 | 1 | -1/+4 |
| | | | | | | Same as the change in the connmark plugin. References #1229. | ||||
* | connmark: Don't restore CONNMARK for packets that already have a mark set | Tobias Brunner | 2016-03-10 | 1 | -2/+17 |
| | | | | | | | | | This allows e.g. modified versions of xl2tpd to set the mark in situations where two clients are using the same source port behind the same NAT, which CONNMARK can't restore properly as only one conntrack entry will exist with the mark set to that of the client that sent the last packet. Fixes #1230. | ||||
* | connmark: Compare the complete rules when deleting them | Tobias Brunner | 2016-03-10 | 1 | -1/+4 |
| | | | | | | | | | | | | By settings a matchmask that covers the complete rule we ensure that the correct rule is deleted (i.e. matches and targets with potentially different marks are also compared). Since data after the passed pointer is actually dereferenced when comparing we definitely have to pass an array that is at least as long as the ipt_entry. Fixes #1229. | ||||
* | Support of IP address ranges in traffic selectors | Andreas Steffen | 2016-03-10 | 2 | -7/+27 |
| | |||||
* | attr: Only enumerate attributes matching the IKE version of the current IKE_SA | Tobias Brunner | 2016-03-10 | 1 | -19/+49 |
| | | | | Numerically configured attributes are currently sent for both versions. | ||||
* | attr: Add p-cscf keyword for P-CSCF server addresses | Tobias Brunner | 2016-03-10 | 1 | -0/+1 |
| | |||||
* | p-cscf: Make sending requests configurable and disable it by default | Tobias Brunner | 2016-03-10 | 1 | -2/+6 |
| | |||||
* | p-cscf: Only send requests if virtual IPs of the same family are requested | Tobias Brunner | 2016-03-10 | 1 | -2/+18 |
| | |||||
* | p-cscf: Add attribute handler for P-CSCF server addresses | Tobias Brunner | 2016-03-10 | 4 | -1/+243 |
| | |||||
* | p-cscf: Add plugin stub | Tobias Brunner | 2016-03-10 | 3 | -0/+123 |
| | |||||
* | vici: Replace child configs atomically | Tobias Brunner | 2016-03-08 | 1 | -14/+11 |
| | | | | This also leaves unmodified configs as they are. | ||||
* | vici: Order auth rounds by optional `round` parameter instead of by position ↵ | Tobias Brunner | 2016-03-08 | 1 | -40/+64 |
| | | | | in the request | ||||
* | smp: Correctly return IKE SPIs stored in network order | Tobias Brunner | 2016-03-04 | 1 | -4/+4 |
| | |||||
* | vici: Correctly return IKE SPIs stored in network order | Tobias Brunner | 2016-03-04 | 1 | -2/+4 |
| | |||||
* | stroke: Correctly print IKE SPIs stored in network order | Tobias Brunner | 2016-03-04 | 1 | -2/+4 |
| | |||||
* | vici: Add support for pubkey constraints with EAP-TLS | Tobias Brunner | 2016-03-04 | 1 | -0/+8 |
| | | | | This is a feature currently supported by stroke. | ||||
* | auth-cfg: Make IKE signature schemes configurable | Tobias Brunner | 2016-03-04 | 2 | -5/+7 |
| | | | | | | This also restores the charon.signature_authentication_constraints functionality, that is, if no explicit IKE signature schemes are configured we apply all regular signature constraints as IKE constraints. | ||||
* | vici: Don't redirect all SAs if no selectors are given | Tobias Brunner | 2016-03-04 | 1 | -1/+1 |
| | | | | | This avoid confusion and redirecting all SAs can now easily be done explicitly (e.g. peer_ip=0.0.0.0/0). | ||||
* | vici: Match subnets and ranges against peer IP in redirect command | Tobias Brunner | 2016-03-04 | 2 | -12/+42 |
| | |||||
* | vici: Match identity with wildcards against remote ID in redirect command | Tobias Brunner | 2016-03-04 | 2 | -5/+9 |
| | |||||
* | vici: Add redirect command | Tobias Brunner | 2016-03-04 | 5 | -0/+150 |
| | | | | | This allows redirecting IKE_SAs by multiple different selectors, if none are given all SAs are redirected. | ||||
* | Set PLUTO port variables to 0 in the case of no port restrictions | Andreas Steffen | 2016-03-04 | 1 | -1/+1 |
| | |||||
* | Port range support in updown script | Andreas Steffen | 2016-03-04 | 1 | -13/+37 |
| | |||||
* | Implemented port ranges in kernel_netlink interface | Andreas Steffen | 2016-03-04 | 1 | -7/+19 |
| | |||||
* | libhydra: Remove empty unused library | Tobias Brunner | 2016-03-03 | 65 | -65/+0 |
| | |||||
* | libhydra: Move kernel interface to libcharon | Tobias Brunner | 2016-03-03 | 30 | -197/+137 |
| | | | | This moves hydra->kernel_interface to charon->kernel. | ||||
* | libhydra: Move all kernel plugins to libcharon | Tobias Brunner | 2016-03-03 | 23 | -0/+12420 |
| | |||||
* | forecast: Fix alignment when adding rules | Tobias Brunner | 2016-03-03 | 1 | -114/+133 |
| | | | | | | Basically the same issue as with the connmark plugin. Fixes #1212. | ||||
* | connmark: Fix alignment when adding rules | Tobias Brunner | 2016-03-03 | 1 | -160/+172 |
| | | | | | | | | The structs that make up a message sent to the kernel have all to be aligned with XT_ALIGN. That was not necessarily the case when initializing the complete message as struct. Fixes #1212. | ||||
* | vici: Provide ports of local and remote IKE endpoints | Tobias Brunner | 2016-03-03 | 2 | -2/+9 |
| |