Commit graph

11683 commits

Author SHA1 Message Date
Thomas Haller
3d17c73576 core/logging: adjust log line about loading setting plugins
We have different kinds of plugins (settings, dhcp, dns).
Clearify, that we are about to load "settings" plugins.

(cherry picked from commit e9b9d9b627)
2015-05-13 18:44:02 +02:00
Thomas Haller
bd83000816 core/logging: downgrade some <info> loggings to <debug>
These logging statements are compile time dependent and
add little informational value.

(cherry picked from commit d8e1d9b469)
2015-05-13 18:43:57 +02:00
Thomas Haller
80aaf076cf device: expose nm_device_has_capability() function
(cherry picked from commit 756b756c2c)
2015-05-13 18:43:51 +02:00
Thomas Haller
0c227e6b62 device: use NMDeviceCapabilities enum for device capabilities
(cherry picked from commit 2117bef864)
2015-05-13 18:43:40 +02:00
Thomas Haller
8be0592107 merge branch 'backport' into nm-1-0
Backport a few bug fixes from master.

Also backport the valgrind suppression file and changes to platform's
'test-common.c'.
2015-05-13 16:09:28 +02:00
Thomas Haller
b67d017619 platform/test: include call location in signal assertions
Hard to debug failures, if we don't print where the failure
happens.

(cherry picked from commit 500cbcba21)

Conflicts:
	src/platform/tests/test-common.c
2015-05-13 16:07:36 +02:00
Thomas Haller
adc145f537 platform/test: make asserting signals more flexible
Support accepting more then one signal at a time.
It is to be expected, that one change in platform raises
several signals. Extend the assertion helpers to express
that.

(cherry picked from commit 050c644cce)
2015-05-13 16:07:36 +02:00
Thomas Haller
5b068e82e5 test: fix wrong use of memcmp() in nmtst_platform_ip4_routes_equal()
And nmtst_platform_ip6_routes_equal().

As already indicated by the comment, using memcmp() doesn't really work
here. It worked up to now, because the NMPlatformIP4Route structure has no
padding at the end.

If we would have a last 'guint8' member (as we will add later),
initializing an arry of routes on the stack would not clear the bytes
from the padding and the comparison using memcmp() would fail.

(cherry picked from commit d8d0c481b8)
2015-05-13 16:07:36 +02:00
Thomas Haller
495209c145 platform: fix nm_platform_link_cmp() to consider ifindex
(cherry picked from commit f167346534)
2015-05-13 16:07:36 +02:00
Thomas Haller
2a8e698b76 valgrind: disable suppression for libnl
Not sure why (and whether!) this is really needed. Disable
it for now, resurrect it later if need be.

(cherry picked from commit bde42e78db)
2015-05-13 16:07:36 +02:00
Thomas Haller
7234352fd7 platform: fix memleak in link_delete()
Turns out, the valgrind suppression was hiding a memleak

(cherry picked from commit 0c258402c7)
2015-05-13 16:07:36 +02:00
Thomas Haller
c40e32c275 config: fix memleak of keyfile in finalize() of NMConfigData
Fixes: 9809eb4da1
2015-05-13 16:07:35 +02:00
Thomas Haller
272d2c83f1 valgrind: add libnl suppression
Add a comment about the upstream bug that fixes
the suppressed memleak in libnl.

Also, add a different backtrace for the same bug.
It currently doesn't hit easily, because we don't
call nl_msg_parse() often. In the future we will
though.

(cherry picked from commit 8e2ad8a3bd)
2015-05-13 16:07:35 +02:00
Thomas Haller
4ffc6f85c7 trivial: add comment to valgrind suppression file
(cherry picked from commit 815b436c0a)
2015-05-13 16:07:35 +02:00
Thomas Haller
f9ef0914b5 valgrind: add libnl suppression
Got this on F21, libnl 3.2.25-5.fc21

