diff options
| author | Michael Biebl <biebl@debian.org> | 2020-04-11 21:28:04 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2020-04-11 21:28:04 +0200 |
| commit | 1e5977b62f896e844b548c3007ace9e1dfa7f9ed (patch) | |
| tree | 7a7416ed410e72b6200f3d860fd315ec11cc106b /src/devices/wwan | |
| parent | b012fa6e1d808e0736c009799c62d835cbfcc1dd (diff) | |
New upstream version 1.23.90 upstream/1.23.90
Diffstat (limited to 'src/devices/wwan')
| -rw-r--r-- | src/devices/wwan/meson.build | 2 | ||||
| -rw-r--r-- | src/devices/wwan/nm-device-modem.c | 20 | ||||
| -rw-r--r-- | src/devices/wwan/nm-modem-broadband.c | 2 | ||||
| -rw-r--r-- | src/devices/wwan/nm-modem-ofono.c | 4 | ||||
| -rw-r--r-- | src/devices/wwan/nm-modem.c | 11 | ||||
| -rw-r--r-- | src/devices/wwan/nm-service-providers.c | 30 |
6 files changed, 40 insertions, 29 deletions
diff --git a/src/devices/wwan/meson.build b/src/devices/wwan/meson.build index ed6f8010..97252edc 100644 --- a/src/devices/wwan/meson.build +++ b/src/devices/wwan/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: LGPL-2.1+ + nm_service_providers_source = files('nm-service-providers.c') sources = nm_service_providers_source + files( diff --git a/src/devices/wwan/nm-device-modem.c b/src/devices/wwan/nm-device-modem.c index 3de5ae07..a2f2e7a6 100644 --- a/src/devices/wwan/nm-device-modem.c +++ b/src/devices/wwan/nm-device-modem.c @@ -156,7 +156,7 @@ modem_prepare_result (NMModem *modem, } priv->stage1_state = NM_DEVICE_STAGE_STATE_COMPLETED; - nm_device_activate_schedule_stage1_device_prepare (device); + nm_device_activate_schedule_stage1_device_prepare (device, FALSE); } static void @@ -191,7 +191,7 @@ modem_auth_result (NMModem *modem, GError *error, gpointer user_data) } priv->stage1_state = NM_DEVICE_STAGE_STATE_INIT; - nm_device_activate_schedule_stage1_device_prepare (device); + nm_device_activate_schedule_stage1_device_prepare (device, FALSE); } static void @@ -384,6 +384,15 @@ modem_state_cb (NMModem *modem, */ nm_modem_set_mm_enabled (priv->modem, priv->rf_enabled); + if (dev_state == NM_DEVICE_STATE_NEED_AUTH) { + /* The modem was unlocked externally to NetworkManager, + deactivate so the default connection can be + automatically activated again */ + nm_device_state_changed (device, + NM_DEVICE_STATE_DEACTIVATING, + NM_DEVICE_STATE_REASON_MODEM_AVAILABLE); + } + /* Now allow connections without a PIN to be available */ nm_device_recheck_available_connections (device); } @@ -605,7 +614,6 @@ static NMActStageReturn act_stage2_config (NMDevice *device, NMDeviceStateReason *out_failure_reason) { nm_modem_act_stage2_config (NM_DEVICE_MODEM_GET_PRIVATE (device)->modem); - return NM_ACT_STAGE_RETURN_SUCCESS; } @@ -843,9 +851,9 @@ dispose (GObject *object) nm_clear_pointer (&priv->modem, nm_modem_unclaim); } - g_clear_pointer (&priv->device_id, g_free); - g_clear_pointer (&priv->operator_code, g_free); - g_clear_pointer (&priv->apn, g_free); + nm_clear_g_free (&priv->device_id); + nm_clear_g_free (&priv->operator_code); + nm_clear_g_free (&priv->apn); G_OBJECT_CLASS (nm_device_modem_parent_class)->dispose (object); } diff --git a/src/devices/wwan/nm-modem-broadband.c b/src/devices/wwan/nm-modem-broadband.c index 947aa4c8..f89ec86c 100644 --- a/src/devices/wwan/nm-modem-broadband.c +++ b/src/devices/wwan/nm-modem-broadband.c @@ -324,7 +324,7 @@ connect_context_clear (NMModemBroadband *self) ConnectContext *ctx = self->_priv.ctx; g_clear_error (&ctx->first_error); - g_clear_pointer (&ctx->ip_types, g_array_unref); + nm_clear_pointer (&ctx->ip_types, g_array_unref); nm_clear_g_cancellable (&ctx->cancellable); g_clear_object (&ctx->connection); g_clear_object (&ctx->connect_properties); diff --git a/src/devices/wwan/nm-modem-ofono.c b/src/devices/wwan/nm-modem-ofono.c index b68cd7e8..2fc44881 100644 --- a/src/devices/wwan/nm-modem-ofono.c +++ b/src/devices/wwan/nm-modem-ofono.c @@ -449,7 +449,7 @@ handle_sim_iface (NMModemOfono *self, gboolean found) g_signal_handlers_disconnect_by_data (priv->sim_proxy, self); g_clear_object (&priv->sim_proxy); } - g_clear_pointer (&priv->imsi, g_free); + nm_clear_g_free (&priv->imsi); update_modem_state (self); } else if (found && (!priv->sim_proxy && !priv->sim_proxy_cancellable)) { _LOGI ("found new SimManager interface"); @@ -769,7 +769,7 @@ stage1_prepare_done (GObject *source, g_clear_object (&priv->context_proxy_cancellable); - g_clear_pointer (&priv->connect_properties, g_hash_table_destroy); + nm_clear_pointer (&priv->connect_properties, g_hash_table_destroy); if (error) { _LOGW ("connection failed: %s", error->message); diff --git a/src/devices/wwan/nm-modem.c b/src/devices/wwan/nm-modem.c index ad6449b1..bedc3844 100644 --- a/src/devices/wwan/nm-modem.c +++ b/src/devices/wwan/nm-modem.c @@ -975,7 +975,8 @@ modem_secrets_cb (NMActRequest *req, priv->secrets_id = NULL; - if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) + if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED) || + g_error_matches (error, NM_AGENT_MANAGER_ERROR, NM_AGENT_MANAGER_ERROR_NO_SECRETS)) return; if (error) @@ -1710,7 +1711,7 @@ static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { - NMModemPrivate *priv = NM_MODEM_GET_PRIVATE ((NMModem *) object); + NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (object); const char *s; switch (prop_id) { @@ -1747,7 +1748,7 @@ set_property (GObject *object, guint prop_id, priv->ip_types = g_value_get_uint (value); break; case PROP_SIM_OPERATOR_ID: - g_clear_pointer (&priv->sim_operator_id, g_free); + nm_clear_g_free (&priv->sim_operator_id); s = g_value_get_string (value); if (s && s[0]) priv->sim_operator_id = g_strdup (s); @@ -1796,7 +1797,7 @@ constructed (GObject *object) static void dispose (GObject *object) { - NMModemPrivate *priv = NM_MODEM_GET_PRIVATE ((NMModem *) object); + NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (object); g_clear_object (&priv->act_request); @@ -1806,7 +1807,7 @@ dispose (GObject *object) static void finalize (GObject *object) { - NMModemPrivate *priv = NM_MODEM_GET_PRIVATE ((NMModem *) object); + NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (object); g_free (priv->uid); g_free (priv->path); diff --git a/src/devices/wwan/nm-service-providers.c b/src/devices/wwan/nm-service-providers.c index 5140f7ed..5694c99e 100644 --- a/src/devices/wwan/nm-service-providers.c +++ b/src/devices/wwan/nm-service-providers.c @@ -118,11 +118,11 @@ parser_gsm_start (ParseContext *parse_context, } } else if (strcmp (name, "apn") == 0) { parse_context->found_internet_apn = FALSE; - g_clear_pointer (&parse_context->apn, g_free); - g_clear_pointer (&parse_context->username, g_free); - g_clear_pointer (&parse_context->password, g_free); - g_clear_pointer (&parse_context->gateway, g_free); - g_clear_pointer (&parse_context->auth_method, g_free); + nm_clear_g_free (&parse_context->apn); + nm_clear_g_free (&parse_context->username); + nm_clear_g_free (&parse_context->password); + nm_clear_g_free (&parse_context->gateway); + nm_clear_g_free (&parse_context->auth_method); g_slist_free_full (parse_context->dns, g_free); parse_context->dns = NULL; @@ -155,7 +155,7 @@ parser_gsm_apn_start (ParseContext *parse_context, } else if (strcmp (name, "authentication") == 0) { for (i = 0; attribute_names && attribute_names[i]; i++) { if (strcmp (attribute_names[i], "method") == 0) { - g_clear_pointer (&parse_context->auth_method, g_free); + nm_clear_g_free (&parse_context->auth_method); parse_context->auth_method = g_strstrip (g_strdup (attribute_values[i])); break; } @@ -173,7 +173,7 @@ parser_start_element (GMarkupParseContext *context, { ParseContext *parse_context = user_data; - g_clear_pointer (&parse_context->text_buffer, g_free); + nm_clear_g_free (&parse_context->text_buffer); switch (parse_context->state) { case PARSER_TOPLEVEL: @@ -205,7 +205,7 @@ parser_country_end (ParseContext *parse_context, const char *name) { if (strcmp (name, "country") == 0) { - g_clear_pointer (&parse_context->text_buffer, g_free); + nm_clear_g_free (&parse_context->text_buffer); parse_context->state = PARSER_TOPLEVEL; } } @@ -215,7 +215,7 @@ parser_provider_end (ParseContext *parse_context, const char *name) { if (strcmp (name, "provider") == 0) { - g_clear_pointer (&parse_context->text_buffer, g_free); + nm_clear_g_free (&parse_context->text_buffer); parse_context->state = PARSER_COUNTRY; } } @@ -225,7 +225,7 @@ parser_gsm_end (ParseContext *parse_context, const char *name) { if (strcmp (name, "gsm") == 0) { - g_clear_pointer (&parse_context->text_buffer, g_free); + nm_clear_g_free (&parse_context->text_buffer); parse_context->state = PARSER_PROVIDER; } } @@ -235,19 +235,19 @@ parser_gsm_apn_end (ParseContext *parse_context, const char *name) { if (strcmp (name, "username") == 0) { - g_clear_pointer (&parse_context->username, g_free); + nm_clear_g_free (&parse_context->username); parse_context->username = g_steal_pointer (&parse_context->text_buffer); } else if (strcmp (name, "password") == 0) { - g_clear_pointer (&parse_context->password, g_free); + nm_clear_g_free (&parse_context->password); parse_context->password = g_steal_pointer (&parse_context->text_buffer); } else if (strcmp (name, "dns") == 0) { parse_context->dns = g_slist_prepend (parse_context->dns, g_steal_pointer (&parse_context->text_buffer)); } else if (strcmp (name, "gateway") == 0) { - g_clear_pointer (&parse_context->gateway, g_free); + nm_clear_g_free (&parse_context->gateway); parse_context->gateway = g_steal_pointer (&parse_context->text_buffer); } else if (strcmp (name, "apn") == 0) { - g_clear_pointer (&parse_context->text_buffer, g_free); + nm_clear_g_free (&parse_context->text_buffer); if (parse_context->mccmnc_matched && parse_context->found_internet_apn) parse_context->state = PARSER_DONE; @@ -262,7 +262,7 @@ parser_cdma_end (ParseContext *parse_context, const char *name) { if (strcmp (name, "cdma") == 0) { - g_clear_pointer (&parse_context->text_buffer, g_free); + nm_clear_g_free (&parse_context->text_buffer); parse_context->state = PARSER_PROVIDER; } } |