pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-mgw/+/29621 )


Change subject: Clean up local var pointers in mgcp_get_local_addr()
......................................................................

Clean up local var pointers in mgcp_get_local_addr()

Change-Id: I12f1d38b70f97426318e948cd80f9efc2592d54b
---
M src/libosmo-mgcp/mgcp_network.c
1 file changed, 15 insertions(+), 16 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/21/29621/1

diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c
index 41e6ffc..781bb44 100644
--- a/src/libosmo-mgcp/mgcp_network.c
+++ b/src/libosmo-mgcp/mgcp_network.c
@@ -89,13 +89,12 @@
  *  IP-Addresses are used as fallback. */
 int mgcp_get_local_addr(char *addr, struct mgcp_conn_rtp *conn)
 {
-
-       struct mgcp_endpoint *endp;
+       const struct mgcp_endpoint *endp = conn->conn->endp;
+       const struct mgcp_config *cfg = endp->trunk->cfg;
        char ipbuf[INET6_ADDRSTRLEN];
        int rc;
-       endp = conn->conn->endp;
        bool rem_addr_set = osmo_sockaddr_is_any(&conn->end.addr) == 0;
-       char *bind_addr;
+       const char *bind_addr;

        /* Osmux: No smart IP addresses allocation is supported yet. Simply
         * return the one set in VTY config: */
@@ -103,19 +102,19 @@
                if (rem_addr_set) {
                        /* Match IP version with what was requested from 
remote: */
                        bind_addr = conn->end.addr.u.sa.sa_family == AF_INET6 ?
-                                   conn->conn->endp->trunk->cfg->osmux_addr_v6 
:
-                                   conn->conn->endp->trunk->cfg->osmux_addr_v4;
+                                   cfg->osmux_addr_v6 :
+                                   cfg->osmux_addr_v4;
                } else {
                        /* Choose any of the bind addresses, preferring v6 over 
v4 if available: */
-                       bind_addr = conn->conn->endp->trunk->cfg->osmux_addr_v6;
+                       bind_addr = cfg->osmux_addr_v6;
                        if (!bind_addr)
-                               bind_addr = 
conn->conn->endp->trunk->cfg->osmux_addr_v4;
+                               bind_addr = cfg->osmux_addr_v4;
                }
                if (!bind_addr) {
                        LOGPCONN(conn->conn, DOSMUX, LOGL_ERROR,
                                "Unable to locate local Osmux address, check 
your configuration! v4=%u v6=%u remote_known=%s\n",
-                               !!conn->conn->endp->trunk->cfg->osmux_addr_v4,
-                               !!conn->conn->endp->trunk->cfg->osmux_addr_v6,
+                               !!cfg->osmux_addr_v4,
+                               !!cfg->osmux_addr_v6,
                                rem_addr_set ? 
osmo_sockaddr_ntop(&conn->end.addr.u.sa, ipbuf) : "no");
                        return -1;
                }
@@ -127,7 +126,7 @@
        }

        /* Try probing the local IP-Address */
-       if (endp->trunk->cfg->net_ports.bind_addr_probe && rem_addr_set) {
+       if (cfg->net_ports.bind_addr_probe && rem_addr_set) {
                rc = osmo_sock_local_ip(addr, 
osmo_sockaddr_ntop(&conn->end.addr.u.sa, ipbuf));
                if (rc < 0)
                        LOGPCONN(conn->conn, DRTP, LOGL_ERROR,
@@ -145,13 +144,13 @@
                /* Check there is a bind IP for the RTP traffic configured,
                 * if so, use that IP-Address */
                bind_addr = conn->end.addr.u.sa.sa_family == AF_INET6 ?
-                               endp->trunk->cfg->net_ports.bind_addr_v6 :
-                               endp->trunk->cfg->net_ports.bind_addr_v4;
+                               cfg->net_ports.bind_addr_v6 :
+                               cfg->net_ports.bind_addr_v4;
        } else {
                /* Choose any of the bind addresses, preferring v6 over v4 */
-               bind_addr = endp->trunk->cfg->net_ports.bind_addr_v6;
+               bind_addr = cfg->net_ports.bind_addr_v6;
                if (!strlen(bind_addr))
-                       bind_addr = endp->trunk->cfg->net_ports.bind_addr_v4;
+                       bind_addr = cfg->net_ports.bind_addr_v4;
        }
        if (strlen(bind_addr)) {
                LOGPCONN(conn->conn, DRTP, LOGL_DEBUG,
@@ -161,7 +160,7 @@
                /* No specific bind IP is configured for the RTP traffic, so
                 * assume the IP where we listen for incoming MGCP messages
                 * as bind IP */
-               bind_addr = endp->trunk->cfg->source_addr;
+               bind_addr = cfg->source_addr;
                LOGPCONN(conn->conn, DRTP, LOGL_DEBUG,
                        "using mgcp bind ip as local rtp bind ip: %s\n", 
bind_addr);
        }

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

Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I12f1d38b70f97426318e948cd80f9efc2592d54b
Gerrit-Change-Number: 29621
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to