Revert "dnsmasq: Update to version 2.86"
This reverts commit 5d1c2547eff8ae2f49b51ada4a5a79f4e70b3901. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
parent
413c2b4f5f
commit
c4c94449cf
@ -8,12 +8,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=dnsmasq
|
PKG_NAME:=dnsmasq
|
||||||
PKG_VERSION:=2.86
|
PKG_VERSION:=2.85
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
||||||
PKG_HASH:=28d52cfc9e2004ac4f85274f52b32e1647b4dbc9761b82e7de1e41c49907eb08
|
PKG_HASH:=ad98d3803df687e5b938080f3d25c628fe41c878752d03fbc6199787fee312fa
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
PKG_LICENSE_FILES:=COPYING
|
PKG_LICENSE_FILES:=COPYING
|
||||||
|
@ -26,7 +26,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
|
|||||||
|
|
||||||
--- a/src/dnsmasq.h
|
--- a/src/dnsmasq.h
|
||||||
+++ b/src/dnsmasq.h
|
+++ b/src/dnsmasq.h
|
||||||
@@ -1201,7 +1201,7 @@ extern struct daemon {
|
@@ -1144,7 +1144,7 @@ extern struct daemon {
|
||||||
int inotifyfd;
|
int inotifyfd;
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_LINUX_NETWORK)
|
#if defined(HAVE_LINUX_NETWORK)
|
||||||
@ -35,7 +35,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
|
|||||||
#elif defined(HAVE_BSD_NETWORK)
|
#elif defined(HAVE_BSD_NETWORK)
|
||||||
int dhcp_raw_fd, dhcp_icmp_fd, routefd;
|
int dhcp_raw_fd, dhcp_icmp_fd, routefd;
|
||||||
#endif
|
#endif
|
||||||
@@ -1388,9 +1388,6 @@ int read_write(int fd, unsigned char *pa
|
@@ -1326,9 +1326,6 @@ int read_write(int fd, unsigned char *pa
|
||||||
void close_fds(long max_fd, int spare1, int spare2, int spare3);
|
void close_fds(long max_fd, int spare1, int spare2, int spare3);
|
||||||
int wildcard_match(const char* wildcard, const char* match);
|
int wildcard_match(const char* wildcard, const char* match);
|
||||||
int wildcard_matchn(const char* wildcard, const char* match, int num);
|
int wildcard_matchn(const char* wildcard, const char* match, int num);
|
||||||
@ -140,7 +140,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
|
|||||||
my_syslog(LOG_ERR, _("failed to update ipset %s: %s"), setname, strerror(errno));
|
my_syslog(LOG_ERR, _("failed to update ipset %s: %s"), setname, strerror(errno));
|
||||||
--- a/src/util.c
|
--- a/src/util.c
|
||||||
+++ b/src/util.c
|
+++ b/src/util.c
|
||||||
@@ -796,22 +796,3 @@ int wildcard_matchn(const char* wildcard
|
@@ -786,22 +786,3 @@ int wildcard_matchn(const char* wildcard
|
||||||
|
|
||||||
return (!num) || (*wildcard == *match);
|
return (!num) || (*wildcard == *match);
|
||||||
}
|
}
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
--- a/src/dnsmasq.h
|
--- a/src/dnsmasq.h
|
||||||
+++ b/src/dnsmasq.h
|
+++ b/src/dnsmasq.h
|
||||||
@@ -1116,7 +1116,7 @@ extern struct daemon {
|
@@ -1059,7 +1059,7 @@ extern struct daemon {
|
||||||
int max_logs; /* queue limit */
|
int max_logs; /* queue limit */
|
||||||
int cachesize, ftabsize;
|
int cachesize, ftabsize;
|
||||||
int port, query_port, min_port, max_port;
|
int port, query_port, min_port, max_port;
|
||||||
- unsigned long local_ttl, neg_ttl, max_ttl, min_cache_ttl, max_cache_ttl, auth_ttl, dhcp_ttl, use_dhcp_ttl;
|
- unsigned long local_ttl, neg_ttl, max_ttl, min_cache_ttl, max_cache_ttl, auth_ttl, dhcp_ttl, use_dhcp_ttl;
|
||||||
+ unsigned long local_ttl, neg_ttl, min_ttl, max_ttl, min_cache_ttl, max_cache_ttl, auth_ttl, dhcp_ttl, use_dhcp_ttl;
|
+ unsigned long local_ttl, neg_ttl, min_ttl, max_ttl, min_cache_ttl, max_cache_ttl, auth_ttl, dhcp_ttl, use_dhcp_ttl;
|
||||||
char *dns_client_id;
|
char *dns_client_id;
|
||||||
u32 umbrella_org;
|
struct hostsfile *addn_hosts;
|
||||||
u32 umbrella_asset;
|
struct dhcp_context *dhcp, *dhcp6;
|
||||||
--- a/src/option.c
|
--- a/src/option.c
|
||||||
+++ b/src/option.c
|
+++ b/src/option.c
|
||||||
@@ -174,6 +174,7 @@ struct myoption {
|
@@ -170,6 +170,7 @@ struct myoption {
|
||||||
#define LOPT_CMARK_ALST_EN 365
|
#define LOPT_PXE_VENDOR 361
|
||||||
#define LOPT_CMARK_ALST 366
|
#define LOPT_DYNHOST 362
|
||||||
#define LOPT_QUIET_TFTP 367
|
#define LOPT_LOG_DEBUG 363
|
||||||
+#define LOPT_MINTTL 368
|
+#define LOPT_MINTTL 364
|
||||||
|
|
||||||
#ifdef HAVE_GETOPT_LONG
|
#ifdef HAVE_GETOPT_LONG
|
||||||
static const struct option opts[] =
|
static const struct option opts[] =
|
||||||
@@ -292,6 +293,7 @@ static const struct myoption opts[] =
|
@@ -288,6 +289,7 @@ static const struct myoption opts[] =
|
||||||
{ "dhcp-name-match", 1, 0, LOPT_NAME_MATCH },
|
{ "dhcp-name-match", 1, 0, LOPT_NAME_MATCH },
|
||||||
{ "dhcp-broadcast", 2, 0, LOPT_BROADCAST },
|
{ "dhcp-broadcast", 2, 0, LOPT_BROADCAST },
|
||||||
{ "neg-ttl", 1, 0, LOPT_NEGTTL },
|
{ "neg-ttl", 1, 0, LOPT_NEGTTL },
|
||||||
@ -27,7 +27,7 @@
|
|||||||
{ "max-ttl", 1, 0, LOPT_MAXTTL },
|
{ "max-ttl", 1, 0, LOPT_MAXTTL },
|
||||||
{ "min-cache-ttl", 1, 0, LOPT_MINCTTL },
|
{ "min-cache-ttl", 1, 0, LOPT_MINCTTL },
|
||||||
{ "max-cache-ttl", 1, 0, LOPT_MAXCTTL },
|
{ "max-cache-ttl", 1, 0, LOPT_MAXCTTL },
|
||||||
@@ -425,6 +427,7 @@ static struct {
|
@@ -417,6 +419,7 @@ static struct {
|
||||||
{ 't', ARG_ONE, "<host_name>", gettext_noop("Specify default target in an MX record."), NULL },
|
{ 't', ARG_ONE, "<host_name>", gettext_noop("Specify default target in an MX record."), NULL },
|
||||||
{ 'T', ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for replies from /etc/hosts."), NULL },
|
{ 'T', ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for replies from /etc/hosts."), NULL },
|
||||||
{ LOPT_NEGTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for negative caching."), NULL },
|
{ LOPT_NEGTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for negative caching."), NULL },
|
||||||
@ -35,7 +35,7 @@
|
|||||||
{ LOPT_MAXTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for maximum TTL to send to clients."), NULL },
|
{ LOPT_MAXTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for maximum TTL to send to clients."), NULL },
|
||||||
{ LOPT_MAXCTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live ceiling for cache."), NULL },
|
{ LOPT_MAXCTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live ceiling for cache."), NULL },
|
||||||
{ LOPT_MINCTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live floor for cache."), NULL },
|
{ LOPT_MINCTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live floor for cache."), NULL },
|
||||||
@@ -3047,6 +3050,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
|
@@ -2835,6 +2838,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
|
||||||
|
|
||||||
case 'T': /* --local-ttl */
|
case 'T': /* --local-ttl */
|
||||||
case LOPT_NEGTTL: /* --neg-ttl */
|
case LOPT_NEGTTL: /* --neg-ttl */
|
||||||
@ -43,7 +43,7 @@
|
|||||||
case LOPT_MAXTTL: /* --max-ttl */
|
case LOPT_MAXTTL: /* --max-ttl */
|
||||||
case LOPT_MINCTTL: /* --min-cache-ttl */
|
case LOPT_MINCTTL: /* --min-cache-ttl */
|
||||||
case LOPT_MAXCTTL: /* --max-cache-ttl */
|
case LOPT_MAXCTTL: /* --max-cache-ttl */
|
||||||
@@ -3058,6 +3062,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
|
@@ -2846,6 +2850,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
|
||||||
ret_err(gen_err);
|
ret_err(gen_err);
|
||||||
else if (option == LOPT_NEGTTL)
|
else if (option == LOPT_NEGTTL)
|
||||||
daemon->neg_ttl = (unsigned long)ttl;
|
daemon->neg_ttl = (unsigned long)ttl;
|
||||||
@ -54,49 +54,49 @@
|
|||||||
else if (option == LOPT_MINCTTL)
|
else if (option == LOPT_MINCTTL)
|
||||||
--- a/src/rfc1035.c
|
--- a/src/rfc1035.c
|
||||||
+++ b/src/rfc1035.c
|
+++ b/src/rfc1035.c
|
||||||
@@ -607,6 +607,7 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
|
@@ -606,6 +606,7 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
|
||||||
|
for (j = 0; j < ntohs(header->ancount); j++)
|
||||||
|
{
|
||||||
|
int secflag = 0;
|
||||||
|
+ unsigned long mttl = 0;
|
||||||
|
unsigned char *tmp = namep;
|
||||||
|
/* the loop body overwrites the original name, so get it back here. */
|
||||||
|
if (!extract_name(header, qlen, &tmp, name, 1, 0) ||
|
||||||
|
@@ -616,6 +617,14 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
|
||||||
|
GETSHORT(aqclass, p1);
|
||||||
|
GETLONG(attl, p1);
|
||||||
|
if ((daemon->max_ttl != 0) && (attl > daemon->max_ttl) && !is_sign)
|
||||||
|
+ {
|
||||||
|
+ mttl = daemon->max_ttl;
|
||||||
|
+ }
|
||||||
|
+ if ((daemon->min_ttl != 0) && (attl < daemon->min_ttl) && !is_sign)
|
||||||
|
+ {
|
||||||
|
+ mttl = daemon->min_ttl;
|
||||||
|
+ }
|
||||||
|
+ if (mttl != 0)
|
||||||
|
{
|
||||||
|
(p1) -= 4;
|
||||||
|
PUTLONG(daemon->max_ttl, p1);
|
||||||
|
@@ -704,6 +713,7 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
|
||||||
for (j = 0; j < ntohs(header->ancount); j++)
|
for (j = 0; j < ntohs(header->ancount); j++)
|
||||||
{
|
{
|
||||||
int secflag = 0;
|
int secflag = 0;
|
||||||
+ unsigned long mttl = 0;
|
+ unsigned long mttl = 0;
|
||||||
|
|
||||||
if (!(res = extract_name(header, qlen, &p1, name, 0, 10)))
|
if (!(res = extract_name(header, qlen, &p1, name, 0, 10)))
|
||||||
return 0; /* bad packet */
|
return 0; /* bad packet */
|
||||||
|
@@ -712,6 +722,14 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
|
||||||
@@ -615,6 +616,14 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
|
GETSHORT(aqclass, p1);
|
||||||
GETLONG(attl, p1);
|
GETLONG(attl, p1);
|
||||||
|
|
||||||
if ((daemon->max_ttl != 0) && (attl > daemon->max_ttl) && !is_sign)
|
if ((daemon->max_ttl != 0) && (attl > daemon->max_ttl) && !is_sign)
|
||||||
+ {
|
+ {
|
||||||
+ mttl = daemon->max_ttl;
|
+ mttl = daemon->max_ttl;
|
||||||
+ }
|
+ }
|
||||||
+ if ((daemon->min_ttl != 0) && (attl < daemon->min_ttl) && !is_sign)
|
+ if ((daemon->min_ttl != 0) && (attl < daemon->min_ttl) && !is_sign)
|
||||||
+ {
|
+ {
|
||||||
+ mttl = daemon->min_ttl;
|
+ mttl = daemon->min_ttl;
|
||||||
+ }
|
+ }
|
||||||
+ if (mttl != 0)
|
+ if (mttl != 0)
|
||||||
{
|
{
|
||||||
(p1) -= 4;
|
(p1) -= 4;
|
||||||
PUTLONG(daemon->max_ttl, p1);
|
PUTLONG(daemon->max_ttl, p1);
|
||||||
@@ -722,6 +731,7 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
|
|
||||||
for (j = 0; j < ntohs(header->ancount); j++)
|
|
||||||
{
|
|
||||||
int secflag = 0;
|
|
||||||
+ unsigned long mttl = 0;
|
|
||||||
|
|
||||||
if (!(res = extract_name(header, qlen, &p1, name, 0, 10)))
|
|
||||||
return 0; /* bad packet */
|
|
||||||
@@ -730,6 +740,14 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
|
|
||||||
GETSHORT(aqclass, p1);
|
|
||||||
GETLONG(attl, p1);
|
|
||||||
if ((daemon->max_ttl != 0) && (attl > daemon->max_ttl) && !is_sign)
|
|
||||||
+ {
|
|
||||||
+ mttl = daemon->max_ttl;
|
|
||||||
+ }
|
|
||||||
+ if ((daemon->min_ttl != 0) && (attl < daemon->min_ttl) && !is_sign)
|
|
||||||
+ {
|
|
||||||
+ mttl = daemon->min_ttl;
|
|
||||||
+ }
|
|
||||||
+ if (mttl != 0)
|
|
||||||
{
|
|
||||||
(p1) -= 4;
|
|
||||||
PUTLONG(daemon->max_ttl, p1);
|
|
||||||
|
@ -11,45 +11,45 @@ Subject: [PATCH] add filter-aaaa option
|
|||||||
|
|
||||||
--- a/src/dnsmasq.h
|
--- a/src/dnsmasq.h
|
||||||
+++ b/src/dnsmasq.h
|
+++ b/src/dnsmasq.h
|
||||||
@@ -275,7 +275,8 @@ struct event_desc {
|
@@ -270,7 +270,8 @@ struct event_desc {
|
||||||
#define OPT_UMBRELLA_DEVID 64
|
#define OPT_SINGLE_PORT 60
|
||||||
#define OPT_CMARK_ALST_EN 65
|
#define OPT_LEASE_RENEW 61
|
||||||
#define OPT_QUIET_TFTP 66
|
#define OPT_LOG_DEBUG 62
|
||||||
-#define OPT_LAST 67
|
-#define OPT_LAST 63
|
||||||
+#define OPT_FILTER_AAAA 67
|
+#define OPT_FILTER_AAAA 63
|
||||||
+#define OPT_LAST 68
|
+#define OPT_LAST 64
|
||||||
|
|
||||||
#define OPTION_BITS (sizeof(unsigned int)*8)
|
#define OPTION_BITS (sizeof(unsigned int)*8)
|
||||||
#define OPTION_SIZE ( (OPT_LAST/OPTION_BITS)+((OPT_LAST%OPTION_BITS)!=0) )
|
#define OPTION_SIZE ( (OPT_LAST/OPTION_BITS)+((OPT_LAST%OPTION_BITS)!=0) )
|
||||||
--- a/src/option.c
|
--- a/src/option.c
|
||||||
+++ b/src/option.c
|
+++ b/src/option.c
|
||||||
@@ -175,6 +175,7 @@ struct myoption {
|
@@ -171,6 +171,7 @@ struct myoption {
|
||||||
#define LOPT_CMARK_ALST 366
|
#define LOPT_DYNHOST 362
|
||||||
#define LOPT_QUIET_TFTP 367
|
#define LOPT_LOG_DEBUG 363
|
||||||
#define LOPT_MINTTL 368
|
#define LOPT_MINTTL 364
|
||||||
+#define LOPT_FILTER_AAAA 369
|
+#define LOPT_FILTER_AAAA 365
|
||||||
|
|
||||||
#ifdef HAVE_GETOPT_LONG
|
#ifdef HAVE_GETOPT_LONG
|
||||||
static const struct option opts[] =
|
static const struct option opts[] =
|
||||||
@@ -355,6 +356,7 @@ static const struct myoption opts[] =
|
@@ -347,6 +348,7 @@ static const struct myoption opts[] =
|
||||||
|
{ "dhcp-ignore-clid", 0, 0, LOPT_IGNORE_CLID },
|
||||||
|
{ "dynamic-host", 1, 0, LOPT_DYNHOST },
|
||||||
{ "log-debug", 0, 0, LOPT_LOG_DEBUG },
|
{ "log-debug", 0, 0, LOPT_LOG_DEBUG },
|
||||||
{ "umbrella", 2, 0, LOPT_UMBRELLA },
|
|
||||||
{ "quiet-tftp", 0, 0, LOPT_QUIET_TFTP },
|
|
||||||
+ { "filter-aaaa", 0, 0, LOPT_FILTER_AAAA },
|
+ { "filter-aaaa", 0, 0, LOPT_FILTER_AAAA },
|
||||||
{ NULL, 0, 0, 0 }
|
{ NULL, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -542,6 +544,7 @@ static struct {
|
@@ -530,6 +532,7 @@ static struct {
|
||||||
|
{ LOPT_DUMPFILE, ARG_ONE, "<path>", gettext_noop("Path to debug packet dump file"), NULL },
|
||||||
|
{ LOPT_DUMPMASK, ARG_ONE, "<hex>", gettext_noop("Mask which packets to dump"), NULL },
|
||||||
{ LOPT_SCRIPT_TIME, OPT_LEASE_RENEW, NULL, gettext_noop("Call dhcp-script when lease expiry changes."), NULL },
|
{ LOPT_SCRIPT_TIME, OPT_LEASE_RENEW, NULL, gettext_noop("Call dhcp-script when lease expiry changes."), NULL },
|
||||||
{ LOPT_UMBRELLA, ARG_ONE, "[=<optspec>]", gettext_noop("Send Cisco Umbrella identifiers including remote IP."), NULL },
|
|
||||||
{ LOPT_QUIET_TFTP, OPT_QUIET_TFTP, NULL, gettext_noop("Do not log routine TFTP."), NULL },
|
|
||||||
+ { LOPT_FILTER_AAAA, OPT_FILTER_AAAA, NULL, gettext_noop("Filter all AAAA requests."), NULL },
|
+ { LOPT_FILTER_AAAA, OPT_FILTER_AAAA, NULL, gettext_noop("Filter all AAAA requests."), NULL },
|
||||||
{ 0, 0, NULL, NULL, NULL }
|
{ 0, 0, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
--- a/src/rfc1035.c
|
--- a/src/rfc1035.c
|
||||||
+++ b/src/rfc1035.c
|
+++ b/src/rfc1035.c
|
||||||
@@ -2005,6 +2005,16 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
@@ -1913,6 +1913,16 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user