From 0656afcd5a2c0f99df2412bd29b5f11ec47f472a Mon Sep 17 00:00:00 2001 From: Patrik Flykt Date: Mon, 31 Oct 2011 15:31:42 +0200 Subject: [PATCH] openvpn: Save support for openvpn Openvpn saves all settings with prefix 'OpenVPN.' --- plugins/openvpn.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/plugins/openvpn.c b/plugins/openvpn.c index 2a93771..636864a 100644 --- a/plugins/openvpn.c +++ b/plugins/openvpn.c @@ -175,6 +175,23 @@ static int ov_notify(DBusMessage *msg, struct connman_provider *provider) return VPN_STATE_CONNECT; } +static int ov_save(struct connman_provider *provider, GKeyFile *keyfile) +{ + const char *option; + int i; + + for (i = 0; i < (int)ARRAY_SIZE(ov_options); i++) { + if (strncmp(ov_options[i].cm_opt, "OpenVPN.", 8) == 0) { + option = connman_provider_get_string(provider, + ov_options[i].cm_opt); + g_key_file_set_string(keyfile, + connman_provider_get_save_group(provider), + ov_options[i].cm_opt, option); + } + } + return 0; +} + static int task_append_config_data(struct connman_provider *provider, struct connman_task *task) { @@ -267,6 +284,7 @@ static int ov_connect(struct connman_provider *provider, static struct vpn_driver vpn_driver = { .notify = ov_notify, .connect = ov_connect, + .save = ov_save, }; static int openvpn_init(void) -- 2.7.4