package/dnsmasq: allow /etc/config/dhcp to specify --address arguments
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 5 Jul 2012 17:54:14 +0000 (17:54 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 5 Jul 2012 17:54:14 +0000 (17:54 +0000)
Add a config list to the 'config dnsmasq' section to specify fixed DNS
addresses.

For example:

  config dnsmasq:
[snip]
list address '/example.com/192.168.0.1'

will result in the argument '-A /example.com/192.168.0.1' to the dnsmasq
options. This configures dnsmasq to return the specified IP for any
queries to '*.example.com' names.

Useful for overriding lookups to a range of DNS names.

[jow: "append args" -> "xappend", "-A" -> "--address"]

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32624 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/dnsmasq/files/dnsmasq.init

index 15228da..85c22c3 100644 (file)
@@ -55,6 +55,10 @@ append_server() {
        xappend "--server=$1"
 }
 
+append_address() {
+       xappend "--address=$1"
+}
+
 append_interface() {
        local ifname=$(uci_get_state network "$1" ifname "$1")
        xappend "--interface=$ifname"
@@ -103,6 +107,7 @@ dnsmasq() {
        append_parm "$cfg" "domain" "--domain"
        append_parm "$cfg" "local" "--server"
        config_list_foreach "$cfg" "server" append_server
+       config_list_foreach "$cfg" "address" append_address
        config_list_foreach "$cfg" "interface" append_interface
        config_list_foreach "$cfg" "notinterface" append_notinterface
        config_list_foreach "$cfg" "addnhosts" append_addnhosts