summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accel-pppd/extra/ippool.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/accel-pppd/extra/ippool.c b/accel-pppd/extra/ippool.c
index 7a91cf43..6ba2b5df 100644
--- a/accel-pppd/extra/ippool.c
+++ b/accel-pppd/extra/ippool.c
@@ -100,10 +100,20 @@ struct ippool_t *find_pool(char *name, int create)
static void parse_gw_ip_address(const char *val)
{
+ char addr[17];
+ char *ptr;
+
if (!val)
return;
- conf_gw_ip_address = inet_addr(val);
+ ptr = strchr(val, '/');
+ if (ptr) {
+ memcpy(addr, val, ptr - val);
+ addr[ptr - val] = 0;
+ conf_gw_ip_address = inet_addr(addr);
+ }
+ else
+ conf_gw_ip_address = inet_addr(val);
}
//parses ranges like x.x.x.x/mask