Commit Graph

25937 Commits

Author SHA1 Message Date
Thomas Haller
7e023e53e8 mailmap: update mailmap information for Antony 2020-05-19 18:01:26 +02:00
Thomas Haller
02e36c1dca license: merge branch 'onlymee:patch-1'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/511
2020-05-19 17:54:33 +02:00
Antony Mee
d7dca08147 Added approval to RELICENSE.md 2020-05-19 10:41:14 +00:00
Thomas Haller
4fc92aa604 license: add Przemysław to RELICENSE.md
https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00013.html
2020-05-19 11:42:59 +02:00
Thomas Haller
0480448e66 n-dhcp4: style fix in n_dhcp4_client_probe_transition_accept()
The upstream fix also doesn't have this whitespace.
Keep the sources in sync.

0be7033dd9
2020-05-18 09:54:28 +02:00
Thomas Haller
33a67c9f15 license: add luzpaz to RELICENSE.md
https://github.com/NetworkManager/NetworkManager/pull/205#issuecomment-629638948
2020-05-17 21:37:53 +02:00
Thomas Haller
6c7d910a7d license: add Aleksander to RELICENSE.md
https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00012.html
2020-05-16 11:57:39 +02:00
Thomas Haller
4b0886ef13 license: add Evan to RELICENSE.md
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/390#note_501410
2020-05-16 09:33:52 +02:00
Thomas Haller
4f7c05a320 license: add companies to RELICENSE.md 2020-05-15 21:51:06 +02:00
Thomas Haller
fcbdaf3fdd license: add Pantelis to RELICENSE.md
https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00011.html
2020-05-15 21:28:33 +02:00
Thomas Haller
1055631eb3 mailmap: update mailmap for Ray (halfline) 2020-05-15 21:25:12 +02:00
Thomas Haller
f1071f949b license/RELICENSE: merge branch 'halfline:patch-1'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/509
2020-05-15 21:22:30 +02:00
Thomas Haller
16c913a14a license: add Mario to RELICENSE.md
https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00010.html
2020-05-15 21:18:52 +02:00
Thomas Haller
477dfa3190 license: add Giovanni to RELICENSE.md
https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00009.html
2020-05-15 21:15:48 +02:00
Thomas Haller
901326e439 license: add Colin to RELICENSE.md
https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00008.html
2020-05-15 21:13:52 +02:00
Ray Strode
e922c9989f Update RELICENSE.md to include halfline 2020-05-15 18:10:41 +00:00
Olivier Gayot
0b9f0b3080 nmtui: show error on connection deactivation failure
When a failure occurs on deactivation of a connection, no error was
shown on the TUI client. It was not obvious if anything was actually
happening after pressing the <Deactivate> button.

This patch shows the error in a dialog just like we do when a failure
occurs on activation of a connection.

https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00004.html
2020-05-15 19:27:09 +02:00
Beniamino Galvani
779e5c0efb core: merge branch 'bg/shared-mode-firewall-rh1829637'
https://bugzilla.redhat.com/show_bug.cgi?id=1829637
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/498
2020-05-15 19:06:38 +02:00
Beniamino Galvani
016a82e6dd contrib/rpm: enable the firewalld zone in F32 and RHEL8 2020-05-15 19:06:24 +02:00
Beniamino Galvani
3e2b723532 device: use the nm-shared firewalld zone in shared mode
When the interface is in IPv4 or IPv6 shared mode and the user didn't
specify an explicit zone, use the nm-shared one.

Note that masquerade is still done through iptables direct calls
because at the moment it is not possible for a firewalld zone to do
masquerade based on the input interface.

The firewalld zone is needed on systems where firewalld is using the
nftables backend and the 'iptables' binary uses the iptables API
(instead of the nftables one). On such systems, even if the traffic is
allowed in iptables by our direct rules, it can still be dropped in
nftables by firewalld.
2020-05-15 19:06:24 +02:00
Beniamino Galvani
c8b5bf402d build: install a firewalld zone for shared mode
Install a NM-specific firewalld zone to be used for interfaces that
are used for connection sharing. The zone blocks all traffic to the
local machine except some protocols (DHCP, DNS and ICMP) and allows
all forwarded traffic.
2020-05-15 19:06:24 +02:00
Thomas Haller
fb0d59689c mailmap: update Chrstopher Aillon mailmap entry 2020-05-15 18:51:31 +02:00
Beniamino Galvani
2d8c87e22e ip-tunnel: merge branch 'bg/ip-tunnel-cloned-mac-rh1832170'
https://bugzilla.redhat.com/show_bug.cgi?id=1832170
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/503
2020-05-15 09:49:06 +02:00
Beniamino Galvani
fa4fbd3333 ip-tunnel: set ip6gretap MAC address when creating the link 2020-05-15 09:48:25 +02:00
Beniamino Galvani
0494a84878 ip-tunnel: set cloned-mac-address only for layer2 tunnel devices
For ip-tunnel modes that encapsulate layer2 packets (gretap and
ip6gretap) we allow the presence of an ethernet setting in the
connection and honor the cloned-mac-address specified in it.

For all other modes, the ethernet setting is removed during
normalization, but a value different from 'preserve' could be set via
global default.

The kernel doesn't allow setting a MAC for layer3 devices, don't do
it.
2020-05-15 09:48:25 +02:00
Beniamino Galvani
48c93b3bba libnm-core: add _nm_ip_tunnel_mode_is_layer2() 2020-05-15 09:48:25 +02:00
Yuri Chornoivan
623cb3dc87 po: update Ukrainian (uk) translation
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/504
2020-05-15 09:40:12 +02:00
Thomas Haller
8d2f6dfe38 contrib/rpm: no longer mention that libnm is "new API"
libnm was introduced in version 1.0, December 2014. It's
no longer new, and libnm-glib is forgotten.
2020-05-14 17:21:12 +02:00
Thomas Haller
ef9fe85096 shared: move _nm_utils_format_variant_attributes*() API to "shared/nm-glib-aux"
This has no dependency on libnm, libnm-core, or src. Move it to the
general purpose toolbox.
2020-05-14 17:21:12 +02:00
Antonio Cardace
61d6f1abc2 cli: let nmcli remove individual coalesce settings
Remove coalesce settings by setting them to NULL.

eg:
$ nmcli c mod $conn ethtool.$coalesce-setting ''
2020-05-14 17:06:41 +02:00
Thomas Haller
01667694ca all: merge branch 'th/ubsan-fixes'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/505
2020-05-14 13:37:04 +02:00
Thomas Haller
350681e7f1 contrib/rpm: enable undefined-sanitizer libubsan on RHEL-8 2020-05-14 12:19:34 +02:00
Thomas Haller
9119e5b618 build/autotools: fix linking nm-online,nm-dispatcher,nm-bt-test with sanitizer flags 2020-05-14 12:19:34 +02:00
Thomas Haller
1acb351848 build/autotools: reject invalid sanitizer options in configure.ac 2020-05-14 12:19:34 +02:00
Thomas Haller
5198bce5ee clients/tests: set "UBSAN_OPTIONS" to abort tests and set "ASAN_OPTIONS=detect_leaks=1" 2020-05-14 12:19:34 +02:00
Thomas Haller
c6234e114b clients/tests: preserve caller's ASAN/LSAN/UBSAN environment variables for client tests 2020-05-14 12:19:33 +02:00
Thomas Haller
8113bc22d4 tests/sanitizer: suppress leak in openssl
Suppress a leak report from openssl:

 Direct leak of 192 byte(s) in 1 object(s) allocated from:
     #0 0x7f6fe9c6b677 in __interceptor_malloc (/lib64/libasan.so.6+0xb0677)
     #1 0x7f6fe4d4046d in CRYPTO_zalloc crypto/mem.c:230
     #2 0x7f6fe4d0a91f in ENGINE_new crypto/engine/eng_lib.c:34
     #3 0x7f6fe4d0c40d in ENGINE_rdrand crypto/engine/eng_rdrand.c:70
     #4 0x7f6fe4d0c40d in engine_load_rdrand_int crypto/engine/eng_rdrand.c:85
     #5 0x7f6fe4d370ec in ossl_init_engine_rdrand crypto/init.c:353
     #6 0x7f6fe4d370ec in ossl_init_engine_rdrand_ossl_ crypto/init.c:347
     #7 0x7f6fe995aace in __pthread_once_slow (/lib64/libpthread.so.0+0x11ace)
     #8 0x7f6fe4da68fc in CRYPTO_THREAD_run_once crypto/threads_pthread.c:118
     #9 0x7f6fe4d378ec in OPENSSL_init_crypto crypto/init.c:723
     #10 0x7f6fe4d378ec in OPENSSL_init_crypto crypto/init.c:620
     #11 0x7f6fe5292280  (/usr/lib64/pkcs11/libsofthsm2.so+0x78280)
     #12 0x7f6fe5292364  (/usr/lib64/pkcs11/libsofthsm2.so+0x78364)
     #13 0x7f6fe526f151 in SoftHSM::C_Initialize(void*) /usr/src/debug/softhsm-2.5.0-4.fc32.3.x86_64/src/lib/SoftHSM.cpp:485
     #14 0x7f6fe523cc97 in C_Initialize (/usr/lib64/pkcs11/libsofthsm2.so+0x22c97)
     #15 0x7f6fe4ecb233 in initialize_module_inlock_reentrant ../p11-kit/modules.c:738
     #16 0x7f6fe4ecb382 in managed_C_Initialize ../p11-kit/modules.c:1584
     #17 0x7f6fe4ecdbdf in p11_kit_modules_initialize ../p11-kit/modules.c:2157
     #18 0x7f6fe4ecdbdf in p11_kit_modules_initialize ../p11-kit/modules.c:2145
     #19 0x7f6fe4ed1a96 in proxy_create ../p11-kit/proxy.c:330
     #20 0x7f6fe4ed1a96 in proxy_C_Initialize ../p11-kit/proxy.c:398
     #21 0x7f6fe9a343b1 in secmod_ModuleInit /usr/src/debug/nss-3.51.0-1.fc32.x86_64/nss/lib/pk11wrap/pk11load.c:244
     #22 0x7f6fe9a34adb in secmod_LoadPKCS11Module /usr/src/debug/nss-3.51.0-1.fc32.x86_64/nss/lib/pk11wrap/pk11load.c:501
     #23 0x7f6fe9a419ec in SECMOD_LoadModule /usr/src/debug/nss-3.51.0-1.fc32.x86_64/nss/lib/pk11wrap/pk11pars.c:1840
     #24 0x7f6fe9a41b27 in SECMOD_LoadModule /usr/src/debug/nss-3.51.0-1.fc32.x86_64/nss/lib/pk11wrap/pk11pars.c:1876
     #25 0x7f6fe9a0dd00 in nss_Init /usr/src/debug/nss-3.51.0-1.fc32.x86_64/nss/lib/nss/nssinit.c:712
     #26 0x7f6fe9a0e3ab in NSS_NoDB_Init /usr/src/debug/nss-3.51.0-1.fc32.x86_64/nss/lib/nss/nssinit.c:950
     #27 0x55c942e2f1b2 in _nm_crypto_init libnm-core/nm-crypto-nss.c:61
     #28 0x55c942d6f2da in nm_crypto_load_and_verify_certificate libnm-core/nm-crypto.c:721
     #29 0x55c942c99681 in _cert_impl_set libnm-core/nm-setting-8021x.c:497
     #30 0x55c942c9d83b in nm_setting_802_1x_set_ca_cert libnm-core/nm-setting-8021x.c:1033
     #31 0x55c942c63513 in _test_8021x_cert_from_files libnm-core/tests/test-keyfile.c:382
     #32 0x55c942c6425a in test_8021x_cert libnm-core/tests/test-keyfile.c:436
     #33 0x7f6fe965429d in test_case_run ../glib/gtestutils.c:2633
     #34 0x7f6fe965429d in g_test_run_suite_internal ../glib/gtestutils.c:2721
