summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2015-11-09 18:28:36 +0100
committerThomas Haller <thaller@redhat.com>2015-11-18 15:15:05 +0100
commit83b8b9e1f66ca325264cf0108a5a2025a7a9b77c (patch)
tree801c193c32c1822568f93ab5aea5c2aec13c5dca /src
parent2146c609963c695838126a0288dcd6f647af9abc (diff)
downloadNetworkManager-83b8b9e1f66ca325264cf0108a5a2025a7a9b77c.tar.gz
bus-manager: drop private socket
With ObjectManager we can not export ObjectSkeletons to multiple connections -- the manager would unexport the InterfaceSkeletons upon its destruction. It seems easiest to just drop the private socket altogether; It was broken for broken for some time and noone noticed anyway. Also startup before D-Bus is still broken: NetworkManager would reconnect to the bus but multiple managers won't notice the bus is around (we'll never see firewalld or policykit come up). We should probably just stop pretending we support operation without a real D-Bus server. With the advent of kdbus this makes even more sense.
Diffstat (limited to 'src')
-rw-r--r--src/nm-bus-manager.c75
1 files changed, 0 insertions, 75 deletions
diff --git a/src/nm-bus-manager.c b/src/nm-bus-manager.c
index 1c09a7b68a..ed927959c0 100644
--- a/src/nm-bus-manager.c
+++ b/src/nm-bus-manager.c
@@ -35,9 +35,6 @@
#include "nm-exported-object.h"
#include "NetworkManagerUtils.h"
-#define PRIV_SOCK_PATH NMRUNDIR "/private"
-#define PRIV_SOCK_TAG "private"
-
enum {
DBUS_CONNECTION_CHANGED = 0,
PRIVATE_CONNECTION_NEW,
@@ -61,7 +58,6 @@ typedef struct {
gboolean started;
GSList *private_servers;
- PrivateServer *priv_server;
GDBusProxy *proxy;
@@ -566,69 +562,11 @@ nm_bus_manager_get_unix_user (NMBusManager *self,
/**************************************************************/
static void
-private_connection_new (NMBusManager *self, GDBusConnection *connection)
-{
- NMBusManagerPrivate *priv = NM_BUS_MANAGER_GET_PRIVATE (self);
- GHashTableIter iter;
- NMExportedObject *object;
- const char *path;
- GError *error = NULL;
-
- /* Register all exported objects on this private connection */
- g_hash_table_iter_init (&iter, priv->exported);
- while (g_hash_table_iter_next (&iter, (gpointer *) &path, (gpointer *) &object)) {
- GSList *interfaces = nm_exported_object_get_interfaces (object);
-
- nm_assert_exported (self, path, object);
-
- for (; interfaces; interfaces = interfaces->next) {
- GDBusInterfaceSkeleton *interface = G_DBUS_INTERFACE_SKELETON (interfaces->data);
-
- if (g_dbus_interface_skeleton_export (interface, connection, path, &error)) {
- nm_log_trace (LOGD_CORE, "(%s) registered %p (%s) at '%s' on private socket.",
- PRIV_SOCK_TAG, object, G_OBJECT_TYPE_NAME (interface), path);
- } else {
- nm_log_warn (LOGD_CORE, "(%s) could not register %p (%s) at '%s' on private socket: %s.",
- PRIV_SOCK_TAG, object, G_OBJECT_TYPE_NAME (interface), path,
- error->message);
- g_clear_error (&error);
- }
- }
- }
-}
-
-static void
-private_server_setup (NMBusManager *self)
-{
- NMBusManagerPrivate *priv = NM_BUS_MANAGER_GET_PRIVATE (self);
-
- /* Skip this step if this is just a test program */
- if (nm_utils_get_testing ())
- return;
-
- /* Set up our main private DBus socket */
- if (mkdir (NMRUNDIR, 0755) == -1) {
- if (errno != EEXIST)
- nm_log_warn (LOGD_CORE, "Error creating directory \"%s\": %d (%s)", NMRUNDIR, errno, g_strerror (errno));
- }
- priv->priv_server = private_server_new (PRIV_SOCK_PATH, PRIV_SOCK_TAG, self);
- if (priv->priv_server) {
- priv->private_servers = g_slist_append (priv->private_servers, priv->priv_server);
- g_signal_connect (self,
- NM_BUS_MANAGER_PRIVATE_CONNECTION_NEW "::" PRIV_SOCK_TAG,
- (GCallback) private_connection_new,
- NULL);
- }
-}
-
-static void
nm_bus_manager_init (NMBusManager *self)
{
NMBusManagerPrivate *priv = NM_BUS_MANAGER_GET_PRIVATE (self);
priv->exported = g_hash_table_new (g_str_hash, g_str_equal);
-
- private_server_setup (self);
}
static void
@@ -650,7 +588,6 @@ nm_bus_manager_dispose (GObject *object)
g_slist_free_full (priv->private_servers, private_server_free);
priv->private_servers = NULL;
- priv->priv_server = NULL;
nm_bus_manager_cleanup (self);
@@ -879,8 +816,6 @@ nm_bus_manager_register_object (NMBusManager *self,
NMExportedObject *object)
{
NMBusManagerPrivate *priv;
- GDBusConnection *connection;
- GHashTableIter iter;
const char *path;
GSList *interfaces, *ifs;
@@ -915,16 +850,6 @@ nm_bus_manager_register_object (NMBusManager *self,
priv->connection, path, NULL);
}
}
-
- if (priv->priv_server) {
- g_hash_table_iter_init (&iter, priv->priv_server->connections);
- while (g_hash_table_iter_next (&iter, (gpointer) &connection, NULL)) {
- for (ifs = interfaces; ifs; ifs = ifs->next) {
- g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (ifs->data),
- connection, path, NULL);
- }
- }
- }
}
NMExportedObject *