Commit graph

183 commits

Author SHA1 Message Date
Thomas Haller 4012c68365
NEWS: update 2021-07-28 17:47:45 +02:00
Thomas Haller c1ac20abb6
NEWS: update
Add the NEWS entries that were also present in 1.32.2 release.
2021-07-01 11:44:05 +02:00
Thomas Haller c76b15b45b
NEWS: update 2021-07-01 11:36:53 +02:00
Thomas Haller d06efa345f
NEWS: update 2021-06-23 20:33:36 +02:00
Thomas Haller 89af6be1d6
NEWS: belatedly add news entry for 1.32.0 2021-06-21 10:00:20 +02:00
Thomas Haller 35b0b4c938
NEWS: update 2021-06-16 20:14:47 +02:00
Thomas Haller 5286170fa8
NEWS: update 2021-06-16 20:12:07 +02:00
Thomas Haller 32bc29591c
NEWS: update 2021-06-16 16:26:15 +02:00
Beniamino Galvani e29d2f2200 NEWS: update 2021-06-16 15:30:02 +02:00
Thomas Haller 79d9441567
firewall: change default for firewall-backend to "nftables""
It seems that the nftables backend works well. Let's change the default.
This will also be backported to nm-1-32 branch, for 1.32.0 release.

This reverts commit 0609f1f31c.
2021-06-14 11:17:25 +02:00
Thomas Haller 0206642ec3
NEWS: update 2021-06-11 22:32:25 +02:00
Thomas Haller d18172bb2b
NEWS: update 2021-06-04 17:07:09 +02:00
Thomas Haller b4a7330629
NEWS: update 2021-06-04 13:52:27 +02:00
Beniamino Galvani fa832c6590 NEWS: update 2021-06-04 13:43:11 +02:00
Thomas Haller ebab9a32dc
NEWS: update 2021-06-04 10:11:51 +02:00
Thomas Haller 9784956442
NEWS: update 2021-06-04 10:04:26 +02:00
Thomas Haller 04ae0d905c
NEWS: update 2021-06-02 23:13:59 +02:00
Thomas Haller 48dce1b66c
core: drop deprecated PropertiesChanged D-Bus signal (API BREAK)
D-Bus 1.3.1 (2010) introduced the standard "PropertiesChanged" signal
on "org.freedesktop.DBus.Properties". NetworkManager is old, and predates
this API. From that time, it still had it's own PropertiesChanged signal
that are emitted together with the standard ones. NetworkManager
supports the standard PropertiesChanged signal since it switched to
gdbus library in version 1.2.0 (2016).

These own signals are deprecated for a long time already ([1], 2016), and
are hopefully not used by anybody anymore. libnm-glib was using them and
relied on them, but that library is gone. libnm does not use them and neither
does plasma-nm.

Hopefully no users are left that are affected by this API break.

[1] 6fb917178a
2021-05-14 10:57:34 +02:00
Thomas Haller 207cf3d5d4
libnm: normalize "connection.uuid"
For NetworkManager profiles, "connection.uuid" is the identifier of the
profile. It is supposed to be a UUID, however:

- the UUID was not ensured to be all-lower case. We should make sure
  that our UUIDs are in a consistent manner, so that users can rely
  on the format of the string.

- the UUID was never actually interpreted as a UUID. It only was some
  opaque string, that we use as identifier. We had nm_utils_is_uuid()
  which checks that the format is valid, however that did not fully
  validate the format, like it would accept "----7daf444dd78741a59e1ef1b3c8b1c0e8"
  and "549fac10a25f4bcc912d1ae688c2b4987daf444d" (40 hex characters).

Both invalid UUIDs and non-normalized UUID should be normalized. We
don't want to break existing profiles that use such UUIDs, thus we don't
outright reject them. Let's instead mangle them during
nm_connection_normalize().
2021-05-04 15:51:59 +02:00
Thomas Haller 40032f4614
cli: fix resetting values via property alias
Property aliases should really just be shortcuts for one fully spelled
out property (sometimes, they do more like "master").

Anyway, we must also handle resetting the value, otherwise:

  $ nmcli connection add type gsm apn ""

will still result in "gsm.apn=internet", unlike

  $ nmcli connection add type gsm gsm.apn ""
