aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-09-29 01:00:46 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-10-21 12:22:20 +0200
commit8c78b480f9d1dbb0461f9294891687d43080abf5 (patch)
tree896ddfcdb98ff8e312d9b3414a53934a12c35139
parent6b038314957ffc583bfcbdb97902e1a590b6e354 (diff)
nat: Store the IMSI inside the SCCP Connection data
Store the IMSI for the connections that we are tracking, it will be freed when the normnal SCCP connection is freed.
-rw-r--r--openbsc/include/openbsc/bsc_nat_sccp.h1
-rw-r--r--openbsc/src/nat/bsc_nat_utils.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/bsc_nat_sccp.h b/openbsc/include/openbsc/bsc_nat_sccp.h
index c4f756e3..eecd5dcf 100644
--- a/openbsc/include/openbsc/bsc_nat_sccp.h
+++ b/openbsc/include/openbsc/bsc_nat_sccp.h
@@ -79,6 +79,7 @@ struct sccp_connections {
int con_type;
int con_local;
int imsi_checked;
+ char *imsi;
/*
* audio handling. Remember if we have ever send a CRCX,
diff --git a/openbsc/src/nat/bsc_nat_utils.c b/openbsc/src/nat/bsc_nat_utils.c
index c1e3c982..9e4ccc6e 100644
--- a/openbsc/src/nat/bsc_nat_utils.c
+++ b/openbsc/src/nat/bsc_nat_utils.c
@@ -469,6 +469,7 @@ static int _dt_check_id_resp(struct bsc_connection *bsc,
ret = auth_imsi(bsc, mi_string);
con->imsi_checked = 1;
+ con->imsi = talloc_strdup(con, mi_string);
return ret;
}