diff options
| author | Michael Biebl <biebl@debian.org> | 2017-11-07 00:14:39 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2017-11-07 00:14:39 +0100 |
| commit | 90e8691111889a7b5f3c812f5a41f15a8a058913 (patch) | |
| tree | f101a879eca27c34a9bfa5f3da52266b22539a36 /src/nm-connectivity.c | |
| parent | bdb6eeb0670658255c2a4c3c501c0a27fa8cfe55 (diff) | |
New upstream version 1.9.90 upstream/1.9.90
Diffstat (limited to 'src/nm-connectivity.c')
| -rw-r--r-- | src/nm-connectivity.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/nm-connectivity.c b/src/nm-connectivity.c index b895a82b..4ccc5719 100644 --- a/src/nm-connectivity.c +++ b/src/nm-connectivity.c @@ -35,6 +35,7 @@ typedef struct { char *uri; char *response; + gboolean enabled; guint interval; NMConfig *config; guint periodic_check_id; @@ -124,6 +125,7 @@ finish_cb_data (ConCheckCbData *cb_data, NMConnectivityState new_state) g_object_unref (cb_data->simple); curl_slist_free_all (cb_data->request_headers); g_free (cb_data->response); + g_free (cb_data->msg); g_free (cb_data->ifspec); g_source_remove (cb_data->timeout_id); g_slice_free (ConCheckCbData, cb_data); @@ -343,7 +345,7 @@ nm_connectivity_check_async (NMConnectivity *self, simple = g_simple_async_result_new (G_OBJECT (self), callback, user_data, nm_connectivity_check_async); - if (priv->uri && priv->interval && priv->curl_mhandle) + if (priv->enabled) ehandle = curl_easy_init (); if (ehandle) { @@ -401,7 +403,7 @@ nm_connectivity_check_enabled (NMConnectivity *self) { NMConnectivityPrivate *priv = NM_CONNECTIVITY_GET_PRIVATE (self); - return (priv->uri && priv->interval && priv->curl_mhandle); + return priv->enabled; } /*****************************************************************************/ @@ -419,6 +421,7 @@ update_config (NMConnectivity *self, NMConfigData *config_data) NMConnectivityPrivate *priv = NM_CONNECTIVITY_GET_PRIVATE (self); const char *uri, *response; guint interval; + gboolean enabled; gboolean changed = FALSE; /* Set the URI. */ @@ -454,6 +457,18 @@ update_config (NMConnectivity *self, NMConfigData *config_data) changed = TRUE; } + /* Set enabled flag. */ + enabled = nm_config_data_get_connectivity_enabled (config_data); + /* connectivity checking also requires a valid URI, interval and + * curl_mhandle */ + if (!(priv->uri && priv->interval && priv->curl_mhandle)) { + enabled = FALSE; + } + if (priv->enabled != enabled) { + priv->enabled = enabled; + changed = TRUE; + } + /* Set the response. */ response = nm_config_data_get_connectivity_response (config_data); if (g_strcmp0 (response, priv->response) != 0) { |