From 2dfe87749f82ccc5e32abd8a12ff87465dce16a0 Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Fri, 16 Feb 2024 21:08:22 +0100 Subject: [PATCH] osmo-epdg: utils: add get_imsi_ike() to get the imsi of an ike_sa_t object --- src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.c | 11 +++++++++++ src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.c b/src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.c index 1ca34ed96..5898505ef 100644 --- a/src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.c +++ b/src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.c @@ -43,6 +43,17 @@ struct msgb *chunk_to_msgb(chunk_t *chunk) return msg; } +int get_imsi_ike(ike_sa_t *ike_sa, char *imsi, size_t imsi_len) +{ + identification_t *imsi_id = ike_sa->get_other_id(ike_sa); + if (!imsi_id) + { + return -1; + } + + return get_imsi(imsi_id, imsi, imsi_len); +} + int get_imsi(identification_t *id, char *imsi, size_t imsi_len) { chunk_t nai = id->get_encoding(id); diff --git a/src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.h b/src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.h index 713fd1dde..3a8ac3978 100644 --- a/src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.h +++ b/src/libcharon/plugins/osmo_epdg/osmo_epdg_utils.h @@ -58,6 +58,7 @@ typedef struct osmo_epdg_ue osmo_epdg_ue_t; 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 get_apn(ike_sa_t *sa, char *apn, size_t apn_len); #endif /* OSMO_EPDG_UTILS_H_ */