diff options
author | Harald Welte <laforge@gnumonks.org> | 2019-03-16 14:38:19 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-03-16 18:34:52 +0100 |
commit | 94c9b449cfbafb610c1679cf733394f2df58f178 (patch) | |
tree | cf67870de3940d12bd3a5c13c63b9a1c022f5f2f /src/gsm/milenage/milenage.h | |
parent | 1e072cca4ed8fd827e6992db82186102c79903f0 (diff) |
gprs_ns: Don't use initial IP/port for anything but SNS
Section 6.2.1 of 3GPP TS 48.016 states:
> A pre-configured endpoint shall not be used for NSE data or signalling
> traffic (with the exception of Size and Configuration procedures) unless
> it is configured by the SGSN using the auto-configuration procedures.
However, in the current SNS implementation, the initial IP/Port over
which we perform the SNS-SIZE + SNS-CONFIG are treated as one of the
normal NS-VCs. Specifically, we also perform the NS-ALIVE procedure on
it, which is clearly wrong.
Let's explicitly create the "initial" NS-VC with data and signalling
weight of 0, and ensure we never start the alive timer or send any
non-SNS PDUs on this connection as long as SNS was not used to change
either of the two weights to non-zero.
While at it, also safeguard against processing any incoming non-SNS
messages on such a all-zero-weight connection.
Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628
Closes: OS#3844
Diffstat (limited to 'src/gsm/milenage/milenage.h')
0 files changed, 0 insertions, 0 deletions