openconnect: Set correct auth mode in VpnProfile so launchVPN() works

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: Add infrastructure for blocking calls to the UI thread

This will be used to access SharedPreferences, display AlertDialogs, etc.
The current implementation is very hacky and we should revisit it to find
a better way to pop up the auth dialog from the background thread.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect-wrapper: Add new version with userData members

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: AuthForm: handle simple l/p forms

Dynamically build the form UI from the server data.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: AuthForm: Add "save password" checkbox, and fix padding

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: AuthForm: Cache login names and passwords in the profile

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: AuthForm: Add batch mode option

This lets the user skip all auth forms with unfilled items (e.g. for a
non-stored or one-time password) or skip all forms unconditionally.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: AuthForm: Add support for group dropdowns

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: AuthForm: Improve locking/waiting support in UiTask

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: Move UiTask into a separate file

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: AuthForm: Move AuthFormHandler into a separate file

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: AuthForm: Paranoid checking for forms with 0 options

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
openconnect: Add certificate validation warning dialog

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>