summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* cli: add support for 802.1x certificate passwordslr/cert-passLubomir Rintel2017-02-091-58/+146
|
* ifcfg-rh: add support for certificate passwordsLubomir Rintel2017-02-092-23/+62
|
* core/8021x: add password properties for certificatesLubomir Rintel2017-02-092-17/+431
| | | | | | Useful for certificates that are stored on PKCS#11 tokens. We fail verification if someone tries tu specify a password for a blob or a flat file.
* ifcfg-rh: support the pkcs11 scheme for certs/keysLubomir Rintel2017-02-092-56/+60
| | | | | | | | | | The PKCS#11 URIs start with the "pkcs11:" scheme. There's a slight possiblity of a clash with file names relative to the ifcfg file, but that's probably is unlikely enough the leave us not worried. The alteratives are probably more horrible (using a different key, or using a separate key for the scheme alone) and it's already simple enough to avoid a clash by using an absolute file name.
* nm-online: fix wrong assertion failure during nm-onlineThomas Haller2017-02-071-1/+2
| | | | | | | | | | | | | | | | | | | _return() assigns the return value @retval and asserts that currently no return-value is assigned -- in order not to overwrite a once set value. That requires, that we call _return() and exit the main-loop right away, without possibility to call _return() again. However, during client_properties_changed() we easily might receive the "notify" signal multiple times, and thus call quit_if_connected() and _return() multiple times. That would lead to a wrong assertion failure. Avoid that, by disconnecting the signal handler once we reach _return(). Fixes: f7875a42b0f3a58ce152ec53642ecbb993d3073b
* platform: cleanup _log_dbg_sysctl_set_impl() and _log_dbg_sysctl_get_impl()Thomas Haller2017-02-071-23/+21
| | | | | | | | | - use gs_free attribute - move printing the logging cache warning inside the place where we actuall add a new item to the cache. It's really a minor cleanup of stuff that come to my mind reviewing the function.
* device/wifi: drop messing with wpa-supplicant's support for MAC address ↵Thomas Haller2017-02-071-82/+2
| | | | | | | | | | | | | | | randomization We no longer use wpa_supplicant for MAC address randomization. Instead, NetworkManager handles it on it's own. It is actually important that supplicant does not interfere when setting the MAC address of the device. The code was only in effect when supplicant has a PreassocMacAddr property. As this is a recent feature, the left-over code wasn't noticed until now. https://mail.gnome.org/archives/networkmanager-list/2017-February/msg00003.html Fixes: 767abfa69040c62ae1dc0989a77df8c5e0e489c1
* bond: fix crash in update_connection()Beniamino Galvani2017-02-071-1/+2
| | | | | | The value read from sysfs can be NULL. Fixes: 2324410a75dda09d4c46362d29fb84048bfe9fcd
* build: merge branch 'th/build-warn-wextra'Thomas Haller2017-02-069-86/+38
|\
| * build: reorder flags in "m4/compiler_options.m4"Thomas Haller2017-02-061-16/+16
| | | | | | | | | | | | Mostly sort alphabetically, but - keep -Wextra first - move "-Wno-*" flags to the end
| * build: enable -Wextra warningThomas Haller2017-02-061-0/+2
| |
| * build: fix -Wold-style-declaration warningsThomas Haller2017-02-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | libnm-core/nm-setting-bond.c:502:1: error: ‘static’ is not at beginning of declaration [-Werror=old-style-declaration] const static struct { ^~~~~ In file included from clients/cli/common.c:32:0: ./clients/common/nm-vpn-helpers.h:27:1: error: ‘typedef’ is not at beginning of declaration [-Werror=old-style-declaration] } typedef VpnPasswordName; ^
| * build: fix -Wignored-qualifiers warningsThomas Haller2017-02-063-3/+3
| | | | | | | | | | | | ./src/nm-config-data.h:163:1: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers] const guint nm_config_data_get_connectivity_interval (const NMConfigData *config_data); ^~~~~~
| * shared: fix -Wtype-limits warning in nm_glib_check_version() macroThomas Haller2017-02-061-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix it by converting the macro to an inline function. It's anyway nicer. $ make src/src_libNetworkManagerBase_la-main-utils.lo CC src/src_libNetworkManagerBase_la-main-utils.lo In file included from ./shared/nm-utils/nm-macros-internal.h:29:0, from ./shared/nm-default.h:178, from src/main-utils.c:22: src/main-utils.c: In function ‘nm_main_utils_setup_signals’: ./shared/nm-utils/nm-glib.h:144:36: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] && glib_micro_version >= (micro)))) ^ src/main-utils.c:82:6: note: in expansion of macro ‘nm_glib_check_version’ if (nm_glib_check_version (2, 36, 0)) { ^~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Makefile:12312: recipe for target 'src/src_libNetworkManagerBase_la-main-utils.lo' failed
| * settings: drop redundant range check from NMSettingBridgePort::verify()Thomas Haller2017-02-062-57/+4
|/ | | | | | | | | | | | priv->path_cost and priv->priority can only be set as GObject properties, which already does the same range check. Hence, the checks are never reached. This also avoids a compiler warning: libnm-core/nm-setting-bridge-port.c: In function ‘verify’: libnm-core/nm-setting-bridge-port.c:132:22: error: comparison is always false due to limited range of data type [-Werror=type-limits] if (priv->path_cost > BR_MAX_PATH_COST) { ^
* build: merge branch 'th/build-gcc7-warnings'Thomas Haller2017-02-0612-29/+38
|\
| * build: disable -Wformat-truncation warningThomas Haller2017-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning seems questionable and overly strict. For now, just disable it to allow building with gcc7. src/systemd/src/basic/time-util.c: In function ‘format_timespan’: src/systemd/src/basic/time-util.c:509:46: error: ‘%0*lu’ directive output between 1 and 2147483648 bytes may cause result to exceed ‘INT_MAX’ [-Werror=format-truncation=] "%s"USEC_FMT".%0*"PRI_USEC"%s", ^~~~ src/systemd/src/basic/time-util.c:509:60: note: format string is defined here "%s"USEC_FMT".%0*"PRI_USEC"%s", src/systemd/src/basic/time-util.c:509:46: note: directive argument in the range [0, 18446744073709551614] "%s"USEC_FMT".%0*"PRI_USEC"%s", ^~~~ https://mail.gnome.org/archives/networkmanager-list/2017-February/msg00001.html
| * build: enable -Wimplicit-fallthrough warning from gcc7Thomas Haller2017-02-061-0/+1
| |
| * all: cleanup switch fall-through comments for -Wimplicit-fallthrough warningThomas Haller2017-02-0611-23/+19
| | | | | | | | | | | | | | | | | | | | The -Wimplicit-fallthrough=3 warning is quite flexible of accepting a fall-through warning. Some comments were missing or not detected correctly. Thereby, also change all other comments to follow the exact same pattern.
| * m4/compiler_options.m4: add line breaks for compiler options to checkThomas Haller2017-02-061-6/+17
|/ | | | No change in behavior.
* systemd: merge branch systemd into masterThomas Haller2017-02-0611-36/+82
|\
| * systemd: update code from upstreamThomas Haller2017-02-0612-38/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a direct dump from systemd git on 2017-02-05, git commit 52e634271fe96ec23a22705ffb87df59a09d1618. ====== SYSTEMD_DIR=../systemd COMMIT=52e634271fe96ec23a22705ffb87df59a09d1618 ( 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"
* | systemd: fix memleak in dhcp6_option_parse_domainnameThomas Haller2017-02-061-1/+1
| | | | | | | | | | https://github.com/systemd/systemd/pull/5114 https://github.com/systemd/systemd/commit/419eaa8f8d2025bae98c23bdedb434d6dbb025b8
* | systemd: fix memleak in dhcp6_lease_set_domainsThomas Haller2017-02-061-1/+1
| | | | | | | | | | https://github.com/systemd/systemd/pull/5113 https://github.com/systemd/systemd/commit/0b75a95ace6e1d82772f6b5f1809f4839b810628
* | all: use nm_utils_strv_find_first() from shared/nm-utilsThomas Haller2017-02-0410-74/+26
| |
* | shared: add nm_utils_strv_find_first() helperThomas Haller2017-02-042-0/+52
| | | | | | | | | | Make _nm_utils_strv_find_first() accessible outside of libnm-core by copying it from "libnm-core/nm-core-internal.h" (and rename it).
* | core: kill nm_spawn_process()Lubomir Rintel2017-02-032-26/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | It's not used anymore. Which is a good thing, because if it was used we'd have to get rid of the uses. It did accept a whitespace separated string for an argument, which is never useful for us; it indicated error either on g_spawn_sync() failure or an error status code of the program spawned, but only set the error in the former case which had let to errors. The would would be a bit nicer place without it. (But not much)
* | dns-unbound: avoid using nm_spawn_process()Lubomir Rintel2017-02-031-1/+6
| | | | | | | | It doesn't improve anything and is the last user of said function.
* | dns-manager: get rid of the nm_spawn_process() useLubomir Rintel2017-02-031-9/+11
| | | | | | | | | | There's no point in making our lives more complicated by concatenating the argument into a string and then splitting it up again.
* | dns-manager: fix a NULL dereference in error handlingLubomir Rintel2017-02-031-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nm_spawn_process() only sets error if the g_spawn_sync() itself fails, not when the program ran returns a non-zero code. <debug> [148 059915.1567] dns-mgr: update-dns: updating resolv.conf <info> [148 059915.1568] dns-mgr: Removing DNS information from /usr/bin/resolvconf No resolv.conf for interface NetworkManager Thread 1 "NetworkManager" received signal SIGSEGV, Segmentation fault. 0x0000555555 7c325 in nm_dns_manager_end_updates 1532 _LOGW ("could not commit DNS changes: %s", error->message); (gdb) bt full #0 0x0000555555 7c325 in nm_dns_manager_end_updates error = 0x0
* | nm-online: fix countdown to not show 0 seconds until finishedMickaël Thomas2017-02-031-1/+1
| | | | | | | | | | | | | | | | | | When using nm-online -t N, the countdown shows "0s" during the last second. The countdown value should be rounded up so that "0s" is only shown when the timeout is actually elapsed. https://bugzilla.gnome.org/show_bug.cgi?id=778093
* | libnm-core: return NULL from _nm_utils_slist_to_strv for empty listsBeniamino Galvani2017-02-021-0/+2
| | | | | | | | | | | | | | | | | | The function is used, among others, in the get_property() of many objects to return a boxed strv from a list. The default value for a boxed strv property is NULL, but _nm_utils_slist_to_strv() returns a pointer to an array with zero elements when the list is empty. Change the function to return NULL if the input list is empty.
* | nm-online: refactor and fix nm-onlineThomas Haller2017-02-021-71/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moving nm-online to async init introduced various issues: - with a timeout of zero, nm-online would terminate with failure before initializing the NMClient instance. - add a timeout for safeguarding the async creation of NMClient - fix adding trailing newline for the progress bar. While at it, refactor: - use defines for the exit codes - don't use exit(), but instead always properly quit the mainloop and cleanup all resources. - in non-quiet mode, print the result [online] or [offline] at the end. Fixes: c5f17a97ea8e4cee85c93ee9cfa04057f83e13ab https://bugzilla.gnome.org/show_bug.cgi?id=777914
* | nm-online: fix division-by-zero with zero timeoutThomas Haller2017-01-311-1/+1
| | | | | | | | | | | | | | | | | | $ nm-online -t 0 Floating point exception (core dumped) Fixes: c5f17a97ea8e4cee85c93ee9cfa04057f83e13ab https://bugzilla.gnome.org/show_bug.cgi?id=777914
* | cli: add missing NULL-checkLubomir Rintel2017-01-291-2/+3
| | | | | | | | | | | | Only the connection down operation is cancellable, the other actions are not. Fixes: 73b560c215806ab72b1473751ba729a3b5596d69
* | contrib/rpm: don't recreate files that make install installsLubomir Rintel2017-01-291-19/+0
| |
* | contrib/rpm: don't own the legacy VPN directoryLubomir Rintel2017-01-291-4/+0
| | | | | | | | The plugins should own it instead.
* | build: install all necessary directoriesLubomir Rintel2017-01-291-1/+7
| |
* | build: don't install /run filesLubomir Rintel2017-01-291-1/+0
| | | | | | | | They're volatile and created during runtime.
* | build: add missing GLIB_CFLAGS for compiling adsl device pluginThomas Haller2017-01-291-0/+1
| |
* | libnm-core: clear wifi.mac-address-randomization when unsetting ↵Thomas Haller2017-01-281-0/+10
| | | | | | | | | | | | | | | | | | | | | | wifi.cloned-mac-address When a client clears wifi.cloned-mac-address, he clearly also want to clear the deprected wifi.mac-address-randomization property. Do that automatically in libnm. https://mail.gnome.org/archives/networkmanager-list/2017-January/msg00060.html
* | ifcfg-rh: fix interpreting missing MAC_ADDRESS_RANDOMIZATION as permanent ↵Thomas Haller2017-01-283-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | address With commit 4f6c91d6962cc031f07e52bb31adde560ad70fac, we aimed to enable mac-address-randomization by default for Wi-Fi. That however is not possible by default because it breaks various scenarios. Also, later wifi.mac-address-randomization was deprecated in favor of wifi.cloned-mac-address setting. Both wifi.mac-address-randomization and wifi.cloned-mac-address support global default values, so it is wrong to read a missing MAC_ADDRESS_RANDOMIZATION setting as "NEVER" -- which due to normalization also results in cloned-mac-address=permanent. See also commit 46d53e11012c047e09d04f663c1c36e6c47dc298 which does something similar for keyfile. This bug also prevents a user from clearing the cloned-mac-address: $ nmcli connection show "$CONN" ... 802-11-wireless.cloned-mac-address: permanent 802-11-wireless.mac-address-randomization: never ... $ nmcli connection modify "$CONN: wifi.cloned-mac-address '' # ^ takes no effect As workaround, you also need to clear mac-address-randomization: $ nmcli connection modify "$CONN: wifi.cloned-mac-address '' \ wifi.mac-address-randomization default https://mail.gnome.org/archives/networkmanager-list/2017-January/msg00060.html
* | nm-online: return from quit_if_connected after setting retvalJames McCoy2017-01-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c5f17a97ea8e4cee85c93ee9cfa04057f83e13ab changed nm-online to determine the status asynchronously, however this introduced a regression with "nm-online -x -q" when there is connectivity. if ( state == NM_STATE_CONNECTED_LOCAL || state == NM_STATE_CONNECTED_SITE || state == NM_STATE_CONNECTED_GLOBAL) { data->retval = 0; g_main_loop_quit (data->loop); } } if (data->exit_no_nm && (state != NM_STATE_CONNECTING)) { data->retval = 1; g_main_loop_quit (data->loop); } After setting data->retval = 0 in the "state is connected" branch, the function falls through to the "exit_no_nm and !connecting" branch, overwriting data->retval. This causes "nm-online -x -q" to incorrectly report an offline state. Adding an explicit "return;" after any state where data->retval is set ensures that the value isn't overwritten before main() uses it. Fixes: c5f17a97ea8e4cee85c93ee9cfa04057f83e13ab https://mail.gnome.org/archives/networkmanager-list/2017-January/msg00058.html
* | cli: avoid use-after free on connection deletionLubomir Rintel2017-01-271-1/+7
| | | | | | | | | | | | | | | | | | If the connection spontaneously disappears (perhaps along with the whole daemon on crash) while we're deleting it, then the removal callback would free up the context structure the delete operation is using. Let's cancel the in-flight delete operations so that they won't touch the structure after it's gone.
* | manager: avoid an extra path to ac translationLubomir Rintel2017-01-273-13/+9
| | | | | | | | | | The ac might already be unexported which would lead to a crash. In any case, it's just unnecessary.
* | manager: guard the flag setting by the actual device presenceLubomir Rintel2017-01-271-2/+4
| | | | | | | | The parent might be an active connection w/o the device being determined.
* | release: bump version to 1.7.1-dev after 1.6.0 release1.7.1-devThomas Haller2017-01-258-17/+124
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | After 1.6.0 is released, merge it back into master so that 1.6.0 is part of the history of master. That means, $ git log --first-parent master will also traverse 1.6.0 and 1.6-rc*. Also bump the micro version to 1.7.1-dev to indicate that this is after 1.6.0 is out.
| * | po: update Polish (pl) translation (bgo #777402)Piotr Drąg2017-01-251-760/+764
| | | | | | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=777402
| * | core: refactor parsing in match_device_s390_subchannels_parse()Thomas Haller2017-01-251-35/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: - match_device_s390_subchannels_parse() should accept un-initialized arguments a,b,c, as they are striclty output arguments (without transfering ownership). - the output arguments should be set if (and only if) the function succeeds. That is, move assigning the output arguments to the end. - increase the BUFSIZE. It's unclear why choosing 10. Probably that was already sufficient as a subchannel looks like "0.0.f5f0,0.0.f5f1,0.0.f5f2". Still, increase it to be ample. If we want to restrict the parsing based on the lenght of the input, that should be done explicitly (but that seems not desirable). - use _nm_utils_ascii_str_to_int64() which checks that the range of the values fits in guint32. It seems wrong that match_device_s390_subchannels_eval() only compares the first of up to three subchannels. But leave it as is for now.
| * | core/tests: add test matching s390-subchannels device specThomas Haller2017-01-251-43/+63
| | |