diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2021-01-07 14:46:28 +0100 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2021-01-07 18:57:57 +0000 |
commit | 09bea0152a77c7b9559244b7d421ef33a8f8fd21 (patch) | |
tree | de7affa0c992961bbe2d459a2a6114d424128ab1 | |
parent | 210774f60b87612038b1df8e42ff65add578b34b (diff) |
bssgp_bvc_fsm: Handle block request from application correctly
This is no event from an incoming message so rx is NULL, and we can't send a
status PDU. Also blocking the signalling BVC is not allowed (unblocking it is already
forbidden).
Change-Id: I3e384b71d57e939efc1596ac1d92380ed5eb916d
Fixes: CID#215716
-rw-r--r-- | src/gb/bssgp_bvc_fsm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gb/bssgp_bvc_fsm.c b/src/gb/bssgp_bvc_fsm.c index cc634a53..6de0028a 100644 --- a/src/gb/bssgp_bvc_fsm.c +++ b/src/gb/bssgp_bvc_fsm.c @@ -456,7 +456,10 @@ static void bssgp_bvc_fsm_unblocked(struct osmo_fsm_inst *fi, uint32_t event, vo case BSSGP_BVCFSM_E_REQ_BLOCK: if (bfp->role_sgsn) { LOGPFSML(fi, LOGL_ERROR, "SGSN may not initiate BVC-BLOCK\n"); - _tx_status(fi, BSSGP_CAUSE_SEM_INCORR_PDU, rx); + break; + } + if (bfp->bvci == 0) { + LOGPFSML(fi, LOGL_ERROR, "BVCI 0 cannot be blocked\n"); break; } bfp->locally_blocked = true; |