From 7d597b996b1c5da1907d0ed0e4793ed230591fff Mon Sep 17 00:00:00 2001 From: Brian West Date: Tue, 9 Jun 2009 14:40:27 +0000 Subject: [PATCH] don't let 0.0.0.0 be valid for upnp because some devices that are not internet gateways will return this ie printers git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13720 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_nat.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/switch_nat.c b/src/switch_nat.c index 0b8196d2fc..bcf278f4cd 100644 --- a/src/switch_nat.c +++ b/src/switch_nat.c @@ -74,6 +74,7 @@ static int init_upnp (void) } if (!dev) { dev = devlist; /* defaulting to first device */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "No InternetGatewayDevice, using first entry as default.\n"); } descXML = miniwget(dev->descURL, &descXMLsize); @@ -91,6 +92,12 @@ static int init_upnp (void) nat_globals.data.servicetype, nat_globals.pub_addr)) == UPNPCOMMAND_SUCCESS) { + if (!strcmp(nat_globals.pub_addr, "0.0.0.0")) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, + "uPNP Device (url: %s) returned an invalid external address of 0.0.0.0. Disabling uPNP\n", nat_globals.urls.controlURL); + return -2; + } + nat_globals.nat_type = SWITCH_NAT_TYPE_UPNP; return 0; }