From: Emil Renner Berthing Date: Tue, 23 Oct 2012 10:29:24 +0000 (+0300) Subject: openvpn: Support '--tls-auth ' with optional '' argument X-Git-Tag: 1.10~224 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2b8ef6f34662ed024d5fa015442e113fccbd6663;p=platform%2Fupstream%2Fconnman.git openvpn: Support '--tls-auth ' with optional '' argument Connman OpenVPN OpenVPN.TLSAuth --tls-auth [] OpenVPN.TLSAuthDir optional argument to '--tls-auth' Since 'OpenVPN.TLSAuthDir' contains the optional argument for 'OpenVPN.TLSAuth', handle them separately. The special handling is identified by setting openvpn command line argument to NULL. --- diff --git a/plugins/openvpn.c b/plugins/openvpn.c index c3e7bcd..bac1671 100644 --- a/plugins/openvpn.c +++ b/plugins/openvpn.c @@ -62,6 +62,8 @@ struct { { "OpenVPN.AskPass", "--askpass", 1 }, { "OpenVPN.AuthNoCache", "--auth-nocache", 0 }, { "OpenVPN.TLSRemote", "--tls-remote", 1 }, + { "OpenVPN.TLSAuth", NULL, 1 }, + { "OpenVPN.TLSAuthDir", NULL, 1 }, { "OpenVPN.Cipher", "--cipher", 1 }, { "OpenVPN.Auth", "--auth", 1 }, { "OpenVPN.CompLZO", "--comp-lzo", 0 }, @@ -206,6 +208,9 @@ static int task_append_config_data(struct connman_provider *provider, int i; for (i = 0; i < (int)ARRAY_SIZE(ov_options); i++) { + if (ov_options[i].ov_opt == NULL) + continue; + option = connman_provider_get_string(provider, ov_options[i].cm_opt); if (option == NULL) @@ -235,6 +240,15 @@ static int ov_connect(struct connman_provider *provider, task_append_config_data(provider, task); + option = connman_provider_get_string(provider, "OpenVPN.TLSAuth"); + if (option != NULL) { + connman_task_add_argument(task, "--tls-auth", option); + option = connman_provider_get_string(provider, + "OpenVPN.TLSAuthDir"); + if (option != NULL) + connman_task_add_argument(task, option, NULL); + } + connman_task_add_argument(task, "--syslog", NULL); connman_task_add_argument(task, "--script-security", "2");