Compare commits
10 Commits
518b7c5bd5
...
a01293861f
Author | SHA1 | Date | |
---|---|---|---|
a01293861f | |||
![]() |
1852557a67 | ||
![]() |
41a5cb5308 | ||
![]() |
19247325bc | ||
![]() |
de5cce5972 | ||
![]() |
017ae2b58a | ||
![]() |
e26b5b06af | ||
![]() |
5b4ed809cc | ||
![]() |
5fa063f90d | ||
![]() |
6897b6ecfd |
10
NEWS
10
NEWS
@@ -3,11 +3,6 @@ NetworkManager-1.48
|
|||||||
Overview of changes since NetworkManager-1.46
|
Overview of changes since NetworkManager-1.46
|
||||||
=============================================
|
=============================================
|
||||||
|
|
||||||
This is a snapshot of NetworkManager development. The API is
|
|
||||||
subject to change and not guaranteed to be compatible with
|
|
||||||
the later release.
|
|
||||||
USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE!
|
|
||||||
|
|
||||||
* Building with autotools is now deprecated and will be completely removed
|
* Building with autotools is now deprecated and will be completely removed
|
||||||
in the next development cycle. We recommend using meson to build
|
in the next development cycle. We recommend using meson to build
|
||||||
NetworkManager -- for basic setup, see the CONTRIBUTING.md file.
|
NetworkManager -- for basic setup, see the CONTRIBUTING.md file.
|
||||||
@@ -27,6 +22,11 @@ USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE!
|
|||||||
when IPv6 device address was not explicitly passed on by ModemManager
|
when IPv6 device address was not explicitly passed on by ModemManager
|
||||||
* Fix a performance issue that was leading to 100% CPU usage by NetworkManager
|
* Fix a performance issue that was leading to 100% CPU usage by NetworkManager
|
||||||
if external programs were doing a big amount of routes updates.
|
if external programs were doing a big amount of routes updates.
|
||||||
|
* Patch-level development releases (i.e. 1.48.1-dev) won't be used anymore.
|
||||||
|
From now on, all the patch releases whithin a stable branch will be normal
|
||||||
|
releases, like 1.48.0, 1.48.1, 1.48.2, 1.48.3 and so on.
|
||||||
|
Odd numbers in the minor version number still indicates if it's a development
|
||||||
|
branch like 1.49 or a stable one like 1.48.
|
||||||
|
|
||||||
=============================================
|
=============================================
|
||||||
NetworkManager-1.46
|
NetworkManager-1.46
|
||||||
|
@@ -7,8 +7,8 @@ dnl - add corresponding NM_VERSION_x_y_z macros in
|
|||||||
dnl "shared/nm-version-macros.h.in"
|
dnl "shared/nm-version-macros.h.in"
|
||||||
dnl - update number in meson.build
|
dnl - update number in meson.build
|
||||||
m4_define([nm_major_version], [1])
|
m4_define([nm_major_version], [1])
|
||||||
m4_define([nm_minor_version], [47])
|
m4_define([nm_minor_version], [48])
|
||||||
m4_define([nm_micro_version], [91])
|
m4_define([nm_micro_version], [0])
|
||||||
m4_define([nm_version],
|
m4_define([nm_version],
|
||||||
[nm_major_version.nm_minor_version.nm_micro_version])
|
[nm_major_version.nm_minor_version.nm_micro_version])
|
||||||
|
|
||||||
|
@@ -14,12 +14,11 @@
|
|||||||
# - "rc" : further release candidates on RC branch (e.g. from "nm-1-26" branch
|
# - "rc" : further release candidates on RC branch (e.g. from "nm-1-26" branch
|
||||||
# tag "1.26-rc2" with version number 1.25.91).
|
# tag "1.26-rc2" with version number 1.25.91).
|
||||||
# - "major" : on stable branch do a major release (e.g. on "nm-1-26" branch
|
# - "major" : on stable branch do a major release (e.g. on "nm-1-26" branch
|
||||||
# release "1.26.0", followed by "1.26.1-dev").
|
# release "1.26.0").
|
||||||
# You should do a "major-post" release right a "major" release.
|
# You should do a "major-post" release right a "major" release.
|
||||||
# - "major-post": after a "major" release, merge the release branch with main and
|
# - "major-post": after a "major" release, merge the release branch with main and
|
||||||
# do another devel snapshot on main (e.g. do "1.27.1-dev" release).
|
# do another devel snapshot on main (e.g. do "1.27.1-dev" release).
|
||||||
# - "minor" : on a stable branch do a minor release (e.g. "1.26.4" on "nm-1-26"
|
# - "minor" : on a stable branch do a minor release (e.g. "1.26.4" on "nm-1-26").
|
||||||
# branch and bump to "1.26.5-dev").
|
|
||||||
#
|
#
|
||||||
# Requisites:
|
# Requisites:
|
||||||
#
|
#
|
||||||
@@ -296,8 +295,7 @@ RC_VERSION=
|
|||||||
RELEASE_BRANCH=
|
RELEASE_BRANCH=
|
||||||
case "$RELEASE_MODE" in
|
case "$RELEASE_MODE" in
|
||||||
minor)
|
minor)
|
||||||
number_is_even "${VERSION_ARR[1]}" &&
|
number_is_even "${VERSION_ARR[1]}" || die "cannot do minor release on top of version $VERSION_STR"
|
||||||
number_is_odd "${VERSION_ARR[2]}" || die "cannot do minor release on top of version $VERSION_STR"
|
|
||||||
[ "$CUR_BRANCH" != main ] || die "cannot do a minor release on main"
|
[ "$CUR_BRANCH" != main ] || die "cannot do a minor release on main"
|
||||||
;;
|
;;
|
||||||
devel)
|
devel)
|
||||||
@@ -431,19 +429,13 @@ case "$RELEASE_MODE" in
|
|||||||
minor)
|
minor)
|
||||||
set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 1))
|
set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 1))
|
||||||
git commit -m "release: bump version to ${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 1))" -a || die "failed to commit release"
|
git commit -m "release: bump version to ${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 1))" -a || die "failed to commit release"
|
||||||
set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 2))
|
|
||||||
git commit -m "release: bump version to ${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 2)) (development)" -a || die "failed to commit devel version bump"
|
|
||||||
|
|
||||||
b="${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 1))"
|
b="${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 1))"
|
||||||
git tag -s -a -m "Tag $b" "$b" HEAD~ || die "failed to tag release"
|
git tag -s -a -m "Tag $b" "$b" HEAD || die "failed to tag release"
|
||||||
BRANCHES+=("$b")
|
BRANCHES+=("$b")
|
||||||
CLEANUP_REFS+=("refs/tags/$b")
|
CLEANUP_REFS+=("refs/tags/$b")
|
||||||
BUILD_TAG="$b"
|
BUILD_TAG="$b"
|
||||||
b="${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 2))"
|
TAR_VERSION="$b"
|
||||||
git tag -s -a -m "Tag $b (development)" "$b-dev" HEAD || die "failed to tag devel version"
|
|
||||||
BRANCHES+=("$b-dev")
|
|
||||||
CLEANUP_REFS+=("refs/tags/$b-dev")
|
|
||||||
TAR_VERSION="$BUILD_TAG"
|
|
||||||
;;
|
;;
|
||||||
devel)
|
devel)
|
||||||
set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 1))
|
set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 1))
|
||||||
@@ -482,20 +474,12 @@ case "$RELEASE_MODE" in
|
|||||||
;;
|
;;
|
||||||
major)
|
major)
|
||||||
b="${VERSION_ARR[0]}.$((${VERSION_ARR[1]} + 1)).0"
|
b="${VERSION_ARR[0]}.$((${VERSION_ARR[1]} + 1)).0"
|
||||||
b2="${VERSION_ARR[0]}.$((${VERSION_ARR[1]} + 1)).1"
|
|
||||||
|
|
||||||
set_version_number "${VERSION_ARR[0]}" "$((${VERSION_ARR[1]} + 1))" 0
|
set_version_number "${VERSION_ARR[0]}" "$((${VERSION_ARR[1]} + 1))" 0
|
||||||
git commit -m "release: bump version to $b" -a || die "failed to commit major version bump"
|
git commit -m "release: bump version to $b" -a || die "failed to commit major version bump"
|
||||||
|
|
||||||
git tag -s -a -m "Tag $b" "$b" HEAD || die "failed to tag release"
|
git tag -s -a -m "Tag $b" "$b" HEAD || die "failed to tag release"
|
||||||
BRANCHES+=("$b")
|
BRANCHES+=("$b")
|
||||||
CLEANUP_REFS+=("refs/tags/$b")
|
CLEANUP_REFS+=("refs/tags/$b")
|
||||||
|
|
||||||
set_version_number "${VERSION_ARR[0]}" "$((${VERSION_ARR[1]} + 1))" 1
|
|
||||||
git commit -m "release: bump version to $b2 (development)" -a || die "failed to commit another bump after major version bump"
|
|
||||||
git tag -s -a -m "Tag $b (development)" "$b2-dev" HEAD || die "failed to tag release"
|
|
||||||
BRANCHES+=("$b2-dev")
|
|
||||||
CLEANUP_REFS+=("refs/tags/$b2-dev")
|
|
||||||
|
|
||||||
BUILD_TAG="$b"
|
BUILD_TAG="$b"
|
||||||
TAR_VERSION="$b"
|
TAR_VERSION="$b"
|
||||||
;;
|
;;
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.reload">
|
<action id="org.freedesktop.NetworkManager.reload">
|
||||||
@@ -26,6 +27,7 @@
|
|||||||
<allow_inactive>auth_admin_keep</allow_inactive>
|
<allow_inactive>auth_admin_keep</allow_inactive>
|
||||||
<allow_active>auth_admin_keep</allow_active>
|
<allow_active>auth_admin_keep</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.sleep-wake">
|
<action id="org.freedesktop.NetworkManager.sleep-wake">
|
||||||
@@ -35,6 +37,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>no</allow_active>
|
<allow_active>no</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.enable-disable-wifi">
|
<action id="org.freedesktop.NetworkManager.enable-disable-wifi">
|
||||||
@@ -44,6 +47,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.enable-disable-wwan">
|
<action id="org.freedesktop.NetworkManager.enable-disable-wwan">
|
||||||
@@ -53,6 +57,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.enable-disable-wimax">
|
<action id="org.freedesktop.NetworkManager.enable-disable-wimax">
|
||||||
@@ -62,6 +67,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.network-control">
|
<action id="org.freedesktop.NetworkManager.network-control">
|
||||||
@@ -72,6 +78,7 @@
|
|||||||
<allow_inactive>yes</allow_inactive>
|
<allow_inactive>yes</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.wifi.scan">
|
<action id="org.freedesktop.NetworkManager.wifi.scan">
|
||||||
@@ -82,6 +89,7 @@
|
|||||||
<allow_inactive>yes</allow_inactive>
|
<allow_inactive>yes</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.wifi.share.protected">
|
<action id="org.freedesktop.NetworkManager.wifi.share.protected">
|
||||||
@@ -91,6 +99,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.wifi.share.open">
|
<action id="org.freedesktop.NetworkManager.wifi.share.open">
|
||||||
@@ -100,6 +109,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.settings.modify.own">
|
<action id="org.freedesktop.NetworkManager.settings.modify.own">
|
||||||
@@ -110,6 +120,7 @@
|
|||||||
<allow_inactive>yes</allow_inactive>
|
<allow_inactive>yes</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.settings.modify.system">
|
<action id="org.freedesktop.NetworkManager.settings.modify.system">
|
||||||
@@ -120,6 +131,7 @@
|
|||||||
<allow_inactive>@NM_MODIFY_SYSTEM_POLICY@</allow_inactive>
|
<allow_inactive>@NM_MODIFY_SYSTEM_POLICY@</allow_inactive>
|
||||||
<allow_active>@NM_MODIFY_SYSTEM_POLICY@</allow_active>
|
<allow_active>@NM_MODIFY_SYSTEM_POLICY@</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.settings.modify.hostname">
|
<action id="org.freedesktop.NetworkManager.settings.modify.hostname">
|
||||||
@@ -130,6 +142,7 @@
|
|||||||
<allow_inactive>auth_admin_keep</allow_inactive>
|
<allow_inactive>auth_admin_keep</allow_inactive>
|
||||||
<allow_active>auth_admin_keep</allow_active>
|
<allow_active>auth_admin_keep</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.settings.modify.global-dns">
|
<action id="org.freedesktop.NetworkManager.settings.modify.global-dns">
|
||||||
@@ -140,6 +153,7 @@
|
|||||||
<allow_inactive>auth_admin_keep</allow_inactive>
|
<allow_inactive>auth_admin_keep</allow_inactive>
|
||||||
<allow_active>auth_admin_keep</allow_active>
|
<allow_active>auth_admin_keep</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.checkpoint-rollback">
|
<action id="org.freedesktop.NetworkManager.checkpoint-rollback">
|
||||||
@@ -150,6 +164,7 @@
|
|||||||
<allow_inactive>auth_admin_keep</allow_inactive>
|
<allow_inactive>auth_admin_keep</allow_inactive>
|
||||||
<allow_active>auth_admin_keep</allow_active>
|
<allow_active>auth_admin_keep</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.enable-disable-statistics">
|
<action id="org.freedesktop.NetworkManager.enable-disable-statistics">
|
||||||
@@ -159,6 +174,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<action id="org.freedesktop.NetworkManager.enable-disable-connectivity-check">
|
<action id="org.freedesktop.NetworkManager.enable-disable-connectivity-check">
|
||||||
@@ -168,6 +184,7 @@
|
|||||||
<allow_inactive>no</allow_inactive>
|
<allow_inactive>no</allow_inactive>
|
||||||
<allow_active>yes</allow_active>
|
<allow_active>yes</allow_active>
|
||||||
</defaults>
|
</defaults>
|
||||||
|
<annotate key="org.freedesktop.policykit.owner">unix-user:networkmanager</annotate>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
</policyconfig>
|
</policyconfig>
|
||||||
|
@@ -6,7 +6,7 @@ project(
|
|||||||
# - add corresponding NM_VERSION_x_y_z macros in
|
# - add corresponding NM_VERSION_x_y_z macros in
|
||||||
# "src/libnm-core-public/nm-version-macros.h.in"
|
# "src/libnm-core-public/nm-version-macros.h.in"
|
||||||
# - update number in configure.ac
|
# - update number in configure.ac
|
||||||
version: '1.47.91',
|
version: '1.48.0',
|
||||||
license: 'GPL2+',
|
license: 'GPL2+',
|
||||||
default_options: [
|
default_options: [
|
||||||
'buildtype=debugoptimized',
|
'buildtype=debugoptimized',
|
||||||
|
@@ -89,6 +89,7 @@ src/libnm-core-impl/nm-setting-cdma.c
|
|||||||
src/libnm-core-impl/nm-setting-connection.c
|
src/libnm-core-impl/nm-setting-connection.c
|
||||||
src/libnm-core-impl/nm-setting-dcb.c
|
src/libnm-core-impl/nm-setting-dcb.c
|
||||||
src/libnm-core-impl/nm-setting-ethtool.c
|
src/libnm-core-impl/nm-setting-ethtool.c
|
||||||
|
src/libnm-core-impl/nm-setting-generic.c
|
||||||
src/libnm-core-impl/nm-setting-gsm.c
|
src/libnm-core-impl/nm-setting-gsm.c
|
||||||
src/libnm-core-impl/nm-setting-hsr.c
|
src/libnm-core-impl/nm-setting-hsr.c
|
||||||
src/libnm-core-impl/nm-setting-infiniband.c
|
src/libnm-core-impl/nm-setting-infiniband.c
|
||||||
|
@@ -849,7 +849,7 @@ nm_config_data_log(const NMConfigData *self,
|
|||||||
/* We require that the default values are grouped by their "group".
|
/* We require that the default values are grouped by their "group".
|
||||||
* That is, all default values for a certain "group" are close to
|
* That is, all default values for a certain "group" are close to
|
||||||
* each other in the list. Assert for that. */
|
* each other in the list. Assert for that. */
|
||||||
for (g2 = g + 1; g2 < groups_full->len; g2++) {
|
for (g2 = g + 1; g2 < G_N_ELEMENTS(default_values); g2++) {
|
||||||
nm_assert(!nm_streq(default_values[g - 1].group, default_values[g2].group));
|
nm_assert(!nm_streq(default_values[g - 1].group, default_values[g2].group));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -157,8 +157,8 @@ struct _NML3ConfigData {
|
|||||||
bool has_routes_with_type_local_6_set : 1;
|
bool has_routes_with_type_local_6_set : 1;
|
||||||
bool has_routes_with_type_local_4_val : 1;
|
bool has_routes_with_type_local_4_val : 1;
|
||||||
bool has_routes_with_type_local_6_val : 1;
|
bool has_routes_with_type_local_6_val : 1;
|
||||||
bool dhcp_enabled_4 : 1;
|
bool allow_routes_without_address_4 : 1;
|
||||||
bool dhcp_enabled_6 : 1;
|
bool allow_routes_without_address_6 : 1;
|
||||||
|
|
||||||
bool ndisc_hop_limit_set : 1;
|
bool ndisc_hop_limit_set : 1;
|
||||||
bool ndisc_reachable_time_msec_set : 1;
|
bool ndisc_reachable_time_msec_set : 1;
|
||||||
@@ -678,26 +678,28 @@ nm_l3_config_data_new(NMDedupMultiIndex *multi_idx, int ifindex, NMIPConfigSourc
|
|||||||
|
|
||||||
self = g_slice_new(NML3ConfigData);
|
self = g_slice_new(NML3ConfigData);
|
||||||
*self = (NML3ConfigData){
|
*self = (NML3ConfigData){
|
||||||
.ref_count = 1,
|
.ref_count = 1,
|
||||||
.ifindex = ifindex,
|
.ifindex = ifindex,
|
||||||
.multi_idx = nm_dedup_multi_index_ref(multi_idx),
|
.multi_idx = nm_dedup_multi_index_ref(multi_idx),
|
||||||
.mdns = NM_SETTING_CONNECTION_MDNS_DEFAULT,
|
.mdns = NM_SETTING_CONNECTION_MDNS_DEFAULT,
|
||||||
.llmnr = NM_SETTING_CONNECTION_LLMNR_DEFAULT,
|
.llmnr = NM_SETTING_CONNECTION_LLMNR_DEFAULT,
|
||||||
.dns_over_tls = NM_SETTING_CONNECTION_DNS_OVER_TLS_DEFAULT,
|
.dns_over_tls = NM_SETTING_CONNECTION_DNS_OVER_TLS_DEFAULT,
|
||||||
.flags = NM_L3_CONFIG_DAT_FLAGS_NONE,
|
.flags = NM_L3_CONFIG_DAT_FLAGS_NONE,
|
||||||
.metered = NM_TERNARY_DEFAULT,
|
.metered = NM_TERNARY_DEFAULT,
|
||||||
.proxy_browser_only = NM_TERNARY_DEFAULT,
|
.proxy_browser_only = NM_TERNARY_DEFAULT,
|
||||||
.proxy_method = NM_PROXY_CONFIG_METHOD_UNKNOWN,
|
.proxy_method = NM_PROXY_CONFIG_METHOD_UNKNOWN,
|
||||||
.route_table_sync_4 = NM_IP_ROUTE_TABLE_SYNC_MODE_NONE,
|
.route_table_sync_4 = NM_IP_ROUTE_TABLE_SYNC_MODE_NONE,
|
||||||
.route_table_sync_6 = NM_IP_ROUTE_TABLE_SYNC_MODE_NONE,
|
.route_table_sync_6 = NM_IP_ROUTE_TABLE_SYNC_MODE_NONE,
|
||||||
.never_default_6 = NM_OPTION_BOOL_DEFAULT,
|
.never_default_6 = NM_OPTION_BOOL_DEFAULT,
|
||||||
.never_default_4 = NM_OPTION_BOOL_DEFAULT,
|
.never_default_4 = NM_OPTION_BOOL_DEFAULT,
|
||||||
.source = source,
|
.source = source,
|
||||||
.ip6_privacy = NM_SETTING_IP6_CONFIG_PRIVACY_UNKNOWN,
|
.ip6_privacy = NM_SETTING_IP6_CONFIG_PRIVACY_UNKNOWN,
|
||||||
.mptcp_flags = NM_MPTCP_FLAGS_NONE,
|
.mptcp_flags = NM_MPTCP_FLAGS_NONE,
|
||||||
.ndisc_hop_limit_set = FALSE,
|
.ndisc_hop_limit_set = FALSE,
|
||||||
.ndisc_reachable_time_msec_set = FALSE,
|
.ndisc_reachable_time_msec_set = FALSE,
|
||||||
.ndisc_retrans_timer_msec_set = FALSE,
|
.ndisc_retrans_timer_msec_set = FALSE,
|
||||||
|
.allow_routes_without_address_4 = TRUE,
|
||||||
|
.allow_routes_without_address_6 = TRUE,
|
||||||
};
|
};
|
||||||
|
|
||||||
_idx_type_init(&self->idx_addresses_4, NMP_OBJECT_TYPE_IP4_ADDRESS);
|
_idx_type_init(&self->idx_addresses_4, NMP_OBJECT_TYPE_IP4_ADDRESS);
|
||||||
@@ -1936,15 +1938,30 @@ nm_l3_config_data_set_mptcp_flags(NML3ConfigData *self, NMMptcpFlags mptcp_flags
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
nm_l3_config_data_get_dhcp_enabled(const NML3ConfigData *self, int addr_family)
|
nm_l3_config_data_get_allow_routes_without_address(const NML3ConfigData *self, int addr_family)
|
||||||
{
|
{
|
||||||
const int IS_IPv4 = NM_IS_IPv4(addr_family);
|
const int IS_IPv4 = NM_IS_IPv4(addr_family);
|
||||||
|
|
||||||
nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE));
|
nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE));
|
||||||
if (IS_IPv4) {
|
if (IS_IPv4) {
|
||||||
return self->dhcp_enabled_4;
|
return self->allow_routes_without_address_4;
|
||||||
} else {
|
} else {
|
||||||
return self->dhcp_enabled_6;
|
return self->allow_routes_without_address_6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nm_l3_config_data_set_allow_routes_without_address(NML3ConfigData *self,
|
||||||
|
int addr_family,
|
||||||
|
gboolean value)
|
||||||
|
{
|
||||||
|
const int IS_IPv4 = NM_IS_IPv4(addr_family);
|
||||||
|
|
||||||
|
nm_assert(_NM_IS_L3_CONFIG_DATA(self, FALSE));
|
||||||
|
if (IS_IPv4) {
|
||||||
|
self->allow_routes_without_address_4 = value;
|
||||||
|
} else {
|
||||||
|
self->allow_routes_without_address_6 = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2758,18 +2775,18 @@ _init_from_connection_ip(NML3ConfigData *self, int addr_family, NMConnection *co
|
|||||||
method = nm_setting_ip_config_get_method(s_ip);
|
method = nm_setting_ip_config_get_method(s_ip);
|
||||||
if (IS_IPv4) {
|
if (IS_IPv4) {
|
||||||
if (nm_streq(method, NM_SETTING_IP4_CONFIG_METHOD_AUTO)) {
|
if (nm_streq(method, NM_SETTING_IP4_CONFIG_METHOD_AUTO)) {
|
||||||
self->dhcp_enabled_4 = TRUE;
|
self->allow_routes_without_address_4 = FALSE;
|
||||||
} else {
|
} else {
|
||||||
self->dhcp_enabled_4 = FALSE;
|
self->allow_routes_without_address_4 = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
method = nm_setting_ip_config_get_method(s_ip);
|
method = nm_setting_ip_config_get_method(s_ip);
|
||||||
if (NM_IN_STRSET(method,
|
if (NM_IN_STRSET(method,
|
||||||
NM_SETTING_IP6_CONFIG_METHOD_AUTO,
|
NM_SETTING_IP6_CONFIG_METHOD_AUTO,
|
||||||
NM_SETTING_IP6_CONFIG_METHOD_DHCP)) {
|
NM_SETTING_IP6_CONFIG_METHOD_DHCP)) {
|
||||||
self->dhcp_enabled_6 = TRUE;
|
self->allow_routes_without_address_6 = FALSE;
|
||||||
} else {
|
} else {
|
||||||
self->dhcp_enabled_6 = FALSE;
|
self->allow_routes_without_address_6 = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3456,11 +3473,11 @@ nm_l3_config_data_merge(NML3ConfigData *self,
|
|||||||
self->dhcp_lease_x[0] = nm_dhcp_lease_ref(self->dhcp_lease_x[0]);
|
self->dhcp_lease_x[0] = nm_dhcp_lease_ref(self->dhcp_lease_x[0]);
|
||||||
self->dhcp_lease_x[1] = nm_dhcp_lease_ref(self->dhcp_lease_x[1]);
|
self->dhcp_lease_x[1] = nm_dhcp_lease_ref(self->dhcp_lease_x[1]);
|
||||||
}
|
}
|
||||||
if (src->dhcp_enabled_4)
|
if (!src->allow_routes_without_address_4)
|
||||||
self->dhcp_enabled_4 = TRUE;
|
self->allow_routes_without_address_4 = FALSE;
|
||||||
|
|
||||||
if (src->dhcp_enabled_6)
|
if (!src->allow_routes_without_address_6)
|
||||||
self->dhcp_enabled_6 = TRUE;
|
self->allow_routes_without_address_6 = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
NML3ConfigData *
|
NML3ConfigData *
|
||||||
|
@@ -554,7 +554,12 @@ NMSettingIP6ConfigPrivacy nm_l3_config_data_get_ip6_privacy(const NML3ConfigData
|
|||||||
gboolean nm_l3_config_data_set_ip6_privacy(NML3ConfigData *self,
|
gboolean nm_l3_config_data_set_ip6_privacy(NML3ConfigData *self,
|
||||||
NMSettingIP6ConfigPrivacy ip6_privacy);
|
NMSettingIP6ConfigPrivacy ip6_privacy);
|
||||||
|
|
||||||
gboolean nm_l3_config_data_get_dhcp_enabled(const NML3ConfigData *self, int addr_family);
|
gboolean nm_l3_config_data_get_allow_routes_without_address(const NML3ConfigData *self,
|
||||||
|
int addr_family);
|
||||||
|
|
||||||
|
void nm_l3_config_data_set_allow_routes_without_address(NML3ConfigData *self,
|
||||||
|
int addr_family,
|
||||||
|
gboolean value);
|
||||||
|
|
||||||
NMProxyConfigMethod nm_l3_config_data_get_proxy_method(const NML3ConfigData *self);
|
NMProxyConfigMethod nm_l3_config_data_get_proxy_method(const NML3ConfigData *self);
|
||||||
|
|
||||||
|
@@ -1301,7 +1301,6 @@ _commit_collect_routes(NML3Cfg *self,
|
|||||||
const int IS_IPv4 = NM_IS_IPv4(addr_family);
|
const int IS_IPv4 = NM_IS_IPv4(addr_family);
|
||||||
const NMDedupMultiHeadEntry *head_entry;
|
const NMDedupMultiHeadEntry *head_entry;
|
||||||
const NMDedupMultiEntry *entry;
|
const NMDedupMultiEntry *entry;
|
||||||
gboolean is_dhcp_enabled;
|
|
||||||
|
|
||||||
nm_assert(routes && !*routes);
|
nm_assert(routes && !*routes);
|
||||||
nm_assert(routes_nodev && !*routes_nodev);
|
nm_assert(routes_nodev && !*routes_nodev);
|
||||||
@@ -1321,10 +1320,10 @@ _commit_collect_routes(NML3Cfg *self,
|
|||||||
else {
|
else {
|
||||||
nm_assert(NMP_OBJECT_CAST_IP_ROUTE(obj)->ifindex == self->priv.ifindex);
|
nm_assert(NMP_OBJECT_CAST_IP_ROUTE(obj)->ifindex == self->priv.ifindex);
|
||||||
|
|
||||||
is_dhcp_enabled =
|
if (!any_addrs
|
||||||
nm_l3_config_data_get_dhcp_enabled(self->priv.p->combined_l3cd_commited,
|
&& !nm_l3_config_data_get_allow_routes_without_address(
|
||||||
addr_family);
|
self->priv.p->combined_l3cd_commited,
|
||||||
if (!any_addrs && is_dhcp_enabled) {
|
addr_family)) {
|
||||||
/* This is a unicast route (or a similar route, which has an
|
/* This is a unicast route (or a similar route, which has an
|
||||||
* ifindex).
|
* ifindex).
|
||||||
*
|
*
|
||||||
|
@@ -1433,6 +1433,10 @@ _check_complete(NMVpnConnection *self, gboolean success)
|
|||||||
l3cd = nm_l3_config_data_new_from_connection(nm_netns_get_multi_idx(priv->netns),
|
l3cd = nm_l3_config_data_new_from_connection(nm_netns_get_multi_idx(priv->netns),
|
||||||
nm_vpn_connection_get_ip_ifindex(self, TRUE),
|
nm_vpn_connection_get_ip_ifindex(self, TRUE),
|
||||||
connection);
|
connection);
|
||||||
|
|
||||||
|
nm_l3_config_data_set_allow_routes_without_address(l3cd, AF_INET, TRUE);
|
||||||
|
nm_l3_config_data_set_allow_routes_without_address(l3cd, AF_INET6, TRUE);
|
||||||
|
|
||||||
_l3cfg_l3cd_set(self, L3CD_TYPE_STATIC, l3cd);
|
_l3cfg_l3cd_set(self, L3CD_TYPE_STATIC, l3cd);
|
||||||
|
|
||||||
_l3cfg_l3cd_gw_extern_update(self);
|
_l3cfg_l3cd_gw_extern_update(self);
|
||||||
|
Reference in New Issue
Block a user