Tobias Brunner
03de55ad98
CharonVpnService binds to VpnStateService and does basic state updates
2012-08-13 11:00:27 +02:00
Tobias Brunner
a4f9028e08
CharonVpnService reacts on Intents and properly inits/deinits charon
...
Charon is initialized with every new connection attempt and
deinitialized when the service is terminated or it receives an empty
Intent (or before starting a new connection).
A separate thread is used to handle the connection attempts, this thread
acts as main thread for charon.
2012-08-13 11:00:27 +02:00
Tobias Brunner
d1220566ef
Service added that keeps track of VPN state and notifies listeners about changes
...
It is ensured that listeners are notified only from the main thread.
2012-08-13 11:00:27 +02:00
Tobias Brunner
175088517f
Add an Android specific kernel_ipsec_t implementation
...
This is pretty much a proxy class that delegates everything (that is
currently supported) to libipsec.
2012-08-13 11:00:27 +02:00
Tobias Brunner
24447cf49f
Add an Android specific kernel_net_t implementation
...
This currently provides only no-ops and is just added because a
kernel-net implementation is required and kernel-netlink can't be used
at the moment.
2012-08-13 11:00:27 +02:00
Tobias Brunner
6e04147743
Clone the current VPN profile before updating the password
...
Storing the password on the original object would be problematic in case
the user mistypes the password (no prompt would be shown the second time).
An alternative would be to just return the ID of the selected profile
and then fetch it from the database.
2012-08-13 11:00:26 +02:00
Tobias Brunner
8d4eea5325
Allow VpnProfile objects to be cloned
2012-08-13 11:00:26 +02:00
Tobias Brunner
b1340aa129
Prompt the user for a password if none is configured in the VPN profile
2012-08-13 11:00:26 +02:00
Tobias Brunner
fcb5448017
Allow selection of a CA certificate for a VPN profile
...
This solution is just temporary as it really is not that user-friendly
to select CA certificates with a Spinner widget.
2012-08-13 11:00:26 +02:00
Tobias Brunner
8db37772f5
Simplified asynchronous loading of CA certificates in MainActivity
2012-08-13 11:00:26 +02:00
Tobias Brunner
b21979f12f
Added simple adapter for trusted certificates (to be used with a Spinner widget)
2012-08-13 11:00:26 +02:00
Tobias Brunner
529c8c88a3
Keep a global reference to the CharonVpnService object in charonservice
2012-08-13 11:00:26 +02:00
Tobias Brunner
a304874319
Add signal handler for fatal signals to libandroidbridge
2012-08-13 11:00:26 +02:00
Tobias Brunner
d200749424
Set default log level in libandroidbridge
2012-08-13 11:00:25 +02:00
Tobias Brunner
6316b50280
Renamed main Activity (shorter name in Launcher)
2012-08-13 11:00:25 +02:00
Tobias Brunner
0b362ed837
MainActivity starts CharonVpnService if a VpnProfile is clicked in the list
...
This is done by implementing the OnVpnProfileSelectedListener interface
provided by VpnProfileListFragment.
2012-08-13 11:00:25 +02:00
Tobias Brunner
c8b942a1e2
Menu option added to reload cached CA certificates
...
This might be required if the user installs a new CA certificate.
2012-08-13 11:00:25 +02:00
Tobias Brunner
9756cf22f2
Show progress bar in ActionBar while loading cached CA certificates
2012-08-13 11:00:25 +02:00
Tobias Brunner
19567a5e3a
Helper function added to handle Java exceptions in native code
2012-08-13 11:00:25 +02:00
Tobias Brunner
95e9a12c28
Don't attach to actual Java threads (or already attached ones)
...
We check this by trying to retrieve a JNIEnv object from the JVM,
if one is returned the current thread is not native (created from Java)
or the thread is already attached.
2012-08-13 11:00:25 +02:00
Tobias Brunner
5afb1e3c45
Initially load CA certificates when the main Activity is created
2012-08-13 11:00:24 +02:00
Tobias Brunner
a305419b40
Trusted CA certificates are loaded and cached by a static singleton
2012-08-13 11:00:24 +02:00
Tobias Brunner
40dfe8f1d8
Remove restriction to portrait orientation
2012-08-13 11:00:24 +02:00
Tobias Brunner
3a32ba7111
Use Holo as theme
2012-08-13 11:00:24 +02:00
Tobias Brunner
da9bb5044f
Make click events on the profile list available to the Activity
...
If the Activity this fragment is placed in implements the provided interface
it is notified about clicks on any of the profiles.
2012-08-13 11:00:09 +02:00
Tobias Brunner
e4ef4c9877
Merge branch 'android-ndk'
...
This branch comes with some preliminary changes for the user-land IPsec
implementation and the Android App.
One important change is that the UDP ports used by the socket-default plugin
were made configurable (either via ./configure or strongswan.conf).
Also, the plugin does randomly allocate a port if it is configured to 0,
which is useful for client implementations. A consequence of these
changes is that the local UDP port used when creating ike_cfg_t objects has
to be fetched from the socket.
2012-08-13 10:45:39 +02:00
Tobias Brunner
000668d308
Doxygen fix
2012-08-11 16:50:22 +02:00
Tobias Brunner
3b891b9e5b
Avoid problems with Doxygen by adding warn_unused_result attribute at the end of method signatures
2012-08-11 16:48:09 +02:00
Tobias Brunner
2c93a214aa
Add warn_unused_result attributes to rng_(get|allocate)_bytes_not_zero
...
Also fixed Doxygen comments.
2012-08-11 16:30:27 +02:00
Tobias Brunner
9ede42e112
Documentation fixes regarding xauth-pam/eap-gtc plugins
2012-08-11 16:05:05 +02:00
Tobias Brunner
c6b736b9f5
Use a contextual action bar to edit and delete selected VPN profiles
2012-08-11 15:10:35 +02:00
Tobias Brunner
a3e2f127dc
Provide a menu with options to save VPN profiles
...
The ID of the updated/inserted profile is sent back to the activity that
started the detail view.
2012-08-11 15:10:35 +02:00
Tobias Brunner
c2e427c287
The list fragment uses a menu to provide an option to add new VPN profiles
2012-08-11 15:10:34 +02:00
Tobias Brunner
56a922b2ed
Added an activity to edit basic VPN profile details
...
Already load existing data based on extra data delivered with the
Intent, no saving and CA certificate handling yet.
2012-08-11 15:10:34 +02:00
Tobias Brunner
0458ac7cbc
Show list fragment in main activity
2012-08-11 15:10:34 +02:00
Tobias Brunner
7329618cc2
Fragment added to list the VPN profiles
2012-08-11 15:10:34 +02:00
Tobias Brunner
03a5a63c03
Added a custom adapter and layout to display VPN profiles in a ListView
2012-08-11 15:10:34 +02:00
Tobias Brunner
d799cbf676
Added class to simplify access to database of VPN profiles
2012-08-11 15:10:33 +02:00
Tobias Brunner
3d9127da61
Added class to move around VPN profiles in the Android App
2012-08-11 15:10:33 +02:00
Tobias Brunner
b17b495f2e
Replaced launcher icon with a more appropriate one
2012-08-11 15:10:33 +02:00
Martin Willi
a63192479d
If _POSIX_SPIN_LOCKS is defined as -1, it is not available
2012-08-10 17:02:46 +02:00
Martin Willi
922fb29f89
If vstr printf functions are #defined, undef them before redefinition
...
At least Mountain Lion seems to have them #defined to secure _chk
variants.
2012-08-10 17:02:05 +02:00
Martin Willi
cd55a3cb77
Use actual daemon name to enable XAuth/PSK with aggressive mode
2012-08-10 11:53:18 +02:00
Martin Willi
3423b3a88a
Add xauth-pam/eap-gtc NEWS
2012-08-10 11:50:44 +02:00
Martin Willi
27128c1e32
EAP-GTC can use any XAuth backend, including xauth-pam
...
This makes EAP-GTC a generic plain password authentication method,
as it is used with XAuth. Instead of verifying credentials with
PAM, any backend can be configured. The default is xauth-pam,
providing the same functionality as EAP-GTC in strongSwan 4.x.
2012-08-10 10:43:44 +02:00
Martin Willi
b9e4916321
Add xauth-pam, an XAuth backend verifying credentials with PAM
2012-08-10 10:43:44 +02:00
Martin Willi
0bac49b0a9
Add getspnam_r() to leak detective whitelist
2012-08-10 10:43:44 +02:00
Andreas Steffen
da21793679
make max_message_size parameter consistent with similar options
2012-08-09 14:11:08 +02:00
Martin Willi
02cabd0f26
Check if TLS handshake received Finished before processing application data
2012-08-09 12:10:41 +02:00
Tobias Brunner
441dde9ee9
Moved main Activity to ui sub-package
...
Also force portrait orientation.
2012-08-08 15:41:04 +02:00