osmo-epdg: add validate_imsi/validate_pan

This commit is contained in:
Alexander Couzens 2024-02-18 17:39:50 +01:00
parent 2aabfbaadd
commit b222dccc1b
2 changed files with 35 additions and 0 deletions

View File

@ -17,6 +17,7 @@
*/
#include <errno.h>
#include <ctype.h>
#include <osmocom/core/msgb.h>
#include <sa/ike_sa.h>
@ -76,6 +77,37 @@ int get_imsi(identification_t *id, char *imsi, size_t imsi_len)
return 0;
}
int validate_imsi(const char *imsi)
{
if (!imsi)
return 1;
if (strlen(imsi) != 15)
return 1;
for (int i=0; i<strlen(imsi); i++)
{
if (!isdigit(imsi[i]))
{
return 1;
}
}
return 0;
}
int validate_apn(const char *apn)
{
/* don't support empty apn */
if (!apn)
return 1;
if (!strlen(apn))
return 1;
return 0;
}
int get_apn(ike_sa_t *sa, char *apn, size_t apn_len)
{
identification_t* apn_id;

View File

@ -29,6 +29,9 @@
struct msgb *chunk_to_msgb(chunk_t *chunk);
int get_imsi(identification_t *id, char *imsi, size_t imsi_len);
int get_imsi_ike(ike_sa_t *ike_sa, char *imsi, size_t imsi_len);
int validate_imsi(const char *imsi);
int get_apn(ike_sa_t *sa, char *apn, size_t apn_len);
int validate_apn(const char *apn);
#endif /* OSMO_EPDG_UTILS_H_ */