summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* device: Don't delete the link if a re-activation is scheduledlr/team-activationLubomir Rintel2014-11-041-0/+2
|
* team: Don't let teamd rip off the link when it terminatesLubomir Rintel2014-11-041-0/+1
| | | | | We might be reactivating a connection on the device and don't want it to go away. In other cases we still take care of the link deletion ourselves.
* connections: Don't give up if we've not seen an active connection yetLubomir Rintel2014-11-041-1/+1
| | | | | | It will appear later on. https://bugzilla.redhat.com/show_bug.cgi?id=1149200
* libnm: Complete activation when ActiveConnection abruptly disappearsLubomir Rintel2014-11-031-0/+22
| | | | | | | | | | | | | | | | A NMActiveConnection may disappear before a match with NMDevice is found. In such case recheck_pending_activations() would never call the activation callback and the client would hang indefinitely: libnm-Message: PC: (0x95bf088) NMManager:active-connections => '['/org/freedesktop/NetworkManager/ActiveConnection/225']' (ao / NMActiveConnection) libnm-Message: PC: (0x95bf088) NMManager:activating-connection => ''/'' (o / NMActiveConnection) libnm-Message: PC: (0x95d0a28) NMActiveConnection:state => '4' (u) libnm-Message: PC: (0x95d0a28) NMActiveConnection:devices => '[]' (ao / NMDevice) libnm-Message: PC: (0x95bf088) NMManager:active-connections => '[]' (ao / NMActiveConnection) *hang* Let's listen for active-connection-removed and tear down the activation with an error if the removed connection is one we're activating.
* libnm: Drop a wrong assertLubomir Rintel2014-11-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | An active connection object could disappear from the bus before its removal from NMManager:active-connections is signalled -- don't assert it's gone from there already. Here /o/fd/NM/ActiveConnection/81 disappears shortly after it's added: libnm-Message: PC: (0x9ebd088) NMManager:active-connections => '['/org/freedesktop/NetworkManager/ActiveConnection/81', '/org/freedesktop/NetworkManager/ActiveConnection/80']' (ao / NMActiveConnection) libnm-Message: PC: (0x9ebd088) NMManager:activating-connection => ''/'' (o / NMActiveConnection) libnm-Message: PC: (0x9ed1458) NMDeviceTeam:state => '110' (u) libnm-Message: PC: (0x9ed1458) NMDeviceTeam:state-reason => '(110, 0)' ((uu)) libnm-Message: PC: (0x9ece9a0) NMActiveConnection:state => '3' (u) libnm-Message: PC: (0x9ebd088) NMManager:state => '20' (u) libnm-Message: PC: (0x9ebd088) NMManager:devices => '['/org/freedesktop/NetworkManager/Devices/0', '/org/freedesktop/NetworkManager/Devices/2', '/org/freedesktop/NetworkManager/Devices/3']' (ao / NMDevice) libnm-Message: PC: (0x9ebd088) NMManager:active-connections => '['/org/freedesktop/NetworkManager/ActiveConnection/81', '/org/freedesktop/NetworkManager/ActiveConnection/80']' (ao / NMActiveConnection) libnm-Message: PC: (0x9ece9a0) NMActiveConnection:state => '4' (u) libnm-Message: PC: (0x9ece9a0) NMActiveConnection:devices => '[]' (ao / NMDevice) libnm-Message: Could not create object for /org/freedesktop/NetworkManager/ActiveConnection/81: Method "GetAll" with signature "s" on interface "org.freedesktop.DBus.Properties" doesn't exist (process:18042): libnm-CRITICAL **: object_creation_failed: assertion 'find_active_connection_by_path (self, failed_path) == NULL' failed
* cli: Activating an already activated connection failsLubomir Rintel2014-11-031-2/+1
| | | | | | | The new ActiveConnection starts in UNKNOWN state and we immediately assume it failed. We should wait for DEACTIVATED or ACTIVATED instead. https://bugzilla.gnome.org/show_bug.cgi?id=739339
* wimax/build: use NM_PRAGMA_WARNING_DISABLE() macro instead of #pragmaThomas Haller2014-10-311-4/+3
| | | | Signed-off-by: Thomas Haller <thaller@redhat.com>
* all: add macros to suppress compiler warningsThomas Haller2014-10-311-0/+41
| | | | Signed-off-by: Thomas Haller <thaller@redhat.com>
* doc: fix IGNORE_HFILES in libnm-glibThomas Haller2014-10-311-2/+1
| | | | | | | | | nm-dbus-helpers-private.h is a private header file to libnm-glib/. nm-settings-connection-glue.h and nm-settings-glue.h are not part of libnm-glib/, they are inside src/. Signed-off-by: Thomas Haller <thaller@redhat.com>
* doc: fix IGNORE_HFILES referencing non-existing *-bindings.h filesThomas Haller2014-10-311-17/+0
| | | | | Fixes: 8ad3ff24ad2e2e2879cd1694be89f939791db1bb Signed-off-by: Thomas Haller <thaller@redhat.com>
* core: merge branch 'th/bgo738590_dhcp_server_route' (bgo #738590)Thomas Haller2014-10-318-11/+99
|\ | | | | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=738590 Signed-off-by: Thomas Haller <thaller@redhat.com>
| * dhcp: don't add special route to DHCP server when having direct routeThomas Haller2014-10-311-5/+5
| | | | | | | | | | | | | | | | | | | | | | When the DHCP server address is not on the same subnet, we used to add a /32 route to the server IP address via the gateway. Do not add this route, if we already got a direct route from DHCP. https://bugzilla.gnome.org/show_bug.cgi?id=738590 Signed-off-by: Thomas Haller <thaller@redhat.com>
| * core: add nm_ipX_config_get_direct_route_for_host() functionsThomas Haller2014-10-316-6/+77
| | | | | | | | | | | | | | | | | | | | add two functions nm_ip4_config_get_direct_route_for_host() and nm_ip6_config_get_direct_route_for_host() to check if we have a direct (non-gw) route to a certain host. Signed-off-by: Thomas Haller <thaller@redhat.com> https://bugzilla.gnome.org/show_bug.cgi?id=738590
| * core: add nm_utils_ip6_route_metric_normalize() functionThomas Haller2014-10-312-0/+17
|/ | | | | | | | | Kernel treats IPv6 route metrics with value zero (0) special. Add a utility function that helps accounting for that. Signed-off-by: Thomas Haller <thaller@redhat.com> https://bugzilla.gnome.org/show_bug.cgi?id=738590
* test,examples: fix scripts to avoid 'has_key' for Python 3Thomas Haller2014-10-312-7/+7
| | | | | | 'has_key' on Dictionaries is removed from Python3 in favor of 'in'. Signed-off-by: Thomas Haller <thaller@redhat.com>
* libnm: Fix a nm_running_changed raceLubomir Rintel2014-10-311-1/+3
| | | | | | | Unhook the nm_running_changed signal, so that it does not attempt to free connections after they've been disposed already. https://bugzilla.gnome.org/show_bug.cgi?id=739127
* Merge branch 'lr/ap'Lubomir Rintel2014-10-318-51/+172
|\ | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=738439
| * ifcfg-rh: add support for MODE=Aplr/apJiří Klimeš2014-10-232-1/+5
| | | | | | | | | | | | | | | | | | | | It is an extension against initscripts. However, we have many other Wi-Fi related extensions. So the NM-written ifcfg file will not be 100% backwards compatible anyway. Moreover, initscripts changed from using iwconfig to iw and dropped support (accidently?) for some traditional variable, like KEY1-KEY4, CHANNEL, etc. They should be fixed bring back by initscripts. https://git.fedorahosted.org/cgit/initscripts.git/commit/sysconfig/network-scripts/ifup-wireless?id=ddda5f6f818831b1fa37337be0ac9c0f619df1ca
| * cli: Add mode option for wifi connecitonsLubomir Rintel2014-10-235-24/+140
| | | | | | | | | | | | Only default (infrastructure) mode connections can be created and as it's not possible to write mode=ap connections with ifcfg-rh plugins, they can't be switched to mode=ap.
| * wifi: Use SSID from connection also if AP is not configuredLubomir Rintel2014-10-231-26/+27
| | | | | | | | | | | | | | | | Creating a mode=ap connection (as GNOME control center does) would otherwise assert in complete_connection despite having a proper SSID set: NetworkManager-wifi:ERROR:nm-device-wifi.c:1118:complete_connection: assertion failed: (ssid) Aborted
* | Merge branch 'lr/rpm-make-check'Lubomir Rintel2014-10-3011-22/+63
|\ \ | | | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=739127
| * | contrib/rpm: Run make checklr/rpm-make-checkLubomir Rintel2014-10-301-0/+7
| | |
| * | tests: Fix /general/nm_utils_kill_child raceLubomir Rintel2014-10-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /general/nm_utils_kill_child: ** GLib:ERROR:test-general-with-expect.c:105:test_nm_utils_kill_child_sync_do: Did not see expected message NetworkManager-DEBUG: *kill child process 'test-s-1-1' (*): waiting up to 500 milliseconds for process to terminate normally after sending SIGTERM (15)... Aborted The first test case assumes the child does not go away immediately after being delivered a TERM signal. Add some delay to its teardown code path, so that NM will set up the timeout the test expects.
| * | libnm/tests: Properly wait for devices in /libnm/activate-virtualLubomir Rintel2014-10-301-0/+2
| | | | | | | | | | | | | | | Ignore the signal if we're signalled before the second device is available and wait for another one.
| * | libnm: Ignore NoReply errors when NM has vanished from the busLubomir Rintel2014-10-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the /libnm/client-nm-running test failure when a race condition is hit: test-nm-client:10350): libnm-WARNING **: updated_properties: error reading NMRemoteSettings properties: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus) What actually happens is that nm_running_changed_cb() calls GetAll() for a NMRemoteSettings object when NM appears on the bus. If it disappears shortly afterwards, another nm_running_changed_cb() is called which suppresses further object updates, but the original GetAll() might not have finished yet and DBus will generate a NoReply() response for it. We ought to ignore it.
| * | core: Fall back to CLOCK_MONOTONIC if CLOCK_BOOTTIME unsupportedLubomir Rintel2014-10-241-8/+29
| | | | | | | | | | | | | | | It was added fairly recently (2.6.39), this breaks run (and test run in mock) on RHEL-6 with 2.6.32.
| * | tests: Don't run session-long dbus daemons for testsLubomir Rintel2014-10-242-6/+10
| | | | | | | | | | | | | | | | | | They require a tty or X11 displays, thus are not suitable for headless runs (such as in mock). Furthermore, they die with the tty or X11 session, which is somehow late -- a lot of them may accumulate. Let's kill them right away.
| * | build: Don't conditionally omit files from distributionLubomir Rintel2014-10-204-8/+8
| | |
* | | core/logging: make log level and domain a C enumThomas Haller2014-10-302-33/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way the compiler issues a warning when accidently switching the level and domain arguments when logging. Make LOGD_ALL and LOGD_DEFAULT members of the enum instead defining them. Previously the LOGD_ALL define included all the defined domains, hence this is no functional change. Also define the logging domain aliases as enum members (instead of preprocessor defines). Signed-off-by: Thomas Haller <thaller@redhat.com>
* | | core/logging: adjust numerical values of the logging domain flagsThomas Haller2014-10-301-35/+35
| | | | | | | | | | | | | | | | | | | | | | | | The numerical value 0x01 was unused. Shift all the values to fill the "hole". Fixes: 552ed76f59517edb4a75b28e665e492ae123fad1 Signed-off-by: Thomas Haller <thaller@redhat.com>
* | | merge: show connection secrets in nmcli when required (bgo #737415)Jiří Klimeš2014-10-307-71/+130
|\ \ \ | | | | | | | | | | | | | | | | Secrets will be displayed when '--show-secrets' is used for 'nmcli con show', or nmcli> nmcli show-secrets yes in the editor.
| * | | cli: allow showing secrets in the editorJiří Klimeš2014-10-303-5/+26
| | | |
| * | | cli: display '<hidden>' string for secret propertiesJiří Klimeš2014-10-303-52/+55
| | | | | | | | | | | | | | | | unless the user explicitly say to show them.
| * | | cli/bash-completion: update bash completion for '--show-secrets' optionThomas Haller2014-10-301-2/+5
| | | |
| * | | cli: add '--show-secrets' option for 'nmcli connection show'Jiří Klimeš2014-10-302-14/+46
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | It can be used to display connection secrets (passwords). When used, it will get secrets for the connection profile and merge it into the connection's settings before displaying it. Example: nmcli con show -s hotel-wifi
* | | merge: allow connection normalization in nmcli editor (rh #1157164)Jiří Klimeš2014-10-303-8/+69
|\ \ \ | | | | | | | | | | | | | | | | | | | | - introduce 'verify fix' command in the editor for normalizing the connection - check IP settings when connection.master property is changed and offer their removal (slaves are not allowed to have IP configuration)
| * | | cli: add 'verify fix' command for nmcli connection editorJiří Klimeš2014-10-301-7/+26
| | | | | | | | | | | | | | | | | | | | Some connection verification errors are normalizable by NetworkManager. So we can allow users to normalize the connection using one command.
| * | | cli: check IP configuration when setting connection.master in editorJiří Klimeš2014-10-303-1/+43
|/ / / | | | | | | | | | | | | If IPv4 and/or IPv6 are present on setting connection.master, offer their removal.
* | | trivial: fix a typo in commentsJiří Klimeš2014-10-302-2/+2
| | |
* | | libnm-core, libnm: introspection annotation fixesDan Winship2014-10-293-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | A parenthesized comment in nm-dbus-interface.h was being misparsed as an annotation. The annotations on NMDhcp4Config:options and NMDhcp6Config:options were incorrect.
* | | settings: merge branch 'th/bgo738611_load_setting_plugins' (bgo #738611)Thomas Haller2014-10-297-21/+85
|\ \ \ | | | | | | | | | | | | | | | | | | | | buil://bugzilla.gnome.org/show_bug.cgi?id=738611 Signed-off-by: Thomas Haller <thaller@redhat.com>
| * | | settings: check file permissions when loading settings pluginsThomas Haller2014-10-291-8/+26
| | | | | | | | | | | | | | | | Signed-off-by: Thomas Haller <thaller@redhat.com>
| * | | settings: accept missing settings pluginsThomas Haller2014-10-291-12/+22
| | | | | | | | | | | | | | | | Signed-off-by: Thomas Haller <thaller@redhat.com>
| * | | config: set a compile time default for the main.plugins configuration optionThomas Haller2014-10-294-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of a missing NetworkManager.conf (or a missing configuration option main.plugins), allow to determine the fallback at compile time https://bugzilla.gnome.org/show_bug.cgi?id=738611 Signed-off-by: Thomas Haller <thaller@redhat.com>
| * | | build: add configure option for ibft pluginThomas Haller2014-10-292-1/+10
| | | | | | | | | | | | | | | | Signed-off-by: Thomas Haller <thaller@redhat.com>
| * | | man: add description for ibft settings plugin to NetworkManager.confThomas Haller2014-10-291-0/+12
|/ / / | | | | | | | | | Signed-off-by: Thomas Haller <thaller@redhat.com>
* | | utils: fix printf format for pid_t in nm_utils_get_start_time_for_pid()Thomas Haller2014-10-291-1/+3
| | | | | | | | | | | | Signed-off-by: Thomas Haller <thaller@redhat.com>
* | | platform: deal with default route being passed to route_sync() (bgo 735325)Dan Winship2014-10-291-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NMIP4Configs and NMIP6Configs are never supposed to contain a default route, and thus nm_platform_ip6_route_sync() should never have to deal with one. Unfortunately, if it *does* get passed a default route, it will add it even if it was already there. This will result in an RTM_NEWROUTE notification, which will cause NMPlatform to emit ip6-route-changed, which will result in NMDevice doing some work and then calling nm_ip6_config_commit(), which will result in NMIP6Config passing the same list of routes to nm_platform_ip6_route_sync() again, including the default route, which will cause NMPlatform to add the route again... (Something eventually causes this cycle to get broken, but it starts up again the next time NM receives an RA.) Fix this by having the route_sync() functions never add/modify the default route (They were already not deleting it.)
* | | rdisc: properly handle RDNSS/DNSSL forced expirationDan Winship2014-10-291-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the router sends an RA with an RDNSS or DNSSL lifetime of "0", that means to immediately stop using the corresponding server/domain name. NMLNDPRDisc knew this, but messed up its handling of it, and so if this happened, it might end up sending out an RS to get new data every 0 seconds... (Noticed while investigating bgo 735325, though it turned out to be irrelevant there.)
* | | build: renable -Wstrict-prototypes compiler warningThomas Haller2014-10-296-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning -Wstrict-prototypes was disabled by commit db9b1df0e47996ff8aaea468a11e1e97f64ee126 . Enable it again, but avoid warnings for WiMax SDK by explicitly disabling the compiler warning where needed. Apparently clang does not produce a warning for -Wstrict-prototypes, hence we don't need a clang specific #pragma. Signed-off-by: Thomas Haller <thaller@redhat.com>