2020-05-14 12:03:24 +02:00
Thomas Haller
42d45299f9 tests/sanitizer: make ASAN/LSAN/UBSAN options configurable in "tools/run-nm-test.sh"
Also add a suppressions file for LSAN.
2020-05-14 12:03:24 +02:00
Thomas Haller
0a030da6c2 gitlab-ci: add more CentOS images for tests 2020-05-14 12:03:24 +02:00
Thomas Haller
b846f9aba3 gitlab-ci: optionally install libasan,libubsan via REQUIRED_PACKAGES script 2020-05-14 12:03:24 +02:00
Thomas Haller
1473f00d74 gitlab-ci: accept failure in REQUIRED_PACKAGES script for non-existing qt-devel
On CentOS 8, many devel packages are not available. Even after

  # dnf config-manager --set-enabled PowerTools

certain devel packages are missing. Some of these (libndp-devel,
mobile-broadband-provider-info-devel, teamd-devel) we build in copr
([1]), but libpsl-devel and qt-devel are still missing.

Only install them optionally and allow failure for them not being
present.

[1] https://copr.fedorainfracloud.org/coprs/nmstate/nm-build-deps/repo/epel-8/nmstate-nm-build-deps-epel-8.repo
2020-05-14 12:03:24 +02:00
Thomas Haller
14bf28f109 tests: fix uint32 integer constants for TC_H_MAKE()
UBSan marks these:

  libnm-core/tests/test-setting.c:2146:2: runtime error: left shift of 65521 by 16 places cannot be represented in type 'int'
      #0 0x561739bed935 in test_tc_config_qdisc libnm-core/tests/test-setting.c:2146
2020-05-14 12:03:24 +02:00
Thomas Haller
446a145db5 cli: use nm_strdup_int() in "clients/cli/devices.c" 2020-05-14 12:03:24 +02:00
Thomas Haller
a1e12c01df cli: fix leak in show_device_lldp_list() for nmc_parse_lldp_capabilities() 2020-05-14 12:03:23 +02:00
Thomas Haller
589d51ca9d cli: fix leak in show_device_lldp_list() 2020-05-14 11:53:48 +02:00
Thomas Haller
18b903943d cli: fix memcpy() with %NULL pointers in nmc_get_devices_sorted()
UBSan correctly flags this:

  clients/cli/devices.c:966:2: runtime error: null pointer passed as argument 2, which is declared to never be null
2020-05-14 11:06:09 +02:00
Thomas Haller
54a64edefc libnm: don't compare invalid mac addresses as equal in nm_utils_hwaddr_matches()
By passing as length of the MAC addresses -1 for both arguments, one
could get through to compare empty strings, NULL, and addresses longer
than the maximum. Such addresses are not valid, and they should never
compare equal (not even to themselves).

This is a change in behavior of public API, but it never made sense to
claim two addresses are equal, when they are not even valid addresses.

Also, avoid undefined behavior with "NULL, -1, NULL, -1" arguments,
where we would call memcmp() with zero length and NULL arguments.
UBSan flags that too.
2020-05-14 11:06:09 +02:00
Thomas Haller
3c581cbb78 build: fix redefinition of VALGRIND define in "nm-sd-adapt-shared.h"
When configuring with sanitizers enabled, ./configure.ac sets
-DVALGRIND=1 in the CFLAGS.

This causes a compilation error later:

  $ /bin/sh ./libtool  --tag=CC   --mode=compile gcc ... -DVALGRIND=1 ... src/dhcp/nm-dhcp-nettools.c
  ...
  In file included from src/dhcp/nm-dhcp-nettools.c:16:
  ./shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h:73: error: "VALGRIND" redefined [-Werror]
   #define VALGRIND 0
2020-05-13 17:21:01 +02:00
Thomas Haller
801c895aa6 cli: cleanup internal functions in "clients/cli/connections.c"
There should be no change in behavior. Use cleanup attribute.
2020-05-13 10:31:11 +02:00
Thomas Haller
67283b4932 cli: use cleanup attribute in save_history_cmds() 2020-05-13 10:29:39 +02:00