(cherry picked from commit 0731da16fa)
2015-05-13 16:07:35 +02:00
Thomas Haller
0f90e60df9 platform/test: refactor detection of root-test
(cherry picked from commit 313af401d3)
2015-05-13 16:07:35 +02:00
Piotr Drąg
c0917a075b po: update Polish (pl) translation (bgo #749164)
https://bugzilla.gnome.org/show_bug.cgi?id=749164
(cherry picked from commit 10d03ed5f5)
2015-05-12 13:06:51 +02:00
Dan Williams
5e7e59b040 build: correct help message about missing readline + termcap libraries
(cherry picked from commit 21fef6a357)
2015-05-11 10:33:51 -05:00
Lubomir Rintel
14c2c6f3f9 trivial: remove a tautological compare
Unsigned enum is always >= 0.

(cherry picked from commit a43f95b0ac)
2015-05-11 15:31:16 +02:00
Lubomir Rintel
342509559f device: make sure NMDevice doesn't vanish halfway through applying configuration
It could be that the device was removed and the default route manager holds the
last reference:

  Breakpoint 1, dispose (object=0x90e710 [NMDeviceTun]) at devices/nm-device.c:8588
  8588            NMDevice *self = NM_DEVICE (object);
  (gdb) bt
  #0  0x000000000045d24e in dispose (object=0x90e710 [NMDeviceTun]) at devices/nm-device.c:8588
  #1  0x00007ffff4d29b7c in g_object_unref (_object=0x90e710) at gobject.c:3133
  #2  0x00000000004b0a61 in _entry_at_idx_remove (entry=<optimized out>) at nm-default-route-manager.c:192
  #3  0x00000000004b0a61 in _entry_at_idx_remove (vtable=<optimized out>, self=<optimized out>, entry_idx=<optimized out>) at nm-default-route-manager.c:638
  #4  0x00000000004adb51 in _ipx_update_default_route (vtable=0x7b1850 <vtable_ip6>, self=0x7da610 [NMDefaultRouteManager], source=<optimized out>) at nm-default-route-manager.c:814
  #5  0x0000000000459ccb in nm_device_set_ip6_config (self=0x90e710 [NMDeviceTun], new_config=<optimized out>, commit=<optimized out>, reason=<optimized out>) at devices/nm-device.c:6213
  #6  0x0000000000450c92 in ip6_config_merge_and_apply (self=0x90e710 [NMDeviceTun], commit=0, out_reason=0x0) at devices/nm-device.c:3670
  #7  0x0000000000452d06 in update_ip_config (self=0x90e710 [NMDeviceTun], initial=<optimized out>) at devices/nm-device.c:6915
  #8  0x000000000046253e in queued_ip_config_change (user_data=<optimized out>) at devices/nm-device.c:6945
  #9  0x00007ffff4a257fb in g_main_context_dispatch (context=0x7ca3e0) at gmain.c:3111
  #10 0x00007ffff4a257fb in g_main_context_dispatch (context=context@entry=0x7ca3e0) at gmain.c:3710
  #11 0x00007ffff4a25b98 in g_main_context_iterate (context=0x7ca3e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3781
  #12 0x00007ffff4a25ec2 in g_main_loop_run (loop=0x7ca4a0) at gmain.c:3975
  #13 0x0000000000444bbe in main (argc=<optimized out>, argv=<optimized out>) at main.c:486
  (gdb)

  Program received signal SIGTRAP, Trace/breakpoint trap.
  g_logv (log_domain=0x7ffff4d4f164 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=args@entry=0x7fffffffd5b0) at gmessages.c:1046
  1046              g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
  (gdb) bt
  #0  0x00007ffff4a2c970 in g_logv (log_domain=0x7ffff4d4f164 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=args@entry=0x7fffffffd5b0) at gmessages.c:1046
  #1  0x00007ffff4a2cbaf in g_log (log_domain=log_domain@entry=0x7ffff4d4f164 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=format@entry=0x7ffff4d563b0 "invalid unclassed pointer in cast to '%s'") at gmessages.c:1079
  #2  0x00007ffff4d481f9 in g_type_check_instance_cast (type_instance=0x90e710, iface_type=<optimized out>) at gtype.c:4030
  #3  0x0000000000459ceb in nm_device_set_ip6_config (self=0x90e710, new_config=<optimized out>, commit=<optimized out>, reason=0x0) at devices/nm-device.c:6217
  #4  0x0000000000450c92 in ip6_config_merge_and_apply (self=0x90e710, commit=0, out_reason=0x0) at devices/nm-device.c:3670
  #5  0x0000000000452d06 in update_ip_config (self=0x90e710, initial=<optimized out>) at devices/nm-device.c:6915
  #6  0x000000000046253e in queued_ip_config_change (user_data=<optimized out>) at devices/nm-device.c:6945
  #7  0x00007ffff4a257fb in g_main_context_dispatch (context=0x7ca3e0) at gmain.c:3111
  #8  0x00007ffff4a257fb in g_main_context_dispatch (context=context@entry=0x7ca3e0) at gmain.c:3710
  #9  0x00007ffff4a25b98 in g_main_context_iterate (context=0x7ca3e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3781
  #10 0x00007ffff4a25ec2 in g_main_loop_run (loop=0x7ca4a0) at gmain.c:3975
  #11 0x0000000000444bbe in main (argc=<optimized out>, argv=<optimized out>) at main.c:486
  (gdb)

https://bugzilla.gnome.org/show_bug.cgi?id=748193
(cherry picked from commit 6fba9fd2e5)
2015-05-11 10:44:26 +02:00
Jan Alexander Steffens (heftig)
59b64ffa82 dns: fix falling back in the resolv.conf methods 2015-05-06 14:28:24 -05:00
Thomas Haller
02877dcd30 core: merge branch 'th/waitpid-bgo748885'
https://bugzilla.gnome.org/show_bug.cgi?id=748885

(cherry picked from commit 4d4f5fff5c)
2015-05-05 17:18:42 +02:00
Thomas Haller
db87f280f0 dispatcher: repeat waitpid() call on EINTR
Also, no use of first trying to kill() with signal zero. Just
send SIGKILL right away.

(cherry picked from commit 22bfe2feb2)
2015-05-05 17:17:41 +02:00
Thomas Haller
57518271d6 dns-manager: fail dns config if netconfig exits with non-zero status
If netconfig does not exit with zero status signal, assume
configuration failed and signal an error.

(cherry picked from commit 5f0c23f106)
2015-05-05 17:17:41 +02:00
Thomas Haller
20ff7d9688 dns-manager: use nm_utils_kill_child_sync() to wait for netconfig to exit
(cherry picked from commit 6b646a1e37)

Conflicts:
	src/dns-manager/nm-dns-manager.c
2015-05-05 17:17:07 +02:00
Thomas Haller
69f92f131a utils: preserve errno in nm_utils_kill_child_sync()
(cherry picked from commit ca4361bd53)
2015-05-05 17:16:29 +02:00
Thomas Haller
07433c81c7 config: fix filename order for config-description
The configuration snippets are loaded in alphabetical order.
Fix the printed description to reflect that order. Otherwise,
NM logs at startup:

  <info>  Read config: /etc/NetworkManager/NetworkManager.conf and conf.d: 20-connectivity-fedora.conf, 10-ibft-plugin.conf

(cherry picked from commit 6b0f84bdda)
2015-05-05 17:13:11 +02:00
Lubomir Rintel
d546f8e2cc release: bump version to 1.0.3 2015-05-05 17:02:24 +02:00
Lubomir Rintel
33f9aab314 dns-manager: react to dns management mode changes
Load a different plugin when the configuration changes.

https://bugzilla.redhat.com/show_bug.cgi?id=1062301

(cherry picked from commit 73e8aeadba)
2015-05-05 16:59:45 +02:00
Lubomir Rintel
68d9a8edac config: move dns mode configuration to NMConfigData
This will make is possible for the NMDnsManager to watch for
configuration changes.

https://bugzilla.redhat.com/show_bug.cgi?id=1062301

(cherry picked from commit aa672b2dc2)
2015-05-05 16:59:42 +02:00
Lubomir Rintel
e224d96f69 config,connectivity: merge branch 'lr/nm-1-0-rh1066697_reload_config'
Refactor NMConfig to support reloading.

Implement reloading of NMConnectivity parameters

https://bugzilla.redhat.com/show_bug.cgi?id=1066697
2015-05-05 16:53:16 +02:00
Thomas Haller
d9f372f439 config: use flags argument in config-changed signal instead of a hash table
(cherry picked from commit 5b47462f32)
2015-05-05 16:51:54 +02:00
Thomas Haller
0efcf3c680 config: make NMConfig implement GInitable
(cherry picked from commit cc46b182ed)
2015-05-05 16:51:50 +02:00
Thomas Haller
41598c1f1a config: move no-auto-default to NMConfigData
With this change, NMConfig is really immutable and all
modifyable parts migrated to NMConfigData.

Another advantage is that components can now subscribe to
NMConfig changes to pickup changes to no-auto-default.

(cherry picked from commit 13c7f6a56d)
2015-05-05 16:51:43 +02:00
Thomas Haller
b85c3c4d6b config: refactor merging no_auto_default
(cherry picked from commit 49b3f5b8d9)
2015-05-05 16:51:39 +02:00
Thomas Haller
9809eb4da1 config: move keyfile values to NMConfigData
(cherry picked from commit ba74f9d242)
2015-05-05 16:51:33 +02:00
Thomas Haller
c9aca6f36b config: add new function nm_config_data_diff()
(cherry picked from commit 045a576a7a)
2015-05-05 16:51:28 +02:00
Thomas Haller
0ca82739d5 config: move main_file and description to NMConfigData
Every reload might change the main_file and description.
Move those properties to NMConfigData.

(cherry picked from commit 56f5fba723)
2015-05-05 16:51:21 +02:00
Thomas Haller
30a4786468 config: refactor reloading not to create a second NMConfig instance
(cherry picked from commit 699b12ddc9)
2015-05-05 16:51:15 +02:00
Thomas Haller
c2d7454760 config: minor refactoring to highlight mutable property no_auto_default of NMConfig
(cherry picked from commit 83996c621c)
2015-05-05 16:51:10 +02:00
Thomas Haller
8ba5e062b2 config: refactor read_entire_config() to merge command line options
(cherry picked from commit 64520b7ba4)
2015-05-05 16:51:05 +02:00
Thomas Haller
f166c007fb config: refactor to inject NMConfigCmdLineOptions to NMConfig constructor
(cherry picked from commit 4429f8aea5)
2015-05-05 16:51:00 +02:00
Thomas Haller
ca6f06d069 config: refactor nm_config_new() by extracting function read_entire_config()
(cherry picked from commit 40dc4c3242)
2015-05-05 16:50:55 +02:00
Thomas Haller
cfc435be0b config: refactor nm_config_new() by extracting function _get_config_dir_files()
(cherry picked from commit ef57828442)
2015-05-05 16:50:50 +02:00
Thomas Haller
83edb5aee3 config/trivial: rename variables for configuration file
The name "nm_conf_path" and cli.config_path" were not consistent.
Rename them both to "config_main_file".

(cherry picked from commit 3714a6c7bd)
2015-05-05 16:50:25 +02:00
Thomas Haller
67c4398170 config: refactor read_config() to make it independent from NMConfig
(cherry picked from commit 3c7f71e44a)
2015-05-05 16:50:20 +02:00
Thomas Haller
244cc0171a config: implement reloading of connectivity parameters
(cherry picked from commit b814c3122a)
2015-05-05 16:50:15 +02:00
Thomas Haller
b18de2309a connectivity: make NMConnectivity independent of NMConfig
(cherry picked from commit ac9dd4c832)
2015-05-05 16:50:10 +02:00
Thomas Haller
63293bba19 config: add support for reloading of configuration
No actual reloading is yet implemented. Later we will decide
on specific configuration parameters where we support reloading.
They must be then implemented one-by-one.

Some configuration parameters can be set via command line.
If a parameter is set from command line, the original value
from command line will still be preserved after reloading.

(cherry picked from commit 82cfd5ad47)
2015-05-05 16:50:03 +02:00
Thomas Haller
3a5fb56b60 config: add handler for SIGHUP and a reload-configuration stub
(cherry picked from commit d62022e28a)
2015-05-05 16:49:58 +02:00