mirror of git://git.sysmocom.de/ofono
Add utility to test for valid APN names
This commit is contained in:
parent
cc5701c76f
commit
ee92dc0b62
26
src/common.c
26
src/common.c
|
@ -641,3 +641,29 @@ const char *registration_tech_to_string(int tech)
|
|||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
gboolean is_valid_apn(const char *apn)
|
||||
{
|
||||
int i;
|
||||
int last_period = 0;
|
||||
|
||||
if (apn[0] == '.' || apn[0] == '\0')
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; apn[i] != '\0'; i++) {
|
||||
if (g_ascii_isalnum(apn[i]))
|
||||
continue;
|
||||
|
||||
if (apn[i] == '-')
|
||||
continue;
|
||||
|
||||
if (apn[i] == '.' && (i - last_period) > 1) {
|
||||
last_period = i;
|
||||
continue;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -138,3 +138,5 @@ gboolean is_valid_pin(const char *pin);
|
|||
|
||||
const char *registration_status_to_string(int status);
|
||||
const char *registration_tech_to_string(int tech);
|
||||
|
||||
gboolean is_valid_apn(const char *apn);
|
||||
|
|
Loading…
Reference in New Issue