From 869e9027026cdbb15d4e4a6327ff41d2697858eb Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Thu, 14 May 2026 19:21:22 +0200 Subject: New upstream version 1.56.1 --- NEWS | 10 + data/meson.build | 11 +- data/org.freedesktop.NetworkManager.rules.in | 17 + docs/api/network-manager-docs.xml | 1 + docs/libnm/libnm-docs.xml | 2 + introspection/meson.build | 1 + ...rg.freedesktop.NetworkManager.Device.Geneve.xml | 63 +++ .../org.freedesktop.NetworkManager.Device.xml | 17 + man/nmcli.xml | 16 + meson.build | 9 +- meson_options.txt | 1 + po/POTFILES.in | 4 + src/core/NetworkManagerUtils.c | 9 +- src/core/devices/nm-device-factory.c | 1 + src/core/devices/nm-device-geneve.c | 487 +++++++++++++++++++++ src/core/devices/nm-device-geneve.h | 33 ++ src/core/devices/nm-device.c | 246 ++++++++++- src/core/dhcp/nm-dhcp-utils.c | 8 +- src/core/dns/nm-dns-manager.c | 4 +- src/core/meson.build | 1 + src/core/nm-checkpoint.c | 75 +++- src/core/nm-config-data.c | 50 ++- src/core/nm-config.c | 204 +++++++++ src/core/nm-config.h | 11 + src/core/nm-ip-config.c | 8 +- src/core/nm-ip-config.h | 2 +- src/core/nm-l3-config-data.c | 9 +- src/core/nm-l3cfg.c | 4 +- src/core/nm-l3cfg.h | 6 +- src/core/nm-netns.c | 8 +- src/core/platform/tests/test-common.c | 63 ++- src/core/platform/tests/test-common.h | 8 +- src/core/platform/tests/test-link.c | 64 ++- src/core/platform/tests/test-route.c | 74 ++++ src/core/settings/nm-agent-manager.c | 35 +- src/core/settings/nm-settings-connection.c | 3 +- .../plugins/ifcfg-rh/nms-ifcfg-rh-reader.c | 2 +- .../supplicant/nm-supplicant-settings-verify.c | 7 +- src/core/tests/config/test-config.c | 103 +++++ src/libnm-base/nm-config-base.h | 3 + src/libnm-client-impl/libnm.ver | 25 ++ src/libnm-client-impl/meson.build | 1 + src/libnm-client-impl/nm-client.c | 1 + src/libnm-client-impl/nm-device-geneve.c | 344 +++++++++++++++ src/libnm-client-impl/nm-device.c | 73 ++- src/libnm-client-impl/nm-libnm-utils.c | 1 + src/libnm-client-impl/nm-libnm-utils.h | 3 +- src/libnm-client-public/NetworkManager.h | 2 + src/libnm-client-public/meson.build | 1 + src/libnm-client-public/nm-autoptr.h | 2 + src/libnm-client-public/nm-device-geneve.h | 60 +++ src/libnm-client-public/nm-device.h | 9 + src/libnm-core-aux-intern/nm-libnm-core-utils.c | 6 +- .../gen-metadata-nm-settings-libnm-core.xml.in | 28 ++ src/libnm-core-impl/meson.build | 1 + src/libnm-core-impl/nm-connection.c | 17 + src/libnm-core-impl/nm-meta-setting-base-impl.c | 9 + src/libnm-core-impl/nm-setting-bridge.c | 14 +- src/libnm-core-impl/nm-setting-geneve.c | 354 +++++++++++++++ src/libnm-core-impl/nm-setting-ip-config.c | 3 + src/libnm-core-impl/nm-setting.c | 2 +- src/libnm-core-intern/nm-core-internal.h | 1 + src/libnm-core-intern/nm-meta-setting-base-impl.h | 1 + src/libnm-core-public/meson.build | 1 + src/libnm-core-public/nm-connection.h | 6 +- src/libnm-core-public/nm-core-types.h | 1 + src/libnm-core-public/nm-dbus-interface.h | 51 +++ src/libnm-core-public/nm-setting-geneve.h | 74 ++++ src/libnm-core-public/nm-version-macros.h.in | 1 + src/libnm-core-public/nm-version.h | 6 + src/libnm-glib-aux/nm-shared-utils.h | 1 + src/libnm-platform/nm-linux-platform.c | 131 +++++- src/libnm-platform/nm-platform.c | 109 ++++- src/libnm-platform/nm-platform.h | 45 +- src/libnm-platform/nmp-base.h | 7 +- src/libnm-platform/nmp-object.c | 12 + src/libnm-platform/nmp-object.h | 8 + src/libnm-platform/tests/test-nm-platform.c | 2 + src/libnm-systemd-shared/src/basic/sort-util.h | 7 +- src/libnm-systemd-shared/src/basic/string-util.c | 4 +- src/libnm-systemd-shared/src/basic/string-util.h | 18 +- .../src/fundamental/macro-fundamental.h | 9 +- src/libnm-udev-aux/nm-udev-utils.c | 15 +- src/libnmc-setting/nm-meta-setting-base-impl.c | 9 + src/libnmc-setting/nm-meta-setting-base-impl.h | 1 + src/libnmc-setting/nm-meta-setting-desc.c | 60 +++ src/libnmc-setting/settings-docs.h.in | 6 + src/nm-initrd-generator/nmi-cmdline-reader.c | 6 +- src/nmcli/connections.c | 18 +- src/nmcli/devices.c | 214 +++++++-- src/nmcli/gen-metadata-nm-settings-nmcli.xml.in | 32 +- vapi/NM-1.0.metadata | 2 + 92 files changed, 3291 insertions(+), 203 deletions(-) create mode 100644 data/org.freedesktop.NetworkManager.rules.in create mode 100644 introspection/org.freedesktop.NetworkManager.Device.Geneve.xml create mode 100644 src/core/devices/nm-device-geneve.c create mode 100644 src/core/devices/nm-device-geneve.h create mode 100644 src/libnm-client-impl/nm-device-geneve.c create mode 100644 src/libnm-client-public/nm-device-geneve.h create mode 100644 src/libnm-core-impl/nm-setting-geneve.c create mode 100644 src/libnm-core-public/nm-setting-geneve.h diff --git a/NEWS b/NEWS index 3ee8e88a..109688ad 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,13 @@ +============================================= +NetworkManager-1.56.1 +Overview of changes since NetworkManager-1.56 +============================================= + +* Add support for GENEVE interface. +* Allow persisting the managed state across reboots from nmcli and the D-Bus API. +* Allow changing the device's administrative state in the kernel at the same + time as a change to the managed state from nmcli and the D-Bus API. + ============================================= NetworkManager-1.56 Overview of changes since NetworkManager-1.54 diff --git a/data/meson.build b/data/meson.build index b77bf434..34c98e3b 100644 --- a/data/meson.build +++ b/data/meson.build @@ -68,8 +68,17 @@ if enable_polkit output: '@BASENAME@', po_dir: po_dir, install: true, - install_dir: polkit_gobject_policydir, + install_dir: polkit_policydir, ) + + if polkit_noauth_group != '' + configure_file( + input: 'org.freedesktop.NetworkManager.rules.in', + output: '@BASENAME@', + install_dir: polkit_rulesdir, + configuration: {'NM_POLKIT_NOAUTH_GROUP': polkit_noauth_group}, + ) + endif endif if enable_firewalld_zone diff --git a/data/org.freedesktop.NetworkManager.rules.in b/data/org.freedesktop.NetworkManager.rules.in new file mode 100644 index 00000000..d6df0b32 --- /dev/null +++ b/data/org.freedesktop.NetworkManager.rules.in @@ -0,0 +1,17 @@ +// NetworkManager authorizations/policy for the @NM_POLKIT_NOAUTH_GROUP@ group. +// +// DO NOT EDIT THIS FILE, it will be overwritten on update. +// +// Allow users in the @NM_POLKIT_NOAUTH_GROUP@ group to create system-wide connections without being +// prompted for a password if they are in a local console. +// This is optional and is only recommended to maintain backwards compatibility +// in systems where it was already working in this way. It is discouraged +// otherwise. + +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" && + subject.isInGroup("@NM_POLKIT_NOAUTH_GROUP@") && + subject.local) { + return polkit.Result.YES; + } +}); diff --git a/docs/api/network-manager-docs.xml b/docs/api/network-manager-docs.xml index caff6fa4..99164273 100644 --- a/docs/api/network-manager-docs.xml +++ b/docs/api/network-manager-docs.xml @@ -183,6 +183,7 @@ + diff --git a/docs/libnm/libnm-docs.xml b/docs/libnm/libnm-docs.xml index 39f62417..719d8998 100644 --- a/docs/libnm/libnm-docs.xml +++ b/docs/libnm/libnm-docs.xml @@ -317,6 +317,7 @@ print ("NetworkManager version " + client.get_version())]]> + @@ -377,6 +378,7 @@ print ("NetworkManager version " + client.get_version())]]> + diff --git a/introspection/meson.build b/introspection/meson.build index 16bb5ed4..7703b469 100644 --- a/introspection/meson.build +++ b/introspection/meson.build @@ -15,6 +15,7 @@ ifaces = [ 'org.freedesktop.NetworkManager.Device.Bridge', 'org.freedesktop.NetworkManager.Device.Dummy', 'org.freedesktop.NetworkManager.Device.Generic', + 'org.freedesktop.NetworkManager.Device.Geneve', 'org.freedesktop.NetworkManager.Device.Hsr', 'org.freedesktop.NetworkManager.Device.IPTunnel', 'org.freedesktop.NetworkManager.Device.Infiniband', diff --git a/introspection/org.freedesktop.NetworkManager.Device.Geneve.xml b/introspection/org.freedesktop.NetworkManager.Device.Geneve.xml new file mode 100644 index 00000000..fc568dff --- /dev/null +++ b/introspection/org.freedesktop.NetworkManager.Device.Geneve.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/introspection/org.freedesktop.NetworkManager.Device.xml b/introspection/org.freedesktop.NetworkManager.Device.xml index 085d2a1f..d770cfe6 100644 --- a/introspection/org.freedesktop.NetworkManager.Device.xml +++ b/introspection/org.freedesktop.NetworkManager.Device.xml @@ -175,6 +175,9 @@ property has a similar effect to configuring the device as unmanaged via the keyfile.unmanaged-devices setting in NetworkManager.conf. Changes to this value are not persistent and lost after NetworkManager restart. + + DEPRECATED: 1.56.1: Use the SetManaged method instead, which supports + additional features like persisting the state to disk --> @@ -391,6 +394,20 @@ --> + + + + + +