Change in osmo-msc[master]: CC: add error handling for CRCX responses

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Mon Nov 4 10:12:30 UTC 2019


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15853 )

Change subject: CC: add error handling for CRCX responses
......................................................................

CC: add error handling for CRCX responses

Fix three 'FIXME: ERROR HANDLING' occurences in the code that reacts upon the
MGW providing (or failing to provide) an RTP port for the RAN side. From an
earlier stage of the code, the cleanup for this situation was extremely
complex, and hence the choice was to simply wait for the call to time out and
fail. But since we have implemented safe deallocation of nested FSMs in
libosmocore, the situation has become rather trivial: simply free the CC
transactions, and all the rest will immediately release, and terminate
correctly without crashing.

A ttcn3 test for this is MSC_Tests:TC_invalid_mgcp_crash, which actually also
needs the change to osmo_sockaddr_str_is_nonzero() in preceding patch
I53ddb19a70fda3deb906464e1b89c12d9b4c7cbd, so that a seemingly valid MGCP
message ends up causing a failure in the on_success() branch of
mgcp_client_endpoint_fsm.c.

Change-Id: I8313bed1d782100bebeac7d8fc040557c4cb653e
---
M src/libmsc/msc_a.c
1 file changed, 3 insertions(+), 3 deletions(-)

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



diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c
index d99088e..3c316ea 100644
--- a/src/libmsc/msc_a.c
+++ b/src/libmsc/msc_a.c
@@ -523,7 +523,7 @@
 
 	if (mncc_bearer_cap_to_channel_type(&channel_type, &cc_trans->bearer_cap)) {
 		LOG_MSC_A(msc_a, LOGL_ERROR, "Cannot compose Channel Type from bearer capabilities\n");
-		/* FIXME: ERROR HANDLING */
+		trans_free(cc_trans);
 		return;
 	}
 
@@ -539,7 +539,7 @@
 	};
 	if (msc_a_ran_down(msc_a, MSC_ROLE_I, &msg)) {
 		LOG_MSC_A(msc_a, LOGL_ERROR, "Cannot send Assignment\n");
-		/* FIXME: ERROR HANDLING */
+		trans_free(cc_trans);
 		return;
 	}
 }
@@ -548,7 +548,7 @@
 {
 	if (gsm48_tch_rtp_create(cc_trans)) {
 		LOG_MSC_A(msc_a, LOGL_ERROR, "Cannot inform MNCC of RTP address\n");
-		/* FIXME: ERROR HANDLING */
+		trans_free(cc_trans);
 		return;
 	}
 }

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

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I8313bed1d782100bebeac7d8fc040557c4cb653e
Gerrit-Change-Number: 15853
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191104/5f6babfd/attachment.htm>


More information about the gerrit-log mailing list