| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
To embrace the inclusive language, deprecate the NMActiveConnection
Master property and in favor of the NMActiveConnection Controller
property.
(cherry picked from commit af677542b59ae69a3925eb4c6bf37d3cc06e1dc1)
|
|
|
|
| |
(cherry picked from commit b4e96ec0673e4499d75a340203d63d5087960271)
|
|
|
|
|
|
|
|
| |
This setting allows the user to remove the local route rule that is
autogenerated for both IPv4 and IPv6. By default, NetworkManager won't
touch the local route rule.
(cherry picked from commit d2ca44ffc60c5df5c1f4113ff767228c627ddb13)
|
|
|
|
|
|
|
| |
The new function tracks local route rule in the GlobalTracker properly.
It also allow the developer to specify the untrack user tag.
(cherry picked from commit 79611e4fcc0c06fd12f7a13ff6fdcb0abc36616e)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the following build failure with -Dmodem_manager=false raised since
commit 03ba04d4784f ('build: meson: add option to set the
mobile-broadband-provider-info database').
../output-1/build/network-manager-1.40.10/meson.build:1060:0: ERROR: Unknown variable "mobile_broadband_provider_info_database".
http://autobuild.buildroot.org/results/896879c8e8ce022556ee834216ced2f962ff279c
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Fixes: 03ba04d4784f ('build: meson: add option to set the mobile-broadband-provider-info database')
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1544
(cherry picked from commit 3a3ac89b537c2081b91ba074d52c1fd6685d958c)
|
|\
| |
| |
| |
| |
| | |
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1536
(cherry picked from commit 34417ac3e637020f9c1f51906a23491a9e14be31)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A tentative IPv6 address can still fail DAD, so don't use it to
resolve the hostname via DNS. Furthermore, tentative addresses can't
be used to contact the nameserver and so the resolution will fail if
there is no other valid IPv6 address. Wait that the address becomes
non-tentative.
(cherry picked from commit 4138be6a5a508af66b3b79c0eaeb43e3437ee345)
|
| |
| |
| |
| |
| |
| |
| | |
Print errors from getaddrinfo() to stderr so that they will be logged
by NM.
(cherry picked from commit ac5325e96bb206d7e96d2349126cfdc952345222)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently the only way to return an error code from the daemon helper
is via the process exit code, but that is not enough to fully describe
an error from getaddrinfo(); in fact, the function returns a EAI_*
error code and when the value is EAI_SYSTEM, the error code is
returned in errno.
At the moment, any messages printed to stderr by the helper goes to NM
stderr; instead, we want to capture it and pass it through the logging
mechanism of NM, so that it can be filtered according to level and
domain.
(cherry picked from commit d65702803cb02ddd656f13917a8a9af7bc08b90a)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Improve logging:
- log only when something changes
- print the new resolver state, instead of the old one
- rename state "in-progress" to "started"
- log when the resolver state is reset due to DNS changes
(cherry picked from commit 7037aa66c6fce01d3e33e1fae32c35fb1f25b363)
|
|/
|
|
|
|
| |
Use slightly more efficient sizes.
(cherry picked from commit 961824d43b5bd649ff98bb8fbf05d276faff82b6)
|
|\
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=2169869
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1534
(cherry picked from commit afbbfebfdbbccff6f01a30daf2626dd512758a4d)
|
| |
| |
| |
| | |
(cherry picked from commit f36fabc0fa5e2c61f55cb595749af17f5e419887)
|
| |
| |
| |
| |
| |
| |
| | |
This is also the format that we will use to expose it in the lease
information. It's the format that dhclient uses.
(cherry picked from commit 2fe4313b92cea1d09f8da6d58a5e55b4506b8f9a)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We already get the IAID from the dhclient environment. This is actually
rather useful, because dhclient plugin does not support setting the
value (that is, what we request in "config.v6.iaid" is not actually
used). Already previously, was the IAID for dhclient present in the
lease information. Now also normalize/verify it.
Expose the used IAID also with the internal (systemd) plugin. There we
explicitly set the IAID and know it.
(cherry picked from commit 07f1789725726506cb3ba379ac53bd9bd720654b)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our lease is tracked in a plain string dictionary. For dhclient plugin
and similar, the keys are received via the environment, they are thus
unlimited. For the internal plugins they are known at compile time and
static strings. We thus sometimes need to clone the string, and
sometimes not.
Unfortunately, we cannot ask the GHashTable whether it has a free
function for the key, so we need to explicitly tell it. Add a parameter
for that.
(cherry picked from commit 5a05ba398bff1b0a2da8f5462a2e85656d2ddc55)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dhclient exports the currently used IAID in the environment as
hex string. We expose this environment in our API, so this is also
the format that NetworkManager uses.
Accept setting the ipv[46].dhcp-iaid as hex string, so that the same
format is accepted on the profile.
While at it, also accept a hex number (0x) because it is also
convenient, and this change already introduces the precedent that the
IAID string is not unique/normalized.
(cherry picked from commit e5dc48919721bb41c8acd49e95bc5f174907971a)
|
| |
| |
| |
| | |
(cherry picked from commit 4c18adbc746997e3687cacf11d0129fc87619822)
|
|/
|
|
|
|
|
|
|
| |
There should be one function for parsing the string. Use it everywhere.
Also, because we will accept specifying the IAID as hex string so the
same parsing code should be used everywhere.
(cherry picked from commit 69106d0aef1022bb1959f9badc0515134969e5d5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a software device is deactivated, normally we schedule a idle
task to unrealize the device (delete_on_deactivate). However, if a new
activation is enqueued on the same device (and that implies that the
new profile is compatible with the device), then the idle task is not
scheduled and the device will normally transition to the different
states (disconnected, prepare, config, etc.).
For ovs-interfaces, we remove the db entry on disconnect and that
makes the link go away; however, we don't clear the hw_addr* fields of
the device struct.
When the new link appears, we try to set the new cloned MAC but the
stale hw_addr field indicates that it's already set. Avoid this
problem by updating the address as soon as the link appears.
https://bugzilla.redhat.com/show_bug.cgi?id=2168477
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1532
(cherry picked from commit d403ac3d40264876c75298e7b4d475a8b49c0921)
|
|
|
|
|
|
|
|
|
|
| |
Use the value of the address instead of its pointer.
Fixes: c68e148b027e ('core: extend NML3ConfigData:nameserver to track DNS as string')
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1217
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1539
(cherry picked from commit a839395e302989d1d5557d206c7df1b54c9e8767)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Only consider preferred context of "internet" type. There can be
multiple preferred contexts of multiple types, and we care about
"internet" type only.
- Don't check for "internet+mms" type. It turns out that "internet+mms"
isn't a thing in oFono, and is used to represent "internet" context
with MMSC in the lomiri-system-setting's UI only.
Fixes: 9fc72bf75dbf ('wwan/ofono: create connections based on available contexts')
Bug-UBports: https://gitlab.com/ubports/development/core/packaging/network-manager/-/issues/3
(cherry picked from commit 08a38ed619e4b69535df4f0904667c8ea1bfd073)
|
|
|
|
|
| |
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1213
(cherry picked from commit 3444af517f47ae3ab774c418934488e07a2991ea)
|
|
|
|
|
|
|
|
|
|
|
| |
If we fail to update the port connection, don't forget the assume
state but try again later. This helps when assuming a team connection
and its ports: the ports may fail to generate a connection because
teamd was not started yet; in that case we need to try again.
https://bugzilla.redhat.com/show_bug.cgi?id=2092215
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1523
(cherry picked from commit 27ad228df14663c7041766d92f9ee8b11e24b4aa)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building network-manager in cross-compile environment meson is not able
to detect the right location of the mobile-broadband-provider-info
database by using the pkg-config module.
By adding the option 'mobile_broadband_provider_info_database' to set the
correct path to the datafile this can be solved.
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1519
(cherry picked from commit 03ba04d4784fa4fc7ec31455070fb5ecf25ade23)
|
|
|
|
|
|
|
|
|
|
| |
We also do that with g_return*() macros. These strings increase the
binary size for little use. Drop them, unless we build with
more asserts enabled.
This affects nm_assert() messages.
(cherry picked from commit d3548279c1ca761738e960a6c2935dbf0656baaf)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
glibc defines __assert_fail as:
extern void __assert_fail (const char *__assertion, const char *__file,
unsigned int __line, const char *__function)
__THROW __attribute__ ((__noreturn__));
but musl as:
_Noreturn void __assert_fail (const char *, const char *, int, const char *);
(note the difference in the type for the line argument).
This cannot be made to work, unless we would detect the used type at configure
time, which seems too much effort.
Drop this again.
This reverts commit 1ce29e120bfc763441495bbf5620fa0751753c9c.
Fixes: 1ce29e120bfc ('std-aux: drop assertion and function name from assert() in release mode')
(cherry picked from commit a29eb970c89f12d118830d0ee46cdda2b6cd7f8b)
|
|
|
|
|
| |
See-also: https://gitlab.gnome.org/GNOME/glib/-/commit/0ffe86a1f7e215e4561c3b9f1d03c3cd638ed00f
(cherry picked from commit 861fc6854cb6398458bbeea4e878dcc9a209564c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Marking "nm-core-types.h" as to be ignored by gtk-doc, causes many files
to have the wrong names:
/docs/libnm/html/{NMConnection.html => libnm-NMConnection.html}
/docs/libnm/html/{NMSetting.html => libnm-NMSetting.html}
/docs/libnm/html/{NMSetting6Lowpan.html => libnm-NMSetting6Lowpan.html}
/docs/libnm/html/{NMSetting8021x.html => libnm-NMSetting8021x.html}
/docs/libnm/html/{NMSettingAdsl.html => libnm-NMSettingAdsl.html}
/docs/libnm/html/{NMSettingBluetooth.html => libnm-NMSettingBluetooth.html}
/docs/libnm/html/{NMSettingBond.html => libnm-NMSettingBond.html}
/docs/libnm/html/{NMSettingBondPort.html => libnm-NMSettingBondPort.html}
/docs/libnm/html/{NMSettingBridge.html => libnm-NMSettingBridge.html}
/docs/libnm/html/{NMSettingBridgePort.html => libnm-NMSettingBridgePort.html}
/docs/libnm/html/{NMSettingCdma.html => libnm-NMSettingCdma.html}
/docs/libnm/html/{NMSettingConnection.html => libnm-NMSettingConnection.html}
/docs/libnm/html/{NMSettingDcb.html => libnm-NMSettingDcb.html}
/docs/libnm/html/{NMSettingDummy.html => libnm-NMSettingDummy.html}
/docs/libnm/html/{NMSettingEthtool.html => libnm-NMSettingEthtool.html}
/docs/libnm/html/{NMSettingGeneric.html => libnm-NMSettingGeneric.html}
/docs/libnm/html/{NMSettingGsm.html => libnm-NMSettingGsm.html}
/docs/libnm/html/{NMSettingHostname.html => libnm-NMSettingHostname.html}
/docs/libnm/html/{NMSettingIP4Config.html => libnm-NMSettingIP4Config.html}
/docs/libnm/html/{NMSettingIP6Config.html => libnm-NMSettingIP6Config.html}
/docs/libnm/html/{NMSettingIPConfig.html => libnm-NMSettingIPConfig.html}
/docs/libnm/html/{NMSettingIPTunnel.html => libnm-NMSettingIPTunnel.html}
/docs/libnm/html/{NMSettingInfiniband.html => libnm-NMSettingInfiniband.html}
/docs/libnm/html/{NMSettingMacsec.html => libnm-NMSettingMacsec.html}
/docs/libnm/html/{NMSettingMacvlan.html => libnm-NMSettingMacvlan.html}
/docs/libnm/html/{NMSettingMatch.html => libnm-NMSettingMatch.html}
/docs/libnm/html/{NMSettingOlpcMesh.html => libnm-NMSettingOlpcMesh.html}
/docs/libnm/html/{NMSettingOvsBridge.html => libnm-NMSettingOvsBridge.html}
/docs/libnm/html/{NMSettingOvsDpdk.html => libnm-NMSettingOvsDpdk.html}
/docs/libnm/html/{NMSettingOvsExternalIDs.html => libnm-NMSettingOvsExternalIDs.html}
/docs/libnm/html/{NMSettingOvsInterface.html => libnm-NMSettingOvsInterface.html}
/docs/libnm/html/{NMSettingOvsPatch.html => libnm-NMSettingOvsPatch.html}
/docs/libnm/html/{NMSettingOvsPort.html => libnm-NMSettingOvsPort.html}
/docs/libnm/html/{NMSettingPpp.html => libnm-NMSettingPpp.html}
/docs/libnm/html/{NMSettingPppoe.html => libnm-NMSettingPppoe.html}
/docs/libnm/html/{NMSettingProxy.html => libnm-NMSettingProxy.html}
/docs/libnm/html/{NMSettingSerial.html => libnm-NMSettingSerial.html}
/docs/libnm/html/{NMSettingSriov.html => libnm-NMSettingSriov.html}
/docs/libnm/html/{NMSettingTCConfig.html => libnm-NMSettingTCConfig.html}
/docs/libnm/html/{NMSettingTeam.html => libnm-NMSettingTeam.html}
/docs/libnm/html/{NMSettingTeamPort.html => libnm-NMSettingTeamPort.html}
/docs/libnm/html/{NMSettingTun.html => libnm-NMSettingTun.html}
/docs/libnm/html/{NMSettingUser.html => libnm-NMSettingUser.html}
/docs/libnm/html/{NMSettingVeth.html => libnm-NMSettingVeth.html}
/docs/libnm/html/{NMSettingVlan.html => libnm-NMSettingVlan.html}
/docs/libnm/html/{NMSettingVpn.html => libnm-NMSettingVpn.html}
/docs/libnm/html/{NMSettingVrf.html => libnm-NMSettingVrf.html}
/docs/libnm/html/{NMSettingVxlan.html => libnm-NMSettingVxlan.html}
/docs/libnm/html/{NMSettingWifiP2P.html => libnm-NMSettingWifiP2P.html}
/docs/libnm/html/{NMSettingWimax.html => libnm-NMSettingWimax.html}
/docs/libnm/html/{NMSettingWireGuard.html => libnm-NMSettingWireGuard.html}
/docs/libnm/html/{NMSettingWired.html => libnm-NMSettingWired.html}
/docs/libnm/html/{NMSettingWireless.html => libnm-NMSettingWireless.html}
/docs/libnm/html/{NMSettingWirelessSecurity.html => libnm-NMSettingWirelessSecurity.html}
/docs/libnm/html/{NMSettingWpan.html => libnm-NMSettingWpan.html}
/docs/libnm/html/{NMSimpleConnection.html => libnm-NMSimpleConnection.html}
Revert that part of the change. Even if this regresses other problems.
Fixes: 1330292d057c ('docs/libnm: fix gtkdoc-scan ignore lists')
(cherry picked from commit f0e3ca09c9d3a3196bee232307e42f008eb4baf2)
|
|
|
|
|
|
|
| |
[thaller@redhat.com: I introduced this bug when taking the original patch].
Fixes: 820f6f3a4a42 ('contrib/rpm: sync obsoletes_{initscripts_updown,ifcfg_rh} version')
(cherry picked from commit 06dc84a563af95d87a5fa3634ec98a9e98f9635d)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initially, when we obsoleted {initscripts_updown,ifcfg_rh}, the package
versions that we build from this upstream spec file differed from what
we put into Fedora/RHEL.
By now, this is long gone, and for upstream package builds we don't care
to accurately track the version, when using upstream/copr builds. Just
sync the version to what they are in Fedora/RHEL.
(cherry picked from commit 820f6f3a4a42702c7463e0cb4f7ef51b6c88dde5)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to explicitly say we don't want PPP as the default is
that we do want to build with PPP.
https://src.fedoraproject.org/rpms/NetworkManager/pull-request/13
(cherry picked from commit 2598ec3a1fd231793e9dd243db3d8d633e1782aa)
|
| |
| |
| |
| |
| | |
https://src.fedoraproject.org/rpms/NetworkManager/pull-request/13
(cherry picked from commit 42cd422f18bc9293314c88c60ee83d11e40119b8)
|
| |
| |
| |
| | |
(cherry picked from commit 00affc7b6f268d54f0205e325806ba9ab7e3da22)
|
| |
| |
| |
| | |
(cherry picked from commit fce8e572d0e9c6f5e26dea93a524abf2268d24ca)
|
| |
| |
| |
| |
| |
| | |
Fixes: 096b9955d67d ('contrib/fedora: make "lto" in the spec file configurable')
Fixes: 7a62845424c4 ('contrib/rpm: fix condition in "NetworkManager.spec"')
(cherry picked from commit 36ad5cbb3bb4b60dd0e701d2eba4a4fbee87a6f5)
|
| |
| |
| |
| |
| |
| | |
Fixes: 096b9955d67d ('contrib/fedora: make "lto" in the spec file configurable')
Fixes: 7a62845424c4 ('contrib/rpm: fix condition in "NetworkManager.spec"')
(cherry picked from commit 13dfdaf3a090f01930c7fa2cf7a8cb3a071de947)
|
| |
| |
| |
| |
| | |
Fixes: 096b9955d67d ('contrib/fedora: make "lto" in the spec file configurable')
(cherry picked from commit 7a62845424c443e705cee647ad0f6d316230c66a)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we build a copr image, we run the "nm-copr-build.sh" script.
That script, should honor "LTO=0|1|" to explicitly enable/disable
LTO. Since the copr script only builds a SRPM, which then gets build
we need that the default LTO flag in the SRPM is templated.
Fixes: 0566e9dc63fb ('contrib: support disabling "LTO" in "nm-copr-build.sh"')
(cherry picked from commit 096b9955d67d3c915c1a9599446aaff7fae60b99)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The "nm-copr-build.sh" script is run by our copr to generate the SRPM of
NetworkManager (via `curl ... | bash`).
Building with LTO takes a long time, for testing it can be nice to disable
that. Add an environment variable for that. It can be used when manually
building an RPM in copr.
(cherry picked from commit 0566e9dc63fbd7cffd9d1c738b67a7a3d0b9e870)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With the meson build configuration, there is obviously python3 installed
and in the path. The build script will pick that up as preferred python.
However, we will also need working pygobject to build the documentation.
But we only have that for python2 installed. Fix that, by installing
"python36-gobject".
(cherry picked from commit 128c000f0c1237c48a731e5b28cb23b54f114907)
|
| |
| |
| |
| |
| |
| |
| | |
Otherwise, we require a C++ compiler, but our build requirements
don't install g++. So build will fail.
(cherry picked from commit ea16997c4abf08333ebb33f4372b87e32b61acad)
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
We have "BuildRequires: ppp-devel". While in Fedora 37 that has a
dependency on "ppp" package, that is not the case on Centos7. I didn't
test others, but the point is it's not always there.
"/usr/sbin/pppd" is provided by "ppp" package, and we might not have it
installed via the build requirements. But we only need it to detect the
path, which is not necessary on RHEL/Fedora. Just set the path
explicitly with the respective configure option.
(cherry picked from commit a9cb294b7334e99454401b3dc41b9523c5bad31d)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idea of nm_free_secret() is to clear the secrets from memory. That
surely is some layer of extra snake oil, because we tend to pass secrets
via D-Bus, where the memory gets passed down to (D-Bus) libraries which
have no idea to keep it private. Still...
But turns out, malloc_usable_size() might not actually be usable for
this. Read the discussion at [1].
Stop using malloc_usable_size(), which seems unfortunate.
There is probably no secret relevant data after the NUL byte anyway,
because we tend to create such strings once, and don't rewrite/truncate
them afterwards (which would leave secrets behind as garbage).
Note that systemd's erase_and_free() still uses malloc_usable_size()
([2]) but the macro foo to get that right is terrifying ([3]).
[1] https://github.com/systemd/systemd/issues/22801#issuecomment-1343041481
[2] https://github.com/systemd/systemd/blob/11c0f0659ecd82572c2dc83f3b34493a36dcd954/src/basic/memory-util.h#L101
[3] https://github.com/systemd/systemd/commit/7929e180aa47a2692ad4f053afac2857d7198758
Fixes: d63cd26e6042 ('shared: improve nm_free_secret() to clear entire memory buffer')
(cherry picked from commit 8b66865a88af7bf835147d66c309dae008507c36)
|
|
|
|
|
| |
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1521
(cherry picked from commit 479e4dbfeeb524b0e64f1be231fe831169514c6a)
|