diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-01-23 15:10:05 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-02-19 18:09:35 +0100 |
commit | 2755f6e5b42d67c34de84af0fb0b6641c4249317 (patch) | |
tree | eddf9d06066e7f1336e0a0f7b18e06cfb59f45f1 | |
parent | 572ed461b687809cae58596e2afcb66f8826779d (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.
-rw-r--r-- | src/common/rsl.c | 5 |
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, |