Commit Graph

11890 Commits

Author SHA1 Message Date
Thomas Haller
699b12ddc9 config: refactor reloading not to create a second NMConfig instance 2015-02-03 13:01:53 +01:00
Thomas Haller
83996c621c config: minor refactoring to highlight mutable property no_auto_default of NMConfig 2015-02-03 13:01:53 +01:00
Thomas Haller
64520b7ba4 config: refactor read_entire_config() to merge command line options 2015-02-03 13:01:53 +01:00
Thomas Haller
4429f8aea5 config: refactor to inject NMConfigCmdLineOptions to NMConfig constructor 2015-02-03 13:01:53 +01:00
Thomas Haller
40dc4c3242 config: refactor nm_config_new() by extracting function read_entire_config() 2015-02-03 13:01:53 +01:00
Thomas Haller
ef57828442 config: refactor nm_config_new() by extracting function _get_config_dir_files() 2015-02-03 13:01:53 +01:00
Thomas Haller
3714a6c7bd 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".
2015-02-03 13:01:53 +01:00
Thomas Haller
3c7f71e44a config: refactor read_config() to make it independent from NMConfig 2015-02-03 13:01:53 +01:00
Thomas Haller
b814c3122a config: implement reloading of connectivity parameters 2015-02-03 13:01:53 +01:00
Thomas Haller
ac9dd4c832 connectivity: make NMConnectivity independent of NMConfig 2015-02-03 13:01:53 +01:00
Thomas Haller
82cfd5ad47 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.
2015-02-03 13:01:53 +01:00
Thomas Haller
d62022e28a config: add handler for SIGHUP and a reload-configuration stub 2015-02-03 13:01:53 +01:00
Thomas Haller
50fce5a860 config: use NMConfigData in NMConfig 2015-02-03 13:01:53 +01:00
Thomas Haller
076478505d config: add new NMConfigData class
The NMConfig class should be immutable and its properties should
not change, with one exception: the NMConfigData property.

Later, when changing/reloading a configuration, NMConfig will only swap
the NMConfigData instance.

The NMConfigData instance itself is also immutable.
2015-02-03 13:01:53 +01:00
Thomas Haller
1ff5154369 config: add nm_config_setup() to initialize config singleton
Make nm_config_new() usable without accessing static/singleton data.

nm_config_setup() is now used to initialize the singleton.
Still, you must not call nm_config_get() before calling
nm_config_setup() or after freeing the provided singleton
instance.
2015-02-03 13:01:53 +01:00
Thomas Haller
9387e8e8a7 config/trivial: fix returning FALSE instead of NULL in nm_config_new() 2015-02-03 13:01:53 +01:00
Thomas Haller
643f042b9b config: fix memory leak in merge_no_auto_default_state() 2015-02-03 13:01:53 +01:00
Thomas Haller
86ac1ad7bd config: forward declare NMConfig in nm-types.h 2015-02-03 13:01:53 +01:00
Thomas Haller
3ed4aa271a connectivity: add logging macros to nm-connectivity.c
They add a common prefix to all logging lines.
2015-02-03 13:01:52 +01:00
Thomas Haller
5ee18c124b connectivity: refactor handling parameters of NMConnectivity
Currently the three parameters for the connectivity check (uri, interval, response)
don't get reset. Soon they might be modified at any time when reloading the
configuration.

