about summary refs log tree commit diff
path: root/debian/patches
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2021-07-05 20:35:03 +0200
committerSebastien Bacher <seb128@ubuntu.com>2021-07-05 20:35:03 +0200
commit35779c6675728fa6f0fd0a21cefb904408509c23 (patch)
tree553e7239e0ba182b4f9b29b1e7a9d66a595d08bc /debian/patches
parentd92aa7f298fe84d4cf686c5ad64b73438e00d377 (diff)
New upstream version 1.32.2
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch40
-rw-r--r--debian/patches/Force-online-state-with-unmanaged-devices.patch188
-rw-r--r--debian/patches/series2
3 files changed, 0 insertions, 230 deletions
diff --git a/debian/patches/Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch b/debian/patches/Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch
deleted file mode 100644
index 7252cb85..00000000
--- a/debian/patches/Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From: Michael Biebl <biebl@debian.org>
-Date: Sat, 12 Apr 2014 12:38:09 +0200
-Subject: Don't setup Sleep Monitor if not booted with systemd
-
-NetworkManager uses systemd for suspend/resume support. It listens for
-the PrepareForSleep and Resume D-Bus signal sent by logind/systemd and
-deactivates the interfaces on sleep and reactivates them on resume.
-With a standalone logind we don't get a Resume signal and
-NetworkManager remains in sleep mode where the devices are unmanaged.
-As a workaround, skip the Sleep Monitor setup if not booted with
-systemd.
-
-Closes: #742933
----
- src/nm-sleep-monitor.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/nm-sleep-monitor.c b/src/nm-sleep-monitor.c
-index c97f6f7..5ea0a64 100644
---- a/src/nm-sleep-monitor.c
-+++ b/src/nm-sleep-monitor.c
-@@ -22,6 +22,7 @@
- 
- #include <sys/stat.h>
- #include <gio/gunixfdlist.h>
-+#include <systemd/sd-daemon.h>
- 
- #include "nm-core-internal.h"
- #include "NetworkManagerUtils.h"
-@@ -341,6 +342,10 @@ on_proxy_acquired (GObject *object,
- static void
- nm_sleep_monitor_init (NMSleepMonitor *self)
- {
-+	if (!sd_booted()) {
-+		nm_log_warn (LOGD_SUSPEND, "Skipping Sleep Monitor setup, system not booted with systemd");
-+		return;
-+	}
- 	self->inhibit_fd = -1;
- 	self->cancellable = g_cancellable_new ();
- 	g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch
deleted file mode 100644
index d5ea3a2a..00000000
--- a/debian/patches/Force-online-state-with-unmanaged-devices.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-From: Michael Biebl <biebl@debian.org>
-Date: Wed, 2 Apr 2014 03:15:53 +0200
-Subject: Force online state with unmanaged devices
-
-If we have unmanaged devices in /e/n/i, monitor the ifupdown state file
-and in case we find active interfaces besides lo, forcefully set the
-online state to CONNECTED.
-
-Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286
----
- src/nm-manager.c | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 115 insertions(+)
-
-diff --git a/src/nm-manager.c b/src/nm-manager.c
-index 78f3722..c49e94a 100644
---- a/src/nm-manager.c
-+++ b/src/nm-manager.c
-@@ -60,6 +60,8 @@
- #include "nm-dispatcher.h"
- #include "NetworkManagerUtils.h"
- 
-+#define IFUPDOWN_STATE_FILE "/run/network/ifstate"
-+
- /*****************************************************************************/
- 
- typedef struct {
-@@ -198,6 +200,10 @@ typedef struct {
- 	GFileMonitor *fw_monitor;
- 	guint fw_changed_id;
- 
-+	/* ifupdown state file monitor */
-+	GFileMonitor *ifstate_monitor;
-+	gboolean ifstate_force_online;
-+
- 	guint timestamp_update_id;
- 
- 	guint devices_inited_id;
-@@ -1436,6 +1442,27 @@ find_best_device_state (NMManager *manager)
- 	return best_state;
- }
- 
-+static NMState
-+find_unmanaged_state (NMManager *self, NMState current_state)
-+{
-+	NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
-+	NMState new_state = current_state;
-+	NMDevice *device;
-+
-+	c_list_for_each_entry (device, &priv->devices_lst_head, devices_lst) {
-+		NMDeviceState state = nm_device_get_state (device);
-+
-+		if (state == NM_DEVICE_STATE_UNMANAGED) {
-+			const char *iface = nm_device_get_ip_iface (device);
-+			if (priv->ifstate_force_online) {
-+				new_state = NM_STATE_CONNECTED_GLOBAL;
-+				nm_log_dbg (LOGD_CORE, "Unmanaged device found: %s; state CONNECTED forced.", iface);
-+			}
-+		}
-+	}
-+	return new_state;
-+}
-+
- static void
- nm_manager_update_metered (NMManager *self)
- {
-@@ -1482,6 +1509,9 @@ nm_manager_update_state (NMManager *self)
- 	else
- 		new_state = find_best_device_state (self);
- 
-+	if (new_state != NM_STATE_CONNECTED_GLOBAL)
-+		new_state = find_unmanaged_state (self, new_state);
-+
- 	if (   new_state >= NM_STATE_CONNECTED_LOCAL
- 	    && priv->connectivity_state == NM_CONNECTIVITY_FULL) {
- 		new_state = NM_STATE_CONNECTED_GLOBAL;
-@@ -6485,6 +6515,62 @@ impl_manager_check_connectivity (NMDBusObject *obj,
- 	nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE);
- }
- 
-+static void
-+check_ifstate_file (gpointer user_data)
-+{
-+	NMManager *self = NM_MANAGER (user_data);
-+	NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
-+	GIOChannel *channel;
-+	gchar *line;
-+	gboolean online = FALSE;
-+
-+	channel = g_io_channel_new_file (IFUPDOWN_STATE_FILE, "r", NULL);
-+	if (!channel) {
-+		nm_log_warn (LOGD_CORE, "Error: failed to open %s", IFUPDOWN_STATE_FILE);
-+		return;
-+	}
-+
-+	while (g_io_channel_read_line (channel, &line, NULL, NULL, NULL)
-+	       != G_IO_STATUS_EOF && !online) {
-+		g_strstrip (line);
-+		if (strlen (line) > 0 && g_strcmp0 (line, "lo=lo") != 0) {
-+			online = TRUE;
-+		}
-+		g_free (line);
-+	}
-+
-+	g_io_channel_shutdown (channel, FALSE, NULL);
-+	g_io_channel_unref (channel);
-+
-+	if (priv->ifstate_force_online != online) {
-+		priv->ifstate_force_online = online;
-+		nm_manager_update_state (self);
-+	}
-+}
-+
-+static void
-+ifstate_file_changed (GFileMonitor *monitor,
-+                      GFile *file,
-+                      GFile *other_file,
-+                      GFileMonitorEvent event_type,
-+                      gpointer user_data)
-+{
-+	switch (event_type) {
-+//	case G_FILE_MONITOR_EVENT_CREATED:
-+//#if GLIB_CHECK_VERSION(2,23,4)
-+//	case G_FILE_MONITOR_EVENT_MOVED:
-+//#endif
-+//	case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
-+	case G_FILE_MONITOR_EVENT_CHANGED:
-+	case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
-+		nm_log_dbg (LOGD_CORE, "ifupdown state file %s was changed", IFUPDOWN_STATE_FILE);
-+		check_ifstate_file (user_data);
-+		break;
-+	default:
-+		break;
-+	}
-+}
-+
- static void
- start_factory (NMDeviceFactory *factory, gpointer user_data)
- {
-@@ -6658,6 +6744,9 @@ nm_manager_start (NMManager *self, GError **error)
- 	nm_clear_g_source (&priv->devices_inited_id);
- 	priv->devices_inited_id = g_idle_add_full (G_PRIORITY_LOW + 10, devices_inited_cb, self, NULL);
- 
-+	/* Trigger ifupdown state file check */
-+	check_ifstate_file (self);
-+
- 	return TRUE;
- }
- 
-@@ -7506,6 +7595,22 @@ nm_manager_init (NMManager *self)
- 		       KERNEL_FIRMWARE_DIR);
- 	}
- 
-+	/* Monitor the ifupdown state file */
-+	file = g_file_new_for_path (IFUPDOWN_STATE_FILE);
-+	priv->ifstate_monitor = g_file_monitor_file (file, G_FILE_MONITOR_NONE, NULL, NULL);
-+	g_object_unref (file);
-+
-+	if (priv->ifstate_monitor) {
-+		g_signal_connect (priv->ifstate_monitor, "changed",
-+		                  G_CALLBACK (ifstate_file_changed),
-+		                  self);
-+		nm_log_info (LOGD_CORE, "monitoring ifupdown state file '%s'.",
-+		             IFUPDOWN_STATE_FILE);
-+	} else {
-+		nm_log_warn (LOGD_CORE, "failed to monitor ifupdown state file '%s'.",
-+		             IFUPDOWN_STATE_FILE);
-+	}
-+
- 	/* Update timestamps in active connections */
- 	priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self);
- 
-@@ -7788,6 +7893,16 @@ dispose (GObject *object)
- 		g_clear_object (&priv->fw_monitor);
- 	}
- 
-+	if (priv->ifstate_monitor) {
-+		g_signal_handlers_disconnect_by_func (priv->ifstate_monitor, ifstate_file_changed, self);
-+
-+		if (priv->ifstate_force_online)
-+			g_source_remove (priv->ifstate_force_online);
-+
-+		g_file_monitor_cancel (priv->ifstate_monitor);
-+		g_clear_object (&priv->ifstate_monitor);
-+	}
-+
- 	if (priv->rfkill_mgr) {
- 		g_signal_handlers_disconnect_by_func (priv->rfkill_mgr, rfkill_manager_rfkill_changed_cb, self);
- 		g_clear_object (&priv->rfkill_mgr);
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 9a20acf2..00000000
--- a/debian/patches/series
+++ /dev/null
@@ -1,2 +0,0 @@
-Force-online-state-with-unmanaged-devices.patch
-Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch