The goal of this change is to allow the dynamic creation of an "--address" option for each host in the local network.
This opens up the possibility of fitting a common request among users (particularly web-developers). That request is:to resolve DNS request for wildcard subdomains for local domains.[2][3] This plays nice with serving virtual hosts from different machines on LAN, allowing to easily test on different devices . [3] [1] dnsmasq: use host-record instead of address https://dev.openwrt.org/changeset/36943 [2] dnsmasq + wildcard + address https://www.google.com/search?q=dnsmasq+wildcard+address [3] Feature request: dynamically add an "address=/hostname/ip" line for each hostname (on generated /tmp/etc/dnsmasq.conf) https://dev.openwrt.org/ticket/12722 Signed-off-by: Julián Landerreche <openwrt at julianlanderreche.com.ar> --- package/network/services/dnsmasq/files/dnsmasq.init | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 630c07d..8c43e48 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -408,6 +408,24 @@ dhcp_domain_add() { xappend "--address=/$record/$ip" } +dhcp_address_add() { + local cfg="$1" + local ip name names record + + config_get names "$cfg" name "$2" + [ -n "$names" ] || return 0 + + config_get ip "$cfg" ip "$3" + [ -n "$ip" ] || return 0 + + for name in $names; do + fqdn="$name${DOMAIN:+.$DOMAIN}" + record="${record:+$record/}$name/$fqdn" + done + + xappend "--address=/$record/$ip" +} + dhcp_srv_add() { local cfg="$1" @@ -512,6 +530,7 @@ start() { config_foreach dhcp_subscrid_add subscrid config_foreach dhcp_domain_add domain config_foreach dhcp_hostrecord_add hostrecord + config_foreach dhcp_address_add host # add own hostname [ $ADD_LOCAL_HOSTNAME -eq 1 ] && [ -n "$lanaddr" ] && { --
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel