osmo-epdg: add validate_imsi/validate_pan
This commit is contained in:
parent
2aabfbaadd
commit
b222dccc1b
|
@ -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;
|
||||
|
|
|
@ -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_ */
|
||||
|
|
Loading…
Reference in New Issue