Commit Graph

69 Commits

Author SHA1 Message Date
守望
cadb05400b
dnsmasq: add option to expose additional paths 2025-02-06 12:30:04 +08:00
Rahul Thakur
2d8ac40752 dnsmasq: add support for RA option 31
The option 31 in the RA specifies the DNS search list, the support
to configure this via UCI is missing in case dnsmasq-dhcpv6 is used.

This commit uses the uci option domain (same as is done by odhcpd) to
read and pass the DNS search list to dnsmasq, which is then used by RA.

Hence, with this commit, we are able to configure DNS search list for the
RA messages via the uci config when dnsmsaq-dhcpv6 is used.

Signed-off-by: Rahul Thakur <rahul.thakur@iopsys.eu>
2023-10-24 18:34:01 +08:00
lovehackintosh
30955c9f61
dnsmasq: bump to v2.88 (#10683)
Most relevant feature for openwrt in this release, supports dynamically
removing hosts from 'hostsdir' supplied host files.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2022-12-26 20:40:31 +08:00
coolsnowwolf
3d38995ca2 dnsmasq: fix filter_aaaa option 2022-12-19 23:21:34 +08:00
coolsnowwolf
b0e3285bf0 dnsmasq: set a cachesize default value 8192 2022-12-18 22:52:26 +08:00
coolsnowwolf
afb7eaa4bb dnsmasq: drop mini_ttl option 2022-12-15 13:13:15 +08:00
coolsnowwolf
8c172cc7bf dnsmasq: add support for filter-AAAA/A 2022-12-15 12:18:02 +08:00
coolsnowwolf
a1b503c6ad dnsmasq: add logfacility file to jail mounts 2022-12-15 12:09:41 +08:00
coolsnowwolf
830bc8e815 dnsmasq: bump to v2.8.7 2022-12-15 00:44:58 +08:00
AmadeusGhost
0d04d79c71 dnsmasq: replace patches with upstream 2022-12-10 12:36:23 +08:00
coolsnowwolf
9e3f3a90e4 Revert "dnsmasq: bump to v2.87"
This reverts commit c5b0c71a92.
2022-11-23 18:28:26 +08:00
coolsnowwolf
c5b0c71a92 dnsmasq: bump to v2.87 2022-11-19 15:23:46 +08:00
Hauke Mehrtens
81a3a0ff39 dnsmasq: Backport DHCPv6 server fix (CVE-2022-0934)
This backports a commit from upstream dnsmasq to fix CVE-2022-0934.

CVE-2022-0934 description:
A single-byte, non-arbitrary write/use-after-free flaw was found in
dnsmasq. This flaw allows an attacker who sends a crafted packet
processed by dnsmasq, potentially causing a denial of service.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-11-06 19:19:31 +08:00
Daniel Cousens
b5bb491bc3 build: prefer HTTPS if available (for packages)
Changes PKG_SOURCE_URL's for arptables, bsdiff, dnsmasq,
fortify-headers, ipset, ipset-dns, libaudit, libpcap, libressl,
lua, lua5.3, tcpdump and valgrind, to HTTPS

Signed-off-by: Daniel Cousens <github@dcousens.com>
2022-10-07 12:33:08 +08:00
lean
168828486e dnsmasq: add patch for DHCPv6 to honor IPv6 address on MAC address 2022-09-12 01:24:33 +08:00
Tianling Shen
8ca1319fa3
dnsmasq: enable cache by default (#9484)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-06-06 11:50:34 +08:00
Ross Shen
e2df1a2d9b
add dnsmasq-filter-aaaa+https+unknown.patch (#8909)
1. patch for dnsmasq-2.86 based on https://github.com/rozahp/dnsmasq
2. compatible with mini-ttl.patch
2022-02-20 16:04:59 +08:00
lean
db70aeede7 dnsmasq: fix a lot of domains to a single ipset option crashes dnsmasq 2022-02-14 14:02:29 +08:00
Beginner
238eb30fa0
dnsmasq: fix ismounted check (#8300)
Fix the return value, shell return codes should be 0 to indicate success
(i.e. mount point found), 1 should be failure (i.e. mount point not-found).

Fixes: ac4e8aa ("dnsmasq: fix more dnsmasq jail issues")
Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>

Co-authored-by: Oldřich Jedlička <oldium.pro@gmail.com>
2021-11-24 14:37:04 +08:00
Beginner
9e8387f5bb
dnsmasq: sync upstream (#8245)
* dnsmasq: add ubus acl to allow calls to hotplug.tftp object

dnsmasq may call hotplug.dhcp, hotplug.neigh and hotplug.tftp.
Only the first two callees were listed in the ACL, so add missing
hotplug.tftp.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

* dnsmasq: fix the dynamic dns object names patch

We can't use booleans, since we're not including stdbool.h. Use integers
instead.

Fixes: 0b79e7c01e ("dnsmasq: generate the dns object name dynamically")

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

Co-authored-by: Daniel Golle <daniel@makrotopia.org>
Co-authored-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-11-16 16:19:06 +08:00
Beginner
ed74889e7e
dnsmasq: generate the dns object name dynamically (#8227)
Fixes an issue with running multiple dnsmasq instances

Signed-off-by: Felix Fietkau <nbd@nbd.name>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
2021-11-11 09:22:18 +08:00
Beginner
38162e62b3
dnsmasq: sync upstream (#8212)
* dnsmasq: add support for monitoring and modifying dns lookup results via ubus

The monitoring functionality will be used for dns rule support in qosify

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* dnsmasq: add match_tag for --dhcp-host

A set of tags can be specified for --dhcp-host option to restrict the
assignment to the requests which match all the tags.

Example usage:

config vendorclass
        option networkid 'udhcp'
        option vendorclass 'udhcp'

config host
        option mac '*:*:*:*:*:*'
        list match_tag 'switch.10'
        list match_tag 'udhcp'
        option ip '192.168.25.10'

Signed-off-by: Paul Fertser <fercerpav@gmail.com>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
Co-authored-by: Paul Fertser <fercerpav@gmail.com>
2021-11-10 15:42:48 +08:00
Beginner
20c5ace4e4
dnsmasq: fix jail mount in case of ignore_hosts_dir being set (#8164)
Commit a2fcd3900c ("dnsmasq: improve init script") broke the existing
handling for hosts_dir. Remove the redundant mount again to fix it.

Reported-by: Hartmut Birr <e9hack@gmail.com>
Fixes: a2fcd3900c ("dnsmasq: improve init script")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

Co-authored-by: Daniel Golle <daniel@makrotopia.org>
2021-11-02 19:39:12 +08:00
Beginner
4b32d3505c
dnsmasq: improve init script (#8153)
* fix restart in LuCI (inherited umask was to restrictive)
 * make directory of hosts-file (!= /tmp) accessible in ujail

Reported-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

Co-authored-by: Daniel Golle <daniel@makrotopia.org>
2021-11-01 15:29:44 +08:00
Beginner
7d2c39e087
dnsmasq: add explicit "set:" for client-matching options (#7993)
Bring the usage in line with the dnsmasq man page and the other options
where set: is mandatory.

No functional change.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>

Co-authored-by: Paul Fertser <fercerpav@gmail.com>
2021-10-06 11:30:27 +08:00
breakings
368e31dc7c
dnsmasq: update to version 2.86 (#7909)
Co-authored-by: breakings <skygmin@yahoo.com>
2021-09-23 22:22:07 +08:00
Beginner
9dc595bade
dnsmasq: reset EXTRA_MOUNT in the right place (#7585)
* dnsmasq: fix more dnsmasq jail issues

 * remove superflus mounts of /dev/null and /dev/urandom
 * reset EXTRA_MOUNTS at the beginning of the script
 * add mount according to ignore_hosts_dir
 * don't add mount for file which is inside a directory already in the
   EXTRA_MOUNTS list

Fixes: 59c63224e1 ("dnsmasq: rework jail mounts")
Reported-by: Hartmut Birr <e9hack@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

* dnsmasq: reset EXTRA_MOUNT in the right place

EXTRA_MOUNT variable should be reset in dnsmasq_start() rather than
just once at the beginning of the script.

Fixes: ac4e8aa2f8 ("dnsmasq: fix more dnsmasq jail issues")
Reported-by: Hartmut Birr <e9hack@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

Co-authored-by: Daniel Golle <daniel@makrotopia.org>
2021-08-01 22:26:58 +08:00
Beginner
7777b3ad7d
dnsmasq: rework jail mounts (#7578)
* split into multiple lines to improve readability
 * use EXTRA_MOUNT for addnhosts instead of blindly adding /tmp/hosts
 * remove no longer needed mount for /sbin/hotplug-call
 * add dhcp-script.sh dependencies (jshn, ubus)

Fixes: 3a94c2ca5c ("dnsmasq: add /tmp/hosts/ to jail_mount")
Fixes: aed95c4cb8 ("dnsmasq: switch to ubus-based hotplug call")
Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

Co-authored-by: Daniel Golle <daniel@makrotopia.org>
2021-08-01 17:50:30 +08:00
Beginner
7f94662b94
dnsmasq: add /tmp/hosts/ to jail_mount (#7438)
Programs like the olsr-name-plugin write hostname files to "/tmp/hosts/".
If you don't add this to the jail_mount, dnsmasq can't read it anymore.

Signed-off-by: Nick Hainke <vincent@systemli.org>

Co-authored-by: Nick Hainke <vincent@systemli.org>
2021-07-19 12:49:50 +00:00
Kevin Darbyshire-Bryant
0c8e2bd7d0 dnsmasq: use local option for local domain parameter
'--local' is a synonym for '--server' so let's use '--local' in the
resultant config file for uci's 'local' instead of uci's local
parameter being turned into '--server'.  Slightly less confusion all
round.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2021-07-06 14:28:49 +08:00
coolsnowwolf
8fc5020e3e dnsmasq: sync upstream 2021-06-30 16:16:46 +08:00
Beginner
d7e0201ce9
dnsmasq: distinct Ubus names for multiple instances (#7225)
Currently, when using multiple dnsmasq instances they are all assigned
to the same Ubus instance name. This does not work, as only a single
instance can register with Ubus at a time. In the log, this leads to
`Cannot add object to UBus: Invalid argument` error messages.
Furthermore, upstream 3c93e8eb41952a9c91699386132d6fe83050e9be changes
behaviour so that instead of the log, dnsmasq exits at start instead.

With this patch, all dnsmasq instances are assigned unique names so that
they can register with Ubus concurrently. One of the enabled instances
is always assigned the previous default name "dnsmasq" to avoid breaking
backwards compatibility with other software relying on that default.
Previously, a random instance got assigned that name (while the others
produced error logs). Now, the first unnamed dnsmasq config section is
assigned the default name. If there are no unnamed dnsmasq sections the
first encountered named dnsmasq config section is assigned instead.

A similar issue exists for Dbus and was similarly addressed.

Signed-off-by: Etan Kissling <etan.kissling@gmail.com>
[tweaked commit message] dnsmasq was not crashing it is exiting
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>

Co-authored-by: Etan Kissling <etan.kissling@gmail.com>
2021-06-30 05:05:20 +00:00
coolsnowwolf
fb9568cbe3 kernel: bump 5.4 to 5.4.128 2021-06-24 10:49:50 +08:00
lean
260fbd3a46 dnsmasq: unselect DNSEC 2021-06-19 20:19:26 +08:00
lean
7a50383ab6 add kernel 5.10 support and sync with upstream 2021-06-14 18:30:08 +08:00
AmadeusGhost
d7a249a5c2
dnsmasq: Update to version 2.85 (#6795)
Fixes issue with merged DNS requests in 2.83/2.84 not being
retried on the firsts failed request causing lookup failures.

Also fixes the following security problem in dnsmasq:
* CVE-2021-3448:
  If specifiying the source address or interface to be used
  when contacting upstream name servers such as:
  server=8.8.8.8@1.2.3.4, server=8.8.8.8@1.2.3.4#66 and
  server=8.8.8.8@eth0 then all would use the same socket
  bound to the explicitly configured port. Now only
  server=8.8.8.8@1.2.3.4#66 will use the explicitly
  configured port and the others random source ports.

Remove upstreamed patches and update remaining patch.

Signed-off-by: Alan Swanson <reiver@improbability.net>
[refreshed old runtime support patch]
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>

Co-authored-by: Alan Swanson <reiver@improbability.net>
2021-05-05 23:24:23 +08:00
z826540272
d3d6f3a2c4
DNSMASQ ttl config (#6779)
默认情况下 SSR PLUS DNS结果根本无法缓存(由于引入拒绝ipv6结果导致的问题),nslookup & dig 延迟每次依然有200-300多.
dnsmasq处设置缓存依然无效,设置TTL也无效,应该是bug。
解决办法是手动指定缓存TTL为最大一小时。域名查询实测有效缓存0延迟。 

此变更仅使开启dnsmasq缓存的情况下正常工作。
2021-05-03 22:50:02 +08:00
xiaobaishu1
7daf3edcec
Update Makefile (#6290)
切换到正式版本
2021-01-31 14:48:11 +08:00
AmadeusGhost
b95ffef87f
Revert "dnsmasq: force sync with official code" (#6266)
Fixes: 9170d18d0d ("dnsmasq: Update to 2.84test3")
2021-01-27 17:12:30 +08:00
Beginner
9170d18d0d
dnsmasq: Update to 2.84test3 (#6259) 2021-01-26 18:38:30 +08:00
xiaobaishu1
e780247bf7
Update DNSMASQ (#6250) 2021-01-25 16:31:52 +08:00
AmadeusGhost
1c271cdd2c
dnsmasq: Update to version 2.83 (#6245)
This fixes the following security problems in dnsmasq:
* CVE-2020-25681:
  Dnsmasq versions before 2.83 is susceptible to a heap-based buffer
  overflow in sort_rrset() when DNSSEC is used. This can allow a remote
  attacker to write arbitrary data into target device's memory that can
  lead to memory corruption and other unexpected behaviors on the target
  device.
* CVE-2020-25682:
  Dnsmasq versions before 2.83 is susceptible to buffer overflow in
  extract_name() function due to missing length check, when DNSSEC is
  enabled. This can allow a remote attacker to cause memory corruption
  on the target device.
* CVE-2020-25683:
  Dnsmasq version before 2.83 is susceptible to a heap-based buffer
  overflow when DNSSEC is enabled. A remote attacker, who can create
  valid DNS replies, could use this flaw to cause an overflow in a heap-
  allocated memory. This flaw is caused by the lack of length checks in
  rtc1035.c:extract_name(), which could be abused to make the code
  execute memcpy() with a negative size in get_rdata() and cause a crash
  in Dnsmasq, resulting in a Denial of Service.
* CVE-2020-25684:
  A lack of proper address/port check implemented in Dnsmasq version <
  2.83 reply_query function makes forging replies easier to an off-path
  attacker.
* CVE-2020-25685:
  A lack of query resource name (RRNAME) checks implemented in Dnsmasq's
  versions before 2.83 reply_query function allows remote attackers to
  spoof DNS traffic that can lead to DNS cache poisoning.
* CVE-2020-25686:
  Multiple DNS query requests for the same resource name (RRNAME) by
  Dnsmasq versions before 2.83 allows for remote attackers to spoof DNS
  traffic, using a birthday attack (RFC 5452), that can lead to DNS
  cache poisoning.
* CVE-2020-25687:
  Dnsmasq versions before 2.83 is vulnerable to a heap-based buffer
  overflow with large memcpy in sort_rrset() when DNSSEC is enabled. A
  remote attacker, who can create valid DNS replies, could use this flaw
  to cause an overflow in a heap-allocated memory. This flaw is caused
  by the lack of length checks in rtc1035.c:extract_name(), which could
  be abused to make the code execute memcpy() with a negative size in
  sort_rrset() and cause a crash in dnsmasq, resulting in a Denial of
  Service.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-01-25 01:37:23 +08:00
AmadeusGhost
404209f6c4
kernel: bump to 4.14.193, 4.19.138, 5.4.59 (#5350)
kernel: bump to 4.14.193, 4.19.138, 5.4.59 (#5350)
  431fb8c mac80211: add AQL improvements
  6bdd4c9 mac80211: add missing backports for building with 4.14 kernels
  0106820 mac80211: add missing return code checks in AQL improvements
  e7f7101 mac80211: rework encapsulation offload support

[package]
  base-files: add function for generating random MAC
  dnsmasq: abort dhcp_check on interface state
  boot: sync upstream source code
  ath10k-ct-firmware/mt76/sch_cake: update to latest git HEAD

[script]
  download: add China Mirror Station

[target]
  Sync: arc770, ath79, bcm63xx, kirkwood, lantiq, layerscape,
        mediatek, mvebu, octeon, oxnas, pistachio, uml
  Sync most of the target patches.

Run-compiled-on: ipq40xx (4.19 & 5.4), ramips
2020-08-26 11:31:50 +08:00
coolsnowwolf
96652f8f80 dnsmasq: disable dhcpv6 by default 2020-07-03 13:58:59 +08:00
coolsnowwolf
33abeff31c Sync to snapshot kernel 5.4 version 2020-07-02 23:30:56 +08:00
Chuck
929f3953dd firewall: refresh 900-filter-aaaa.patch
Signed-off-by: Chuck <fanck0605@qq.com>
2020-05-31 15:39:00 +08:00
coolsnowwolf
ce4f85886d dnsmasq: add mini ttl support client-side cache 2020-02-19 20:07:15 +08:00
coolsnowwolf
8c696f1e9b Revert "Add DHCP clients comments info (#2884)"
This reverts commit bb18798d22.
2020-02-15 01:37:11 +08:00
zzs01
bb18798d22
Add DHCP clients comments info (#2884)
Co-authored-by: Twinzo1 <44726207+Twinzo1@users.noreply.github.com>
2020-02-14 23:26:33 +08:00
coolsnowwolf
d5cd053f35 dnsmasq: add filter-aaaa option (IPv6 2020-02-14 00:06:27 +08:00