From c437c1aa44ab95a6081607f3bef7879af50f9636 Mon Sep 17 00:00:00 2001 From: Shibby Date: Sat, 2 Mar 2013 17:14:18 +0100 Subject: [PATCH] Miniupnpd: fix permissions to use dotted mask Return to dotted mask in config file. --- release/src/router/miniupnpd/upnppermissions.c | 2 +- release/src/router/rc/services.c | 20 +++++--------------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/release/src/router/miniupnpd/upnppermissions.c b/release/src/router/miniupnpd/upnppermissions.c index 23b04dc26e..0fd43f7113 100644 --- a/release/src/router/miniupnpd/upnppermissions.c +++ b/release/src/router/miniupnpd/upnppermissions.c @@ -99,7 +99,7 @@ read_permission_line(struct upnpperm * perm, return -1; q++; p = q; - while(isdigit(*q) || (*q == '.')) + while(isdigit(*q)) q++; if(*q == '.') { diff --git a/release/src/router/rc/services.c b/release/src/router/rc/services.c index 507be8fca2..0077e23e6f 100644 --- a/release/src/router/rc/services.c +++ b/release/src/router/rc/services.c @@ -814,39 +814,29 @@ void start_upnp(void) char *lanmask = nvram_safe_get(lanN_netmask); char *lanlisten = nvram_safe_get(upnp_lanN); - // Count bits of lanmask - shibby - unsigned int i, bit_mask=0; - struct in_addr mask; - - inet_aton (lanmask, &mask); - // - - for (i=0; i<32; i++) - bit_mask += (mask.s_addr>>i)%2; - if((strcmp(lanlisten,"1")==0) && (strcmp(lanip,"")!=0) && (strcmp(lanip,"0.0.0.0")!=0)) { #else char *lanip = nvram_safe_get("lan_ipaddr"); char *lanmask = nvram_safe_get("lan_netmask"); #endif fprintf(f, - "listening_ip=%s/%d\n", - lanip, bit_mask); + "listening_ip=%s/%s\n", + lanip, lanmask); int ports[4]; if ((ports[0] = nvram_get_int("upnp_min_port_int")) > 0 && (ports[1] = nvram_get_int("upnp_max_port_int")) > 0 && (ports[2] = nvram_get_int("upnp_min_port_ext")) > 0 && (ports[3] = nvram_get_int("upnp_max_port_ext")) > 0) { fprintf(f, - "allow %d-%d %s/%d %d-%d\n", + "allow %d-%d %s/%s %d-%d\n", ports[0], ports[1], - lanip, bit_mask, + lanip, lanmask, ports[2], ports[3] ); } else { // by default allow only redirection of ports above 1024 - fprintf(f, "allow 1024-65535 %s/%d 1024-65535\n", lanip, bit_mask); + fprintf(f, "allow 1024-65535 %s/%s 1024-65535\n", lanip, lanmask); } #ifdef TCONFIG_VLAN } -- 2.11.4.GIT