From 11c1b6e0147efbe78febd45271a0eb1887b031b0 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Fri, 28 Dec 2012 00:33:04 +0100 Subject: [PATCH] libmsc: Refuse service to anyone not attached Signed-off-by: Sylvain Munaut --- openbsc/src/libmsc/gsm_04_08.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index b9b364323..c772fff92 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -909,6 +909,10 @@ static int gsm48_rx_mm_serv_req(struct gsm_subscriber_connection *conn, struct m if (!subscr) return gsm48_tx_mm_serv_rej(conn, GSM48_REJECT_IMSI_UNKNOWN_IN_HLR); + else if (subscr->lac == GSM_LAC_RESERVED_DETACHED) + /* If the subscriber is not attached, reject service */ + return gsm48_tx_mm_serv_rej(conn, + GSM48_REJECT_IMSI_UNKNOWN_IN_VLR); if (!conn->subscr) conn->subscr = subscr;