Commit Graph

87 Commits

Author SHA1 Message Date
Jo-Philipp Wich
ed98b1f41c package/dnsmasq: allow /etc/config/dhcp to specify --address arguments
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>

SVN-Revision: 32624
2012-07-05 17:54:14 +00:00
Jo-Philipp Wich
8de3880c02 Add local TTL option to dnsmasq
-T, --local-ttl=<time>
    When replying with information from /etc/hosts or the DHCP leases
file dnsmasq by default sets the time-to-live field to zero, meaning
that the requestor should not itself cache the information. This is
the correct thing to do in almost all situations. This option allows a
time-to-live (in seconds) to be given for these replies. This will
reduce the load on the server at the expense of clients using stale
data under some circumstances.

[jow: change -T to --local--ttl to conform with the other options]

Signed-off-by: Andrew Byrne <openwrt@andy.id.au>

openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

SVN-Revision: 32623
2012-07-05 17:46:32 +00:00
Jo-Philipp Wich
faab751760 dnsmasq: introduce "add_local_hostname" and "add_local_domain" options - add_local_domain defaults to 1 and controls whether the local domain is written as search directive to the local resolv.conf - add_local_hostname defaults to 1 and controls whether A and PTR records are created automatically for the local hostname These change supersedes http://patchwork.openwrt.org/patch/2207/ and http://patchwork.openwrt.org/patch/2208/
SVN-Revision: 32570
2012-07-01 11:32:46 +00:00
Jo-Philipp Wich
c49f8068cd package/dnsmasq: permit UCI configuration of --dhcp-fqdn option
This adds a new boolean option, fqdn, to the "config dnsmasq" section of
/etc/config/dhcp. The default is off. When set on, it enables the dhcp-fqdn
option to dnsmasq. dhcp-fqdn causes dnsmasq's DNS server to not resolve
unqualifed local hostnames. The "domain" option is required when using "fqdn".
Local hostnames will remain available for lookup using fully-qualified names.

Signed-off-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 32569
2012-07-01 11:32:45 +00:00
Jo-Philipp Wich
7f573ef7e3 package/dnsmasq: permit dhcp_option in global dnsmasq config section
dnsmasq currently permits dhcp_options to be specified only in "config dhcp"
sections of /etc/config/dhcp. When dnsmasq is providing DHCP service for
multiple subnets and there are multiple "config dhcp" sections without "option
ignore", it makes sense to allow dhcp_options that should apply globally in
the "config dnsmasq" section of /etc/config/dhcp. dhcp_option is a list option.

[jow: rework patch to apply after dhcp-option-force handling got introduced]

Signed-off-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 32568
2012-07-01 11:32:29 +00:00
Jo-Philipp Wich
0e540ec90d dnsmasq: allow forcing options
The option 'force' when set to '1' will transform a dhcp-option to dhcp-option-force instead in the config.

