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.orglaforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/23812 ) Change subject: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized ...................................................................... Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized In case the local RTP socket IP/port has not yet been configured, conn->u.rtp.end.addr.u.sa.sa_family is still uninitialized. When receiving an inbound RTP packet that we want to loop back, we hence run into the OSMO_ASSERT() that the socket sa_family (0) is not AF_INET nor AF_INET6. We have received a packet from a given source address on this socket, and we hence should be able to send a response back. This patch was written without a lot of understanding of the larger osmo-mgw codebase. Maybe the problem is that conn->u.rtp.end.addr.u.sa.sa_family should be set correctly during the CRCX time already. Then of course that would be amore proper fix than this one. Change-Id: I2ecf81447e6a92fb566baba53fcf819f4029d54d Closes: OS#5123 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/12/23812/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 6b31f2b..bd6a94e 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1269,7 +1269,8 @@ * address data from the UDP packet header to patch the * outgoing address in connection on the fly */ if (conn->u.rtp.end.rtp_port == 0) { - OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family); + OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == 0 || + conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family); switch (from_addr->u.sa.sa_family) { case AF_INET: conn->u.rtp.end.addr.u.sin.sin_addr = from_addr->u.sin.sin_addr; @@ -1340,7 +1341,8 @@ * address data from the UDP packet header to patch the * outgoing address in connection on the fly */ if (conn->u.rtp.end.rtp_port == 0) { - OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family); + OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == 0 || + conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family); switch (from_addr->u.sa.sa_family) { case AF_INET: conn->u.rtp.end.addr.u.sin.sin_addr = from_addr->u.sin.sin_addr; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/23812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ecf81447e6a92fb566baba53fcf819f4029d54d Gerrit-Change-Number: 23812 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge at osmocom.org> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210420/98952562/attachment.htm>