summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-06-08 13:03:57 +0200
committerThomas Haller <thaller@redhat.com>2016-06-13 10:51:16 +0200
commit67e6cb58f899d5ff0859c00f21e36f8b597b6b8c (patch)
tree1a866b30fd67fdc114fd4d322a030d58808ea0fc
parent0e2134043c1b864ea39629670d9970868fc7d2a7 (diff)
downloadnetwork-manager-applet-67e6cb58f899d5ff0859c00f21e36f8b597b6b8c.tar.gz
c-e: resolve VPN service-type as a short-name
Allow short-names for VPNs to select the service-type. This allows for shortnames lke: $ nm-connection-editor -c -t vpn:openconnect
-rw-r--r--src/connection-editor/page-vpn.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/connection-editor/page-vpn.c b/src/connection-editor/page-vpn.c
index c59195f8..2f93e23c 100644
--- a/src/connection-editor/page-vpn.c
+++ b/src/connection-editor/page-vpn.c
@@ -287,6 +287,8 @@ vpn_connection_new (GtkWindow *parent,
{
NMConnection *connection;
NMSetting *s_vpn;
+ const char *service_type;
+ gs_free char *service_type_free = NULL;
if (!detail) {
NewVpnInfo *info;
@@ -306,13 +308,16 @@ vpn_connection_new (GtkWindow *parent,
return;
}
+ service_type_free = nm_vpn_plugin_info_list_find_service_type (vpn_get_plugin_infos (), detail);
+ service_type = service_type_free ?: detail;
+
connection = ce_page_new_connection (_("VPN connection %d"),
NM_SETTING_VPN_SETTING_NAME,
FALSE,
client,
user_data);
s_vpn = nm_setting_vpn_new ();
- g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, detail, NULL);
+ g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, service_type, NULL);
nm_connection_add_setting (connection, s_vpn);
(*result_func) (connection, FALSE, NULL, user_data);