diff options
authorAlexander Couzens <lynxis@fe80.eu>2021-09-04 00:44:18 +0200
committerAlexander Couzens <lynxis@fe80.eu>2021-09-04 01:31:18 +0200
commit3178e30206934d78c1229a04814957837f1dde77 (patch)
parent1adfd23290dc9d9f7a2d850034c7c80e2ae5e7bb (diff)
gprs_ns2: ensure the incoming NSVC is also the outgoing NSVC
Previous the SNS NSVC (the NSVC used for all SNS traffic) was never changed except when the choosen NSVC went dead or got freed. When receiving a SNS SIZE PDU over a different NSVC than the current SNS NSVC the answer would be transmitted to a different port. Change-Id: I36cd9488b8bca5cb99dae5cf50a55ee282e0557b
1 files changed, 1 insertions, 2 deletions
diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c
index c1be0ab8..7619b666 100644
--- a/src/gb/gprs_ns2_sns.c
+++ b/src/gb/gprs_ns2_sns.c
@@ -2326,8 +2326,7 @@ int ns2_sns_rx(struct gprs_ns2_vc *nsvc, struct msgb *msg, struct tlv_parsed *tp
/* FIXME: how to resolve SNS FSM Instance by NSEI (SGSN)? */
fi = nse->bss_sns_fi;
gss = (struct ns2_sns_state *) fi->priv;
- if (!gss->sns_nsvc)
- gss->sns_nsvc = nsvc;
+ gss->sns_nsvc = nsvc;
LOGPFSML(fi, LOGL_DEBUG, "NSEI=%u Rx SNS PDU type %s\n", nsei,
get_value_string(gprs_ns_pdu_strings, nsh->pdu_type));