summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/openconnect.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/openconnect.c b/plugins/openconnect.c
index cc8b51b9..795a5f61 100644
--- a/plugins/openconnect.c
+++ b/plugins/openconnect.c
@@ -161,9 +161,23 @@ static int oc_connect(struct connman_provider *provider,
return 0;
}
+static int oc_error_code(int exit_code)
+{
+
+ switch (exit_code) {
+ case 1:
+ return CONNMAN_PROVIDER_ERROR_CONNECT_FAILED;
+ case 2:
+ return CONNMAN_PROVIDER_ERROR_LOGIN_FAILED;
+ default:
+ return CONNMAN_PROVIDER_ERROR_UNKNOWN;
+ }
+}
+
static struct vpn_driver vpn_driver = {
.notify = oc_notify,
.connect = oc_connect,
+ .error_code = oc_error_code,
};
static int openconnect_init(void)