Commit graph

30536 commits

Author SHA1 Message Date
Thomas Haller
3d542b55ed
platform/tests: avoid test failures accepting route added signals
/route/ip6: NMPlatformSignalAssert: ../src/platform/tests/test-route.c:331, test_ip6_route(): failure to accept signal [0,2] times: ip6-route-changed-added ifindex 0 (3 times received)
2020-06-30 17:23:45 +02:00
Beniamino Galvani
5423a92b0f wifi: renew dynamic IP configuration after roaming
There are some APs that require a DHCP transaction before allowing
other traffic. This is meant to improve security by preventing the use
of static addresses. Currently we don't renew DHCP after roaming to a
new AP and this can lead to broken connectivity with APs that
implement the check described above. Also, even if unlikely, the new
AP could be in a different layer 3 network and so the old address
could be no longer valid.

Renew dynamic IP configuration after we detect the supplicant decided
to roam to a new AP. Note that we only trigger a DHCP client restart;
the DHCP client already implements the logic to renew the previous
address and fall back to a full request in case of NAK or timeout.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/449
2020-06-30 17:08:56 +02:00
Thomas Haller
f1af22452d
ifcfg-rh,libnm: merge branch 'th/ifcfg-bridge-writer'
https://bugzilla.redhat.com/show_bug.cgi?id=1845608

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/554
2020-06-30 16:31:47 +02:00
Thomas Haller
b9aa7ef81c
libnm/doc: clarify values for "bridge.multicast-router"
Kernel (sysfs) and iproute2 only use numbers for the multicast_router
option. It's confusing that we name the options differently. Anyway,
that cannot be changed anymore. Clarify the meanings in the
documentation.

https://bugzilla.redhat.com/show_bug.cgi?id=1845608
2020-06-30 16:30:38 +02:00
Thomas Haller
13327555d6
ifcfg-rh: hard code the defaults for bridge settings in write_bridge_setting()
Code like "get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_FORWARD_DELAY)" looks
up the default value of the GObject property. That default value is
known at build type. Looking it up is an unnecessary overhead, for
something that is already known.

Also, the code isn't generic (meaning, it doesn't iterate of a set of
properties names and treats them without explicitly naming each
property). If we already name the property for which we want the default
value, we can just as well name the default value.

Additionally, add an assertion that what we would look up matches
to what we think is the default.
2020-06-30 16:30:38 +02:00
Thomas Haller
58d193432d
ifcfg-rh: use guint type for handling nm_setting_bridge_get_ageing_time() return value
It returns guint, not guint32. Use the appropriate type.
2020-06-30 16:30:37 +02:00
Thomas Haller
15ec888597
ifcfg-rh: use nm_gstring_add_space_delimiter() in write_bridge_setting() 2020-06-30 16:30:34 +02:00
Thomas Haller
ae626ade0f
contrib: consistency check meson.build in release script 2020-06-30 13:57:15 +02:00
Thomas Haller
66651d5660
contrib: improve release script with howto comments and help option 2020-06-30 13:36:42 +02:00
Beniamino Galvani
edf7003660
version: add 1.28 macros 2020-06-30 11:29:04 +02:00
Thomas Haller
a32e0d7ce3
gitlab-ci: enable python black check in gitlab-ci
(cherry picked from commit 8c3ee4e857)
2020-06-29 09:26:43 +02:00
Thomas Haller
0ba2af495e
gitlab-ci: run checkpatch test against fedora:32 target
(cherry picked from commit 70f3ad6785)
2020-06-29 09:26:43 +02:00
Thomas Haller
a5d293c367
build: for signing use key from git's user.signingkey
(cherry picked from commit 53bb23b403)
2020-06-29 09:25:34 +02:00
Thomas Haller
53bb23b403
build: for signing use key from git's user.signingkey 2020-06-29 09:08:04 +02:00
Thomas Haller
326e0e8252
release: cleanup temporary release-branch and avoid prompt for ftpadmin install
(cherry picked from commit 0748bd989d)
2020-06-28 19:17:31 +02:00
Thomas Haller
0748bd989d
release: cleanup temporary release-branch and avoid prompt for ftpadmin install 2020-06-28 19:16:20 +02:00
Thomas Haller
29019eeb45
release: bump version to 1.25.91 (1.26-rc2) (development) 2020-06-28 19:03:43 +02:00
Thomas Haller
783e4086a9
release: fix "rc" release build and add option to suppress check for local branches
(cherry picked from commit 99f834842a)
2020-06-28 19:03:00 +02:00
Thomas Haller
99f834842a
release: fix "rc" release build and add option to suppress check for local branches 2020-06-28 19:02:07 +02:00
Beniamino Galvani
2a9f5f25b2 NEWS: update 2020-06-28 18:37:09 +02:00
Thomas Haller
d4adb65fd6
release: fix RC_VERSION for release script
The release candidate -rc1 has version "1.y.90", -rc2 has "1.y.91", and so
on. Fix the script.

