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
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
Tobias Brunner
441dde9ee9
Moved main Activity to ui sub-package
...
Also force portrait orientation.
2012-08-08 15:41:04 +02:00
Tobias Brunner
8bf3027643
Moved CharonVpnService to logic sub-package
2012-08-08 15:41:04 +02:00
Tobias Brunner
6f11e94134
Global charonservice_t object added to libandroidbridge
...
This is later used to call Java methods on CharonVpnService via JNI.
2012-08-08 15:41:04 +02:00
Tobias Brunner
f83f65be08
Added functions to attach/detach native threads to the JVM
...
Even though native threads are automatically detached from the JVM with
help of a thread-local destructor it is recommended to detach as soon as
possible as local JNI references are not freed until a thread detaches.
2012-08-08 15:41:04 +02:00
Tobias Brunner
cb887af4cf
Moved JNI helper macros to a separate file
...
Also initialize a reference to the CharonVpnService class during
JNI_OnLoad, which allows us later to call methods from C to Java.
2012-08-08 15:41:03 +02:00
Tobias Brunner
d62d5d7c2e
Use strongSwan logo as icon
...
Due to the transparency and black font this is probably not optimal yet.
2012-08-08 15:41:03 +02:00
Tobias Brunner
95dacbbc70
Allocate UDP ports randomly in Android NDK build.
2012-08-08 15:30:28 +02:00
Tobias Brunner
a405760395
Java code style fixed (analogous to C code).
2012-08-08 15:12:24 +02:00
Tobias Brunner
06ed785e5a
Load libipsec in Android app.
2012-08-08 15:12:24 +02:00
Tobias Brunner
48f2c4b69b
Some NDK build info updated.
2012-08-08 15:09:31 +02:00
Tobias Brunner
9ddc7cbfff
Changed minimal SDK/API level to 14.
2012-08-08 15:09:31 +02:00
Tobias Brunner
4a20814300
Added android.net.VpnService wrapper around charon (loaded via JNI).
2012-08-08 15:09:31 +02:00
Tobias Brunner
da848ab894
Added Android shell app created with Android SDK.
2012-08-08 15:09:30 +02:00
Tobias Brunner
2f203aee0e
Android.mk for NDK build added.
2012-08-08 15:09:30 +02:00