aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs/gprs_gmm.c
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2018-05-02 18:17:34 +0200
committerAlexander Couzens <lynxis@fe80.eu>2018-05-02 18:17:34 +0200
commit85ca87b8dd60fa74b1a51112bfd2b1c985528071 (patch)
treecb35cd630a53aedb759018a85014ea1480c19422 /src/gprs/gprs_gmm.c
parentaa4ed671643c1d7bcd0ae05faa9aef236d9ad5ff (diff)
GMM: dont reply to GMM_DETACH_REQ with POWER OFF when MS is unknown
Diffstat (limited to 'src/gprs/gprs_gmm.c')
-rw-r--r--src/gprs/gprs_gmm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c
index 28fba7151..93d64a4be 100644
--- a/src/gprs/gprs_gmm.c
+++ b/src/gprs/gprs_gmm.c
@@ -1933,6 +1933,13 @@ static int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg,
if (gh->msg_type == GSM48_MT_GMM_DETACH_ACK)
return gprs_llgmm_unassign(llme);
+ /* Don't reply to deatch requests, reason power off */
+ if (gh->msg_type == GSM48_MT_GMM_DETACH_REQ &&
+ gh->data[0] & 0x8) {
+ return 0;
+ }
+
+
gprs_llgmm_reset(llme);
/* Don't force it into re-attachment */