[network-manager-openswan/lr/multiple-vpn: 3/3] service: add --bus-name argument
- From: Lubomir Rintel <lkundrak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [network-manager-openswan/lr/multiple-vpn: 3/3] service: add --bus-name argument
- Date: Thu, 29 Oct 2015 09:07:49 +0000 (UTC)
commit 07351109b8d6a067300e180a424be87c5f26e399
Author: Lubomir Rintel <lkundrak v3 sk>
Date: Thu Oct 29 09:47:08 2015 +0100
service: add --bus-name argument
nm-openswan-service.conf | 4 ++--
nm-openswan-service.name.in | 1 +
src/nm-openswan-service.c | 14 ++++++++++----
3 files changed, 13 insertions(+), 6 deletions(-)
---
diff --git a/nm-openswan-service.conf b/nm-openswan-service.conf
index 4fe4e45..ef9454b 100644
--- a/nm-openswan-service.conf
+++ b/nm-openswan-service.conf
@@ -3,12 +3,12 @@
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd";>
<busconfig>
<policy user="root">
- <allow own="org.freedesktop.NetworkManager.openswan"/>
+ <allow own_prefix="org.freedesktop.NetworkManager.openswan"/>
<allow send_destination="org.freedesktop.NetworkManager.openswan"/>
<allow send_interface="org.freedesktop.NetworkManager.openswan.helper"/>
</policy>
<policy context="default">
- <deny own="org.freedesktop.NetworkManager.openswan"/>
+ <deny own_prefix="org.freedesktop.NetworkManager.openswan"/>
<deny send_destination="org.freedesktop.NetworkManager.openswan"/>
</policy>
</busconfig>
diff --git a/nm-openswan-service.name.in b/nm-openswan-service.name.in
index 13149d3..8642c00 100644
--- a/nm-openswan-service.name.in
+++ b/nm-openswan-service.name.in
@@ -2,6 +2,7 @@
name=openswan
service=org.freedesktop.NetworkManager.openswan
program= LIBEXECDIR@/nm-openswan-service
+supports-multiple-connections=true
[libnm]
plugin= PLUGINDIR@/libnm-vpn-plugin-openswan.so
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
index cfd6f30..ad5f628 100644
--- a/src/nm-openswan-service.c
+++ b/src/nm-openswan-service.c
@@ -662,7 +662,8 @@ write_config_option (int fd, const char *format, ...)
}
static void
-nm_openswan_config_write (gint fd,
+nm_openswan_config_write (NMOpenSwanPlugin *self,
+ gint fd,
NMConnection *connection,
gboolean libreswan,
GError **error)
@@ -673,11 +674,14 @@ nm_openswan_config_write (gint fd,
const char *default_username;
const char *phase1_alg_str;
const char *phase2_alg_str;
+ const char *bus_name;
g_assert (fd >= 0);
g_assert (s_vpn);
g_assert (con_name);
+ g_object_get (self, NM_VPN_SERVICE_PLUGIN_DBUS_SERVICE_NAME, &bus_name, NULL);
+
write_config_option (fd, "conn %s\n", con_name);
write_config_option (fd, " aggrmode=yes\n");
write_config_option (fd, " authby=secret\n");
@@ -685,7 +689,7 @@ nm_openswan_config_write (gint fd,
write_config_option (fd, " leftid= %s\n", nm_setting_vpn_get_data_item (s_vpn, NM_OPENSWAN_LEFTID));
write_config_option (fd, " leftxauthclient=yes\n");
write_config_option (fd, " leftmodecfgclient=yes\n");
- write_config_option (fd, " leftupdown=\"" NM_OPENSWAN_HELPER_PATH "\"\n");
+ write_config_option (fd, " leftupdown=\"" NM_OPENSWAN_HELPER_PATH " --bus-name %s\"\n", bus_name);
default_username = nm_setting_vpn_get_user_name (s_vpn);
props_username = nm_setting_vpn_get_data_item (s_vpn, NM_OPENSWAN_LEFTXAUTHUSER);
@@ -1489,7 +1493,7 @@ connect_step (NMOpenSwanPlugin *self, GError **error)
"auto", "--replace", "--config", "-", uuid, NULL))
return FALSE;
priv->watch_id = g_child_watch_add (priv->pid, child_watch_cb, self);
- nm_openswan_config_write (fd, priv->connection, priv->libreswan, error);
+ nm_openswan_config_write (self, fd, priv->connection, priv->libreswan, error);
close (fd);
return TRUE;
@@ -1803,10 +1807,12 @@ main (int argc, char *argv[])
GOptionContext *opt_ctx = NULL;
GDBusConnection *connection;
GError *error = NULL;
+ const gchar *bus_name = NM_DBUS_SERVICE_OPENSWAN;
GOptionEntry options[] = {
{ "persist", 0, 0, G_OPTION_ARG_NONE, &persist, N_("Don't quit when VPN connection
terminates"), NULL },
{ "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Enable verbose debug logging (may expose
passwords)"), NULL },
+ { "bus-name", 0, 0, G_OPTION_ARG_STRING, &bus_name, N_("DBus name to use for this instance"),
NULL },
{NULL}
};
@@ -1841,7 +1847,7 @@ main (int argc, char *argv[])
g_message ("%s (version " DIST_VERSION ") starting...", argv[0]);
plugin = g_initable_new (NM_TYPE_OPENSWAN_PLUGIN, NULL, &error,
- NM_VPN_SERVICE_PLUGIN_DBUS_SERVICE_NAME, NM_DBUS_SERVICE_OPENSWAN,
+ NM_VPN_SERVICE_PLUGIN_DBUS_SERVICE_NAME, bus_name,
NULL);
if (!plugin) {
g_warning ("Failed to initialize a plugin instance: %s", error->message);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]