2021-05-03 10:11:23 +02:00
Beniamino Galvani 8d491482ae NEWS: update 2021-04-22 21:44:03 +02:00
Thomas Haller 1a1606186c
NEWS: update 2021-02-18 18:21:24 +01:00
Thomas Haller 801c41a11c
build: make path to polkit-agent-helper-1 binary configurable
Add new configure option to set the path to "polkit-agent-helper-1".

The path cannot be obtained from pkg-config and `pkg-config
--variable=prefix polkit-agent-1` is not good enough.

On Fedora, the path is "/usr/lib/polkit-1/polkit-agent-helper-1".
On Debian Buster, the path is "/usr/lib/policykit-1/polkit-agent-helper-1"
On Debian Sid, the path is "/usr/libexec/polkit-agent-helper-1" (but
currently it is also symlinked from "/usr/lib/policykit-1/polkit-agent-helper-1".
2021-02-12 11:34:24 +01:00
Thomas Haller 04e824a256
NEWS: update 2021-02-11 08:48:51 +01:00
Thomas Haller 1a629a11ce
NEWS: update 2021-02-08 16:32:17 +01:00
Roy Marples a2abd15fe0
DHCP: Support dhcpcd-9.x
This locks NM into dhcpcd-9.3.3 as that is the first version to support
the --noconfigure option. Older versions are no longer supported by NM
because they do modify the host which is undesirable.

Due to the way dhcpcd-9 uses privilege separation and that it re-parents
itself to PID 1, the main process cannot be reaped or waited for.
So we rely on dhcpcd correctly cleaning up after itself.
A new function nm_dhcp_client_stop_watch_child() has been added
so that dhcpcd can perform similar cleanup to the equivalent stop call.

As part of this change, the STOP and STOPPED reasons are mapped to
NM_DHCP_STATE_DONE and PREINIT is mapped to a new state NM_DHCP_STATE_NOOP
which means NM should just ignore this state.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/668
2021-01-26 15:06:12 +01:00
Thomas Haller f16f428b31
NEWS: update 2021-01-12 16:41:31 +01:00
Thomas Haller f1f10e4eb6
NEWS: belatedly mention systemd-resolved change in NEWS 2020-12-07 13:35:46 +01:00
Beniamino Galvani 0f26529bb3 NEWS: move entry that was backported to 1.28 2020-11-24 11:59:25 +01:00
Thomas Haller ff71bbdc42
Revert "dns: change default DNS priority of VPNs to -50"
Revert this change. One problem is that none of the current GUIs
(nm-connection-editor, gnome-control-center, plasma-nm) expose the
dns-priority option. So, users tend to have their profile value set to
0. Changing the default means for them not only a change in behavior,
but its hard to fix via the GUI.

Also, what other call DNS leaks, is Split DNS to some. Both uses make
sense, but have conflicting goals. The default cannot accommodate both
at the same time.

Also, with split DNS enabled (dnsmasq, systemd-resolved), the concern
for DNS leaks is smaller. Imagine:

  Wi-Fi profile with ipv4.dns-priority (effectively) 100, domain "example.com".
  VPN profile with ipv4.dns-priority (effectively) 50 and a default route.

That is a common setup that one gets by default (and what probably many
users have today). In such a case with split DNS enabled, the Wi-Fi's DNS
server only sees requests for "*.example.com". So, it does not leak
everything.

Hence, revert this change before 1.28.0 release to the earlier behavior.

This reverts commit af13081bec.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/688
2020-11-23 18:53:52 +01:00
Thomas Haller 30824b8888
NEWS: update 2020-11-16 17:46:54 +01:00
Beniamino Galvani 8b7a81175d NEWS: update 2020-10-20 17:28:10 +02:00
Thomas Haller e29f00fa0c
NEWS: fix entry that is targeted for 1.30 instead of 1.28
Fixes: 8764d47af6 ('NEWS: update')
2020-10-20 10:02:06 +02:00
Thomas Haller cbc6113a83
NEWS: update 2020-10-19 23:18:44 +02:00
Antonio Cardace 8764d47af6
NEWS: update
Signed-off-by: Antonio Cardace <acardace@redhat.com>
2020-10-09 16:16:24 +02:00
Beniamino Galvani af13081bec dns: change default DNS priority of VPNs to -50
Change the default DNS priority of VPNs to -50, to avoid leaking
queries out of full-tunnel VPNs.

This is a change in behavior. In particular:

 - when using dns=default (i.e. no split-dns) before this patch both
   VPN and the local name server were added (in this order) to
   resolv.conf; the result was that depending on resolv.conf options
   and resolver implementation, the name servers were tried in a
   certain manner which does not prevent DNS leaks.
   With this change, only the VPN name server is added to resolv.conf.

 - When using a split-dns plugin (systemd-resolved or dnsmasq), before
   this patch the full-tunnel VPN would get all queries except those
   ending in a local domain, that would instead be directed to the
   local server.
   After this patch, the VPN gets all queries.

To revert to the old behavior, set the DNS priority to 50 in the
connection profile.
2020-10-09 10:29:00 +02:00
Thomas Haller 1ace723d38
NEWS: update 2020-10-06 10:18:00 +02:00
Beniamino Galvani 42aa292907 NEWS: update 2020-10-05 18:33:19 +02:00
Thomas Haller 549b126a5c
device: allow non-privileged users to call device.GetAppliedConnection()
Compare to the connection's GetSettings() call, which is not protected
by policykit permissions. It only checks that the requesting user is
allowed according to "connection.permission".

Previously, device's GetAppliedConnection() requires "network-control"
permissions. This although it only reads a profile, without modifying
anything. That seems unnecessary, also because in the common case the
applied connection is identical to the current settings connection, and
the latter can be read without special permissions.

Don't require a special policykit permission to read the applied
connection.

https://bugzilla.redhat.com/show_bug.cgi?id=1882380
2020-09-29 11:51:14 +02:00
Thomas Haller 72d6062cb0
device: break deprecated "Ip4Address" D-Bus property of Device interface
The "Ip4Address" property of "org.freedesktop.NetworkManager.Device"
interface is deprecated since version 0.9.9.1 (2013). Also, the property
is not exposed by libnm and generally not useful.

Drop the code to maintain it. The property still exists but always
returns 0 (0.0.0.0).
2020-09-18 15:26:21 +02:00
Thomas Haller c1f9a0fff1
dns: add new "rc-manager=auto" mode
Add a new `main.rc-manager=auto` setting, that favours to use
systemd-resolved (and not touch "/etc/resolv.conf" but configure
it via D-Bus), or falls back to `resolvconf`/`netconfig` binaries
if they are installed and enabled at compile time.
As final fallback use "symlink", like before.

Note that on Fedora there is no "openresolv" package ([1]). Instead, "systemd"
package provides "/usr/sbin/resolvconf" as a wrapper for systemd-resolved's
"resolvectl". On such a system the fallback to resolvconf is always
wrong, because NetworkManager should either talk to systemd-resolved
directly or not but never call "/usr/sbin/resolvconf". So, the special handling
for resolvconf and netconfig is only done if NetworkManager was build with these
applications explicitly enabled.

Note that SUSE builds NetworkManager with

    --with-netconfig=yes
    --with-config-dns-rc-manager-default=netconfig

and the new option won't be used there either. But of course, netconfig
already does all the right things on SUSE.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=668153

Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-08-24 21:13:21 +02:00
Thomas Haller c2f7428bc0
NEWS: update 2020-07-13 19:09:00 +02:00
Thomas Haller a802192f75
NEWS: update 2020-07-13 18:02:20 +02:00
Beniamino Galvani b76f7cc555
NEWS: update
(cherry picked from commit 2a9f5f25b2)
2020-07-13 18:02:20 +02:00
Antonio Cardace cfe349b971
NEWS: update 2020-06-26 16:59:23 +02:00
Beniamino Galvani b6febb0fd0 NEWS: update 2020-06-15 16:02:53 +02:00
Thomas Haller ea3de038f6
NEWS: update 2020-06-15 08:26:59 +02:00
Thomas Haller f244da8ddf
NEWS: update
(cherry picked from commit 5409db9fbd)
2020-06-15 08:02:04 +02:00
Thomas Haller 9be9ad4843
NEWS: update 2020-06-03 18:25:33 +02:00
Beniamino Galvani 2a9c009a21 NEWS: update 2020-05-29 16:14:16 +02:00