Tobias Brunner
5fd9e5fd00
android: Terminate IKE_SA if initial IKE_SA_INIT fails
...
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).
2014-07-22 11:10:36 +02:00
Tobias Brunner
945832c67d
android: Only allow DNS queries for the configured hostname
2014-07-22 11:10:36 +02:00
Tobias Brunner
e77f226a0f
android: Add optional filter functionality to DNS proxy
...
If specified only queries for a list of allowed host names will be
proxied.
2014-07-22 11:10:36 +02:00
Tobias Brunner
c66f5f844d
android: Recreate the TUN device without DNS when reestablishing IKE_SAs
...
This enables DNS resolution while reestablishing if the VPN gateway pushed
DNS servers to the client that are only reachable via VPN.
2014-07-22 11:10:36 +02:00
Tobias Brunner
36aab70ab0
android: Add method to BuilderAdapter to re-establish without DNS-related data
...
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).
2014-07-22 11:10:36 +02:00
Tobias Brunner
cc1712a8f4
android: Use DNS proxy when reestablishing IKE_SAs
2014-07-22 11:10:36 +02:00
Tobias Brunner
614359a7d5
bus: Add ike_reestablish_pre hook, called before DNS resolution
...
The old hook is renamed to ike_reestablish_post and is now also called
when the initiation of the new IKE_SA failed.
2014-07-22 11:10:36 +02:00
Tobias Brunner
2dc26c557e
android: Add DNS proxy implementation
...
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).
2014-07-22 11:10:36 +02:00
Tobias Brunner
394be2d556
android: Delay disconnecting on errors until user dismisses them
...
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.
2014-07-22 10:55:51 +02:00
Tobias Brunner
08d545e29a
android: Set CHILD_STATE_DOWN when the IKE_SA gets reestablished
2014-07-22 10:55:51 +02:00
Tobias Brunner
fb5d541503
android: Set CHILD_STATE_DOWN whenever the CHILD_SA goes down
...
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.
2014-07-22 10:55:51 +02:00
Tobias Brunner
1435bd2e1b
android: Change to CONNECTING state if CHILD_SA goes down
...
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).
2014-07-22 10:55:51 +02:00
Tobias Brunner
d4bf6bfb15
android: Do not use deprecated TwoLineListItem
2014-07-22 10:41:51 +02:00
Tobias Brunner
7073bfe4e9
android: Add support for ECDSA private keys
...
With 4.4.4 these work fine now.
2014-07-22 10:41:51 +02:00
Tobias Brunner
3dc92ff9cf
android: Show a confirmation dialog before importing certificates
...
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.
2014-07-22 10:41:51 +02:00
Tobias Brunner
1ed922c918
android: Use Storage Access Framework to import certificates
...
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.
2014-07-22 10:41:51 +02:00
Tobias Brunner
94cc8f6a72
android: Add activity to import certificate files
...
Such files can e.g. be opened from the Download view, if they are
associated with one of the supported mime-types.
2014-07-22 10:41:50 +02:00
Tobias Brunner
ac200bcda5
android: Imported certificates may be clicked to delete them
2014-07-22 10:41:50 +02:00
Tobias Brunner
eb01649079
android: Reload CA certificates without AsyncTask
...
We already use loaders in the GUI that can handle this asynchronously.
2014-07-22 10:41:50 +02:00
Tobias Brunner
918200378d
android: Change how CA certificate reloads are initiated
2014-07-22 10:41:50 +02:00
Tobias Brunner
08de6a08f0
android: Add option to reload CA certificates to TrustedCertificatesActivity
2014-07-22 10:41:50 +02:00
Tobias Brunner
2312985b2a
android: Replace option to reload CA certificates with CA certificate view
...
The reload option will be added there.
2014-07-22 10:41:50 +02:00
Tobias Brunner
1353f08fbc
android: Only close TrustedCertificatesActivity on click when selecting a certificate
2014-07-22 10:41:50 +02:00
Tobias Brunner
9c841b1f34
android: Set action when using TrustedCertificatesActivity to select a certificate
2014-07-22 10:41:50 +02:00
Tobias Brunner
f21a69dbec
android: Allow selection of local certificates
2014-07-22 10:41:49 +02:00
Tobias Brunner
3b2b536b70
android: Change how CA certificates from different sources are accessed
2014-07-22 10:41:49 +02:00
Tobias Brunner
8cdce00eb1
android: Cache certificates from multiple KeyStores
...
Including the new local one.
2014-07-22 10:41:49 +02:00
Tobias Brunner
8d3a058abc
android: Register local certificate store provider when the app is initialized
2014-07-22 10:41:49 +02:00
Tobias Brunner
5eb4297046
android: Add Provider for the local certificate store
2014-07-22 10:41:49 +02:00
Tobias Brunner
544267889e
android: Add KeyStoreSpi implementation that uses LocalCertificateStore
2014-07-22 10:41:49 +02:00
Tobias Brunner
275888d255
android: Add local certificate store
...
The class manages certificates stored in files within the app's
private data directory.
2014-07-22 10:41:49 +02:00
Tobias Brunner
463a6cd005
android: Move TrustedCertificateEntry to a new package
2014-07-22 10:41:49 +02:00
Tobias Brunner
6684195505
android: Subclass Application to provide static access to the application context
2014-07-22 10:41:49 +02:00
Tobias Brunner
7229bdd5c7
android: Target latest SDK version
2014-07-22 10:41:49 +02:00
Tobias Brunner
140ce41a39
android: Add utility method to convert a byte array to a hex string
2014-07-22 10:41:48 +02:00
Tobias Brunner
9d994ba5ea
android: Remove unused hash argument from getTrustedCertificates()
2014-07-22 10:41:48 +02:00
Tobias Brunner
b9fd95f476
android: Use correct tag to define category for CREATE_SHORTCUT intent-filter
2014-07-22 10:41:48 +02:00
Tobias Brunner
3e4ce88633
android: Define HAVE_DLADDR as plugin loader checks for it
2014-06-24 15:53:25 +02:00
Martin Willi
30c009c2fe
kernel-interface: Add a replay_window parameter to add_sa()
2014-06-17 16:41:30 +02:00
Martin Willi
8d74ec9e80
ike: Add an additional but separate AEAD proposal to CHILD config
...
This currently has no effect: We don't include AEAD algorithms in the default
ESP proposal, as we don't know if it is supported by the backend. But as we
hopefully get an algorithm query mechanism on kernel interfaces some day, we
add the appropriate functionality nonetheless.
2014-05-16 16:51:19 +02:00
Martin Willi
879e3d12ca
ike: Add an additional but separate AEAD proposal to IKE config, if supported
2014-05-16 16:51:19 +02:00
Tobias Brunner
446c036794
android: New release based on 5.1.3
...
Also links OpenSSL statically and doesn't limit the number of packets
during EAP-TTLS.
2014-04-25 14:39:22 +02:00
Tobias Brunner
8064764070
android: Use static version of libcrypto
...
System.loadLibrary() searches in system directories first (at least in
recent releases), that is, our own build wouldn't actually get used.
2014-04-25 14:26:31 +02:00
Martin Willi
65117a0764
nm: Bump NetworkManager plugin version to 1.3.1
2014-04-24 15:53:38 +02:00
Tobias Brunner
65ee857a88
android: Don't limit number to packets during EAP-TTLS
2014-02-18 11:32:37 +01:00
Tobias Brunner
1c306c0ee9
libcharon: Remove unused charon->name
2014-02-12 14:34:33 +01:00
Tobias Brunner
10c4f4e1fd
libhydra: Remove unused hydra->daemon
2014-02-12 14:34:32 +01:00
Tobias Brunner
34d3bfcf14
lib: Add global config namespace
2014-02-12 14:34:31 +01:00
Tobias Brunner
0b506edb19
nm: Require the PSK to be at least 20 characters long
2013-11-27 18:36:58 +01:00
Tobias Brunner
692a421aa0
nm: German translation updated
2013-11-27 18:36:58 +01:00