From 16ca3faf849620cccea813d868eea5379faa5903 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Mon, 31 Aug 2020 20:09:26 +0200 Subject: Fix creating MGCP proxy socket if MGW listens on an IPv6 address If for instance "mgw remote-ip ::1" is configured, the MGCP IPA proxy socket towards the MGW will use ::1 as the destination address, but it was being created as AF_INET. Let's use AF_UNSPEC instead and let osmo_sock_init2 decide the best socket type to create. Moreover, change the default local address from "0.0.0.0" to NULL to also let osmo_sock_init2 pick an IPv6 address if necessary. Change-Id: Ide88c7358a38702ef11c84145518794e75870ef8 --- src/osmo-bsc/osmo_bsc_msc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index b1bb24530..26d2bc8d2 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -164,7 +164,7 @@ int osmo_bsc_msc_init(struct bsc_msc_data *msc) else mgw_port = MGCP_CLIENT_REMOTE_PORT_DEFAULT; - rc = osmo_sock_init2_ofd(&msc->mgcp_ipa.ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, + rc = osmo_sock_init2_ofd(&msc->mgcp_ipa.ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, msc->mgcp_ipa.local_addr, msc->mgcp_ipa.local_port, net->mgw.conf->remote_addr, mgw_port, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); @@ -256,7 +256,7 @@ struct bsc_msc_data *osmo_msc_data_alloc(struct gsm_network *net, int nr) msc_data->audio_support[4]->hr = 1; osmo_fd_setup(&msc_data->mgcp_ipa.ofd, -1, OSMO_FD_READ, &bsc_sccplite_mgcp_proxy_cb, msc_data, 0); - msc_data->mgcp_ipa.local_addr = talloc_strdup(msc_data, "0.0.0.0"); + msc_data->mgcp_ipa.local_addr = NULL; /* = INADDR(6)_ANY */ msc_data->mgcp_ipa.local_port = 0; /* dynamic */ msc_data->nri_ranges = osmo_nri_ranges_alloc(msc_data); -- cgit v1.2.3