summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* wifi: only attempt to set the scan MAC address when it actually changesLubomir Rintel2017-04-111-13/+10
| | | | | | | | | | The address change involves setting the link down which causes the supplicant interface to change state and in turn another scan attempt. This could lead to a loop in case of broken drivers that are not able to change the MAC address iff the MAC address is attempted at each scan request. https://bugzilla.redhat.com/show_bug.cgi?id=1382741 (cherry picked from commit 023417292339e34dd07e5b902576c1472ff0c3dd)
* pacrunner: remove failed and pending items from configuration listBeniamino Galvani2017-04-111-12/+13
| | | | | | | | | If a configuration does not have a path it is because we are still sending it to pacrunner or because we failed to do so. In both cases, we have to remove the configuration from the list. Fixes: 3ad89223d0ea9a772b650842d15583d92cf9a904 (cherry picked from commit fad2cf072143762d9f51c9d79c05f5ec995b099f)
* device: fix removal of pacrunner configurationsBeniamino Galvani2017-04-112-4/+17
| | | | | | | | | Don't try to remove the configuration if we haven't added it in the first place, for example when the connection gets deactivated before it completes or for slave connections without IP configuration. Fixes: 3ad89223d0ea9a772b650842d15583d92cf9a904 (cherry picked from commit 3cada7722d41551ff24f3b03e991eb6cfa2d953d)
* pacrunner: specify domains only for VPNsBeniamino Galvani2017-04-112-18/+21
| | | | | | | | If a VPN provides a proxy, we want to restrict the usage of that proxy to URLs in the VPN domain. For all other connections, the proxy should be used for all domains. (cherry picked from commit b1395522558cde434868a47b43ae67b73a455db7)
* pacrunner: don't log pacrunner-manager addressBeniamino Galvani2017-04-111-3/+3
| | | | | | It's a singleton, the address is not meaningful. (cherry picked from commit 752e906aa46c3d3317947f093fa66b00144e1ff6)
* pacrunner: rework processing of configuration entriesBeniamino Galvani2017-04-114-86/+156
| | | | | | | | | | | | | | | | | | | | | Fix some issues in nm-pacrunner-manager.c: - when adding a configuration through nm_pacrunner_manager_send(), we kept an association between the interface name and the pacrunner configuration object path, so that the configuration for that interface could be removed later. Unfortunately not all configurations have an interface associated, so we need a more generic way to identify configurations. Introduce a new @tag argument that serves as key to match configurations - the interface name of the last pushed configuration was stored in the manager private config and reused later; this could cause issues when there are multiple outstanding D-Bus calls. The interface is not needed anymore after the previous point. - remove() didn't actually remove the configuration from the list (cherry picked from commit 3ad89223d0ea9a772b650842d15583d92cf9a904)
* pacrunner: remove @domains from private structBeniamino Galvani2017-04-111-26/+20
| | | | | | | The domain list is not a property of the global pacrunner instance and can be stored in a local variable. (cherry picked from commit 10f68543690b7b7e67304763ca71ce7534af1391)
* config: fix assertion in nm_config_device_state_write()Beniamino Galvani2017-04-081-1/+1
| | | | | Fixes: 142ebb10376ec592593f15b0359f38be89c97620 (cherry picked from commit ad6930f0525edbad6f25bad0ddf377f4b496313f)
* device-bond: fix possible uninitialized variableDan Williams2017-04-071-1/+1
| | | | | | | | | | | | | | | | | | src/devices/nm-device-bond.c: In function 'check_changed_options': src/devices/nm-device-bond.c:529:4: error: 'name' may be used uninitialized in this function [-Werror=maybe-uninitialized] g_set_error (error, ^ src/devices/nm-device-bond.c:505:14: note: 'name' was declared here const char *name, *value_a, *value_b; ^ src/devices/nm-device-bond.c:528:8: error: 'value_a' may be used uninitialized in this function [-Werror=maybe-uninitialized] if (!nm_streq0 (value_a, value_b)) { ^ src/devices/nm-device-bond.c:505:21: note: 'value_a' was declared here const char *name, *value_a, *value_b; ^ (cherry picked from commit f66de1dd0f44178fa6d0a3940a61e323559dcce6)
* auth-utils: fix possibly uninitialized variablesDan Williams2017-04-071-1/+1
| | | | | | | | | | | | | | | | | src/nm-auth-utils.c:343:6: error: 'is_authorized' may be used uninitialized in this function [-Werror=maybe-uninitialized] if (is_authorized) { ^ src/nm-auth-utils.c:320:11: note: 'is_authorized' was declared here gboolean is_authorized, is_challenge; ^ src/nm-auth-utils.c:346:13: error: 'is_challenge' may be used uninitialized in this function [-Werror=maybe-uninitialized] } else if (is_challenge) { ^ src/nm-auth-utils.c:320:26: note: 'is_challenge' was declared here gboolean is_authorized, is_challenge; ^ (cherry picked from commit 24ab2a4945f8daf53e40bbfb03e647df31337786)
* default-route-manager: fix possibly uninitialized variableDan Williams2017-04-071-1/+1
| | | | | | | | | | | | src/nm-default-route-manager.c: In function '_ipx_update_default_route': src/nm-default-route-manager.c:769:23: error: 'is_assumed' may be used uninitialized in this function [-Werror=maybe-uninitialized] if (!default_route && !is_assumed) { ^ src/nm-default-route-manager.c:763:13: note: 'is_assumed' was declared here gboolean is_assumed; ^ (cherry picked from commit 857f26dd19117e7872557edc30bee7369e3ae87a)
* core: only persist explicit managed state in device's state fileThomas Haller2017-04-073-11/+27
| | | | | | | | | | | For example, when starting without Wi-Fi plugin, a generic device is created. On stop, we should not store the unmanaged state on the state file, otherwise after restart the device is unmanaged. Only store explicit user decisions. https://bugzilla.redhat.com/show_bug.cgi?id=1440171 (cherry picked from commit 142ebb10376ec592593f15b0359f38be89c97620)
* linux-platform: fix link_get_unmanaged() return valueLubomir Rintel2017-04-061-1/+4
| | | | | | | | The function is supposed to set *unamanged to NM_UNMANAGED's and indicate whether NM_UNMANAGED was present in the return value. Fixes: e32839838e5ea74ba490cf912e20939afa0e4f40 (cherry picked from commit b7b0227935eff74a5d09b1c3046a0e79162f422f)
* systemd: merge branch systemd into masterThomas Haller2017-04-046-4/+11
|\ | | | | | | (cherry picked from commit 95e7914e6754eaba9f231899bd7edb0e2b824778)
| * systemd: update code from upstream (2017-04-04)Thomas Haller2017-04-046-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a direct dump from systemd git on 2017-04-04, git commit 91dacd4451309e1f4b06fb2628447ddc8425d972. ====== SYSTEMD_DIR=../systemd COMMIT=91dacd4451309e1f4b06fb2628447ddc8425d972 ( cd "$SYSTEMD_DIR" git checkout "$COMMIT" git reset --hard git clean -fdx ) git ls-files :/src/systemd/src/ | xargs -d '\n' rm -f nm_copy_sd() { mkdir -p "./src/systemd/$(dirname "$1")" cp "$SYSTEMD_DIR/$1" "./src/systemd/$1" } nm_copy_sd "src/basic/alloc-util.c" nm_copy_sd "src/basic/alloc-util.h" nm_copy_sd "src/basic/async.h" nm_copy_sd "src/basic/escape.c" nm_copy_sd "src/basic/escape.h" nm_copy_sd "src/basic/ether-addr-util.c" nm_copy_sd "src/basic/ether-addr-util.h" nm_copy_sd "src/basic/extract-word.c" nm_copy_sd "src/basic/extract-word.h" nm_copy_sd "src/basic/fileio.c" nm_copy_sd "src/basic/fileio.h" nm_copy_sd "src/basic/fd-util.c" nm_copy_sd "src/basic/fd-util.h" nm_copy_sd "src/basic/fs-util.c" nm_copy_sd "src/basic/fs-util.h" nm_copy_sd "src/basic/hash-funcs.c" nm_copy_sd "src/basic/hash-funcs.h" nm_copy_sd "src/basic/hashmap.c" nm_copy_sd "src/basic/hashmap.h" nm_copy_sd "src/basic/hexdecoct.c" nm_copy_sd "src/basic/hexdecoct.h" nm_copy_sd "src/basic/hostname-util.c" nm_copy_sd "src/basic/hostname-util.h" nm_copy_sd "src/basic/in-addr-util.c" nm_copy_sd "src/basic/in-addr-util.h" nm_copy_sd "src/basic/io-util.c" nm_copy_sd "src/basic/io-util.h" nm_copy_sd "src/basic/list.h" nm_copy_sd "src/basic/log.h" nm_copy_sd "src/basic/macro.h" nm_copy_sd "src/basic/mempool.h" nm_copy_sd "src/basic/mempool.c" nm_copy_sd "src/basic/parse-util.c" nm_copy_sd "src/basic/parse-util.h" nm_copy_sd "src/basic/path-util.c" nm_copy_sd "src/basic/path-util.h" nm_copy_sd "src/basic/prioq.h" nm_copy_sd "src/basic/prioq.c" nm_copy_sd "src/basic/random-util.c" nm_copy_sd "src/basic/random-util.h" nm_copy_sd "src/basic/refcnt.h" nm_copy_sd "src/basic/set.h" nm_copy_sd "src/basic/signal-util.h" nm_copy_sd "src/basic/siphash24.c" nm_copy_sd "src/basic/siphash24.h" nm_copy_sd "src/basic/socket-util.c" nm_copy_sd "src/basic/socket-util.h" nm_copy_sd "src/basic/sparse-endian.h" nm_copy_sd "src/basic/stdio-util.h" nm_copy_sd "src/basic/string-table.c" nm_copy_sd "src/basic/string-table.h" nm_copy_sd "src/basic/string-util.c" nm_copy_sd "src/basic/string-util.h" nm_copy_sd "src/basic/strv.c" nm_copy_sd "src/basic/strv.h" nm_copy_sd "src/basic/time-util.c" nm_copy_sd "src/basic/time-util.h" nm_copy_sd "src/basic/umask-util.h" nm_copy_sd "src/basic/unaligned.h" nm_copy_sd "src/basic/utf8.c" nm_copy_sd "src/basic/utf8.h" nm_copy_sd "src/basic/util.c" nm_copy_sd "src/basic/util.h" nm_copy_sd "src/libsystemd-network/arp-util.c" nm_copy_sd "src/libsystemd-network/arp-util.h" nm_copy_sd "src/libsystemd-network/dhcp6-internal.h" nm_copy_sd "src/libsystemd-network/dhcp6-lease-internal.h" nm_copy_sd "src/libsystemd-network/dhcp6-network.c" nm_copy_sd "src/libsystemd-network/dhcp6-option.c" nm_copy_sd "src/libsystemd-network/dhcp6-protocol.h" nm_copy_sd "src/libsystemd-network/dhcp-identifier.c" nm_copy_sd "src/libsystemd-network/dhcp-identifier.h" nm_copy_sd "src/libsystemd-network/dhcp-internal.h" nm_copy_sd "src/libsystemd-network/dhcp-lease-internal.h" nm_copy_sd "src/libsystemd-network/dhcp-network.c" nm_copy_sd "src/libsystemd-network/dhcp-option.c" nm_copy_sd "src/libsystemd-network/dhcp-packet.c" nm_copy_sd "src/libsystemd-network/dhcp-protocol.h" nm_copy_sd "src/libsystemd-network/lldp-internal.h" nm_copy_sd "src/libsystemd-network/lldp-neighbor.c" nm_copy_sd "src/libsystemd-network/lldp-neighbor.h" nm_copy_sd "src/libsystemd-network/lldp-network.c" nm_copy_sd "src/libsystemd-network/lldp-network.h" nm_copy_sd "src/libsystemd-network/network-internal.c" nm_copy_sd "src/libsystemd-network/network-internal.h" nm_copy_sd "src/libsystemd-network/sd-dhcp6-client.c" nm_copy_sd "src/libsystemd-network/sd-dhcp6-lease.c" nm_copy_sd "src/libsystemd-network/sd-dhcp-client.c" nm_copy_sd "src/libsystemd-network/sd-dhcp-lease.c" nm_copy_sd "src/libsystemd-network/sd-ipv4ll.c" nm_copy_sd "src/libsystemd-network/sd-ipv4acd.c" nm_copy_sd "src/libsystemd-network/sd-lldp.c" nm_copy_sd "src/libsystemd/sd-event/sd-event.c" nm_copy_sd "src/libsystemd/sd-id128/id128-util.c" nm_copy_sd "src/libsystemd/sd-id128/id128-util.h" nm_copy_sd "src/libsystemd/sd-id128/sd-id128.c" nm_copy_sd "src/shared/dns-domain.c" nm_copy_sd "src/shared/dns-domain.h" nm_copy_sd "src/systemd/_sd-common.h" nm_copy_sd "src/systemd/sd-dhcp6-client.h" nm_copy_sd "src/systemd/sd-dhcp6-lease.h" nm_copy_sd "src/systemd/sd-dhcp-client.h" nm_copy_sd "src/systemd/sd-dhcp-lease.h" nm_copy_sd "src/systemd/sd-event.h" nm_copy_sd "src/systemd/sd-ndisc.h" nm_copy_sd "src/systemd/sd-id128.h" nm_copy_sd "src/systemd/sd-ipv4acd.h" nm_copy_sd "src/systemd/sd-ipv4ll.h" nm_copy_sd "src/systemd/sd-lldp.h"
* | device: emit IP_CONFIG_CHANGED signal when default route changesBeniamino Galvani2017-04-011-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now update the default route metric based on the result of the connectivity check. When we update the metric and there is no other changes to the IP configuration, NMPolicy is not notified about it and can't update the best device until an actual change in IP config happens. This results in a wrong best device set in NMPolicy. NMDevice has NM_DEVICE_IP[4,6]_CONFIG_CHANGED signals that are used exclusively by NMPolicy to detect when there is a change in configuration that requires an update of global DNS and routing information. Emit those signals also when the default route changes. (cherry picked from commit 3fe144f9341b714faa8846dd31ed70d63745efc9)
* | default-route-manager: return whether the default route changedBeniamino Galvani2017-04-012-26/+29
| | | | | | | | (cherry picked from commit 74f7eff11b7b1eca92eae3b7076014743b273d2d)
* | device: update the address type in nm_device_hw_addr_set_cloned()Beniamino Galvani2017-03-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | Commit 029a0a21ea1e ("device: split out cloned MAC decision from nm_device_hw_addr_set_cloned()") accidentally removed the assignment of the new device @hw_addr_type, which then was left to HW_ADDR_TYPE_UNSET. As a consequence, we never restored the initial MAC address when the connection was deactivated. Fix this. Fixes: 029a0a21ea1ebf74a10253845396f06b0194853a (cherry picked from commit 166988264f114344759e6faa08e3cadce87c62a6)
* | device: don't update disconnected devices routes after connectivity checkBeniamino Galvani2017-03-291-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the device is not activated it does not make sense to try to update its default route metric based on connectivity status. Fixes the following: nm_ip4_config_commit: assertion 'ifindex > 0' failed #0 raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37 #1 g_logv (breakpoint=1) at gmessages.c:324 #2 g_logv (log_domain=<> "NetworkManager", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at gmessages.c:1081 #3 g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at gmessages.c:1119 #4 g_return_if_fail_warning (log_domain=<optimized out>, pretty_function=<optimized out>, expression=<optimized out>) at gmessages.c:1128 #5 nm_ip4_config_commit (config=<> [NMIP4Config], ifindex=<optimized out>, routes_full_sync=<optimized out>, default_route_metric=-1) at src/nm-ip4-config.c:339 #6 nm_device_set_ip4_config (self=<> [NMDeviceTun], new_config=<> [NMIP4Config], default_route_metric=450, commit=1, routes_full_sync=<optimized out>) at src/devices/nm-device.c:9635 #7 ip4_config_merge_and_apply (self=<> [NMDeviceTun], config=0x0, commit=1) at src/devices/nm-device.c:5541 #8 update_connectivity_state (self=<> [NMDeviceTun], state=NM_CONNECTIVITY_NONE) at src/devices/nm-device.c:1743 #9 concheck_periodic_update (self=<> [NMDeviceTun]) at src/devices/nm-device.c:1872 #10 nm_device_set_ip4_config (self=<> [NMDeviceTun], new_config=0x0, default_route_metric=0, commit=1, routes_full_sync=1) at src/devices/nm-device.c:9669 #11 _cleanup_generic_post (self=<> [NMDeviceTun], cleanup_type=CLEANUP_TYPE_KEEP) at src/devices/nm-device.c:11863 #12 nm_device_cleanup (self=<> [NMDeviceTun], reason=NM_DEVICE_STATE_REASON_NOW_UNMANAGED, cleanup_type=<optimized out>) at src/devices/nm-device.c:12006 #13 _set_state_full (self=<> [NMDeviceTun], state=<optimized out>, reason=<optimized out>, quitting=<optimized out>) at src/devices/nm-device.c:12376 #14 nm_device_unrealize (self=<> [NMDeviceTun], remove_resources=<optimized out>, error=<>) at src/devices/nm-device.c:3183 #15 _platform_link_cb_idle (data=<>) at src/nm-manager.c:2359 #16 g_idle_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at gmain.c:5439 #17 g_main_context_dispatch (context=<>) at gmain.c:3152 #18 g_main_context_dispatch (context=<>) at gmain.c:3767 #19 g_main_context_iterate (context=<>, block=1, dispatch=1, self=<optimized out>) a Fixes: 6b7e9f9b225e81d365fd95901a88a7bc59c1eb39 https://bugzilla.redhat.com/show_bug.cgi?id=1436978 (cherry picked from commit e73c15eec98a134de519dfaae269c9e2b57c2fc9)
* | ifcfg-rh: also check BONDING_OPTS to determine the connection typeBeniamino Galvani2017-03-293-0/+40
| | | | | | | | | | | | | | | | | | Connections with "TYPE=Ethernet" and "BONDING_OPTS=..." are regarded by initscripts as bond masters. To maintain the best compatibility, do the same. https://bugzilla.redhat.com/show_bug.cgi?id=1434555 (cherry picked from commit e044071825f2b166a2a7dc16bb2d62b6c68d867a)
* | device: penalize default route metrics for connectivity failureslr/device-connLubomir Rintel2017-03-282-30/+65
| | | | | | | | | | | | This makes it possible to retain Internet connectivity when multiple devices have a default route, but one with the link type of a higher priority can not reach the Internet.
* | core: make connectivity checking per-deviceLubomir Rintel2017-03-287-421/+399
| | | | | | | | | | | | | | | | | | | | | | | | | | This moves tracking of connectivity to NMDevice and makes the NMManager negotiate the best of known connectivity states of devices. The NMConnectivity singleton handles its own configuration and scheduling of the permission checks, but otherwise greatly simplifies it. This will be useful to determine correct metrics for multiple default routes depending on actual internet connectivity. The per-device connection checks is not yet exposed on the D-Bus, since they probably should be per-address-family as well.
* | tests/general: allow error margin on comparing floatsLubomir Rintel2017-03-282-2/+2
| | | | | | | | Fixes test on Fedora/i686.
* | tests/lldp: skip test if there's no Tun deviceLubomir Rintel2017-03-281-2/+12
| |
* | Remove assertion for empty DHCP optionsAlfonso Sánchez-Beato2017-03-281-1/+0
| | | | | | | | | | | | | | | | | | | | It turns out that some routers return responses to DHCP6 Information-request messages that do not contain any of the options that we insert in the "options" table. When that happened and the info-only flag for DHCP6 was set, the assertion was triggered and NetworkManager crashed. We remove the assertion as having empty options is a possibility and is harmless anyway. This happened while using the internal dhclient.
* | manager: sort slaves to be autoconnected by device nameBeniamino Galvani2017-03-271-0/+20
| | | | | | | | | | Autoconnect slaves based on device name order instead of activation timestamp.
* | manager: rework find_slaves() to return the matching deviceBeniamino Galvani2017-03-271-37/+61
| | | | | | | | | | | | | | Perform the lookup for a matching device earlier, so that in autoconnect_slaves() we already know which device a connection is being activated on. This will be needed to sort the returned connections by interface name.
* | manager: change nm_manager_get_best_device_for_connection() signatureBeniamino Galvani2017-03-271-3/+8
| | | | | | | | | | Add a @unavailable_devices argument that specifies an hash table of devices to be excluded from the search.
* | platform: sort links by name instead of ifindexBeniamino Galvani2017-03-271-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should try to guarantee a stable activation order of connections across reboots; this is required, for example, for bonds because they get assigned the MAC address of the first device enslaved, and thus changing the activation order of slaves means also changing the MAC address of the bond. Since we activate connections in the order links are discovered, having a stable sorting of links returned by platform is enough. The ifindex of interfaces can change between reboots as it depends on the order in which kernel discover interfaces. Provided that the system uses a mechanism to enforce persistent interface naming (as udev rules or systemd-udevd predictable names), and that NM starts after all interfaces have been announced by udev, using the interface name instead of ifindex will guarantee a consistent order.
* | manager: check that slaves connection have a compatible deviceBeniamino Galvani2017-03-271-1/+16
| | | | | | | | | | | | | | | | When slave connections are autoactivated as dependency to master we don't check if a compatible device is available before trying to activate them, leading to the following failed assertion: nm_act_request_new: assertion 'NM_IS_DEVICE (device)' failed
* | policy: add some verbose logging for tracking hostname managementFrancesco Giudici2017-03-241-18/+24
| |
* | policy: allow reset of dhcp hostname in "dhcp" hostname-mode config.Francesco Giudici2017-03-241-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | When dhcp hostname-mode is selected, NetworkManager will just update the hostname with information available from DHCP (if any). So, when a connection providing a DHCP host-name option is brought up we update the transient hostname. When it is later teared down, this will trigger NetworkManager to update the hostname: this time no DHCP host-name option will be found and so the hostname will not be changed, keeping the obsoleted one from the disappeared DHCP option. In order to fix this we have to keep track if the last hostname set was retrieved from the DHCP host-name option: in this case NetworkManager will be able to reset it by applying back the previous hostname.
* | policy: add support to configurable hostname modeFrancesco Giudici2017-03-243-0/+38
| |
* | nm-config: fix comment typoFrancesco Giudici2017-03-241-1/+1
| |
* | policy: skip dns and route updates on ip6 config change signal if the device ↵Francesco Giudici2017-03-241-5/+7
| | | | | | | | | | | | is not active This pairs with commit 30a1e17cc032676cdfb04e2abcfab9db0d0cf085.
* | policy: detect if the hostname was changed outside NetworkManagerFrancesco Giudici2017-03-241-15/+74
| | | | | | | | | | | | | | When updating the hostname we can now detect if someone else changed the hostname: if so, search for hostname candidates in the dhcp configuration but avoid to fallback to the hostname saved when NM started or querying dns for a reverse lookup of the current IP.
* | policy: remove redundant check in _set_hostnameFrancesco Giudici2017-03-241-13/+4
| | | | | | | | | | This will allow also to remove the hostname_changed var from NMPolicyPrivate struct.
* | policy: try to retrieve hostname from dbus firstFrancesco Giudici2017-03-243-18/+78
| | | | | | | | | | | | | | As we try to set the hostname through dbus, we should also try to retrieve current hostname value from dbus first: otherwise we may end retrieving the "old" hostname via gethostname while the dbus hostnamed updated is pending.
* | device: deal with non-existing IP settings in get_ip_config_may_fail()Beniamino Galvani2017-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the IP setting does not exist, consider the IP method as may-fail=yes. This simplifies the decision path in check_ip_state(), where the value of may-fail is used to decide whether we must wait for the IP method to complete. If there is no IP setting (i.e. the device is a slave), we don't have to wait for it to be applied. Fixes the following: nm_setting_ip_config_get_may_fail: assertion 'NM_IS_SETTING_IP_CONFIG (setting)' failed Process terminating with default action of signal 5 (SIGTRAP): dumping core at 0x6C95643: g_logv (gmessages.c:1086) by 0x6C957BE: g_log (gmessages.c:1119) by 0x193CB3: nm_setting_ip_config_get_may_fail (nm-setting-ip-config.c:2336) by 0x2431D0: check_ip_state (nm-device.c:4643) by 0x24770B: nm_device_activate_stage3_ip6_start (nm-device.c:7594) by 0x247EC7: nm_device_master_enslave_slave (nm-device.c:1769) by 0x8659DCB: ffi_call_unix64 (unix64.S:76) by 0x86596F4: ffi_call (ffi64.c:522) by 0x6801147: g_cclosure_marshal_generic (gclosure.c:1487) by 0x6800907: g_closure_invoke (gclosure.c:801) by 0x6812A1C: signal_emit_unlocked_R (gsignal.c:3627) by 0x681AAB0: g_signal_emit_valist (gsignal.c:3383) by 0x681AD9E: g_signal_emit (gsignal.c:3439) by 0x241F04: _set_state_full (nm-device.c:12272) by 0x248E86: activate_stage3_ip_config_start (nm-device.c:7626) by 0x227D83: activation_source_handle_cb (nm-device.c:4204) by 0x227E3D: activation_source_handle_cb4 (nm-device.c:4141) by 0x6C8ED79: g_main_dispatch (gmain.c:3152) by 0x6C8ED79: g_main_context_dispatch (gmain.c:3767) by 0x6C8F0B7: g_main_context_iterate.isra.24 (gmain.c:3838) by 0x6C8F389: g_main_loop_run (gmain.c:4032) by 0x139A80: main (main.c:425)
* | iface-helper: log the device contextlr/log-hints-1Lubomir Rintel2017-03-241-1/+1
| |
* | keyfile: log the connection contextLubomir Rintel2017-03-241-1/+3
| |
* | vpn/vpn-connection: log the connection contextLubomir Rintel2017-03-241-6/+6
| |
* | settings-connection: log the connection contextLubomir Rintel2017-03-241-3/+2
| |
* | active-connection: log the connection contextLubomir Rintel2017-03-241-1/+5
| |
* | wwan/modem-broadband: log the connection contextLubomir Rintel2017-03-241-1/+4
| |
* | supplicant: log the device contextLubomir Rintel2017-03-241-7/+3
| |
* | ndisc: log the device contextLubomir Rintel2017-03-241-7/+5
| |
* | dhcp: log the device contextLubomir Rintel2017-03-241-2/+2
| |
* | devices/lldp: log the device contextLubomir Rintel2017-03-241-1/+3
| |
* | devices/arping-manager: log the device contextLubomir Rintel2017-03-243-6/+7
| |