aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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)
tree34571b0acbcc1d66e066644ff098ac76649b1cbc
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
-rw-r--r--src/gb/gprs_ns2_sns.c3
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));