Change in osmo-msc[master]: fail on invalid RTP address from MGW

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
Thu Nov 28 10:55:30 UTC 2019


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

Change subject: fail on invalid RTP address from MGW
......................................................................

fail on invalid RTP address from MGW

When the CRCX OK returns an invalid RTP address, abort the call; fixes
MSC_Tests.TC_invalid_mgcp_crash.

The original crash happened when adding this error handling without this commit
I08c03946605aa12e0a5ce8b3c773704ef5327a7a ("fsm: use deferred deallocation" for
osmo-mgw I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 "fix use-after-free: require
new fsm deferred dealloc, check for term"). With this error handling added,
even though avoiding a crash, the test does not pass yet, because instead of
rejecting the call, it currently composes an Assignment Command without a
Transport Layer Address. Fix that.

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

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c
index 0b07fbc..a4048f4 100644
--- a/src/libmsc/msc_a.c
+++ b/src/libmsc/msc_a.c
@@ -627,6 +627,12 @@
 			LOG_MSC_A(msc_a, LOGL_ERROR, "Invalid data for %s\n", osmo_fsm_event_name(fi->fsm, event));
 			return;
 		}
+		if (!osmo_sockaddr_str_is_nonzero(&rtps->local)) {
+			LOG_MSC_A(msc_a, LOGL_ERROR, "Invalid RTP address received from MGW: " OSMO_SOCKADDR_STR_FMT "\n",
+				 OSMO_SOCKADDR_STR_FMT_ARGS(&rtps->local));
+			call_leg_release(msc_a->cc.call_leg);
+			return;
+		}
 		LOG_MSC_A(msc_a, LOGL_DEBUG,
 			  "MGW endpoint's RTP address available for the CI %s: " OSMO_SOCKADDR_STR_FMT " (osmux=%s:%d)\n",
 			  rtp_direction_name(rtps->dir), OSMO_SOCKADDR_STR_FMT_ARGS(&rtps->local),

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

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I00c3b5ff74c05bcc2b7c39375c33419916a57193
Gerrit-Change-Number: 16302
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191128/b2047f96/attachment.htm>


More information about the gerrit-log mailing list