summaryrefslogtreecommitdiff
path: root/src/nm-config-data.c
diff options
context:
space:
mode:
authorJames Henstridge <james.henstridge@canonical.com>2017-08-09 15:19:54 +0800
committerThomas Haller <thaller@redhat.com>2017-08-17 22:31:47 +0200
commit9a58ee0705a5db75ce763eb2b24aec3f2c2028cb (patch)
tree523aa0108a5c498eb70f0b1330fc78e700885e17 /src/nm-config-data.c
parentc0ac4a2fdd530998bb6fa28f85d6f80467295550 (diff)
downloadNetworkManager-9a58ee0705a5db75ce763eb2b24aec3f2c2028cb.tar.gz
config: add an API to disable connectivity check via internal config file.
https://bugzilla.gnome.org/show_bug.cgi?id=785117
Diffstat (limited to 'src/nm-config-data.c')
-rw-r--r--src/nm-config-data.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/nm-config-data.c b/src/nm-config-data.c
index 21ad1a7346..de6f62f6d1 100644
--- a/src/nm-config-data.c
+++ b/src/nm-config-data.c
@@ -65,6 +65,7 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE (
PROP_CONFIG_DESCRIPTION,
PROP_KEYFILE_USER,
PROP_KEYFILE_INTERN,
+ PROP_CONNECTIVITY_ENABLED,
PROP_CONNECTIVITY_URI,
PROP_CONNECTIVITY_INTERVAL,
PROP_CONNECTIVITY_RESPONSE,
@@ -88,6 +89,7 @@ typedef struct {
MatchSectionInfo *device_infos;
struct {
+ gboolean enabled;
char *uri;
char *response;
guint interval;
@@ -238,6 +240,14 @@ nm_config_data_get_plugins (const NMConfigData *self, gboolean allow_default)
return _nm_utils_strv_cleanup (list, TRUE, TRUE, TRUE);
}
+gboolean
+nm_config_data_get_connectivity_enabled (const NMConfigData *self)
+{
+ g_return_val_if_fail (self, FALSE);
+
+ return NM_CONFIG_DATA_GET_PRIVATE (self)->connectivity.enabled;
+}
+
const char *
nm_config_data_get_connectivity_uri (const NMConfigData *self)
{
@@ -1380,7 +1390,8 @@ nm_config_data_diff (NMConfigData *old_data, NMConfigData *new_data)
|| g_strcmp0 (nm_config_data_get_config_description (old_data), nm_config_data_get_config_description (new_data)) != 0)
changes |= NM_CONFIG_CHANGE_CONFIG_FILES;
- if ( nm_config_data_get_connectivity_interval (old_data) != nm_config_data_get_connectivity_interval (new_data)
+ if ( nm_config_data_get_connectivity_enabled (old_data) != nm_config_data_get_connectivity_enabled (new_data)
+ || nm_config_data_get_connectivity_interval (old_data) != nm_config_data_get_connectivity_interval (new_data)
|| g_strcmp0 (nm_config_data_get_connectivity_uri (old_data), nm_config_data_get_connectivity_uri (new_data))
|| g_strcmp0 (nm_config_data_get_connectivity_response (old_data), nm_config_data_get_connectivity_response (new_data)))
changes |= NM_CONFIG_CHANGE_CONNECTIVITY;
@@ -1420,6 +1431,9 @@ get_property (GObject *object,
case PROP_CONFIG_DESCRIPTION:
g_value_set_string (value, nm_config_data_get_config_description (self));
break;
+ case PROP_CONNECTIVITY_ENABLED:
+ g_value_set_boolean (value, nm_config_data_get_connectivity_enabled (self));
+ break;
case PROP_CONNECTIVITY_URI:
g_value_set_string (value, nm_config_data_get_connectivity_uri (self));
break;
@@ -1517,6 +1531,7 @@ constructed (GObject *object)
priv->connection_infos = _match_section_infos_construct (priv->keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION);
priv->device_infos = _match_section_infos_construct (priv->keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE);
+ priv->connectivity.enabled = nm_config_keyfile_get_boolean (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "enabled", TRUE);
priv->connectivity.uri = nm_strstrip (g_key_file_get_string (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "uri", NULL));
priv->connectivity.response = g_key_file_get_string (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "response", NULL);
@@ -1663,6 +1678,12 @@ nm_config_data_class_init (NMConfigDataClass *config_class)
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS);
+ obj_properties[PROP_CONNECTIVITY_ENABLED] =
+ g_param_spec_string (NM_CONFIG_DATA_CONNECTIVITY_ENABLED, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
obj_properties[PROP_CONNECTIVITY_URI] =
g_param_spec_string (NM_CONFIG_DATA_CONNECTIVITY_URI, "", "",
NULL,