summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* all: require glib 2.40lr/glib-2-40Lubomir Rintel2018-01-1840-563/+26
| | | | | | RHEL 7.1 and Ubuntu 14.04 LTS both have this. https://bugzilla.gnome.org/show_bug.cgi?id=792323
* all: require jansson 2.5Lubomir Rintel2018-01-183-32/+2
| | | | | | It was released Sep 19 2013 and Ubuntu 14.04 LTS (trusty) ships it. https://bugzilla.gnome.org/show_bug.cgi?id=792323
* libnm: fix empty statements that were supposed to return NULLPavel Šimerda2018-01-171-3/+3
| | | | Discovered thanks to `-Wunused-value` when building on openSUSE Leap 42.3.
* libnm: cast guint32 argument to guint in variadic g_object_set()Thomas Haller2018-01-171-1/+1
| | | | | | | yes, this is not an issue in practice. Variadic arguments are always propagated to at least int/unsigned type. And kernel and glib both require sizeof(guint32) <= sizeof(guint). Hence, this was safe on any supported architecture. Still, let's be explicit about the types.
* wifi: merge branch 'wifi-fils'Thomas Haller2018-01-1618-28/+291
|\ | | | | | | | | | | https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00073.html https://mail.gnome.org/archives/networkmanager-list/2018-January/msg00065.html https://mail.gnome.org/archives/networkmanager-list/2018-January/msg00083.html
| * supplicant: enable FILS only when wpa_supplicant supports itMasashi Honma2018-01-164-4/+66
| | | | | | | | Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
| * cli: add support for FILSMasashi Honma2018-01-161-0/+8
| | | | | | | | Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
| * ifcfg-rh/tests: add Wi-Fi FILS testMasashi Honma2018-01-161-1/+3
| | | | | | | | Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
| * supplicant/tests: add FILS testMasashi Honma2018-01-161-5/+48
| | | | | | | | Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
| * wifi: add support for FILSMasashi Honma2018-01-1613-2/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The FILS(Fast Initial Link Setup) is a specification defined by IEEE 802.11ai to speed up roaming. This patch adds support of it. I have tested with these cases. +-----+-------------------------+----------------+ | STA | AP | | |FILS | key-mgmt | result | +-----+-------------------------+----------------+ | 1 | WPA-EAP | O | +-----+-------------------------+----------------+ | 1 | WPA-EAP-SHA256 | O | +-----+-------------------------+----------------+ | 1 | FILS-SHA256 | X | +-----+-------------------------+----------------+ | 1 | FILS-SHA384 | X | +-----+-------------------------+----------------+ | 1 | WPA-EAP WPA-EAP-SHA256 | O | | | FILS-SHA256 FILS-SHA384 | WPA-EAP-SHA256 | +-----+-------------------------+----------------+ | 2 | WPA-EAP | O | +-----+-------------------------+----------------+ | 2 | WPA-EAP-SHA256 | O | +-----+-------------------------+----------------+ | 2 | FILS-SHA256 | O | +-----+-------------------------+----------------+ | 2 | FILS-SHA384 | O | +-----+-------------------------+----------------+ | 2 | WPA-EAP WPA-EAP-SHA256 | O | | | FILS-SHA256 FILS-SHA384 | FILS-SHA384 | +-----+-------------------------+----------------+ | 3 | WPA-EAP | X | +-----+-------------------------+----------------+ | 3 | WPA-EAP-SHA256 | X | +-----+-------------------------+----------------+ | 3 | FILS-SHA256 | O | +-----+-------------------------+----------------+ | 3 | FILS-SHA384 | O | +-----+-------------------------+----------------+ | 3 | WPA-EAP WPA-EAP-SHA256 | O | | | FILS-SHA256 FILS-SHA384 | FILS-SHA384 | +-----+-------------------------+----------------+ Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
| * supplicant: set key_mgmt independent of pmf valueMasashi Honma2018-01-162-20/+28
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previouslly, the value of ieee80211w and key_mgmt field in wpa_supplicant.conf was defined by the value of pmf. NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE ieee80211w=0 key_mgmt=wpa-eap NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL ieee80211w=1 key_mgmt=wpa-eap wpa-eap-sha256 NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED ieee80211w=2 key_mgmt=wpa-eap-sha256 Though these works, these does not include whole combinations. The key_mgmt could be set independent of ieee80211w value. For example, management frame protection could be used with wpa-eap. ieee80211w=2 key_mgmt=wpa-eap And wpa-eap-sha256 could be used without management frame protection. ieee80211w=0 key_mgmt=wpa-eap-sha256 So this patch uses always key_mgmt=wpa-psk wpa-psk-sha256 or key_mgmt=wpa-eap wpa-eap-sha256. By this setting, when AP supports both, stronger algorithm will be chosen (ex. when AP supports both wpa-eap and wpa-eap-sha256, wpa-eap-sha256 will be chosen). Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* libnm: merge branch 'th/libnm-jansson' (part 1)Thomas Haller2018-01-166-55/+59
|\ | | | | | | https://github.com/NetworkManager/NetworkManager/pull/56
| * libnm: cleanup include in "libnm-core/nm-json.c"Thomas Haller2018-01-161-3/+2
| | | | | | | | | | | | | | | | | | | | We already define _GNU_SOURCE in "config.h", depending on configure checks. Also, we always should first include "config.h" (which means to first include "nm-default.h"). Also, we don't need the entire <link.h>, <dlfcn.h> suffices.
| * libnm: only include "nm-jansson.h" from "nm-json.h"Thomas Haller2018-01-162-1/+2
| | | | | | | | | | | | "nm-utils/nm-jansson.h" and thus <jansson.h> must be included only after "nm-json.h". Enforce that by never including them directly, except from "nm-json.h" itself.
| * libnm: add include guard to nm-json.hThomas Haller2018-01-161-0/+4
| |
| * libnm: fix spelling for NM_JAONSSON_C defineThomas Haller2018-01-162-2/+2
| |
| * libnm: rename "libnm-core/nm-jansson.h" to "libnm-core/nm-json.h"Thomas Haller2018-01-165-5/+5
| | | | | | | | We already have "shared/nm-utils/nm-jansson.h". Avoid reusing the same file name.
| * libnm/trivial: don't use non-leading tabsThomas Haller2018-01-161-23/+23
|/
* libnm: merge branch 'th/libnm-vpn-service-shutdown'Thomas Haller2018-01-163-46/+71
|\ | | | | | | https://github.com/NetworkManager/NetworkManager/pull/59
| * libnm: add nm_vpn_service_plugin_shutdown() APIThomas Haller2018-01-163-33/+65
| | | | | | | | | | | | | | | | | | Otherwise, the only way to disconnect the NMVpnServicePlugin instance is by completely unrefing it. However, often it is not so easy to ensure that nobody else is still keeping the instance alive, after the point where we no longer want to handle D-Bus requests. nm_vpn_service_plugin_shutdown() to the rescue.
| * libnm: cleanup resource handling in NMVpnServicePlugin:init_sync()Thomas Haller2018-01-161-13/+6
|/
* rpm: disable libnm-glib for Fedora 29 and RHEL 8Lubomir Rintel2018-01-161-3/+17
| | | | | While at it, move the API documentation to libnm-devel. There doesn't seem to be a better place for it.
* build: don't install NetworkManager.pc when libnm-glib is disabledLubomir Rintel2018-01-163-15/+17
|
* platform: merge branch 'th/wifi-cleanup'Thomas Haller2018-01-1514-351/+311
|\ | | | | | | https://github.com/NetworkManager/NetworkManager/pull/58
| * platform: move genl functions to nm-netlink.cThomas Haller2018-01-153-97/+114
| | | | | | | | | | So they can be reused outside of wifi, like for implementing wireguard support.
| * platform: move netlink functions to nm-netlink.hThomas Haller2018-01-153-53/+46
| |
| * platform: add nm-netlink.h for netlink related helper functionsThomas Haller2018-01-154-0/+53
| | | | | | | | | | | | Especially useful, because we don't link against libnl-genl-3.so but re-implement generic netlink support. Such code should go there so it can be used by various components.
| * wifi: remove configure checks for suitable WEXT headerThomas Haller2018-01-152-37/+0
| | | | | | | | | | | | | | | | The check doesn't seem useful, because it does not result in a fallback or a different build. Just assume <linux/wireless.h> is valid. In case it is not, we will get a build failure later. That is just as good.
| * wifi: remove configure checks for suitable linux/nl80211.h headerThomas Haller2018-01-152-35/+0
| | | | | | | | | | | | | | | | The check doesn't seem useful, because it does not result in a fallback or a different build. Just assume <linux/nl80211.h> is valid. In case it is not, we will get a build failure later. That is just as good.
| * wifi: always build nl80211 CRIT_PROTOCOL supportThomas Haller2018-01-155-52/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | netlink's API is stable, and strictly defined by the integer values that make up commands and attributes. There is little reason do disable a netlink feature based on compile time detection of the kernel headers. Either kernel supports it, or it will fail with an appropriate response. Also, support for NL80211_CMD_CRIT_PROTOCOL_START was merge to kernel in 2013. Maybe, we should now just always assume support (in the kernel headers is there). Anyway, don't do that yet, but instead avoid the defines and use the numeric values directly.
| * wifi: rework WifiData to use a separate struct for function pointersThomas Haller2018-01-156-72/+82
| | | | | | | | | | | | | | | | | | | | | | Add a WifiDataClass struct, that is immutable and contains all the function pointers that were previously embedded in WifiData directly. They are not ever modified after creation, hence this allows to have a "static const" allocated instance of the VTable. Also rename wifi_data_deinit() to wifi_data_unref(). It does not only deinitialize the instance, instead it also frees it. Hence, rename it to "unref()".
| * wifi: cleanup includesThomas Haller2018-01-152-6/+8
| | | | | | | | | | - always include the corresponding header file first after "nm-default.h". - include all our other headers last.
| * platform: fix wrong cleanup function in ip_route_get()Thomas Haller2018-01-151-1/+1
|/ | | | Fixes: 33a2a7c3e3738b184233980a66f0093f073f97b1
* team: merge branch 'fg/team_sys_prio_default-rh1533810'Francesco Giudici2018-01-153-7/+7
|\ | | | | | | https://bugzilla.redhat.com/show_bug.cgi?id=1533810
| * libnm-core: team: fix runner sys_prio default valueFrancesco Giudici2018-01-151-1/+1
| |
| * cli: get team defaults from setting header filesFrancesco Giudici2018-01-152-6/+6
|/ | | | | this allows centralizing default values definition and allows quicker and safer update of default values.
* libnm/vpn: unexport and destroy D-Bus glue instance with NMVpnServicePluginThomas Haller2018-01-151-5/+11
| | | | | Otherwise, we might still be called back with D-Bus requests, after the NMVpnServicePlugin instance is already destroyed.
* libnm-core: docs update requires also settings-docs.h.in updateFrancesco Giudici2018-01-121-1/+1
| | | | Fixes: 112f8bd5aff2c5d543699d968f56c7f98be07eec
* core/trivial: fix whitespaceThomas Haller2018-01-121-1/+1
|
* libnm-core: update team.runner descriptionFrancesco Giudici2018-01-121-0/+4
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=1533799
* dns: merge branch 'bg/dns-domains-pt1-bgo746422'Beniamino Galvani2018-01-127-84/+117
|\ | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=746422
| * dns: introduce routing domainsBeniamino Galvani2018-01-127-27/+64
| | | | | | | | | | | | | | | | | | | | | | Similarly to what systemd-resolved does, introduce the concept of "routing" domain, which is a domain in the search list that is used only to decide the interface over which a query must be forwarded, but is not used to complete unqualified host names. Routing domains are those starting with a tilde ('~') before the actual domain name. Domains without the initial tilde are used both for completing unqualified names and for the routing decision.
| * dns: systemd-resolved: use generic ip-config functionsBeniamino Galvani2018-01-121-35/+10
| |
| * dns: export search list in the D-Bus "domain" attributeBeniamino Galvani2018-01-121-9/+20
| | | | | | | | | | | | | | The "domain" key of the D-Bus configuration dictionary specifies the domains a configuration applies to. In DNS code we consider domains and searches as equivalent, so they should be exported via D-Bus using the same logic used to populate resolv.conf and for plugins.
| * dns: add @dup argument to add_dns_domains() and add_string_item()Beniamino Galvani2018-01-121-13/+14
| | | | | | | | | | Add a @dup argument that tells whether the new item should be duplicated.
| * dns: split out domains retrievalBeniamino Galvani2018-01-121-16/+25
|/
* build/meson: merge branch 'meson-fixes'Thomas Haller2018-01-1210-19/+22
|\ | | | | | | https://mail.gnome.org/archives/networkmanager-list/2018-January/msg00055.html
| * po: skip translation for file in meson build directoryThomas Haller2018-01-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, having a meson build directory along autotools, lets `make check` fail with The following files contain translations and are currently not in use. Please consider adding these to the POTFILES.in file, located in the po/ directory. build/data/org.freedesktop.NetworkManager.policy.in If some of these files are left out on purpose then please add them to POTFILES.skip instead of POTFILES.in. A file 'missing' containing this list of left out files has been written in the current directory. Please report to http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager if [ -r missing -o -r notexist ]; then \ exit 1; \ fi Yes, meson does not require that the build directory is named "build" and this fix only works for the default case.
| * gitignore: ignore generated clients/common/settings-docs.h fileThomas Haller2018-01-121-1/+2
| |
| * build: Rename settings-docs.c fileIñigo Martínez2018-01-126-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | The `settings-docs.c` file is generated by processing the `nm-property-docs.xml` file. Although this works in autotools, the `.c` extension makes meson not to handle it properly. Given the fact that it only contains a number of defines it makes sense to change its extension to `.h` an use it as a header. This also makes meson to handle it properly and build it before its used. https://mail.gnome.org/archives/networkmanager-list/2018-January/msg00057.html