(cherry picked from commit 7f93fd8e7b)
2020-06-28 18:36:21 +02:00
Thomas Haller
7f93fd8e7b
release: fix RC_VERSION for release script
The release candidate -rc1 has version "1.y.90", -rc2 has "1.y.91", and so
on. Fix the script.
2020-06-28 18:35:03 +02:00
Thomas Haller
a9247f6dd9
release: fix release script for "rc"
(cherry picked from commit 8e9e6fd024)
2020-06-28 18:08:25 +02:00
Thomas Haller
8e9e6fd024
release: fix release script for "rc" 2020-06-28 18:06:17 +02:00
Beniamino Galvani
c3e8ec6717 platform: merge branch 'ac/local_route'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/526
(cherry picked from commit 3e21357888)
2020-06-28 17:47:54 +02:00
Antonio Cardace
5247e2f8f5 setting-ip-config: validate route attributes in verify()
It's better to verify these route attributes so that the user can be
notified early if something is not supported or invalid.

The downside is that some incorrect profiles (with invalid route attributes)
that previously would work since this commit will not anymore as
the incorrect bits don't get ignored but rejected instead.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/407
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
(cherry picked from commit 7781f78435)
2020-06-28 17:47:35 +02:00
Antonio Cardace
c4528f221b platform: add support for local routes
Also update unit tests.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/407
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
(cherry picked from commit 5d0d13f570)
2020-06-28 17:47:27 +02:00
Antonio Cardace
c7d61a53e5
NEWS: update
(cherry picked from commit cfe349b971)
2020-06-28 17:41:07 +02:00
Antonio Cardace
7018f20293
nmcs-gcp: merge branch 'ac/gcp_cloud_support'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/546
https://bugzilla.redhat.com/show_bug.cgi?id=1821787

(cherry picked from commit ccbae2422e)
2020-06-28 17:40:22 +02:00
Antonio Cardace
10abdedb1a
nmcs-gcp: add support for Google Cloud Platform load balancers
This add a provider implementation for GCP that when detected fetches
the ip addresses of configured internal load balancers.

Once this information is fetched from the metadata server it instructs
NetworkManager to add local routes for each found forwarded-ip.

https://bugzilla.redhat.com/show_bug.cgi?id=1821787
(cherry picked from commit a2b699f40f)
2020-06-28 17:40:22 +02:00
Antonio Cardace
8581038450
nmcs-main: support adding additional routes
This allows a provider to only add additional routes to the applied profile

https://bugzilla.redhat.com/show_bug.cgi?id=1821787
(cherry picked from commit 75a84677ca)
2020-06-28 17:40:21 +02:00
Antonio Cardace
23c11af7f5
nmcs-http: add param to GET API to set custom HTTP headers
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
(cherry picked from commit 053bce438b)
2020-06-28 17:40:21 +02:00
Antonio Cardace
c8965f906e
main: remove unused argument
(cherry picked from commit 1095cef9a1)
2020-06-28 17:40:21 +02:00
Antonio Cardace
1f27c36288
nmcs: fix indentation
(cherry picked from commit d46da9072a)
2020-06-28 17:40:21 +02:00
Antonio Cardace
0d22e6b2fe
nm-shared-utils: add util to parse out lines from a string
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
(cherry picked from commit aa5959a595)
2020-06-28 17:40:20 +02:00
Antonio Cardace
20a6fa7d1b
nmcs: add error message when a HTTP request times out
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
(cherry picked from commit 3bd30f6064)
2020-06-28 17:40:20 +02:00
Antonio Cardace
b7d53f0d3a
nmcs-http: remove the timeout once expired
libcurl's documentation for CURLMOPT_TIMERFUNCTION requires the
application to install a non-repeating timer.

