From: Tomáš Čech <[email protected]>
---
src/vpn/nm-vpn-manager.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/vpn/nm-vpn-manager.c b/src/vpn/nm-vpn-manager.c
index 36043c935..e73ccac47 100644
--- a/src/vpn/nm-vpn-manager.c
+++ b/src/vpn/nm-vpn-manager.c
@@ -220,6 +220,7 @@ nm_vpn_manager_init (NMVpnManager *self)
GSList *infos, *info;
const char *conf_dir_etc = _nm_vpn_plugin_info_get_default_dir_etc ();
const char *conf_dir_lib = _nm_vpn_plugin_info_get_default_dir_lib ();
+ const char *conf_dir_user = _nm_vpn_plugin_info_get_default_dir_user ();
/* Watch the VPN directory for changes */
file = g_file_new_for_path (conf_dir_lib);
@@ -238,6 +239,14 @@ nm_vpn_manager_init (NMVpnManager *self)
G_CALLBACK
(vpn_dir_changed), self);
}
+ file = g_file_new_for_path (conf_dir_user);
+ priv->monitor_etc = g_file_monitor_directory (file,
G_FILE_MONITOR_NONE, NULL, NULL);
+ g_object_unref (file);
+ if (priv->monitor_etc) {
+ priv->monitor_id_etc = g_signal_connect (priv->monitor_etc,
"changed",
+ G_CALLBACK
(vpn_dir_changed), self);
+ }
+
/* first read conf_dir_lib. The name files are not really user
configuration, but
* plugin configuration. Hence we expect ~newer~ plugins to install
their files
* in /usr/lib/NetworkManager. We want to prefer those files.
@@ -252,6 +261,11 @@ nm_vpn_manager_init (NMVpnManager *self)
try_add_plugin (self, info->data);
g_slist_free_full (infos, g_object_unref);
+ infos = _nm_vpn_plugin_info_list_load_dir (conf_dir_user, TRUE, 0,
NULL, NULL);
+ for (info = infos; info; info = info->next)
+ try_add_plugin (self, info->data);
+ g_slist_free_full (infos, g_object_unref);
+
priv->active_services = g_hash_table_new_full (nm_str_hash,
g_str_equal, g_free, NULL);
}
--
2.22.0
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list