| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Allow each page type to specify whether it should be shown by default,
letting us simplify NmtPageMain.
|
| |
|
|
|
|
| |
NMSettingIP4Config:dns is NULL if no DNS servers are set
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Fix build broken by beb18050b5a00a704a74bff5c10919b44f087122
|
|\
| |
| |
| | |
https://bugzilla.gnome.org/show_bug.cgi?id=736289
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
We must port NMDeviceVeth before NMDeviceEthernet because veth is
an ethernet subclass and uses symbols from nm-device-ethernet.c.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| | |
We'll use it later for InfiniBand and VLAN.
|
| |
| |
| |
| |
| | |
We'll soon use it for both shared-library-based plugins, and internal
device factories.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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().
|
|/
|
|
| |
Remove some dead code and a redundant function.
|
|\
| |
| |
| | |
https://bugzilla.gnome.org/show_bug.cgi?id=734131
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
| |
Adding GSList to the property may crash NetworkManager. Also check MAC
addresses and filter out the invalid ones.
(broken by commit 6a4127cfa063a77e3ee886a999441c71f6a0e11c)
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
Implement some basic secret agent functionality in
test-networkmanager-service.py, and add test-secret-agent to test that
NMSecretAgent works as expected.
|
|/
|
|
|
|
| |
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.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
| |
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.
|
|
|
|
| |
(broken by commit c43f88907be66f8f62a8edbe76ae2aec4ff61190)
|
|
|
|
|
|
|
|
|
| |
nm_utils_hwaddr_valid() accepts length while check_mac() mistakenly passes
type.
(broken by 3a54d050985d6ef2067b025571910a8ccd3cbd57)
https://bugzilla.gnome.org/show_bug.cgi?id=736275
|
|
|
|
|
|
| |
and rename functions to be clearer:
set_uint_array() -> set_array_from_gvalue()
take_uint_array() -> set_gvalue_from_array()
|
|
|
|
| |
This reverts commit b4bebbd02db258f09205d54e998e3f8f85d8f38c.
|
|
|
|
| |
https://bugzilla.redhat.com/show_bug.cgi?id=1135777
|
| |
|
|
|
|
| |
This got broken in the libnm-props changes (specifically 22b92a75).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
| |
Fix copyright statement too.
|