diff options
| author | Sebastien Bacher <seb128@ubuntu.com> | 2021-02-25 11:35:01 +0100 |
|---|---|---|
| committer | Sebastien Bacher <seb128@ubuntu.com> | 2021-02-25 11:49:48 +0100 |
| commit | 77dea84aa6e816f66dc622cec8ae2668eba3c068 (patch) | |
| tree | 755536a0ed1fb36c2899e9bff9e092c4008a25c4 /debian | |
| parent | 47f08826b44eed651b44dc8bacb5b46bc4c52067 (diff) | |
| parent | fd80297a396cc4dd7da4da20208fb360aa369aa7 (diff) | |
Merge branch 'debian/master' into ubuntu/master
Diffstat (limited to 'debian')
| -rw-r--r-- | debian/changelog | 74 | ||||
| -rw-r--r-- | debian/control | 7 | ||||
| -rw-r--r-- | debian/libnm0.symbols | 26 | ||||
| -rw-r--r-- | debian/patches/Force-online-state-with-unmanaged-devices.patch | 24 | ||||
| -rw-r--r-- | debian/patches/Import-some-missing-WoWLAN-patches.patch | 355 | ||||
| -rw-r--r-- | debian/patches/Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch | 8 | ||||
| -rw-r--r-- | debian/patches/Update-dnsmasq-parameters.patch | 24 | ||||
| -rw-r--r-- | debian/patches/dns-manager-don-t-merge-split-DNS-search-domains.patch | 88 | ||||
| -rw-r--r-- | debian/patches/gitlab_connection_ready.patch | 115 | ||||
| -rw-r--r-- | debian/patches/series | 1 | ||||
| -rw-r--r-- | debian/patches/systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch | 124 | ||||
| -rw-r--r-- | debian/patches/ubuntu_revert_systemd.patch | 12 | ||||
| -rwxr-xr-x | debian/rules | 1 |
13 files changed, 137 insertions, 722 deletions
diff --git a/debian/changelog b/debian/changelog index f117c282..abdd1a2f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,77 @@ +network-manager (1.30.0-1ubuntu1) UNRELEASED; urgency=medium + + * Resynchronize on Debian, remaining changes: + - Use systemd-resolved instead of dnsmasq + - debian/control: + + Depend on isc-dhcp-client instead of recommends + + Recommend network-manager-pptp + + Suggest avahi-autoipd for IPv4LL support + - debian/rules, debian/network-manager.postinst: + + Don't restart NetworkManager on upgrade but recommend restarting + the computer + - debian/rules, debian/network-manager.postinst: + + Don't install sysvinit scripts or migrate from sysvinit + - debian/network-manager.postinst: + + Don't add the netdev group. + + drop in an empty override file for NetworkManager to manage all + devices for upgrade from any version, as long as there is no + netplan configuration yet. + - debian/default-wifi-powersave-on.conf, debian/rules: + + Install a config file to enable WiFi powersave + - Enable build tests + - Add autopkgtests + - debian/source_network-manager.py, debian/network-manager.install, + debian/network-manager.links: Add apport hook + - Add network-manager-config-connectivity-ubuntu package + - NetworkManager.conf: disable MAC randomization feature. There is no + easy way for desktop users to disable this feature yet. And there are + reports that it doesn't work well with some systems. + - Update Vcs links to point to Ubuntu branch + - Add patches. See patch descriptions for more details: + + Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch + + Update-dnsmasq-parameters.patch + + Disable-general-with-expect.patch + + libnm-Check-self-still-NMManager-or-not.patch + + dns-manager-don-t-merge-split-DNS-search-domains.patch (but disabled) + + Read-system-connections-from-run.patch + - debian/tests/urfkill-integration - don't stop/start network manager + - debian/patches/ubuntu_revert_systemd.patch: + + temporarly revert an upstream commit that made udev enabled under lxc, + the new systemd doesn't work there (lp: #1914062) + + -- Sebastien Bacher <seb128@ubuntu.com> Thu, 25 Feb 2021 11:37:02 +0100 + +network-manager (1.30.0-1) unstable; urgency=medium + + * New upstream version 1.30.0 + * Rebase patches + + -- Michael Biebl <biebl@debian.org> Thu, 18 Feb 2021 19:25:36 +0100 + +network-manager (1.29.90-2) unstable; urgency=medium + + * Add iproute2 to Build-Depends. + Required by the test suite. Mark as <!nocheck> accordingly. + * Cherry-pick fixes from upstream nm-1-30 branch + - Fixes assertion when running the python-dbusmock test suite + (Closes: #982613) + - Replaces our custom polkit-agent-helper-1 patch + + -- Michael Biebl <biebl@debian.org> Tue, 16 Feb 2021 22:54:54 +0100 + +network-manager (1.29.90-1) unstable; urgency=medium + + [ Michael Biebl ] + * New upstream version 1.29.90 (1.30 rc1) + * Rebase patches + * Update symbols file for libnm0 + * Fix polkit-agent-helper-1 path + + [ Helmut Grohne ] + * Drop unused Build-Depends (Closes: #979378) + + -- Michael Biebl <biebl@debian.org> Thu, 11 Feb 2021 20:09:16 +0100 + network-manager (1.28.0-2ubuntu2) hirsute; urgency=medium * debian/patches/ubuntu_revert_systemd.patch: diff --git a/debian/control b/debian/control index 60b45daa..06e05a33 100644 --- a/debian/control +++ b/debian/control @@ -12,8 +12,6 @@ Build-Depends: debhelper-compat (= 13), intltool, libglib2.0-dev (>= 2.32), ppp-dev (>= 2.4.7-1+1), - libpolkit-gobject-1-dev, - libpolkit-agent-1-dev (>= 0.97), libselinux1-dev, libaudit-dev, libgnutls28-dev (>= 2.12), @@ -27,8 +25,6 @@ Build-Depends: debhelper-compat (= 13), libpsl-dev (>= 0.1), libcurl4-gnutls-dev (>= 7.24.0), gtk-doc-tools, - perl, - libyaml-perl, libglib2.0-doc, libmm-glib-dev (>= 0.7.991), libndp-dev, @@ -39,7 +35,8 @@ Build-Depends: debhelper-compat (= 13), libbluetooth-dev (>= 5), valac (>= 0.17.1.24), dbus <!nocheck>, - python3-dbus <!nocheck> + python3-dbus <!nocheck>, + iproute2 <!nocheck>, Standards-Version: 4.5.1 Rules-Requires-Root: no XS-Debian-Vcs-Git: https://salsa.debian.org/utopia-team/network-manager.git diff --git a/debian/libnm0.symbols b/debian/libnm0.symbols index 3073b2c8..f59387a8 100644 --- a/debian/libnm0.symbols +++ b/debian/libnm0.symbols @@ -23,6 +23,7 @@ libnm.so.0 libnm0 #MINVER# libnm_1_28_0@libnm_1_28_0 1.27.90 libnm_1_2_0@libnm_1_2_0 1.1.90 libnm_1_2_4@libnm_1_2_4 1.2.4 + libnm_1_30_0@libnm_1_30_0 1.29.90 libnm_1_4_0@libnm_1_4_0 1.4.0 libnm_1_6_0@libnm_1_6_0 1.5.90 libnm_1_8_0@libnm_1_8_0 1.8.0 @@ -411,6 +412,7 @@ libnm.so.0 libnm0 #MINVER# nm_device_tun_get_type@libnm_1_2_0 1.1.90 nm_device_tun_get_vnet_hdr@libnm_1_2_0 1.1.90 nm_device_type_get_type@libnm_1_0_0 1.0.0 + nm_device_veth_get_type@libnm_1_30_0 1.29.90 nm_device_vlan_get_carrier@libnm_1_0_0 1.0.0 nm_device_vlan_get_hw_address@libnm_1_0_0 1.0.0 nm_device_vlan_get_parent@libnm_1_0_0 1.0.0 @@ -590,6 +592,14 @@ libnm.so.0 libnm0 #MINVER# nm_ip_routing_rule_validate@libnm_1_18_0 1.18.0 nm_ip_tunnel_flags_get_type@libnm_1_12_0 1.11.3 nm_ip_tunnel_mode_get_type@libnm_1_2_0 1.1.90 + nm_keyfile_handler_data_fail_with_error@libnm_1_30_0 1.29.90 + nm_keyfile_handler_data_get_context@libnm_1_30_0 1.29.90 + nm_keyfile_handler_data_warn_get@libnm_1_30_0 1.29.90 + nm_keyfile_handler_flags_get_type@libnm_1_30_0 1.29.90 + nm_keyfile_handler_type_get_type@libnm_1_30_0 1.29.90 + nm_keyfile_read@libnm_1_30_0 1.29.90 + nm_keyfile_warn_severity_get_type@libnm_1_30_0 1.29.90 + nm_keyfile_write@libnm_1_30_0 1.29.90 nm_lldp_neighbor_get_attr_names@libnm_1_2_0 1.1.90 nm_lldp_neighbor_get_attr_string_value@libnm_1_2_0 1.1.90 nm_lldp_neighbor_get_attr_type@libnm_1_2_0 1.1.90 @@ -924,6 +934,11 @@ libnm.so.0 libnm0 #MINVER# nm_setting_gsm_get_type@libnm_1_0_0 1.0.0 nm_setting_gsm_get_username@libnm_1_0_0 1.0.0 nm_setting_gsm_new@libnm_1_0_0 1.0.0 + nm_setting_hostname_get_from_dhcp@libnm_1_30_0 1.29.90 + nm_setting_hostname_get_from_dns_lookup@libnm_1_30_0 1.29.90 + nm_setting_hostname_get_only_from_default@libnm_1_30_0 1.29.90 + nm_setting_hostname_get_priority@libnm_1_30_0 1.29.90 + nm_setting_hostname_get_type@libnm_1_30_0 1.29.90 nm_setting_infiniband_get_mac_address@libnm_1_0_0 1.0.0 nm_setting_infiniband_get_mtu@libnm_1_0_0 1.0.0 nm_setting_infiniband_get_p_key@libnm_1_0_0 1.0.0 @@ -1088,6 +1103,13 @@ libnm.so.0 libnm0 #MINVER# nm_setting_ovs_dpdk_get_devargs@libnm_1_20_0 1.19.90 nm_setting_ovs_dpdk_get_type@libnm_1_20_0 1.19.90 nm_setting_ovs_dpdk_new@libnm_1_20_0 1.19.90 + nm_setting_ovs_external_ids_check_key@libnm_1_30_0 1.29.90 + nm_setting_ovs_external_ids_check_val@libnm_1_30_0 1.29.90 + nm_setting_ovs_external_ids_get_data@libnm_1_30_0 1.29.90 + nm_setting_ovs_external_ids_get_data_keys@libnm_1_30_0 1.29.90 + nm_setting_ovs_external_ids_get_type@libnm_1_30_0 1.29.90 + nm_setting_ovs_external_ids_new@libnm_1_30_0 1.29.90 + nm_setting_ovs_external_ids_set_data@libnm_1_30_0 1.29.90 nm_setting_ovs_interface_get_interface_type@libnm_1_10_0 1.9.90 nm_setting_ovs_interface_get_type@libnm_1_10_0 1.9.90 nm_setting_ovs_interface_new@libnm_1_10_0 1.9.90 @@ -1230,6 +1252,9 @@ libnm.so.0 libnm0 #MINVER# nm_setting_user_set_data@libnm_1_8_0 1.8.0 nm_setting_verify@libnm_1_0_0 1.0.0 nm_setting_verify_secrets@libnm_1_2_0 1.1.90 + nm_setting_veth_get_peer@libnm_1_30_0 1.29.90 + nm_setting_veth_get_type@libnm_1_30_0 1.29.90 + nm_setting_veth_new@libnm_1_30_0 1.29.90 nm_setting_vlan_add_priority@libnm_1_0_0 1.0.0 nm_setting_vlan_add_priority_str@libnm_1_0_0 1.0.0 nm_setting_vlan_clear_priorities@libnm_1_0_0 1.0.0 @@ -1540,6 +1565,7 @@ libnm.so.0 libnm0 #MINVER# nm_utils_is_uuid@libnm_1_0_0 1.0.0 nm_utils_is_valid_iface_name@libnm_1_6_0 1.5.90 nm_utils_parse_variant_attributes@libnm_1_8_0 1.8.0 + nm_utils_print@libnm_1_30_0 1.29.90 nm_utils_same_ssid@libnm_1_0_0 1.0.0 nm_utils_security_type_get_type@libnm_1_0_0 1.0.0 nm_utils_security_valid@libnm_1_0_0 1.0.0 diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch index f8bc3398..a639e11a 100644 --- a/debian/patches/Force-online-state-with-unmanaged-devices.patch +++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch @@ -8,13 +8,13 @@ online state to CONNECTED. Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286 --- - src/nm-manager.c | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/core/nm-manager.c | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) -diff --git a/src/nm-manager.c b/src/nm-manager.c -index 46f81c7..3465be4 100644 ---- a/src/nm-manager.c -+++ b/src/nm-manager.c +diff --git a/src/core/nm-manager.c b/src/core/nm-manager.c +index 5a6e05a..4c56b77 100644 +--- a/src/core/nm-manager.c ++++ b/src/core/nm-manager.c @@ -52,6 +52,8 @@ #define DEVICE_STATE_PRUNE_RATELIMIT_MAX 100u @@ -24,7 +24,7 @@ index 46f81c7..3465be4 100644 /*****************************************************************************/ typedef struct { -@@ -186,6 +188,10 @@ typedef struct { +@@ -187,6 +189,10 @@ typedef struct { GFileMonitor *fw_monitor; guint fw_changed_id; @@ -35,7 +35,7 @@ index 46f81c7..3465be4 100644 guint timestamp_update_id; guint devices_inited_id; -@@ -1433,6 +1439,27 @@ find_best_device_state(NMManager *manager) +@@ -1463,6 +1469,27 @@ find_best_device_state(NMManager *manager) return best_state; } @@ -63,7 +63,7 @@ index 46f81c7..3465be4 100644 static void nm_manager_update_metered(NMManager *self) { -@@ -1479,6 +1506,9 @@ nm_manager_update_state(NMManager *self) +@@ -1509,6 +1536,9 @@ nm_manager_update_state(NMManager *self) else new_state = find_best_device_state(self); @@ -73,7 +73,7 @@ index 46f81c7..3465be4 100644 if (new_state >= NM_STATE_CONNECTED_LOCAL && priv->connectivity_state == NM_CONNECTIVITY_FULL) { new_state = NM_STATE_CONNECTED_GLOBAL; } -@@ -6587,6 +6617,62 @@ impl_manager_set_logging(NMDBusObject * obj, +@@ -6603,6 +6633,62 @@ impl_manager_set_logging(NMDBusObject * obj, g_dbus_method_invocation_return_value(invocation, NULL); } @@ -136,7 +136,7 @@ index 46f81c7..3465be4 100644 static void impl_manager_get_logging(NMDBusObject * obj, const NMDBusInterfaceInfoExtended *interface_info, -@@ -6916,6 +7002,9 @@ nm_manager_start(NMManager *self, GError **error) +@@ -6932,6 +7018,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 46f81c7..3465be4 100644 return TRUE; } -@@ -7795,6 +7884,22 @@ nm_manager_init(NMManager *self) +@@ -7826,6 +7915,22 @@ nm_manager_init(NMManager *self) _LOGW(LOGD_CORE, "failed to monitor kernel firmware directory '%s'.", KERNEL_FIRMWARE_DIR); } @@ -169,7 +169,7 @@ index 46f81c7..3465be4 100644 /* Update timestamps in active connections */ priv->timestamp_update_id = g_timeout_add_seconds(300, -@@ -8078,6 +8183,16 @@ dispose(GObject *object) +@@ -8111,6 +8216,16 @@ dispose(GObject *object) g_clear_object(&priv->fw_monitor); } diff --git a/debian/patches/Import-some-missing-WoWLAN-patches.patch b/debian/patches/Import-some-missing-WoWLAN-patches.patch deleted file mode 100644 index bd453be8..00000000 --- a/debian/patches/Import-some-missing-WoWLAN-patches.patch +++ /dev/null @@ -1,355 +0,0 @@ -From: =?utf-8?q?Alfonso_S=C3=A1nchez-Beato?= - <alfonso.sanchez-beato@canonical.com> -Date: Wed, 5 Dec 2018 17:28:15 +0100 -Subject: Import some missing WoWLAN patches from 1.14: - -ac1302793 platform: add methods to retrieve current WoWLAN state -c6e40215e devices: restore past WoWLAN when disconnecting wifi -a3289400d wifi: ensure wake-on-wlan restore only acts once ---- - src/devices/wifi/nm-device-wifi.c | 48 +++++++++++++++++++++++--- - src/platform/nm-linux-platform.c | 8 +++++ - src/platform/nm-platform.c | 10 ++++++ - src/platform/nm-platform.h | 2 ++ - src/platform/wifi/wifi-utils-nl80211.c | 62 ++++++++++++++++++++++++++++++++-- - src/platform/wifi/wifi-utils-private.h | 3 ++ - src/platform/wifi/wifi-utils.c | 10 ++++++ - src/platform/wifi/wifi-utils.h | 2 ++ - 8 files changed, 137 insertions(+), 8 deletions(-) - -diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c -index 0dd6fa7..3008ada 100644 ---- a/src/devices/wifi/nm-device-wifi.c -+++ b/src/devices/wifi/nm-device-wifi.c -@@ -121,6 +121,8 @@ typedef struct { - gint32 hw_addr_scan_expire; - - guint wps_timeout_id; -+ -+ NMSettingWirelessWakeOnWLan wowlan_restore; - } NMDeviceWifiPrivate; - - struct _NMDeviceWifi -@@ -508,6 +510,22 @@ remove_all_aps (NMDeviceWifi *self) - nm_device_recheck_available_connections (NM_DEVICE (self)); - } - -+static gboolean -+wake_on_wlan_restore (NMDeviceWifi *self) -+{ -+ NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self); -+ NMSettingWirelessWakeOnWLan w; -+ -+ w = priv->wowlan_restore; -+ if (w == NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE) -+ return TRUE; -+ -+ priv->wowlan_restore = NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE; -+ return nm_platform_wifi_set_wake_on_wlan (NM_PLATFORM_GET, -+ nm_device_get_ifindex (NM_DEVICE (self)), -+ w); -+} -+ - static void - deactivate (NMDevice *device) - { -@@ -524,6 +542,9 @@ deactivate (NMDevice *device) - - set_current_ap (self, NULL, TRUE); - -+ if (!wake_on_wlan_restore (self)) -+ _LOGW (LOGD_DEVICE | LOGD_WIFI, "Cannot unconfigure WoWLAN."); -+ - /* Clear any critical protocol notification in the Wi-Fi stack */ - nm_platform_wifi_indicate_addressing_running (nm_device_get_platform (device), ifindex, FALSE); - -@@ -2426,6 +2447,7 @@ error: - static gboolean - wake_on_wlan_enable (NMDeviceWifi *self) - { -+ NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self); - NMSettingWirelessWakeOnWLan wowl; - NMSettingWireless *s_wireless; - gs_free char *value = NULL; -@@ -2461,8 +2483,19 @@ wake_on_wlan_enable (NMDeviceWifi *self) - goto found; - } - wowl = NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE; -+ - found: -- return nm_platform_wifi_set_wake_on_wlan (NM_PLATFORM_GET, nm_device_get_ifindex (NM_DEVICE (self)), wowl); -+ if (wowl == NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE) { -+ priv->wowlan_restore = wowl; -+ return TRUE; -+ } -+ -+ priv->wowlan_restore = nm_platform_wifi_get_wake_on_wlan (NM_PLATFORM_GET, -+ nm_device_get_ifindex (NM_DEVICE (self))); -+ -+ return nm_platform_wifi_set_wake_on_wlan (NM_PLATFORM_GET, -+ nm_device_get_ifindex (NM_DEVICE (self)), -+ wowl); - } - - static NMActStageReturn -@@ -2659,8 +2692,6 @@ act_stage2_config (NMDevice *device, NMDeviceStateReason *out_failure_reason) - s_wireless = nm_connection_get_setting_wireless (connection); - g_assert (s_wireless); - -- wake_on_wlan_enable (self); -- - /* If we need secrets, get them */ - setting_name = nm_connection_need_secrets (connection, NULL); - if (setting_name) { -@@ -2677,6 +2708,9 @@ act_stage2_config (NMDevice *device, NMDeviceStateReason *out_failure_reason) - goto out; - } - -+ if (!wake_on_wlan_enable (self)) -+ _LOGW (LOGD_DEVICE | LOGD_WIFI, "Cannot configure WoWLAN."); -+ - /* have secrets, or no secrets required */ - if (nm_connection_get_setting_wireless_security (connection)) { - _LOGI (LOGD_DEVICE | LOGD_WIFI, -@@ -2727,8 +2761,10 @@ act_stage2_config (NMDevice *device, NMDeviceStateReason *out_failure_reason) - ret = NM_ACT_STAGE_RETURN_POSTPONE; - - out: -- if (ret == NM_ACT_STAGE_RETURN_FAILURE) -+ if (ret == NM_ACT_STAGE_RETURN_FAILURE) { - cleanup_association_attempt (self, TRUE); -+ wake_on_wlan_restore (self); -+ } - - if (config) { - /* Supplicant interface object refs the config; we no longer care about -@@ -3134,7 +3170,8 @@ reapply_connection (NMDevice *device, NMConnection *con_old, NMConnection *con_n - - _LOGD (LOGD_DEVICE, "reapplying wireless settings"); - -- wake_on_wlan_enable (self); -+ if (!wake_on_wlan_enable (self)) -+ _LOGW (LOGD_DEVICE | LOGD_WIFI, "Cannot configure WoWLAN."); - } - - /*****************************************************************************/ -@@ -3207,6 +3244,7 @@ nm_device_wifi_init (NMDeviceWifi *self) - c_list_init (&priv->aps_lst_head); - - priv->mode = NM_802_11_MODE_INFRA; -+ priv->wowlan_restore = NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE; - } - - static void -diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c -index 9bd662a..33a05ab 100644 ---- a/src/platform/nm-linux-platform.c -+++ b/src/platform/nm-linux-platform.c -@@ -6092,6 +6092,13 @@ wifi_indicate_addressing_running (NMPlatform *platform, int ifindex, gboolean ru - wifi_utils_indicate_addressing_running (wifi_data, running); - } - -+static NMSettingWirelessWakeOnWLan -+wifi_get_wake_on_wlan (NMPlatform *platform, int ifindex) -+{ -+ WIFI_GET_WIFI_DATA_NETNS (wifi_data, platform, ifindex, FALSE); -+ return wifi_utils_get_wake_on_wlan (wifi_data); -+} -+ - static gboolean - wifi_set_wake_on_wlan (NMPlatform *platform, int ifindex, - NMSettingWirelessWakeOnWLan wowl) -@@ -7238,6 +7245,7 @@ nm_linux_platform_class_init (NMLinuxPlatformClass *klass) - platform_class->wifi_set_powersave = wifi_set_powersave; - platform_class->wifi_find_frequency = wifi_find_frequency; - platform_class->wifi_indicate_addressing_running = wifi_indicate_addressing_running; -+ platform_class->wifi_get_wake_on_wlan = wifi_get_wake_on_wlan; - platform_class->wifi_set_wake_on_wlan = wifi_set_wake_on_wlan; - - platform_class->mesh_get_channel = mesh_get_channel; -diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c -index f75019e..96bb292 100644 ---- a/src/platform/nm-platform.c -+++ b/src/platform/nm-platform.c -@@ -2888,6 +2888,16 @@ nm_platform_wifi_indicate_addressing_running (NMPlatform *self, int ifindex, gbo - klass->wifi_indicate_addressing_running (self, ifindex, running); - } - -+NMSettingWirelessWakeOnWLan -+nm_platform_wifi_get_wake_on_wlan (NMPlatform *self, int ifindex) -+{ -+ _CHECK_SELF (self, klass, FALSE); -+ -+ g_return_val_if_fail (ifindex > 0, FALSE); -+ -+ return klass->wifi_get_wake_on_wlan (self, ifindex); -+} -+ - gboolean - nm_platform_wifi_set_wake_on_wlan (NMPlatform *self, int ifindex, NMSettingWirelessWakeOnWLan wowl) - { -diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h -index 866df73..84d10d2 100644 ---- a/src/platform/nm-platform.h -+++ b/src/platform/nm-platform.h -@@ -868,6 +868,7 @@ typedef struct { - void (*wifi_set_powersave) (NMPlatform *, int ifindex, guint32 powersave); - guint32 (*wifi_find_frequency) (NMPlatform *, int ifindex, const guint32 *freqs); - void (*wifi_indicate_addressing_running) (NMPlatform *, int ifindex, gboolean running); -+ NMSettingWirelessWakeOnWLan (*wifi_get_wake_on_wlan) (NMPlatform *, int ifindex); - gboolean (*wifi_set_wake_on_wlan) (NMPlatform *, int ifindex, NMSettingWirelessWakeOnWLan wowl); - - guint32 (*mesh_get_channel) (NMPlatform *, int ifindex); -@@ -1247,6 +1248,7 @@ void nm_platform_wifi_set_mode (NMPlatform *self, int ifindex, NM - void nm_platform_wifi_set_powersave (NMPlatform *self, int ifindex, guint32 powersave); - guint32 nm_platform_wifi_find_frequency (NMPlatform *self, int ifindex, const guint32 *freqs); - void nm_platform_wifi_indicate_addressing_running (NMPlatform *self, int ifindex, gboolean running); -+NMSettingWirelessWakeOnWLan nm_platform_wifi_get_wake_on_wlan (NMPlatform *self, int ifindex); - gboolean nm_platform_wifi_set_wake_on_wlan (NMPlatform *self, int ifindex, NMSettingWirelessWakeOnWLan wowl); - - guint32 nm_platform_mesh_get_channel (NMPlatform *self, int ifindex); -diff --git a/src/platform/wifi/wifi-utils-nl80211.c b/src/platform/wifi/wifi-utils-nl80211.c -index 6c2ff3f..518e39c 100644 ---- a/src/platform/wifi/wifi-utils-nl80211.c -+++ b/src/platform/wifi/wifi-utils-nl80211.c -@@ -271,6 +271,60 @@ nla_put_failure: - return FALSE; - } - -+static int -+nl80211_get_wake_on_wlan_handler (struct nl_msg *msg, void *arg) -+{ -+ NMSettingWirelessWakeOnWLan *wowl = arg; -+ struct nlattr *attrs[NL80211_ATTR_MAX + 1]; -+ struct nlattr *trig[NUM_NL80211_WOWLAN_TRIG]; -+ struct genlmsghdr *gnlh = nlmsg_data (nlmsg_hdr (msg)); -+ -+ nla_parse (attrs, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0), -+ genlmsg_attrlen(gnlh, 0), NULL); -+ -+ if (!attrs[NL80211_ATTR_WOWLAN_TRIGGERS]) -+ return NL_SKIP; -+ -+ nla_parse (trig, MAX_NL80211_WOWLAN_TRIG, -+ nla_data (attrs[NL80211_ATTR_WOWLAN_TRIGGERS]), -+ nla_len (attrs[NL80211_ATTR_WOWLAN_TRIGGERS]), -+ NULL); -+ -+ *wowl = NM_SETTING_WIRELESS_WAKE_ON_WLAN_NONE; -+ if (trig[NL80211_WOWLAN_TRIG_ANY]) -+ *wowl |= NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY; -+ if (trig[NL80211_WOWLAN_TRIG_DISCONNECT]) -+ *wowl |= NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT; -+ if (trig[NL80211_WOWLAN_TRIG_MAGIC_PKT]) -+ *wowl |= NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC; -+ if (trig[NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE]) -+ *wowl |= NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE; -+ if (trig[NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST]) -+ *wowl |= NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST; -+ if (trig[NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE]) -+ *wowl |= NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE; -+ if (trig[NL80211_WOWLAN_TRIG_RFKILL_RELEASE]) -+ *wowl |= NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE; -+ if (trig[NL80211_WOWLAN_TRIG_TCP_CONNECTION]) -+ *wowl |= NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP; -+ -+ return NL_SKIP; -+} -+ -+static NMSettingWirelessWakeOnWLan -+wifi_nl80211_get_wake_on_wlan (WifiData *data) -+{ -+ WifiDataNl80211 *nl80211 = (WifiDataNl80211 *) data; -+ NMSettingWirelessWakeOnWLan wowl = NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE; -+ nm_auto_nlmsg struct nl_msg *msg = NULL; -+ -+ msg = nl80211_alloc_msg (nl80211, NL80211_CMD_GET_WOWLAN, 0); -+ -+ nl80211_send_and_recv (nl80211, msg, nl80211_get_wake_on_wlan_handler, &wowl); -+ -+ return wowl; -+} -+ - static gboolean - wifi_nl80211_set_wake_on_wlan (WifiData *data, NMSettingWirelessWakeOnWLan wowl) - { -@@ -282,11 +336,11 @@ wifi_nl80211_set_wake_on_wlan (WifiData *data, NMSettingWirelessWakeOnWLan wowl) - if (wowl == NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE) - return TRUE; - -- msg = nl80211_alloc_msg(nl80211, NL80211_CMD_SET_WOWLAN, 0); -+ msg = nl80211_alloc_msg (nl80211, NL80211_CMD_SET_WOWLAN, 0); - if (!msg) - return FALSE; - -- triggers = nla_nest_start(msg, NL80211_ATTR_WOWLAN_TRIGGERS); -+ triggers = nla_nest_start (msg, NL80211_ATTR_WOWLAN_TRIGGERS); - - if (NM_FLAGS_HAS (wowl, NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY)) - NLA_PUT_FLAG (msg, NL80211_WOWLAN_TRIG_ANY); -@@ -306,7 +360,8 @@ wifi_nl80211_set_wake_on_wlan (WifiData *data, NMSettingWirelessWakeOnWLan wowl) - nla_nest_end(msg, triggers); - - err = nl80211_send_and_recv (nl80211, msg, NULL, NULL); -- return err ? FALSE : TRUE; -+ -+ return err >= 0; - - nla_put_failure: - return FALSE; -@@ -887,6 +942,7 @@ wifi_nl80211_init (int ifindex) - .get_mode = wifi_nl80211_get_mode, - .set_mode = wifi_nl80211_set_mode, - .set_powersave = wifi_nl80211_set_powersave, -+ .get_wake_on_wlan = wifi_nl80211_get_wake_on_wlan, - .set_wake_on_wlan = wifi_nl80211_set_wake_on_wlan, - .get_freq = wifi_nl80211_get_freq, - .find_freq = wifi_nl80211_find_freq, -diff --git a/src/platform/wifi/wifi-utils-private.h b/src/platform/wifi/wifi-utils-private.h -index 627108c..dc5dec0 100644 ---- a/src/platform/wifi/wifi-utils-private.h -+++ b/src/platform/wifi/wifi-utils-private.h -@@ -34,6 +34,9 @@ typedef struct { - /* Set power saving mode on an interface */ - gboolean (*set_powersave) (WifiData *data, guint32 powersave); - -+ /* Get WakeOnWLAN configuration on an interface */ -+ NMSettingWirelessWakeOnWLan (*get_wake_on_wlan) (WifiData *data); -+ - /* Set WakeOnWLAN mode on an interface */ - gboolean (*set_wake_on_wlan) (WifiData *data, NMSettingWirelessWakeOnWLan wowl); - -diff --git a/src/platform/wifi/wifi-utils.c b/src/platform/wifi/wifi-utils.c -index b3dd92b..b704be1 100644 ---- a/src/platform/wifi/wifi-utils.c -+++ b/src/platform/wifi/wifi-utils.c -@@ -112,6 +112,16 @@ wifi_utils_set_powersave (WifiData *data, guint32 powersave) - return data->klass->set_powersave ? data->klass->set_powersave (data, powersave) : TRUE; - } - -+NMSettingWirelessWakeOnWLan -+wifi_utils_get_wake_on_wlan (WifiData *data) -+{ -+ g_return_val_if_fail (data != NULL, FALSE); -+ -+ return data->klass->get_wake_on_wlan -+ ? data->klass->get_wake_on_wlan (data) -+ : NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE; -+} -+ - gboolean - wifi_utils_set_wake_on_wlan (WifiData *data, NMSettingWirelessWakeOnWLan wowl) - { -diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h -index c69561d..e454b71 100644 ---- a/src/platform/wifi/wifi-utils.h -+++ b/src/platform/wifi/wifi-utils.h -@@ -67,6 +67,8 @@ gboolean wifi_utils_get_wowlan (WifiData *data); - - gboolean wifi_utils_set_powersave (WifiData *data, guint32 powersave); - -+NMSettingWirelessWakeOnWLan wifi_utils_get_wake_on_wlan (WifiData *data); -+ - gboolean wifi_utils_set_wake_on_wlan (WifiData *data, NMSettingWirelessWakeOnWLan wowl); - - /* OLPC Mesh-only functions */ diff --git a/debian/patches/Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch b/debian/patches/Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch index d68739a3..36f76e90 100644 --- a/debian/patches/Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch +++ b/debian/patches/Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch @@ -9,10 +9,10 @@ when connected to 3G or other systems that are potentially billable. src/org.freedesktop.NetworkManager.conf | 13 +++++++++++++ 1 file changed, 13 insertions(+) -diff --git a/src/org.freedesktop.NetworkManager.conf b/src/org.freedesktop.NetworkManager.conf -index 6be1feb..3dd2350 100644 ---- a/src/org.freedesktop.NetworkManager.conf -+++ b/src/org.freedesktop.NetworkManager.conf +Index: network-manager/src/core/org.freedesktop.NetworkManager.conf +=================================================================== +--- network-manager.orig/src/core/org.freedesktop.NetworkManager.conf ++++ network-manager/src/core/org.freedesktop.NetworkManager.conf @@ -37,6 +37,19 @@ <allow own="org.freedesktop.NetworkManager.dnsmasq"/> <allow send_destination="org.freedesktop.NetworkManager.dnsmasq"/> diff --git a/debian/patches/Update-dnsmasq-parameters.patch b/debian/patches/Update-dnsmasq-parameters.patch index e0b89aa6..be5ecc08 100644 --- a/debian/patches/Update-dnsmasq-parameters.patch +++ b/debian/patches/Update-dnsmasq-parameters.patch @@ -6,14 +6,14 @@ Disable caching since it's a potential security issue (local dns cache poisoning See also: https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolving --- - src/dns/nm-dns-dnsmasq.c | 4 ++-- - src/dns/nm-dns-manager.c | 6 +++--- + src/core/dns/nm-dns-dnsmasq.c | 4 ++-- + src/core/dns/nm-dns-manager.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) -Index: network-manager/src/dns/nm-dns-dnsmasq.c +Index: network-manager/src/core/dns/nm-dns-dnsmasq.c =================================================================== ---- network-manager.orig/src/dns/nm-dns-dnsmasq.c -+++ network-manager/src/dns/nm-dns-dnsmasq.c +--- network-manager.orig/src/core/dns/nm-dns-dnsmasq.c ++++ network-manager/src/core/dns/nm-dns-dnsmasq.c @@ -523,8 +523,8 @@ _gl_pid_spawn_next_step(void) argv[argv_idx++] = "--no-hosts"; /* don't use /etc/hosts to resolve */ argv[argv_idx++] = "--bind-interfaces"; @@ -25,11 +25,11 @@ Index: network-manager/src/dns/nm-dns-dnsmasq.c argv[argv_idx++] = "--clear-on-reload"; /* clear cache when dns server changes */ argv[argv_idx++] = "--conf-file=/dev/null"; /* avoid loading /etc/dnsmasq.conf */ argv[argv_idx++] = "--proxy-dnssec"; /* Allow DNSSEC to pass through */ -Index: network-manager/src/dns/nm-dns-manager.c +Index: network-manager/src/core/dns/nm-dns-manager.c =================================================================== ---- network-manager.orig/src/dns/nm-dns-manager.c -+++ network-manager/src/dns/nm-dns-manager.c -@@ -1696,12 +1696,12 @@ plugin_skip:; +--- network-manager.orig/src/core/dns/nm-dns-manager.c ++++ network-manager/src/core/dns/nm-dns-manager.c +@@ -1726,12 +1726,12 @@ plugin_skip:; NM_CAST_STRV_CC(nameservers), NM_CAST_STRV_CC(options)); @@ -41,10 +41,10 @@ Index: network-manager/src/dns/nm-dns-manager.c if (caching) { - const char *lladdr = "127.0.0.1"; + const char *lladdr = "127.0.1.1"; + gboolean need_edns0; + gboolean need_trust; - if (NM_IS_DNS_SYSTEMD_RESOLVED(priv->plugin)) { - /* systemd-resolved uses a different link-local address */ -@@ -1982,7 +1982,7 @@ nm_dns_manager_stop(NMDnsManager *self) +@@ -2031,7 +2031,7 @@ nm_dns_manager_stop(NMDnsManager *self) _LOGT("stopping..."); /* If we're quitting, leave a valid resolv.conf in place, not one 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 deleted file mode 100644 index bc313505..00000000 --- a/debian/patches/dns-manager-don-t-merge-split-DNS-search-domains.patch +++ /dev/null @@ -1,88 +0,0 @@ -From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com> -Date: Wed, 15 Jun 2016 16:07:27 +0300 -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/nm-dns-manager.c | 36 ++++++++++++++++++++---------------- - 1 file changed, 20 insertions(+), 16 deletions(-) - -Index: b/src/dns/nm-dns-manager.c -=================================================================== ---- a/src/dns/nm-dns-manager.c -+++ b/src/dns/nm-dns-manager.c -@@ -295,7 +295,7 @@ - } - - static void --merge_one_ip4_config (NMResolvConfData *rc, NMIP4Config *src) -+merge_one_ip4_config (NMResolvConfData *rc, NMIP4Config *src, gboolean never_default) - { - guint32 num, num_domains, num_searches, i; - -@@ -308,13 +308,14 @@ - 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; -- -- search = nm_ip4_config_get_search (src, i); -- if (!domain_is_valid (search, FALSE)) -- continue; -- add_string_item (rc->searches, 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, FALSE)) -+ continue; -+ add_string_item (rc->searches, search); -+ } - } - - if (num_domains > 1 || !num_searches) { -@@ -351,7 +352,7 @@ - } - - static void --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; - -@@ -378,13 +379,14 @@ - 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; -- -- search = nm_ip6_config_get_search (src, i); -- if (!domain_is_valid (search, FALSE)) -- continue; -- add_string_item (rc->searches, 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, FALSE)) -+ continue; -+ add_string_item (rc->searches, search); -+ } - } - - if (num_domains > 1 || !num_searches) { -@@ -412,9 +414,9 @@ - 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_ip4_config_get_never_default (data->config)); - else - g_return_if_reached (); - } diff --git a/debian/patches/gitlab_connection_ready.patch b/debian/patches/gitlab_connection_ready.patch deleted file mode 100644 index 7c25058a..00000000 --- a/debian/patches/gitlab_connection_ready.patch +++ /dev/null @@ -1,115 +0,0 @@ - -From 1043189ef6bd12475304bbe87f4f8daaf67402ec Mon Sep 17 00:00:00 2001 -From: Thomas Haller <thaller@redhat.com> -Date: Fri, 31 Jan 2020 00:54:46 +0100 -Subject: [PATCH 2/2] libnm: hide NMActiveConnection until NMRemoteConnection - is ready - -Generally, libnm's NMClient cache only wants to expose NMObjects that -are fully initalized. Most objects don't require anything special, -except NMRemoteConnection waits for the GetSettings() call to complete. - -NMObjects reference each other. For example, NMActiveConnection -references NMDevice and NMRemoteConnection. There is a desire that an -object is only ready, if the objects that it references are ready too. -In practice that is not done, because usually every objects references -other objects, that means all objects would be declared as non-ready -until they are all ready at the same time. Only NMRemoteConnection -implements is_ready() function. All other objects are declared ready -as they appear. This is also done this way, to cope with cycles where -objects reference each other. In practice, such cycles should not be -exposed by NetworkManager. However, libnm should be robust against that. - -This has the undesired effect that when you call AddAndActivate(), then -the NMActiveConnection might already be ready while its -NMRemoteConnection isn't. That means, ac.get_connection() will -initially return NULL, until the remote connection becomes ready. -Also add a special handling that NMActiveConnection waits for their -NMRemoteConnection to be ready, before being ready itself. ---- - libnm/nm-active-connection.c | 29 +++++++++++++++++++++++++++++ - libnm/nm-client.c | 8 ++++++++ - libnm/nm-libnm-utils.h | 2 ++ - 3 files changed, 39 insertions(+) - -diff --git a/libnm/nm-active-connection.c b/libnm/nm-active-connection.c -index aa8504e61d..ade2edbe73 100644 ---- a/libnm/nm-active-connection.c -+++ b/libnm/nm-active-connection.c -@@ -425,6 +425,33 @@ _nm_active_connection_state_changed_commit (NMActiveConnection *self, - _notify_event_state_changed, - g_object_ref (self)); - } -+/*****************************************************************************/ -+ -+static gboolean -+is_ready (NMObject *nmobj) -+{ -+ NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (nmobj); -+ -+ /* Usually, we don't want to expose our NMObject instances until they are fully initialized. -+ * For NMRemoteSetting this means to wait until GetSettings() returns. -+ * -+ * Note that most object types reference each other (directly or indirectly). E.g. the -+ * NMActiveConnection refers to the NMRemoteConnection and the NMDevice instance. So, -+ * we don't want to hide them too long, otherwise basically the entire set of objects -+ * will be hidden until they are all initialized. So, usually, when a NMObject references -+ * objects that are not yet initialized, that reference will just be NULL but the object -+ * will be considered ready already. -+ * -+ * For NMActiveConnection referencing a NMRemoteConnection don't do that. Here we wait for the -+ * NMRemoteConnection to be ready as well. This is somewhat arbitrary special casing, but -+ * the effect is that when nm_client_add_and_activate*() returns, the NMActiveConnection already -+ * references a initialized NMRemoteConnection. -+ */ -+ if (!nml_dbus_property_o_is_ready_fully (&priv->property_o[PROPERTY_O_IDX_CONNECTION])) -+ return FALSE; -+ -+ return NM_OBJECT_CLASS (nm_active_connection_parent_class)->is_ready (nmobj); -+} - - /*****************************************************************************/ - -@@ -550,6 +577,8 @@ nm_active_connection_class_init (NMActiveConnectionClass *klass) - object_class->get_property = get_property; - object_class->finalize = finalize; - -+ nm_object_class->is_ready = is_ready; -+ - _NM_OBJECT_CLASS_INIT_PRIV_PTR_INDIRECT (nm_object_class, NMActiveConnection); - - _NM_OBJECT_CLASS_INIT_PROPERTY_O_FIELDS_N (nm_object_class, NMActiveConnectionPrivate, property_o); -diff --git a/libnm/nm-client.c b/libnm/nm-client.c -index 154ad1c992..a93a81c353 100644 ---- a/libnm/nm-client.c -+++ b/libnm/nm-client.c -@@ -1594,6 +1594,14 @@ nml_dbus_property_o_is_ready (const NMLDBusPropertyO *pr_o) - || !pr_o->owner_dbobj; - } - -+gboolean -+nml_dbus_property_o_is_ready_fully (const NMLDBusPropertyO *pr_o) -+{ -+ return !pr_o->owner_dbobj -+ || !pr_o->obj_watcher -+ || pr_o->nmobj; -+} -+ - static void - nml_dbus_property_o_notify_changed (NMLDBusPropertyO *pr_o, - NMClient *self) -diff --git a/libnm/nm-libnm-utils.h b/libnm/nm-libnm-utils.h -index f2affc5f62..28c9c1164c 100644 ---- a/libnm/nm-libnm-utils.h -+++ b/libnm/nm-libnm-utils.h -@@ -260,6 +260,8 @@ gpointer nml_dbus_property_o_get_obj (NMLDBusPropertyO *pr_o); - - gboolean nml_dbus_property_o_is_ready (const NMLDBusPropertyO *pr_o); - -+gboolean nml_dbus_property_o_is_ready_fully (const NMLDBusPropertyO *pr_o); -+ - void nml_dbus_property_o_clear (NMLDBusPropertyO *pr_o, - NMClient *client); - --- -2.24.1 diff --git a/debian/patches/series b/debian/patches/series index 6e85d4f0..31a4dd70 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,5 +2,4 @@ Force-online-state-with-unmanaged-devices.patch # Ubuntu patches Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch Update-dnsmasq-parameters.patch -systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch ubuntu_revert_systemd.patch diff --git a/debian/patches/systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch b/debian/patches/systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch deleted file mode 100644 index 75b2fd2b..00000000 --- a/debian/patches/systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch +++ /dev/null @@ -1,124 +0,0 @@ -From: mirabilos <tg@debian.org> -Date: Fri, 9 Oct 2020 15:58:48 +0200 -Subject: fixup syscall numbers for x32 vs. amd64 - ---- - shared/systemd/src/basic/missing_syscall.h | 28 +++++++++++++++++----------- - 1 file changed, 17 insertions(+), 11 deletions(-) - -diff --git a/shared/systemd/src/basic/missing_syscall.h b/shared/systemd/src/basic/missing_syscall.h -index d11a77d..82daa68 100644 ---- a/shared/systemd/src/basic/missing_syscall.h -+++ b/shared/systemd/src/basic/missing_syscall.h -@@ -15,6 +15,12 @@ - #include <asm/sgidefs.h> - #endif - -+#if defined(__x86_64__) && defined(__ILP32__) -+#define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000) -+#else -+#define systemd_SC_arch_bias(x) (x) -+#endif -+ - #include "missing_keyctl.h" - #include "missing_stat.h" - -@@ -36,7 +42,7 @@ static inline int missing_pivot_root(const char *new_root, const char *put_old) - /* ======================================================================= */ - - #if defined __x86_64__ --# define systemd_NR_memfd_create 319 -+# define systemd_NR_memfd_create systemd_SC_arch_bias(319) - #elif defined __arm__ - # define systemd_NR_memfd_create 385 - #elif defined __aarch64__ -@@ -93,7 +99,7 @@ static inline int missing_memfd_create(const char *name, unsigned int flags) { - /* ======================================================================= */ - - #if defined __x86_64__ --# define systemd_NR_getrandom 318 -+# define systemd_NR_getrandom systemd_SC_arch_bias(318) - #elif defined(__i386__) - # define systemd_NR_getrandom 355 - #elif defined(__arm__) -@@ -169,7 +175,7 @@ static inline pid_t missing_gettid(void) { - /* ======================================================================= */ - - #if defined(__x86_64__) --# define systemd_NR_name_to_handle_at 303 -+# define systemd_NR_name_to_handle_at systemd_SC_arch_bias(303) - #elif defined(__i386__) - # define systemd_NR_name_to_handle_at 341 - #elif defined(__arm__) -@@ -226,7 +232,7 @@ static inline int missing_name_to_handle_at(int fd, const char *name, struct fil - #elif defined __arm__ - # define systemd_NR_setns 375 - #elif defined(__x86_64__) --# define systemd_NR_setns 308 -+# define systemd_NR_setns systemd_SC_arch_bias(308) - #elif defined(__i386__) - # define systemd_NR_setns 346 - #elif defined(__powerpc__) -@@ -279,7 +285,7 @@ static inline pid_t raw_getpid(void) { - /* ======================================================================= */ - - #if defined __x86_64__ --# define systemd_NR_renameat2 316 -+# define systemd_NR_renameat2 systemd_SC_arch_bias(316) - #elif defined __arm__ - # define systemd_NR_renameat2 382 - #elif defined __aarch64__ -@@ -388,7 +394,7 @@ static inline key_serial_t missing_request_key(const char *type, const char *des - /* ======================================================================= */ - - #if defined(__x86_64__) --# define systemd_NR_copy_file_range 326 -+# define systemd_NR_copy_file_range systemd_SC_arch_bias(326) - #elif defined(__i386__) - # define systemd_NR_copy_file_range 377 - #elif defined __s390__ -@@ -440,7 +446,7 @@ static inline ssize_t missing_copy_file_range(int fd_in, loff_t *off_in, - #if defined __i386__ - # define systemd_NR_bpf 357 - #elif defined __x86_64__ --# define systemd_NR_bpf 321 -+# define systemd_NR_bpf systemd_SC_arch_bias(321) - #elif defined __aarch64__ - # define systemd_NR_bpf 280 - #elif defined __arm__ -@@ -492,7 +498,7 @@ static inline int missing_bpf(int cmd, union bpf_attr *attr, size_t size) { - # if defined __i386__ - # define systemd_NR_pkey_mprotect 380 - # elif defined __x86_64__ --# define systemd_NR_pkey_mprotect 329 -+# define systemd_NR_pkey_mprotect systemd_SC_arch_bias(329) - # elif defined __aarch64__ - # define systemd_NR_pkey_mprotect 288 - # elif defined __arm__ -@@ -545,7 +551,7 @@ assert_cc(__NR_pkey_mprotect == systemd_NR_pkey_mprotect); - #elif defined __sparc__ - # define systemd_NR_statx 360 - #elif defined __x86_64__ --# define systemd_NR_statx 332 -+# define systemd_NR_statx systemd_SC_arch_bias(332) - #else - # warning "statx() syscall number unknown for your architecture" - #endif -@@ -647,7 +653,7 @@ static inline long missing_get_mempolicy(int *mode, unsigned long *nodemask, - #elif defined __ia64__ - # define systemd_NR_pidfd_send_signal (424 + 1024) - #else --# define systemd_NR_pidfd_send_signal 424 -+# define systemd_NR_pidfd_send_signal systemd_SC_arch_bias(424) - #endif - - /* may be (invalid) negative number due to libseccomp, see PR 13319 */ -@@ -691,7 +697,7 @@ static inline int missing_pidfd_send_signal(int fd, int sig, siginfo_t *info, un - #elif defined __ia64__ - # define systemd_NR_pidfd_open (434 + 1024) - #else --# define systemd_NR_pidfd_open 434 -+# define systemd_NR_pidfd_open systemd_SC_arch_bias(434) - #endif - - /* may be (invalid) negative number due to libseccomp, see PR 13319 */ diff --git a/debian/patches/ubuntu_revert_systemd.patch b/debian/patches/ubuntu_revert_systemd.patch index e6482f5b..2f5740cd 100644 --- a/debian/patches/ubuntu_revert_systemd.patch +++ b/debian/patches/ubuntu_revert_systemd.patch @@ -1,8 +1,8 @@ -diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c -index b377c85e..ab4f8305 100644 ---- a/src/platform/nm-linux-platform.c -+++ b/src/platform/nm-linux-platform.c -@@ -26,7 +26,6 @@ +Index: network-manager/src/core/platform/nm-linux-platform.c +=================================================================== +--- network-manager.orig/src/core/platform/nm-linux-platform.c ++++ network-manager/src/core/platform/nm-linux-platform.c +@@ -29,7 +29,6 @@ #include <poll.h> #include <sys/ioctl.h> #include <sys/socket.h> @@ -10,7 +10,7 @@ index b377c85e..ab4f8305 100644 #include <unistd.h> #include "nm-std-aux/unaligned.h" -@@ -9528,34 +9527,12 @@ constructed(GObject *_object) +@@ -9515,34 +9514,12 @@ constructed(GObject *_object) } } diff --git a/debian/rules b/debian/rules index df98dc4b..dd373b04 100755 --- a/debian/rules +++ b/debian/rules @@ -36,6 +36,7 @@ override_dh_auto_configure: --with-iptables=/usr/sbin/iptables \ --with-dnsmasq=/usr/sbin/dnsmasq \ --with-dnssec-trigger=/usr/lib/dnssec-trigger/dnssec-trigger-script \ + --with-polkit-agent-helper-1=/usr/lib/policykit-1/polkit-agent-helper-1 \ --with-systemdsystemunitdir=/lib/systemd/system \ --with-udev-dir=/lib/udev \ --with-dbus-sys-dir=/usr/share/dbus-1/system.d \ |