Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | kernel-wfp: Don't redefine IPPROTO_IP* if already defined | Tobias Brunner | 2017-03-23 | 1 | -0/+4 |
| | |||||
* | kernel-net: Let get_nexthop() return an optional interface name | Tobias Brunner | 2016-06-10 | 1 | -1/+1 |
| | | | | | The returned name should be the interface over which the destination address/net is reachable. | ||||
* | kernel: Use structs to pass information to the kernel-ipsec interface | Tobias Brunner | 2016-04-09 | 1 | -79/+75 |
| | |||||
* | Use standard unsigned integer types | Andreas Steffen | 2016-03-24 | 1 | -61/+61 |
| | |||||
* | libhydra: Move kernel interface to libcharon | Tobias Brunner | 2016-03-03 | 1 | -15/+10 |
| | | | | This moves hydra->kernel_interface to charon->kernel. | ||||
* | kernel-interface: Pass the same data to del_policy() that was passed to ↵ | Tobias Brunner | 2015-11-10 | 1 | -4/+5 |
| | | | | | | | add_policy() The additional data can be helpful to identify the exact policy to delete. | ||||
* | kernel-interface: Add a separate "update" flag to add_sa() | Martin Willi | 2015-03-09 | 1 | -1/+1 |
| | | | | | | | | | | | The current "inbound" flag is used for two purposes: To define the actual direction of the SA, but also to determine the operation used for SA installation. If an SPI has been allocated, an update operation is required instead of an add. While the inbound flag normally defines the kind of operation required, this is not necessarily true in all cases. On the HA passive node, we install inbound SAs without prior SPI allocation. | ||||
* | kernel-interface: Raise expires with a proto/SPI/dst tuple instead of reqid | Martin Willi | 2015-02-20 | 1 | -7/+4 |
| | |||||
* | kernel-interface: Pass full list of traffic selectors to add_sa() | Martin Willi | 2015-02-20 | 1 | -1/+1 |
| | | | | | | 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. | ||||
* | kernel-interface: Remove reqid parameter from get_spi/get_cpi() methods | Martin Willi | 2015-02-20 | 1 | -2/+2 |
| | | | | | | | | | | 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. | ||||
* | kernel-wfp: Install outbound ALE connect rules for IPsec | Martin Willi | 2014-12-04 | 1 | -16/+43 |
| | | | | | | Similar to the inbound rules, the ALE filter processes IP-in-IP packets for outbound tunnel mode traffic. When using an outbound default-drop policy, Windows does not allow connection initiation without these explicit rules. | ||||
* | kernel-wfp: Install inbound ALE IP-in-IP filters | Martin Willi | 2014-12-04 | 1 | -41/+159 |
| | | | | | | | | | | | When processing inbound tunnel mode packets, Windows decrypts packets and filters them as IP-in-IP packets. We therefore require an ALE filter that calls the FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_ALE_ACCEPT callout to allow them when using a default-drop policy. Without these rules, any outbound packet created an ALE state that allows inbound packets as well. Processing inbound packets without any outbound traffic fails without these rules. | ||||
* | kernel-wfp: Fix logging of MM/QM/EM NetEvent failures | Martin Willi | 2014-12-04 | 1 | -0/+12 |
| | |||||
* | kernel-interface: Add destination prefix to get_nexthop() | Tobias Brunner | 2014-06-19 | 1 | -1/+1 |
| | | | | | This allows to determine the next hop to reach a subnet, for instance, when installing routes for shunt policies. | ||||
* | kernel-interface: Add a replay_window parameter to add_sa() | Martin Willi | 2014-06-17 | 1 | -2/+3 |
| | |||||
* | windows: Use WINAPI call convention for Windows API callbacks | Martin Willi | 2014-06-06 | 1 | -3/+3 |
| | | | | | For x86_64 it does not actually matter, but for i686 builds the call convention is different with WINAPI. | ||||
* | kernel-wfp: Clone acquire traffic selectors only if they exist | Martin Willi | 2014-06-04 | 1 | -1/+3 |
| | |||||
* | kernel-wfp: Install routes for trap policies | Martin Willi | 2014-06-04 | 1 | -3/+21 |
| | |||||
* | kernel-wfp: Refactor route management to separate function | Martin Willi | 2014-06-04 | 1 | -39/+47 |
| | |||||
* | kernel-wfp: Install tunnel mode policies to appropriate sub-layers | Martin Willi | 2014-06-04 | 1 | -6/+20 |
| | | | | | While it is unclear if this has any effect at all, we prefer specific sublayers to install policies as suggested. | ||||
* | kernel-wfp: Support multiple traffic selectors on tunnel mode SAs | Martin Willi | 2014-06-04 | 1 | -36/+80 |
| | |||||
* | kernel-wfp: Show a warning for packets the kernel drops in its IPsec layers | Martin Willi | 2014-06-04 | 1 | -0/+6 |
| | |||||
* | kernel-wfp: Set flag to get UDP encapsulation with tunnel mode working | Martin Willi | 2014-06-04 | 1 | -0/+1 |
| | | | | | | Having this flag set fixes connections initiated by the Windows host, but unfortunately does not yet fix incoming connections. Connection state issue? We still see 0xc00000e2 error events, translating to INTERNAL_ERROR. | ||||
* | kernel-wfp: Install tunnel and trap forward policies | Martin Willi | 2014-06-04 | 1 | -110/+251 |
| | |||||
* | kernel-wfp: Manually create a ProviderContext to attach individual filters | Martin Willi | 2014-06-04 | 1 | -67/+51 |
| | | | | | | This gives us more flexibility than using the intransparent FwpmIPsecTunnelAdd, and fixes the issues we have seen with trap policies. Forward filters are still missing, but required for site-to-site tunnels. | ||||
* | kernel-wfp: Add support for trap policies and acquires | Martin Willi | 2014-06-04 | 1 | -1/+290 |
| | |||||
* | kernel-wfp: Implement bypass_socket() using dedicated filter rules | Martin Willi | 2014-06-04 | 1 | -2/+117 |
| | |||||
* | kernel-wfp: Register for WFP Net events | Martin Willi | 2014-06-04 | 1 | -0/+41 |
| | |||||
* | kernel-wfp: Add some missing IPv6 GUIDs, fix IPv6 host conversion | Martin Willi | 2014-06-04 | 1 | -2/+17 |
| | |||||
* | kernel-wfp: Implement update_sa() | Martin Willi | 2014-06-04 | 1 | -1/+97 |
| | |||||
* | kernel-wfp: Configure ports for SAs using UDP encapsulation | Martin Willi | 2014-06-04 | 1 | -0/+31 |
| | |||||
* | kernel-wfp: Refactor SA context construction, and use IPsecSaContextCreate1() | Martin Willi | 2014-06-04 | 1 | -19/+32 |
| | |||||
* | kernel-wfp: Allocate SPIs pseudo-randomly using a 0xc prefix | Martin Willi | 2014-06-04 | 1 | -2/+59 |
| | |||||
* | kernel-wfp: Install appropriate routes for tunnel mode policies | Martin Willi | 2014-06-04 | 1 | -1/+208 |
| | |||||
* | kernel-wfp: Disable IPsec policy updates | Martin Willi | 2014-06-04 | 1 | -4/+11 |
| | | | | | It seems that WFP requires an update of the SA context only, but not for the filters. This allows us to omit support for (fallback) drop policies. | ||||
* | kernel-wfp: Increment SPIs properly, that is while in host order | Martin Willi | 2014-06-04 | 1 | -2/+2 |
| | |||||
* | kernel-wfp: Triggering expire events for SAs to rekey/delete | Martin Willi | 2014-06-04 | 1 | -0/+108 |
| | |||||
* | kernel-wfp: Enforce hard lifetimes of SAs | Martin Willi | 2014-06-04 | 1 | -0/+8 |
| | |||||
* | kernel-wfp: Add some notes about query_sa/policy() support | Martin Willi | 2014-06-04 | 1 | -0/+5 |
| | |||||
* | kernel-wfp: Reference SA/SP sets by SPI and destination, not reqid | Martin Willi | 2014-06-04 | 1 | -255/+149 |
| | | | | | This allows us to have multiple CHILD_SAs for the same reqid, and brings rekeying support. | ||||
* | kernel-wfp: Add support for tunnel mode connections | Martin Willi | 2014-06-04 | 1 | -25/+205 |
| | |||||
* | kernel-wfp: Register a WFP provider to manage IPsec tunnels | Martin Willi | 2014-06-04 | 1 | -0/+22 |
| | |||||
* | kernel-wfp: Preliminary support for transport mode connections | Martin Willi | 2014-06-04 | 1 | -3/+689 |
| | |||||
* | kernel-wfp: Fix/Complete some fwpuclnt functionality in MinGW | Martin Willi | 2014-06-04 | 1 | -3/+1 |
| | | | | | | | | | While MinGW declares all the required symbols, some of them are missing in the library files. We provide missing variables locally, functions get a stub that call the GetProcAddress()ed function from the DLL. Also some MinGW headers define some enum values incorrectly, we overload these using defines. | ||||
* | kernel-wfp: Open and close a WFP engine | Martin Willi | 2014-06-04 | 1 | -1/+33 |
| | |||||
* | kernel-wfp: Create userland state for SAs/policies to install in kernel | Martin Willi | 2014-06-04 | 1 | -5/+364 |
| | |||||
* | kernel-wfp: Add a stub for a Windows Filtering Platform based IPsec backend | Martin Willi | 2014-06-04 | 1 | -0/+169 |