From 2755f6e5b42d67c34de84af0fb0b6641c4249317 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 23 Jan 2014 15:10:05 +0100 Subject: 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. --- src/common/rsl.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/common') 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, -- cgit v1.2.3