aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-01-23 15:10:05 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-02-19 18:09:35 +0100
commit2755f6e5b42d67c34de84af0fb0b6641c4249317 (patch)
treeeddf9d06066e7f1336e0a0f7b18e06cfb59f45f1 /src
parent572ed461b687809cae58596e2afcb66f8826779d (diff)
rsl: Do not allow IPA CRCX on non traffic channels
Use 0x52 as error cause as the nanoBTS is doing the same under the situation. This has been spotted while testing handover using the VTY command for handover.
Diffstat (limited to 'src')
-rw-r--r--src/common/rsl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index b7dc2b52..4334b05d 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -1292,6 +1292,11 @@ static int rsl_rx_ipac_XXcx(struct msgb *msg)
else
name = "MDCX";
+ /* check the kind of channel and reject */
+ if (lchan->type != GSM_LCHAN_TCH_F && lchan->type != GSM_LCHAN_TCH_H)
+ return tx_ipac_XXcx_nack(lchan, 0x52,
+ 0, dch->c.msg_type);
+
rc = rsl_tlv_parse(&tp, msgb_l3(msg), msgb_l3len(msg));
if (rc < 0)
return tx_ipac_XXcx_nack(lchan, RSL_ERR_MAND_IE_ERROR,