aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib/mm-bearer-properties.c
AgeCommit message (Collapse)Author
2023-10-11ModemManager: Add force option to set initial EPS bearer settingsUjjwal Pande
Adding a new force option to force send initial EPS bearer settings to modem even if they match the existing ones. Currently settings are not sent to the modem if they match old settings
2023-04-27libmm-glib: separate files for flags and enums typesAleksander Morgado
This allows us to skip needing to include the non-existent build_string_from_mask() or get_string() counterparts in the documentation index.
2022-11-04libmm-glib,bearer-properties: new print() methodAleksander Morgado
2022-03-29bearer-properties: Match UNKNOWN auth to CHAP for loose comparisonAndrew Lassalle
MBIM and QMI fallback to CHAP when a username or password is present but no authentication type was provided. Consider CHAP==UNKNOWN when using loose comparison.
2021-12-24libmm-glib: new 'roaming-allowance' in 3GPP profile and bearer propertiesAleksander Morgado
2021-12-24libmm-glib: new 'access-type-preference' in 3GPP profile and bearer propertiesAleksander Morgado
2021-11-16libmm-glib: fix license in sourcesAleksander Morgado
The libmm-glib library is LGPLv2+, not GPLv2+.
2021-10-17bearer-properties: Add profile-name to the bearer propertiesAndrew Lassalle
2021-06-25libmm-glib,bearer-properties: move deprecated methods to compat sourceAleksander Morgado
2021-05-18libmm-glib: remove unused cmp_allow_roaming() methodAleksander Morgado
mm-bearer-properties.c:725:1: warning: 'cmp_allow_roaming' defined but not used [-Wunused-function] cmp_allow_roaming (gboolean a, ^~~~~~~~~~~~~~~~~
2021-04-29api,bearer: new 'profile-id' settingAleksander Morgado
We define a new 'profile-id' setting in the bearer properties that users will use to specify which connection profile of the ones available in the device should be connected. When the 'profile-id' is given, the associated bearer object will be bound to the 'profile-id', and the user is able to provide additional settings to apply on top (e.g. if the profile storage doesn't allow some of the settings we support, like 'apn-type', or if the setting is completely unrelated to profiles, like 'multiplex'). After introducing the 'profile-id' as a valid setting in the bearer properties, we also reimplement the properties object internals to make use a 3GPP profile for the subset of common settings between both objects.
2021-04-29api,bearer: new 'apn-type' settingAleksander Morgado
This new setting allows the user setting up the connection to specify the purpose of the connection being brought up. Until now, we would always assume that connections are exclusively brought up for connecting to the Internet, also limited by the inability to connect to multiple different APNs at the same time. But that may really not be true as there may be additional services that may be accessed through other APNs, like MMS services or even private networks for companies that have their own APNs on a given operator (e.g. not that uncommon with banks and connected cars). The new APN type setting will not change the way the bearer is connected, but will allow the connection manager to decide what kind of networking setup the specific connection needs. This new setting can be provided by the user itself, or implicitly read from the device if the device stores this information.
2021-04-09libmm-glib,bearer-properties: fix usage of CMP_FLAGS_NO_RM_PROTOCOLAleksander Morgado
2021-03-24libmm-glib,bearer-properties: fix 'allowed-auth' comparisonAleksander Morgado
2021-03-10api,simple: new 'multiplex' setting in bearer propertiesAleksander Morgado
Both the Simple.Connect() and Modem.CreateBearer() are updated to allow a new 'multiplex' setting in the properties provided by the user in both of these methods. The new setting expects a MMBearerMultiplexSupport enum indicating what kind of multiplex needs the user has: * none: if multiplex must not be used. * requested: if multiplex should be used if available. * required: if multiplex must be used. The underlying implementations will take care of accepting or rejecting the setting depending on the system and modem capabilities.
2021-02-25libmm-glib,bearer-properties: fix 'allow roaming' comparisonAleksander Morgado
Fix the 'allow roaming' setting comparison, which was breaking the whole bearer properties comparison logic, and therefore making Simple.Connect() recreate over and over the bearer with the same settings. Fixes 5629f47a59b48f2604fd8e9e4af7209b138aef21
2021-02-17libmm-glib,bearer-properties: consume 'rm-protocol' settingAleksander Morgado
2020-12-21libmm-glib,bearer-properties: allow loose comparisonsAleksander Morgado
When comparing bearer properties provided by the user versus loaded from the modem, we shouldn't be very strict, e.g.: * Password or other fields may not be readable from the device. * Some fields may not apply at all (e.g. RM protocol for EPS bearers) * NULL strings could be assumed equal to empty strings. * If no explicit IP type specified, an IPv4 default may be assumed. * If no explicit allowed auth specified, 'none' default may be assumed. These loose comparisons are applied when managing the initial EPS bearer settings and status, and we keep the strict comparison only during the connection attempt lookup of a bearer with certain settings, as those bearer objects are all created in the same place with the same rules.
2020-01-06libmm-glib,simple-connect-properties: cleaner error handlingAleksander Morgado
If processing a key-value pair as a bearer property fails, we need to know if it failed due to the key being unknown or due to some other reason (e.g. failure parsing value of a known key). We'll only try with the Simple.Connect properties if the key is reported as unknown in the bearer properties. This will help us better identify errors if e.g. an invalid value is given to a known key. E.g. "yes" was invalid for allow-roaming here: daemon.notice netifd: wan (30476): simple connect=apn=internet,ip-type=ipv4,allow-roaming=yes daemon.notice netifd: wan (30476): Error parsing connect string: 'Invalid properties string, unexpected key 'allow-roaming''
2019-10-28libmm-glib: flag as (skip) all non-API methodsAleksander Morgado
So that the GI scanner ignores them.
2019-10-28libmm-glib: remove unused _dup() methodsAleksander Morgado
2019-10-28docs,libmm-glib: provide per-version indicesAleksander Morgado
2019-01-03api: deprecate 'number' in bearer propertiesAleksander Morgado
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/99
2018-11-12libmm-glib,bearer-properties: don't document non-public APIAleksander Morgado
To avoid gtk-doc complaining about that.
2018-03-13libmm-glib,bearer-properties: minor documentation typo fixAleksander Morgado
2018-01-25*: Spelling fixesVille Skyttä
2015-08-02libmm-glib,docs: fix missing documentationsAleksander Morgado
2013-08-14libmm-glib: Fix and add introspection annotationsChristian Persch
Bug #705641.
2013-06-05api: let MMBearerIpFamily be flags instead of a enumerationAleksander Morgado
We want to expose in the Modem interface the list of supported IP families, and the easiest way to do so is to have the IP family as flags, and provide in the interface a single enum. Also, a value of 0 for a MMBearerIpFamily specifies that no flags are set, so just rename it to 'NONE'. And add a new 'ANY' value which sets all flags to 1.
2013-04-23bearer: allow specifying default IP family for bearersBen Chan
This patch adds a 'bearer-default-ip-family' property to MMBearer, which specifies the default IP family to use for a bearer when no explicit value is given via the simple connect properties. The default IP family is set to IPv4 in MMBearer but can be overridden by a MMBearer subclass, which allows a modem plugin to specify an appropriate default value.
2012-10-07api,libmm-glib: new `allowed-auth' configuration for bearersAleksander Morgado
For bearers using STATIC or DHCP IP method, the modem itself is the one negotiating authentication with the network. The new `allowed-auth' property allows users to specify which authentication method(s) are allowed to be used. See the following NetworkManager commit for more reference: commit 34aef8aaaa09b7473b9496aa49e550bd2def03f8 Author: Andrew Bird <ajb@spheresystems.co.uk> Date: Thu Mar 15 16:19:43 2012 -0500
2012-10-04libmm-glib,bearer-properties: improve documentationAleksander Morgado
2012-10-04build: merge libmm-common into libmm-glibAleksander Morgado
It's pointless to have libmm-common around, just merge it into libmm-glib and make ModemManager depend on libmm-glib directly. At the end, the non-common stuff in libmm-glib is really minimal.
2012-03-16libmm-common: `MMBearerProperties' won't be considered internal any moreAleksander Morgado
Renamed `MMCommonBearerProperties' to `MMBearerProperties', and removed the `MMBearerProperties' provided in libmm-glib. We'll just use the original one from libmm-common always.
2012-03-15libmm-glib: allow passing Rm protocol to bearer propertiesAleksander Morgado
2012-03-15libmm-common,libmm-glib: new object to handle bearer creation propertiesAleksander Morgado