Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | android: Reduce CHILD_SA lifetime | Tobias Brunner | 2014-09-12 | 1 | -2/+2 |
| | |||||
* | android: Add DH groups to ESP proposals | Tobias Brunner | 2014-09-12 | 1 | -2/+12 |
| | |||||
* | android: Reestablish IKE_SA if CHILD_SA rekeying failed | Tobias Brunner | 2014-09-12 | 1 | -3/+36 |
| | |||||
* | android: Report error if CHILD_SA rekeying fails | Tobias Brunner | 2014-09-12 | 1 | -0/+6 |
| | |||||
* | dns-proxy: Don't use proxy socket if we fail to bypass it | Tobias Brunner | 2014-07-30 | 1 | -0/+2 |
| | | | | | | | | | This will result in an infinite loop as packets sent over that socket will again pass through the TUN device and the DNS proxy. Apparently, bypassing fails when airplane mode is enabled. Fixes #662. | ||||
* | android: For keyingtries > 0 notify the GUI if the limit is reached when ↵ | Tobias Brunner | 2014-07-22 | 1 | -0/+17 |
| | | | | | | | | | | reestablishing The IKE_SA is destroyed anyway, so letting the GUI remain in "connecting" state would be incorrect. We still use keyingtries=0 for now, though. And we still abort after the first failed attempt initially, in case there is a configuration error. | ||||
* | android: Terminate IKE_SA if initial IKE_SA_INIT fails | Tobias Brunner | 2014-07-22 | 1 | -1/+23 |
| | | | | | | | | | | Since VpnStateService.disconnect() is now not called until the error dialog is dismissed the daemon would continue to try connecting. So while the error dialog is shown the connection might actually be successfully established in the background, which is not intended. This way the IKE_SA is destroyed right after sending the IKE_SA_INIT of the second connection attempt (due to keyingtries=0). | ||||
* | android: Only allow DNS queries for the configured hostname | Tobias Brunner | 2014-07-22 | 1 | -0/+2 |
| | |||||
* | android: Add optional filter functionality to DNS proxy | Tobias Brunner | 2014-07-22 | 2 | -3/+119 |
| | | | | | If specified only queries for a list of allowed host names will be proxied. | ||||
* | android: Recreate the TUN device without DNS when reestablishing IKE_SAs | Tobias Brunner | 2014-07-22 | 1 | -0/+38 |
| | | | | | This enables DNS resolution while reestablishing if the VPN gateway pushed DNS servers to the client that are only reachable via VPN. | ||||
* | android: Use DNS proxy when reestablishing IKE_SAs | Tobias Brunner | 2014-07-22 | 1 | -4/+44 |
| | |||||
* | bus: Add ike_reestablish_pre hook, called before DNS resolution | Tobias Brunner | 2014-07-22 | 1 | -4/+5 |
| | | | | | The old hook is renamed to ike_reestablish_post and is now also called when the initiation of the new IKE_SA failed. | ||||
* | android: Add DNS proxy implementation | Tobias Brunner | 2014-07-22 | 2 | -0/+387 |
| | | | | | | | This class proxies DNS requests over VPN-protected UDP sockets. It is not really Android specific and might be useful for kernel-libipsec or libipsec in general too, so we could maybe move it later to libipsec (might need some portability work). | ||||
* | android: Set CHILD_STATE_DOWN when the IKE_SA gets reestablished | Tobias Brunner | 2014-07-22 | 1 | -1/+7 |
| | |||||
* | android: Set CHILD_STATE_DOWN whenever the CHILD_SA goes down | Tobias Brunner | 2014-07-22 | 1 | -6/+0 |
| | | | | | | No matter what triggers it. We also don't close the TUN device, but we might handle that differently in the future to allow reestablishing the IKE_SA if host names have to be re-resolved via DNS. | ||||
* | android: Add support for ECDSA private keys | Tobias Brunner | 2014-07-22 | 1 | -24/+99 |
| | | | | With 4.4.4 these work fine now. | ||||
* | ike: Add an additional but separate AEAD proposal to IKE config, if supported | Martin Willi | 2014-05-16 | 1 | -0/+1 |
| | |||||
* | ike: support multiple addresses, ranges and subnets in IKE address config | Martin Willi | 2013-09-04 | 1 | -2/+2 |
| | | | | | | | Replace the allowany semantic by a more powerful subnet and IP range matching. Multiple addresses, DNS names, subnets and ranges can be specified in a comma separated list. Initiators ignore the ranges/subnets, responders match configurations against all addresses, ranges and subnets. | ||||
* | peer-cfg: add a pull/push mode option to use with mode config | Martin Willi | 2013-09-04 | 1 | -1/+1 |
| | |||||
* | android: Add new VpnType to enable BYOD features | Tobias Brunner | 2013-07-08 | 1 | -3/+9 |
| | |||||
* | android: Use stronger ESP proposal including AES-GCM | Tobias Brunner | 2013-05-03 | 1 | -0/+6 |
| | |||||
* | android: Request and install an IPv6 DNS server | Tobias Brunner | 2013-03-20 | 1 | -4/+16 |
| | |||||
* | android: Also request a virtual IPv6 address and propose IPv6 TS | Tobias Brunner | 2013-03-20 | 1 | -7/+17 |
| | | | | | This allows IPv6 over IPv4 but falls back nicely if we don't get a virtual IPv6 (or IPv4) address. | ||||
* | android: Add support for combined certificate and EAP authentication | Tobias Brunner | 2013-03-07 | 1 | -27/+50 |
| | | | | | | This uses RFC 4739 multiple authentication rounds to first authenticate the client with a certificate followed by an EAP authentication round with username and password. | ||||
* | Fixed Doxygen comments after scanning complete src directory | Tobias Brunner | 2013-03-02 | 1 | -1/+1 |
| | |||||
* | android: Mitigate race condition on reauthentication | Tobias Brunner | 2013-03-01 | 1 | -0/+4 |
| | | | | | | | | If the TUN device gets recreated while another thread in handle_plain() has not yet called select(2) but already stored the file descriptor of the old TUN device in its FD set, select() will fail with EBADF. Fixes #301. | ||||
* | Add a DSCP configuration value to IKE configs | Martin Willi | 2013-02-06 | 1 | -1/+1 |
| | |||||
* | android: Moved chunk_from_byte_array and byte_array_from_chunk helper functions | Tobias Brunner | 2013-01-14 | 1 | -24/+0 |
| | |||||
* | Added an option that allows to force IKEv1 fragmentation | Tobias Brunner | 2013-01-12 | 1 | -1/+2 |
| | |||||
* | Use a connection specific option to en-/disable IKEv1 fragmentation | Tobias Brunner | 2012-12-24 | 1 | -1/+1 |
| | |||||
* | android: Private key bug has been fixed with Android 4.2 | Tobias Brunner | 2012-11-19 | 1 | -1/+1 |
| | |||||
* | Moved debug.[ch] to utils folder | Tobias Brunner | 2012-10-24 | 2 | -2/+2 |
| | |||||
* | Remove version argument on peer_cfg constructor, use ike_cfg version instead | Martin Willi | 2012-10-24 | 1 | -1/+1 |
| | |||||
* | Add IKE version information to ike_cfg_t | Martin Willi | 2012-10-24 | 1 | -1/+1 |
| | |||||
* | android: Ignore if peer is unreachable when reestablishing an SA | Tobias Brunner | 2012-10-18 | 1 | -2/+7 |
| | |||||
* | android: Use keyingtries=%forever and dpd|closeaction=restart | Tobias Brunner | 2012-10-18 | 1 | -3/+3 |
| | | | | | | | We also ignore the CHILD_SA_DOWN event. This should allow us to keep the connection up as long as the user does not manually disconnect. | ||||
* | android: Handle unreachable peers via alert | Tobias Brunner | 2012-10-16 | 1 | -17/+5 |
| | |||||
* | android: Use 0.0.0.0/0 as local traffic selector | Tobias Brunner | 2012-10-16 | 1 | -1/+2 |
| | | | | | This is helpful if the responder also wants to tunnel e.g. multicast packages. | ||||
* | android: Determine source address dynamically | Tobias Brunner | 2012-10-16 | 2 | -13/+5 |
| | |||||
* | android: Don't use the default ESP proposal as it includes unsupported ↵ | Tobias Brunner | 2012-10-16 | 1 | -1/+4 |
| | | | | algorithms | ||||
* | android: Leak the private key reference on Jelly Bean to avoid a bug in the ↵ | Tobias Brunner | 2012-09-24 | 1 | -1/+10 |
| | | | | | | | | | framework A bug in the framework on Android Jelly Bean causes a SIGSEGV when the private key object returned from KeyChain.getPrivateKey is garbage collected. Leaking the global reference to that object prevents the garbage collection and thereby the crash. | ||||
* | android: Load the private key and certificates separately in android_creds_t | Tobias Brunner | 2012-09-24 | 1 | -27/+28 |
| | |||||
* | android: Added a JNI backed private key implementation | Tobias Brunner | 2012-09-24 | 2 | -0/+323 |
| | | | | | This is required because private keys are provided by an OpenSSL engine in Jelly Bean, which makes them inaccessible directly via getEncoding. | ||||
* | android: Use AUTH_RULE_IDENTITY_LOOSE | Tobias Brunner | 2012-09-18 | 1 | -0/+1 |
| | |||||
* | android: Properly handle reauthentication initiated by the client | Tobias Brunner | 2012-09-06 | 1 | -7/+42 |
| | |||||
* | Merge branch 'android-client-cert' | Tobias Brunner | 2012-09-04 | 4 | -13/+159 |
|\ | | | | | | | Introduces IKEv2 client certificate authentication for the Android App. | ||||
| * | android: Native parts handle ikev2-cert VPN type | Tobias Brunner | 2012-08-31 | 2 | -10/+69 |
| | | |||||
| * | android: android_creds_t can provide a user's private key and certificate | Tobias Brunner | 2012-08-31 | 2 | -3/+89 |
| | | |||||
* | | Pass a list instead of a single virtual IP to attribute enumerators | Martin Willi | 2012-08-30 | 1 | -1/+1 |
| | | |||||
* | | Support multiple address pools configured on a peer_cfg | Martin Willi | 2012-08-30 | 1 | -1/+1 |
| | |