pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-hnbgw/+/37808?usp=email )

Change subject: on RUA DT for unknown context, respond with RUA Disconnect
......................................................................

on RUA DT for unknown context, respond with RUA Disconnect

If we receive a DirectTransfer for an unknown RUA context, respond with
a RUA Disconnect to make sure the peer knows there is no such context.
(Do not respond to RUA Disconnect though.)

Related: OS#6283
Tweaked-by: Oliver Smith <[email protected]>
Change-Id: If0b9a999649c9822f55b42b0cae8408af668e1b8
---
M src/osmo-hnbgw/hnbgw_rua.c
1 file changed, 9 insertions(+), 5 deletions(-)

Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve




diff --git a/src/osmo-hnbgw/hnbgw_rua.c b/src/osmo-hnbgw/hnbgw_rua.c
index 01e9e3a..b804b46 100644
--- a/src/osmo-hnbgw/hnbgw_rua.c
+++ b/src/osmo-hnbgw/hnbgw_rua.c
@@ -242,7 +242,6 @@
        struct msgb *ranap_msg = NULL;
        struct hnbgw_context_map *map = NULL;
        bool is_ps;
-       int logl;

        switch (cN_DomainIndicator) {
        case RUA_CN_DomainIndicator_cs_domain:
@@ -267,7 +266,6 @@
        }

        map = context_map_find_by_rua_ctx_id(hnb, context_id, is_ps);
-       logl = LOGL_ERROR;

        switch (rua_procedure) {
        case RUA_ProcedureCode_id_Connect:
@@ -293,13 +291,19 @@
                /* For RUA Disconnect, do not spam the ERROR log. It is just a 
stray Disconnect, no harm done.
                 * Context: some CN are known to rapidly tear down SCCP without 
waiting for RUA to disconnect gracefully
                 * (IU Release Complete). Such CN would cause ERROR logging for 
each and every released context map. */
-               logl = LOGL_DEBUG;
-               /* fall thru */
+               if (!map) {
+                       LOGHNB(hnb, DRUA, LOGL_DEBUG, "rx RUA %s for unknown 
RUA context %u\n",
+                              rua_procedure_code_name(rua_procedure), 
context_id);
+                       return -EINVAL;
+               }
+               break;
+
        default:
                /* Any message other than Connect must have a valid RUA context 
*/
                if (!map) {
-                       LOGHNB(hnb, DRUA, logl, "rx RUA %s for unknown RUA 
context %u\n",
+                       LOGHNB(hnb, DRUA, LOGL_ERROR, "rx RUA %s for unknown 
RUA context %u\n",
                               rua_procedure_code_name(rua_procedure), 
context_id);
+                       rua_tx_disc_conn_fail(hnb, is_ps, context_id);
                        return -EINVAL;
                }
                break;

--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/37808?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: If0b9a999649c9822f55b42b0cae8408af668e1b8
Gerrit-Change-Number: 37808
Gerrit-PatchSet: 3
Gerrit-Owner: neels <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-CC: laforge <[email protected]>
Gerrit-CC: osmith <[email protected]>

Reply via email to