about summary refs log tree commit diff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog15
-rw-r--r--debian/libnm0.symbols6
-rw-r--r--debian/network-manager.examples3
-rw-r--r--debian/patches/c-rbtree-fix-alignment-assertion-on-m64k.patch56
-rw-r--r--debian/patches/device-don-t-require-a-hardware-address-for-DHCPv6.patch36
-rw-r--r--debian/patches/series2
6 files changed, 114 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog
index 2fcbd3fe..343f1582 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,18 @@
+network-manager (1.38.0-2) unstable; urgency=medium
+
+  * Cherry-pick a couple of fixes from upstream nm-1-38 branch
+  * Install additional config examples found in examples/nm-conf.d/
+    (Closes: #1010889)
+
+ -- Michael Biebl <biebl@debian.org>  Wed, 18 May 2022 23:05:00 +0200
+
+network-manager (1.38.0-1) unstable; urgency=medium
+
+  * New upstream version 1.38.0
+  * Bump symbol versions to final 1.38.0 release
+
+ -- Michael Biebl <biebl@debian.org>  Fri, 13 May 2022 15:42:33 +0200
+
 network-manager (1.37.92-1~bpo11+1) bullseye-backports; urgency=medium
 
   * Rebuild for bullseye-backports (Closes: #1010775).
diff --git a/debian/libnm0.symbols b/debian/libnm0.symbols
index 4808948d..f90d3ac2 100644
--- a/debian/libnm0.symbols
+++ b/debian/libnm0.symbols
@@ -29,7 +29,7 @@ libnm.so.0 libnm0 #MINVER#
  libnm_1_32_4@libnm_1_32_4 1.32.12
  libnm_1_34_0@libnm_1_34_0 1.34.0
  libnm_1_36_0@libnm_1_36_0 1.36.0
- libnm_1_38_0@libnm_1_38_0 1.37.92
+ libnm_1_38_0@libnm_1_38_0 1.38.0
  libnm_1_4_0@libnm_1_4_0 1.4.0
  libnm_1_6_0@libnm_1_6_0 1.6.0
  libnm_1_8_0@libnm_1_8_0 1.8.0
@@ -157,7 +157,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_client_get_permission_result@libnm_1_0_0 1.0.0
  nm_client_get_permissions_state@libnm_1_24_0 1.24.0
  nm_client_get_primary_connection@libnm_1_0_0 1.0.0
- nm_client_get_radio_flags@libnm_1_38_0 1.37.92
+ nm_client_get_radio_flags@libnm_1_38_0 1.38.0
  nm_client_get_startup@libnm_1_0_0 1.0.0
  nm_client_get_state@libnm_1_0_0 1.0.0
  nm_client_get_type@libnm_1_0_0 1.0.0
@@ -632,7 +632,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_object_get_client@libnm_1_24_0 1.24.0
  nm_object_get_path@libnm_1_0_0 1.0.0
  nm_object_get_type@libnm_1_0_0 1.0.0
- nm_radio_flags_get_type@libnm_1_38_0 1.37.92
+ nm_radio_flags_get_type@libnm_1_38_0 1.38.0
  nm_remote_connection_commit_changes@libnm_1_0_0 1.0.0
  nm_remote_connection_commit_changes_async@libnm_1_0_0 1.0.0
  nm_remote_connection_commit_changes_finish@libnm_1_0_0 1.0.0
diff --git a/debian/network-manager.examples b/debian/network-manager.examples
index a1fc8a10..aba68cd6 100644
--- a/debian/network-manager.examples
+++ b/debian/network-manager.examples
@@ -1 +1,2 @@
-debian/tmp/usr/share/doc/NetworkManager/examples/server.conf
+usr/share/doc/NetworkManager/examples/server.conf
+examples/nm-conf.d/
diff --git a/debian/patches/c-rbtree-fix-alignment-assertion-on-m64k.patch b/debian/patches/c-rbtree-fix-alignment-assertion-on-m64k.patch
new file mode 100644
index 00000000..c00cd520
--- /dev/null
+++ b/debian/patches/c-rbtree-fix-alignment-assertion-on-m64k.patch
@@ -0,0 +1,56 @@
+From: David Rheinsberg <david.rheinsberg@gmail.com>
+Date: Wed, 18 May 2022 11:31:45 +0200
+Subject: c-rbtree: fix alignment assertion on m64k
+
+We want to assert that our alignment-guarantees do not exceed the
+guarantees of the system-linker or system-allocator on the target
+platform. Hence, we check against max_align_t. This is a lower bound,
+but not the exact check we actually want. And as it turns out, on m64k
+it is too low. Add a static check against 4-byte alignment for m64k as
+a workaround.
+
+Reported-by: Michael Biebl
+Signed-off-by: David Rheinsberg <david.rheinsberg@gmail.com>
+
+https://github.com/c-util/c-rbtree/issues/9
+https://github.com/c-util/c-rbtree/commit/eb778d39694a0f3389f2438bbc45fb21685a047d
+(cherry picked from commit 78831d127fa169b26783ccaa6b534edfbb0adad4)
+(cherry picked from commit a83c884fb6e13aad783d547691620d43bed4db84)
+---
+ src/c-rbtree/src/c-rbtree.c | 21 +++++++++++++++++----
+ 1 file changed, 17 insertions(+), 4 deletions(-)
+
+diff --git a/src/c-rbtree/src/c-rbtree.c b/src/c-rbtree/src/c-rbtree.c
+index 2f0e608..28de4d9 100644
+--- a/src/c-rbtree/src/c-rbtree.c
++++ b/src/c-rbtree/src/c-rbtree.c
+@@ -35,12 +35,25 @@
+  * CRBNode is 4-byte aligned, so the lower 2 bits are actually unused. We also
+  * sometimes store a pointer to the root-node, so make sure this one is also 4
+  * byte aligned.
+- * Note that there are actually some architectures where `max_align_t` is 4, so
+- * we do not have much wiggle-room to extend this flag-set.
++ *
++ * Additionally, we want to avoid an alignment that is bigger than the
++ * alignment guaranteed by the system allocator or supported by the system
++ * linker. As there is no standard way to check this, we simply verify against
++ * `alignof(max_align_t)`, as this alignment must be supported by the
++ * toolchain.
++ *
++ * m64k is special here, as it only has a 2-byte max-alignment, but still
++ * guarantees a >=4-byte alignment on allocations. So hard-code the maximum for
++ * it.
+  */
+-static_assert(alignof(CRBNode) <= alignof(max_align_t), "Invalid RBNode alignment");
++#ifdef __m68k__
++#  define C_RBTREE_MAX_ALIGN (C_MAX(4, alignof(max_align_t)))
++#else
++#  define C_RBTREE_MAX_ALIGN (alignof(max_align_t))
++#endif
++static_assert(alignof(CRBNode) <= C_RBTREE_MAX_ALIGN, "Invalid RBNode alignment");
+ static_assert(alignof(CRBNode) >= 4, "Invalid CRBNode alignment");
+-static_assert(alignof(CRBTree) <= alignof(max_align_t), "Invalid RBTree alignment");
++static_assert(alignof(CRBTree) <= C_RBTREE_MAX_ALIGN, "Invalid RBTree alignment");
+ static_assert(alignof(CRBTree) >= 4, "Invalid CRBTree alignment");
+ 
+ /**
diff --git a/debian/patches/device-don-t-require-a-hardware-address-for-DHCPv6.patch b/debian/patches/device-don-t-require-a-hardware-address-for-DHCPv6.patch
new file mode 100644
index 00000000..09d48282
--- /dev/null
+++ b/debian/patches/device-don-t-require-a-hardware-address-for-DHCPv6.patch
@@ -0,0 +1,36 @@
+From: Beniamino Galvani <bgalvani@redhat.com>
+Date: Mon, 16 May 2022 17:53:51 +0200
+Subject: device: don't require a hardware address for DHCPv6
+
+DHCPv4 requires a hardware address, while DHCPv6 does not.
+
+Anyway, the DHCP manager already checks that an address is available
+when needed, so drop the check here.
+
+Fixes: 58287cbcc0c8 ('core: rework IP configuration in NetworkManager using layer 3 configuration')
+
+https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1228
+(cherry picked from commit 9bc7278da369d9dd69cc7687a5d050dfea793faa)
+(cherry picked from commit 1dbcc1c4412de43c6c5def417eef221b84535d7a)
+---
+ src/core/devices/nm-device.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
+index 70b52b1..9e2c1f9 100644
+--- a/src/core/devices/nm-device.c
++++ b/src/core/devices/nm-device.c
+@@ -10117,13 +10117,6 @@ _dev_ipdhcpx_start(NMDevice *self, int addr_family)
+ 
+     hwaddr = nmp_link_address_get_as_bytes(&pllink->l_address);
+ 
+-    if (!IS_IPv4) {
+-        if (!hwaddr) {
+-            fail_reason = "interface has no MAC address to start DHCPv6";
+-            goto out_fail;
+-        }
+-    }
+-
+     request_broadcast = FALSE;
+     if (pllink) {
+         str = nmp_object_link_udev_device_get_property_value(NMP_OBJECT_UP_CAST(pllink),
diff --git a/debian/patches/series b/debian/patches/series
index a2d7e06d..cf412f3b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,3 @@
 Force-online-state-with-unmanaged-devices.patch
+c-rbtree-fix-alignment-assertion-on-m64k.patch
+device-don-t-require-a-hardware-address-for-DHCPv6.patch