Commit graph

70 commits

Author SHA1 Message Date
John Crispin
f65ff468f7 dnsmasq: Make the --dhcp-host logic easier to understand
Use an if/else statement to cover the two different syntaxes.  Add
comments explaining what the end results should look like.

This patch should not change the script's output.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>

SVN-Revision: 42320
2014-08-28 06:27:57 +00:00
John Crispin
5046209312 dnsmasq: Fix hosts file format when MAC address is not specified
An entry like this in /etc/config/dhcp:

    config 'host'
        option 'name' 'pc2'
        option 'ip' '192.168.100.56'
        option 'dns' '1'

results in a /tmp/hosts/dhcp entry that looks like this:

    192.168.100.56 .lan

Obviously it should say "pc2.lan".

This happens because $name is set to "" in order to support the MAC-less
syntax: "--dhcp-host=lap,192.168.0.199".  Fix this by reordering the
operations.  Also, refuse to add a DNS entry if the hostname or IP is
missing.

Fixes #17683

Reported-by: Kostas Papadopoulos <kpapad75@travelguide.gr>
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>

SVN-Revision: 42319
2014-08-28 06:27:53 +00:00
John Crispin
449994b8c2 dnsmasq: Create rDNS records for LuCI "Hostnames"
LuCI creates "domain" UCI config sections, which the dnsmasq init file
then, currently, translates into "address" config lines. This is not
the correct usage of "address" (see r36943), and also causes rDNS
records to not be created. This patches dnsmasq.init to utilize the
additional hosts file introduced in r40799 for such domain names,
resolving both issues.

Signed-off-by: Tyler Fenby <tylerf@securecominc.com>

SVN-Revision: 42318
2014-08-28 06:27:49 +00:00
Steven Barth
c36e312647 dnsmasq: respect option dhcpv4 disabled in dhcp-config
SVN-Revision: 42216
2014-08-19 05:58:44 +00:00
Steven Barth
2dd6d4a4f0 dnsmasq: use config_get_bool for dnsmasq
SVN-Revision: 41302
2014-06-22 15:34:36 +00:00
Steven Barth
17d3ce64cf dnsmasq: set procd respawn
SVN-Revision: 41297
2014-06-22 09:08:14 +00:00
Steven Barth
132cbe5e29 dnsmasq: add UCI DNSSEC runtime support
Ship keys for the root zone and add two uci options to enable
DNSSEC checks:

Option 'dnssec': Activate DNSSEC validation
Option 'dnsseccheckunsigned': Ensure answers without DNSSEC are in
unsigned zones.

Signed-off-by: Andre Heider <a.heider@gmail.com>

SVN-Revision: 41245
2014-06-18 10:04:29 +00:00
Florian Fainelli
8f526ff530 dnsmasq: Allow creating static DNS entries from static lease entries
DHCP entries in /etc/config/dhcp will not automatically create A or PTR
records.  Add an "option dns" directive which appends an entry to
/tmp/hosts/dhcp to facilitate forward and reverse DNS lookups.  For
instance, this item:

    config host
            option ip       '192.168.0.10'
            option mac      '00:13:57:9b:df:02'
            option name     'winpc'
            option dns      '1'

will add a corresponding entry to /tmp/hosts/dhcp:

    192.168.0.10 winpc.lan

This keeps the hostname/IP/MAC in a single place, for easy maintenance.

Related: ticket #13854 reports an regression involving missing PTR
records when using "config domain" to define static DNS entries for
individual hosts.  However, per Simon Kelley[1], the --address feature
used by "config domain" was never intended to generate DNS A records for
hosts.  It would probably be better for the reporter to apply this patch,
and then use "config host" sections instead of "config domain" sections.

[1] http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2008q4/002498.html

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 40799
2014-05-20 05:00:28 +00:00
Steven Barth
9ec0e5df14 dnsmasq: add dnsmasq.d config folder & improve odhcpd coexistence
SVN-Revision: 39312
2014-01-17 14:00:09 +00:00
Jo-Philipp Wich
efce764f0e dnsmasq: rework init procedure
- cache udhcp check results to speed up subsequent reloads
	- enable procd file tracking for /var/etc/dnsmasq.conf to only reload service if needed
	- implement reload action to only restart dnsmasq if /var/etc/dnsmasq.conf actually changed
	- launch dnsmasq from interface hotplug to avoid race conditions with network bringup

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 39152
2013-12-21 13:31:28 +00:00
Jo-Philipp Wich
eda27e8382 dnsmasq: switch to /lib/functions/network.sh
This commit changes the dnsmasq init script to use the interface
status exposed by netifd. The old references to scan_interfaces()
and (indirect) accesses to uci state variables are removed and
replaced with corresponding network_*() calls.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 39101
2013-12-16 16:47:41 +00:00
Jo-Philipp Wich
5db9587b5f dnsmasq: fix backward compatibility with existing configs
Changeset r36943 ("dnsmasq: use host-record instead of address") removed
the automatic domain expansion for config domain sections, this breaks
existing setups and alters the old behaviour in unexpected ways, therfore
restore behaviour of the current stable release.

Additionally handle fully qualified hostnames properly when setting up the
own hostrecord by stripping the local domain part form the given name
instead of unconditionally appending it, so that "example.lan" results
in "example example.lan" and not "example.lan example.lan.lan".

SVN-Revision: 38648
2013-11-04 22:40:56 +00:00
Jo-Philipp Wich
78f69b66d4 dnsmasq: add option broadcast to host sections
There are certain consumer devices which are outliers in protocol conformance.
An example is Samsung bluray players, which require broadcast DHCP responses
(on Ethernet only, strangely not on Wifi).

By specifying:

config host
	...
	option broadcast 1

this will enable the response to be sent as an Ethernet broadcast and not as
a unicast.

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

SVN-Revision: 38365
2013-10-11 18:33:15 +00:00
Luka Perkov
ef5f836207 fix various init scripts
Changes include:

* removing unused variables
* replacing spaces with tabs where appropriate
* more consistency with variable declarations

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38142
2013-09-23 21:58:36 +00:00
John Crispin
f874094402 procd: convert various packages to procd style init.d scripts
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 38023
2013-09-17 21:45:30 +00:00
Jo-Philipp Wich
dfea3bae11 dnsmasq: use host-record instead of address
Using "--address" for individual host A records is broken, use "--host-record" instead.
The following patch changes dnsmasq.init to build individual host records using "--host-record" instead of "--address".

Signed-off-by: Adam Gensler <openwrt at gnslr.us>

[jow: shorter description, simplified shell script code]

SVN-Revision: 36943
2013-06-17 11:55:30 +00:00
Steven Barth
dd161ae62b dnsmasq: add directory for external hosts-files
SVN-Revision: 36655
2013-05-17 14:44:12 +00:00
Steven Barth
29d4c36622 add uci support for "proxy-dnssec" in dnsmasq
This patch simply adds support for the "--proxy-dnssec" command in dnsmasq into the init file so it can be used with /etc/config/dhcp.

Signed-off-by: Adam Gensler <openwrt@kristenandadam.net>

SVN-Revision: 36570
2013-05-07 07:19:51 +00:00
Jo-Philipp Wich
54c0b40427 dnsmasq: allow dhcp host entries without mac addresses (#11928)
SVN-Revision: 34971
2013-01-02 15:14:19 +00:00
Felix Fietkau
405e21d167 packages: sort network related packages into package/network/
SVN-Revision: 33688
2012-10-10 12:32:29 +00:00
Renamed from package/dnsmasq/files/dnsmasq.init (Browse further)