Dan Williams
ec1185d6dd
libnm: remove erroneous nm_manager_get_all_devices()
...
None of the libnm NMManager functions are exported, as they are only
used internally.
Fixes: 4db851f852
2016-01-20 12:27:05 -06:00
Dan Williams
701c05ad69
build: remove spurious comma from configure.ac
2016-01-20 12:21:40 -06:00
Dan Williams
3b3f108dfd
docs, trivial: fix some documentation issues
2016-01-20 11:27:22 -06:00
Dan Williams
0a12a1711c
libnm-core,core,cli: fix spelling of NM_IP_TUNNEL_MODE_UNKNOWN
...
Fixes: b614a5ec61
Fixes: ae8c7a8967
Fixes: 570fdce93f
2016-01-20 11:27:22 -06:00
Dan Williams
b610d2dc0c
docs: ignore some private libnm & libnm-core headers
2016-01-20 11:27:21 -06:00
Dan Williams
d59c1d4c8a
libnm,vpn: restore export of deprecated NMVpnPluginOld symbols
...
Deprecated of course, but shouldn't have been removed from the ABI.
Fixes: 867227dd4a
2016-01-20 11:26:49 -06:00
Lubomir Rintel
0f199943de
Revert "Set the default powersave value to enabled"
...
libnm-core & more discussion were missing; backing out for now.
This reverts commit 15ab4bda5b .
2016-01-20 13:53:40 +01:00
Beniamino Galvani
80e8b9cca9
merge: branch 'bg/ipv4-dad-rh1259063'
...
Add support for detecting IPv4 duplicate addresses.
https://bugzilla.redhat.com/show_bug.cgi?id=1259063
2016-01-20 11:57:13 +01:00
Beniamino Galvani
75068a085a
device: detect duplicate IPv4 addresses when method=auto
2016-01-20 11:53:47 +01:00
Beniamino Galvani
28f6e8b4d2
device: detect duplicate IPv4 addresses when method=manual
2016-01-20 11:53:47 +01:00
Beniamino Galvani
83b712aa42
core: add test for NMArpingManager
2016-01-20 11:53:47 +01:00
Beniamino Galvani
7a0fe9b21e
core: add NMArpingManager
...
Add a new object which implements the logic for announcing IP
addresses and detecting duplicates using arping.
Based-on-patch-by: Jiří Klimeš <jklimes@redhat.com>
2016-01-20 11:53:47 +01:00
Jiří Klimeš
df6b0fa99e
cli: add support for new ipv4.dad-timeout property
2016-01-20 11:53:47 +01:00
Jiří Klimeš
adbbf3aa5c
ifcfg-rh: read/write ipv4.dad-timeout using ARPING_WAIT
...
ARPING_WAIT is used for DAD by Red Hat initscrips (ifup-eth).
2016-01-20 11:53:47 +01:00
Jiří Klimeš
31ea5a99cb
libnm: add NMSettingIPConfig 'dad-timeout' property
...
The property is used to control duplicate address detection:
* -1 means default value
* 0 means no DAD is performed
* > 0 means timeout (in milliseconds) for arping responses
[bgalvani: moved setting from NMSettingIP4Config]
2016-01-20 11:53:47 +01:00
Beniamino Galvani
f607a16994
device/macvlan: implement dispose()
...
When the object gets disposed, parent must be unreferenced and signals
disconnected.
Fixes: 4de8851eca
https://bugzilla.redhat.com/show_bug.cgi?id=1299803
2016-01-20 11:41:59 +01:00
Mathieu Trudel-Lapierre
15ab4bda5b
Set the default powersave value to enabled
...
This is an Ubuntu-specific patch to enable wireless powersave by default.
Should it not work for you for some reason, you can safely add:
powersave=0
to the section:
[802-11-wireless]
In the configuration file for your connection under
/etc/NetworkManager/system-connections/.
2016-01-20 11:27:47 +01:00
Thomas Haller
26721b8a88
core: use guint type for glib's source ids
2016-01-20 10:27:36 +01:00
Thomas Haller
a99a0d194d
dhcp: clear watch_id in child-watch callback
2016-01-20 10:27:36 +01:00
Beniamino Galvani
701d98acc5
device: fix check on device state in carrier_changed()
...
The function can now be called on unrealized devices before the
initial unmanaged flags are set and for those devices
nm_device_get_managed() will return TRUE. Since we only accept
states > UNMANAGED, return early when the condition is not met.
Fixes the following failed assertion:
carrier_changed: assertion 'priv->state >= NM_DEVICE_STATE_UNAVAILABLE' failed
https://bugzilla.gnome.org/show_bug.cgi?id=760844
2016-01-20 09:53:10 +01:00
Thomas Haller
7231626d31
core: use NM_GOBJECT_PROPERTIES_DEFINE()
2016-01-19 21:20:36 +01:00
Thomas Haller
f427909bf8
shared: add NM_GOBJECT_PROPERTIES_DEFINE()
...
Helper macros to define GObject property enum,
the obj_properties array, and a _notify() function.
We should move away from invoking property changed notifications by
string, as we already do for signals. This macro simplifies the
implementation of establishes a pattern for naming and usage.
2016-01-19 21:20:36 +01:00
Lubomir Rintel
ecd729706e
relese: fix NEWS formatting
...
The double spacing was probably a mistake. Also, there was an extra line break.
2016-01-19 15:10:35 +01:00
Lubomir Rintel
83d043b112
release: bump version to 1.1.90 (1.2-beta1)
2016-01-19 14:45:36 +01:00
Thomas Haller
76f90812f4
device: clear queued_state callback in dispose
...
dispose() calls _cleanup_generic_pre() which in turn already calls
nm_device_queued_state_clear(). So we would expect that at the end
of dispose() no queued-state is pending.
However, there there are crashes reports in queued_set_state() with the
device instance already destructed (rh#1270247). Add this check trying
to avoid the crash and closing in on the cause.
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1180827
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1270247
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1298009
2016-01-19 13:00:20 +01:00
Christian Kirbach
9e0ca0058b
po: update German (de) translation (bgo #760806 )
...
https://bugzilla.gnome.org/show_bug.cgi?id=760806
2016-01-19 12:04:28 +01:00
Beniamino Galvani
9bc5600aa4
man: document the effects of supported signals
2016-01-19 11:48:49 +01:00
Thomas Haller
1e90ef2043
device: remove unrealized device without connections on idle handler
...
Emitting the NM_DEVICE_REMOVED signal can cause the destruction of the
device, thus it should be emitted on an idle handler.
2016-01-19 11:38:29 +01:00
Thomas Haller
b0fc51841a
config: implement nm_config_change_flags_to_string() via NM_UTILS_FLAGS2STR_DEFINE()
2016-01-19 11:14:51 +01:00
Thomas Haller
a841d40039
callouts: always print the environment even if no scripts are present
...
Commit ac6522bbf1 moved logging of the environment
after the check for @error_message to avoid a crash. However, in case of no
scripts (request->scripts->len == 0) we still want to log the environment,
so move it back to where it was, but avoid the crash.
2016-01-19 11:01:33 +01:00
Lubomir Rintel
f7c76b372c
device: don't remove a devices on connection availability checks
...
The availability checks are called from places that don't assume the device
will be removed mid-air. Call the removal routine only when we're the very
last thing that's being done.
2016-01-18 21:09:28 +01:00
Lubomir Rintel
ac6522bbf1
dispatcher: only dump environment when there's no error
...
(gdb) bt
#0 0x00007f206bd1ec58 in handle_action (dbus_dispatcher=<optimized out>, context=0x7f2058003190, str_action=<optimized out>, connection_dict=0x7f205800bc40, connection_props=0x7f205800b900,
device_props=0x7f205800b150, device_ip4_props=0x7f205800b120, device_ip6_props=0x7f205800b0f0, device_dhcp4_props=0x7f205800b0c0, device_dhcp6_props=0x7f205800b090, vpn_ip_iface=0x7f206c257990 "",
vpn_ip4_props=0x7f205800b000, vpn_ip6_props=0x7f205800af90, request_debug=1, user_data=0x7f206c242980) at nm-dispatcher.c:722
#1 0x00007f2068313dac in ffi_call_unix64 () at ../src/x86/unix64.S:76
#2 0x00007f20683136d5 in ffi_call (cif=cif@entry=0x7ffdfde6d2f0, fn=<optimized out>, rvalue=0x7ffdfde6d260, avalue=avalue@entry=0x7ffdfde6d140) at ../src/x86/ffi64.c:522
#3 0x00007f2069ba4678 in g_cclosure_marshal_generic (closure=0x7f206c23a9e0, return_gvalue=0x7ffdfde6d440, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>,
marshal_data=0x0) at gclosure.c:1454
#4 0x00007f2069ba3e38 in g_closure_invoke (closure=0x7f206c23a9e0, return_value=return_value@entry=0x7ffdfde6d440, n_param_values=14, param_values=param_values@entry=0x7f206c256d10,
invocation_hint=invocation_hint@entry=0x7ffdfde6d490) at gclosure.c:768
#5 0x00007f2069bb575d in signal_emit_unlocked_R (node=node@entry=0x7f206c2505a0, detail=detail@entry=0, instance=instance@entry=0x7f206c2442a0, emission_return=emission_return@entry=0x7ffdfde6d5d0,
instance_and_params=instance_and_params@entry=0x7f206c256d10) at gsignal.c:3553
#6 0x00007f2069bbc641 in g_signal_emitv (instance_and_params=instance_and_params@entry=0x7f206c256d10, signal_id=signal_id@entry=6, detail=detail@entry=0, return_value=return_value@entry=0x7ffdfde6d5d0)
at gsignal.c:3048
#7 0x00007f206bd21aa1 in _nmdbus_dispatcher_skeleton_handle_method_call (connection=<optimized out>, sender=<optimized out>, object_path=<optimized out>,
interface_name=0x7f2058010b20 "org.freedesktop.nm_dispatcher", method_name=0x7f205800ab00 "Action", parameters=<optimized out>, invocation=0x7f2058003190, user_data=0x7f206c2442a0)
at nmdbus-dispatcher.c:1066
#8 0x00007f2069ec8ba6 in g_dbus_interface_method_dispatch_helper (invocation=0x7f2058003190, method_call_func=0x7f206bd218d0 <_nmdbus_dispatcher_skeleton_handle_method_call>, interface=0x7f206c2442a0)
at gdbusinterfaceskeleton.c:609
#9 skeleton_intercept_handle_method_call (connection=<optimized out>, sender=sender@entry=0x7f205800ee50 ":1.1007", object_path=object_path@entry=0x7f20580108d0 "/org/freedesktop/nm_dispatcher",
interface_name=interface_name@entry=0x7f2058010b20 "org.freedesktop.nm_dispatcher", method_name=method_name@entry=0x7f205800ab00 "Action", parameters=parameters@entry=0x7f205800af00,
invocation=invocation@entry=0x7f2058003190, user_data=user_data@entry=0x7f206c2442a0) at gdbusinterfaceskeleton.c:650
#10 0x00007f2069eb0bc1 in call_in_idle_cb (user_data=0x7f2058003190) at gdbusconnection.c:4873
#11 0x00007f20696a279a in g_main_dispatch (context=0x7f206c23f9a0) at gmain.c:3109
#12 g_main_context_dispatch (context=context@entry=0x7f206c23f9a0) at gmain.c:3708
#13 0x00007f20696a2ae8 in g_main_context_iterate (context=0x7f206c23f9a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3779
#14 0x00007f20696a2dba in g_main_loop_run (loop=0x7f206c23fa80) at gmain.c:3973
#15 0x00007f206bd1dcd4 in main (argc=1, argv=0x7ffdfde6da88) at nm-dispatcher.c:948
(gdb) print error_message
$4 = 0x7f206bd22980 "Missing or invalid required value path!"
(gdb)
2016-01-18 19:12:17 +01:00
Thomas Haller
988ad91976
manager: refactor construction of manager singleton instance
...
nm_manager_setup() should only call g_object_new() and leave
most of the initialization to the GObject constructor.
2016-01-18 18:12:15 +01:00
Thomas Haller
be9ff2c51a
manager: initilize NETWORKING_ENABLED as constructor paramter
2016-01-18 14:22:50 +01:00
Thomas Haller
c8e7957c63
core: add NMLOG macros to nm-manager.c
2016-01-18 14:04:56 +01:00
Thomas Haller
4b917123ef
platform: use NM_UTILS_ENUM2STR_DEFINE() to implement to-string functions
2016-01-18 13:10:18 +01:00
Thomas Haller
1d15d8c3ef
core: add nm_utils_enum2str()
2016-01-18 13:10:18 +01:00
Thomas Haller
94fabafc1a
platform: use RT_SCOPE_* names in nm_platform_route_scope2str()
2016-01-18 13:10:18 +01:00
Thomas Haller
262ba62708
core/trivial: add code comment explaining route-handling and gateway
2016-01-18 13:10:18 +01:00
Lubomir Rintel
636380d19d
release: update NEWS
2016-01-18 13:06:30 +01:00
Thomas Haller
320a3dee14
device: merge branch 'lr/default-unmanaged-bgo746566' (part 4)
...
Merge an early part of 'lr/default-unmanaged-bgo746566' to fix
issues related to realizing devices.
https://bugzilla.gnome.org/show_bug.cgi?id=746566
2016-01-18 11:56:26 +01:00
Thomas Haller
3d463e2f69
device: only set NMDevice as "real" at the end of nm_device_realize_finish()
...
Only set the device as "real" at the end of nm_device_realize_finish(),
not already during nm_device_realize_start()/realize_start_setup().
2016-01-17 22:40:09 +01:00
Thomas Haller
9c2266741b
device: cleanup unrealized device without connection
...
During nm_device_unrealize(), the connection might still
have some connections that only get removed later. We must
garbage collect unrealized devices when they loose their
available-connections, not during unrealize.
Fixes: 436ec5b8e3
2016-01-17 22:40:09 +01:00
Thomas Haller
eab9cca87c
device: refactor cp_connection* functions to use @self pointer
2016-01-17 22:40:09 +01:00
Thomas Haller
2292cb63bf
core: always unrealize software devices when platform link disappears
...
We possibly need the unrealized device for connections that need
this. nm_device_unrealize() will check if there are still any
available-connections and possibly emit DEVICE_REMOVED signal.
Fixes: 7e5f27a21c
2016-01-17 22:40:04 +01:00
Thomas Haller
7830b79d50
device: minor logging changes to device creation
2016-01-17 22:38:28 +01:00
Thomas Haller
ae7e468630
trivial: fix whitespace
2016-01-17 22:38:28 +01:00
Thomas Haller
7a2a96f8ef
platform/tests: add test for handling IPv4 zero gateways
...
Adding a route via iproute2 with explicit gateway 0.0.0.0
sets the route scope to GLOBAL, contrary to a on-link device-route
which has scope LINK.
Add a test adding two such routes.
2016-01-16 21:27:12 +01:00
Thomas Haller
4c79b605bc
platform: implement nmp_object_is_visible() based on nmp_object_is_alive()
...
An object should only be visible if it is also alive.
Hence, refactor nmp_object_is_visible() to be reject
object that fail nmp_object_is_alive().
2016-01-16 13:43:23 +01:00
Thomas Haller
3294e06c28
platform: add "link" scope to nm_platform_route_scope2str()
2016-01-16 13:43:23 +01:00