From: Michael Tremer Date: Sat, 30 Jan 2016 14:30:13 +0000 (+0000) Subject: captivectrl: Allow empty IP addresses X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5fbeaf133312d0ca8e28b842f6eb7d31a172d8ab;p=people%2Fms%2Fipfire-2.x.git captivectrl: Allow empty IP addresses Probably required for very long leases Signed-off-by: Michael Tremer --- diff --git a/src/misc-progs/captivectrl.c b/src/misc-progs/captivectrl.c index 9752649523..97d5c19d63 100644 --- a/src/misc-progs/captivectrl.c +++ b/src/misc-progs/captivectrl.c @@ -148,8 +148,15 @@ static int add_client_rules(const client_t* clients) { char* time_start = format_time(&clients->time_start); char* time_end = format_time(&expires); - snprintf(match, sizeof(match), "-s %s -m mac --mac-source %s" - " -m time --datestart %s --datestop %s", clients->ipaddr, + size_t len = 0; + + if (*clients->ipaddr) { + len += snprintf(match + len, sizeof(match) - len, + "-s %s", clients->ipaddr); + } + + len += snprintf(match + len, sizeof(match) - len, + " -m mac --mac-source %s -m time --datestart %s --datestop %s", clients->etheraddr, time_start, time_end); free(time_start);