summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* wifi: fall back to band matching when frequency matching failsdcbw/supplicant-current-ap-bgo747424Dan Williams2015-04-101-13/+27
| | | | | | | | | | | | | | Some dual-band access points use the same BSSID in both the 5GHz and 2.4GHz bands, so obviously frequency must be taken into account when matching. But no AP should ever use the same SSID/BSSID pair concurrently in the same band on different frequencies. Some APs also dynamically channel hop when they detect interference, or when they restart, they do so on a different channel after finding the channel with the lowest interference. To assure that we don't end up with stale scan list entries when the AP has switched to another channel in the same band, fall back to band matching when merging new scan results.
* wifi: remove unused AP 'broadcast' propertyDan Williams2015-04-103-32/+1
| | | | Nothing ever read the value.
* wifi: always strict-match access points when mergingDan Williams2015-04-103-85/+15
| | | | | | | | | The only reason to allow lazy matching was to update a fake current AP when its real scan result comes in. Now that NM tracks the current AP based on the the supplicant's current BSS, a fake current AP will be replaced when the real scan result arrives. So it's pointless to update the fake one when it'll just be removed soon.
* wifi: trivial whitespace fixupDan Williams2015-04-101-1/+1
|
* wifi: update AP properties from supplicant signalsDan Williams2015-04-103-17/+37
|
* wifi: use supplicant's CurrentBSS as the current APDan Williams2015-04-101-251/+96
| | | | | | | | | | | | | | | | | | | | | | | Instead of keeping track of it internally, and attempting to fuzzy-match access points and stuff, just use the supplicant's information. If the supplicant doesn't know what AP it's talking to, then we've got more problems than just NM code. The theory here is that when starting activation, we'll use the given access point from the scan list that the supplicant already knows about. If there isn't one yet (adhoc, hidden, or AP mode) then we'll create a fake AP and add it to the scan list. Once the supplicant has associated to the AP, it'll notify about the current BSS which we then look up in the scan list, and set priv->current AP to that. If for some reason the given AP isn't yet in our scan list (which often happens for adhoc/AP) then we'll just live with the fake AP until we get the scan result, which should happen very soon. We don't need to do any fuzzy-matching to find the current AP because it will either always be one the supplicant knows about, or a fake one that the supplicant doesn't know about that will be replaced soon anyway.
* wifi: use a hash table to track access pointsDan Williams2015-04-103-156/+154
|
* supplicant: ignore NotConnected errors when disconnectingDan Williams2015-04-101-2/+4
|
* supplicant: track and expose wpa_supplicant's CurrentBSS propertyDan Williams2015-04-102-6/+48
|
* test: fix compiler warning in g_test_assert_expected_messages_internal()Thomas Haller2015-04-101-2/+7
| | | | | | -Wformat of gcc determines that the string arguments are NULL. Fixes: 373d09b0425c6dfb699ee4b6615ded0177d0e344
* platform/trivial: rename object_type_from_nl_object() to _nlo_get_object_type()Thomas Haller2015-04-091-13/+13
| | | | | | | The function names in linux-platform should get better prefixes indicating whether they are related to libnl or nm objects. Add a prefix _nlo_ for functions that operate on libnl objects.
* platform/trivial: move code around so that libnl related stuff is togetherThomas Haller2015-04-091-90/+91
| | | | | | Reorder some functions in nm-platform, so that we first have independent libnl wrappers/utils, then NMPlatform type definition, and then the rest.
* platform/trivial: add OBJECT_TYPE_MAX enum valueThomas Haller2015-04-091-1/+2
|
* test: make valgrind suppressions file configurableThomas Haller2015-04-091-2/+10
| | | | | Add a configure option --with-valgrind-suppressions=path to allow specifying a different suppressions file.
* test: log message at g_test_assert_expected_messages()Thomas Haller2015-04-091-2/+14
| | | | | | When disabling assert-logging with no-expect-message, print a line at every g_test_assert_expected_messages() invocation.
* test: add description of test behavior to nm-test-utils.hThomas Haller2015-04-091-0/+54
|
* route-manager: merge branch 'th/route-manager-bgo740064'Thomas Haller2015-04-0824-392/+1009
|\ | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=740064
| * route-manager/test: add variations to test codeThomas Haller2015-04-081-6/+10
| |
| * route-manager: refactor route-manager and route_sync()Thomas Haller2015-04-082-265/+546
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the implementation of nm_route_manager_ip4_route_sync() and nm_route_manager_ip6_route_sync(). - merge the implementations for IPv4 and IPv6. - pre-sort the routes and iterate them in a way that we don't need to lookup a route in other lists. Do this by iterating two sorted lists at a time in a merge-sort way. The runtime complexity of sync is now O(n*ln(n)). - previously, the algorithm would merge routes it found in platform to priv->ipx_routes. That was wrong, because then we loose the information which routes we wanted to configure internally and which are present externally. Instead, priv->ipx_routes now contains all the routes that were explicitly configured via sync(). Hence, it knows what should be configured (@ipx_routes) and can compare to what is configured (@plat_routes). https://bugzilla.gnome.org/show_bug.cgi?id=740064
| * util: add nm_utils_array_remove_at_indexes() functionThomas Haller2015-04-083-0/+175
| |
| * default-route-manager: cleanup logging macrosThomas Haller2015-04-081-4/+5
| |
| * default-route-manager: use NMPlatformVTableRouteThomas Haller2015-04-081-70/+38
| |
| * platform: add VTable to handle IPv4 and IPv6 routes genericallyThomas Haller2015-04-082-0/+108
| |
| * test: add option in nmtst_platform_ip4_routes_equal() to ignore orderingThomas Haller2015-04-083-12/+40
| | | | | | | | | | | | Same for nmtst_platform_ip6_routes_equal(). It's useful to check for equal routes ignoring the ordering.
| * route-manager/test: check for exact expected error messageThomas Haller2015-04-081-6/+6
| |
| * route-manager/test: fix usage of g_assert_expect_message()Thomas Haller2015-04-082-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests that use g_assert_expect_message() must initialize with nmtst_init_assert_logging(). Otherwise, the caller can change the logging level via NMTST_DEBUG=log-level=DEBUG,log-domains=DEFAULT which breaks the assertions. nmtst_init_assert_logging() allows the caller to turn of checking of assertions via NMTST_DEBUG=log-level=DEBUG,log-domains=DEFAULT,no-expect-message Also, don't use g_message() in platform tests otherwise the test fail because nmtst now sets g_log_set_always_fatal().
| * platform/test: clear host part of routes in fake platformThomas Haller2015-04-081-2/+2
| | | | | | | | | | Adding a route with host part non zero is rejected by kernel. But NMLinuxPlatform works around it -- so must fake platform.
| * platform/test: fake platform must use nm-logging for reporting errorsThomas Haller2015-04-081-4/+4
| | | | | | | | Just like linux platform does.
| * platform/test: split initialization of platform tests outThomas Haller2015-04-087-1/+34
| | | | | | | | test-route-manager soon wants a different initialization
| * test: setup logging during nmtst_init_assert_logging()Thomas Haller2015-04-089-17/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, when having a test with nmtst_init_assert_logging(), the caller was expected to setup logging separately according to the log level that the test asserts against. Since 5e74891b58688a19c43fb8e50880166d94a4e901, the logging level can be reset via NMTST_DEBUG also for tests that assert logging. In this case, it would be useful, if the test would not overwrite the logging level that is set externally via NMTST_DEBUG. Instead, let the test pass the logging configuration to nmtst_init_assert_logging(), and nmtst will setup logging -- either according to NMTST_DEBUG or as passed in. This way, setting the log level works also for no-expect-message tests: NMTST_DEBUG="debug,no-expect-message,log-level=TRACE" $TEST
| * platform: don't write debug message to stderrThomas Haller2015-04-081-5/+12
| | | | | | | | Use nm-logging instead.
| * test: fix enabling DEBUG logging for testsThomas Haller2015-04-081-1/+1
| | | | | | | | | | | | For glog messages to print any debug messages, we must set G_MESSAGES_DEBUG. nmtst does this for us if we set @is_debug. But fix the condition to also set G_MESSAGES_DEBUG if set set c_log_level to DEBUG or TRACE.
| * test: fix parsing of NMTST_SEED_RANDThomas Haller2015-04-081-1/+1
| |
| * test: change message about random seed in nmtstThomas Haller2015-04-081-1/+1
|/ | | | | Make it clear, that you can overwrite the seed by setting the environment variable NMTST_SEED_RAND.
* wifi: indicate 2ghz and 5ghz wifi device capabilitiesBeniamino Galvani2015-04-087-5/+65
| | | | | | | | | | | | Add new capabilities CAP_FREQ_2GHZ and CAP_FREQ_5GHZ to indicate the frequency bands supported by a Wifi device. Add also CAP_FREQ_VALID, which is set when the values of the other 2 capabilities are available. Original patch by Dan Williams <dcbw@redhat.com> https://bugzilla.gnome.org/show_bug.cgi?id=723295
* device: use "new-activation" reason when deactivating for another activationLubomir Rintel2015-04-081-1/+1
| | | | | | "user-requested" has a side effect of disabling autoconnect. Fixes: 600489003ff2eca33865a3d41abcc9fc03fd6bb1
* device,libnm,cli: add "new-activation" reason for device state changeLubomir Rintel2015-04-084-0/+8
| | | | It will be used when the device is disconnected for new connection activation.
* device: translate NM_DEVICE_STATE_REASON_UNKNOWN to "unknown"Lubomir Rintel2015-04-081-0/+1
|
* dispatcher: fix crash due to wrong signature of variant for argument of ↵Thomas Haller2015-04-071-1/+1
| | | | | | | | "Action" D-Bus call Fixes: 8da83a2ba36ffd18ac5670bcfb99b1530ac3075b https://bugzilla.gnome.org/show_bug.cgi?id=747456
* libnm-core: fix VPN error domain (bgo #745997)Dan Winship2015-04-071-1/+1
| | | | | | In theory, NM_VPN_PLUGIN_ERROR should have names under org.freedesktop.NetworkManager.VPN.Plugin, but for historical reasons, it's actually org.freedesktop.NetworkManager.VPN.Error.
* supplicant-manager, wifi: (trivial) fix signal argument typesDan Winship2015-04-063-6/+6
| | | | | | | | | A few places in the NMSupplicantInterface API and in NMDeviceWifi's use of it were still using "GHashTable *properties" where they should have been using "GVariant *properties". (This didn't cause any actual problems because nothing was looking at those arguments.) (Also fix a comment typo.)
* libnm-core: add libnm-core/nm-dbus-utils.c to POTFILES.inThomas Haller2015-04-051-0/+1
| | | | Fixes: 9668bfd682dd3439e8b6b9ad249c3e2a8b95dbe2
* dispatcher: belatedly remove no-longer-used dbus-glib defineDan Winship2015-04-041-4/+0
|
* core: merge branch 'more-gdbus-bgo746901'Dan Winship2015-04-0319-984/+1094
|\ | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=746901
| * firewall: clean up call completion and use GCancellableDan Williams2015-04-031-71/+40
| |
| * core: port NMManager's aipd proxy to GDBusDan Winship2015-04-031-30/+17
| |
| * bluetooth: port bluez4 code to gdbusDan Winship2015-04-033-177/+87
| |
| * core: port the daemon side of the dispatcher to gdbusDan Winship2015-04-033-332/+290
| |
| * core: port nm-sleep-monitor-upower to gdbusDan Winship2015-04-031-27/+24
| |
| * core: trivial NMSleepMonitor fixesDan Winship2015-04-032-60/+60
| | | | | | | | | | Fix nm-sleep-monitor-upower.c indentation, and fix the type of the (unused) first argument in NMManager's NMSleepMonitor signal handlers.