When calling the asynchronous HTTP connectivity check, we want to
preserve the original parameters so that the result callback still can
access them later. Pass the uri and response parameter on as
ConCheckCbData.
2015-02-03 13:01:52 +01:00
Thomas Haller
78e3b4866a connectivity: refactor converting connectivity states to string 2015-02-03 13:01:52 +01:00
Thomas Haller
a79e9fdbb0 connectivity: add missing G_PARAM_CONSTRUCT for NM_CONNECTIVITY_URI property 2015-02-03 13:01:52 +01:00
Thomas Haller
7aab5bc81c connectivity/trivial: fix white space and line-break in nm-connectivity.c 2015-02-03 13:01:52 +01:00
Thomas Haller
3dce101f6b connectivity: make NMConnectivity:dispose() reentrant 2015-02-03 13:01:52 +01:00
Thomas Haller
6cb5db60de connectivity: add code comment to nm_connectivity_check_cb() 2015-02-03 13:01:52 +01:00
Thomas Haller
205c109741 ibft: avoid logging multiple lines when ibft fails
In case of error, ibft prints an error message to stderr
with two trailing newlines. This causes multiple lines
in our logfile. Replace newlines in the error message
by whitespaces.
2015-02-03 12:58:23 +01:00
Yuri Chornoivan
5803854761 po: updated Ukranian translation (bgo #743852)
https://bugzilla.gnome.org/show_bug.cgi?id=743852
2015-02-03 12:44:58 +01:00
Ankit Patel
7274ffedcd po: update Gujarati translation 2015-02-03 12:31:07 +01:00
Hedda Peters
c7e89c6e65 po: update German (de) translation 2015-02-03 12:30:42 +01:00
Dan Williams
b03a4c3f0a core: fix WiMAX enabled state file property name
The manager wrote the user state to the state file in /var with
the key "WiMAXEnabled", but it was read from the state file as
"WimaxEnabled".  Clearly that's not going to work.
2015-02-02 09:50:36 +01:00
Thomas Haller
5439fbd77c build: add compile option to disable building of Wi-Fi plugin
Before, the Wi-Fi plugin was always build. Users who didn't want
to use it would simply drop "libnm-device-plugin-wifi.so".

Add a compile time option to disable needlessly building the plugin.

https://bugzilla.gnome.org/show_bug.cgi?id=743388
2015-01-30 22:20:13 +01:00
Thomas Haller
b3944cfc71 manager: fix impl_manager_add_and_activate_connection()
Note also the comment "Just make sure we don't expect specific data being
in the connection till then (especially in validate_activation_request())."
in impl_manager_add_and_activate_connection().

Creating a connection caused a failed assertion:

  #0  0x00007ff8da3aa4e9 in g_logv (log_domain=0x7ff8ddf41036 "NetworkManager", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7ffff5a0a090) at gmessages.c:989
  #1  0x00007ff8da3aa63f in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at gmessages.c:1025
  #2  0x00007ff8dde8c47a in nm_utils_get_ip_config_method (connection=0x7ff8def21d20, ip_setting_type=140706868598912) at NetworkManagerUtils.c:1252
  #3  0x00007ff8dde7d654 in validate_activation_request (self=0x7ff8def62150, context=0x7ff8deff5a00, connection=0x7ff8def21d20, device_path=0x7ff8def3f770 "/org/freedesktop/NetworkManager/Devices/2", out_device=0x7ffff5a0a370,
      out_vpn=0x7ffff5a0a36c, error=0x7ffff5a0a378) at nm-manager.c:3061
  #4  0x00007ff8dde7b7a2 in impl_manager_add_and_activate_connection (self=0x7ff8def62150, settings=0x7ff8def95460, device_path=0x7ff8def3f770 "/org/freedesktop/NetworkManager/Devices/2",
      specific_object_path=0x7ff8deeeced0 "/org/freedesktop/NetworkManager/AccessPoint/227", context=0x7ff8deff5a00) at nm-manager.c:3386
  #5  0x00007ff8dde6bd9c in dbus_glib_marshal_nm_manager_VOID__BOXED_BOXED_BOXED_POINTER (closure=0x7ffff5a0a5f0, return_value=0x0, n_param_values=5, param_values=0x7ff8defb9d30, invocation_hint=0x0,
      marshal_data=0x7ff8dde7b660 <impl_manager_add_and_activate_connection>) at ./nm-manager-glue.h:189
  #6  0x00007ff8dc506885 in invoke_object_method (message=0x7ff8def99a00, connection=0x7ff8deeec940, method=0x7ff8de1a6878 <dbus_glib_nm_manager_methods+72>, object_info=0x7ff8de1a2e70 <dbus_glib_nm_manager_object_info>,
      object=0x7ff8def62150) at dbus-gobject.c:1899
  #7  object_registration_message (connection=0x7ff8deeec940, message=message@entry=0x7ff8def99a00, user_data=user_data@entry=0x7ff8def16da0) at dbus-gobject.c:2161
  #8  0x00007ff8dc2cef86 in _dbus_object_tree_dispatch_and_unlock (tree=0x7ff8deeec5e0, message=message@entry=0x7ff8def99a00, found_object=found_object@entry=0x7ffff5a0a814) at dbus-object-tree.c:862
  #9  0x00007ff8dc2c10d9 in dbus_connection_dispatch (connection=connection@entry=0x7ff8deeec940) at dbus-connection.c:4699
  #10 0x00007ff8dc503d65 in message_queue_dispatch (source=source@entry=0x7ff8deeee720, callback=<optimized out>, user_data=<optimized out>) at dbus-gmain.c:90
  #11 0x00007ff8da3a32a6 in g_main_dispatch (context=0x7ff8deebd320) at gmain.c:3066
  #12 g_main_context_dispatch (context=context@entry=0x7ff8deebd320) at gmain.c:3642
  #13 0x00007ff8da3a3628 in g_main_context_iterate (context=0x7ff8deebd320, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
  #14 0x00007ff8da3a3a3a in g_main_loop_run (loop=0x7ff8deebd3e0) at gmain.c:3907
  #15 0x00007ff8dddc0979 in main (argc=1, argv=0x7ffff5a0afd8) at main.c:442

