Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | swanctl: Fix documentation of options for send_cert setting | Tobias Brunner | 2014-07-28 | 1 | -4/+4 | |
| | ||||||
* | android: New release after adding certificate import, DNS proxy and GUI changes | Tobias Brunner | 2014-07-22 | 1 | -2/+2 | |
| | ||||||
* | Merge branch 'android-dns-proxy' | Tobias Brunner | 2014-07-22 | 16 | -30/+1215 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | Adds a DNS proxy feature that uses VPN-protected sockets to resolve the VPN gateway's hostname while reestablishing the IKE_SA, which is required because we keep the TUN device up to avoid leaking plaintext traffic. The TUN device is recreated without DNS servers before reestablishing in case the VPN server pushed DNS servers to the client that are only reachable via VPN. Fixes #622. | |||||
| * | 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: Add method to BuilderAdapter to re-establish without DNS-related data | Tobias Brunner | 2014-07-22 | 3 | -5/+113 | |
| | | | | | | | | | | | | Non-DNS data is cached in the BuilderAdapter so the TUN device can be recreated easily (since the CHILD_SA is gone we couldn't actually gather that information). | |||||
| * | 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 | 5 | -13/+74 | |
| | | | | | | | | | | 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 | 3 | -0/+388 | |
| | | | | | | | | | | | | | | 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). | |||||
| * | ip_packet: Add function to easily encode UDP packets | Tobias Brunner | 2014-07-22 | 2 | -0/+29 | |
| | | ||||||
| * | ip_packet: Apply transport protocol ports when encoding IP packet | Tobias Brunner | 2014-07-22 | 2 | -10/+30 | |
| | | ||||||
| * | ip_packet: Add getter for IP payload | Tobias Brunner | 2014-07-22 | 2 | -5/+25 | |
| | | ||||||
| * | ip_packet: Allow creation of IP packets from data | Tobias Brunner | 2014-07-22 | 2 | -1/+164 | |
| | | ||||||
| * | chunk: Add function to calculate Internet Checksums according to RFC 1071 | Tobias Brunner | 2014-07-22 | 3 | -0/+105 | |
| | | ||||||
| * | ip_packet: Parse ports from TCP and UDP headers | Tobias Brunner | 2014-07-22 | 1 | -7/+63 | |
|/ | ||||||
* | Merge branch 'android-state-updates' | Tobias Brunner | 2014-07-22 | 3 | -12/+17 | |
|\ | | | | | | | | | | | | | | | The GUI reflects the state of the IKE daemon more closely by switching back to the "connecting" state when the IKE_SA or CHILD_SA is down and is getting reestablished. Fixes #616. | |||||
| * | android: Delay disconnecting on errors until user dismisses them | Tobias Brunner | 2014-07-22 | 2 | -4/+6 | |
| | | | | | | | | | | If e.g. reauthentication fails we don't want to close the TUN device until the user acknowledged the error and is thus aware of the failure. | |||||
| * | 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: Change to CONNECTING state if CHILD_SA goes down | Tobias Brunner | 2014-07-22 | 1 | -1/+4 | |
|/ | | | | | | Unless we are disconnecting. This currently triggers the connecting dialog, perhaps just updating the status text would do too (when switching from CONNECTED to CONNECTING, not from DISCONNECTED to CONNECTING). | |||||
* | Merge branch 'android-cert-import' | Tobias Brunner | 2014-07-22 | 28 | -186/+1243 | |
|\ | | | | | | | | | | | | | | | | | Adds support to import CA and server certificate directly in the app. On Android 4.4 and newer the SAF allows users to easily browse for such files, on older systems they have to open them from file manager or the download app (only works if the MIME type is correctly detected). Also adds support for ECDSA keys on recent Android systems. | |||||
| * | android: Do not use deprecated TwoLineListItem | Tobias Brunner | 2014-07-22 | 3 | -27/+28 | |
| | | ||||||
| * | android: Add support for ECDSA private keys | Tobias Brunner | 2014-07-22 | 1 | -24/+99 | |
| | | | | | | | | With 4.4.4 these work fine now. | |||||
| * | android: Show a confirmation dialog before importing certificates | Tobias Brunner | 2014-07-22 | 2 | -14/+123 | |
| | | | | | | | | | | | | | | | | | | | | | | | | Since the import activity can be triggered by any other app on the system we shouldn't just import every certificate we get. Also, in some situations (e.g. if no passphrase has been set yet for the system-wide certificate store) we are the only application that can open certificate files. So if a user clicked on a certificate file she would just get a confirmation Toast about a successful import, with no indication whatsoever where the certificate was actually imported. The new dialog shows the app icon to indicate that strongSwan is involved. | |||||
| * | android: Use Storage Access Framework to import certificates | Tobias Brunner | 2014-07-22 | 3 | -17/+106 | |
| | | | | | | | | | | | | | | Thanks to the SAF, introduced with Android 4.4, browsing and opening files on the system is very easy to implement. On older systems the menu option is removed. | |||||
| * | android: Add activity to import certificate files | Tobias Brunner | 2014-07-22 | 7 | -0/+89 | |
| | | | | | | | | | | Such files can e.g. be opened from the Download view, if they are associated with one of the supported mime-types. | |||||
| * | android: Imported certificates may be clicked to delete them | Tobias Brunner | 2014-07-22 | 7 | -1/+124 | |
| | | ||||||
| * | android: Reload CA certificates without AsyncTask | Tobias Brunner | 2014-07-22 | 2 | -26/+39 | |
| | | | | | | | | We already use loaders in the GUI that can handle this asynchronously. | |||||
| * | android: Change how CA certificate reloads are initiated | Tobias Brunner | 2014-07-22 | 2 | -9/+9 | |
| | | ||||||
| * | android: Add option to reload CA certificates to TrustedCertificatesActivity | Tobias Brunner | 2014-07-22 | 7 | -5/+65 | |
| | | ||||||
| * | android: Replace option to reload CA certificates with CA certificate view | Tobias Brunner | 2014-07-22 | 2 | -13/+10 | |
| | | | | | | | | The reload option will be added there. | |||||
| * | android: Only close TrustedCertificatesActivity on click when selecting a ↵ | Tobias Brunner | 2014-07-22 | 1 | -6/+11 | |
| | | | | | | | | certificate | |||||
| * | android: Set action when using TrustedCertificatesActivity to select a ↵ | Tobias Brunner | 2014-07-22 | 2 | -0/+3 | |
| | | | | | | | | certificate | |||||
| * | android: Allow selection of local certificates | Tobias Brunner | 2014-07-22 | 7 | -19/+31 | |
| | | ||||||
| * | android: Change how CA certificates from different sources are accessed | Tobias Brunner | 2014-07-22 | 2 | -32/+25 | |
| | | ||||||
| * | android: Cache certificates from multiple KeyStores | Tobias Brunner | 2014-07-22 | 1 | -40/+60 | |
| | | | | | | | | Including the new local one. | |||||
| * | android: Register local certificate store provider when the app is initialized | Tobias Brunner | 2014-07-22 | 1 | -0/+8 | |
| | | ||||||
| * | android: Add Provider for the local certificate store | Tobias Brunner | 2014-07-22 | 1 | -0/+29 | |
| | | ||||||
| * | android: Add KeyStoreSpi implementation that uses LocalCertificateStore | Tobias Brunner | 2014-07-22 | 1 | -0/+139 | |
| | | ||||||
| * | android: Add local certificate store | Tobias Brunner | 2014-07-22 | 1 | -0/+230 | |
| | | | | | | | | | | The class manages certificates stored in files within the app's private data directory. | |||||
| * | android: Move TrustedCertificateEntry to a new package | Tobias Brunner | 2014-07-22 | 5 | -5/+5 | |
| | | ||||||
| * | android: Subclass Application to provide static access to the application ↵ | Tobias Brunner | 2014-07-22 | 2 | -0/+41 | |
| | | | | | | | | context | |||||
| * | android: Target latest SDK version | Tobias Brunner | 2014-07-22 | 2 | -2/+2 | |
| | | ||||||
| * | android: Add utility method to convert a byte array to a hex string | Tobias Brunner | 2014-07-22 | 1 | -0/+40 | |
| | | ||||||
| * | android: Remove unused hash argument from getTrustedCertificates() | Tobias Brunner | 2014-07-22 | 2 | -25/+6 | |
| | | ||||||
| * | android: Use correct tag to define category for CREATE_SHORTCUT intent-filter | Tobias Brunner | 2014-07-22 | 1 | -1/+1 | |
|/ | ||||||
* | starter: Fix memory leaks and warn if conn/ca sections are ignored due to ↵ | Tobias Brunner | 2014-07-18 | 1 | -2/+8 | |
| | | | | parse errors |