summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* device: enforce the absence of a master during activationbg/rh1869079Beniamino Galvani2020-09-071-9/+26
| | | | | | | | If the connection doesn't specify a master, ensure that the device is released from any master in platform. https://bugzilla.redhat.com/show_bug.cgi?id=1869079 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/616
* l3cfg: merge branch 'th/l3cfg-7'Thomas Haller2020-09-0710-137/+822
|\ | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/618
| * core: accept void pointer in nm_dbus_object_export() and relatedThomas Haller2020-09-072-28/+37
| | | | | | | | | | | | | | | | | | | | NMDBusObject is an abstract type which provides the glue code for exposing a GObject on D-Bus. We almost never use that type directly, so as it was before, we always had to use a C cast to convince the compiler that this is right. Being always required to cast is not very useful, nor more typesafe. Just use a void pointer instead.
| * l3cfg: add nm_l3cfg_commit_type*() API for tracking the level for committing ↵Thomas Haller2020-09-072-4/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changes NML3Cfg manages one ifindex. In the future, we may want that multiple NMDevice and/or NMVpnConnection instances independently contribute their NML3ConfigData to the NML3Cfg instance. That means, at any time somebody may want to call nm_l3cfg_platform_commit() to apply the changes. Even ACD internally may do that, when configuration changes (e.g. an IP address passes ACD check). We thus need to know whether we are assuming, updating or reapplying the settings. Add API so users can register their "commit" preference.
| * l3cfg: add nm_l3_config_data_has_routes_with_type_local() helperThomas Haller2020-09-072-0/+60
| |
| * l3cfg: more integration of NMDevice with l3cfgThomas Haller2020-09-073-25/+338
| | | | | | | | | | Add more code that will be used later for glueing NMDevice with NML3Cfg and NML3ConfigData. The code is not yet really used.
| * l3cfg: remove changed flag from nm_l3cfg_add_config()/nm_l3cfg_remove_config()Thomas Haller2020-09-072-26/+33
| |
| * l3cfg: drop unused NM_L3_CONFIG_MERGE_FLAGS_EXTERNALThomas Haller2020-09-072-21/+0
| | | | | | | | | | | | The current approach also tracks external configuration in an NMIP[46]Config, and we need to special handle those. In the future, we only want to track what we actually want to configure. So this flag won't be used with NML3Cfg/NML3ConfigData.
| * l3cfg: add more l3cfg API that will be used nextThomas Haller2020-09-074-4/+89
| |
| * l3cfg: add nm_l3_config_data_get_blacklisted_ip4_routes() utilThomas Haller2020-09-073-29/+94
| | | | | | | | We will need to prune routes that kernel adds (and we don't want).
| * l3cfg: add nm_l3_config_data_get_domains() accessorThomas Haller2020-09-072-0/+16
| |
| * platform: add nm_platform_ip_address_get_peer_address() helperThomas Haller2020-09-071-0/+12
|/
* build: add test for valid po files (msgfmt -vc)Thomas Haller2020-09-071-0/+14
|
* po: merge branch 'th/po-fix-fr-ja-zh_CN'Thomas Haller2020-09-0767-165661/+220257
|\ | | | | | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/526 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/619
| * gitlab-ci: add test for checking po filesth/po-fix-fr-ja-zh_CNThomas Haller2020-09-041-1/+2
| |
| * po: remove invalid translations from po/{fr,ja,zh_CN}.poThomas Haller2020-09-043-10/+8
| | | | | | | | And `make -C po update-po` to regenerate the default.
| * po: make update-poThomas Haller2020-09-0466-165653/+220250
|/
* l3cfg: merge branch 'th/l3cfg-6-acd'Thomas Haller2020-09-038-108/+1979
|\ | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/612
| * l3cfg: implement IPv4 DAD/ACD (address collision detection) in NML3Cfgth/l3cfg-6-acdThomas Haller2020-09-034-108/+1886
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, NMDevice does ACD. It intercepts certain NMIP4Config instances, and tries to perform ACD on the addresses. I think this functionality should be handled by NML3Cfg instead. For one, NML3Cfg sees all configurations, and can perform ACD for all (relevant) addresses. Also, it moves logic away from NMDevice and makes the functionality available without an NMDevice. As such, it also will allow that independent "controllers" contribute NML3ConfigData instances and ACD will performed for all of them (as requested). This will be our implementation for IPv4 ACD (https://tools.ietf.org/html/rfc5227) based on nettools' n-acd library. The code is not actually tested yes, because NMDevice did not yet switch over to use NML3Cfg. Once that happens, surely issues with this patch will be found that will need fixing.
| * platform: add nm_platform_ip4_address_addr_to_hash() helperThomas Haller2020-09-032-0/+39
| | | | | | | | | | This will only have one particular use, from NNL3Cfg. However, it seems general enough to place it in "nm-platform.h".
| * shared: add nm_utils_bin2hexstr_a() macroThomas Haller2020-09-031-0/+25
| |
| * shared: add nm_g_timeout_source_new_seconds()Thomas Haller2020-09-032-0/+23
| |
| * shared: add nm_g_hash_table_contains() helperThomas Haller2020-09-031-0/+6
|/
* initrd/tests: fix memleak in test_dhcp_vendor_class_id()Thomas Haller2020-09-031-1/+3
| | | | | | | Having leaks in the tests, breaks running the test under valgrind. There must be no leaks. Fixes: c056cb9306be ('initrd: parse 'rd.net.dhcp.vendor-class' kernel cmdline arg')
* release: bump version to 1.27.2 (development)1.27.2-devThomas Haller2020-09-022-2/+2
|
* contrib: add git-hook to verify code-styleAntonio Cardace2020-09-021-0/+21
| | | | Signed-off-by: Antonio Cardace <acardace@redhat.com>
* scripts: better error message for nm-code-format.shAntonio Cardace2020-09-021-1/+1
| | | | Signed-off-by: Antonio Cardace <acardace@redhat.com>
* all: merge branch 'th/unify-nm-auto-macros'Thomas Haller2020-09-0216-140/+80
|\
| * shared: redefine "gs_*" cleanup macros to their "nm_auto*" counterpartsThomas Haller2020-09-021-87/+11
| |
| * all: replace cleanup macro "gs_free_slist" by "nm_auto_free_slist"Thomas Haller2020-09-023-15/+6
| |
| * all: replace cleanup macro "gs_unref_keyfile" by "nm_auto_unref_keyfile"Thomas Haller2020-09-0215-46/+38
| |
| * shared: add "nm_auto*" macros as future replacements for "gs_*" cleanup macrosThomas Haller2020-09-021-0/+33
|/ | | | | | | | | | | | We still use the "gs_*" macros that we originally got from libgsystem. libgsystem no longer exists, we only still use the names of these macros. Our own cleanup macros all follow the "nm_auto*" naming pattern. Eventually, we want to replace all uses of "gs_*" with cleanup macros that follow our naming scheme. Add the macros that will be used to replace the "gs_*" macros.
* scripts: add script to format codebase using clang-formatAntonio Cardace2020-09-021-0/+72
| | | | Signed-off-by: Antonio Cardace <acardace@redhat.com>
* man: expand DEBUGGING section in `man NetworkManager`Thomas Haller2020-09-021-10/+24
|
* man: update bug tracker in `man NetworkManager`Thomas Haller2020-09-021-1/+1
|
* core: log message about secret-key version and filenameThomas Haller2020-09-021-5/+14
|
* man: fix description of v2 secret key in `man NetworkManager`Thomas Haller2020-09-021-6/+6
| | | | Fixes: 0aa09da5f46d ('man: explain "/var/lib/NetworkManager/secret-key" in `man NetworkManager`')
* man: explain "/var/lib/NetworkManager/secret-key" in `man NetworkManager`Thomas Haller2020-09-023-1/+39
|
* shared: rename "gs_local_option_context" to "nm_auto_free_option_context"Thomas Haller2020-09-022-9/+4
| | | | | | | | | The "gs_*" macros originate from the (no longer existing) libgsystem library. We still have them, because so far we didn't go through the effort of renaming the API. Aside that oddity, our cleanup API is called "nm_auto*". There is no need to add new API with the old name.
* initrd: fix memory leakAntonio Cardace2020-09-012-1/+9
| | | | | Signed-off-by: Antonio Cardace <acardace@redhat.com> Fixes: 9f9609555d1c ('initrd: add configuration generator')
* shared/trivial: add code comment about the purpose of "nm-default.h" headerThomas Haller2020-09-011-0/+10
|
* libnm: fix order of includes in ↵Thomas Haller2020-09-011-3/+2
| | | | "libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.c"
* initrd: merge branch 'ac/dhcpclass-initrd'Antonio Cardace2020-09-017-52/+118
|\ | | | | | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/614 Signed-off-by: Antonio Cardace <acardace@redhat.com>
| * initrd: parse 'rd.net.dhcp.vendor-class' kernel cmdline argac/dhcpclass-initrdAntonio Cardace2020-09-012-0/+53
| | | | | | | | | | | | | | | | | | This arguments makes NM set the ipv4.dhcp-vendor-class-identifier property for all connections. https://bugzilla.redhat.com/show_bug.cgi?id=1872299 Signed-off-by: Antonio Cardace <acardace@redhat.com>
| * core: add 'dhcp-vendor-class-identifier' validation functionAntonio Cardace2020-09-015-52/+65
|/ | | | | | So that it can be reused. Signed-off-by: Antonio Cardace <acardace@redhat.com>
* po: update Ukrainian (uk) translationYuri Chornoivan2020-08-311-1109/+1015
| | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/615
* contrib: accept missing .sig file for older releases in "release.sh"Thomas Haller2020-08-311-2/+5
| | | | | On older branches, the build script does not create a GPG signature of the release tarball. Let the release script be graceful against that.
* device: fix autoactivating virtual devices after a failureBeniamino Galvani2020-08-311-0/+5
| | | | | | | | | | | | | | | | | | | When a virtual device fails, its state goes to FAIL and then DISCONNECTED. In DISCONNECTED we call schedule_activate_check() to schedule an auto-activation if needed. We also schudule the deletion of the link through delete_on_deactivate_check_and_schedule(). The auto-activation attempt fails because the link deletion unmanages the device; as a result, the device doesn't try to auto-activate again. To fix this: - don't allow the device to auto-activate if the device deletion is pending; - check again if the device can be auto-activated after its deletion. https://bugzilla.redhat.com/show_bug.cgi?id=1818697 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/613
* dhcp: workaround "maybe-uninitialized" in dhcp_event_cb()Thomas Haller2020-08-281-1/+1
| | | | | | | | | | | | | | With LTO we get a compiler warning: src/dhcp/nm-dhcp-systemd.c: In function dhcp_event_cb: src/dhcp/nm-dhcp-systemd.c:554: error: lease may be used uninitialized in this function [-Werror=maybe-uninitialized] 554 | r = sd_dhcp_lease_get_server_identifier (lease, &addr); | src/dhcp/nm-dhcp-systemd.c:528: note: lease was declared here 528 | sd_dhcp_lease *lease; | Fixes: 7f217d0345f5 ('core: honor the ipv4.dhcp-reject-servers property')
* gitlab-ci: fix workarounds for Ubuntu 16.04 in testsThomas Haller2020-08-282-3/+3
| | | | | | | The detection for Ubuntu 16.04 was broken. By now /etc/os-release contains VERSION="16.04.7 LTS (Xenial Xerus)"