Harald Welte has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/14324 )

Change subject: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN 
ACT
......................................................................

common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT

According to 3GPP TS 48.058, section 8.4.1, the Handover Reference
element must be included if channel activation type is 'handover'.
Let's properly reject CHANnel ACTivation messages with missing
RSL_IE_HANDO_REF. Otherwise such requests are misinterpreted
as regular (non-handover) channel requests.

Found using TC_ho_rach() TTCN-3 test case.

Change-Id: I9c50e1dbeb54c5470560adcdfb2bdf5abbe47993
---
M src/common/rsl.c
1 file changed, 7 insertions(+), 3 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/common/rsl.c b/src/common/rsl.c
index b96182f..410b38a 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -1090,9 +1090,13 @@
                memset(&lchan->encr, 0, sizeof(lchan->encr));

        /* 9.3.9 Handover Reference */
-       if ((type == RSL_ACT_INTER_ASYNC ||
-            type == RSL_ACT_INTER_SYNC) &&
-           TLVP_PRES_LEN(&tp, RSL_IE_HANDO_REF, 1)) {
+       if ((type == RSL_ACT_INTER_ASYNC || type == RSL_ACT_INTER_SYNC)) {
+               /* According to 8.4.1, the Handover Reference element is 
included
+                * if activation type is handover. Assuming it's mandatory. */
+               if (!TLVP_PRES_LEN(&tp, RSL_IE_HANDO_REF, 1)) {
+                       LOGPLCHAN(lchan, DRSL, LOGL_NOTICE, "Missing Handover 
Reference IE\n");
+                       return rsl_tx_chan_act_nack(lchan, 
RSL_ERR_MAND_IE_ERROR);
+               }
                lchan->ho.active = HANDOVER_ENABLED;
                lchan->ho.ref = *TLVP_VAL(&tp, RSL_IE_HANDO_REF);
        }

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14324
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I9c50e1dbeb54c5470560adcdfb2bdf5abbe47993
Gerrit-Change-Number: 14324
Gerrit-PatchSet: 2
Gerrit-Owner: Vadim Yanitskiy <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: merged

Reply via email to