diff options
| author | Michael Biebl <biebl@debian.org> | 2025-02-12 13:46:50 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2025-02-12 13:46:50 +0100 |
| commit | 8bdf070ff046f482f6eb5e2b15ebc216f5d1e3da (patch) | |
| tree | f706478d189d54c6532e8863d4b0d5ff5575af60 /src/core/devices/wwan | |
| parent | 818258cf34b83fbc754633295e1052d4752d7b15 (diff) | |
New upstream version 1.51.90 upstream/1.51.90
Diffstat (limited to 'src/core/devices/wwan')
| -rw-r--r-- | src/core/devices/wwan/nm-modem-broadband.c | 41 | ||||
| -rw-r--r-- | src/core/devices/wwan/nm-modem-ofono.c | 4 | ||||
| -rw-r--r-- | src/core/devices/wwan/nm-modem.c | 2 |
3 files changed, 33 insertions, 14 deletions
diff --git a/src/core/devices/wwan/nm-modem-broadband.c b/src/core/devices/wwan/nm-modem-broadband.c index c03446b9..018e5306 100644 --- a/src/core/devices/wwan/nm-modem-broadband.c +++ b/src/core/devices/wwan/nm-modem-broadband.c @@ -668,6 +668,8 @@ connect_context_step(NMModemBroadband *self) NMSettingGsm *s_gsm = nm_connection_get_setting_gsm(ctx->connection); const char *apn = nm_setting_gsm_get_initial_eps_apn(s_gsm); gboolean do_config = nm_setting_gsm_get_initial_eps_config(s_gsm); + const char *username = nm_setting_gsm_get_initial_eps_username(s_gsm); + const char *password = nm_setting_gsm_get_initial_eps_password(s_gsm); /* assume do_config is true if an APN is set */ if (apn || do_config) { @@ -690,9 +692,28 @@ connect_context_step(NMModemBroadband *self) /* do nothing */ break; } - if (apn) - mm_bearer_properties_set_apn(config, apn); + if (apn) { + MMBearerAllowedAuth allowed_auth = MM_BEARER_ALLOWED_AUTH_UNKNOWN; + mm_bearer_properties_set_apn(config, apn); + mm_bearer_properties_set_user(config, username); + mm_bearer_properties_set_password(config, password); + + if (nm_setting_gsm_get_initial_eps_noauth(s_gsm)) + allowed_auth |= MM_BEARER_ALLOWED_AUTH_NONE; + if (!nm_setting_gsm_get_initial_eps_refuse_pap(s_gsm)) + allowed_auth |= MM_BEARER_ALLOWED_AUTH_PAP; + if (!nm_setting_gsm_get_initial_eps_refuse_chap(s_gsm)) + allowed_auth |= MM_BEARER_ALLOWED_AUTH_CHAP; + if (!nm_setting_gsm_get_initial_eps_refuse_mschap(s_gsm)) + allowed_auth |= MM_BEARER_ALLOWED_AUTH_MSCHAP; + if (!nm_setting_gsm_get_initial_eps_refuse_mschapv2(s_gsm)) + allowed_auth |= MM_BEARER_ALLOWED_AUTH_MSCHAPV2; + if (!nm_setting_gsm_get_initial_eps_refuse_eap(s_gsm)) + allowed_auth |= MM_BEARER_ALLOWED_AUTH_EAP; + + mm_bearer_properties_set_allowed_auth(config, allowed_auth); + } /* * Setting the initial EPS bearer settings is a no-op in * ModemManager if the desired configuration is already active. @@ -896,8 +917,7 @@ complete_connection(NMModem *modem, NULL, _("GSM connection"), NULL, - NULL, - FALSE); /* No IPv6 yet by default */ + NULL); return TRUE; } @@ -917,8 +937,7 @@ complete_connection(NMModem *modem, NULL, _("CDMA connection"), NULL, - iface, - FALSE); /* No IPv6 yet by default */ + iface); return TRUE; } @@ -1116,7 +1135,7 @@ stage3_ip_config_start(NMModem *modem, int addr_family, NMModemIPMethod ip_metho ifindex, NM_IP_CONFIG_SOURCE_WWAN); - address = (NMPlatformIP4Address){ + address = (NMPlatformIP4Address) { .address = address_network, .peer_address = address_network, .plen = mm_bearer_ip_config_get_prefix(self->_priv.ipv4_config), @@ -1127,7 +1146,7 @@ stage3_ip_config_start(NMModem *modem, int addr_family, NMModemIPMethod ip_metho _LOGI(" address %s", nm_platform_ip4_address_to_string(&address, sbuf, sizeof(sbuf))); - route = (NMPlatformIP4Route){ + route = (NMPlatformIP4Route) { .rt_source = NM_IP_CONFIG_SOURCE_WWAN, .gateway = gw, .table_any = TRUE, @@ -1141,7 +1160,7 @@ stage3_ip_config_start(NMModem *modem, int addr_family, NMModemIPMethod ip_metho dns = mm_bearer_ip_config_get_dns(self->_priv.ipv4_config); for (i = 0; dns && dns[i]; i++) { if (nm_inet_parse_bin(AF_INET, dns[i], NULL, &address_network) && address_network > 0) { - nm_l3_config_data_add_nameserver_detail(l3cd, AF_INET, &address_network, NULL); + nm_l3_config_data_add_nameserver_addr(l3cd, AF_INET, &address_network); _LOGI(" DNS %s", dns[i]); } } @@ -1193,7 +1212,7 @@ stage3_ip_config_start(NMModem *modem, int addr_family, NMModemIPMethod ip_metho do_auto = TRUE; if (address_string) { - address = (NMPlatformIP6Address){}; + address = (NMPlatformIP6Address) {}; if (!inet_pton(AF_INET6, address_string, &address.address)) { g_set_error(&error, @@ -1260,7 +1279,7 @@ stage3_ip_config_start(NMModem *modem, int addr_family, NMModemIPMethod ip_metho struct in6_addr addr; if (inet_pton(AF_INET6, dns[i], &addr)) { - nm_l3_config_data_add_nameserver_detail(l3cd, AF_INET6, &addr, NULL); + nm_l3_config_data_add_nameserver_addr(l3cd, AF_INET6, &addr); _LOGI(" DNS %s", dns[i]); } } diff --git a/src/core/devices/wwan/nm-modem-ofono.c b/src/core/devices/wwan/nm-modem-ofono.c index 3e0bbd48..80f966f1 100644 --- a/src/core/devices/wwan/nm-modem-ofono.c +++ b/src/core/devices/wwan/nm-modem-ofono.c @@ -1256,7 +1256,7 @@ handle_settings(NMModemOfono *self, GVariant *v_dict) goto out; } - address = (NMPlatformIP4Address){ + address = (NMPlatformIP4Address) { .ifindex = ifindex, .address = address_network, .addr_source = NM_IP_CONFIG_SOURCE_WWAN, @@ -1315,7 +1315,7 @@ handle_settings(NMModemOfono *self, GVariant *v_dict) } any_good = TRUE; _LOGI("DNS: %s", array[i]); - nm_l3_config_data_add_nameserver_detail(priv->l3cd_4, AF_INET, &address_network, NULL); + nm_l3_config_data_add_nameserver_addr(priv->l3cd_4, AF_INET, &address_network); } if (!any_good) { _LOGW("Settings: 'DomainNameServers': none specified"); diff --git a/src/core/devices/wwan/nm-modem.c b/src/core/devices/wwan/nm-modem.c index 23e7de4a..c4852ea2 100644 --- a/src/core/devices/wwan/nm-modem.c +++ b/src/core/devices/wwan/nm-modem.c @@ -1064,7 +1064,7 @@ nm_modem_act_stage2_config(NMModem *self, NMDevice *device, NMDeviceStateReason else baud_override = 0; - priv->ppp_mgr = nm_ppp_mgr_start(&((const NMPppMgrConfig){ + priv->ppp_mgr = nm_ppp_mgr_start(&((const NMPppMgrConfig) { .netns = nm_device_get_netns(device), .parent_iface = priv->data_port, .callback = _ppp_mgr_callback, |