diff options
| author | Michael Biebl <biebl@debian.org> | 2024-09-01 22:38:35 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2024-09-01 22:38:35 +0200 |
| commit | f9bfd1158b8d08d6a5ed3bb7cc1ba7a6455e5201 (patch) | |
| tree | 10267dcf5b842b7c638a79bd6851549cd849b81d /src/core/nm-config-data.c | |
| parent | 681dfc70ef98f6ed0c05bcb0fbff00e3fc0799ea (diff) | |
New upstream version 1.49.90 upstream/1.49.90
Diffstat (limited to 'src/core/nm-config-data.c')
| -rw-r--r-- | src/core/nm-config-data.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c index 9b3f958b..0a73695a 100644 --- a/src/core/nm-config-data.c +++ b/src/core/nm-config-data.c @@ -62,6 +62,7 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_CONFIG_MAIN_FILE, PROP_CONNECTIVITY_ENABLED, PROP_CONNECTIVITY_URI, PROP_CONNECTIVITY_INTERVAL, + PROP_CONNECTIVITY_TIMEOUT, PROP_CONNECTIVITY_RESPONSE, PROP_NO_AUTO_DEFAULT, ); @@ -86,6 +87,7 @@ typedef struct { char *uri; char *response; guint interval; + guint timeout; } connectivity; int autoconnect_retries_default; @@ -304,6 +306,14 @@ nm_config_data_get_connectivity_interval(const NMConfigData *self) return NM_CONFIG_DATA_GET_PRIVATE(self)->connectivity.interval; } +guint +nm_config_data_get_connectivity_timeout(const NMConfigData *self) +{ + g_return_val_if_fail(self, 0); + + return NM_CONFIG_DATA_GET_PRIVATE(self)->connectivity.timeout; +} + const char * nm_config_data_get_connectivity_response(const NMConfigData *self) { @@ -2006,6 +2016,8 @@ nm_config_data_diff(NMConfigData *old_data, NMConfigData *new_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) + || nm_config_data_get_connectivity_timeout(old_data) + != nm_config_data_get_connectivity_timeout(new_data) || !nm_streq0(nm_config_data_get_connectivity_uri(old_data), nm_config_data_get_connectivity_uri(new_data)) || !nm_streq0(nm_config_data_get_connectivity_response(old_data), @@ -2079,6 +2091,9 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) case PROP_CONNECTIVITY_INTERVAL: g_value_set_uint(value, nm_config_data_get_connectivity_interval(self)); break; + case PROP_CONNECTIVITY_TIMEOUT: + g_value_set_uint(value, nm_config_data_get_connectivity_timeout(self)); + break; case PROP_CONNECTIVITY_RESPONSE: g_value_set_string(value, nm_config_data_get_connectivity_response(self)); break; @@ -2221,6 +2236,15 @@ constructed(GObject *object) NM_CONFIG_DEFAULT_CONNECTIVITY_INTERVAL); g_free(str); + /* On missing or invalid config value, fallback to 20. */ + str = g_key_file_get_string(priv->keyfile, + NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, + NM_CONFIG_KEYFILE_KEY_CONNECTIVITY_TIMEOUT, + NULL); + priv->connectivity.timeout = + _nm_utils_ascii_str_to_int64(str, 10, 0, G_MAXUINT, NM_CONFIG_DEFAULT_CONNECTIVITY_TIMEOUT); + g_free(str); + priv->dns_mode = nm_strstrip(g_key_file_get_string(priv->keyfile, NM_CONFIG_KEYFILE_GROUP_MAIN, NM_CONFIG_KEYFILE_KEY_MAIN_DNS, @@ -2420,6 +2444,15 @@ nm_config_data_class_init(NMConfigDataClass *config_class) 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + obj_properties[PROP_CONNECTIVITY_TIMEOUT] = + g_param_spec_uint(NM_CONFIG_DATA_CONNECTIVITY_TIMEOUT, + "", + "", + 0, + G_MAXUINT, + 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + obj_properties[PROP_CONNECTIVITY_RESPONSE] = g_param_spec_string(NM_CONFIG_DATA_CONNECTIVITY_RESPONSE, "", |