{"object_kind":"push","event_name":"push","before":"05efc6e2536b7c6a6cdf92f2d4fc19e0c6dde554","after":"f472111e585d61d1c21141a7a1fd85ec6a455725","ref":"refs/heads/main","ref_protected":false,"checkout_sha":"f472111e585d61d1c21141a7a1fd85ec6a455725","message":null,"user_id":94562,"user_name":"Íñigo Huguet","user_username":"ihuguet","user_email":"","user_avatar":"https://gitlab.freedesktop.org/uploads/-/system/user/avatar/94562/avatar.png","project_id":411,"project":{"id":411,"name":"NetworkManager","description":"NetworkManager — network management daemon","web_url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager","avatar_url":"https://gitlab.freedesktop.org/uploads/-/system/project/avatar/411/nm_logo.png","git_ssh_url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","git_http_url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git","namespace":"NetworkManager","visibility_level":20,"path_with_namespace":"NetworkManager/NetworkManager","default_branch":"main","ci_config_path":"","homepage":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager","url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","ssh_url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","http_url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git"},"commits":[{"id":"294131a2a41f8773aaf15abebb461fb3fbf7a7dc","message":"core: dbus: accept global DNS configuration without a default domain\n\nSince 1.44 we accept a global-dns section without any global-dns-domain\nsection, so users can define searches and options without defining any\nglobal DNS servers.\n\nWhen set from the D-Bus API it was still rejected. Fix it.\n\nFixes: 1f0d1d78d2a2 ('dns-manager: always apply options from [global-dns]')\n","title":"core: dbus: accept global DNS configuration without a default domain","timestamp":"2025-09-11T10:25:36+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/294131a2a41f8773aaf15abebb461fb3fbf7a7dc","author":{"name":"Íñigo Huguet","email":"ihuguet@riseup.net"},"added":[],"modified":["src/core/nm-config-data.c"],"removed":[]},{"id":"1cba0a3cca80d2dc8436d8ffdf58506d9eb95846","message":"dns: make [global-dns] to overwrite configs from connections\n\nAccording to the documentation, settings from [global-dns] (searches and\noptions) are always merged with those from connections. However this was\nnot happening if no [global-dns-domain-*] exists, in which case\nconnections were ignored. This happened because in the past both global\nsections must de defined or undefined. When this was changed to allow\ndefining only [global-dns], allowing it in the function that generates\nthe resolv.conf file was forgotten. Fix that now.\n\nAnyway, merging these configs doesn't make much sense. The searches and\noptions defined in connections probably make sense only for the nameservers\ndefined in that same connection.\n\nBecause of this, make the following change: if global nameservers are\ndefined, use searches and options from [global-dns] only, because those\ndefined in connections may not make sense for the global nameservers. If\n[global-dns] is missing, assume an empty [global-dns] section.\n\nAlso, if no global nameservers are defined, but [global-dns] is, make\nthat it overwrites the searches and options defined in connections. This\nis not ideal, but none of the alternatives is better and at least this\nis easy to remember.\n\nSo, the resulting rules from above are:\n- If [global-dns] is defined, it always overwrite searches and options\n from connections.\n- If [global-dns-domain-*] is defined, it always overwrite nameservers\n from connections. It overwrites searches and options too.\n\nFixes: 1f0d1d78d2a2 ('dns-manager: always apply options from [global-dns]')\nFixes: f57a848da5aa ('man: update documentation about global DNS configuration')\n","title":"dns: make [global-dns] to overwrite configs from connections","timestamp":"2025-09-11T10:25:36+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/1cba0a3cca80d2dc8436d8ffdf58506d9eb95846","author":{"name":"Íñigo Huguet","email":"ihuguet@riseup.net"},"added":[],"modified":["man/NetworkManager.conf.xml","src/core/dns/nm-dns-manager.c","src/core/nm-config-data.c","src/core/nm-config-data.h","src/core/nm-l3-config-data.c","src/core/nm-l3-config-data.h"],"removed":[]},{"id":"7fb4724efa73f87ef5676504631fd8f58e388c9f","message":"core: dns: show in D-Bus if [global-dns] is defined but empty\n\nClients like nmstate needs to know if the [global-dns] section is\ndefined or not, so they know if DNS configs from connections are\nrelevant or not. Expose it in D-Bus by always exposing \"searches\"\nand \"options\" if it's defined, maybe as empty lists.\n","title":"core: dns: show in D-Bus if [global-dns] is defined but empty","timestamp":"2025-09-11T10:25:36+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/7fb4724efa73f87ef5676504631fd8f58e388c9f","author":{"name":"Íñigo Huguet","email":"ihuguet@riseup.net"},"added":[],"modified":["src/core/nm-config-data.c"],"removed":[]},{"id":"4a46f454da5fbe6668c2eaecdeaeec35068a6ec3","message":"core: keep empty groups from keyfile configs\n\nWhen reading NetworkManager.conf and NetworkManager-intern.conf we might\nneed to know if a group is defined or not, even if it's empty. This is\nthe case, for example, for [global-dns]. If [global-dns] is defined in\nNM.conf overwrites the config from NM-intern, and if it's defined in any\nof them they overwrite the configs from connections.\n\nBefore this patch, defining it as an empty group was ignored:\n```\n[global-dns]\n```\n\nInstead, it was necessary to add at least one key-value to the group.\nOtherwise the group was silently ignored.\n```\n[global-dns]\nsearches=\n```\n\nKeep empty groups so we can take better decissions about overwritting\nconfigs from other sources.\n","title":"core: keep empty groups from keyfile configs","timestamp":"2025-09-11T10:25:36+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/4a46f454da5fbe6668c2eaecdeaeec35068a6ec3","author":{"name":"Íñigo Huguet","email":"ihuguet@riseup.net"},"added":["src/core/tests/config/global-dns-empty.conf","src/core/tests/config/global-dns-not-set.conf"],"modified":["src/core/nm-config.c","src/core/tests/config/test-config.c"],"removed":[]},{"id":"f472111e585d61d1c21141a7a1fd85ec6a455725","message":"merge: branch 'ih/dbus-global-dns'\n\ncore: dns: fix the behavior of [global-dns]\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2261","title":"merge: branch 'ih/dbus-global-dns'","timestamp":"2025-09-11T10:26:06+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/f472111e585d61d1c21141a7a1fd85ec6a455725","author":{"name":"Íñigo Huguet","email":"ihuguet@riseup.net"},"added":["src/core/tests/config/global-dns-empty.conf","src/core/tests/config/global-dns-not-set.conf"],"modified":["man/NetworkManager.conf.xml","src/core/dns/nm-dns-manager.c","src/core/nm-config-data.c","src/core/nm-config-data.h","src/core/nm-config.c","src/core/nm-l3-config-data.c","src/core/nm-l3-config-data.h","src/core/tests/config/test-config.c"],"removed":[]}],"total_commits_count":5,"push_options":{},"repository":{"name":"NetworkManager","url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","description":"NetworkManager — network management daemon","homepage":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager","git_http_url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git","git_ssh_url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","visibility_level":20}}