Harald Welte has submitted this change and it was merged.

Change subject: M3UA: Properly reject invalid/unknown routing context
......................................................................


M3UA: Properly reject invalid/unknown routing context

This was discovered (and fix validated) using m3ua-sgp-asptm-i-005 of
Michael Tuexne's m3ua-testtool.

Change-Id: I217ae287e22371e36dda0f87a7737b62fb1bf2d6
---
M src/xua_asp_fsm.c
1 file changed, 9 insertions(+), 0 deletions(-)

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



diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index 9c4a8ca..2830334 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -392,6 +392,8 @@
 
 static void xua_asp_fsm_inactive(struct osmo_fsm_inst *fi, uint32_t event, 
void *data)
 {
+       struct xua_asp_fsm_priv *xafp = fi->priv;
+       struct osmo_ss7_asp *asp = xafp->asp;
        struct xua_msg *xua_in;
        uint32_t traf_mode;
 
@@ -434,6 +436,13 @@
                                break;
                        }
                }
+               if (xua_msg_find_tag(xua_in, M3UA_IEI_ROUTE_CTX)) {
+                       uint32_t rctx = xua_msg_get_u32(xua_in, 
M3UA_IEI_ROUTE_CTX);
+                       if (!osmo_ss7_as_find_by_rctx(asp->inst, rctx)) {
+                               peer_send_error(fi, M3UA_ERR_INVAL_ROUT_CTX);
+                               break;
+                       }
+               }
                /* send ACK */
                peer_send(fi, XUA_ASP_E_ASPTM_ASPAC_ACK, NULL);
                /* transition state and inform layer manager */

-- 
To view, visit https://gerrit.osmocom.org/2274
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I217ae287e22371e36dda0f87a7737b62fb1bf2d6
Gerrit-PatchSet: 7
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder

Reply via email to