This is useful for forcing options to be sent back to a client (even options it didn't ask for).

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

SVN-Revision: 31816
2012-05-19 20:17:56 +00:00
Jo-Philipp Wich
38cf8379b0 dnsmasq: add support for set: and tag: pairs
On my network, I have a variety of machines and appliances, some of which need different configuration issues than the default options.

For example:

config host
	option name 'client'
	option mac '00:01:02:03:04:05'
	option ip '192.168.1.20'
	option tag 'acme'

config tag acme
	option force '1'
	list dhcp_option 'option:router,192.168.1.253'
	list dhcp_option 'option:domain-name,acme.com'
	list dhcp_option 'option:domain-search,acme.com,redfish-solutions.com'

which allows me to override the default router for my client's host, as well as its domain-name, and its domain-search.

this causes the following config lines:

dhcp-host=00:01:02:03:04:05,set:acme,192.168.1.20,client
dhcp-option-force=tag:acme,option:router,192.168.1.253
dhcp-option-force=tag:acme,option:domain-name,acme.com
dhcp-option-force=tag:acme,option:domain-search:acme.com,redfish-solutions.com

This could be useful elsewhere, for instance, if you have an IP CCTV that you don't want to have a default-route, etc.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

SVN-Revision: 31815
2012-05-19 20:17:54 +00:00
Jo-Philipp Wich
3eb1820532 dnsmasq: fix parsing of mx record options (#11365)
SVN-Revision: 31814
2012-05-19 20:17:19 +00:00
Jo-Philipp Wich
e7807dd8ca dnsmasq: configure dnsmasq via flat config file and not command-line args
Sometimes it's useful to compare the generated config file from UCI config with a hand-edited dnsmasq config file, especially if you're migrating to an OpenWRT router from something else (such as Astlinux).

Putting the generated config makes it easier to capture and diff, etc.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

SVN-Revision: 31182
2012-04-02 22:31:21 +00:00
Jo-Philipp Wich
265d0b379a dnsmasq: add missing config_get, localize variables, bump package revision
SVN-Revision: 31058
2012-03-23 11:26:47 +00:00
Jo-Philipp Wich
c443f3d875 dnsmasq: add mx record support
Adding the following syntax support:

config mxhost
	option domain mydomain.com
	option relay svr10.ironport.com
	option pref 50

and this will generate an MX record for mydomain.com pointing at the relay with a given preference.

Redux: default the preference to 0 if absent.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

SVN-Revision: 31057
2012-03-23 11:19:58 +00:00
Jo-Philipp Wich
3747850535 dnsmasq: add keywords for SRV RR class/weight
The SRV record also requires the class and weight fields... Currently you can overload the "port" keyword as:

	option port xxxx,class,weight

but this is counter-intuitive. Here we fix this.

Redux: make the port required.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

SVN-Revision: 31056
2012-03-23 11:19:56 +00:00
Jo-Philipp Wich
0f74cb4631 dnsmasq: automatically add host entry for own hostname and ptr record for lan ip address
SVN-Revision: 29375
2011-12-01 21:34:45 +00:00
Nicolas Thill
4f5cbf9f9b package/dnsmasq: use new service wrapper
SVN-Revision: 28837
2011-11-07 22:58:45 +00:00
Travis Kemen
fce8379940 add cname section
SVN-Revision: 28493
2011-10-20 12:12:26 +00:00
Jo-Philipp Wich
50b69073d6 dnsmasq: allow hostname assignment without static lease The attached patch for dnsmasq.init allows to assign a hostname to a particular mac-address. It's useful to override the client supplied hostname, especially if the client does not supply a hostname at all.
It corresponds to the following example in dnsmasq.conf.example:

	# Always set the name of the host with hardware address
	# 11:22:33:44:55:66 to be "fred"
	#dhcp-host=11:22:33:44:55:66,fred

Regards
Mathias

SVN-Revision: 26983
2011-05-24 09:12:50 +00:00
Felix Fietkau
47310844bc dnsmasq: fix logic for creating missing files
SVN-Revision: 25540
2011-02-14 19:42:53 +00:00
Jo-Philipp Wich
a8850efe9e package/dnsmasq: use service_kill in initscript
SVN-Revision: 25537
2011-02-14 17:02:48 +00:00
Vasilis Tsiligiannis
e14097aca9 dnsmasq: add support for option "--dhcp-script" (thanks Bastian Bittorf)
SVN-Revision: 25137
2011-01-27 10:14:09 +00:00
Felix Fietkau
516dcae1c7 dnsmasq: Fix parameter 'limit'
'limit' is actually the number of IP addresses to serve. See the use of ipcalc.sh.
For getting the expected number of IP addresses served, we have to decrement
limit by one.

Patch from: kentarou matsuyama <matsuyama@thinktube.com>

SVN-Revision: 25100
2011-01-26 11:33:33 +00:00
Jo-Philipp Wich
bd35e85116 Package dnsmasq init-file If an already running DHCP-server is found on the configured interface, the init-script refuses to start, but does not give a hint why. It took us some days to track down this behavior in our MANET, where every wifi/adhoc-node runs it own DHCP-server. Now syslog is more verbose on this.
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

SVN-Revision: 24051
2010-11-21 13:53:27 +00:00
Jo-Philipp Wich
8c33c86021 dnsmasq: remove a useless subshell invocation from the init script
SVN-Revision: 23272
2010-10-06 13:23:56 +00:00
Jo-Philipp Wich
91cb4aac9e dnsmasq: allow 127.0.0.1/8 upstream DNS responses by default, resolves issues with Netflix and other services
SVN-Revision: 23270
2010-10-06 13:10:15 +00:00
Nicolas Thill
46016457c2 package/dnsmasq: add support for bogus-nxdomain (thanks to Mickey Knox), bump release number
SVN-Revision: 22592
2010-08-11 10:37:33 +00:00
Vasilis Tsiligiannis
f2ef7cc8af dnsmasq: Squelch a 'touch' error when no dhcp leases file is defined in config, thanks stsp (#7720)
SVN-Revision: 22528
2010-08-08 10:53:28 +00:00
Jo-Philipp Wich
251c93bcbf dnsmasq: add -c or --cache-size option to dnsmasq via cachesize UCI option (#7625)
SVN-Revision: 22490
2010-08-04 17:16:46 +00:00
Jo-Philipp Wich
97b10e38a8 Allow UCI interface names in /etc/config/dhcp Signed-off-by: Gabriel Kerneis <kerneis@pps.jussieu.fr>
SVN-Revision: 22487
2010-08-04 17:09:31 +00:00
Nicolas Thill
1d7a6ebc79 dnsmasq: initscript: fix bool options handling, bump release number
SVN-Revision: 22251
2010-07-17 13:36:13 +00:00
Jo-Philipp Wich
9c3244a884 dnsmasq: add and enable DNS rebind protections
SVN-Revision: 22222
2010-07-16 00:06:59 +00:00
Peter Denison
f30b179135 Add support for SRV records to dnsmasq config parsing
SVN-Revision: 21400
2010-05-08 12:35:29 +00:00
Jo-Philipp Wich
6f5203228f dnsmasq: - when processing domain entries, append searchdomain to host entries if they are not fully qualified - create only one reverse record for address entries with multiple names
SVN-Revision: 21109
2010-04-23 13:40:50 +00:00
Jo-Philipp Wich
c876279bb2 dnsmasq: don't append search domain to custom host entries
SVN-Revision: 20935
2010-04-16 19:09:05 +00:00
Jo-Philipp Wich
a8e904a958 dnsmasq: allow multiple hostnames per domain section
SVN-Revision: 20656
2010-04-02 22:56:22 +00:00
Travis Kemen
0fd984fc4f fix limit
SVN-Revision: 20275
2010-03-18 15:50:05 +00:00
Travis Kemen
e2f86520c5 remove +1 as it isn't needed since 16619
SVN-Revision: 20259
2010-03-18 01:39:02 +00:00
Travis Kemen
3a13fb95ab if readethers is set to true make sure /etc/ethers exists, closes #6740
SVN-Revision: 20220
2010-03-14 21:33:02 +00:00
Jo-Philipp Wich
9b8ff17f8c dnsmasq: remove redundant code introduced with r20074
SVN-Revision: 20079
2010-03-09 01:41:06 +00:00
Jo-Philipp Wich
58820edbd9 dnsmasq: allow multiple macs per static lease address (#6205)
SVN-Revision: 20074
2010-03-08 23:28:55 +00:00
Jo-Philipp Wich
4bbb272f48 dnsmasq: prevent bad command line error when a dhcp pool has ignore set and the corresponding iface has only whitespace as value
SVN-Revision: 20048
2010-03-08 03:52:04 +00:00
Jo-Philipp Wich
f40e9e8d8a dnsmasq: only write search directive if domain is actually set
SVN-Revision: 19090
2010-01-10 15:31:58 +00:00
Jo-Philipp Wich
fd7889cf6f dnsmasq: add local domain as search directive to /tmp/resolv.conf
SVN-Revision: 19086
2010-01-09 21:03:48 +00:00
Jo-Philipp Wich
02d30873eb dnsmasq: Fix setting the network-id for config host sections This renames name to networkid where applicable, and re-adds the name option for hosts. Signed-off-by: Stefan Bethke <stb@lassitu.de>
SVN-Revision: 19069
2010-01-08 00:03:08 +00:00
Jo-Philipp Wich
2a83e90ceb dnsmasq: While trying to document the dhcp UCI config, I noticed that the name config option is applied wrongly when adding static addresses. Cf. the dnsmasq man page. Signed-off-by: Stefan Bethke <stb@lassitu.de>
SVN-Revision: 18934
2009-12-26 00:23:35 +00:00
Jo-Philipp Wich
5a485c4112 dnsmasq: Set a list of addnhosts files. e.g. list 'addnhosts' '/var/etc/hosts.olsr' list 'addnhosts' '/var/etc/hosts.olsrv6' hosts.olsr for ipv4 and hosts.olsrv6 for ipv6 addresses. Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
SVN-Revision: 18470
2009-11-22 11:52:08 +00:00
Jo-Philipp Wich
0582d1ffb7 dnsmasq: - make "name" option in "host" sections optional and append it to -G if set, allows specifying hostnames for static leases without resorting to /etc/hosts - implement "domain" sections, allows defining arbitary host names and associated ptr records from uci - bump package revision
SVN-Revision: 17897
2009-10-05 16:58:06 +00:00
Felix Fietkau
61a94268ec Add default /etc/dnsmasq.conf
dnsmasq allows adding of arbitrary SRV/PTR/TXT/CNAME records.
However, those options sometimes can not be passed as
command-line arguments due to excess length.  This patch tries to
solve this problem:

1. Provide /etc/dnsmasq.conf file with comments about adding
   SRV/PTR/TXT/CNAME records.
2. Add this file to conffiles list so it is preserver during
   backup/restore or system upgrade.

If someone needs a lot of custom records, default configuration
file can be edited.  Since manual pages and documentation is not
installed, provided comments should be enough to figure out
option syntax.

Signed-off-by: Alexey I. Froloff <raorn@altlinux.org>

SVN-Revision: 17663
2009-09-21 13:25:11 +00:00
Felix Fietkau
c067858fdf dnsmasq startup script update: add notinterface parameter
This tiny patch makes the dnsmasq init.d script listen to a parameter called "notinterface", which tells dnsmasq to not listen on a defined set of interfaces.

By default dnsmasq *always* listens on the loopback interface, even if you tell it to specifically listen on a certain other interface. Sometimes this is not desirable behaviour, so you might want to turn it off. This is useful when, for example, you want to have your own DNS server listening on the loopback interface.

Signed-off-by: Johnny Halfmoon <jhalfmoon at milksnot.com>

SVN-Revision: 17599
2009-09-16 18:15:31 +00:00
Jo-Philipp Wich
ff3c63fb61 dnsmasq: add option to specify dhcp-hostsfile (#5079)
SVN-Revision: 15747
2009-05-09 22:34:04 +00:00
Markus Wigge
e85943d41a fixed dnsmasq init for "ignore" option
dnsmasq.init tried to set range options even when ignore was
set to "1". Now the functions stops processing after evaluating
the "ignore" option when the result is > 0

SVN-Revision: 15618
2009-05-05 11:00:00 +00:00
Markus Wigge
807c0426bf changed "option" to "list" for binding interfaces
SVN-Revision: 15613
2009-05-05 09:33:56 +00:00