summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tui: add support for editing DSL connections (rh #1105753)danw/tui-pppoeDan Winship2014-09-127-2/+488
|
* tui: reorganize page-creation code a bitDan Winship2014-09-129-52/+66
| | | | | Allow each page type to specify whether it should be shown by default, letting us simplify NmtPageMain.
* tui: add support for borderless NmtNewtSectionsDan Winship2014-09-123-14/+49
|
* tui: fix a crashDan Winship2014-09-121-6/+10
| | | | NMSettingIP4Config:dns is NULL if no DNS servers are set
* dhcp: log DHCP client exit status betterJiří Klimeš2014-09-121-13/+22
|
* dhcp: fix dhclient abnormal exit due to SIGPIPE (bgo #735962)Jiří Klimeš2014-09-122-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | DHCP client may be killed by SIGPIPE when attempting to write to a broken pipe. This can be observed, for example, when journald is restarted. Fix that by redirecting both stdout and stderr to /dev/null. The client logs into syslog anyway. When NetworkManager is run with '--debug' we duplicate syslog to stderr, so the messages goes to terminal as well. Testcase: - start a NetworkManager service by systemd - activate an DHCP ethernet connection - sudo systemctl restart systemd-journald.service - reactive the ethernet connection (nmcli con up <my-eth>) - DHCP client is killed by SIGPIPE right after its startup: <info> (enp0s25): DHCPv4 client pid 13959 exited with status -1 <warn> DHCP client died abnormally Another possible fix would be ignoring SIGPIPE in the DHCP client as it is not useful in most cases. E.g. systemd ignores SIGPIPE for its services, by default: http://cgit.freedesktop.org/systemd/systemd/commit/?id=353e12c2f4a9e96a47eb80b80d2ffb7bc1d44a1b https://bugzilla.gnome.org/show_bug.cgi?id=735962
* build: fix build after "settings: create default wired connection..."Dan Williams2014-09-111-1/+0
| | | | Fix build broken by beb18050b5a00a704a74bff5c10919b44f087122
* merge: create internal device types with factories too (bgo #736289)Dan Williams2014-09-1147-863/+934
|\ | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=736289
| * tun: port to internal device factorydcbw/internal-device-factoriesDan Williams2014-09-115-38/+36
| |
| * gre: port to internal device factoryDan Williams2014-09-115-29/+28
| |
| * vxlan: port to internal device factoryDan Williams2014-09-115-28/+28
| |
| * macvlan: port to internal device factoryDan Williams2014-09-115-29/+28
| |
| * vlan: port to internal device factoryDan Williams2014-09-115-123/+122
| |
| * bond: port to internal device factoryDan Williams2014-09-115-62/+63
| |
| * bridge: port to internal device factoryDan Williams2014-09-115-75/+78
| |
| * infiniband: port to internal device factoryDan Williams2014-09-115-68/+68
| |
| * ethernet: port to internal device factoryDan Williams2014-09-115-30/+28
| |
| * veth: port to internal device factoryDan Williams2014-09-115-28/+28
| | | | | | | | | | We must port NMDeviceVeth before NMDeviceEthernet because veth is an ethernet subclass and uses symbols from nm-device-ethernet.c.
| * core: add support for internal device factoriesDan Williams2014-09-114-15/+121
| |
| * build: ensure device source file constructors can be linked and calledDan Williams2014-09-111-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc's linker does not add constructors from object files to the main executable if they are built into a convenience library and then the library is linked to the executable, unless something outside of the object file with the constructor references a symbol from the object file. http://osdir.com/ml/libtool-gnu/2011-06/msg00003.html "Yes, when convenience libraries are used to create a shared library, all the objects are included in the output, when the output is an application they are used like a normal archive library. Either use them to create a shared library or, if creating an application, don't use them, use the objects instead." Further patches will remove all references to the NMDevice subclasses from nm-manager.c, and have each NMDevice subclass register itself with a factory through a constructor. But due to the above issue, we need to somehow ensure the constructor in each nm-device-*.c file gets added to the executable. This is accomplished by explicitly linking each NMDevice subclass' object file into the main executable. (Note that we cannot use -Wl,-whole-archive here because libtool only supports this option for linking a convenience library to a shared library, but not to an executable, and will actively prevent using -whole-archive in LDFLAGS)
| * core: pass parent to device factories when creating devices for connectionsDan Williams2014-09-114-3/+9
| | | | | | | | We'll use it later for InfiniBand and VLAN.
| * core: split out device factory registration functionDan Williams2014-09-111-35/+45
| | | | | | | | | | We'll soon use it for both shared-library-based plugins, and internal device factories.
| * core: move device factory type function into factory objectDan Williams2014-09-1115-139/+127
| | | | | | | | | | | | | | | | | | | | | | | | In preparation for internal device types exposing factories too, it's easier to have the device type that the factory creates be returned by the factory object instead of the plugin, because internal device types don't have plugins. This requires that we create the factory objects earlier, which further requires that any operations that trigger signals must be moved out of each factory's construction path to a separate start() function.
| * settings: create default wired connection from NMDeviceEthernetDan Williams2014-09-1112-125/+120
| | | | | | | | | | | | | | | | | | | | Instead of creating it in NMSettings, where we must use NM_IS_DEVICE_ETHERNET() (not NM_DEVICE_TYPE_ETHERNET because various generic devices masquerade as NM_DEVICE_TYPE_ETHERNET too), push knowledge of which device types create default wired connections into the device types themselves. This solves a problem with testcases where libNetworkManager.a (which testcases link to) requires the symbol nm_type_device_ethernet().
| * trivial: spacing and code cleanups in nm-manager.hDan Williams2014-09-112-67/+29
|/ | | | Remove some dead code and a redundant function.
* merge: consolidate searching for helper programs (bgo #734131)Dan Williams2014-09-1115-241/+149
|\ | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=734131
| * core: search for arping binary too (bgo #734131)dcbw/helper-searchDan Williams2014-09-111-1/+9
| |
| * core: consolidate helper progam searching (bgo #734131)Dan Williams2014-09-1115-240/+140
|/ | | | | | | | | | Instead of having basically the same code in a bunch of different place to find helper programs, just have one place do it. Yes, this does mean that the same sequence of paths is searched for all helpers (so for example, dnsmasq will no longer be found first in /usr/local) but I think consistency is the better option here. https://bugzilla.gnome.org/show_bug.cgi?id=734131
* libnm-core: allow G_TYPE_STRV to be NULLJiří Klimeš2014-09-101-3/+4
| | | | | | | | | | | | | Otherwise we assert in _nm_utils_strv_to_slist() when setting a property, using the code like: g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (param_spec)); g_param_value_set_default (param_spec, &value); g_object_set_property (G_OBJECT (setting), prop, &value); e.g: nmcli con mod my_profile eth.mac-address-blacklist "02:14:20:e6:16:83" (changed by commit 6a4127cfa063a77e3ee886a999441c71f6a0e11c)
* ifcfg-rh: fix reading HWADDR_BLACKLISTJiří Klimeš2014-09-104-23/+84
| | | | | | | Adding GSList to the property may crash NetworkManager. Also check MAC addresses and filter out the invalid ones. (broken by commit 6a4127cfa063a77e3ee886a999441c71f6a0e11c)
* nm-utils: add a wrapper for g_strsplit_set() removing empty strings from arrayJiří Klimeš2014-09-102-2/+41
| | | | | | | g_strsplit_set() puts empty strings ("") into the resulting string array when a delimiter character appears as the first or last character in the string or when there are adjacent delimiter characters. However, this is not what is useful in most cases.
* libnm: use g_return_if_fail() in a function returning voidJiří Klimeš2014-09-101-4/+4
|
* libnm: add test-secret-agent, glib-ify NMSecretAgent APIs (bgo #735916)Dan Winship2014-09-099-150/+1272
|\
| * libnm: start glib-ifying NMSecretAgent APIsDan Winship2014-09-096-170/+546
| | | | | | | | | | | | | | Make register() and unregister() have cancellable sync and async variants. And make NMSecretAgent implement GInitable/GAsyncInitable, and do the initial auto-registration as part of initialization rather than doing it asynchronously and emitting a signal.
| * libnm: add test-secret-agentDan Winship2014-09-094-3/+735
| | | | | | | | | | | | Implement some basic secret agent functionality in test-networkmanager-service.py, and add test-secret-agent to test that NMSecretAgent works as expected.
| * libnm: NMSecretAgent shouldn't check peer UID on session busDan Winship2014-09-091-3/+17
|/ | | | | | If an NMSecretAgent is attached to the session bus rather than the system bus, then it's presumably a test program, and so we don't want to check that the peer is root.
* libnm: drop NMObject:dbus-connection (bgo #735916)Dan Winship2014-09-098-124/+47
|\
| * libnm: drop NMObject:dbus-connectionDan Winship2014-09-098-116/+43
| | | | | | | | | | | | The only plausible use case for the NMObject:dbus-connection property is for using the session bus in test programs. So just drop it and use an environment variable to decide which bus to use instead.
| * libnm: assert that dbus_connection_allocate_data_slot() doesn't failDan Winship2014-09-091-9/+5
|/ | | | | | | dbus_connection_allocate_data_slot() can only fail on ENOMEM, in which case the immediately-following call to g_set_error() would also get ENOMEM and abort. So just simplify and assert that the libdbus call didn't fail.
* cli: fix ssid parameter processing in 'nmcli con add'Jiří Klimeš2014-09-091-11/+8
| | | | (broken by commit c43f88907be66f8f62a8edbe76ae2aec4ff61190)
* cli: fix MAC address validation (bgo #736275)Dan Winship2014-09-091-1/+1
| | | | | | | | | nm_utils_hwaddr_valid() accepts length while check_mac() mistakenly passes type. (broken by 3a54d050985d6ef2067b025571910a8ccd3cbd57) https://bugzilla.gnome.org/show_bug.cgi?id=736275
* libnm-core: fix DCB's _nm_setting_dcb_uint_array_from_dbus()Jiří Klimeš2014-09-081-21/+22
| | | | | | and rename functions to be clearer: set_uint_array() -> set_array_from_gvalue() take_uint_array() -> set_gvalue_from_array()
* Revert "libnm-core: fix NMSettingDcb"Jiří Klimeš2014-09-081-2/+2
| | | | This reverts commit b4bebbd02db258f09205d54e998e3f8f85d8f38c.
* contrib/rpm: use HTTPS for connectivity check URL (rh #1135777)Jiří Klimeš2014-09-051-1/+1
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=1135777
* trivial: alphabetize the nm-*.xml files in introspection/Makefile.amDan Winship2014-09-051-22/+21
|
* libnm-core: fix NMSettingDcbDan Winship2014-09-051-2/+2
| | | | This got broken in the libnm-props changes (specifically 22b92a75).
* libnm: handle all-default settings in nm_setting_to_hash() properlyThomas Haller2014-09-052-7/+1
| | | | | | | | | | | | | | | | | | Before, _nm_setting_to_dbus() would return NULL instead of an empty hash. This would be the case, if all properties are default. When exporting connections via DBUS, we eventually call _nm_setting_to_dbus() to convert the connection into a hash of hashes. By _nm_setting_to_hash() converting empty hashes to NULL, the setting is missing. Not returning empty hashes means that to_dbus() and new_from_dbus() don't make a valid round-trip conversion. Fix that by always returning a hash from _nm_setting_to_dbus() https://bugzilla.gnome.org/show_bug.cgi?id=735255 See-also: 4d32618264d7ca169036347a25f38689cce632f3 Signed-off-by: Thomas Haller <thaller@redhat.com>
* examples: fix python GI examples to work after libnm changesJiří Klimeš2014-09-055-76/+56
|
* libnm: add missing (transfer) annotations for return valuesJiří Klimeš2014-09-052-13/+17
|
* utils: use gssize (signed) 'len' parameter in nm_ethernet_address_is_valid()Jiří Klimeš2014-09-052-8/+11
| | | | Fix copyright statement too.