service: Simplify nameserver route adding and removing
[framework/connectivity/connman.git] / plugins / openconnect.c
index 94bfcfc..70be7ae 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007-2010  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2012  Intel Corporation. All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -146,7 +146,7 @@ static int oc_notify(DBusMessage *msg, struct connman_provider *provider)
                                                netmask, gateway);
        else
                connman_ipaddress_set_ipv6(ipaddress, addressv6,
-                                               gateway, prefix_len);
+                                               prefix_len, gateway);
        connman_provider_set_ipaddress(provider, ipaddress);
        connman_provider_set_domain(provider, domain);
 
@@ -219,6 +219,34 @@ static int oc_connect(struct connman_provider *provider,
        return 0;
 }
 
+static int oc_save (struct connman_provider *provider, GKeyFile *keyfile)
+{
+       const char *setting;
+
+       setting = connman_provider_get_string(provider,
+                                       "OpenConnect.ServerCert");
+       if (setting != NULL)
+               g_key_file_set_string(keyfile,
+                               connman_provider_get_save_group(provider),
+                               "OpenConnect.ServerCert", setting);
+
+       setting = connman_provider_get_string(provider,
+                                       "OpenConnect.CACert");
+       if (setting != NULL)
+               g_key_file_set_string(keyfile,
+                               connman_provider_get_save_group(provider),
+                               "OpenConnect.CACert", setting);
+
+       setting = connman_provider_get_string(provider,
+                                       "VPN.MTU");
+       if (setting != NULL)
+               g_key_file_set_string(keyfile,
+                               connman_provider_get_save_group(provider),
+                               "VPN.MTU", setting);
+
+       return 0;
+}
+
 static int oc_error_code(int exit_code)
 {
 
@@ -236,6 +264,7 @@ static struct vpn_driver vpn_driver = {
        .notify         = oc_notify,
        .connect        = oc_connect,
        .error_code     = oc_error_code,
+       .save           = oc_save,
 };
 
 static int openconnect_init(void)