diff options
| author | Aron Xu <aron@debian.org> | 2016-09-12 06:02:16 (GMT) |
|---|---|---|
| committer | Aron Xu <aron@debian.org> | 2016-09-12 06:18:27 (GMT) |
| commit | 38a52be23a88226fc255332d6d1bd2b440bc8b5b (patch) | |
| tree | 78ff1747912801ac6d34fba5864c2a50b599b458 | |
| parent | ccc0b8aecf93a864e3a84b1fba6c541f45519c99 (diff) | |
Update patches for new upstream release
26 files changed, 247 insertions, 420 deletions
diff --git a/debian/patches/Add-new-NMSettingsConnection-reset_retries-get-set-m.patch b/debian/patches/Add-new-NMSettingsConnection-reset_retries-get-set-m.patch index 3fc4826..3a7a968 100644 --- a/debian/patches/Add-new-NMSettingsConnection-reset_retries-get-set-m.patch +++ b/debian/patches/Add-new-NMSettingsConnection-reset_retries-get-set-m.patch @@ -13,10 +13,10 @@ Bug: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1461593 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c -index 6bed3fe..fa2b573 100644 +index 5b3a399..fc91ef5 100644 --- a/src/settings/nm-settings-connection.c +++ b/src/settings/nm-settings-connection.c -@@ -125,6 +125,7 @@ typedef struct { +@@ -124,6 +124,7 @@ typedef struct { int autoconnect_retries; gint32 autoconnect_retry_time; @@ -24,7 +24,7 @@ index 6bed3fe..fa2b573 100644 NMDeviceStateReason autoconnect_blocked_reason; char *filename; -@@ -2407,7 +2408,8 @@ nm_settings_connection_set_autoconnect_retries (NMSettingsConnection *self, +@@ -2402,7 +2403,8 @@ nm_settings_connection_set_autoconnect_retries (NMSettingsConnection *self, if (retries) priv->autoconnect_retry_time = 0; else @@ -34,7 +34,7 @@ index 6bed3fe..fa2b573 100644 } void -@@ -2416,6 +2418,19 @@ nm_settings_connection_reset_autoconnect_retries (NMSettingsConnection *self) +@@ -2411,6 +2413,19 @@ nm_settings_connection_reset_autoconnect_retries (NMSettingsConnection *self) nm_settings_connection_set_autoconnect_retries (self, AUTOCONNECT_RETRIES_DEFAULT); } @@ -54,16 +54,16 @@ index 6bed3fe..fa2b573 100644 gint32 nm_settings_connection_get_autoconnect_retry_time (NMSettingsConnection *self) { -@@ -2580,6 +2595,7 @@ nm_settings_connection_init (NMSettingsConnection *self) +@@ -2575,6 +2590,7 @@ nm_settings_connection_init (NMSettingsConnection *self) priv->autoconnect_retries = AUTOCONNECT_RETRIES_DEFAULT; priv->autoconnect_blocked_reason = NM_DEVICE_STATE_REASON_NONE; + priv->reset_retries_timeout = AUTOCONNECT_RESET_RETRIES_TIMER; g_signal_connect (self, NM_CONNECTION_SECRETS_CLEARED, G_CALLBACK (secrets_cleared_cb), NULL); - g_signal_connect (self, NM_CONNECTION_CHANGED, G_CALLBACK (changed_cb), GUINT_TO_POINTER (TRUE)); + g_signal_connect (self, NM_CONNECTION_CHANGED, G_CALLBACK (connection_changed_cb), NULL); diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h -index 5c12a8a..ece530a 100644 +index c45505d..46a90f5 100644 --- a/src/settings/nm-settings-connection.h +++ b/src/settings/nm-settings-connection.h @@ -208,6 +208,9 @@ void nm_settings_connection_set_autoconnect_retries (NMSettingsConnection *self, diff --git a/debian/patches/Don-t-block-network.target-on-NetworkManager-wait-on.patch b/debian/patches/Don-t-block-network.target-on-NetworkManager-wait-on.patch deleted file mode 100644 index 4ee2e37..0000000 --- a/debian/patches/Don-t-block-network.target-on-NetworkManager-wait-on.patch +++ /dev/null @@ -1,54 +0,0 @@ -From: Michael Biebl <biebl@debian.org> -Date: Sun, 29 Mar 2015 22:58:43 +0200 -Subject: Don't block network.target on NetworkManager-wait-online.service - -network.target is supposed to be a passive unit which is pulled in my -the network management service. - -Also, we want NetworkManager-wait-online.service be hooked up in -network-online.target, not multi-user.target. - -While at it, add a few other smaller fixes, like the addition of -Documentation= and RemainAfterExit=yes - -http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ -https://bugzilla.gnome.org/show_bug.cgi?id=746039 ---- - data/Makefile.am | 4 ---- - data/NetworkManager-wait-online.service.in | 2 ++ - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/data/Makefile.am b/data/Makefile.am -index 4ab4106..bbe6b32 100644 ---- a/data/Makefile.am -+++ b/data/Makefile.am -@@ -18,10 +18,6 @@ endif - - NetworkManager-dispatcher.service: NetworkManager-dispatcher.service.in - $(edit) $< >$@ -- --install-exec-local: -- install -d $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants -- ln -sf $(systemdsystemunitdir)/NetworkManager-wait-online.service $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants - endif - - examplesdir = $(docdir)/examples -diff --git a/data/NetworkManager-wait-online.service.in b/data/NetworkManager-wait-online.service.in -index 8c4fa67..1753d20 100644 ---- a/data/NetworkManager-wait-online.service.in -+++ b/data/NetworkManager-wait-online.service.in -@@ -1,5 +1,6 @@ - [Unit] - Description=Network Manager Wait Online -+Documentation=man:nm-online(1) - Requisite=NetworkManager.service - After=NetworkManager.service - Before=network-online.target -@@ -7,6 +8,7 @@ Before=network-online.target - [Service] - Type=oneshot - ExecStart=@bindir@/nm-online -s -q --timeout=30 -+RemainAfterExit=yes - - [Install] - WantedBy=network-online.target 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 967d247..4ef2fc4 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 7946ac1..eaab677 100644 +index 95128a6..7a4cede 100644 --- a/data/NetworkManager.service.in +++ b/data/NetworkManager.service.in -@@ -18,6 +18,5 @@ ProtectHome=read-only +@@ -20,6 +20,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 971b042..f190e32 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 @@ -12,13 +12,13 @@ systemd. Closes: #742933 --- - configure.ac | 3 ++- - src/Makefile.am | 2 ++ - src/nm-sleep-monitor-systemd.c | 5 +++++ + configure.ac | 3 ++- + src/Makefile.am | 2 ++ + src/nm-sleep-monitor.c | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 7bb3779..93adf26 100644 +index 4c56e14..a47f09e 100644 --- a/configure.ac +++ b/configure.ac @@ -474,8 +474,9 @@ fi @@ -33,10 +33,10 @@ index 7bb3779..93adf26 100644 ;; consolekit) diff --git a/src/Makefile.am b/src/Makefile.am -index aa35eef..2495bbc 100644 +index 48af5a0..b4fc16d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -482,6 +482,7 @@ AM_CPPFLAGS += \ +@@ -474,6 +474,7 @@ AM_CPPFLAGS += \ $(SELINUX_CFLAGS) \ $(LIBAUDIT_CFLAGS) \ $(SYSTEMD_LOGIN_CFLAGS) \ @@ -44,7 +44,7 @@ index aa35eef..2495bbc 100644 $(SYSTEMD_JOURNAL_CFLAGS) \ $(SYSTEMD_NM_CFLAGS_PATHS) \ \ -@@ -515,6 +516,7 @@ libNetworkManager_la_LIBADD = \ +@@ -507,6 +508,7 @@ libNetworkManager_la_LIBADD = \ $(GUDEV_LIBS) \ $(LIBNL_LIBS) \ $(SYSTEMD_LOGIN_LIBS) \ @@ -52,11 +52,11 @@ index aa35eef..2495bbc 100644 $(SYSTEMD_JOURNAL_LIBS) \ $(LIBNDP_LIBS) \ $(LIBDL) \ -diff --git a/src/nm-sleep-monitor-systemd.c b/src/nm-sleep-monitor-systemd.c -index 064a703..d42c0fe 100644 ---- a/src/nm-sleep-monitor-systemd.c -+++ b/src/nm-sleep-monitor-systemd.c -@@ -23,6 +23,7 @@ +diff --git a/src/nm-sleep-monitor.c b/src/nm-sleep-monitor.c +index 13ce1be..561e503 100644 +--- a/src/nm-sleep-monitor.c ++++ b/src/nm-sleep-monitor.c +@@ -25,6 +25,7 @@ #include <string.h> #include <sys/stat.h> #include <gio/gunixfdlist.h> @@ -64,7 +64,7 @@ index 064a703..d42c0fe 100644 #include "nm-core-internal.h" #include "NetworkManagerUtils.h" -@@ -203,6 +204,10 @@ on_proxy_acquired (GObject *object, +@@ -340,6 +341,10 @@ on_proxy_acquired (GObject *object, static void nm_sleep_monitor_init (NMSleepMonitor *self) { @@ -73,5 +73,5 @@ index 064a703..d42c0fe 100644 + return; + } self->inhibit_fd = -1; + self->cancellable = g_cancellable_new (); g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM, - G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START | diff --git a/debian/patches/Filter-DNS-servers-to-add-to-dnsmasq-based-on-availa.patch b/debian/patches/Filter-DNS-servers-to-add-to-dnsmasq-based-on-availa.patch deleted file mode 100644 index fae01f9..0000000 --- a/debian/patches/Filter-DNS-servers-to-add-to-dnsmasq-based-on-availa.patch +++ /dev/null @@ -1,82 +0,0 @@ -From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com> -Date: Fri, 13 May 2016 11:00:11 +0800 -Subject: Filter DNS servers to add to dnsmasq based on availability and VPN - status - ---- - src/dns-manager/nm-dns-dnsmasq.c | 47 +++++++++++++++++++++++++++++++++------- - 1 file changed, 39 insertions(+), 8 deletions(-) - -diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c -index 951572c..b10ffb3 100644 ---- a/src/dns-manager/nm-dns-dnsmasq.c -+++ b/src/dns-manager/nm-dns-dnsmasq.c -@@ -439,6 +439,8 @@ update (NMDnsPlugin *plugin, - NMDnsDnsmasqPrivate *priv = NM_DNS_DNSMASQ_GET_PRIVATE (self); - const GSList *iter; - GVariantBuilder servers; -+ GSList *vpn_configs_copy; -+ gboolean might_default = FALSE; - - start_dnsmasq (self); - -@@ -447,22 +449,51 @@ update (NMDnsPlugin *plugin, - if (global_config) - add_global_config (self, &servers, global_config); - else { -- /* Use split DNS for VPN configs */ -- for (iter = vpn_configs; iter; iter = g_slist_next (iter)) { -+ /* Work on a copy of the vpn_configs list because we might want to remove -+ * some items from it, yet not affect other DNS plugins that might run -+ */ -+ vpn_configs_copy = g_slist_copy ((GSList *) vpn_configs); -+ -+ /* Look for a VPN config that is set to get a default route, and if -+ * there is one, install it *without* splitting into per-domain servers. -+ */ -+ for (iter = (GSList *) vpn_configs_copy; iter; iter = g_slist_next (iter)) { - if (NM_IS_IP4_CONFIG (iter->data)) -- add_ip4_config (self, &servers, iter->data, TRUE); -+ might_default = !nm_ip4_config_get_never_default (iter->data); - else if (NM_IS_IP6_CONFIG (iter->data)) -- add_ip6_config (self, &servers, iter->data, TRUE); -+ might_default = !nm_ip6_config_get_never_default (iter->data); -+ if (might_default) { -+ if (NM_IS_IP4_CONFIG (iter->data)) -+ add_ip4_config (self, &servers, iter->data, FALSE); -+ else if (NM_IS_IP6_CONFIG (iter->data)) -+ add_ip6_config (self, &servers, iter->data, FALSE); -+ vpn_configs_copy = g_slist_remove (vpn_configs_copy, iter->data); -+ break; -+ } - } - -- /* Now add interface configs without split DNS */ -- for (iter = dev_configs; iter; iter = g_slist_next (iter)) { -+ /* Use split DNS for remaining VPN configs */ -+ for (iter = (GSList *) vpn_configs_copy; iter; iter = g_slist_next (iter)) { - if (NM_IS_IP4_CONFIG (iter->data)) -- add_ip4_config (self, &servers, iter->data, FALSE); -+ add_ip4_config (self, &servers, iter->data, TRUE); - else if (NM_IS_IP6_CONFIG (iter->data)) -- add_ip6_config (self, &servers, iter->data, FALSE); -+ add_ip6_config (self, &servers, iter->data, TRUE); - } - -+ /* Now add interface configs without split DNS, unless some VPN -+ * grabs the default route (in which case we should not install them -+ * at all, since even split DNS may fail, if the local subnet defines -+ * its domain as being the same domain as what the "default" VPN provides. -+ */ -+ if (!might_default) { -+ for (iter = (GSList *) dev_configs; iter; iter = g_slist_next (iter)) { -+ if (NM_IS_IP4_CONFIG (iter->data)) -+ add_ip4_config (self, &servers, iter->data, FALSE); -+ else if (NM_IS_IP6_CONFIG (iter->data)) -+ add_ip6_config (self, &servers, iter->data, FALSE); -+ } -+ } -+ - /* And any other random configs */ - for (iter = other_configs; iter; iter = g_slist_next (iter)) { - if (NM_IS_IP4_CONFIG (iter->data)) diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index d7f445a..66cce38 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 e64c68a..10aa3d7 100644 +index 8277f6b..9ab54b3 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c -@@ -57,6 +57,8 @@ +@@ -58,6 +58,8 @@ #include "nmdbus-manager.h" #include "nmdbus-device.h" @@ -24,7 +24,7 @@ index e64c68a..10aa3d7 100644 static gboolean add_device (NMManager *self, NMDevice *device, GError **error); static NMActiveConnection *_new_active_connection (NMManager *self, -@@ -137,6 +139,10 @@ typedef struct { +@@ -139,6 +141,10 @@ typedef struct { GFileMonitor *fw_monitor; guint fw_changed_id; @@ -35,7 +35,7 @@ index e64c68a..10aa3d7 100644 guint timestamp_update_id; gboolean startup; -@@ -687,6 +693,29 @@ find_best_device_state (NMManager *manager) +@@ -787,6 +793,29 @@ find_best_device_state (NMManager *manager) return best_state; } @@ -65,7 +65,7 @@ index e64c68a..10aa3d7 100644 static void nm_manager_update_metered (NMManager *self) { -@@ -727,6 +756,9 @@ nm_manager_update_state (NMManager *manager) +@@ -827,6 +856,9 @@ nm_manager_update_state (NMManager *manager) nm_connectivity_set_online (priv->connectivity, new_state >= NM_STATE_CONNECTED_LOCAL); @@ -75,7 +75,7 @@ index e64c68a..10aa3d7 100644 if (new_state == NM_STATE_CONNECTED_SITE) { nm_connectivity_check_async (priv->connectivity, checked_connectivity, -@@ -4410,6 +4442,65 @@ impl_manager_check_connectivity (NMManager *self, +@@ -4632,6 +4664,65 @@ impl_manager_check_connectivity (NMManager *self, } static void @@ -141,7 +141,7 @@ index e64c68a..10aa3d7 100644 start_factory (NMDeviceFactory *factory, gpointer user_data) { nm_device_factory_start (factory); -@@ -4480,6 +4571,9 @@ nm_manager_start (NMManager *self, GError **error) +@@ -4702,6 +4793,9 @@ nm_manager_start (NMManager *self, GError **error) check_if_startup_complete (self); @@ -151,7 +151,7 @@ index e64c68a..10aa3d7 100644 return TRUE; } -@@ -5280,6 +5374,22 @@ nm_manager_init (NMManager *self) +@@ -5503,6 +5597,22 @@ nm_manager_init (NMManager *self) KERNEL_FIRMWARE_DIR); } @@ -174,7 +174,7 @@ index e64c68a..10aa3d7 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self); -@@ -5522,6 +5632,16 @@ dispose (GObject *object) +@@ -5748,6 +5858,16 @@ dispose (GObject *object) g_clear_object (&priv->fw_monitor); } diff --git a/debian/patches/Ignore-p2p0-wifi-devices-from-android.patch b/debian/patches/Ignore-p2p0-wifi-devices-from-android.patch index c567c96..08410c3 100644 --- a/debian/patches/Ignore-p2p0-wifi-devices-from-android.patch +++ b/debian/patches/Ignore-p2p0-wifi-devices-from-android.patch @@ -7,10 +7,10 @@ Subject: Ignore p2p0 wifi devices from android. 1 file changed, 10 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index 769662c..b770139 100644 +index 25c94b6..7f7648d 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c -@@ -2105,6 +2105,16 @@ platform_link_added (NMManager *self, +@@ -2221,6 +2221,16 @@ platform_link_added (NMManager *self, !strncmp (plink->name, "ccmni", NM_STRLEN ("ccmni"))) return; diff --git a/debian/patches/Ignore-rmnet_usbX-devices.patch b/debian/patches/Ignore-rmnet_usbX-devices.patch index f973a5f..f771978 100644 --- a/debian/patches/Ignore-rmnet_usbX-devices.patch +++ b/debian/patches/Ignore-rmnet_usbX-devices.patch @@ -7,10 +7,10 @@ Subject: Ignore rmnet_usbX devices. 1 file changed, 6 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c -index 10aa3d7..769662c 100644 +index 9ab54b3..25c94b6 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c -@@ -2099,6 +2099,12 @@ platform_link_added (NMManager *self, +@@ -2215,6 +2215,12 @@ platform_link_added (NMManager *self, } } diff --git a/debian/patches/Let-NetworkManager-read-oFono-settings-file-and-crea.patch b/debian/patches/Let-NetworkManager-read-oFono-settings-file-and-crea.patch index 4187e1f..f112c29 100644 --- a/debian/patches/Let-NetworkManager-read-oFono-settings-file-and-crea.patch +++ b/debian/patches/Let-NetworkManager-read-oFono-settings-file-and-crea.patch @@ -22,7 +22,7 @@ Subject: Let NetworkManager read oFono settings file and create connections create mode 100644 src/settings/plugins/ofono/plugin.h diff --git a/configure.ac b/configure.ac -index b7a0583..2ccfa23 100644 +index 911f617..a34babe 100644 --- a/configure.ac +++ b/configure.ac @@ -95,6 +95,7 @@ AC_ARG_ENABLE(ifcfg-rh, AS_HELP_STRING([--enable-ifcfg-rh], [enable ifcfg-rh con @@ -50,7 +50,7 @@ index b7a0583..2ccfa23 100644 AC_ARG_WITH(config-plugins-default, AS_HELP_STRING([--with-config-plugins-default=PLUGINS], [Default configuration option for main.plugins setting, used as fallback if the configuration option is unset]), [config_plugins_default="$withval"], [config_plugins_default=""]) if test -z "$config_plugins_default" -o "$config_plugins_default" = no; then -@@ -1043,6 +1047,7 @@ src/ppp-manager/Makefile +@@ -1068,6 +1072,7 @@ src/ppp-manager/Makefile src/settings/plugins/Makefile src/settings/plugins/ifupdown/Makefile src/settings/plugins/ifupdown/tests/Makefile @@ -58,7 +58,7 @@ index b7a0583..2ccfa23 100644 src/settings/plugins/ifnet/Makefile src/settings/plugins/ifnet/tests/Makefile src/settings/plugins/ifcfg-rh/Makefile -@@ -1169,6 +1174,7 @@ echo " ibft: ${enable_config_plugin_ibft}" +@@ -1194,6 +1199,7 @@ echo " ibft: ${enable_config_plugin_ibft}" echo " ifcfg-rh: ${enable_ifcfg_rh}" echo " ifupdown: ${enable_ifupdown}" echo " ifnet: ${enable_ifnet}" diff --git a/debian/patches/Order-IPv6-nameservers-before-IPv4-for-dns-plugins-d.patch b/debian/patches/Order-IPv6-nameservers-before-IPv4-for-dns-plugins-d.patch deleted file mode 100644 index 83d8940..0000000 --- a/debian/patches/Order-IPv6-nameservers-before-IPv4-for-dns-plugins-d.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com> -Date: Fri, 13 May 2016 11:03:53 +0800 -Subject: Order IPv6 nameservers before IPv4 for dns plugins (dnsmasq, bind) - -IPv6 nameservers are usually ordered last because there's some chance of broken -routers dropping the AAAA requests before they reach the nameservers, but when -using dnsmasq, this is mitigated by how dnsmasq handles sending requests to the -nameservers. Since ordering IPv4 nameservers before IPv6 defeats the purpose of -enabling IPv6 and trying to prefer it whenever possible, make sure the IPv6 -nameservers are actually showing up first in dns plugin configuration. - -This is a very simple implementation of such re-ordering, just add the IPv6 -nameservers first when building the list of IP configurations (which will -include nameservers, search domains, etc.), the IPv4 data will be appended -right after. ---- - src/dns-manager/nm-dns-manager.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c -index 77e9221..9b7092c 100644 ---- a/src/dns-manager/nm-dns-manager.c -+++ b/src/dns-manager/nm-dns-manager.c -@@ -782,14 +782,14 @@ build_plugin_config_lists (NMDnsManager *self, - * still use the domain information in each config to provide split DNS if - * they want to. - */ -- if (priv->ip4_vpn_config) -- *out_vpn_configs = g_slist_append (*out_vpn_configs, priv->ip4_vpn_config); - if (priv->ip6_vpn_config) - *out_vpn_configs = g_slist_append (*out_vpn_configs, priv->ip6_vpn_config); -- if (priv->ip4_device_config) -- *out_dev_configs = g_slist_append (*out_dev_configs, priv->ip4_device_config); -+ if (priv->ip4_vpn_config) -+ *out_vpn_configs = g_slist_append (*out_vpn_configs, priv->ip4_vpn_config); - if (priv->ip6_device_config) - *out_dev_configs = g_slist_append (*out_dev_configs, priv->ip6_device_config); -+ if (priv->ip4_device_config) -+ *out_dev_configs = g_slist_append (*out_dev_configs, priv->ip4_device_config); - - for (iter = priv->configs; iter; iter = g_slist_next (iter)) { - if (!NM_IN_SET (iter->data, priv->ip4_vpn_config, diff --git a/debian/patches/Read-config-from-run.patch b/debian/patches/Read-config-from-run.patch index 287886e..f4579a8 100644 --- a/debian/patches/Read-config-from-run.patch +++ b/debian/patches/Read-config-from-run.patch @@ -9,10 +9,10 @@ Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/15918 1 file changed, 19 insertions(+) diff --git a/src/nm-config.c b/src/nm-config.c -index 8bca687..e962f91 100644 +index 247b9a8..b72bb43 100644 --- a/src/nm-config.c +++ b/src/nm-config.c -@@ -38,6 +38,7 @@ +@@ -39,6 +39,7 @@ #define DEFAULT_SYSTEM_CONFIG_DIR NMLIBDIR "/conf.d" #define DEFAULT_NO_AUTO_DEFAULT_FILE NMSTATEDIR "/no-auto-default.state" #define DEFAULT_INTERN_CONFIG_FILE NMSTATEDIR "/NetworkManager-intern.conf" diff --git a/debian/patches/Read-system-connections-from-run.patch b/debian/patches/Read-system-connections-from-run.patch index da99432..21276a3 100644 --- a/debian/patches/Read-system-connections-from-run.patch +++ b/debian/patches/Read-system-connections-from-run.patch @@ -9,7 +9,7 @@ Bug-Ubuntu: https://launchpad.net/bugs/1594551 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/nm-config.c b/src/nm-config.c -index e962f91..9784986 100644 +index b72bb43..1d5e97a 100644 --- a/src/nm-config.c +++ b/src/nm-config.c @@ -925,8 +925,9 @@ read_entire_config (const NMConfigCmdLineOptions *cli, diff --git a/debian/patches/Replace-Ad-Hoc-WPA-None-support-with-IBSS-RSN-PSK.patch b/debian/patches/Replace-Ad-Hoc-WPA-None-support-with-IBSS-RSN-PSK.patch index 3a997ce..16c3152 100644 --- a/debian/patches/Replace-Ad-Hoc-WPA-None-support-with-IBSS-RSN-PSK.patch +++ b/debian/patches/Replace-Ad-Hoc-WPA-None-support-with-IBSS-RSN-PSK.patch @@ -472,10 +472,10 @@ index 79f217a..8ca4ed6 100644 return NL_SKIP; diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c -index 39e981f..c87ccf8 100644 +index fe762db..cdac314 100644 --- a/src/settings/plugins/ifcfg-rh/reader.c +++ b/src/settings/plugins/ifcfg-rh/reader.c -@@ -2291,9 +2291,8 @@ fill_wpa_ciphers (shvarFile *ifcfg, +@@ -2296,9 +2296,8 @@ fill_wpa_ciphers (shvarFile *ifcfg, PARSE_WARNING ("ignoring group cipher '%s' (only one group cipher allowed " "in Ad-Hoc mode)", *iter); continue; @@ -487,7 +487,7 @@ index 39e981f..c87ccf8 100644 continue; } } -@@ -3119,8 +3118,8 @@ make_wpa_setting (shvarFile *ifcfg, +@@ -3124,8 +3123,8 @@ make_wpa_setting (shvarFile *ifcfg, /* WPA and/or RSN */ if (adhoc) { @@ -498,7 +498,7 @@ index 39e981f..c87ccf8 100644 } else { char *allow_wpa, *allow_rsn; -@@ -3160,10 +3159,7 @@ make_wpa_setting (shvarFile *ifcfg, +@@ -3165,10 +3164,7 @@ make_wpa_setting (shvarFile *ifcfg, goto error; } diff --git a/debian/patches/Revert-wifi-disable-Ad-Hoc-WPA-connections-lp-905748.patch b/debian/patches/Revert-wifi-disable-Ad-Hoc-WPA-connections-lp-905748.patch index ab815bb..a89c158 100644 --- a/debian/patches/Revert-wifi-disable-Ad-Hoc-WPA-connections-lp-905748.patch +++ b/debian/patches/Revert-wifi-disable-Ad-Hoc-WPA-connections-lp-905748.patch @@ -34,10 +34,10 @@ index 717260a..f1beb6a 100644 return FALSE; if (have_ap) { diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c -index 95a89ea..a6acd37 100644 +index 17f5b14..8c665e7 100644 --- a/src/devices/wifi/nm-device-wifi.c +++ b/src/devices/wifi/nm-device-wifi.c -@@ -510,36 +510,6 @@ deactivate (NMDevice *device) +@@ -516,36 +516,6 @@ deactivate (NMDevice *device) } static gboolean @@ -74,7 +74,7 @@ index 95a89ea..a6acd37 100644 check_connection_compatible (NMDevice *device, NMConnection *connection) { NMDeviceWifi *self = NM_DEVICE_WIFI (device); -@@ -585,9 +555,6 @@ check_connection_compatible (NMDevice *device, NMConnection *connection) +@@ -591,9 +561,6 @@ check_connection_compatible (NMDevice *device, NMConnection *connection) } else if (mac) return FALSE; @@ -84,7 +84,7 @@ index 95a89ea..a6acd37 100644 /* Early exit if supplicant or device doesn't support requested mode */ mode = nm_setting_wireless_get_mode (s_wireless); if (g_strcmp0 (mode, NM_SETTING_WIRELESS_MODE_ADHOC) == 0) { -@@ -828,21 +795,6 @@ complete_connection (NMDevice *device, +@@ -835,21 +802,6 @@ complete_connection (NMDevice *device, } } @@ -106,7 +106,7 @@ index 95a89ea..a6acd37 100644 str_ssid = nm_utils_ssid_to_utf8 (ssid->data, ssid->len); nm_utils_complete_generic (NM_PLATFORM_GET, -@@ -2305,16 +2257,6 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason) +@@ -2317,16 +2269,6 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason) } g_object_notify (G_OBJECT (self), NM_DEVICE_WIFI_MODE); @@ -124,10 +124,10 @@ index 95a89ea..a6acd37 100644 cloned_mac = nm_setting_wireless_get_cloned_mac_address (s_wireless); nm_device_set_hw_addr (device, cloned_mac, "set", LOGD_WIFI); diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c -index 6514899..e2e65ba 100644 +index 73c678a..0801926 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c -@@ -1280,38 +1280,6 @@ pk_add_cb (NMAuthChain *chain, +@@ -1263,38 +1263,6 @@ pk_add_cb (NMAuthChain *chain, nm_auth_chain_unref (chain); } @@ -166,7 +166,7 @@ index 6514899..e2e65ba 100644 void nm_settings_add_connection_dbus (NMSettings *self, NMConnection *connection, -@@ -1341,17 +1309,6 @@ nm_settings_add_connection_dbus (NMSettings *self, +@@ -1324,17 +1292,6 @@ nm_settings_add_connection_dbus (NMSettings *self, goto done; } diff --git a/debian/patches/Track-killswitch-change-signals-from-urfkill.patch b/debian/patches/Track-killswitch-change-signals-from-urfkill.patch index 45b668e..3bf095c 100644 --- a/debian/patches/Track-killswitch-change-signals-from-urfkill.patch +++ b/debian/patches/Track-killswitch-change-signals-from-urfkill.patch @@ -16,10 +16,10 @@ WirelessEnabled state if urfkill support is enabled. create mode 100644 src/nm-urfkill-manager.h diff --git a/config.h.in b/config.h.in -index baabb79..356de31 100644 +index 8f8fa7c..fdd9d69 100644 --- a/config.h.in +++ b/config.h.in -@@ -261,6 +261,9 @@ +@@ -265,6 +265,9 @@ /* Define if you have ModemManager1 support */ #undef WITH_MODEM_MANAGER_1 @@ -29,7 +29,7 @@ index baabb79..356de31 100644 /* whether to compile polkit support */ #undef WITH_POLKIT -@@ -276,6 +279,9 @@ +@@ -280,6 +283,9 @@ /* Define if you have Teamd control support */ #undef WITH_TEAMDCTL @@ -40,10 +40,10 @@ index baabb79..356de31 100644 #undef WITH_WIFI diff --git a/configure.ac b/configure.ac -index 2ccfa23..6ad177d 100644 +index a47f09e..4c9aebe 100644 --- a/configure.ac +++ b/configure.ac -@@ -268,6 +268,17 @@ else +@@ -264,6 +264,17 @@ else fi dnl @@ -62,10 +62,10 @@ index 2ccfa23..6ad177d 100644 dnl LT_LIB_M diff --git a/src/Makefile.am b/src/Makefile.am -index 2495bbc..49028f1 100644 +index b4fc16d..eb00052 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -445,6 +445,12 @@ libNetworkManager_la_SOURCES = \ +@@ -444,6 +444,12 @@ libNetworkManager_la_SOURCES = \ NetworkManagerUtils.c \ NetworkManagerUtils.h @@ -76,13 +76,13 @@ index 2495bbc..49028f1 100644 + $(NULL) +endif - if SUSPEND_RESUME_UPOWER - libNetworkManager_la_SOURCES += nm-sleep-monitor-upower.c + if WITH_WEXT + libNetworkManager_la_SOURCES += \ diff --git a/src/nm-manager.c b/src/nm-manager.c -index b770139..04b0a43 100644 +index 7f7648d..e9f3bdf 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c -@@ -34,6 +34,7 @@ +@@ -35,6 +35,7 @@ #include "nm-device-generic.h" #include "nm-platform.h" #include "nm-rfkill-manager.h" @@ -90,7 +90,7 @@ index b770139..04b0a43 100644 #include "nm-dhcp-manager.h" #include "nm-settings.h" #include "nm-settings-connection.h" -@@ -121,6 +122,9 @@ typedef struct { +@@ -122,6 +123,9 @@ typedef struct { guint id; } prop_filter; NMRfkillManager *rfkill_mgr; @@ -100,7 +100,7 @@ index b770139..04b0a43 100644 NMSettings *settings; char *hostname; -@@ -144,6 +148,7 @@ typedef struct { +@@ -146,6 +150,7 @@ typedef struct { gboolean ifstate_force_online; guint timestamp_update_id; @@ -108,7 +108,7 @@ index b770139..04b0a43 100644 gboolean startup; gboolean devices_inited; -@@ -5210,6 +5215,49 @@ dbus_connection_changed_cb (NMBusManager *dbus_mgr, +@@ -5432,6 +5437,49 @@ dbus_connection_changed_cb (NMBusManager *dbus_mgr, /**********************************************************************/ @@ -158,7 +158,7 @@ index b770139..04b0a43 100644 NM_DEFINE_SINGLETON_REGISTER (NMManager); NMManager * -@@ -5231,6 +5279,44 @@ nm_connection_provider_get (void) +@@ -5453,6 +5501,44 @@ nm_connection_provider_get (void) return p; } @@ -180,8 +180,8 @@ index b770139..04b0a43 100644 + + priv = NM_MANAGER_GET_PRIVATE (mgr); + -+ rfkill_change (priv->radio_states[RFKILL_TYPE_WLAN].desc, RFKILL_TYPE_WLAN, state->wlan_enabled); -+ rfkill_change (priv->radio_states[RFKILL_TYPE_WWAN].desc, RFKILL_TYPE_WWAN, state->wwan_enabled); ++ rfkill_change (mgr, priv->radio_states[RFKILL_TYPE_WLAN].desc, RFKILL_TYPE_WLAN, state->wlan_enabled); ++ rfkill_change (mgr, priv->radio_states[RFKILL_TYPE_WWAN].desc, RFKILL_TYPE_WWAN, state->wwan_enabled); + + return G_SOURCE_REMOVE; +} @@ -203,47 +203,44 @@ index b770139..04b0a43 100644 NMManager * nm_manager_setup (const char *state_file, gboolean initial_net_enabled, -@@ -5311,16 +5397,38 @@ constructed (GObject *object) - "rfkill-changed", +@@ -5537,13 +5623,35 @@ constructed (GObject *object) G_CALLBACK (rfkill_manager_rfkill_changed_cb), self); + +#if WITH_URFKILL -+ priv->urfkill_mgr = nm_urfkill_manager_new (); -+ -+ g_signal_connect (priv->urfkill_mgr, -+ "wlan-state-changed", -+ G_CALLBACK (urfkill_wlan_state_changed_cb), -+ self); -+ g_signal_connect (priv->urfkill_mgr, -+ "wwan-state-changed", -+ G_CALLBACK (urfkill_wwan_state_changed_cb), -+ self); -+ urfkill_wlan_state_changed_cb (priv->urfkill_mgr, TRUE, self); -+ urfkill_wwan_state_changed_cb (priv->urfkill_mgr, TRUE, self); ++ priv->urfkill_mgr = nm_urfkill_manager_new (); ++ ++ g_signal_connect (priv->urfkill_mgr, ++ "wlan-state-changed", ++ G_CALLBACK (urfkill_wlan_state_changed_cb), ++ self); ++ g_signal_connect (priv->urfkill_mgr, ++ "wwan-state-changed", ++ G_CALLBACK (urfkill_wlan_state_changed_cb), ++ self); ++ urfkill_wlan_state_changed_cb (priv->urfkill_mgr, TRUE, self); ++ urfkill_wwan_state_changed_cb (priv->urfkill_mgr, TRUE, self); +#endif - ++ /* Force kernel WiFi/WWAN rfkill state to follow NM saved WiFi/WWAN state * in case the BIOS doesn't save rfkill state, and to be consistent with user * changes to the WirelessEnabled/WWANEnabled properties which toggle kernel * rfkill. */ -- rfkill_change (priv->radio_states[RFKILL_TYPE_WLAN].desc, RFKILL_TYPE_WLAN, priv->radio_states[RFKILL_TYPE_WLAN].user_enabled); -- rfkill_change (priv->radio_states[RFKILL_TYPE_WWAN].desc, RFKILL_TYPE_WWAN, priv->radio_states[RFKILL_TYPE_WWAN].user_enabled); -+ KillState *kill_state = g_slice_new0 (KillState); -+ kill_state->manager = g_object_ref (self); -+ kill_state->wlan_enabled = priv->radio_states[RFKILL_TYPE_WLAN].user_enabled; -+ kill_state->wwan_enabled = priv->radio_states[RFKILL_TYPE_WWAN].user_enabled; -+ -+ priv->rfkill_initial_id = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, 10, -+ rfkill_change_timeout, -+ kill_state, -+ kill_state_free); +- rfkill_change (self, priv->radio_states[RFKILL_TYPE_WLAN].desc, RFKILL_TYPE_WLAN, priv->radio_states[RFKILL_TYPE_WLAN].user_enabled); +- rfkill_change (self, priv->radio_states[RFKILL_TYPE_WWAN].desc, RFKILL_TYPE_WWAN, priv->radio_states[RFKILL_TYPE_WWAN].user_enabled); ++ KillState *kill_state = g_slice_new0 (KillState); ++ kill_state->manager = g_object_ref (self); ++ kill_state->wlan_enabled = priv->radio_states[RFKILL_TYPE_WLAN].user_enabled; ++ kill_state->wwan_enabled = priv->radio_states[RFKILL_TYPE_WWAN].user_enabled; ++ ++ priv->rfkill_initial_id = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, 10, ++ rfkill_change_timeout, ++ kill_state, ++ kill_state_free); } -+ static void - nm_manager_init (NMManager *self) - { diff --git a/src/nm-urfkill-manager.c b/src/nm-urfkill-manager.c new file mode 100644 index 0000000..211ebc1 diff --git a/debian/patches/Update-dnsmasq-parameters.patch b/debian/patches/Update-dnsmasq-parameters.patch index 20d8f91..45b0943 100644 --- a/debian/patches/Update-dnsmasq-parameters.patch +++ b/debian/patches/Update-dnsmasq-parameters.patch @@ -13,10 +13,10 @@ See also: https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolv 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c -index 4cee160..951572c 100644 +index 69b2606..0ad3e64 100644 --- a/src/dns-manager/nm-dns-dnsmasq.c +++ b/src/dns-manager/nm-dns-dnsmasq.c -@@ -391,8 +391,8 @@ start_dnsmasq (NMDnsDnsmasq *self) +@@ -531,8 +531,8 @@ start_dnsmasq (NMDnsDnsmasq *self) argv[idx++] = "--no-hosts"; /* don't use /etc/hosts to resolve */ argv[idx++] = "--bind-interfaces"; argv[idx++] = "--pid-file=" PIDFILE; @@ -28,10 +28,10 @@ index 4cee160..951572c 100644 argv[idx++] = "--proxy-dnssec"; /* Allow DNSSEC to pass through */ argv[idx++] = "--enable-dbus=" DNSMASQ_DBUS_SERVICE; diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c -index b42af16..77e9221 100644 +index 3efd5ac..911df48 100644 --- a/src/dns-manager/nm-dns-manager.c +++ b/src/dns-manager/nm-dns-manager.c -@@ -1006,7 +1006,7 @@ update_dns (NMDnsManager *self, +@@ -1157,7 +1157,7 @@ update_dns (NMDnsManager *self, ; } @@ -40,7 +40,7 @@ index b42af16..77e9221 100644 * to ensure that the glibc resolver doesn't try to round-robin nameservers, * but only uses the local caching nameserver. */ -@@ -1014,7 +1014,7 @@ update_dns (NMDnsManager *self, +@@ -1165,7 +1165,7 @@ update_dns (NMDnsManager *self, if (nameservers) g_strfreev (nameservers); nameservers = g_new0 (char*, 2); @@ -49,8 +49,8 @@ index b42af16..77e9221 100644 } if (update) { -@@ -1555,7 +1555,7 @@ dispose (GObject *object) - g_clear_pointer (&priv->last_mode, g_free); +@@ -1750,7 +1750,7 @@ dispose (GObject *object) + _clear_plugin (self); /* If we're quitting, leave a valid resolv.conf in place, not one - * pointing to 127.0.0.1 if any plugins were active. Thus update diff --git a/debian/patches/cli-initialize-connection-list-in-do_device_connect.patch b/debian/patches/cli-initialize-connection-list-in-do_device_connect.patch deleted file mode 100644 index 1349c3e..0000000 --- a/debian/patches/cli-initialize-connection-list-in-do_device_connect.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Beniamino Galvani <bgalvani@redhat.com> -Date: Fri, 24 Jun 2016 14:06:04 +0200 -Subject: cli: initialize connection list in do_device_connect() - -The connection list may be required in nmc_secrets_requested() if -secrets are needed. - -Fixes: 45fc268890f70fec0fb66c59de388d1798837230 - -https://bugzilla.gnome.org/show_bug.cgi?id=767987 -(cherry picked from commit bf7b9c60b6237df12897d17a2ae8921382a0773d) ---- - clients/cli/devices.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/clients/cli/devices.c b/clients/cli/devices.c -index 65c4be7..1e3d9e4 100644 ---- a/clients/cli/devices.c -+++ b/clients/cli/devices.c -@@ -1716,6 +1716,8 @@ do_device_connect (NmCli *nmc, int argc, char **argv) - nmc->nowait_flag = (nmc->timeout == 0); - nmc->should_wait++; - -+ nmc->connections = nm_client_get_connections (nmc->client); -+ - /* Create secret agent */ - nmc->secret_agent = nm_secret_agent_simple_new ("nmcli-connect"); - if (nmc->secret_agent) diff --git a/debian/patches/dns-manager-don-t-merge-split-DNS-search-domains.patch b/debian/patches/dns-manager-don-t-merge-split-DNS-search-domains.patch index 6c11798..afbb02f 100644 --- a/debian/patches/dns-manager-don-t-merge-split-DNS-search-domains.patch +++ b/debian/patches/dns-manager-don-t-merge-split-DNS-search-domains.patch @@ -5,14 +5,14 @@ Subject: dns-manager: don't merge split-DNS search domains Signed-off-by: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com> Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1592721 --- - src/dns-manager/nm-dns-manager.c | 44 ++++++++++++++++++++++------------------ - 1 file changed, 24 insertions(+), 20 deletions(-) + src/dns-manager/nm-dns-manager.c | 36 ++++++++++++++++++++---------------- + 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c -index 9b7092c..50e65c3 100644 +index 911df48..135a7a9 100644 --- a/src/dns-manager/nm-dns-manager.c +++ b/src/dns-manager/nm-dns-manager.c -@@ -201,7 +201,7 @@ add_dns_option_item (GPtrArray *array, const char *str, gboolean ipv6) +@@ -286,7 +286,7 @@ add_dns_option_item (GPtrArray *array, const char *str, gboolean ipv6) } static void @@ -21,89 +21,68 @@ index 9b7092c..50e65c3 100644 { guint32 num, num_domains, num_searches, i; -@@ -214,13 +214,15 @@ merge_one_ip4_config (NMResolvConfData *rc, NMIP4Config *src) +@@ -299,13 +299,15 @@ merge_one_ip4_config (NMResolvConfData *rc, NMIP4Config *src) num_domains = nm_ip4_config_get_num_domains (src); num_searches = nm_ip4_config_get_num_searches (src); - for (i = 0; i < num_searches; i++) { - const char *search; -+ if (!never_default) { -+ for (i = 0; i < num_searches; i++) { -+ const char *search; ++ if(!never_default) { ++ for (i = 0; i < num_searches; i++) { ++ const char *search; - search = nm_ip4_config_get_search (src, i); - if (!DOMAIN_IS_VALID (search)) - continue; - add_string_item (rc->searches, search); -+ search = nm_ip4_config_get_search (src, i); -+ if (!DOMAIN_IS_VALID (search)) -+ continue; -+ add_string_item (rc->searches, search); -+ } ++ search = nm_ip4_config_get_search (src, i); ++ if (!DOMAIN_IS_VALID (search)) ++ continue; ++ add_string_item (rc->searches, search); ++ } } if (num_domains > 1 || !num_searches) { -@@ -257,7 +259,7 @@ merge_one_ip4_config (NMResolvConfData *rc, NMIP4Config *src) +@@ -342,7 +344,7 @@ merge_one_ip4_config (NMResolvConfData *rc, NMIP4Config *src) } static void --merge_one_ip6_config (NMResolvConfData *rc, NMIP6Config *src) -+merge_one_ip6_config (NMResolvConfData *rc, NMIP6Config *src, gboolean never_default) +-merge_one_ip6_config (NMResolvConfData *rc, NMIP6Config *src, const char *iface) ++merge_one_ip6_config (NMResolvConfData *rc, NMIP6Config *src, const char *iface, gboolean never_default) { guint32 num, num_domains, num_searches, i; - const char *iface; -@@ -287,13 +289,15 @@ merge_one_ip6_config (NMResolvConfData *rc, NMIP6Config *src) + +@@ -369,13 +371,15 @@ merge_one_ip6_config (NMResolvConfData *rc, NMIP6Config *src, const char *iface) num_domains = nm_ip6_config_get_num_domains (src); num_searches = nm_ip6_config_get_num_searches (src); - for (i = 0; i < num_searches; i++) { - const char *search; -+ if (!never_default) { -+ for (i = 0; i < num_searches; i++) { -+ const char *search; ++ if (!never_default) { ++ for (i = 0; i < num_searches; i++) { ++ const char *search; - search = nm_ip6_config_get_search (src, i); - if (!DOMAIN_IS_VALID (search)) - continue; - add_string_item (rc->searches, search); -+ search = nm_ip6_config_get_search (src, i); -+ if (!DOMAIN_IS_VALID (search)) -+ continue; -+ add_string_item (rc->searches, search); -+ } ++ search = nm_ip6_config_get_search (src, i); ++ if (!DOMAIN_IS_VALID (search)) ++ continue; ++ add_string_item (rc->searches, search); ++ } } if (num_domains > 1 || !num_searches) { -@@ -881,14 +885,14 @@ update_dns (NMDnsManager *self, - merge_global_dns_config (&rc, global_config); - else { - if (priv->ip4_vpn_config) -- merge_one_ip4_config (&rc, priv->ip4_vpn_config); -+ merge_one_ip4_config (&rc, priv->ip4_vpn_config, nm_ip4_config_get_never_default (priv->ip4_vpn_config)); - if (priv->ip4_device_config) -- merge_one_ip4_config (&rc, priv->ip4_device_config); -+ merge_one_ip4_config (&rc, priv->ip4_device_config, FALSE); - - if (priv->ip6_vpn_config) -- merge_one_ip6_config (&rc, priv->ip6_vpn_config); -+ merge_one_ip6_config (&rc, priv->ip6_vpn_config, nm_ip6_config_get_never_default (priv->ip6_vpn_config)); - if (priv->ip6_device_config) -- merge_one_ip6_config (&rc, priv->ip6_device_config); -+ merge_one_ip6_config (&rc, priv->ip6_device_config, FALSE); - - for (iter = priv->configs; iter; iter = g_slist_next (iter)) { - if (NM_IN_SET (iter->data, priv->ip4_vpn_config, -@@ -900,11 +904,11 @@ update_dns (NMDnsManager *self, - if (NM_IS_IP4_CONFIG (iter->data)) { - NMIP4Config *config = NM_IP4_CONFIG (iter->data); - -- merge_one_ip4_config (&rc, config); -+ merge_one_ip4_config (&rc, config, FALSE); - } else if (NM_IS_IP6_CONFIG (iter->data)) { - NMIP6Config *config = NM_IP6_CONFIG (iter->data); - -- merge_one_ip6_config (&rc, config); -+ merge_one_ip6_config (&rc, config, FALSE); - } else - g_assert_not_reached (); - } +@@ -404,9 +408,9 @@ merge_one_ip_config_data (NMDnsManager *self, + NMDnsIPConfigData *data) + { + if (NM_IS_IP4_CONFIG (data->config)) +- merge_one_ip4_config (rc, (NMIP4Config *) data->config); ++ merge_one_ip4_config (rc, (NMIP4Config *) data->config, nm_ip4_config_get_never_default (data->config)); + else if (NM_IS_IP6_CONFIG (data->config)) +- merge_one_ip6_config (rc, (NMIP6Config *) data->config, data->iface); ++ merge_one_ip6_config (rc, (NMIP6Config *) data->config, data->iface, nm_ip6_config_get_never_default (data->config)); + else + g_return_if_reached (); + } diff --git a/debian/patches/libnm-Check-self-still-NMManager-or-not.patch b/debian/patches/libnm-Check-self-still-NMManager-or-not.patch index 72c7d1f..bdf8029 100644 --- a/debian/patches/libnm-Check-self-still-NMManager-or-not.patch +++ b/debian/patches/libnm-Check-self-still-NMManager-or-not.patch @@ -8,10 +8,10 @@ Return if self is not NMManager or it will crash. 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c -index a6c1f3f..774c8c1 100644 +index 27bd4ca..ed1fd36 100644 --- a/libnm/nm-manager.c +++ b/libnm/nm-manager.c -@@ -810,12 +810,16 @@ find_active_connection_by_path (NMManager *self, const char *ac_path) +@@ -803,12 +803,16 @@ find_active_connection_by_path (NMManager *self, const char *ac_path) static void recheck_pending_activations (NMManager *self) { diff --git a/debian/patches/libnm-don-t-require-initialized-out_encrypted-argume.patch b/debian/patches/libnm-don-t-require-initialized-out_encrypted-argume.patch deleted file mode 100644 index 1ea06ef..0000000 --- a/debian/patches/libnm-don-t-require-initialized-out_encrypted-argume.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Thomas Haller <thaller@redhat.com> -Date: Fri, 13 May 2016 14:19:59 +0200 -Subject: libnm: don't require initialized @out_encrypted argument in - nm_utils_file_is_private_key() - -No need to require the caller to initialize the optional out-argument. -Otherwise we get: - - (nm-connection-editor:2471): libnm-CRITICAL **: nm_utils_file_is_private_key: assertion 'out_encrypted == NULL || *out_encrypted == FALSE' failed - -https://bugzilla.gnome.org/show_bug.cgi?id=763578 - -Fixes: 1c4f41c61013d79a32eeac246d204c2f378e6915 ---- - libnm-core/nm-utils.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c -index 70c268f..1080d9e 100644 ---- a/libnm-core/nm-utils.c -+++ b/libnm-core/nm-utils.c -@@ -2399,8 +2399,8 @@ nm_utils_file_is_private_key (const char *filename, gboolean *out_encrypted) - const char *extensions[] = { ".der", ".pem", ".p12", ".key", NULL }; - - g_return_val_if_fail (filename != NULL, FALSE); -- g_return_val_if_fail (out_encrypted == NULL || *out_encrypted == FALSE, FALSE); - -+ NM_SET_OUT (out_encrypted, FALSE); - if (!file_has_extension (filename, extensions)) - return FALSE; - diff --git a/debian/patches/series b/debian/patches/series index cefc006..7894c10 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,27 +3,25 @@ Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch fix-arping-path.patch Check-at-runtime-whether-to-start-ModemManager.patch Don-t-make-NetworkManager-D-Bus-activatable.patch -Don-t-block-network.target-on-NetworkManager-wait-on.patch +systemd-Don-t-enable-NetworkManager-wait-online.serv.patch Fix-iscsiadm-path.patch +wifi-clear-WiFi-requested_scan-if-suppl-exits.patch +wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIV.patch Provide-access-to-some-of-NM-s-interfaces-to-whoopsi.patch Update-dnsmasq-parameters.patch -Filter-DNS-servers-to-add-to-dnsmasq-based-on-availa.patch -Order-IPv6-nameservers-before-IPv4-for-dns-plugins-d.patch Revert-wifi-disable-Ad-Hoc-WPA-connections-lp-905748.patch Replace-Ad-Hoc-WPA-None-support-with-IBSS-RSN-PSK.patch wifi-Signal-on-the-wifi-device-when-its-supplicant-i.patch Ignore-rmnet_usbX-devices.patch Ignore-p2p0-wifi-devices-from-android.patch +Track-killswitch-change-signals-from-urfkill.patch wwan-add-support-for-using-oFono-as-a-modem-manager.patch Add-new-NMSettingsConnection-reset_retries-get-set-m.patch Let-NetworkManager-read-oFono-settings-file-and-crea.patch Modify-NMDeviceModem-s-available-logic.patch -Track-killswitch-change-signals-from-urfkill.patch Only-test-team-devices-if-we-built-support-for-them.patch Disable-general-with-expect-which-tends-to-fail-on-p.patch libnm-Check-self-still-NMManager-or-not.patch -libnm-don-t-require-initialized-out_encrypted-argume.patch Read-config-from-run.patch Read-system-connections-from-run.patch dns-manager-don-t-merge-split-DNS-search-domains.patch -cli-initialize-connection-list-in-do_device_connect.patch diff --git a/debian/patches/systemd-Don-t-enable-NetworkManager-wait-online.serv.patch b/debian/patches/systemd-Don-t-enable-NetworkManager-wait-online.serv.patch new file mode 100644 index 0000000..c822c2d --- /dev/null +++ b/debian/patches/systemd-Don-t-enable-NetworkManager-wait-online.serv.patch @@ -0,0 +1,30 @@ +From: Michael Biebl <biebl@debian.org> +Date: Sun, 29 Mar 2015 22:58:43 +0200 +Subject: systemd: Don't enable NetworkManager-wait-online.service statically + +Instead we are going to hook up the service in network-online.target +dynamically via + +[Install] +WantedBy=network-online.target + +This way the user can easily disable the service. +--- + data/Makefile.am | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index 4ab4106..bbe6b32 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -18,10 +18,6 @@ endif + + NetworkManager-dispatcher.service: NetworkManager-dispatcher.service.in + $(edit) $< >$@ +- +-install-exec-local: +- install -d $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants +- ln -sf $(systemdsystemunitdir)/NetworkManager-wait-online.service $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants + endif + + examplesdir = $(docdir)/examples diff --git a/debian/patches/wifi-Signal-on-the-wifi-device-when-its-supplicant-i.patch b/debian/patches/wifi-Signal-on-the-wifi-device-when-its-supplicant-i.patch index 0799215..2b8fd5e 100644 --- a/debian/patches/wifi-Signal-on-the-wifi-device-when-its-supplicant-i.patch +++ b/debian/patches/wifi-Signal-on-the-wifi-device-when-its-supplicant-i.patch @@ -32,10 +32,10 @@ index c1f378d..82b2742 100644 </interface> </node> diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c -index a6acd37..bacd5e6 100644 +index 8c665e7..3bf2468 100644 --- a/src/devices/wifi/nm-device-wifi.c +++ b/src/devices/wifi/nm-device-wifi.c -@@ -84,6 +84,7 @@ enum { +@@ -85,6 +85,7 @@ enum { ACCESS_POINT_ADDED, ACCESS_POINT_REMOVED, SCANNING_ALLOWED, @@ -43,7 +43,7 @@ index a6acd37..bacd5e6 100644 LAST_SIGNAL }; -@@ -1363,6 +1364,7 @@ supplicant_iface_scan_done_cb (NMSupplicantInterface *iface, +@@ -1370,6 +1371,7 @@ supplicant_iface_scan_done_cb (NMSupplicantInterface *iface, _LOGD (LOGD_WIFI_SCAN, "scan %s", success ? "successful" : "failed"); @@ -51,7 +51,7 @@ index a6acd37..bacd5e6 100644 priv->last_scan = nm_utils_get_monotonic_timestamp_s (); schedule_scan (self, success); -@@ -3082,6 +3084,14 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass) +@@ -3094,6 +3096,14 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass) scanning_allowed_accumulator, NULL, NULL, G_TYPE_BOOLEAN, 0); diff --git a/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-exits.patch b/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-exits.patch new file mode 100644 index 0000000..974c24f --- /dev/null +++ b/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-exits.patch @@ -0,0 +1,29 @@ +From: Tony Espy <espy@canonical.com> +Date: Thu, 16 Jun 2016 15:07:33 -0400 +Subject: wifi: clear WiFi requested_scan if suppl exits + +It's possible for wpa_supplicant to exit with an +outstanding requested_scan pending. This can lead +to a stall condition where scanning no longer occurs. + +https://mail.gnome.org/archives/networkmanager-list/2016-June/msg00117.html +--- + src/devices/wifi/nm-device-wifi.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c +index 82b12a1..cce2f26 100644 +--- a/src/devices/wifi/nm-device-wifi.c ++++ b/src/devices/wifi/nm-device-wifi.c +@@ -246,6 +246,11 @@ supplicant_interface_release (NMDeviceWifi *self) + + priv = NM_DEVICE_WIFI_GET_PRIVATE (self); + ++ if (priv->requested_scan) { ++ priv->requested_scan = FALSE; ++ nm_device_remove_pending_action (NM_DEVICE (self), "scan", TRUE); ++ } ++ + nm_clear_g_source (&priv->pending_scan_id); + + /* Reset the scan interval to be pretty frequent when disconnected */ diff --git a/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIV.patch b/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIV.patch new file mode 100644 index 0000000..2882f85 --- /dev/null +++ b/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIV.patch @@ -0,0 +1,31 @@ +From: Tony Espy <espy@canonical.com> +Date: Thu, 16 Jun 2016 15:07:32 -0400 +Subject: wifi: clear WiFi requested_scan if suppl goes INACTIVE + +It's possible for wpa_supplicant to transition to INACTIVE +state with an outstanding requested_scan pending. This can +lead to a stall condition where scanning no longer occurs. + +[thaller@redhat.com: added break statement to avoid fall-through] + +https://mail.gnome.org/archives/networkmanager-list/2016-June/msg00116.html +--- + src/devices/wifi/nm-device-wifi.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c +index cce2f26..17f5b14 100644 +--- a/src/devices/wifi/nm-device-wifi.c ++++ b/src/devices/wifi/nm-device-wifi.c +@@ -1956,6 +1956,11 @@ supplicant_iface_state_cb (NMSupplicantInterface *iface, + else + _LOGI (LOGD_DEVICE | LOGD_WIFI, "supplicant interface keeps failing, giving up"); + break; ++ case NM_SUPPLICANT_INTERFACE_STATE_INACTIVE: ++ priv->requested_scan = FALSE; ++ nm_clear_g_source (&priv->pending_scan_id); ++ request_wireless_scan (self, NULL); ++ break; + default: + break; + } diff --git a/debian/patches/wwan-add-support-for-using-oFono-as-a-modem-manager.patch b/debian/patches/wwan-add-support-for-using-oFono-as-a-modem-manager.patch index cd18c65..079077c 100644 --- a/debian/patches/wwan-add-support-for-using-oFono-as-a-modem-manager.patch +++ b/debian/patches/wwan-add-support-for-using-oFono-as-a-modem-manager.patch @@ -19,10 +19,10 @@ Signed-off-by: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com> create mode 100644 src/devices/wwan/nm-modem-ofono.h diff --git a/configure.ac b/configure.ac -index 93adf26..b7a0583 100644 +index 4c9aebe..911f617 100644 --- a/configure.ac +++ b/configure.ac -@@ -715,6 +715,15 @@ else +@@ -726,6 +726,15 @@ else fi AM_CONDITIONAL(WITH_BLUEZ5_DUN, test "${enable_bluez5_dun}" = "yes") @@ -1948,10 +1948,10 @@ index a6c7700..2e3d63b 100644 break; default: diff --git a/src/nm-core-utils.c b/src/nm-core-utils.c -index ef44a13..7a5910f 100644 +index e9365c0..28e4f99 100644 --- a/src/nm-core-utils.c +++ b/src/nm-core-utils.c -@@ -2474,7 +2474,13 @@ _get_property_path (const char *ifname, +@@ -2508,7 +2508,13 @@ _get_property_path (const char *ifname, ipv6 ? IPV6_PROPERTY_DIR : IPV4_PROPERTY_DIR, ifname, property); @@ -1966,7 +1966,7 @@ index ef44a13..7a5910f 100644 return path; } -@@ -2538,9 +2544,15 @@ NM_ASSERT_VALID_PATH_COMPONENT (const char *name) +@@ -2572,9 +2578,15 @@ NM_ASSERT_VALID_PATH_COMPONENT (const char *name) nm_log_err (LOGD_CORE, "Failed asserting path component: %s%s%s", NM_PRINT_FMT_QUOTED (name, "\"", name, "\"", "(null)")); |
