summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-12-12trivial: update dates in ifcfg-rh and keyfile pluginsJiří Klimeš2-4/+4
2013-12-12ifcfg-rh: read/write dhcp-send-hostname as DHCP_SEND_HOSTNAME (rh #1001529)Jiří Klimeš5-3/+97
It is an extension compared to initscripts (not in sysconfig.txt). But it is necessary for preserving dhcp-send-hostname. Missing DHCP_SEND_HOSTNAME is treated as "yes", which matches dhcp-send-hostname default value being TRUE. https://bugzilla.redhat.com/show_bug.cgi?id=1001529
2013-12-12libnm-util: don't touch dhcp-send-hostname when setting dhcp-hostname (rh ↵Jiří Klimeš1-3/+0
#1001529) It is better to leave it to user whether he wants to enable sending hostname, because he probably disabled it manually (dhcp-send-hostname is TRUE by default). Also, this would not work for plugins that read and set dhcp-hostname after dhcp-send-hostname. https://bugzilla.redhat.com/show_bug.cgi?id=1001529
2013-12-11core: workaround indefinite retries of activating connectionThomas Haller1-2/+5
Workaround a serious issue, that a connection that failed to activate might retry to autoconnect indefinitly. In NMPolicy, device_state_changed() decrements the retry count for autoconnect. But immediatly it calls nm_connection_clear_secrets(), which in turn triggers an NM_SETTINGS_SIGNAL_CONNECTION_UPDATED signal. The problem is, that connection_updated() resets the try count again to the default, and thus, the counter was effictivly not decremented. For now, do not reset the retry count in connection_updated(). This works arount the issue, but means, that when a user changes the connection, it is not immediatly retried to autoconnect (as the intent originally was). This will be fixed later. https://bugzilla.redhat.com/show_bug.cgi?id=1040528 Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-11ethernet: add reconnect delay for PPPoE connections (rh #1023503)Dan Williams1-9/+58
Attempting an immediate reconnect if the peer terminates the connection sometimes results in the peer not being ready to negotiate a new connection, while a short delay allows the peer to correctly tear down the old connection and get listen for a new one. Introduce a short delay when activating a PPPoE connection if a PPPoE connection was recently deactivated. https://bugzilla.redhat.com/show_bug.cgi?id=1023503 https://bugzilla.redhat.com/show_bug.cgi?id=602265 Rebased to master by jklimes.
2013-12-11cli: support PPPoE connection type in nmcli connection editorJiří Klimeš1-2/+7
2013-12-11test: update valgrind.suppressions for `make check`Thomas Haller1-0/+25
`make check` '--with-valgrind=yes' failed due to memory leaks detected by valgrind. These leaks originate from glib structures, and should be ignored. https://bugzilla.gnome.org/show_bug.cgi?id=705160 Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-09keyfile: fix reader and writer for writing routesThomas Haller4-152/+167
Keyfile plugin writer had a bug, when writing IP6 routes with gateway "::". Instead of writing "net/plen,,metric" it wrote "net/plen,metric". - fix this bug and add test cases. Also, add a workaround to reader, to accept such wrongly written IP6 routes as valid. - change the writer for IP4 addresses, IP4 routes and IP6 routes to omit the gateway and the metric, if it is 0.0.0.0/::/0, respectively. Also change the reader, to accept such empty gateway as valid. It only omits the gateway, if the metric is not 0, this means it would write: route1=1.2.3.4/24,0.0.0.0,1 instead of route1=1.2.3.4/24,,1 Both representations are now supported by the reader, but older plugin versions could only read the former (thus, we keep writing that version). With a metric of zero, it would instead write: route1=1.2.3.4/24 - some refactoring and code cleanup. Fix a memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=719851 Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-09keyfile: add test cases for reading route and addressesThomas Haller2-4/+54
Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-09keyfile: be more strict when reading integer valuesThomas Haller1-2/+3
Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-09rdisc: emit config_change signal for update of address lifetimeThomas Haller1-2/+5
Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-09core: refactor ip6_addr_to_string in nm-dns-dnsmasqThomas Haller1-38/+13
ip6_addr_to_string did assume, that inet_ntop might write a scope id to the result. But it does not (and cannot, because struct in6_addr does not have any interface identifer). Simplify and rework the function. Also fix a memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=711684 Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-09all: refactor to make use of nm_utils_inet[46]_ntop functionsThomas Haller7-216/+76
https://bugzilla.gnome.org/show_bug.cgi?id=711684 Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-09libnm-util: add nm_utils_inet[46]_ntop functionsThomas Haller3-0/+67
https://bugzilla.gnome.org/show_bug.cgi?id=711684 Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-09cli: add active connections to 'nmcli device status'Jiří Klimeš1-8/+41
2013-12-09libnm-util: bugfix wrong diff result in nm_connection_diffThomas Haller1-7/+9
Commit 6abc7b78f68e2e815bf8a8cec2a3235e35bb07e4 introduced a bug in nm_connection_diff() by not reading the property value with g_object_get_property(). Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-05core: fuzzier matching of connections on startup (rh #1029859)Dan Williams25-95/+306
Because it's not trivial to generate a connection that exactly matches one which was applied by NetworkManager before a restart, we need to make matching somewhat fuzzier. Mark any setting property that can be read from the system or kernel as INFERRABLE, and match only on those properties when trying to find the persistent connection (if any) which is already active on that device. https://bugzilla.redhat.com/show_bug.cgi?id=1029859
2013-12-05libnm-util: call virtual compare_property in nm_connection_diffThomas Haller1-10/+7
nm_connection_diff must also use the virtual functions like nm_connection_compare. This way, settings can overwrite the default comparison of individual properties. Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-05core: ignore gateway host route during connection generationDan Williams2-0/+32
When a gateway is not in the prefix of any of the interface's IP addresses, NetworkManager adds a static host route to the gateway through the interface to ensure the gateway can be reached. That route will not be part of the persistent connection (since it was added automatically) but would normally be picked up by connection generation. This would cause the generated connection not to match with the persistent connection, because the persistent connection does not have the host route. Ignore the gateway host route when capturing the interface's existing IP configuration.
2013-12-05core: fuzzier matching of generated connections to persistent onesDan Williams5-23/+123
When generating a connection, if the device has no non-link-local IPv6 address, then it's unclear whether (a) the connection was link-local originally, or (b) the connection was 'auto' but IPv6 failed or timed out. In this case, if there is a persistent connection that is 'auto' but the generated connection is 'link-local', the persistent connection should be used. Add a more-testable framework for doing the connection matching to handle this.
2013-12-05core: optimize generated connection matching a bitDan Williams1-9/+13
Do a quick check to see if the connetion is compatible with the device before we start doing a relatively heavy connection comparison.
2013-12-05libnm-util: add INFERRABLE flag and remove CANDIDATEDan Williams19-62/+140
INFERRABLE means the opposite of CANDIDATE; a property which NetworkManager can read ("infer") from the system or the kernel when generating connections. CANDIDATE isn't a great name and thus dies.
2013-12-05platform: fix uninitialized variable bcaddr in build_rtnl_addr()Jiří Klimeš1-1/+1
platform/nm-linux-platform.c: In function 'build_rtnl_addr': platform/nm-linux-platform.c:116:15: error: 'bcaddr' may be used uninitialized in this function [-Werror=maybe-uninitialized] nl_addr_put (*object); ^ platform/nm-linux-platform.c:2264:32: note: 'bcaddr' was declared here auto_nl_addr struct nl_addr *bcaddr; ^
2013-12-04core: suppress logging warning when trying to create existing directoryThomas Haller1-2/+4
Suppress logging the following line: <warn> Error creating directory "/var/run/NetworkManager": 17 (File exists) Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-04manager: handle NULL ifname in nm_manager_can_device_auto_connect gracefullyJiří Klimeš1-0/+3
2013-12-04manager: do not create software devices when device was manually disconnectedJiří Klimeš1-2/+9
We can only create virtual interfaces when the connection has autoconnect property *and* the device was not manually disconnected before. Without this commit NetworkManager would auto-activate all virtual connections when a change was done (e.g. new virtual connection was addded).
2013-12-04device: do not remove software devices on initial disconnected (rh #1035814)Jiří Klimeš1-0/+2
When a device is initialized to be managed, it will transition through states unmanaged -> unavailable -> disconnected. We don't want to remove software devices during this initial transition to disconnected, because it prevents auto-activation. Test case: $ nmcli con add type vlan ifname myvlan dev eth0 id 123 NM should immediately create myvlan interface and automatically activate it. https://bugzilla.redhat.com/show_bug.cgi?id=1035814
2013-12-03agent-manager: if an agent returns UserCanceled, stopDan Winship2-3/+13
If an agent returns a UserCanceled error in response to a secrets request, don't ask any other remaining secret agents for secrets.
2013-12-03settings: prefer secret agents in the same process as the requestDan Winship5-11/+40
When an activation request requires secrets, if there is a secret agent in the process that made the request, then prefer that to all other secret agents.
2013-12-03settings: port NMAgentManager, etc, to use NMAuthSubjectDan Winship18-108/+89
Rather than explicitly passing around a UID and a flag saying whether or not it's relevant. (This also fixes a bug where the wrong UID was being recorded in nm-settings-connection.c::auth_start(), which caused problems such as agent-owned secrets not getting saved because of a perceived UID mismatch.)
2013-12-03core: make NMSessionMonitor non-refcountedDan Winship7-44/+25
and ensure that main() frees the singleton before exiting
2013-12-03platform: fix possible out-of-bounds access with RA route maskingDan Williams1-3/+7
If the prefix length was 128, that could cause an access beyond the end of the array. Found by Thomas Haller.
2013-12-03platform: set IPv4 broadcast address too (rh #1032819)Dan Williams1-0/+32
When moving over the platform, setting of the IPv4 broadcast address got lost. Bring it back. https://bugzilla.redhat.com/show_bug.cgi?id=1032819
2013-12-02trivial: remove duplicate codeDan Williams1-1/+0
2013-12-02core: connection matching and libnm-util cleanups (bgo #715196)Dan Williams31-265/+291
https://bugzilla.gnome.org/show_bug.cgi?id=715196
2013-12-02core: generated slave connections should not have IP settingsDan Williams1-20/+24
Slaves have no IP configuration and should not have any IP settings. This fixes connection comparison between generated slave connections and persistent slave connections, as persistent slave connections won't have any IP configuration.
2013-12-02core: updating a Generic setting should set the interface nameDan Williams1-0/+8
Generic connections need an interface name, and that can only be stored in the Connection setting.
2013-12-02Revert "device: bind the generated loopback connection to 'lo' interface"Dan Williams1-6/+0
This reverts commit 9a019f1fb5b7d99a7d4ec7af89212402ea81793a. Generic connections should be bound to their interface names in a more generic way instead of in nm-device.c. The Generic device itself should set the attributes it needs when generating the connection, like other device types do. This will be done in a following commit.
2013-12-02keyfile: ensure slave connections have the right settingsDan Williams1-4/+31
If the connection describes a bridge/bond/team/etc slave, where the slave setting (like NMSettingBridgePort or NMSettingTeamPort) has all default values, the setting does not get written out because the plugin does not write default values. But then when reading the connection back in, we need to add that all-default slave type setting since it's required for a valid connection.
2013-12-02ifcfg-rh: write zero-value bridge and bridge port optionsDan Williams1-5/+5
Zero values are actually valid values for various bridge options and should be written out. Otherwise, when reading the property back in, it gets assigned the default value which is often not zero, causing the wrong value to be set in the connection. Only properties with default values should not be written out.
2013-12-02libnm-util: remove usage of NM_SETTING_PARAM_SERIALIZEDan Williams27-230/+223
The only property that is not serializes is each settings' 'name' property, so the flag serves no purpose.
2013-12-02core: print peer_address in NMPlatform address_to_stringThomas Haller1-2/+20
Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-12-02platform/core: add back support for PtP/peer addresses (rh #1018317)Dan Winship16-153/+118
In the migration to NMPlatform, support for ptp/peer addresses was accidentally dropped. This broke OpenVPN configurations using 'p2p' topology, which send a different peer address than the local address for tunX, plus the server may also push routes that use the peer address as the next hop. NetworkManager was unable to add these routes, because the kernel had no idea how to talk to the peer, because the peer's address was not assigned to any interface or reachable over any routes. Partly based on a patch from Dan Williams.
2013-12-02cli: fix nmcli help for connection object (rh #1036545)Jiří Klimeš1-1/+1
https://bugzilla.redhat.com/show_bug.cgi?id=1036545
2013-11-29manager: fix connection auto-activation in timestamp-based order (rh #1029854)Jiří Klimeš2-3/+11
This commit fixes a regression from a1f16cd4d9fff66d7feeee0846e554c9c3a5f998 (nm-policy.c change). https://bugzilla.redhat.com/show_bug.cgi?id=1029854
2013-11-29examples: update examples for new device typesJiří Klimeš3-2/+16
2013-11-29trivial: update a commentJiří Klimeš1-4/+3
2013-11-28nmcli: fix connecting VLANs without an explicit interface-name (rh #1034908)Jiří Klimeš1-5/+26
nm_connection_get_virtual_iface_name() doesn't work when determining virtual connections, because for VLANs it can return NULL. See also commit e1e4740648d3ee522c8a80d1af6282afce94f53d. https://bugzilla.redhat.com/show_bug.cgi?id=1034908
2013-11-28tools: enhance description for the nm-settings manual pageJiří Klimeš1-13/+28
2013-11-28tools: add team, team-port and dcb settings into generate-settings-spec.cJiří Klimeš1-6/+12