mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 18:28:25 +00:00
Allow wildcard aliases in --bridge-interface option
This is useful when using dnsmasq as DHCP server for a set of VMs whose data is routed by the host instead of being bridged. In this scenario: - There is an unbounded set of TAP interfaces that have no IP address at the host end. - DHCP allocation is done from an IPv4 address range associated with a dummy interface. - We run dnsmasq with --interface dummy --interface tap* --bind-dynamic, so that it listens on all the TAP interfaces, and --bridge-interface=dummy,tap*, so that it will allocate IP addresses via the TAP interfaces from the range associated with the dummy interface.
This commit is contained in:
committed by
Simon Kelley
parent
10d8540f62
commit
70772c9091
19
src/util.c
19
src/util.c
@@ -602,3 +602,22 @@ int wildcard_match(const char* wildcard, const char* match)
|
||||
|
||||
return *wildcard == *match;
|
||||
}
|
||||
|
||||
/* The same but comparing a maximum of NUM characters, like strncmp. */
|
||||
int wildcard_matchn(const char* wildcard, const char* match, int num)
|
||||
{
|
||||
while (*wildcard && *match && num)
|
||||
{
|
||||
if (*wildcard == '*')
|
||||
return 1;
|
||||
|
||||
if (*wildcard != *match)
|
||||
return 0;
|
||||
|
||||
++wildcard;
|
||||
++match;
|
||||
--num;
|
||||
}
|
||||
|
||||
return (!num) || (*wildcard == *match);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user