From 28153a7e4791cb68375e359cefb97ae6924f7c5e Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Mon, 23 Apr 2018 18:55:26 +0200 Subject: Rebase patches --- ...n-t-make-NetworkManager-D-Bus-activatable.patch | 9 +- debian/patches/Fix-arping-path.patch | 38 --- ...Force-online-state-with-unmanaged-devices.patch | 44 ++-- ...mpty-NMClient-and-NetworkManager-when-loa.patch | 277 --------------------- debian/patches/series | 2 - 5 files changed, 26 insertions(+), 344 deletions(-) delete mode 100644 debian/patches/Fix-arping-path.patch delete mode 100644 debian/patches/libnm-register-empty-NMClient-and-NetworkManager-when-loa.patch (limited to 'debian/patches') diff --git a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch index 694b05b5..70f702d1 100644 --- a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch +++ b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch @@ -10,10 +10,10 @@ to be autostarted by a client request. 2 files changed, 6 deletions(-) diff --git a/Makefile.am b/Makefile.am -index 639921d..2ddc7bc 100644 +index b575616..6728fbd 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -3689,11 +3689,6 @@ endif +@@ -3794,11 +3794,6 @@ endif data/NetworkManager-dispatcher.service: $(srcdir)/data/NetworkManager-dispatcher.service.in $(AM_V_GEN) $(data_edit) $< >$@ @@ -26,13 +26,14 @@ index 639921d..2ddc7bc 100644 examples_DATA += data/server.conf diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in -index 95d58f9..1502b89 100644 +index 2692935..ff90456 100644 --- a/data/NetworkManager.service.in +++ b/data/NetworkManager.service.in -@@ -24,6 +24,5 @@ ProtectHome=read-only +@@ -24,7 +24,6 @@ ProtectHome=read-only [Install] WantedBy=multi-user.target -Alias=dbus-org.freedesktop.NetworkManager.service Also=NetworkManager-dispatcher.service + # We want to enable NetworkManager-wait-online.service whenever this service diff --git a/debian/patches/Fix-arping-path.patch b/debian/patches/Fix-arping-path.patch deleted file mode 100644 index f56e3d8f..00000000 --- a/debian/patches/Fix-arping-path.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Laurent Bigonville -Date: Mon, 27 Oct 2014 11:08:02 +0100 -Subject: Fix arping path - -Debian provides two arping implementations: -/usr/sbin/arping, shipped by the arping package, -/usr/bin/arping, shipped by the iputils-arping package. - -They aren't completely command line compatible, so we choose the one -which upstream (Fedora) is using, i.e. iputils-arping. - -Closes: #755039 ---- - src/devices/nm-arping-manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/devices/nm-arping-manager.c b/src/devices/nm-arping-manager.c -index 51f80e0..3564acc 100644 ---- a/src/devices/nm-arping-manager.c -+++ b/src/devices/nm-arping-manager.c -@@ -223,7 +223,7 @@ nm_arping_manager_start_probe (NMArpingManager *self, guint timeout, GError **er - - priv->completed = 0; - -- argv[0] = nm_utils_find_helper ("arping", NULL, NULL); -+ argv[0] = nm_utils_find_helper ("arping", "/usr/bin/arping", NULL); - if (!argv[0]) { - g_set_error_literal (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_FAILED, - "arping could not be found"); -@@ -343,7 +343,7 @@ send_announcements (NMArpingManager *self, const char *mode_arg) - return; - } - -- argv[0] = nm_utils_find_helper ("arping", NULL, NULL); -+ argv[0] = nm_utils_find_helper ("arping", "/usr/bin/arping", NULL); - if (!argv[0]) { - _LOGW ("arping could not be found; no ARPs will be sent"); - return; diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index 508afede..b9aced11 100644 --- a/debian/patches/Force-online-state-with-unmanaged-devices.patch +++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch @@ -8,23 +8,23 @@ online state to CONNECTED. Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286 --- - src/nm-manager.c | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 117 insertions(+) + src/nm-manager.c | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 115 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index 8391dbf..e60b6c6 100644 +index 1ccfad8..1e99a4e 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c -@@ -62,6 +62,8 @@ - #include "introspection/org.freedesktop.NetworkManager.h" - #include "introspection/org.freedesktop.NetworkManager.Device.h" +@@ -60,6 +60,8 @@ + #include "nm-dispatcher.h" + #include "NetworkManagerUtils.h" +#define IFUPDOWN_STATE_FILE "/run/network/ifstate" + /*****************************************************************************/ typedef struct { -@@ -169,6 +171,10 @@ typedef struct { +@@ -164,6 +166,10 @@ typedef struct { GFileMonitor *fw_monitor; guint fw_changed_id; @@ -35,24 +35,22 @@ index 8391dbf..e60b6c6 100644 guint timestamp_update_id; guint devices_inited_id; -@@ -1124,6 +1130,29 @@ find_best_device_state (NMManager *manager) +@@ -1206,6 +1212,27 @@ find_best_device_state (NMManager *manager) return best_state; } +static NMState -+find_unmanaged_state (NMManager *manager, NMState current_state) ++find_unmanaged_state (NMManager *self, NMState current_state) +{ -+ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager); ++ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); + NMState new_state = current_state; -+ GSList *iter; -+ -+ for (iter = priv->devices; iter; iter = iter->next) { -+ NMDevice *dev = NM_DEVICE (iter->data); -+ NMDeviceState state = nm_device_get_state (dev); ++ 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 (dev); ++ 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); @@ -65,17 +63,17 @@ index 8391dbf..e60b6c6 100644 static void nm_manager_update_metered (NMManager *self) { -@@ -1162,6 +1191,9 @@ nm_manager_update_state (NMManager *manager) +@@ -1244,6 +1271,9 @@ nm_manager_update_state (NMManager *self) else - new_state = find_best_device_state (manager); + new_state = find_best_device_state (self); + if (new_state != NM_STATE_CONNECTED_GLOBAL) -+ new_state = find_unmanaged_state (manager, new_state); ++ 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; -@@ -5421,6 +5453,62 @@ impl_manager_check_connectivity (NMManager *self, +@@ -5640,6 +5670,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE); } @@ -138,7 +136,7 @@ index 8391dbf..e60b6c6 100644 static void start_factory (NMDeviceFactory *factory, gpointer user_data) { -@@ -5572,6 +5660,9 @@ nm_manager_start (NMManager *self, GError **error) +@@ -5790,6 +5876,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); @@ -148,7 +146,7 @@ index 8391dbf..e60b6c6 100644 return TRUE; } -@@ -6567,6 +6658,22 @@ nm_manager_init (NMManager *self) +@@ -6637,6 +6726,22 @@ nm_manager_init (NMManager *self) KERNEL_FIRMWARE_DIR); } @@ -171,7 +169,7 @@ index 8391dbf..e60b6c6 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self); -@@ -6849,6 +6956,16 @@ dispose (GObject *object) +@@ -6910,6 +7015,16 @@ dispose (GObject *object) g_clear_object (&priv->fw_monitor); } diff --git a/debian/patches/libnm-register-empty-NMClient-and-NetworkManager-when-loa.patch b/debian/patches/libnm-register-empty-NMClient-and-NetworkManager-when-loa.patch deleted file mode 100644 index 7e520d91..00000000 --- a/debian/patches/libnm-register-empty-NMClient-and-NetworkManager-when-loa.patch +++ /dev/null @@ -1,277 +0,0 @@ -From: Lubomir Rintel -Date: Sat, 4 Nov 2017 20:41:45 +0100 -Subject: libnm: register empty NMClient and NetworkManager when loading libnm - with GIR - -Register empty "NMClient" and "NetworkManager" GIR modules as soon as libnm is -loaded witch gnome-introspection. This prevents the real modules from being -loaded because they would in turn load libnm-glib and abort() and crash. - -In particular this prevents the GNOME shell from crashing with -libnm-glib abort and allows gracefully disabling the extensions which -use the obsolete library. - -Test: - - $ cat test.js - const NM = imports.gi.NM; - print (NM.SecretAgentGetSecretsFlags.ALLOW_INTERACTION); - - const NMClient = imports.gi.NMClient; - print (NMClient.SecretAgentGetSecretsFlags.ALLOW_INTERACTION); - -Before: - - $ gjs test.js - 1 - - (gjs:16253): libnm-util-ERROR **: libnm symbols detected; Mixing libnm with libnm-util/libnm-glib is not supported - Trace/breakpoint trap (core dumped) - $ - -After: - - $ gjs test.js - 1 - Gjs-Message: JS WARNING: [test.js 5]: reference to undefined property "SecretAgentGetSecretsFlags" - - (gjs:16228): Gjs-WARNING **: JS ERROR: TypeError: NMClient.SecretAgentGetSecretsFlags is undefined - @test.js:5:1 - - JS_EvaluateScript() failed - -(cherry picked from commit 4d1f090aedf05c0e2955d431638e311d1e18a52f) ---- - Makefile.am | 18 +++++++ - configure.ac | 20 ++++++-- - libnm/fake-typelib/NMClient.gir | 9 ++++ - libnm/fake-typelib/NetworkManager.gir | 10 ++++ - libnm/fake-typelib/typelibs.gresource.xml | 7 +++ - libnm/nm-libnm-utils.c | 82 +++++++++++++++++++++++++++++++ - 6 files changed, 143 insertions(+), 3 deletions(-) - create mode 100644 libnm/fake-typelib/NMClient.gir - create mode 100644 libnm/fake-typelib/NetworkManager.gir - create mode 100644 libnm/fake-typelib/typelibs.gresource.xml - -diff --git a/Makefile.am b/Makefile.am -index 2ddc7bc..a741c6e 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -858,6 +858,7 @@ nodist_libnminclude_HEADERS += \ - noinst_LTLIBRARIES += libnm/libnm-utils.la - - libnm_libnm_utils_la_CPPFLAGS = \ -+ $(INTROSPECTION_CFLAGS) \ - $(libnm_lib_cppflags) - - libnm_libnm_utils_la_SOURCES = \ -@@ -956,6 +957,23 @@ libnm/libnm.typelib: libnm/libnm.gir - $(INTROSPECTION_COMPILER) --includedir=$(srcdir)/libnm-core --includedir=$(builddir)/libnm-core --includedir=$(srcdir)/libnm --includedir=$(builddir)/libnm $< -o $@ - - INTROSPECTION_GIRS += libnm/NM-1.0.gir -+ -+if WITH_FAKE_TYPELIBS -+ -+libnm/fake-typelib/NetworkManager.typelib: libnm/fake-typelib/NetworkManager.gir -+ $(AM_V_GEN) $(INTROSPECTION_COMPILER) $< -o $@ -+ -+libnm/fake-typelib/NMClient.typelib: libnm/fake-typelib/NMClient.gir -+ $(AM_V_GEN) $(INTROSPECTION_COMPILER) $< -o $@ -+ -+libnm/fake-typelib/typelibs.c: libnm/fake-typelib/typelibs.gresource.xml libnm/fake-typelib/NetworkManager.typelib libnm/fake-typelib/NMClient.typelib -+ $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< --target=$@ --sourcedir=$(srcdir)/libnm/fake-typelib --generate-source --manual-register --internal -+ -+libnm_libnm_utils_la_SOURCES += \ -+ libnm/fake-typelib/typelibs.c -+ -+endif -+ - endif - - if HAVE_INTROSPECTION -diff --git a/configure.ac b/configure.ac -index 8a066ad..6f561e2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -322,9 +322,12 @@ GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32 -DGLIB_V - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - -+GOBJECT_INTROSPECTION_CHECK([0.9.6]) -+ - AC_ARG_WITH(libnm-glib, - AS_HELP_STRING([--without-libnm-glib], -- [don't build legacy libraries])) -+ [don"'"t build legacy libraries])) -+fake_typelibs=no - if test "$with_libnm_glib" != "no"; then - PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.1 dbus-glib-1 >= 0.94, :, - [AC_MSG_FAILURE([$DBUS_PKG_ERRORS -@@ -333,13 +336,24 @@ Configure with --without-libnm-glib if you do not need the legacy libraries]) - ]) - - with_libnm_glib=yes -+ -+ if test "${found_introspection}" = "yes"; then -+ AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources) -+ if ! test x"$GLIB_COMPILE_RESOURCES" = x""; then -+ fake_typelibs=yes -+ fi -+ fi - fi - AM_CONDITIONAL(WITH_LEGACY_LIBRARIES, test "$with_libnm_glib" != "no") -+if test "$fake_typelibs" = "yes"; then -+ AC_DEFINE(WITH_FAKE_TYPELIBS, 1, [Define for libnm to prevent GIR from loading libnm-glib]) -+else -+ AC_DEFINE(WITH_FAKE_TYPELIBS, 0, [Define for libnm to prevent GIR from loading libnm-glib]) -+fi -+AM_CONDITIONAL(WITH_FAKE_TYPELIBS, test "${fake_typelibs}" = "yes") - - PKG_CHECK_MODULES([LIBUDEV], [libudev >= 175]) - --GOBJECT_INTROSPECTION_CHECK([0.9.6]) -- - # Qt4 - PKG_CHECK_MODULES(QT, [QtCore >= 4 QtDBus QtNetwork], [have_qt=yes],[have_qt=no]) - AC_ARG_ENABLE(qt, -diff --git a/libnm/fake-typelib/NMClient.gir b/libnm/fake-typelib/NMClient.gir -new file mode 100644 -index 0000000..3002f8d ---- /dev/null -+++ b/libnm/fake-typelib/NMClient.gir -@@ -0,0 +1,9 @@ -+ -+ -+ -+ -+ -diff --git a/libnm/fake-typelib/NetworkManager.gir b/libnm/fake-typelib/NetworkManager.gir -new file mode 100644 -index 0000000..d15d29a ---- /dev/null -+++ b/libnm/fake-typelib/NetworkManager.gir -@@ -0,0 +1,10 @@ -+ -+ -+ -+ -+ -+ -diff --git a/libnm/fake-typelib/typelibs.gresource.xml b/libnm/fake-typelib/typelibs.gresource.xml -new file mode 100644 -index 0000000..9a71d97 ---- /dev/null -+++ b/libnm/fake-typelib/typelibs.gresource.xml -@@ -0,0 +1,7 @@ -+ -+ -+ -+ NetworkManager.typelib -+ NMClient.typelib -+ -+ -diff --git a/libnm/nm-libnm-utils.c b/libnm/nm-libnm-utils.c -index fbbfe2c..a01228d 100644 ---- a/libnm/nm-libnm-utils.c -+++ b/libnm/nm-libnm-utils.c -@@ -23,6 +23,8 @@ - - #include "nm-libnm-utils.h" - -+#include -+ - /*****************************************************************************/ - - char * -@@ -160,3 +162,83 @@ next: - nm_assert (g_utf8_validate (desc_full, -1, NULL)); - return desc_full; - } -+ -+#if WITH_FAKE_TYPELIBS -+ -+/* -+ * Here we register empty "NMClient" and "NetworkManager" GIR modules as soon -+ * as we are loaded (if gnome-introspection is being used). This prevents the -+ * real modules from being loaded because they would in turn load libnm-glib -+ * and abort() and crash. -+ * -+ * For the high level languages that utilize GIR the crash is highly inconvenient -+ * while the inability to resolve any methods and attributes is potentially -+ * recoverable. -+ */ -+ -+GResource *typelibs_get_resource (void); -+void typelibs_register_resource (void); -+ -+static void __attribute__((constructor)) -+_nm_libnm_utils_init (void) -+{ -+ GITypelib *typelib; -+ GBytes *data; -+ const char *namespace; -+ GModule *self; -+ GITypelib *(*_g_typelib_new_from_const_memory) (const guint8 *memory, -+ gsize len, -+ GError **error) = NULL; -+ const char *(*_g_irepository_load_typelib) (GIRepository *repository, -+ GITypelib *typelib, -+ GIRepositoryLoadFlags flags, -+ GError **error) = NULL; -+ const char *names[] = { "/org/freedesktop/libnm/fake-typelib/NetworkManager.typelib", -+ "/org/freedesktop/libnm/fake-typelib/NMClient.typelib" }; -+ int i; -+ -+ self = g_module_open (NULL, 0); -+ if (!self) -+ return; -+ g_module_symbol (self, "g_typelib_new_from_const_memory", -+ (gpointer *) &_g_typelib_new_from_const_memory); -+ if (_g_typelib_new_from_const_memory) { -+ g_module_symbol (self, "g_irepository_load_typelib", -+ (gpointer *) &_g_irepository_load_typelib); -+ } -+ g_module_close (self); -+ -+ if (!_g_typelib_new_from_const_memory || !_g_irepository_load_typelib) -+ return; -+ -+ typelibs_register_resource (); -+ -+ for (i = 0; i < 2; i++) { -+ gs_free_error GError *error = NULL; -+ -+ data = g_resource_lookup_data (typelibs_get_resource (), -+ names[i], -+ G_RESOURCE_LOOKUP_FLAGS_NONE, -+ &error); -+ if (!data) { -+ g_warning ("Fake typelib %s could not be loaded: %s", names[i], error->message); -+ return; -+ } -+ -+ typelib = _g_typelib_new_from_const_memory (g_bytes_get_data (data, NULL), -+ g_bytes_get_size (data), -+ &error); -+ if (!typelib) { -+ g_warning ("Could not create fake typelib instance %s: %s", names[i], error->message); -+ return; -+ } -+ -+ namespace = _g_irepository_load_typelib (NULL, typelib, 0, &error); -+ if (!namespace) { -+ g_warning ("Could not load fake typelib %s: %s", names[i], error->message); -+ return; -+ } -+ } -+} -+ -+#endif /* WITH_FAKE_TYPELIBS */ diff --git a/debian/patches/series b/debian/patches/series index e44814db..0adf0cf1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,6 +1,4 @@ Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch -Fix-arping-path.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch -libnm-register-empty-NMClient-and-NetworkManager-when-loa.patch -- cgit 1.3.0-6-gf8a5 From 3ecde9158d752ee2f72585e34e64864b86f0f31a Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Mon, 11 Jun 2018 03:06:18 +0200 Subject: Rebase patches --- .../Don-t-make-NetworkManager-D-Bus-activatable.patch | 4 ++-- ...etup-Sleep-Monitor-if-not-booted-with-systemd.patch | 4 ++-- debian/patches/Fix-iscsiadm-path.patch | 2 +- .../Force-online-state-with-unmanaged-devices.patch | 18 +++++++++--------- 4 files changed, 14 insertions(+), 14 deletions(-) (limited to 'debian/patches') diff --git a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch index 70f702d1..85d59320 100644 --- a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch +++ b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch @@ -10,10 +10,10 @@ to be autostarted by a client request. 2 files changed, 6 deletions(-) diff --git a/Makefile.am b/Makefile.am -index b575616..6728fbd 100644 +index 79b0462..aa8971e 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -3794,11 +3794,6 @@ endif +@@ -3877,11 +3877,6 @@ endif data/NetworkManager-dispatcher.service: $(srcdir)/data/NetworkManager-dispatcher.service.in $(AM_V_GEN) $(data_edit) $< >$@ 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 index eb6fbd17..e2516d62 100644 --- 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 @@ -16,7 +16,7 @@ Closes: #742933 1 file changed, 5 insertions(+) diff --git a/src/nm-sleep-monitor.c b/src/nm-sleep-monitor.c -index 7a37387..867e0d8 100644 +index a7e3a7c..9931f12 100644 --- a/src/nm-sleep-monitor.c +++ b/src/nm-sleep-monitor.c @@ -25,6 +25,7 @@ @@ -27,7 +27,7 @@ index 7a37387..867e0d8 100644 #include "nm-core-internal.h" #include "NetworkManagerUtils.h" -@@ -345,6 +346,10 @@ on_proxy_acquired (GObject *object, +@@ -344,6 +345,10 @@ on_proxy_acquired (GObject *object, static void nm_sleep_monitor_init (NMSleepMonitor *self) { diff --git a/debian/patches/Fix-iscsiadm-path.patch b/debian/patches/Fix-iscsiadm-path.patch index c6ca5f72..7af98133 100644 --- a/debian/patches/Fix-iscsiadm-path.patch +++ b/debian/patches/Fix-iscsiadm-path.patch @@ -12,7 +12,7 @@ binary as /sbin/iscsiadm (and /usr/bin/iscsiadm is a compat symlink). 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/settings/plugins/ibft/nms-ibft-plugin.c b/src/settings/plugins/ibft/nms-ibft-plugin.c -index ea4d152..09a4579 100644 +index 77ce208..f84276d 100644 --- a/src/settings/plugins/ibft/nms-ibft-plugin.c +++ b/src/settings/plugins/ibft/nms-ibft-plugin.c @@ -74,7 +74,7 @@ read_connections (NMSIbftPlugin *self) diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index b9aced11..743aa63c 100644 --- a/debian/patches/Force-online-state-with-unmanaged-devices.patch +++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch @@ -12,10 +12,10 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286 1 file changed, 115 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index 1ccfad8..1e99a4e 100644 +index 9f0891a..6b299d2 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c -@@ -60,6 +60,8 @@ +@@ -62,6 +62,8 @@ #include "nm-dispatcher.h" #include "NetworkManagerUtils.h" @@ -24,7 +24,7 @@ index 1ccfad8..1e99a4e 100644 /*****************************************************************************/ typedef struct { -@@ -164,6 +166,10 @@ typedef struct { +@@ -192,6 +194,10 @@ typedef struct { GFileMonitor *fw_monitor; guint fw_changed_id; @@ -35,7 +35,7 @@ index 1ccfad8..1e99a4e 100644 guint timestamp_update_id; guint devices_inited_id; -@@ -1206,6 +1212,27 @@ find_best_device_state (NMManager *manager) +@@ -1385,6 +1391,27 @@ find_best_device_state (NMManager *manager) return best_state; } @@ -63,7 +63,7 @@ index 1ccfad8..1e99a4e 100644 static void nm_manager_update_metered (NMManager *self) { -@@ -1244,6 +1271,9 @@ nm_manager_update_state (NMManager *self) +@@ -1423,6 +1450,9 @@ nm_manager_update_state (NMManager *self) else new_state = find_best_device_state (self); @@ -73,7 +73,7 @@ index 1ccfad8..1e99a4e 100644 if ( new_state >= NM_STATE_CONNECTED_LOCAL && priv->connectivity_state == NM_CONNECTIVITY_FULL) { new_state = NM_STATE_CONNECTED_GLOBAL; -@@ -5640,6 +5670,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, +@@ -5875,6 +5905,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE); } @@ -136,7 +136,7 @@ index 1ccfad8..1e99a4e 100644 static void start_factory (NMDeviceFactory *factory, gpointer user_data) { -@@ -5790,6 +5876,9 @@ nm_manager_start (NMManager *self, GError **error) +@@ -6025,6 +6111,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); @@ -146,7 +146,7 @@ index 1ccfad8..1e99a4e 100644 return TRUE; } -@@ -6637,6 +6726,22 @@ nm_manager_init (NMManager *self) +@@ -6888,6 +6977,22 @@ nm_manager_init (NMManager *self) KERNEL_FIRMWARE_DIR); } @@ -169,7 +169,7 @@ index 1ccfad8..1e99a4e 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self); -@@ -6910,6 +7015,16 @@ dispose (GObject *object) +@@ -7163,6 +7268,16 @@ dispose (GObject *object) g_clear_object (&priv->fw_monitor); } -- cgit 1.3.0-6-gf8a5 From 88e03769fc951137af1f5b9ce3f83d3037e6b458 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Sun, 17 Jun 2018 14:58:22 +0200 Subject: Rebase patches --- .../patches/Don-t-make-NetworkManager-D-Bus-activatable.patch | 4 ++-- debian/patches/Force-online-state-with-unmanaged-devices.patch | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'debian/patches') diff --git a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch index 85d59320..9a7719d7 100644 --- a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch +++ b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch @@ -10,10 +10,10 @@ to be autostarted by a client request. 2 files changed, 6 deletions(-) diff --git a/Makefile.am b/Makefile.am -index 79b0462..aa8971e 100644 +index 7eef51d..201ef1c 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -3877,11 +3877,6 @@ endif +@@ -3884,11 +3884,6 @@ endif data/NetworkManager-dispatcher.service: $(srcdir)/data/NetworkManager-dispatcher.service.in $(AM_V_GEN) $(data_edit) $< >$@ diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index 743aa63c..2e31693f 100644 --- a/debian/patches/Force-online-state-with-unmanaged-devices.patch +++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch @@ -12,7 +12,7 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286 1 file changed, 115 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index 9f0891a..6b299d2 100644 +index c6d82c9..ced37b6 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -62,6 +62,8 @@ @@ -73,7 +73,7 @@ index 9f0891a..6b299d2 100644 if ( new_state >= NM_STATE_CONNECTED_LOCAL && priv->connectivity_state == NM_CONNECTIVITY_FULL) { new_state = NM_STATE_CONNECTED_GLOBAL; -@@ -5875,6 +5905,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, +@@ -5884,6 +5914,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE); } @@ -136,7 +136,7 @@ index 9f0891a..6b299d2 100644 static void start_factory (NMDeviceFactory *factory, gpointer user_data) { -@@ -6025,6 +6111,9 @@ nm_manager_start (NMManager *self, GError **error) +@@ -6034,6 +6120,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); @@ -146,7 +146,7 @@ index 9f0891a..6b299d2 100644 return TRUE; } -@@ -6888,6 +6977,22 @@ nm_manager_init (NMManager *self) +@@ -6897,6 +6986,22 @@ nm_manager_init (NMManager *self) KERNEL_FIRMWARE_DIR); } @@ -169,7 +169,7 @@ index 9f0891a..6b299d2 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self); -@@ -7163,6 +7268,16 @@ dispose (GObject *object) +@@ -7172,6 +7277,16 @@ dispose (GObject *object) g_clear_object (&priv->fw_monitor); } -- cgit 1.3.0-6-gf8a5 From 7bab189c606c38c45a13c0d8654b8584a47f13e5 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Mon, 18 Jun 2018 14:13:15 +0200 Subject: Cherry-pick upstream fixes to make test suite pass on slower buildds --- debian/patches/series | 3 + ...-test-networkmanager-service.py-after-20-.patch | 34 +++++ ...n-setting-signal-strength-for-Wi-Fi-AP-in.patch | 82 ++++++++++++ ...tworkManager-stub-service-for-Wi-Fi-scann.patch | 141 +++++++++++++++++++++ 4 files changed, 260 insertions(+) create mode 100644 debian/patches/tests-don-t-exit-test-networkmanager-service.py-after-20-.patch create mode 100644 debian/patches/tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch create mode 100644 debian/patches/tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch (limited to 'debian/patches') diff --git a/debian/patches/series b/debian/patches/series index 0adf0cf1..9cb72fc3 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,3 +2,6 @@ Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch +tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch +tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch +tests-don-t-exit-test-networkmanager-service.py-after-20-.patch diff --git a/debian/patches/tests-don-t-exit-test-networkmanager-service.py-after-20-.patch b/debian/patches/tests-don-t-exit-test-networkmanager-service.py-after-20-.patch new file mode 100644 index 00000000..7df8a630 --- /dev/null +++ b/debian/patches/tests-don-t-exit-test-networkmanager-service.py-after-20-.patch @@ -0,0 +1,34 @@ +From: Thomas Haller +Date: Mon, 18 Jun 2018 11:24:00 +0200 +Subject: tests: don't exit test-networkmanager-service.py after 20 seconds + +Tests might just take longer than 20 seconds. + +Also, we already watch stdin to determine whether the service +should exit. + +(cherry picked from commit 4e18ef49bf2527b4c29a0bdff2faddf0194dd5bd) +(cherry picked from commit 296da44235815ff32202f2afe9c990e94e4824ea) +--- + tools/test-networkmanager-service.py | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py +index f6da6e1..7fbed7e 100755 +--- a/tools/test-networkmanager-service.py ++++ b/tools/test-networkmanager-service.py +@@ -2252,14 +2252,9 @@ def main(): + id1 = GLib.IOChannel(0).add_watch(GLib.IOCondition.HUP, + lambda io, condition: gl.mainloop.quit() or True) + +- # also quit after inactivity to ensure we don't stick around if the above fails somehow +- id2 = GLib.timeout_add_seconds(20, +- lambda: gl.mainloop.quit() or True) +- + gl.mainloop.run() + + GLib.source_remove(id1) +- GLib.source_remove(id2) + + gl.agent_manager.remove_from_connection() + gl.dns_manager.unexport() diff --git a/debian/patches/tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch b/debian/patches/tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch new file mode 100644 index 00000000..ed61494e --- /dev/null +++ b/debian/patches/tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch @@ -0,0 +1,82 @@ +From: Thomas Haller +Date: Mon, 18 Jun 2018 10:49:46 +0200 +Subject: tests: fix race in setting signal strength for Wi-Fi AP in NM stub + +This opens the tests up to races. If we want to change the strength, we +need to do it in a controlled, race-free manner. This is especially the +case, because clients/tests run a large number of nmcli instances in +parallel, and it's thus racy which signal the nmcli processes will +see. + +This also fixes a bug at + + self._dbus_property_set(IFACE_WIFI_AP, PRP_WIFI_AP_STRENGTH, strength) + +@strength must be a D-Bus type, so that python-dbus knows the correct +type for serialization. + +(cherry picked from commit 7e118c00916aa7dd3f04752debbcc09569d6effe) +(cherry picked from commit e05ce581b619a2fa3584b374aa7c3dad909c3a8a) +--- + tools/test-networkmanager-service.py | 26 ++------------------------ + 1 file changed, 2 insertions(+), 24 deletions(-) + +diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py +index ab63b60..c55955d 100755 +--- a/tools/test-networkmanager-service.py ++++ b/tools/test-networkmanager-service.py +@@ -864,8 +864,6 @@ class WifiAp(ExportedObj): + strength = Util.random_int(self.path, 100) + + self.ssid = ssid +- self.strength_counter = 0 +- self.strength_id = GLib.timeout_add_seconds(10, self.strength_cb, None) + + props = { + PRP_WIFI_AP_FLAGS: dbus.UInt32(flags), +@@ -881,17 +879,6 @@ class WifiAp(ExportedObj): + + self.dbus_interface_add(IFACE_WIFI_AP, props, WifiAp.PropertiesChanged) + +- def __del__(self): +- if self.strength_id > 0: +- GLib.source_remove(self.strength_id) +- self.strength_id = 0 +- +- def strength_cb(self, ignored): +- self.strength_counter += 1 +- strength = Util.random_int(self.path + str(self.strength_counter), 100) +- self._dbus_property_set(IFACE_WIFI_AP, PRP_WIFI_AP_STRENGTH, strength) +- return True +- + @dbus.service.signal(IFACE_WIFI_AP, signature='a{sv}') + def PropertiesChanged(self, changed): + pass +@@ -991,25 +978,16 @@ class WimaxNsp(ExportedObj): + + ExportedObj.__init__(self, ExportedObj.create_path(WimaxNsp)) + +- self.strength_id = GLib.timeout_add_seconds(10, self.strength_cb, None) ++ strength = Util.random_int(self.path, 100) + + props = { + PRP_WIMAX_NSP_NAME: name, +- PRP_WIMAX_NSP_SIGNAL_QUALITY: dbus.UInt32(random.randint(0, 100)), ++ PRP_WIMAX_NSP_SIGNAL_QUALITY: dbus.UInt32(strength), + PRP_WIMAX_NSP_NETWORK_TYPE: dbus.UInt32(NM.WimaxNspNetworkType.HOME), + } + + self.dbus_interface_add(IFACE_WIMAX_NSP, props, WimaxNsp.PropertiesChanged) + +- def __del__(self): +- if self.strength_id > 0: +- GLib.source_remove(self.strength_id) +- self.strength_id = 0 +- +- def strength_cb(self, ignored): +- self._dbus_property_set(IFACE_WIMAX_NSP, PRP_WIMAX_NSP_SIGNAL_QUALITY, dbus.UInt32(random.randint(0, 100))) +- return True +- + @dbus.service.signal(IFACE_WIMAX_NSP, signature='a{sv}') + def PropertiesChanged(self, changed): + pass diff --git a/debian/patches/tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch b/debian/patches/tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch new file mode 100644 index 00000000..09f3cdf7 --- /dev/null +++ b/debian/patches/tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch @@ -0,0 +1,141 @@ +From: Thomas Haller +Date: Sat, 16 Jun 2018 13:38:45 +0200 +Subject: tests: improve NetworkManager stub service for Wi-Fi scanning + +Now that nmcli initiates a scan before displaying Wi-Fi networks, +the stub service must properly support that as well. + +For the moment, the stub service chooses "now" as LastScan timestamp. +This causes nmcli not to trigger a new scan, because nmcli gives +unstable output if multiple nmcli processes in parallel race to +trigger a Wi-Fi scan. That should be fixed. + +(cherry picked from commit 56a0488bbae38f8d802b1cc32ba94c1640f70bc6) +(cherry picked from commit efddb0cef5187f4f77d0c6b94f75063ad8f9d6a2) +--- + clients/cli/devices.c | 11 ++++++++++ + tools/test-networkmanager-service.py | 40 ++++++++++++++++++++++++++++++------ + 2 files changed, 45 insertions(+), 6 deletions(-) + +diff --git a/clients/cli/devices.c b/clients/cli/devices.c +index 58102ed..aa28678 100644 +--- a/clients/cli/devices.c ++++ b/clients/cli/devices.c +@@ -2772,6 +2772,17 @@ wifi_list_aps (NMDeviceWifi *wifi, + + needs_rescan = rescan_cutoff < 0 || (rescan_cutoff > 0 && nm_device_wifi_get_last_scan (wifi) < rescan_cutoff); + ++ /* FIXME: nmcli should either ++ * - don't request any new scan for any device and print the full AP list right ++ * away. ++ * - or, when requesting a scan on one or more devices, don't print the result ++ * before all requests complete. ++ * ++ * Otherwise: ++ * - the printed output is not self consistent. E.g. it will print the result ++ * on one device at a certain time, while printing the result for another ++ * device at a later point in time. ++ * - the order in which we print the AP list per-device, is unstable. */ + if (needs_rescan) { + data = g_slice_new0 (WifiListData); + data->nmc = nmc; +diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py +index c55955d..f6da6e1 100755 +--- a/tools/test-networkmanager-service.py ++++ b/tools/test-networkmanager-service.py +@@ -49,6 +49,11 @@ class Util: + + PY3 = (sys.version_info[0] == 3) + ++ @staticmethod ++ def g_source_remove(source_id): ++ if source_id is not None: ++ GLib.source_remove(source_id) ++ + @staticmethod + def addr_family_check(family, allow_af_unspec = False): + if family == socket.AF_INET: +@@ -840,6 +845,7 @@ PRP_WIFI_AP_HW_ADDRESS = "HwAddress" + PRP_WIFI_AP_MODE = "Mode" + PRP_WIFI_AP_MAX_BITRATE = "MaxBitrate" + PRP_WIFI_AP_STRENGTH = "Strength" ++PRP_WIFI_AP_LAST_SEEN = "LastSeen" + + class WifiAp(ExportedObj): + +@@ -875,6 +881,7 @@ class WifiAp(ExportedObj): + PRP_WIFI_AP_MODE: dbus.UInt32(getattr(NM,'80211Mode').INFRA), + PRP_WIFI_AP_MAX_BITRATE: dbus.UInt32(54000), + PRP_WIFI_AP_STRENGTH: dbus.Byte(strength), ++ PRP_WIFI_AP_LAST_SEEN: dbus.Int32(NM.utils_get_timestamp_msec() / 1000), + } + + self.dbus_interface_add(IFACE_WIFI_AP, props, WifiAp.PropertiesChanged) +@@ -902,6 +909,18 @@ class WifiDevice(Device): + mac = Util.random_mac(self.ident) + + self.aps = [] ++ self.scan_cb_id = None ++ ++ # Note: we would like to simulate how nmcli calls RequestScan() and we could ++ # do so by using an older timestamp. However, that makes the client tests ++ # racy, because if a bunch of nmcli instances run in parallel against this ++ # service, earlier instances will issue a RequestScan(), while later instances ++ # won't do that (because the LastScan timestamp is already updated). That means, ++ # the later instances will print the scan result immediately, and in another sort ++ # order. That should be fixed, by nmcli not starting to print anything, before ++ # all RequestScan() requests complete, and thus, always print a consistent list ++ # of results. ++ ts = NM.utils_get_timestamp_msec() + + props = { + PRP_WIFI_HW_ADDRESS: mac, +@@ -911,7 +930,7 @@ class WifiDevice(Device): + PRP_WIFI_WIRELESS_CAPABILITIES: dbus.UInt32(0xFF), + PRP_WIFI_ACCESS_POINTS: ExportedObj.to_path_array(self.aps), + PRP_WIFI_ACTIVE_ACCESS_POINT: ExportedObj.to_path(None), +- PRP_WIFI_LAST_SCAN: NM.utils_get_timestamp_msec(), ++ PRP_WIFI_LAST_SCAN: dbus.Int64(ts), + } + + self.dbus_interface_add(IFACE_WIFI, props, WifiDevice.PropertiesChanged) +@@ -928,6 +947,15 @@ class WifiDevice(Device): + + @dbus.service.method(dbus_interface=IFACE_WIFI, in_signature='a{sv}', out_signature='') + def RequestScan(self, props): ++ self.scan_cb_id = Util.g_source_remove(self.scan_cb_id) ++ def cb(): ++ ts = NM.utils_get_timestamp_msec() ++ for ap in self.aps: ++ ap._dbus_property_set(IFACE_WIFI_AP, PRP_WIFI_AP_LAST_SEEN, dbus.Int32(ts / 1000)) ++ self._dbus_property_set(IFACE_WIFI, PRP_WIFI_LAST_SCAN, dbus.Int64(ts)) ++ self.scan_cb_id = None ++ return False ++ self.scan_cb_id = GLib.idle_add(cb) + pass + + @dbus.service.signal(IFACE_WIFI, signature='o') +@@ -947,6 +975,10 @@ class WifiDevice(Device): + self.AccessPointRemoved(ExportedObj.to_path(ap)) + ap.unexport() + ++ def stop(self): ++ self.scan_cb_id = Util.g_source_remove(self.scan_cb_id) ++ super(WifiDevice, self).stop() ++ + @dbus.service.signal(IFACE_WIFI, signature='o') + def AccessPointRemoved(self, ap_path): + pass +@@ -1138,11 +1170,7 @@ class ActiveConnection(ExportedObj): + self.StateChanged(state, dbus.UInt32(reason)) + + def activation_cancel(self): +- if self._activation_id is None: +- return False +- GLib.source_remove(self._activation_id) +- self._activation_id = None +- return True ++ self._activation_id = Util.g_source_remove(self._activation_id) + + def _activation_step2(self): + assert self._activation_id is not None -- cgit 1.3.0-6-gf8a5 From e08bc09a596b7287ca393011644f6f2d8f15bb44 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Sun, 1 Jul 2018 21:00:06 +0200 Subject: Rebase patches --- ...n-t-make-NetworkManager-D-Bus-activatable.patch | 4 +- ...Force-online-state-with-unmanaged-devices.patch | 14 +- debian/patches/series | 3 - ...-test-networkmanager-service.py-after-20-.patch | 34 ----- ...n-setting-signal-strength-for-Wi-Fi-AP-in.patch | 82 ------------ ...tworkManager-stub-service-for-Wi-Fi-scann.patch | 141 --------------------- 6 files changed, 9 insertions(+), 269 deletions(-) delete mode 100644 debian/patches/tests-don-t-exit-test-networkmanager-service.py-after-20-.patch delete mode 100644 debian/patches/tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch delete mode 100644 debian/patches/tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch (limited to 'debian/patches') diff --git a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch index 9a7719d7..b2912d8d 100644 --- a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch +++ b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch @@ -10,10 +10,10 @@ to be autostarted by a client request. 2 files changed, 6 deletions(-) diff --git a/Makefile.am b/Makefile.am -index 7eef51d..201ef1c 100644 +index cdb5cfc..2c6db0f 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -3884,11 +3884,6 @@ endif +@@ -3889,11 +3889,6 @@ endif data/NetworkManager-dispatcher.service: $(srcdir)/data/NetworkManager-dispatcher.service.in $(AM_V_GEN) $(data_edit) $< >$@ diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index 2e31693f..bfdb652d 100644 --- a/debian/patches/Force-online-state-with-unmanaged-devices.patch +++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch @@ -12,7 +12,7 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286 1 file changed, 115 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index c6d82c9..ced37b6 100644 +index 0fea13d..150d7de 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -62,6 +62,8 @@ @@ -35,7 +35,7 @@ index c6d82c9..ced37b6 100644 guint timestamp_update_id; guint devices_inited_id; -@@ -1385,6 +1391,27 @@ find_best_device_state (NMManager *manager) +@@ -1387,6 +1393,27 @@ find_best_device_state (NMManager *manager) return best_state; } @@ -63,7 +63,7 @@ index c6d82c9..ced37b6 100644 static void nm_manager_update_metered (NMManager *self) { -@@ -1423,6 +1450,9 @@ nm_manager_update_state (NMManager *self) +@@ -1425,6 +1452,9 @@ nm_manager_update_state (NMManager *self) else new_state = find_best_device_state (self); @@ -73,7 +73,7 @@ index c6d82c9..ced37b6 100644 if ( new_state >= NM_STATE_CONNECTED_LOCAL && priv->connectivity_state == NM_CONNECTIVITY_FULL) { new_state = NM_STATE_CONNECTED_GLOBAL; -@@ -5884,6 +5914,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, +@@ -5886,6 +5916,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE); } @@ -136,7 +136,7 @@ index c6d82c9..ced37b6 100644 static void start_factory (NMDeviceFactory *factory, gpointer user_data) { -@@ -6034,6 +6120,9 @@ nm_manager_start (NMManager *self, GError **error) +@@ -6036,6 +6122,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); @@ -146,7 +146,7 @@ index c6d82c9..ced37b6 100644 return TRUE; } -@@ -6897,6 +6986,22 @@ nm_manager_init (NMManager *self) +@@ -6899,6 +6988,22 @@ nm_manager_init (NMManager *self) KERNEL_FIRMWARE_DIR); } @@ -169,7 +169,7 @@ index c6d82c9..ced37b6 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self); -@@ -7172,6 +7277,16 @@ dispose (GObject *object) +@@ -7174,6 +7279,16 @@ dispose (GObject *object) g_clear_object (&priv->fw_monitor); } diff --git a/debian/patches/series b/debian/patches/series index 9cb72fc3..0adf0cf1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,6 +2,3 @@ Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch -tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch -tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch -tests-don-t-exit-test-networkmanager-service.py-after-20-.patch diff --git a/debian/patches/tests-don-t-exit-test-networkmanager-service.py-after-20-.patch b/debian/patches/tests-don-t-exit-test-networkmanager-service.py-after-20-.patch deleted file mode 100644 index 7df8a630..00000000 --- a/debian/patches/tests-don-t-exit-test-networkmanager-service.py-after-20-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Thomas Haller -Date: Mon, 18 Jun 2018 11:24:00 +0200 -Subject: tests: don't exit test-networkmanager-service.py after 20 seconds - -Tests might just take longer than 20 seconds. - -Also, we already watch stdin to determine whether the service -should exit. - -(cherry picked from commit 4e18ef49bf2527b4c29a0bdff2faddf0194dd5bd) -(cherry picked from commit 296da44235815ff32202f2afe9c990e94e4824ea) ---- - tools/test-networkmanager-service.py | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py -index f6da6e1..7fbed7e 100755 ---- a/tools/test-networkmanager-service.py -+++ b/tools/test-networkmanager-service.py -@@ -2252,14 +2252,9 @@ def main(): - id1 = GLib.IOChannel(0).add_watch(GLib.IOCondition.HUP, - lambda io, condition: gl.mainloop.quit() or True) - -- # also quit after inactivity to ensure we don't stick around if the above fails somehow -- id2 = GLib.timeout_add_seconds(20, -- lambda: gl.mainloop.quit() or True) -- - gl.mainloop.run() - - GLib.source_remove(id1) -- GLib.source_remove(id2) - - gl.agent_manager.remove_from_connection() - gl.dns_manager.unexport() diff --git a/debian/patches/tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch b/debian/patches/tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch deleted file mode 100644 index ed61494e..00000000 --- a/debian/patches/tests-fix-race-in-setting-signal-strength-for-Wi-Fi-AP-in.patch +++ /dev/null @@ -1,82 +0,0 @@ -From: Thomas Haller -Date: Mon, 18 Jun 2018 10:49:46 +0200 -Subject: tests: fix race in setting signal strength for Wi-Fi AP in NM stub - -This opens the tests up to races. If we want to change the strength, we -need to do it in a controlled, race-free manner. This is especially the -case, because clients/tests run a large number of nmcli instances in -parallel, and it's thus racy which signal the nmcli processes will -see. - -This also fixes a bug at - - self._dbus_property_set(IFACE_WIFI_AP, PRP_WIFI_AP_STRENGTH, strength) - -@strength must be a D-Bus type, so that python-dbus knows the correct -type for serialization. - -(cherry picked from commit 7e118c00916aa7dd3f04752debbcc09569d6effe) -(cherry picked from commit e05ce581b619a2fa3584b374aa7c3dad909c3a8a) ---- - tools/test-networkmanager-service.py | 26 ++------------------------ - 1 file changed, 2 insertions(+), 24 deletions(-) - -diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py -index ab63b60..c55955d 100755 ---- a/tools/test-networkmanager-service.py -+++ b/tools/test-networkmanager-service.py -@@ -864,8 +864,6 @@ class WifiAp(ExportedObj): - strength = Util.random_int(self.path, 100) - - self.ssid = ssid -- self.strength_counter = 0 -- self.strength_id = GLib.timeout_add_seconds(10, self.strength_cb, None) - - props = { - PRP_WIFI_AP_FLAGS: dbus.UInt32(flags), -@@ -881,17 +879,6 @@ class WifiAp(ExportedObj): - - self.dbus_interface_add(IFACE_WIFI_AP, props, WifiAp.PropertiesChanged) - -- def __del__(self): -- if self.strength_id > 0: -- GLib.source_remove(self.strength_id) -- self.strength_id = 0 -- -- def strength_cb(self, ignored): -- self.strength_counter += 1 -- strength = Util.random_int(self.path + str(self.strength_counter), 100) -- self._dbus_property_set(IFACE_WIFI_AP, PRP_WIFI_AP_STRENGTH, strength) -- return True -- - @dbus.service.signal(IFACE_WIFI_AP, signature='a{sv}') - def PropertiesChanged(self, changed): - pass -@@ -991,25 +978,16 @@ class WimaxNsp(ExportedObj): - - ExportedObj.__init__(self, ExportedObj.create_path(WimaxNsp)) - -- self.strength_id = GLib.timeout_add_seconds(10, self.strength_cb, None) -+ strength = Util.random_int(self.path, 100) - - props = { - PRP_WIMAX_NSP_NAME: name, -- PRP_WIMAX_NSP_SIGNAL_QUALITY: dbus.UInt32(random.randint(0, 100)), -+ PRP_WIMAX_NSP_SIGNAL_QUALITY: dbus.UInt32(strength), - PRP_WIMAX_NSP_NETWORK_TYPE: dbus.UInt32(NM.WimaxNspNetworkType.HOME), - } - - self.dbus_interface_add(IFACE_WIMAX_NSP, props, WimaxNsp.PropertiesChanged) - -- def __del__(self): -- if self.strength_id > 0: -- GLib.source_remove(self.strength_id) -- self.strength_id = 0 -- -- def strength_cb(self, ignored): -- self._dbus_property_set(IFACE_WIMAX_NSP, PRP_WIMAX_NSP_SIGNAL_QUALITY, dbus.UInt32(random.randint(0, 100))) -- return True -- - @dbus.service.signal(IFACE_WIMAX_NSP, signature='a{sv}') - def PropertiesChanged(self, changed): - pass diff --git a/debian/patches/tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch b/debian/patches/tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch deleted file mode 100644 index 09f3cdf7..00000000 --- a/debian/patches/tests-improve-NetworkManager-stub-service-for-Wi-Fi-scann.patch +++ /dev/null @@ -1,141 +0,0 @@ -From: Thomas Haller -Date: Sat, 16 Jun 2018 13:38:45 +0200 -Subject: tests: improve NetworkManager stub service for Wi-Fi scanning - -Now that nmcli initiates a scan before displaying Wi-Fi networks, -the stub service must properly support that as well. - -For the moment, the stub service chooses "now" as LastScan timestamp. -This causes nmcli not to trigger a new scan, because nmcli gives -unstable output if multiple nmcli processes in parallel race to -trigger a Wi-Fi scan. That should be fixed. - -(cherry picked from commit 56a0488bbae38f8d802b1cc32ba94c1640f70bc6) -(cherry picked from commit efddb0cef5187f4f77d0c6b94f75063ad8f9d6a2) ---- - clients/cli/devices.c | 11 ++++++++++ - tools/test-networkmanager-service.py | 40 ++++++++++++++++++++++++++++++------ - 2 files changed, 45 insertions(+), 6 deletions(-) - -diff --git a/clients/cli/devices.c b/clients/cli/devices.c -index 58102ed..aa28678 100644 ---- a/clients/cli/devices.c -+++ b/clients/cli/devices.c -@@ -2772,6 +2772,17 @@ wifi_list_aps (NMDeviceWifi *wifi, - - needs_rescan = rescan_cutoff < 0 || (rescan_cutoff > 0 && nm_device_wifi_get_last_scan (wifi) < rescan_cutoff); - -+ /* FIXME: nmcli should either -+ * - don't request any new scan for any device and print the full AP list right -+ * away. -+ * - or, when requesting a scan on one or more devices, don't print the result -+ * before all requests complete. -+ * -+ * Otherwise: -+ * - the printed output is not self consistent. E.g. it will print the result -+ * on one device at a certain time, while printing the result for another -+ * device at a later point in time. -+ * - the order in which we print the AP list per-device, is unstable. */ - if (needs_rescan) { - data = g_slice_new0 (WifiListData); - data->nmc = nmc; -diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py -index c55955d..f6da6e1 100755 ---- a/tools/test-networkmanager-service.py -+++ b/tools/test-networkmanager-service.py -@@ -49,6 +49,11 @@ class Util: - - PY3 = (sys.version_info[0] == 3) - -+ @staticmethod -+ def g_source_remove(source_id): -+ if source_id is not None: -+ GLib.source_remove(source_id) -+ - @staticmethod - def addr_family_check(family, allow_af_unspec = False): - if family == socket.AF_INET: -@@ -840,6 +845,7 @@ PRP_WIFI_AP_HW_ADDRESS = "HwAddress" - PRP_WIFI_AP_MODE = "Mode" - PRP_WIFI_AP_MAX_BITRATE = "MaxBitrate" - PRP_WIFI_AP_STRENGTH = "Strength" -+PRP_WIFI_AP_LAST_SEEN = "LastSeen" - - class WifiAp(ExportedObj): - -@@ -875,6 +881,7 @@ class WifiAp(ExportedObj): - PRP_WIFI_AP_MODE: dbus.UInt32(getattr(NM,'80211Mode').INFRA), - PRP_WIFI_AP_MAX_BITRATE: dbus.UInt32(54000), - PRP_WIFI_AP_STRENGTH: dbus.Byte(strength), -+ PRP_WIFI_AP_LAST_SEEN: dbus.Int32(NM.utils_get_timestamp_msec() / 1000), - } - - self.dbus_interface_add(IFACE_WIFI_AP, props, WifiAp.PropertiesChanged) -@@ -902,6 +909,18 @@ class WifiDevice(Device): - mac = Util.random_mac(self.ident) - - self.aps = [] -+ self.scan_cb_id = None -+ -+ # Note: we would like to simulate how nmcli calls RequestScan() and we could -+ # do so by using an older timestamp. However, that makes the client tests -+ # racy, because if a bunch of nmcli instances run in parallel against this -+ # service, earlier instances will issue a RequestScan(), while later instances -+ # won't do that (because the LastScan timestamp is already updated). That means, -+ # the later instances will print the scan result immediately, and in another sort -+ # order. That should be fixed, by nmcli not starting to print anything, before -+ # all RequestScan() requests complete, and thus, always print a consistent list -+ # of results. -+ ts = NM.utils_get_timestamp_msec() - - props = { - PRP_WIFI_HW_ADDRESS: mac, -@@ -911,7 +930,7 @@ class WifiDevice(Device): - PRP_WIFI_WIRELESS_CAPABILITIES: dbus.UInt32(0xFF), - PRP_WIFI_ACCESS_POINTS: ExportedObj.to_path_array(self.aps), - PRP_WIFI_ACTIVE_ACCESS_POINT: ExportedObj.to_path(None), -- PRP_WIFI_LAST_SCAN: NM.utils_get_timestamp_msec(), -+ PRP_WIFI_LAST_SCAN: dbus.Int64(ts), - } - - self.dbus_interface_add(IFACE_WIFI, props, WifiDevice.PropertiesChanged) -@@ -928,6 +947,15 @@ class WifiDevice(Device): - - @dbus.service.method(dbus_interface=IFACE_WIFI, in_signature='a{sv}', out_signature='') - def RequestScan(self, props): -+ self.scan_cb_id = Util.g_source_remove(self.scan_cb_id) -+ def cb(): -+ ts = NM.utils_get_timestamp_msec() -+ for ap in self.aps: -+ ap._dbus_property_set(IFACE_WIFI_AP, PRP_WIFI_AP_LAST_SEEN, dbus.Int32(ts / 1000)) -+ self._dbus_property_set(IFACE_WIFI, PRP_WIFI_LAST_SCAN, dbus.Int64(ts)) -+ self.scan_cb_id = None -+ return False -+ self.scan_cb_id = GLib.idle_add(cb) - pass - - @dbus.service.signal(IFACE_WIFI, signature='o') -@@ -947,6 +975,10 @@ class WifiDevice(Device): - self.AccessPointRemoved(ExportedObj.to_path(ap)) - ap.unexport() - -+ def stop(self): -+ self.scan_cb_id = Util.g_source_remove(self.scan_cb_id) -+ super(WifiDevice, self).stop() -+ - @dbus.service.signal(IFACE_WIFI, signature='o') - def AccessPointRemoved(self, ap_path): - pass -@@ -1138,11 +1170,7 @@ class ActiveConnection(ExportedObj): - self.StateChanged(state, dbus.UInt32(reason)) - - def activation_cancel(self): -- if self._activation_id is None: -- return False -- GLib.source_remove(self._activation_id) -- self._activation_id = None -- return True -+ self._activation_id = Util.g_source_remove(self._activation_id) - - def _activation_step2(self): - assert self._activation_id is not None -- cgit 1.3.0-6-gf8a5 From 29cb93fe7537e2b0b7ed334828cf336fec475d56 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Thu, 5 Jul 2018 03:58:22 +0200 Subject: Increase timeout in test-nm-client to 30s On slow architectures it can take longer then 3s for the test service to start up. --- ...Increase-timeout-in-test-nm-client-to-30s.patch | 23 ++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 24 insertions(+) create mode 100644 debian/patches/Increase-timeout-in-test-nm-client-to-30s.patch (limited to 'debian/patches') diff --git a/debian/patches/Increase-timeout-in-test-nm-client-to-30s.patch b/debian/patches/Increase-timeout-in-test-nm-client-to-30s.patch new file mode 100644 index 00000000..5c6d99f4 --- /dev/null +++ b/debian/patches/Increase-timeout-in-test-nm-client-to-30s.patch @@ -0,0 +1,23 @@ +From: Michael Biebl +Date: Thu, 5 Jul 2018 03:53:35 +0200 +Subject: Increase timeout in test-nm-client to 30s + +On slow architectures it can take longer then 3s for the test service to +start up. +--- + shared/nm-test-utils-impl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shared/nm-test-utils-impl.c b/shared/nm-test-utils-impl.c +index 3add88c..9e7312c 100644 +--- a/shared/nm-test-utils-impl.c ++++ b/shared/nm-test-utils-impl.c +@@ -164,7 +164,7 @@ nmtstc_service_init (void) + g_source_set_callback (child_source, (GSourceFunc)(void (*) (void)) _service_init_wait_child_wait, &data, NULL); + g_source_attach (child_source, context); + +- had_timeout = !nmtst_main_loop_run (data.mainloop, 3000); ++ had_timeout = !nmtst_main_loop_run (data.mainloop, 30000); + + g_source_destroy (timeout_source); + g_source_destroy (child_source); diff --git a/debian/patches/series b/debian/patches/series index 0adf0cf1..9f28a9f4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,3 +2,4 @@ Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch +Increase-timeout-in-test-nm-client-to-30s.patch -- cgit 1.3.0-6-gf8a5 From c571f43fba51a2dcd2dbc640df5c901dd8863b97 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Thu, 12 Jul 2018 13:23:13 +0200 Subject: manager: accept non-null device for VPN activations Closes: #903109 --- ...ccept-non-null-device-for-VPN-activations.patch | 53 ++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 54 insertions(+) create mode 100644 debian/patches/manager-accept-non-null-device-for-VPN-activations.patch (limited to 'debian/patches') diff --git a/debian/patches/manager-accept-non-null-device-for-VPN-activations.patch b/debian/patches/manager-accept-non-null-device-for-VPN-activations.patch new file mode 100644 index 00000000..4a60db6c --- /dev/null +++ b/debian/patches/manager-accept-non-null-device-for-VPN-activations.patch @@ -0,0 +1,53 @@ +From: Beniamino Galvani +Date: Fri, 6 Jul 2018 15:54:16 +0200 +Subject: manager: accept non-null device for VPN activations + +Commit 10753c36168a ("manager: merge VPN handling into +_new_active_connection()") added a check to fail the activation of +VPNs when a device is passed to ActivateConnection(), since the device +argument is ignored for VPNs. + +This broke activating VPNs from nm-applet as nm-applet sets both the +specific_object (parent-connection) and device arguments in the +activation request. + +Note that we already check in _new_active_connection() that when a +device is supplied, it matches the device of the parent +connection. Therefore, the check can be dropped. + +Reported-by: Michael Biebl +Fixes: 10753c36168a82cd658df8a7da800960fddd78ed + +https://github.com/NetworkManager/NetworkManager/pull/159 +(cherry picked from commit e205664ba8c25939f1678d1b078a67989c180046) +--- + src/nm-manager.c | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/src/nm-manager.c b/src/nm-manager.c +index 150d7de..1b657fe 100644 +--- a/src/nm-manager.c ++++ b/src/nm-manager.c +@@ -4641,21 +4641,7 @@ validate_activation_request (NMManager *self, + } + } + +- if (is_vpn && device) { +- /* VPN's are treated specially. Maybe the should accept a device as well, +- * however, later on during activation, we don't handle the device. +- * +- * Maybe we should, and maybe it makes sense to specify a device +- * when activating a VPN. But for now, just error out. */ +- g_set_error_literal (error, +- NM_MANAGER_ERROR, +- NM_MANAGER_ERROR_UNKNOWN_DEVICE, +- "Cannot specify device when activating VPN"); +- return NULL; +- } +- +- nm_assert ( ( is_vpn && !device) +- || (!is_vpn && NM_IS_DEVICE (device))); ++ nm_assert (is_vpn || NM_IS_DEVICE (device)); + + *out_device = device; + *out_is_vpn = is_vpn; diff --git a/debian/patches/series b/debian/patches/series index 9f28a9f4..503d30bf 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch Increase-timeout-in-test-nm-client-to-30s.patch +manager-accept-non-null-device-for-VPN-activations.patch -- cgit 1.3.0-6-gf8a5 From edfc5667dc578318cd1847c5d479962e8259c375 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Wed, 25 Jul 2018 13:17:30 +0200 Subject: Rebase patches --- ...n-t-make-NetworkManager-D-Bus-activatable.patch | 4 +- ...Force-online-state-with-unmanaged-devices.patch | 10 ++-- ...Increase-timeout-in-test-nm-client-to-30s.patch | 23 ---------- ...ccept-non-null-device-for-VPN-activations.patch | 53 ---------------------- debian/patches/series | 2 - 5 files changed, 7 insertions(+), 85 deletions(-) delete mode 100644 debian/patches/Increase-timeout-in-test-nm-client-to-30s.patch delete mode 100644 debian/patches/manager-accept-non-null-device-for-VPN-activations.patch (limited to 'debian/patches') diff --git a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch index b2912d8d..51d0a0b2 100644 --- a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch +++ b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch @@ -10,10 +10,10 @@ to be autostarted by a client request. 2 files changed, 6 deletions(-) diff --git a/Makefile.am b/Makefile.am -index cdb5cfc..2c6db0f 100644 +index b1a2e69..b168008 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -3889,11 +3889,6 @@ endif +@@ -3894,11 +3894,6 @@ endif data/NetworkManager-dispatcher.service: $(srcdir)/data/NetworkManager-dispatcher.service.in $(AM_V_GEN) $(data_edit) $< >$@ diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index bfdb652d..094c39be 100644 --- a/debian/patches/Force-online-state-with-unmanaged-devices.patch +++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch @@ -12,7 +12,7 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286 1 file changed, 115 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index 0fea13d..150d7de 100644 +index 289dcf8..1b657fe 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -62,6 +62,8 @@ @@ -73,7 +73,7 @@ index 0fea13d..150d7de 100644 if ( new_state >= NM_STATE_CONNECTED_LOCAL && priv->connectivity_state == NM_CONNECTIVITY_FULL) { new_state = NM_STATE_CONNECTED_GLOBAL; -@@ -5886,6 +5916,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, +@@ -5872,6 +5902,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE); } @@ -136,7 +136,7 @@ index 0fea13d..150d7de 100644 static void start_factory (NMDeviceFactory *factory, gpointer user_data) { -@@ -6036,6 +6122,9 @@ nm_manager_start (NMManager *self, GError **error) +@@ -6022,6 +6108,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); @@ -146,7 +146,7 @@ index 0fea13d..150d7de 100644 return TRUE; } -@@ -6899,6 +6988,22 @@ nm_manager_init (NMManager *self) +@@ -6885,6 +6974,22 @@ nm_manager_init (NMManager *self) KERNEL_FIRMWARE_DIR); } @@ -169,7 +169,7 @@ index 0fea13d..150d7de 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self); -@@ -7174,6 +7279,16 @@ dispose (GObject *object) +@@ -7160,6 +7265,16 @@ dispose (GObject *object) g_clear_object (&priv->fw_monitor); } diff --git a/debian/patches/Increase-timeout-in-test-nm-client-to-30s.patch b/debian/patches/Increase-timeout-in-test-nm-client-to-30s.patch deleted file mode 100644 index 5c6d99f4..00000000 --- a/debian/patches/Increase-timeout-in-test-nm-client-to-30s.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Michael Biebl -Date: Thu, 5 Jul 2018 03:53:35 +0200 -Subject: Increase timeout in test-nm-client to 30s - -On slow architectures it can take longer then 3s for the test service to -start up. ---- - shared/nm-test-utils-impl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/shared/nm-test-utils-impl.c b/shared/nm-test-utils-impl.c -index 3add88c..9e7312c 100644 ---- a/shared/nm-test-utils-impl.c -+++ b/shared/nm-test-utils-impl.c -@@ -164,7 +164,7 @@ nmtstc_service_init (void) - g_source_set_callback (child_source, (GSourceFunc)(void (*) (void)) _service_init_wait_child_wait, &data, NULL); - g_source_attach (child_source, context); - -- had_timeout = !nmtst_main_loop_run (data.mainloop, 3000); -+ had_timeout = !nmtst_main_loop_run (data.mainloop, 30000); - - g_source_destroy (timeout_source); - g_source_destroy (child_source); diff --git a/debian/patches/manager-accept-non-null-device-for-VPN-activations.patch b/debian/patches/manager-accept-non-null-device-for-VPN-activations.patch deleted file mode 100644 index 4a60db6c..00000000 --- a/debian/patches/manager-accept-non-null-device-for-VPN-activations.patch +++ /dev/null @@ -1,53 +0,0 @@ -From: Beniamino Galvani -Date: Fri, 6 Jul 2018 15:54:16 +0200 -Subject: manager: accept non-null device for VPN activations - -Commit 10753c36168a ("manager: merge VPN handling into -_new_active_connection()") added a check to fail the activation of -VPNs when a device is passed to ActivateConnection(), since the device -argument is ignored for VPNs. - -This broke activating VPNs from nm-applet as nm-applet sets both the -specific_object (parent-connection) and device arguments in the -activation request. - -Note that we already check in _new_active_connection() that when a -device is supplied, it matches the device of the parent -connection. Therefore, the check can be dropped. - -Reported-by: Michael Biebl -Fixes: 10753c36168a82cd658df8a7da800960fddd78ed - -https://github.com/NetworkManager/NetworkManager/pull/159 -(cherry picked from commit e205664ba8c25939f1678d1b078a67989c180046) ---- - src/nm-manager.c | 16 +--------------- - 1 file changed, 1 insertion(+), 15 deletions(-) - -diff --git a/src/nm-manager.c b/src/nm-manager.c -index 150d7de..1b657fe 100644 ---- a/src/nm-manager.c -+++ b/src/nm-manager.c -@@ -4641,21 +4641,7 @@ validate_activation_request (NMManager *self, - } - } - -- if (is_vpn && device) { -- /* VPN's are treated specially. Maybe the should accept a device as well, -- * however, later on during activation, we don't handle the device. -- * -- * Maybe we should, and maybe it makes sense to specify a device -- * when activating a VPN. But for now, just error out. */ -- g_set_error_literal (error, -- NM_MANAGER_ERROR, -- NM_MANAGER_ERROR_UNKNOWN_DEVICE, -- "Cannot specify device when activating VPN"); -- return NULL; -- } -- -- nm_assert ( ( is_vpn && !device) -- || (!is_vpn && NM_IS_DEVICE (device))); -+ nm_assert (is_vpn || NM_IS_DEVICE (device)); - - *out_device = device; - *out_is_vpn = is_vpn; diff --git a/debian/patches/series b/debian/patches/series index 503d30bf..0adf0cf1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,5 +2,3 @@ Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch -Increase-timeout-in-test-nm-client-to-30s.patch -manager-accept-non-null-device-for-VPN-activations.patch -- cgit 1.3.0-6-gf8a5 From c0f037a4c260bd455d13f755d068b4d9e3f9a551 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Sun, 5 Aug 2018 15:00:14 +0200 Subject: Fix compile error due to NM_AVAILABLE_IN_1_12_2 macro Closes: #905372 --- debian/patches/series | 1 + ...ile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch | 25 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 debian/patches/version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch (limited to 'debian/patches') diff --git a/debian/patches/series b/debian/patches/series index 0adf0cf1..3a4a99fc 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,3 +2,4 @@ Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch +version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch diff --git a/debian/patches/version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch b/debian/patches/version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch new file mode 100644 index 00000000..2783890f --- /dev/null +++ b/debian/patches/version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch @@ -0,0 +1,25 @@ +From: Thomas Haller +Date: Tue, 31 Jul 2018 14:13:57 +0200 +Subject: version: fix compile error due to NM_AVAILABLE_IN_1_12_2 macro + +Fixes: 8d09660481e1ff8b513aa60b2c40a4982ccc57cd + +https://mail.gnome.org/archives/networkmanager-list/2018-July/msg00023.html +(cherry picked from commit 0a3755c1799d3a4dc1875d4c59c7c568a64c8456) +--- + libnm-core/nm-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libnm-core/nm-version.h b/libnm-core/nm-version.h +index ee6dbc0..c240489 100644 +--- a/libnm-core/nm-version.h ++++ b/libnm-core/nm-version.h +@@ -161,7 +161,7 @@ + #endif + + #if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_12_2 +-# define NM_AVAILABLE_IN_1_12_2 G_UNAVAILABLE(1,12,2) ++# define NM_AVAILABLE_IN_1_12_2 G_UNAVAILABLE(1,12.2) + #else + # define NM_AVAILABLE_IN_1_12_2 + #endif -- cgit 1.3.0-6-gf8a5 From 2163fa90fba7223b1cfdd8cc4a86ea51134985d4 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 22 Aug 2018 20:29:44 +0100 Subject: Apply patch from upstream to fix FTBFS with GLib 2.57 --- debian/patches/series | 1 + ...test-don-t-assert-on-debug-level-messages.patch | 29 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 debian/patches/utils-test-don-t-assert-on-debug-level-messages.patch (limited to 'debian/patches') diff --git a/debian/patches/series b/debian/patches/series index 3a4a99fc..7918af1b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch +utils-test-don-t-assert-on-debug-level-messages.patch diff --git a/debian/patches/utils-test-don-t-assert-on-debug-level-messages.patch b/debian/patches/utils-test-don-t-assert-on-debug-level-messages.patch new file mode 100644 index 00000000..0a1273a5 --- /dev/null +++ b/debian/patches/utils-test-don-t-assert-on-debug-level-messages.patch @@ -0,0 +1,29 @@ +From: Lubomir Rintel +Date: Sat, 11 Aug 2018 11:08:42 +0200 +Subject: utils/test: don't assert on debug level messages + +They come and go in GLib core for all sorts of purposes. Don't let that +break our tests. + +(cherry picked from commit 3e8eef538987c909e87b871a6b8c74aee08661a3) +Origin: upstream, 1.12.4, commit:5810c46b118447567e52199ca139c7a5e9be6ab4 +--- + shared/nm-utils/nm-test-utils.h | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/shared/nm-utils/nm-test-utils.h b/shared/nm-utils/nm-test-utils.h +index 743893f..d29e9ae 100644 +--- a/shared/nm-utils/nm-test-utils.h ++++ b/shared/nm-utils/nm-test-utils.h +@@ -573,8 +573,9 @@ __nmtst_init (int *argc, char ***argv, gboolean assert_logging, const char *log_ + #endif + } else { + /* We were called not to set logging levels. This means, that the user +- * expects to assert against (all) messages. Any uncought message is fatal. */ +- g_log_set_always_fatal (G_LOG_LEVEL_MASK); ++ * expects to assert against (all) messages. ++ * Any uncaught message on >debug level is fatal. */ ++ g_log_set_always_fatal (G_LOG_LEVEL_MASK & ~G_LOG_LEVEL_DEBUG); + } + + if ((!__nmtst_internal.assert_logging || (__nmtst_internal.assert_logging && __nmtst_internal.no_expect_message)) && -- cgit 1.3.0-6-gf8a5 From ca0460dd76532f18c1c334a0e2df18d1473e8af3 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Sun, 23 Sep 2018 10:13:39 +0200 Subject: Rebase patches --- ...n-t-make-NetworkManager-D-Bus-activatable.patch | 4 +-- ...Force-online-state-with-unmanaged-devices.patch | 10 ++++---- debian/patches/series | 2 -- ...test-don-t-assert-on-debug-level-messages.patch | 29 ---------------------- ...ile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch | 25 ------------------- 5 files changed, 7 insertions(+), 63 deletions(-) delete mode 100644 debian/patches/utils-test-don-t-assert-on-debug-level-messages.patch delete mode 100644 debian/patches/version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch (limited to 'debian/patches') diff --git a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch index 51d0a0b2..b8a4c486 100644 --- a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch +++ b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch @@ -10,10 +10,10 @@ to be autostarted by a client request. 2 files changed, 6 deletions(-) diff --git a/Makefile.am b/Makefile.am -index b1a2e69..b168008 100644 +index 0b8becd..1803e1a 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -3894,11 +3894,6 @@ endif +@@ -3895,11 +3895,6 @@ endif data/NetworkManager-dispatcher.service: $(srcdir)/data/NetworkManager-dispatcher.service.in $(AM_V_GEN) $(data_edit) $< >$@ diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index 094c39be..022154c6 100644 --- a/debian/patches/Force-online-state-with-unmanaged-devices.patch +++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch @@ -12,7 +12,7 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286 1 file changed, 115 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index 289dcf8..1b657fe 100644 +index ad90616..d5f0f95 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -62,6 +62,8 @@ @@ -73,7 +73,7 @@ index 289dcf8..1b657fe 100644 if ( new_state >= NM_STATE_CONNECTED_LOCAL && priv->connectivity_state == NM_CONNECTIVITY_FULL) { new_state = NM_STATE_CONNECTED_GLOBAL; -@@ -5872,6 +5902,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, +@@ -5884,6 +5914,62 @@ impl_manager_check_connectivity (NMDBusObject *obj, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE); } @@ -136,7 +136,7 @@ index 289dcf8..1b657fe 100644 static void start_factory (NMDeviceFactory *factory, gpointer user_data) { -@@ -6022,6 +6108,9 @@ nm_manager_start (NMManager *self, GError **error) +@@ -6034,6 +6120,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); @@ -146,7 +146,7 @@ index 289dcf8..1b657fe 100644 return TRUE; } -@@ -6885,6 +6974,22 @@ nm_manager_init (NMManager *self) +@@ -6897,6 +6986,22 @@ nm_manager_init (NMManager *self) KERNEL_FIRMWARE_DIR); } @@ -169,7 +169,7 @@ index 289dcf8..1b657fe 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self); -@@ -7160,6 +7265,16 @@ dispose (GObject *object) +@@ -7172,6 +7277,16 @@ dispose (GObject *object) g_clear_object (&priv->fw_monitor); } diff --git a/debian/patches/series b/debian/patches/series index 7918af1b..0adf0cf1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,5 +2,3 @@ Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Fix-iscsiadm-path.patch -version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch -utils-test-don-t-assert-on-debug-level-messages.patch diff --git a/debian/patches/utils-test-don-t-assert-on-debug-level-messages.patch b/debian/patches/utils-test-don-t-assert-on-debug-level-messages.patch deleted file mode 100644 index 0a1273a5..00000000 --- a/debian/patches/utils-test-don-t-assert-on-debug-level-messages.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Lubomir Rintel -Date: Sat, 11 Aug 2018 11:08:42 +0200 -Subject: utils/test: don't assert on debug level messages - -They come and go in GLib core for all sorts of purposes. Don't let that -break our tests. - -(cherry picked from commit 3e8eef538987c909e87b871a6b8c74aee08661a3) -Origin: upstream, 1.12.4, commit:5810c46b118447567e52199ca139c7a5e9be6ab4 ---- - shared/nm-utils/nm-test-utils.h | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/shared/nm-utils/nm-test-utils.h b/shared/nm-utils/nm-test-utils.h -index 743893f..d29e9ae 100644 ---- a/shared/nm-utils/nm-test-utils.h -+++ b/shared/nm-utils/nm-test-utils.h -@@ -573,8 +573,9 @@ __nmtst_init (int *argc, char ***argv, gboolean assert_logging, const char *log_ - #endif - } else { - /* We were called not to set logging levels. This means, that the user -- * expects to assert against (all) messages. Any uncought message is fatal. */ -- g_log_set_always_fatal (G_LOG_LEVEL_MASK); -+ * expects to assert against (all) messages. -+ * Any uncaught message on >debug level is fatal. */ -+ g_log_set_always_fatal (G_LOG_LEVEL_MASK & ~G_LOG_LEVEL_DEBUG); - } - - if ((!__nmtst_internal.assert_logging || (__nmtst_internal.assert_logging && __nmtst_internal.no_expect_message)) && diff --git a/debian/patches/version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch b/debian/patches/version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch deleted file mode 100644 index 2783890f..00000000 --- a/debian/patches/version-fix-compile-error-due-to-NM_AVAILABLE_IN_1_12_2-m.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Thomas Haller -Date: Tue, 31 Jul 2018 14:13:57 +0200 -Subject: version: fix compile error due to NM_AVAILABLE_IN_1_12_2 macro - -Fixes: 8d09660481e1ff8b513aa60b2c40a4982ccc57cd - -https://mail.gnome.org/archives/networkmanager-list/2018-July/msg00023.html -(cherry picked from commit 0a3755c1799d3a4dc1875d4c59c7c568a64c8456) ---- - libnm-core/nm-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libnm-core/nm-version.h b/libnm-core/nm-version.h -index ee6dbc0..c240489 100644 ---- a/libnm-core/nm-version.h -+++ b/libnm-core/nm-version.h -@@ -161,7 +161,7 @@ - #endif - - #if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_12_2 --# define NM_AVAILABLE_IN_1_12_2 G_UNAVAILABLE(1,12,2) -+# define NM_AVAILABLE_IN_1_12_2 G_UNAVAILABLE(1,12.2) - #else - # define NM_AVAILABLE_IN_1_12_2 - #endif -- cgit 1.3.0-6-gf8a5