setting-gsm: allow empty apn property in verify()

NetworkManager treats "gsm.apn" %NULL as setting an empty APN ("").
At least with ModemManager. With oFono, a %NULL APN means not to set
the "AccessPointName", so oFono implementation treats %NULL different
from "".

Soon the meaning will change to allow %NULL to automatically
obtain the APN from the mobile-broadband-provider-info. That will be a
change in behavior how to treat %NULL.

Anyway, since %NULL is accepted and in fact means to actually use "",
the empty word should be also accepted to explicitly choose this
behavior. This is especially important in combination with changing the
meaning of %NULL.
This commit is contained in:
Thomas Haller 2019-08-25 15:27:37 +02:00 committed by Lubomir Rintel
parent b92193236a
commit adf0254369
2 changed files with 2 additions and 2 deletions

View file

@ -295,7 +295,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
gsize apn_len = strlen (priv->apn);
gsize i;
if (apn_len < 1 || apn_len > 64) {
if (apn_len > 64) {
g_set_error (error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,

View file

@ -1747,7 +1747,7 @@ test_setting_gsm_apn_bad_chars (void)
/* 0 characters long */
g_object_set (s_gsm, NM_SETTING_GSM_APN, "", NULL);
g_assert (!nm_setting_verify (NM_SETTING (s_gsm), NULL, NULL));
g_assert (nm_setting_verify (NM_SETTING (s_gsm), NULL, NULL));
/* 65-character long */
g_object_set (s_gsm, NM_SETTING_GSM_APN, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl1", NULL);