Change in osmo-bts[master]: osmo-bts-trx: fix handling of ciphering params in PRIM_INFO_MODIFY
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/29217 ) Change subject: osmo-bts-trx: fix handling of ciphering params in PRIM_INFO_MODIFY ...................................................................... osmo-bts-trx: fix handling of ciphering params in PRIM_INFO_MODIFY The PRIM_INFO_MODIFY is sent on receipt of the RSL MODE MODIFY message, which may optionally contain new ciphering parameters. Before this patch, osmo-bts-trx would ignore the new parameters and continue using the old ciphering key/algorithm. * Modify l1if_set_ciphering() to allow updating ciphering params. * Call l1if_set_ciphering() when handling PRIM_INFO_MODIFY. This problem was uncovered by BTS_Tests.TC_rsl_modify_encr, which has been failing ever since it was introduced [1]. This patch makes it pass. Change-Id: I2278703b487374c0de4cfc42b22e70aaf6548589 Related: [1] I4cbea499bb6a331d314e6573548a4540945208b5 osmo-ttcn3-hacks.git Related: OS#3750 --- M src/osmo-bts-trx/l1_if.c 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/17/29217/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 92180b5..8c364c3 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -326,8 +326,8 @@ /* enable ciphering */ static int l1if_set_ciphering(struct gsm_lchan *lchan, uint8_t chan_nr, int downlink) { - /* ciphering already enabled in both directions */ - if (lchan->ciph_state == LCHAN_CIPH_RXTX_CONF) + /* ignore the request when the channel is not active */ + if (lchan->state != LCHAN_S_ACTIVE) return -EINVAL; if (!downlink) { @@ -463,6 +463,13 @@ lchan->tch.amr_mr.mode[3].mode, amr_get_initial_mode(lchan), 0); + /* update ciphering params */ + l1if_set_ciphering(lchan, chan_nr, 0); + l1if_set_ciphering(lchan, chan_nr, 1); + if (lchan->encr.alg_id) + lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; + else + lchan->ciph_state = LCHAN_CIPH_NONE; break; } /* here, type == PRIM_INFO_DEACTIVATE */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/29217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2278703b487374c0de4cfc42b22e70aaf6548589 Gerrit-Change-Number: 29217 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> Gerrit-MessageType: newchange
participants (1)
-
fixeria