NetworkManager merge requestshttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests2024-03-06T10:17:15Zhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1359team: back off a little when re-spawning teamd2024-03-06T10:17:15ZLubomir Rintelteam: back off a little when re-spawning teamdIt might have dropped off for a reason (e.g. D-Bus itself has gone away,
because the system is transitioning from initrd to real root).
Give things a few seconds to cool off, just to be nice. That shouldn't
be a big deal, the link shoul...It might have dropped off for a reason (e.g. D-Bus itself has gone away,
because the system is transitioning from initrd to real root).
Give things a few seconds to cool off, just to be nice. That shouldn't
be a big deal, the link should still be operational.https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1444n-acd: using ebpf is decided at runtime2024-03-06T10:17:06ZVojtech Bubelan-acd: using ebpf is decided at runtimeModify n-acd library to use ebpf whenever it is possible.
This is done by always making a `sys_call` for bpf resources. If this
call fails program continues to run normally the only difference is that
ebpf is not used.Modify n-acd library to use ebpf whenever it is possible.
This is done by always making a `sys_call` for bpf resources. If this
call fails program continues to run normally the only difference is that
ebpf is not used.https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1478Draft: Change state of the device to up or down2024-03-06T10:17:13ZAndrej KozemcakDraft: Change state of the device to up or downEnable/Disabled the physical layer of the interface via NetworkManager. It should change state of the device to up/down, similar like command `ip link set dev eth0 up | down`.Enable/Disabled the physical layer of the interface via NetworkManager. It should change state of the device to up/down, similar like command `ip link set dev eth0 up | down`.https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1504core: nm-dns-dnsmasq: listen on ipv6 localhost too2024-03-06T10:17:11ZJiri Slabycore: nm-dns-dnsmasq: listen on ipv6 localhost tooTrying to resolve hosts using localhost errors out for ipv6 attempts:
```
$ host www.seznam.cz localhost
;; communications error to ::1#53: connection refused
;; communications error to ::1#53: connection refused
Using domain ser...Trying to resolve hosts using localhost errors out for ipv6 attempts:
```
$ host www.seznam.cz localhost
;; communications error to ::1#53: connection refused
;; communications error to ::1#53: connection refused
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases:
www.seznam.cz has address 77.75.77.222
www.seznam.cz has address 77.75.79.222
;; communications error to ::1#53: connection refused
;; communications error to ::1#53: connection refused
www.seznam.cz has IPv6 address 2a02:598:a::79:222
www.seznam.cz has IPv6 address 2a02:598:2::1222
;; communications error to ::1#53: connection refused
;; communications error to ::1#53: connection refused
```
It's because on some distros (like openSUSE), `localhost` is defined both
as `127.0.0.1` and `::1`.
So listen on `::1` too. This makes ipv4-switchoff easier.
`/etc/resolv.conf` should likely be updated to contain `::1` eventually too
(see `update_dns()`).
Fixes:
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1188https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1524Fixes issue #12062024-02-06T09:33:21ZAgus IsasFixes issue #1206This commit fixes issues #1206 and [#851](https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/851)This commit fixes issues #1206 and [#851](https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/851)https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1540update qt example with new meson2023-02-28T16:14:38ZShooting Starupdate qt example with new mesonupdate meson build and update qt exampleupdate meson build and update qt examplehttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1571Draft: Apply connection defaults on AddAndActivate()2024-01-03T17:31:14ZLubomir RintelDraft: Apply connection defaults on AddAndActivate()Putting it up as a PoC & up for discussion.
There are obviously stupid bits, mostly pointed out in commit messages.Putting it up as a PoC & up for discussion.
There are obviously stupid bits, mostly pointed out in commit messages.https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1604libnm: Add MMS parameters to gsm settings2023-05-23T11:44:36ZMohammed Sadiqlibnm: Add MMS parameters to gsm settingsCurrently, these settings are not used when activating a connection
as currently it's not possible to activate more than one APN at a time
(See #958).
Fixes #875Currently, these settings are not used when activating a connection
as currently it's not possible to activate more than one APN at a time
(See #958).
Fixes #875https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1663adding flags to IP addresses2023-09-25T09:22:13Zreal xiaoyangadding flags to IP addressesAdding "flags" to IP addresses is passed through DBUS, making it easier for upper level applications to distinguish between temporary addresses,local link addresses, and ipv6 addresses
Only the changes in the src/core/NetworkManagerUtil...Adding "flags" to IP addresses is passed through DBUS, making it easier for upper level applications to distinguish between temporary addresses,local link addresses, and ipv6 addresses
Only the changes in the src/core/NetworkManagerUtils. c file are necessary. The reason for the changes may be multiple IP addresses, and DBUS callers need to distinguish between these IPs (temporary IP, local IP, etc.). After adding "n_ifa_flags", the caller can distinguish different types of IPs through "n_ifa_flags".
For example, using ifconfig can see multiple IPv6 addresses, but the NetworkManager caller cannot distinguish between these IP addresses.
The following is the execution result of 'ifconfig':
```
wlx200db01ffe4c: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.8.204 netmask 255.255.255.0 broadcast 192.168.8.255
inet6 fd5c:78f8:7354:6f00:c390:656f:edc4:72bf prefixlen 64 scopeid 0x0<global>
inet6 2408:8411:9068:b5a:fc84:cada:c3e6:48ff prefixlen 64 scopeid 0x0<global>
inet6 2408:8411:9068:b5a:5c78:f873:546f:2 prefixlen 128 scopeid 0x0<global>
inet6 fe80::45e9:5fd6:2ca7:1d38 prefixlen 64 scopeid 0x20<link>
inet6 fd5c:78f8:7354:6f00:fc84:cada:c3e6:48ff prefixlen 64 scopeid 0x0<global>
inet6 2408:8411:9068:b5a:4bb0:82f3:8795:e09c prefixlen 64 scopeid 0x0<global>
ether 20:0d:b0:1f:fe:4c txqueuelen 1000 (以太网)
RX packets 110 bytes 25381 (25.3 KB)
RX errors 0 dropped 62 overruns 0 frame 0
TX packets 205 bytes 40495 (40.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
```https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1673Ease migration to FHS' 3.0 /run directory2023-07-25T13:37:45ZLuciano Santosluc14n0@opensuse.orgEase migration to FHS' 3.0 /run directory## Summary
Add build option to switch from `/var/run` (`$localstatedir/run`) to `/run`, if wanted, but still defaulting to `/var/run`, for the time being at least.
## Purpose
Present a migration path to distributions seeking to comply...## Summary
Add build option to switch from `/var/run` (`$localstatedir/run`) to `/run`, if wanted, but still defaulting to `/var/run`, for the time being at least.
## Purpose
Present a migration path to distributions seeking to comply with FHS 3.0 (and further). More specifically regarding to the `/run` directory, where its dedicated [chapter](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s15.html#runPurpose), in the standard, states:
> The purposes of this directory were once served by `/var/run`. In general, programs may continue to use `/var/run` to fulfill the requirements set out for `/run` for the purposes of backwards compatibility. Programs which have migrated to use `/run` should cease their usage of `/var/run`, except as noted in the section on `/var/run`.
And the [chapter](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s13.html#purpose46) dedicated to `/var/run`:
> This directory was once intended for system information data describing the system since it was booted. These functions have been moved to `/run`; this directory exists to ensure compatibility with systems and software using an older version of this specification.
---
Besides, the **Autotools**' `configure.ac` provides the `--with-runstatedir` / `--runstatedir` options:
``` sh
AC_ARG_WITH([runstatedir],
AS_HELP_STRING([--with-runstatedir=DIR],
[Directory for /var/run. Defaults to $localstatedir/run. In autoconf >= 2.70, you should instead use --runstatedir option. This option takes precedence over --runstatedir.]),
[runstatedir="$withval"])
AS_IF([test -z "$runstatedir"], runstatedir="$localstatedir/run")
AC_SUBST(runstatedir)
```
As an alternative, making the option a string to be passed to `meson` rather than a boolean would also suffice, if it's more desirable.
---
**openSUSE**, as other major Linux distributions, uses a `/var/run -> /run` symlink and lately we introduced a patch to force **Meson** to use `/run` - because of the lack of a build option/switch - and we haven't run into trouble, as far as I can tell.
## Checklist
x - the subject for all commits is concise and explicative
x - the message for all commits explain the reason for the change
x - the source is properly formatted
x - any relevant documentation is up to date
x - you have added unit tests if applicablehttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1707connection: add keyfile documentation section for connection2023-10-20T11:02:23ZFernando Fernández Manceraconnection: add keyfile documentation section for connection## Summary
Add connection setting section to keyfile documentation. This documentation can be checked with `man 5 nm-settings-keyfile`
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CO...## Summary
Add connection setting section to keyfile documentation. This documentation can be checked with `man 5 nm-settings-keyfile`
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md
before opening the merge request. In particular, check that:
- [X] the subject for all commits is concise and explicative
- [X] the message for all commits explains the reason for the change
- [X] the source is properly formatted
- [X] any relevant documentation is up to date
- [X] you have added unit tests if applicablehttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1816Draft: Captive Portal URI handling [RFC8910]2024-03-06T10:17:22ZSandro PischingerDraft: Captive Portal URI handling [RFC8910]## Summary
This merge request adds support for handling a Captive Portal Identification. This includes reading the captive portal url from dhcp options and router advertisements.
partially resolves https://gitlab.freedesktop.org/Network...## Summary
This merge request adds support for handling a Captive Portal Identification. This includes reading the captive portal url from dhcp options and router advertisements.
partially resolves https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1305
This is a draft for now in order to get feedback during development. Feel free to reply below.
## Purpose
The purpose of this change is to be able receiving RFC8910 DHCP options/RA and provide that information to the user or other mechanisms like the captive portal api (RFC 8908).
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md
before opening the merge request. In particular, check that:
- [ ] the subject for all commits is concise and explicative
- [ ] the message for all commits explains the reason for the change
- [ ] the source is properly formatted
- [ ] any relevant documentation is up to date
- [ ] you have added unit tests if applicablehttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1825Draft: First attempt (Fixed #1395)2024-03-16T21:30:10ZAlexander LochmannDraft: First attempt (Fixed #1395)## Summary
Fixes #1395
## Purpose
Treat Wireguard also as VPN.
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md
before opening the merge request. In particular, check...## Summary
Fixes #1395
## Purpose
Treat Wireguard also as VPN.
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md
before opening the merge request. In particular, check that:
- [ ] the subject for all commits is concise and explicative
- [ ] the message for all commits explains the reason for the change
- [ ] the source is properly formatted
- [ ] any relevant documentation is up to date
- [ ] you have added unit tests if applicable
## Notes
This is my first attempt. I'm still trying to understand NM, and looking for an optimal solution. `nm_connection_is_vpn_a()` is just a temp name until I know a better one.
@thaller @ihuguet Any thoughts on the direction this is going?https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1830wwan/ofono: handle disconnect while activating connection2024-03-06T10:17:10ZRatchanan Srirattanametwwan/ofono: handle disconnect while activating connection## Summary
Handle the case where, while we're waiting for oFono to activate a context, the GPRS call become un-attached.
## Purpose
If not handled, the device will stuck in prepare state forever, which causes the phone to stay unconne...## Summary
Handle the case where, while we're waiting for oFono to activate a context, the GPRS call become un-attached.
## Purpose
If not handled, the device will stuck in prepare state forever, which causes the phone to stay unconnected to mobile data until the user manually toggle data connection off and on at oFono level.
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md
before opening the merge request. In particular, check that:
- [x] the subject for all commits is concise and explicative
- [x] the message for all commits explains the reason for the change
- [x] the source is properly formatted
- [ ] any relevant documentation is up to date
- [ ] you have added unit tests if applicablehttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1843Draft: added oci provider2024-03-26T00:24:29ZDipen KhatriDraft: added oci provider## Summary
Oracle cloud infrastructure (OCI) provider that supports secondary VNIC
## Purpose
OCI wants to add a provider like other cloud providers added to network manager
## Checklist
Please read
https://gitlab.freedesktop.org/Ne...## Summary
Oracle cloud infrastructure (OCI) provider that supports secondary VNIC
## Purpose
OCI wants to add a provider like other cloud providers added to network manager
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md
before opening the merge request. In particular, check that:
- [ Y ] the subject for all commits is concise and explicative
- [ Y ] the message for all commits explains the reason for the change
- [ Y ] the source is properly formatted
- [ Y ] any relevant documentation is up to date
- [ N ] you have added unit tests if applicablehttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1857Draft: Fix some issue when building with eBPF support2024-03-06T10:17:08ZBeniamino GalvaniDraft: Fix some issue when building with eBPF support## Summary
This fixes some issues found when trying to build and use NM with eBPF support.
## Purpose
eBPF support is used by ACD to filter ARP packets we are interested in, which means that the daemon doesn't have to be awakened when...## Summary
This fixes some issues found when trying to build and use NM with eBPF support.
## Purpose
eBPF support is used by ACD to filter ARP packets we are interested in, which means that the daemon doesn't have to be awakened when the packet is not related to our addresses. By enabling it, the operation becomes more efficient and NM will use less CPU in environment with many ARP requests.https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1879Systemd security settings2024-03-26T15:43:49ZRahul SundaramSystemd security settings## Summary
As part of https://fedoraproject.org/wiki/Changes/SystemdSecurityHardening which has been approved for Fedora 40, I am working on updating Systemd services to add additional hardening settings, please review this PR and let m...## Summary
As part of https://fedoraproject.org/wiki/Changes/SystemdSecurityHardening which has been approved for Fedora 40, I am working on updating Systemd services to add additional hardening settings, please review this PR and let me know if you have any feedback
https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html has detailed information on each of these settings including the version of Systemd where they were introduced.
## Purpose
Improve sandboxing
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md
before opening the merge request. In particular, check that:
- [x] the subject for all commits is concise and explicative
- [x] the message for all commits explains the reason for the change
- [x] the source is properly formatted
- [x] any relevant documentation is up to date
- [x] you have added unit tests if applicablehttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1888nmcli: fix bash completion for fields2024-03-18T15:48:53ZFilip Pokryvkanmcli: fix bash completion for fields## Summary
The code handling options with supposes, that options are split by `=`, which is not the case. This fixes the following:
```
nmcli -f ipv4.ad\t\t
nmcli -f ipv4.ad=ipv4.addresses
nmcli --field ipv4.ad\t\t
nmcli --field ipv4....## Summary
The code handling options with supposes, that options are split by `=`, which is not the case. This fixes the following:
```
nmcli -f ipv4.ad\t\t
nmcli -f ipv4.ad=ipv4.addresses
nmcli --field ipv4.ad\t\t
nmcli --field ipv4.ad=ipv4.addresses
```
Using options with values separated with `=` remains broken, but this change doesn't affect it:
```
nmcli --field=ipv4.ad\t\t
nmcli --field=ipv4.ad
```
Also, `man` and `usage` uses `--color auto|yes|no`, not `--color=auto|yes|no`. So, this fix should be sufficient.
## Purpose
Bug report: https://bugzilla.redhat.com/show_bug.cgi?id=2115827
## Checklist
Please read https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md before opening the merge request. In particular, check that:
- [x] the subject for all commits is concise and explicative
- [x] the message for all commits explains the reason for the change
- [x] the source is properly formatted
- [x] any relevant documentation is up to date
- [ ] you have added unit tests if applicablehttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1895ethtool: support Forward Error Correction(fec)2024-03-28T15:21:39ZGris Geethtool: support Forward Error Correction(fec)Introducing support of ethtool fec.
D-BUS API: `fec: uint32_t`.
nmcli: `ethtool.fec` allowing values are any combinations of:
* auto
* off
* rs
* baser
* llrs
* arbitrary uint32_t (will show as hex format)
Reso...Introducing support of ethtool fec.
D-BUS API: `fec: uint32_t`.
nmcli: `ethtool.fec` allowing values are any combinations of:
* auto
* off
* rs
* baser
* llrs
* arbitrary uint32_t (will show as hex format)
Resolves: https://issues.redhat.com/browse/RHEL-24055https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1898device: ignore error setting mac if it's a global special value2024-03-28T08:46:09ZBeniamino Galvanidevice: ignore error setting mac if it's a global special value## Summary
If the distro sets a global special value for the cloned MAC address
(for example, `stable-ssid`) and the driver doesn't support changing
the MAC, all activations will fail on the interface unless users know
that they need to...## Summary
If the distro sets a global special value for the cloned MAC address
(for example, `stable-ssid`) and the driver doesn't support changing
the MAC, all activations will fail on the interface unless users know
that they need to change the cloned MAC. Be more tolerant to errors in
case the MAC is global and special.
https://bugzilla.redhat.com/show_bug.cgi?id=2270062
## Checklist
Please read
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md
before opening the merge request. In particular, check that:
- [x] the subject for all commits is concise and explicative
- [x] the message for all commits explains the reason for the change
- [x] the source is properly formatted
- [x] any relevant documentation is up to date
- [x] you have added unit tests if applicable
- [x] the NEWS file is updated when the change deserves to be mentioned, for example for new features, behavior changes, API deprecations, etc.