https://curl.haxx.se/libcurl/c/CURLMOPT_TIMERFUNCTION.html

So let's remove the GSource once expired.

Fixes: 69f048bf0c ('cloud-setup: add tool for automatic IP configuration in cloud')
(cherry picked from commit e09bd2339a)
2020-06-28 17:40:20 +02:00
Antonio Cardace
f5487645d8
nmcs-http: fix multiple HTTP request bug
Since just a single pointer is used to store the socket's GSource
if more than 1 consecutive request was done through the same
HTTP provider the 2nd request would clear the GSource associated to
the second request causing the 1st HTTP request to never complete
and end up in a expired timeout.

Use a hashtable instead so we can correctly track all requests.

https://bugzilla.redhat.com/show_bug.cgi?id=1821787

Fixes: 69f048bf0c ('cloud-setup: add tool for automatic IP configuration in cloud')
(cherry picked from commit 427fbc85f0)
2020-06-28 17:40:13 +02:00
Beniamino Galvani
2b5ba370a6 device: clean up exported IP6 config when flushing addresses
After flushing addresses and routes, it's also necessary to update the
exported IP6 configuration.

https://bugzilla.redhat.com/show_bug.cgi?id=1848888
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/551

Fixes: e302f5ff77 ('device: flush IP configuration of slaves during activation')
(cherry picked from commit 071104124b)
2020-06-28 17:00:03 +02:00
Beniamino Galvani
071104124b device: clean up exported IP6 config when flushing addresses
After flushing addresses and routes, it's also necessary to update the
exported IP6 configuration.

https://bugzilla.redhat.com/show_bug.cgi?id=1848888
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/551

Fixes: e302f5ff77 ('device: flush IP configuration of slaves during activation')
2020-06-28 16:57:38 +02:00
Antonio Cardace
cfe349b971
NEWS: update 2020-06-26 16:59:23 +02:00
Antonio Cardace
ccbae2422e
nmcs-gcp: merge branch 'ac/gcp_cloud_support'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/546
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
2020-06-26 16:54:16 +02:00
Antonio Cardace
a2b699f40f
nmcs-gcp: add support for Google Cloud Platform load balancers
This add a provider implementation for GCP that when detected fetches
the ip addresses of configured internal load balancers.

Once this information is fetched from the metadata server it instructs
NetworkManager to add local routes for each found forwarded-ip.

https://bugzilla.redhat.com/show_bug.cgi?id=1821787
2020-06-26 16:47:56 +02:00
Antonio Cardace
75a84677ca
nmcs-main: support adding additional routes
This allows a provider to only add additional routes to the applied profile

https://bugzilla.redhat.com/show_bug.cgi?id=1821787
2020-06-26 16:47:56 +02:00
Antonio Cardace
053bce438b
nmcs-http: add param to GET API to set custom HTTP headers
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
2020-06-26 16:47:56 +02:00
Antonio Cardace
1095cef9a1
main: remove unused argument 2020-06-26 16:47:56 +02:00
Antonio Cardace
d46da9072a
nmcs: fix indentation 2020-06-26 16:47:56 +02:00
Antonio Cardace
aa5959a595
nm-shared-utils: add util to parse out lines from a string
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
2020-06-26 16:47:56 +02:00
Antonio Cardace
3bd30f6064
nmcs: add error message when a HTTP request times out
https://bugzilla.redhat.com/show_bug.cgi?id=1821787
2020-06-26 16:47:55 +02:00
Antonio Cardace
e09bd2339a
nmcs-http: remove the timeout once expired
libcurl's documentation for CURLMOPT_TIMERFUNCTION requires the
application to install a non-repeating timer.

https://curl.haxx.se/libcurl/c/CURLMOPT_TIMERFUNCTION.html

So let's remove the GSource once expired.

Fixes: 69f048bf0c ('cloud-setup: add tool for automatic IP configuration in cloud')
2020-06-26 16:47:55 +02:00