Will match  openconnect client exit code to provider error.
---
 plugins/openconnect.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/plugins/openconnect.c b/plugins/openconnect.c
index cc8b51b..795a5f6 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)
-- 
1.7.3.4

_______________________________________________
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman

Reply via email to