Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | kernel-netlink: use watcher to receive kernel events for net/ipsec | Martin Willi | 2013-07-18 | 2 | -35/+24 |
| | |||||
* | automake: replace INCLUDES by AM_CPPFLAGS | Martin Willi | 2013-07-18 | 1 | -6/+8 |
| | | | | | | INCLUDES are now deprecated and throw warnings when using automake 1.13. We now also differentiate AM_CPPFLAGS and AM_CFLAGS, where includes and defines are passed to AM_CPPFLAGS only. | ||||
* | kernel-pfroute: Provide name of interfaces on which virtual IPs are installed | Tobias Brunner | 2013-07-17 | 1 | -1/+1 |
| | |||||
* | kernel-netlink: Make CAP_NET_ADMIN capability optional | Tobias Brunner | 2013-06-25 | 1 | -3/+4 |
| | | | | It is not required to use the kernel-net part of the plugin. | ||||
* | capabilities: Only plugins that require CAP_NET_ADMIN demand it | Tobias Brunner | 2013-06-25 | 1 | -0/+7 |
| | | | | The daemon as such does not require this capability. | ||||
* | kernel-netlink: Routes don't require a gateway/nexthop | Tobias Brunner | 2013-06-21 | 1 | -5/+9 |
| | |||||
* | kernel-netlink: install selectors on SA for transport/BEET mode without ↵ | Martin Willi | 2013-06-19 | 1 | -0/+6 |
| | | | | | | | | proto/port If a transport/BEET SA has different selectors for different proto/ports, installing just the proto/port of the first SA would break any additional selector. | ||||
* | kernel-netlink: reject policy refcount if the reqid differs | Martin Willi | 2013-06-19 | 1 | -4/+17 |
| | | | | | | | | | | | | | Previously we silently replaced an existing policy with a new one if the reqid changed for the same selectors. This will break an old policy in the favour of the new one (for example if two clients behind the same NAT use transport mode). With this change any new policy gets rejected if the reqid differs. This will make sure we break no existing policy. For rekeying and acquires we still can have overlapping policies (as we use the same reqid), but for unrelated connections this is not true anymore (it wasn't actually before, we just silently broke the existing policy). | ||||
* | kernel-interface: add an exchange initiator parameter to add_sa() | Martin Willi | 2013-06-11 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new flag gives the kernel-interface a hint how it should priorize the use of newly installed SAs during rekeying. Consider the following rekey procedure in IKEv2: Initiator --- Responder I1 -------CREATE-------> R1 I2 <------CREATE-------- -------DELETE-------> R2 I3 <------DELETE-------- SAs are always handled as pairs, the following happens at the SA level: * Initiator starts the exchange at I1 * Responder installs new SA pair at R1 * Initiator installs new SA pair at I2 * Responder removes old SA pair at R2 * Initiator removes old SA pair at I3 This makes sure SAs get installed/removed overlapping during rekeying. However, to avoid any packet loss, it is crucial that the new outbound SA gets activated at the correct position: * as exchange initiator, in I2 * as exchange responder, in R2 This should guarantee that we don't use the new outbound SA before the peer could install its corresponding inbound SA. The new parameter allows the kernel backend to install the new SA with appropriate priorities, i.e. it should: * as exchange inititator, have the new outbound SA installed with higher priority than the old SA * as exchange responder, have the new outbound SA installed with lower priority than the old SA While we could split up the SA installation at the responder, this approach has another advantage: it allows the kernel backend to switch SAs based on other criteria, for example when receiving traffic on the new inbound SA. | ||||
* | kernel-netlink: add outer addresses to policy when using BEET mode | Michael Rossberg | 2013-05-24 | 1 | -1/+1 |
| | |||||
* | kernel-interface: query SAD for last use time if SPD query didn't yield one | Martin Willi | 2013-05-06 | 1 | -1/+7 |
| | |||||
* | kernel-interface: get_address_by_ts() can tell if a returned IP is virtual | Martin Willi | 2013-05-06 | 1 | -1/+1 |
| | |||||
* | kernel-interface: support enumeration of virtual-only IPs | Martin Willi | 2013-05-06 | 1 | -3/+10 |
| | |||||
* | kernel-netlink: remove obsolete pluto specific behavior | Martin Willi | 2013-05-06 | 1 | -7/+1 |
| | |||||
* | kernel-netlink: Add an option to disable roam events | Tobias Brunner | 2013-05-03 | 1 | -1/+13 |
| | |||||
* | kernel-netlink: Define defaults for routing table and prio | Tobias Brunner | 2013-05-03 | 1 | -0/+8 |
| | |||||
* | Merge branch 'radius-ext' | Martin Willi | 2013-03-18 | 1 | -2/+10 |
|\ | | | | | | | | | | | Bring some extensions to eap-radius, namely a virtual IP address provider based on received Framed-IPs, forwarding of Cisco Unity banners, Interim Accounting updates and the reporting of sent/received packets. | ||||
| * | kernel_ipsec_t.query_sa() additionally returns the number of processed packets | Martin Willi | 2013-03-14 | 1 | -2/+10 |
| | | |||||
* | | Merge branch 'netlink-align' | Martin Willi | 2013-03-18 | 3 | -268/+151 |
|\ \ | |/ |/| | | | | | Fixes some Netlink alignment issues, and then refactors Netlink XFRM message attribute handling. | ||||
| * | Use netlink_add_attribute() to copy over attributes during update_sa() | Martin Willi | 2013-03-15 | 1 | -9/+6 |
| | | |||||
| * | Use a helper function to add XFRM_MARK attribute | Martin Willi | 2013-03-15 | 1 | -81/+37 |
| | | |||||
| * | Use netlink_reserve() helper function in XFRM to simplify message construction | Martin Willi | 2013-03-15 | 1 | -175/+72 |
| | | |||||
| * | Add a Netlink utility function to add a RTA header and reserve space for data | Martin Willi | 2013-03-15 | 2 | -0/+32 |
| | | |||||
| * | Correctly check buffer length in netlink_add_attribute() | Martin Willi | 2013-03-15 | 2 | -7/+9 |
| | | |||||
| * | Avoid unneeded termination of netlink algorithm name arrays with END_OF_LIST | Martin Willi | 2013-03-15 | 1 | -13/+14 |
| | | |||||
| * | When adding Netlink attributes, increase header length with potential alignment | Martin Willi | 2013-03-11 | 1 | -32/+30 |
| | | | | | | | | | | If the payload is unaligned, we must make sure the total netlink message length includes the added alignment for the first attribute. | ||||
* | | strdup() iface passed to queue_route_reinstall(), fixing double-free | Martin Willi | 2013-03-11 | 1 | -1/+1 |
|/ | |||||
* | Merge branch 'ikev1-rekeying' | Martin Willi | 2013-03-01 | 1 | -0/+4 |
|\ | | | | | | | | | Migrates Quick Modes to the new Main Mode if an IKEv1 reauthentication replaces the old Main Mode having a uniqueids=replace policy. | ||||
| * | After IKEv1 reauthentication, reinstall VIP routes after migrating CHILD_SAs | Martin Willi | 2013-02-20 | 1 | -0/+4 |
| | | | | | | | | | | | | During IKEv1 reauthentication, the virtual IP gets removed, then reinstalled. The CHILD_SAs get migrated, but any associated route gets removed from the kernel. Reinstall routes after adding the virtual IP again. | ||||
* | | Merge branch 'vip-shunts' | Martin Willi | 2013-03-01 | 1 | -4/+13 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | Installs bypass policies for the physical address if a virtual address is assigned, and installs a proper source route to actually use the physical address for bypassed destinations. Conflicts: src/libcharon/plugins/unity/unity_handler.c | ||||
| * | | Install a route for shunt policies | Martin Willi | 2013-02-20 | 1 | -5/+13 |
| |/ | | | | | | | | | | | | | If we install a virtual IP, its source route would render the shunt policy useless, as locally generated traffic wouldn't match. Having a route for each shunt policy with higher priority chooses the correct source address for bypassed destinations. | ||||
* | | Merge branch 'opaque-ports' | Martin Willi | 2013-03-01 | 1 | -1/+1 |
|\ \ | | | | | | | | | | | | | Adds a %opaque port option and support for port ranges in left/rightprotoport. Currently not supported by any of our kernel backends. | ||||
| * | | Use a complete port range in traffic_selector_create_from_{subnet,cidr} | Martin Willi | 2013-02-21 | 1 | -2/+1 |
| |/ | |||||
* / | Indicate support for processing ESPv3 TFC padding in Netlink IPsec backend | Martin Willi | 2013-03-01 | 1 | -1/+7 |
|/ | |||||
* | kernel-netlinks get_interface() considers virtual IPs, too | Martin Willi | 2012-12-17 | 1 | -0/+13 |
| | | | | | | | When using load-tester, we can install tunnel outer addresses on demand. As these are installed as "virtual", we have to consider virtual IPs in the get_interface() lookup to install "real" virtual IPs to these dynamic external addresses. | ||||
* | Don't wait while removing external IPs used for load testing | Martin Willi | 2012-11-29 | 1 | -2/+3 |
| | |||||
* | Install virtual IPs via interface name, and use an interface lookup where ↵ | Martin Willi | 2012-11-29 | 1 | -9/+3 |
| | | | | required | ||||
* | Add an optional kernel-interface parameter to install IPs with a custom prefix | Martin Willi | 2012-11-29 | 1 | -6/+7 |
| | |||||
* | Limit recursion when searching for source addresses | Tobias Brunner | 2012-11-13 | 1 | -5/+14 |
| | | | | | This could be required if e.g. two default routes list gateways but the corresponding outbound interfaces do not have any IP addresses on them. | ||||
* | Don't call get_route recursively if a route's gateway matches the destination | Tobias Brunner | 2012-11-13 | 1 | -2/+5 |
| | |||||
* | Moved debug.[ch] to utils folder | Tobias Brunner | 2012-10-24 | 3 | -3/+3 |
| | |||||
* | Moved data structures to new collections subfolder | Tobias Brunner | 2012-10-24 | 2 | -4/+4 |
| | |||||
* | Use a helper function to add milliseconds to timeval structs | Tobias Brunner | 2012-10-18 | 1 | -12/+2 |
| | |||||
* | Use proper offset when adding mark attribute in kernel-netlink plugin | Tobias Brunner | 2012-10-15 | 1 | -1/+1 |
| | |||||
* | Also add mark when querying current replay state in kernel-netlink plugin | Tobias Brunner | 2012-10-15 | 1 | -2/+21 |
| | |||||
* | Fixed update_sa in kernel-netlink plugin if marks are used | Tobias Brunner | 2012-10-11 | 1 | -0/+18 |
| | |||||
* | Make sure we successfully opened xfrm_acq_expires | Tobias Brunner | 2012-09-28 | 1 | -1/+1 |
| | |||||
* | Clarified code when hashing/comparing cached policies in kernel-netlink | Tobias Brunner | 2012-09-28 | 1 | -5/+4 |
| | |||||
* | Use proper argument for sizeof when copying replay state | Tobias Brunner | 2012-09-28 | 1 | -1/+1 |
| | |||||
* | Algorithm names are not always static anymore, avoid string overflows | Tobias Brunner | 2012-09-28 | 1 | -5/+10 |
| |