diff options
| author | Michael Biebl <biebl@debian.org> | 2016-03-01 17:15:17 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2016-03-01 17:15:19 +0100 |
| commit | f8b4a2538de11b9df3daf142ab9ca2e8409a75a4 (patch) | |
| tree | 3bea6516e97d0d92703724e1fc3f721c60151bf3 | |
| parent | 8388e5f1d9139965e489e66035e545a660aa88ba (diff) | |
Rebase patches
17 files changed, 48 insertions, 684 deletions
diff --git a/debian/changelog b/debian/changelog index 03b65f7c..a880ea12 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ network-manager (1.1.91-1) UNRELEASED; urgency=medium * New upstream release (1.2 beta2). + * Rebase patches. -- Michael Biebl <biebl@debian.org> Tue, 01 Mar 2016 16:56:21 +0100 diff --git a/debian/patches/Check-at-runtime-whether-to-start-ModemManager.patch b/debian/patches/Check-at-runtime-whether-to-start-ModemManager.patch index d21da521..5e6a8ead 100644 --- a/debian/patches/Check-at-runtime-whether-to-start-ModemManager.patch +++ b/debian/patches/Check-at-runtime-whether-to-start-ModemManager.patch @@ -13,7 +13,7 @@ Closes: #770871 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/devices/wwan/nm-modem-manager.c b/src/devices/wwan/nm-modem-manager.c -index c28d86a..35d8980 100644 +index 79082c4..937f731 100644 --- a/src/devices/wwan/nm-modem-manager.c +++ b/src/devices/wwan/nm-modem-manager.c @@ -25,6 +25,7 @@ @@ -23,8 +23,8 @@ index c28d86a..35d8980 100644 +#include <systemd/sd-daemon.h> #include "nm-modem-manager.h" - #include "nm-default.h" -@@ -200,10 +201,9 @@ modem_manager_name_owner_changed (MMManager *modem_manager, + #include "nm-dbus-compat.h" +@@ -199,10 +200,9 @@ modem_manager_name_owner_changed (MMManager *modem_manager, if (!name_owner) { nm_log_info (LOGD_MB, "ModemManager disappeared from bus"); @@ -37,7 +37,7 @@ index c28d86a..35d8980 100644 return; } -@@ -224,8 +224,6 @@ modem_manager_name_owner_changed (MMManager *modem_manager, +@@ -223,8 +223,6 @@ modem_manager_name_owner_changed (MMManager *modem_manager, */ } @@ -46,7 +46,7 @@ index c28d86a..35d8980 100644 static void modem_manager_poke_cb (GDBusConnection *connection, GAsyncResult *res, -@@ -274,8 +272,6 @@ modem_manager_poke (NMModemManager *self) +@@ -273,8 +271,6 @@ modem_manager_poke (NMModemManager *self) g_object_ref (self)); /* user_data */ } @@ -55,7 +55,7 @@ index c28d86a..35d8980 100644 static void modem_manager_check_name_owner (NMModemManager *self) { -@@ -289,10 +285,9 @@ modem_manager_check_name_owner (NMModemManager *self) +@@ -288,10 +284,9 @@ modem_manager_check_name_owner (NMModemManager *self) return; } diff --git a/debian/patches/Debian-specific-tweaks-for-NetworkManager-systemd-se.patch b/debian/patches/Debian-specific-tweaks-for-NetworkManager-systemd-se.patch index 3c807d49..449ae401 100644 --- a/debian/patches/Debian-specific-tweaks-for-NetworkManager-systemd-se.patch +++ b/debian/patches/Debian-specific-tweaks-for-NetworkManager-systemd-se.patch @@ -20,13 +20,14 @@ for network.target. 1 file changed, 2 deletions(-) diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in -index 6690f5a..10b3de9 100644 +index 7946ac1..a974432 100644 --- a/data/NetworkManager.service.in +++ b/data/NetworkManager.service.in -@@ -1,7 +1,5 @@ +@@ -1,8 +1,6 @@ [Unit] Description=Network Manager -Wants=network.target + After=network-pre.target dbus.service -Before=network.target @DISTRO_NETWORK_SERVICE@ [Service] 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 eba453a6..e5eb82da 100644 --- a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch +++ b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch @@ -28,10 +28,10 @@ index ce059fc..4ab4106 100644 install -d $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants ln -sf $(systemdsystemunitdir)/NetworkManager-wait-online.service $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in -index 10b3de9..90c0664 100644 +index a974432..5a752b8 100644 --- a/data/NetworkManager.service.in +++ b/data/NetworkManager.service.in -@@ -15,6 +15,5 @@ ProtectHome=read-only +@@ -16,6 +16,5 @@ ProtectHome=read-only [Install] WantedBy=multi-user.target 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 79f3c342..12915334 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 @@ -18,7 +18,7 @@ Closes: #742933 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 6da6415..b550ab1 100644 +index 0f270ce..46da9b8 100644 --- a/configure.ac +++ b/configure.ac @@ -467,8 +467,9 @@ fi @@ -33,10 +33,10 @@ index 6da6415..b550ab1 100644 ;; consolekit) diff --git a/src/Makefile.am b/src/Makefile.am -index 7e85831..ca35e1d 100644 +index eea646a..603811b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -437,6 +437,7 @@ AM_CPPFLAGS += \ +@@ -475,6 +475,7 @@ AM_CPPFLAGS += \ $(SELINUX_CFLAGS) \ $(LIBAUDIT_CFLAGS) \ $(SYSTEMD_LOGIN_CFLAGS) \ @@ -44,7 +44,7 @@ index 7e85831..ca35e1d 100644 $(SYSTEMD_JOURNAL_CFLAGS) \ $(SYSTEMD_NM_CFLAGS_PATHS) \ \ -@@ -470,6 +471,7 @@ libNetworkManager_la_LIBADD = \ +@@ -508,6 +509,7 @@ libNetworkManager_la_LIBADD = \ $(GUDEV_LIBS) \ $(LIBNL_LIBS) \ $(SYSTEMD_LOGIN_LIBS) \ @@ -53,7 +53,7 @@ index 7e85831..ca35e1d 100644 $(LIBNDP_LIBS) \ $(LIBDL) \ diff --git a/src/nm-sleep-monitor-systemd.c b/src/nm-sleep-monitor-systemd.c -index 12db56b..f1baa4e 100644 +index 064a703..d42c0fe 100644 --- a/src/nm-sleep-monitor-systemd.c +++ b/src/nm-sleep-monitor-systemd.c @@ -23,6 +23,7 @@ @@ -62,9 +62,9 @@ index 12db56b..f1baa4e 100644 #include <gio/gunixfdlist.h> +#include <systemd/sd-daemon.h> - #include "nm-default.h" #include "nm-core-internal.h" -@@ -204,6 +205,10 @@ on_proxy_acquired (GObject *object, + #include "NetworkManagerUtils.h" +@@ -203,6 +204,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 77db7f98..07e9bf83 100644 --- a/debian/patches/Fix-iscsiadm-path.patch +++ b/debian/patches/Fix-iscsiadm-path.patch @@ -9,10 +9,10 @@ The open-scsi package in Debian installs the iscisadm binary as 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/settings/plugins/ibft/plugin.c b/src/settings/plugins/ibft/plugin.c -index 555725d..cc1d32e 100644 +index 6f9b8c8..ce89599 100644 --- a/src/settings/plugins/ibft/plugin.c +++ b/src/settings/plugins/ibft/plugin.c -@@ -61,7 +61,7 @@ read_connections (SettingsPluginIbft *self) +@@ -60,7 +60,7 @@ read_connections (SettingsPluginIbft *self) GError *error = NULL; NMIbftConnection *connection; diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index 1f6b6f26..1a072d18 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, 120 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index ffc89ec..ba0ff24 100644 +index 7f414e8..8ce6c0b 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c -@@ -58,6 +58,8 @@ +@@ -57,6 +57,8 @@ #include "nmdbus-manager.h" #include "nmdbus-device.h" @@ -24,7 +24,7 @@ index ffc89ec..ba0ff24 100644 static gboolean add_device (NMManager *self, NMDevice *device, GError **error); static NMActiveConnection *_new_active_connection (NMManager *self, -@@ -138,6 +140,10 @@ typedef struct { +@@ -137,6 +139,10 @@ typedef struct { GFileMonitor *fw_monitor; guint fw_changed_id; @@ -35,7 +35,7 @@ index ffc89ec..ba0ff24 100644 guint timestamp_update_id; gboolean startup; -@@ -684,6 +690,29 @@ find_best_device_state (NMManager *manager) +@@ -683,6 +689,29 @@ find_best_device_state (NMManager *manager) return best_state; } @@ -65,7 +65,7 @@ index ffc89ec..ba0ff24 100644 static void nm_manager_update_metered (NMManager *manager) { -@@ -725,6 +754,9 @@ nm_manager_update_state (NMManager *manager) +@@ -724,6 +753,9 @@ nm_manager_update_state (NMManager *manager) nm_connectivity_set_online (priv->connectivity, new_state >= NM_STATE_CONNECTED_LOCAL); @@ -75,7 +75,7 @@ index ffc89ec..ba0ff24 100644 if (new_state == NM_STATE_CONNECTED_SITE) { nm_connectivity_check_async (priv->connectivity, checked_connectivity, -@@ -4347,6 +4379,65 @@ impl_manager_check_connectivity (NMManager *self, +@@ -4336,6 +4368,65 @@ impl_manager_check_connectivity (NMManager *self, } static void @@ -141,7 +141,7 @@ index ffc89ec..ba0ff24 100644 start_factory (NMDeviceFactory *factory, gpointer user_data) { nm_device_factory_start (factory); -@@ -4417,6 +4508,9 @@ nm_manager_start (NMManager *self, GError **error) +@@ -4406,6 +4497,9 @@ nm_manager_start (NMManager *self, GError **error) check_if_startup_complete (self); @@ -151,7 +151,7 @@ index ffc89ec..ba0ff24 100644 return TRUE; } -@@ -5215,6 +5309,22 @@ nm_manager_init (NMManager *manager) +@@ -5207,6 +5301,22 @@ nm_manager_init (NMManager *manager) KERNEL_FIRMWARE_DIR); } @@ -174,7 +174,7 @@ index ffc89ec..ba0ff24 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, manager); -@@ -5457,6 +5567,16 @@ dispose (GObject *object) +@@ -5449,6 +5559,16 @@ dispose (GObject *object) g_clear_object (&priv->fw_monitor); } diff --git a/debian/patches/Use-bash-explicitly-when-running-the-tests.patch b/debian/patches/Use-bash-explicitly-when-running-the-tests.patch deleted file mode 100644 index c88953c4..00000000 --- a/debian/patches/Use-bash-explicitly-when-running-the-tests.patch +++ /dev/null @@ -1,56 +0,0 @@ -From: Michael Biebl <biebl@debian.org> -Date: Wed, 27 Jan 2016 22:14:09 +0100 -Subject: Use bash explicitly when running the tests - -The trap handling in dash seems to have issues [Bug-Debian]. -So explicitly use bash when running the tests. - -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=390433 -Bug: https://bugzilla.gnome.org/show_bug.cgi?id=761146 ---- - src/tests/test-general-with-expect.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/tests/test-general-with-expect.c b/src/tests/test-general-with-expect.c -index c6abdcc..a5ef9e3 100644 ---- a/src/tests/test-general-with-expect.c -+++ b/src/tests/test-general-with-expect.c -@@ -225,33 +225,33 @@ test_nm_utils_kill_child (void) - int err; - GLogLevelFlags fatal_mask; - char *argv_watchdog[] = { -- "sh", -+ "bash", - "-c", - "sleep 4; " - "kill -KILL 0; #watchdog for #" TEST_TOKEN, - NULL, - }; - char *argv1[] = { -- "sh", -+ "bash", - "-c", - "trap \"sleep 0.3; exit 10\" EXIT; " - "sleep 100000; exit $? #" TEST_TOKEN, - NULL, - }; - char *argv2[] = { -- "sh", -+ "bash", - "-c", - "exit 47; #" TEST_TOKEN, - NULL, - }; - char *argv3[] = { -- "sh", -+ "bash", - "-c", - "trap \"exit 47\" TERM; while true; do :; done; #" TEST_TOKEN, - NULL, - }; - char *argv4[] = { -- "sh", -+ "bash", - "-c", - "trap \"while true; do :; done\" TERM; while true; do :; done; #" TEST_TOKEN, - NULL, diff --git a/debian/patches/build-install-nm-settings-ifcfg-rh.5-man-page-condit.patch b/debian/patches/build-install-nm-settings-ifcfg-rh.5-man-page-condit.patch deleted file mode 100644 index 09db2e02..00000000 --- a/debian/patches/build-install-nm-settings-ifcfg-rh.5-man-page-condit.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Michael Biebl <biebl@debian.org> -Date: Mon, 9 Feb 2015 01:12:16 +0100 -Subject: build: install nm-settings-ifcfg-rh.5 man page conditionally - -Only install nm-settings-ifcfg-rh.5 man page if the ifcfg-rh -configuration plugin has been enabled. - -Bug: https://bugzilla.gnome.org/show_bug.cgi?id=759823 ---- - man/Makefile.am | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/man/Makefile.am b/man/Makefile.am -index 85b6f3a..45009fc 100644 ---- a/man/Makefile.am -+++ b/man/Makefile.am -@@ -78,8 +78,12 @@ docbook_generated_man_pages = \ - - docbook_autogenerated_man_pages = \ - nm-settings.5 \ -- nm-settings-keyfile.5 \ -+ nm-settings-keyfile.5 -+ -+if CONFIG_PLUGIN_IFCFG_RH -+docbook_autogenerated_man_pages += \ - nm-settings-ifcfg-rh.5 -+endif - - EXTRA_DIST += \ - nm-settings.xml \ diff --git a/debian/patches/dns-clean-up-error-paths-in-dns-manager.patch b/debian/patches/dns-clean-up-error-paths-in-dns-manager.patch deleted file mode 100644 index 389ae0ed..00000000 --- a/debian/patches/dns-clean-up-error-paths-in-dns-manager.patch +++ /dev/null @@ -1,286 +0,0 @@ -From: Dan Williams <dcbw@redhat.com> -Date: Wed, 20 Jan 2016 13:52:59 -0600 -Subject: dns: clean up error paths in dns-manager - -Specifically for resolvconf, if the write succeeded, but the pclose() -failed error would be left NULL and SR_ERROR would be returned, which -caused a crash in nm_dns_manager_end_updates(). - -(cherry-picked from commit af189b3295847cf48bc7616ec3bfc4192458608c) ---- - src/dns-manager/nm-dns-manager.c | 152 +++++++++++++++++++-------------------- - 1 file changed, 76 insertions(+), 76 deletions(-) - -diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c -index 01e8bf1..33bef65 100644 ---- a/src/dns-manager/nm-dns-manager.c -+++ b/src/dns-manager/nm-dns-manager.c -@@ -357,7 +357,6 @@ dispatch_netconfig (NMDnsManager *self, - - if (searches) { - str = g_strjoinv (" ", searches); -- - write_to_netconfig (self, fd, "DNSSEARCH", str); - g_free (str); - } -@@ -405,10 +404,9 @@ write_resolv_conf (FILE *f, - char **options, - GError **error) - { -- char *searches_str = NULL; -- char *nameservers_str = NULL; -- char *options_str = NULL; -- gboolean retval = FALSE; -+ gs_free char *searches_str = NULL; -+ gs_free char *nameservers_str = NULL; -+ gs_free char *options_str = NULL; - char *tmp_str; - GString *str; - int i; -@@ -425,11 +423,10 @@ write_resolv_conf (FILE *f, - g_free (tmp_str); - } - -- str = g_string_new (""); -- - if (nameservers) { - int num = g_strv_length (nameservers); - -+ str = g_string_new (""); - for (i = 0; i < num; i++) { - if (i == 3) { - g_string_append (str, "# "); -@@ -443,28 +440,22 @@ write_resolv_conf (FILE *f, - g_string_append (str, nameservers[i]); - g_string_append_c (str, '\n'); - } -+ nameservers_str = g_string_free (str, FALSE); - } - -- nameservers_str = g_string_free (str, FALSE); -- - if (fprintf (f, "# Generated by NetworkManager\n%s%s%s", - searches_str ? searches_str : "", -- nameservers_str, -- options_str ? options_str : "") > 0) -- retval = TRUE; -- else { -+ nameservers_str ? nameservers_str : "", -+ options_str ? options_str : "") < 0) { - g_set_error (error, - NM_MANAGER_ERROR, - NM_MANAGER_ERROR_FAILED, - "Could not write " _PATH_RESCONF ": %s\n", - g_strerror (errno)); -+ return FALSE; - } - -- g_free (searches_str); -- g_free (nameservers_str); -- g_free (options_str); -- -- return retval; -+ return TRUE; - } - - static SpawnResult -@@ -474,9 +465,9 @@ dispatch_resolvconf (NMDnsManager *self, - char **options, - GError **error) - { -- char *cmd; -+ gs_free char *cmd = NULL; - FILE *f; -- gboolean retval = FALSE; -+ gboolean success = FALSE; - int errnosv, err; - - if (!g_file_test (RESOLVCONF_PATH, G_FILE_TEST_IS_EXECUTABLE)) { -@@ -487,39 +478,46 @@ dispatch_resolvconf (NMDnsManager *self, - return SR_NOTFOUND; - } - -- if (searches || nameservers) { -- cmd = g_strconcat (RESOLVCONF_PATH, " -a ", "NetworkManager", NULL); -- _LOGI ("Writing DNS information to %s", RESOLVCONF_PATH); -- if ((f = popen (cmd, "w")) == NULL) -- g_set_error (error, -- NM_MANAGER_ERROR, -- NM_MANAGER_ERROR_FAILED, -- "Could not write to %s: %s\n", -- RESOLVCONF_PATH, -- g_strerror (errno)); -- else { -- retval = write_resolv_conf (f, searches, nameservers, options, error); -- err = pclose (f); -- if (err < 0) { -- errnosv = errno; -- g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errnosv), -- "Failed to close pipe to resolvconf: %d", errnosv); -- retval = FALSE; -- } else if (err > 0) { -- _LOGW ("resolvconf failed with status %d", err); -- retval = FALSE; -- } -- } -- } else { -- cmd = g_strconcat (RESOLVCONF_PATH, " -d ", "NetworkManager", NULL); -+ if (!searches && !nameservers) { - _LOGI ("Removing DNS information from %s", RESOLVCONF_PATH); -- if (nm_spawn_process (cmd, error) == 0) -- retval = TRUE; -+ -+ cmd = g_strconcat (RESOLVCONF_PATH, " -d ", "NetworkManager", NULL); -+ if (nm_spawn_process (cmd, error) != 0) -+ return SR_ERROR; -+ -+ return SR_SUCCESS; - } - -- g_free (cmd); -+ _LOGI ("Writing DNS information to %s", RESOLVCONF_PATH); - -- return retval ? SR_SUCCESS : SR_ERROR; -+ cmd = g_strconcat (RESOLVCONF_PATH, " -a ", "NetworkManager", NULL); -+ if ((f = popen (cmd, "w")) == NULL) { -+ g_set_error (error, -+ NM_MANAGER_ERROR, -+ NM_MANAGER_ERROR_FAILED, -+ "Could not write to %s: %s\n", -+ RESOLVCONF_PATH, -+ g_strerror (errno)); -+ return SR_ERROR; -+ } -+ -+ success = write_resolv_conf (f, searches, nameservers, options, error); -+ err = pclose (f); -+ if (err < 0) { -+ errnosv = errno; -+ g_clear_error (error); -+ g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errnosv), -+ "Failed to close pipe to resolvconf: %d", errnosv); -+ return SR_ERROR; -+ } else if (err > 0) { -+ _LOGW ("resolvconf failed with status %d", err); -+ g_clear_error (error); -+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, -+ "resolvconf failed with status %d", err); -+ return SR_ERROR; -+ } -+ -+ return success ? SR_SUCCESS : SR_ERROR; - } - - #define MY_RESOLV_CONF NMRUNDIR "/resolv.conf" -@@ -536,7 +534,7 @@ update_resolv_conf (NMDnsManager *self, - { - FILE *f; - struct stat st; -- gboolean ret; -+ gboolean success; - - /* If we are not managing /etc/resolv.conf and it points to - * MY_RESOLV_CONF, don't write the private DNS configuration to -@@ -544,15 +542,12 @@ update_resolv_conf (NMDnsManager *self, - * some external application. - */ - if (!install_etc) { -- char *path = g_file_read_link (_PATH_RESCONF, NULL); -- gboolean ours = !g_strcmp0 (path, MY_RESOLV_CONF); -- -- g_free (path); -+ gs_free char *path = g_file_read_link (_PATH_RESCONF, NULL); - -- if (ours) { -+ if (g_strcmp0 (path, MY_RESOLV_CONF) == 0) { - _LOGD ("not updating " MY_RESOLV_CONF - " since it points to " _PATH_RESCONF); -- return SR_ERROR; -+ return SR_SUCCESS; - } - } - -@@ -566,10 +561,10 @@ update_resolv_conf (NMDnsManager *self, - return SR_ERROR; - } - -- ret = write_resolv_conf (f, searches, nameservers, options, error); -+ success = write_resolv_conf (f, searches, nameservers, options, error); - - if (fclose (f) < 0) { -- if (ret) { -+ if (success) { - /* only set an error here if write_resolv_conf() was successful, - * since its error is more important. - */ -@@ -580,9 +575,8 @@ update_resolv_conf (NMDnsManager *self, - MY_RESOLV_CONF_TMP, - g_strerror (errno)); - } -- } -- -- if (!ret) -+ return SR_ERROR; -+ } else if (!success) - return SR_ERROR; - - if (rename (MY_RESOLV_CONF_TMP, MY_RESOLV_CONF) < 0) { -@@ -598,30 +592,32 @@ update_resolv_conf (NMDnsManager *self, - if (!install_etc) - return SR_SUCCESS; - -- /* Don't overwrite a symbolic link unless it points to MY_RESOLV_CONF. */ -+ /* A symlink pointing to NM's own resolv.conf (MY_RESOLV_CONF) is always -+ * overwritten to ensure that changes are indicated with inotify. Symlinks -+ * pointing to any other file are never overwritten. -+ */ - if (lstat (_PATH_RESCONF, &st) != -1) { -- /* Don't overwrite a symbolic link. */ - if (S_ISLNK (st.st_mode)) { - if (stat (_PATH_RESCONF, &st) != -1) { -- char *path = g_file_read_link (_PATH_RESCONF, NULL); -- gboolean not_ours = g_strcmp0 (path, MY_RESOLV_CONF) != 0; -+ gs_free char *path = g_file_read_link (_PATH_RESCONF, NULL); - -- g_free (path); -- if (not_ours) -+ if (g_strcmp0 (path, MY_RESOLV_CONF) != 0) { -+ /* It's not NM's symlink; do nothing */ - return SR_SUCCESS; -+ } -+ -+ /* resolv.conf is a symlink owned by NM and the target is accessible -+ */ - } else { -- if (errno != ENOENT) -- return SR_SUCCESS; -- g_set_error (error, -- NM_MANAGER_ERROR, -- NM_MANAGER_ERROR_FAILED, -- "Could not stat %s: %s\n", -- _PATH_RESCONF, -- g_strerror (errno)); -- return SR_ERROR; -+ /* resolv.conf is a symlink but the target is not accessible; -+ * some other program is probably managing resolv.conf and -+ * NM should not touch it. -+ */ -+ return SR_SUCCESS; - } - } - } else if (errno != ENOENT) { -+ /* NM cannot read /etc/resolv.conf */ - g_set_error (error, - NM_MANAGER_ERROR, - NM_MANAGER_ERROR_FAILED, -@@ -631,6 +627,10 @@ update_resolv_conf (NMDnsManager *self, - return SR_ERROR; - } - -+ /* By this point, either /etc/resolv.conf does not exist, is a regular -+ * file, or is a symlink already owned by NM. In all cases /etc/resolv.conf -+ * is replaced with a symlink pointing to NM's resolv.conf in /var/run/. -+ */ - if (unlink (RESOLV_CONF_TMP) == -1 && errno != ENOENT) { - g_set_error (error, - NM_MANAGER_ERROR, diff --git a/debian/patches/fix-arping-path.patch b/debian/patches/fix-arping-path.patch index d71f98e1..643fdbe8 100644 --- a/debian/patches/fix-arping-path.patch +++ b/debian/patches/fix-arping-path.patch @@ -11,19 +11,28 @@ which upstream (Fedora) is using, i.e. iputils-arping. Closes: #755039 --- - src/devices/nm-device.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + src/devices/nm-arping-manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c -index 93782a4..81487e6 100644 ---- a/src/devices/nm-device.c -+++ b/src/devices/nm-device.c -@@ -6458,7 +6458,7 @@ send_arps (NMDevice *self, const char *mode_arg) - if (num == 0) +diff --git a/src/devices/nm-arping-manager.c b/src/devices/nm-arping-manager.c +index dfb20b4..eb8338f 100644 +--- a/src/devices/nm-arping-manager.c ++++ b/src/devices/nm-arping-manager.c +@@ -202,7 +202,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"); +@@ -317,7 +317,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 (LOGD_DEVICE | LOGD_IP4, "arping could not be found; no ARPs will be sent"); + _LOGW ("arping could not be found; no ARPs will be sent"); return; diff --git a/debian/patches/libnm-fix-NMSettingVxlan-ageing-and-limit-max-values.patch b/debian/patches/libnm-fix-NMSettingVxlan-ageing-and-limit-max-values.patch deleted file mode 100644 index a6617827..00000000 --- a/debian/patches/libnm-fix-NMSettingVxlan-ageing-and-limit-max-values.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Dan Williams <dcbw@redhat.com> -Date: Fri, 5 Feb 2016 16:24:40 -0600 -Subject: libnm: fix NMSettingVxlan ageing and limit max values - -They are actually u32 in the kernel. Plus if we use G_MAXINT32 it -causes gtkdoc to write out "Allowed values: <= G_MAXLONG" on i386 -and "Allowed values: <= G_MAXINT" on x86_64, breaking multilib. - -Fixes: 95dfd99afc3fe815b013a8613fbd2cf178355952 ---- - libnm-core/nm-setting-vxlan.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libnm-core/nm-setting-vxlan.c b/libnm-core/nm-setting-vxlan.c -index f1567d8..d071532 100644 ---- a/libnm-core/nm-setting-vxlan.c -+++ b/libnm-core/nm-setting-vxlan.c -@@ -707,7 +707,7 @@ nm_setting_vxlan_class_init (NMSettingVxlanClass *setting_class) - g_object_class_install_property - (object_class, PROP_AGEING, - g_param_spec_uint (NM_SETTING_VXLAN_AGEING, "", "", -- 0, G_MAXINT32, 300, -+ 0, G_MAXUINT32, 300, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT | - NM_SETTING_PARAM_INFERRABLE | -@@ -724,7 +724,7 @@ nm_setting_vxlan_class_init (NMSettingVxlanClass *setting_class) - g_object_class_install_property - (object_class, PROP_LIMIT, - g_param_spec_uint (NM_SETTING_VXLAN_LIMIT, "", "", -- 0, G_MAXINT32, 0, -+ 0, G_MAXUINT32, 0, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT | - NM_SETTING_PARAM_INFERRABLE | diff --git a/debian/patches/libnm-fix-copy-paste-error-in-NMSettingVxlan-properties.patch b/debian/patches/libnm-fix-copy-paste-error-in-NMSettingVxlan-properties.patch deleted file mode 100644 index 35818406..00000000 --- a/debian/patches/libnm-fix-copy-paste-error-in-NMSettingVxlan-properties.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Dan Williams <dcbw@redhat.com> -Date: Fri, 5 Feb 2016 16:18:05 -0600 -Subject: libnm: fix copy & paste error in NMSettingVxlan properties - -Fixes: 95dfd99afc3fe815b013a8613fbd2cf178355952 ---- - libnm-core/nm-setting-vxlan.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libnm-core/nm-setting-vxlan.c b/libnm-core/nm-setting-vxlan.c -index 814623b..f1567d8 100644 ---- a/libnm-core/nm-setting-vxlan.c -+++ b/libnm-core/nm-setting-vxlan.c -@@ -722,7 +722,7 @@ nm_setting_vxlan_class_init (NMSettingVxlanClass *setting_class) - * Since: 1.2 - **/ - g_object_class_install_property -- (object_class, PROP_AGEING, -+ (object_class, PROP_LIMIT, - g_param_spec_uint (NM_SETTING_VXLAN_LIMIT, "", "", - 0, G_MAXINT32, 0, - G_PARAM_READWRITE | diff --git a/debian/patches/libnm-vpn-restore-export-of-deprecated-NMVpnPluginOld-sym.patch b/debian/patches/libnm-vpn-restore-export-of-deprecated-NMVpnPluginOld-sym.patch deleted file mode 100644 index a9529d2b..00000000 --- a/debian/patches/libnm-vpn-restore-export-of-deprecated-NMVpnPluginOld-sym.patch +++ /dev/null @@ -1,149 +0,0 @@ -From: Dan Williams <dcbw@redhat.com> -Date: Wed, 20 Jan 2016 10:53:54 -0600 -Subject: libnm,vpn: restore export of deprecated NMVpnPluginOld symbols - -Deprecated of course, but shouldn't have been removed from the ABI. - -Fixes: 867227dd4aac8371b3cacc366b32a3fa96eba42a - -(cherry-picked from commit d59c1d4c8aee9f3bee7e30eb7505aace62572fff) ---- - docs/libnm/Makefile.am | 1 - - libnm/libnm.ver | 11 +++++++++++ - libnm/nm-vpn-plugin-old.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 51 insertions(+), 1 deletion(-) - -diff --git a/docs/libnm/Makefile.am b/docs/libnm/Makefile.am -index 5b96d5a..380371e 100644 ---- a/docs/libnm/Makefile.am -+++ b/docs/libnm/Makefile.am -@@ -54,7 +54,6 @@ IGNORE_HFILES= \ - nm-setting-private.h \ - nm-types.h \ - nm-utils-private.h \ -- nm-vpn-plugin-old.h \ - nm-vpn-service-plugin.h \ - nm-core-tests-enum-types.h - -diff --git a/libnm/libnm.ver b/libnm/libnm.ver -index ed008ee..1b18560 100644 ---- a/libnm/libnm.ver -+++ b/libnm/libnm.ver -@@ -821,6 +821,17 @@ global: - nm_vpn_plugin_error_get_type; - nm_vpn_plugin_error_quark; - nm_vpn_plugin_failure_get_type; -+ nm_vpn_plugin_old_disconnect; -+ nm_vpn_plugin_old_failure; -+ nm_vpn_plugin_old_get_connection; -+ nm_vpn_plugin_old_get_secret_flags; -+ nm_vpn_plugin_old_get_state; -+ nm_vpn_plugin_old_get_type; -+ nm_vpn_plugin_old_read_vpn_details; -+ nm_vpn_plugin_old_secrets_required; -+ nm_vpn_plugin_old_set_ip4_config; -+ nm_vpn_plugin_old_set_login_banner; -+ nm_vpn_plugin_old_set_state; - nm_vpn_service_state_get_type; - nm_wep_key_type_get_type; - nm_wimax_nsp_connection_valid; -diff --git a/libnm/nm-vpn-plugin-old.c b/libnm/nm-vpn-plugin-old.c -index cfc8c66..4854b66 100644 ---- a/libnm/nm-vpn-plugin-old.c -+++ b/libnm/nm-vpn-plugin-old.c -@@ -129,6 +129,11 @@ nm_vpn_plugin_old_get_connection (NMVpnPluginOld *plugin) - return connection; - } - -+/** -+ * nm_vpn_plugin_old_get_state: -+ * -+ * Deprecated: 1.2: replaced by NMVpnServicePlugin -+ */ - NMVpnServiceState - nm_vpn_plugin_old_get_state (NMVpnPluginOld *plugin) - { -@@ -137,6 +142,11 @@ nm_vpn_plugin_old_get_state (NMVpnPluginOld *plugin) - return NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin)->state; - } - -+/** -+ * nm_vpn_plugin_old_set_state: -+ * -+ * Deprecated: 1.2: replaced by NMVpnServicePlugin -+ */ - void - nm_vpn_plugin_old_set_state (NMVpnPluginOld *plugin, - NMVpnServiceState state) -@@ -152,6 +162,11 @@ nm_vpn_plugin_old_set_state (NMVpnPluginOld *plugin, - } - } - -+/** -+ * nm_vpn_plugin_old_set_login_banner: -+ * -+ * Deprecated: 1.2: replaced by NMVpnServicePlugin -+ */ - void - nm_vpn_plugin_old_set_login_banner (NMVpnPluginOld *plugin, - const char *banner) -@@ -162,6 +177,11 @@ nm_vpn_plugin_old_set_login_banner (NMVpnPluginOld *plugin, - g_signal_emit (plugin, signals[LOGIN_BANNER], 0, banner); - } - -+/** -+ * nm_vpn_plugin_old_failure: -+ * -+ * Deprecated: 1.2: replaced by NMVpnServicePlugin -+ */ - void - nm_vpn_plugin_old_failure (NMVpnPluginOld *plugin, - NMVpnPluginFailure reason) -@@ -171,6 +191,11 @@ nm_vpn_plugin_old_failure (NMVpnPluginOld *plugin, - g_signal_emit (plugin, signals[FAILURE], 0, reason); - } - -+/** -+ * nm_vpn_plugin_old_disconnect: -+ * -+ * Deprecated: 1.2: replaced by NMVpnServicePlugin -+ */ - gboolean - nm_vpn_plugin_old_disconnect (NMVpnPluginOld *plugin, GError **err) - { -@@ -277,6 +302,11 @@ schedule_fail_stop (NMVpnPluginOld *plugin) - priv->fail_stop_id = g_idle_add (fail_stop, plugin); - } - -+/** -+ * nm_vpn_plugin_old_set_config: -+ * -+ * Deprecated: 1.2: replaced by NMVpnServicePlugin -+ */ - void - nm_vpn_plugin_old_set_config (NMVpnPluginOld *plugin, - GVariant *config) -@@ -316,6 +346,11 @@ nm_vpn_plugin_old_set_config (NMVpnPluginOld *plugin, - g_signal_emit (plugin, signals[CONFIG], 0, config); - } - -+/** -+ * nm_vpn_plugin_old_set_ip4_config: -+ * -+ * Deprecated: 1.2: replaced by NMVpnServicePlugin -+ */ - void - nm_vpn_plugin_old_set_ip4_config (NMVpnPluginOld *plugin, - GVariant *ip4_config) -@@ -371,6 +406,11 @@ nm_vpn_plugin_old_set_ip4_config (NMVpnPluginOld *plugin, - nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED); - } - -+/** -+ * nm_vpn_plugin_old_set_ip6_config: -+ * -+ * Deprecated: 1.2: replaced by NMVpnServicePlugin -+ */ - void - nm_vpn_plugin_old_set_ip6_config (NMVpnPluginOld *plugin, - GVariant *ip6_config) diff --git a/debian/patches/series b/debian/patches/series index 96ddf072..445a1b3d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,14 +3,6 @@ Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch fix-arping-path.patch Check-at-runtime-whether-to-start-ModemManager.patch -build-install-nm-settings-ifcfg-rh.5-man-page-condit.patch Don-t-make-NetworkManager-D-Bus-activatable.patch Don-t-block-network.target-on-NetworkManager-wait-on.patch Fix-iscsiadm-path.patch -libnm-vpn-restore-export-of-deprecated-NMVpnPluginOld-sym.patch -tests-use-dbus-run-session-instead-of-dbus-launch.patch -systemd-add-chroot-capability.patch -Use-bash-explicitly-when-running-the-tests.patch -dns-clean-up-error-paths-in-dns-manager.patch -libnm-fix-copy-paste-error-in-NMSettingVxlan-properties.patch -libnm-fix-NMSettingVxlan-ageing-and-limit-max-values.patch diff --git a/debian/patches/systemd-add-chroot-capability.patch b/debian/patches/systemd-add-chroot-capability.patch deleted file mode 100644 index 97ac3f2f..00000000 --- a/debian/patches/systemd-add-chroot-capability.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Lubomir Rintel <lkundrak@v3.sk> -Date: Fri, 22 Jan 2016 22:11:07 +0100 -Subject: systemd: add chroot capability - -CAP_SYS_CHROOT is needed for openvpn hardening. ---- - data/NetworkManager.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in -index 90c0664..ff0e301 100644 ---- a/data/NetworkManager.service.in -+++ b/data/NetworkManager.service.in -@@ -9,7 +9,7 @@ ExecStart=@sbindir@/NetworkManager --no-daemon - Restart=on-failure - # NM doesn't want systemd to kill its children for it - KillMode=process --CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE CAP_KILL -+CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE CAP_KILL CAP_SYS_CHROOT - ProtectSystem=true - ProtectHome=read-only - diff --git a/debian/patches/tests-use-dbus-run-session-instead-of-dbus-launch.patch b/debian/patches/tests-use-dbus-run-session-instead-of-dbus-launch.patch deleted file mode 100644 index a95b8e2c..00000000 --- a/debian/patches/tests-use-dbus-run-session-instead-of-dbus-launch.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Michael Biebl <biebl@debian.org> -Date: Thu, 21 Jan 2016 23:11:29 +0100 -Subject: tests: use dbus-run-session instead of dbus-launch - -The dbus-run-session utility was designed to run a process within a -D-Bus session, specifically for running regressions tests and is much -better suited then dbus-launch. As an additional benefit, this avoids -any X dependencies. ---- - libnm-glib/tests/libnm-glib-test-launch.sh | 6 +----- - libnm/tests/libnm-test-launch.sh | 6 +----- - 2 files changed, 2 insertions(+), 10 deletions(-) - -diff --git a/libnm-glib/tests/libnm-glib-test-launch.sh b/libnm-glib/tests/libnm-glib-test-launch.sh -index 980f834..1064e41 100755 ---- a/libnm-glib/tests/libnm-glib-test-launch.sh -+++ b/libnm-glib/tests/libnm-glib-test-launch.sh -@@ -1,7 +1,3 @@ - #!/bin/sh - --# Spawn DBus --eval `dbus-launch --sh-syntax` --trap "kill $DBUS_SESSION_BUS_PID" EXIT -- --"$@" -+dbus-run-session -- "$@" -diff --git a/libnm/tests/libnm-test-launch.sh b/libnm/tests/libnm-test-launch.sh -index 980f834..1064e41 100755 ---- a/libnm/tests/libnm-test-launch.sh -+++ b/libnm/tests/libnm-test-launch.sh -@@ -1,7 +1,3 @@ - #!/bin/sh - --# Spawn DBus --eval `dbus-launch --sh-syntax` --trap "kill $DBUS_SESSION_BUS_PID" EXIT -- --"$@" -+dbus-run-session -- "$@" |