Fixes: 477033b9ef
2015-01-30 22:04:10 +01:00
Jiří Klimeš
6be3d7cbad examples: add some examples in Lua using lgi library
[libnm]     https://developer.gnome.org/libnm/1.0/
[lgi]       https://github.com/pavouk/lgi
[lgi-guide] https://github.com/pavouk/lgi/blob/master/docs/guide.md

On most distribution just install lua-lgi.

Note:
There is a bug in lgi. It doesn't handle GPtrArray corectly. It results in
crashing on list-devices.lua and list-connections.lua.
I will send a patch to lgi to fix the issue.
2015-01-30 14:41:13 +01:00
Dan Williams
aba9dbc52e po: fix small error in Telugu translation
The fuzzy tag is wrong.
2015-01-29 18:21:06 -06:00
Dan Williams
a35c7cfee6 po: fix small issues in German translation
Remove one unused string, fix up another, and remove the fuzzy
tag on one that is OK.
2015-01-29 18:19:34 -06:00
Thomas Haller
9167b7d66b core: intern hyphen_name string in nm_properties_changed_signal_add_property() 2015-01-29 16:23:43 +01:00
Thomas Haller
cc12f5128c connectivity: fix memory leak in nm-connectivity.c 2015-01-29 14:59:42 +01:00
Thomas Haller
6519c2be0a config: fix memleak in read_config() 2015-01-29 14:59:42 +01:00
Thomas Haller
d1a0229083 ifcfg-rh: fix memleak in make_ip4_setting() 2015-01-29 14:59:42 +01:00
Thomas Haller
9d04d62255 ifcfg-rh: fix memleak in make_ip4_setting() 2015-01-29 14:59:42 +01:00
Thomas Haller
9dddb4a918 ifcfg-rh: fix memleak in devtimeout_from_file() 2015-01-29 14:59:42 +01:00
Thomas Haller
93223112a1 ifcfg-rh: fix memleak in connection_from_file_full() 2015-01-29 14:59:42 +01:00
Thomas Haller
1c10cc51ff auth: fix memleak in _new_unix_process() 2015-01-29 14:59:42 +01:00
Thomas Haller
fe5c51726f core: fix memleak releasing priv->path in NMIP4Config and NMIP6Config 2015-01-29 14:59:42 +01:00
Thomas Haller
c4e197d064 libnm: fix memleak in nm_utils_hwaddr_canonical() 2015-01-29 14:59:42 +01:00
Thomas Haller
8396c58167 core: fix memory leak in nm_properties_changed_signal_add_property()
valgrind complains (rightly):

    ==7702== 15 bytes in 2 blocks are definitely lost in loss record 411 of 6,278
    ==7702==    at 0x4A0645D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==7702==    by 0x8151E6E: g_malloc (gmem.c:104)
    ==7702==    by 0x816972E: g_strdup (gstrfuncs.c:364)
    ==7702==    by 0x1D6671: nm_properties_changed_signal_add_property (nm-properties-changed-signal.c:235)
    ==7702==    by 0x1AF2D5: nm_dbus_manager_register_exported_type (nm-dbus-manager.c:867)
    ==7702==    by 0x7EE0D3D: g_type_class_ref (gtype.c:2220)
    ==7702==    by 0x7EC9A78: g_object_new_valist (gobject.c:1928)
    ==7702==    by 0x7EC9C10: g_object_new (gobject.c:1559)
    ==7702==    by 0x14A5FC: new_link (nm-device-bridge.c:482)
    ==7702==    by 0x1CF8FD: platform_link_cb (nm-manager.c:2154)
    ==7702==    by 0x988FD8B: ffi_call_unix64 (unix64.S:76)
    ==7702==    by 0x988F6BB: ffi_call (ffi64.c:522)
2015-01-29 14:58:18 +01:00
Dan Winship
3debf80d82 libnm-core: fix docs typo 2015-01-29 07:01:41 -05:00
Lubomir Rintel
6771f836ce ip6-config: remove the link-local address on address flush
If it stays after device dispose a connection is assumed.

https://bugzilla.redhat.com/show_bug.cgi?id=1184997
2015-01-28 17:53:25 +01:00
Thomas Haller
8eba28b9bd contrib/rpm: add 10-ibft-plugin.conf config file
Taken from rhel-7.1 package
2015-01-28 13:20:19 +01:00
Jiří Klimeš
0acdd0e1e3 libnm-core: coverity fix
var_deref_op: Dereferencing null pointer "property->param_spec".
2015-01-28 08:57:23 +01:00