]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
captivectrl: Allow empty IP addresses
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 30 Jan 2016 14:30:13 +0000 (14:30 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 22 Sep 2017 17:54:03 +0000 (18:54 +0100)
Probably required for very long leases

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/misc-progs/captivectrl.c

index 975264952318d6f0e51523f3ed4cb3d1b39e88b5..97d5c19d63e10aab4d450d714fe24fb44d31c8a9 100644 (file)
@@ -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);