Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | kernel-netlink: Define and use rtnetlink message types | Martin Willi | 2014-09-24 | 1 | -1/+22 |
| | |||||
* | kernel-netlink: Pass protocol specific enum names to socket constructor | Martin Willi | 2014-09-24 | 4 | -12/+13 |
| | | | | | This avoid the hard dependency on enum names, and makes kernel_netlink_shared independent of kernel_netlink_ipsec. | ||||
* | kernel-netlink: Clean up socket initialization, handle 0 as valid socket fd | Martin Willi | 2014-09-24 | 1 | -9/+6 |
| | |||||
* | kernel-netlink: Clean up response buffer management | Martin Willi | 2014-09-24 | 1 | -24/+16 |
| | |||||
* | kernel-netlink: Use recv() instead of recvfrom() | Martin Willi | 2014-09-24 | 1 | -11/+3 |
| | | | | | As we are not interested in the returned address, there is really no need in passing that argument. | ||||
* | kernel-netlink: Avoid casting the NLMSG_DATA() return value | Martin Willi | 2014-09-24 | 3 | -26/+26 |
| | | | | There is really no need for doing so, and it makes the code just unreadable. | ||||
* | kernel-netlink: Define netlink buffer as an union having a netlink header | Martin Willi | 2014-09-24 | 3 | -20/+23 |
| | | | | | This allows us to streamline the netlink buffers, and avoid extensive casting. | ||||
* | kernel-netlink: Optionally install protocol and ports on transport mode SAs | Tobias Brunner | 2014-09-12 | 1 | -6/+18 |
| | |||||
* | kernel-netlink: Add global option to configure MSS-clamping on installed routes | Tobias Brunner | 2014-09-12 | 1 | -6/+26 |
| | |||||
* | kernel-netlink: Add global option to set MTU on installed routes | Tobias Brunner | 2014-09-12 | 1 | -0/+19 |
| | |||||
* | kernel-pfroute: Delete interfaces on RTM_IFANNOUNCE/IFAN_DEPARTURE events | Tobias Brunner | 2014-09-09 | 1 | -0/+38 |
| | | | | | | | | | | | | We actually never deleted cached interfaces. So if the kernel reuses interface indices events for newly created interfaces could have been associated with interface objects of deactivated and deleted interfaces. Since we also didn't update the interface name when such an interface got reactivated we ended up using the old name e.g. to install routes. A trigger for this was the deletion and recreation of TUN devices during reauthentication of SAs that use virtual IPs. | ||||
* | kernel-pfkey: Report packet counts of IPsec SAs | Tobias Brunner | 2014-09-09 | 1 | -2/+2 |
| | | | | | | Seems that packet counts can be retrieved after all. At least the Linux and FreeBSD kernels treat the number of allocations as number of packets. We actually installed packet limits in that field already. | ||||
* | kernel-pfroute: Fix kernel response handling | Tobias Brunner | 2014-08-19 | 1 | -2/+3 |
| | | | | | | | | | | | | | The condvar is signaled for every handled message received from the kernel not only for replies (this changed with 2a2d7a4dc8). This may cause segfaults because this->reply is not set when the waiting thread is woken due to an IP address change. Since this->reply is only set when it is actually the expected reply (and only one request is sent at a time, thanks to c9a323c1d9) we only have to make sure the reply is there (and clear it once we handled it). Using separate condvars could also be an option in the future. | ||||
* | kernel-netlink: Rename algorithm identifier from cast128 to cast5 | Martin Willi | 2014-07-04 | 1 | -1/+1 |
| | | | | | | | | | | | Even if the XFRM identifier was named cast128 in the kernel before 2.6.31, it actually never worked, because there is no such crypto algorithm. The identifier has been changed to cast5 in https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=245acb87 to make it work, so we should use that. Fixes #633. | ||||
* | kernel-pfkey: Use address in TS to determine interface for shunt routes | Tobias Brunner | 2014-06-26 | 1 | -6/+9 |
| | |||||
* | kernel-pfkey: Use subnet and prefix when determining nexthop for shunt ↵ | Tobias Brunner | 2014-06-26 | 1 | -2/+12 |
| | | | | | | policy routes This is basically the same as 88f125f5605e54b38cf8913df79e32ec6bddff10. | ||||
* | kernel-pfkey: Install routes for shunt policies | Tobias Brunner | 2014-06-26 | 1 | -4/+4 |
| | |||||
* | kernel-netlink: Cast IPv6 address blobs to the proper type | Tobias Brunner | 2014-06-24 | 1 | -3/+3 |
| | | | | On Android these macros are defined as functions. | ||||
* | kernel-netlink: Install virtual IPv6 addresses as deprecated | Tobias Brunner | 2014-06-20 | 1 | -0/+11 |
| | | | | | | | | This should prevent the kernel's IPv6 source address selection algorithm from using this address unless it is forced to by our source route. This is helpful if split tunneling is used. Fixes #598. | ||||
* | kernel-netlink: Pass prefix when looking up next hop for shunt policies | Tobias Brunner | 2014-06-19 | 1 | -1/+12 |
| | |||||
* | kernel-netlink: Add support for destination prefix when determining next hop | Tobias Brunner | 2014-06-19 | 1 | -20/+35 |
| | |||||
* | kernel-interface: Add destination prefix to get_nexthop() | Tobias Brunner | 2014-06-19 | 4 | -5/+5 |
| | | | | | This allows to determine the next hop to reach a subnet, for instance, when installing routes for shunt policies. | ||||
* | kernel-pfkey: Add support for new policy priority class | Tobias Brunner | 2014-06-19 | 1 | -2/+5 |
| | |||||
* | kernel-netlink: Add support for new policy priority class | Tobias Brunner | 2014-06-19 | 1 | -2/+5 |
| | |||||
* | Remove kernel-klips plugin | Tobias Brunner | 2014-06-19 | 6 | -3157/+0 |
| | |||||
* | kernel-netlink: Follow RFC 6724 when selecting IPv6 source addresses | Tobias Brunner | 2014-06-19 | 1 | -26/+170 |
| | | | | | | | | Instead of using the first address we find on an interface we should consider properties like an address' scope or whether it is temporary or public. Fixes #543. | ||||
* | kernel-netlink: Never use XFRMA_REPLAY_ESN_VAL to configure zero replay windows | Martin Willi | 2014-06-18 | 1 | -1/+1 |
| | | | | | | Trying to disable replay windows using the ESN attribute fails with EINVAL. Use non-ESN legacy format to disable replay windows, even if ESN has been negotiated over IKE. | ||||
* | kernel-pfkey: Support connection specific replay window sizes up to 32 packets | Martin Willi | 2014-06-17 | 1 | -1/+1 |
| | |||||
* | kernel-netlink: Support connection specific replay window sizes | Martin Willi | 2014-06-17 | 1 | -39/+16 |
| | |||||
* | kernel-interface: Add a replay_window parameter to add_sa() | Martin Willi | 2014-06-17 | 3 | -9/+12 |
| | |||||
* | plugins: Don't link with -rdynamic on Windows | Martin Willi | 2014-06-04 | 7 | -7/+7 |
| | |||||
* | pfkey: Always include stdint.h | Tobias Brunner | 2014-05-19 | 1 | -1/+1 |
| | | | | | | On some systems (e.g. on Debian/kFreeBSD) that header is required when including ipsec.h, on Linux we require it too when including pfkeyv2.h, so to simplify things we just always include it. | ||||
* | kernel-klips: Pass a pointer to a properly sized integer for algorithm lookup | Martin Willi | 2014-05-16 | 1 | -1/+1 |
| | |||||
* | kernel-pfkey: Added IPComp support | Francois ten Krooden | 2014-04-24 | 1 | -19/+138 |
| | | | | | | - get_cpi function was implemented to retrieve a CPI from the kernel. - add_sa/update_sa/del_sa were updated to accommodate for IPComp SA. - Updated add_policy_internal to update the SPD to support IPComp. | ||||
* | attr: Don't shift the 32-bit netmask by 32 | Tobias Brunner | 2014-04-09 | 1 | -3/+6 |
| | | | | | | | | | | This is undefined behavior as per the C99 standard (sentence 1185): "If the value of the right operand is negative or is greater or equal to the width of the promoted left operand, the behavior is undefined." Apparently shifts may be done modulo the width on some platforms so a shift by 32 would not shift at all. | ||||
* | kernel-pfroute: Let get_nexthop() default to destination address | Tobias Brunner | 2014-03-31 | 1 | -3/+7 |
| | |||||
* | attr: Silently skip over load option | Tobias Brunner | 2014-02-12 | 1 | -0/+4 |
| | |||||
* | libhydra: Use lib->ns instead of hydra->daemon | Tobias Brunner | 2014-02-12 | 7 | -26/+26 |
| | |||||
* | attr-sql: Use namespace for attr-sql config, with fallback | Tobias Brunner | 2014-02-12 | 2 | -2/+4 |
| | |||||
* | kernel-pfroute: Don't cache route entries if installation fails | Tobias Brunner | 2014-02-12 | 1 | -2/+5 |
| | |||||
* | kernel-netlink: Don't cache route entries if installation fails | Tobias Brunner | 2014-02-12 | 1 | -2/+5 |
| | | | | Fixes #500. | ||||
* | kernel-netlink: Set selector on transport mode IPComp SAs | Tobias Brunner | 2014-01-23 | 1 | -1/+1 |
| | |||||
* | kernel-netlink: Selectively add selector on SAs that use IPComp | Tobias Brunner | 2014-01-23 | 1 | -1/+7 |
| | | | | | | Don't add a selector to tunnel mode SAs, these might serve multiple traffic selectors but with only one selector on the SA only the traffic matching the first one would actually get tunneled. | ||||
* | kernel-netlink: Enable TFC padding only for tunnel mode ESP SAs | Tobias Brunner | 2013-11-19 | 1 | -2/+2 |
| | | | | | | | The kernel does not allow them for transport mode SAs or IPComp SAs (and of course not for AH SAs). Fixes #446. | ||||
* | kernel-netlink: Check existence of linux/fib_rules.h, don't include it in ↵ | Tobias Brunner | 2013-10-18 | 1 | -1/+8 |
| | | | | | | distribution This reverts commit b0761f1f0a5abd225edc291c8285f99a538e6a66. | ||||
* | kernel-pfkey: Install ICMP[v6] type/code as expected by the Linux kernel | Tobias Brunner | 2013-10-17 | 1 | -19/+52 |
| | |||||
* | kernel-netlink: Convert ports in acquires to ICMP[v6] type and code | Tobias Brunner | 2013-10-17 | 1 | -3/+8 |
| | |||||
* | kernel-netlink: Properly install policies with ICMP[v6] types and codes | Tobias Brunner | 2013-10-17 | 1 | -1/+12 |
| | |||||
* | kernel-netlink: Allow setting firewall marks on routing rule | Tobias Brunner | 2013-10-11 | 1 | -0/+20 |
| | |||||
* | attr-sql: Use a serializable transaction when inserting identities | Tobias Brunner | 2013-10-11 | 1 | -12/+5 |
| |