[source] dnsmasq: bump to dnsmasq v2.77test4

LEDE Commits lede-commits at lists.infradead.org
Wed Feb 22 13:38:34 PST 2017


dedeckeh pushed a commit to source.git, branch master:
https://git.lede-project.org/2c8cb0c572956a59d6495e4d2e0463bc14bf8d0e

commit 2c8cb0c572956a59d6495e4d2e0463bc14bf8d0e
Author: Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk>
AuthorDate: Mon Feb 6 21:45:41 2017 +0000

    dnsmasq: bump to dnsmasq v2.77test4
    
    --bogus-priv now applies to IPv6 prefixes as specified in RFC6303 - this
    is significantly friendlier to upstream servers.
    
    CNAME fix in auth mode - A domain can only have a CNAME if it has no
    other records
    
    Drop 2 patches now included upstream.
    
    Compile & run tested Archer C7 v2
    
    Signed-off-by: Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk>
---
 package/network/services/dnsmasq/Makefile          |   4 +-
 .../dnsmasq/patches/010-reduce-logging.patch       |  83 -------------
 .../dnsmasq/patches/020-implement-RFC6842.patch    | 132 ---------------------
 3 files changed, 2 insertions(+), 217 deletions(-)

diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile
index c686e8c..1f5e704 100644
--- a/package/network/services/dnsmasq/Makefile
+++ b/package/network/services/dnsmasq/Makefile
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsmasq
-PKG_VERSION:=2.77test3
+PKG_VERSION:=2.77test4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/test-releases
-PKG_HASH:=a5cd2b78048c0b16a9cbd2486430039c7d91b958c395edf3233cd9ae1a9eb8c1
+PKG_HASH:=d71f52b54b876f8b30418cd9c8d5926a2f294aa8347ee41992da3762d14b3c51
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
diff --git a/package/network/services/dnsmasq/patches/010-reduce-logging.patch b/package/network/services/dnsmasq/patches/010-reduce-logging.patch
deleted file mode 100644
index 9141a13..0000000
--- a/package/network/services/dnsmasq/patches/010-reduce-logging.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 3e2496fb16fb78cb95fffdac80f967310a34b1fa Mon Sep 17 00:00:00 2001
-From: Hannu Nyman <hannu.nyman at iki.fi>
-Date: Sat, 11 Feb 2017 13:44:08 +0000
-Subject: [PATCH] Decrease the number of individual sites listed in log.
-
-By default 30 first servers are listed individually to system log, and
-then a count of the remaining items. With e.g. a NXDOMAIN based adblock
-service, dnsmasq lists 30 unnecessary ad sites every time when dnsmasq
-evaluates the list. But the actual nameservers in use are evaluated last
-and are not displayed as they get included in the "remaining items" total.
-
-Handle the "local addresses only" separately and list only a few of them.
-Remove the "local addresses only" from the general count.
----
- CHANGELOG     |    4 ++++
- src/config.h  |    1 +
- src/network.c |    9 ++++++++-
- 3 files changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 788aaf9..f7f5125 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -69,6 +69,10 @@ version 2.77
- 	    servers. Specifically, be prepared to open a new TCP
- 	    connection when we want to make multiple queries
-             but the upstream server accepts fewer queries per connection.
-+ 
-+            Improve logging of upstream servers when there are a lot
-+	    of "local addresses only" entries. Thanks to Hannu Nyman for
-+	    the patch.
- 
- 	
- version 2.76
-diff --git a/src/config.h b/src/config.h
-index be9cf05..cf527b3 100644
---- a/src/config.h
-+++ b/src/config.h
-@@ -27,6 +27,7 @@
- #define FORWARD_TEST 50 /* try all servers every 50 queries */
- #define FORWARD_TIME 20 /* or 20 seconds */
- #define SERVERS_LOGGED 30 /* Only log this many servers when logging state */
-+#define LOCALS_LOGGED 8 /* Only log this many local addresses when logging state */
- #define RANDOM_SOCKS 64 /* max simultaneous random ports */
- #define LEASE_RETRY 60 /* on error, retry writing leasefile after LEASE_RETRY seconds */
- #define CACHESIZ 150 /* default cache size */
-diff --git a/src/network.c b/src/network.c
-index 770558a..eb41624 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -1438,6 +1438,7 @@ void check_servers(void)
-   struct server *serv;
-   struct serverfd *sfd, *tmp, **up;
-   int port = 0, count;
-+  int locals = 0;
- 
-   /* interface may be new since startup */
-   if (!option_bool(OPT_NOWILD))
-@@ -1541,7 +1542,11 @@ void check_servers(void)
- 		s1 = _("domain"), s2 = serv->domain;
- 	      
- 	      if (serv->flags & SERV_NO_ADDR)
--		my_syslog(LOG_INFO, _("using local addresses only for %s %s"), s1, s2);
-+		{
-+		  count--;
-+		  if (++locals <= LOCALS_LOGGED)
-+			my_syslog(LOG_INFO, _("using local addresses only for %s %s"), s1, s2);
-+	        }
- 	      else if (serv->flags & SERV_USE_RESOLV)
- 		my_syslog(LOG_INFO, _("using standard nameservers for %s %s"), s1, s2);
- 	      else 
-@@ -1558,6 +1563,8 @@ void check_servers(void)
- 	}
-     }
-   
-+  if (locals > LOCALS_LOGGED)
-+    my_syslog(LOG_INFO, _("using %d more local addresses"), locals - LOCALS_LOGGED);
-   if (count - 1 > SERVERS_LOGGED)
-     my_syslog(LOG_INFO, _("using %d more nameservers"), count - SERVERS_LOGGED - 1);
- 
--- 
-1.7.10.4
-
diff --git a/package/network/services/dnsmasq/patches/020-implement-RFC6842.patch b/package/network/services/dnsmasq/patches/020-implement-RFC6842.patch
deleted file mode 100644
index 905e40b..0000000
--- a/package/network/services/dnsmasq/patches/020-implement-RFC6842.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 88a77a78ad27adc3ed87b7ee603643d26cb896ee Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon at thekelleys.org.uk>
-Date: Sat, 11 Feb 2017 17:02:02 +0000
-Subject: [PATCH] Implement RFC-6842 (Client-ids in DHCP replies.)
-
----
- CHANGELOG     |    5 ++++-
- src/rfc2131.c |   33 ++++++++++++++++++++++-----------
- 2 files changed, 26 insertions(+), 12 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index f7f5125..a4ee280 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -74,7 +74,10 @@ version 2.77
- 	    of "local addresses only" entries. Thanks to Hannu Nyman for
- 	    the patch.
- 
--	
-+            Implement RFC 6842. Thanks to Reddeiah Raju Konduru for
-+            pointing out that this was missing.
-+
-+
- version 2.76
-             Include 0.0.0.0/8 in DNS rebind checks. This range 
- 	    translates to hosts on  the local network, or, at 
-diff --git a/src/rfc2131.c b/src/rfc2131.c
-index 978c8dc..3e97402 100644
---- a/src/rfc2131.c
-+++ b/src/rfc2131.c
-@@ -38,7 +38,7 @@ static void log_packet(char *type, void *addr, unsigned char *ext_mac,
- static unsigned char *option_find(struct dhcp_packet *mess, size_t size, int opt_type, int minsize);
- static unsigned char *option_find1(unsigned char *p, unsigned char *end, int opt, int minsize);
- static size_t dhcp_packet_size(struct dhcp_packet *mess, unsigned char *agent_id, unsigned char *real_end);
--static void clear_packet(struct dhcp_packet *mess, unsigned char *end);
-+static void clear_packet(struct dhcp_packet *mess, unsigned char *end, unsigned int sz);
- static int in_list(unsigned char *list, int opt);
- static void do_options(struct dhcp_context *context,
- 		       struct dhcp_packet *mess,
-@@ -611,7 +611,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
- 				now); 
- 	      lease_set_interface(lease, int_index, now);
- 	      
--	      clear_packet(mess, end);
-+	      clear_packet(mess, end, 0);
- 	      do_options(context, mess, end, NULL, hostname, get_domain(mess->yiaddr), 
- 			 netid, subnet_addr, 0, 0, -1, NULL, vendor_class_len, now, 0xffffffff, 0);
- 	    }
-@@ -814,7 +814,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
- 	  if (!service || !service->basename || !context)
- 	    return 0;
- 	  	  
--	  clear_packet(mess, end);
-+	  clear_packet(mess, end, sz);
- 	  
- 	  mess->yiaddr = mess->ciaddr;
- 	  mess->ciaddr.s_addr = 0;
-@@ -882,7 +882,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
- 		      mess->flags |= htons(0x8000); /* broadcast */
- 		    }
- 		  
--		  clear_packet(mess, end);
-+		  clear_packet(mess, end, sz);
- 		  
- 		  /* Redirect EFI clients to port 4011 */
- 		  if (pxearch >= 6)
-@@ -1062,7 +1062,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-       log_packet("DHCPOFFER" , &mess->yiaddr, emac, emac_len, iface_name, NULL, NULL, mess->xid);
-       
-       time = calc_time(context, config, option_find(mess, sz, OPTION_LEASE_TIME, 4));
--      clear_packet(mess, end);
-+      clear_packet(mess, end, sz);
-       option_put(mess, end, OPTION_MESSAGE_TYPE, 1, DHCPOFFER);
-       option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, ntohl(server_id(context, override, fallback).s_addr));
-       option_put(mess, end, OPTION_LEASE_TIME, 4, time);
-@@ -1245,7 +1245,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
- 	  log_packet("DHCPNAK", &mess->yiaddr, emac, emac_len, iface_name, NULL, message, mess->xid);
- 	  
- 	  mess->yiaddr.s_addr = 0;
--	  clear_packet(mess, end);
-+	  clear_packet(mess, end, sz);
- 	  option_put(mess, end, OPTION_MESSAGE_TYPE, 1, DHCPNAK);
- 	  option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, ntohl(server_id(context, override, fallback).s_addr));
- 	  option_put_string(mess, end, OPTION_MESSAGE, message, borken_opt);
-@@ -1401,7 +1401,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
- 
- 	  log_packet("DHCPACK", &mess->yiaddr, emac, emac_len, iface_name, hostname, NULL, mess->xid);  
- 	  
--	  clear_packet(mess, end);
-+	  clear_packet(mess, end, sz);
- 	  option_put(mess, end, OPTION_MESSAGE_TYPE, 1, DHCPACK);
- 	  option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, ntohl(server_id(context, override, fallback).s_addr));
- 	  option_put(mess, end, OPTION_LEASE_TIME, 4, time);
-@@ -1452,7 +1452,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
- 	    override = lease->override;
- 	}
- 
--      clear_packet(mess, end);
-+      clear_packet(mess, end, sz);
-       option_put(mess, end, OPTION_MESSAGE_TYPE, 1, DHCPACK);
-       option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, ntohl(server_id(context, override, fallback).s_addr));
-      
-@@ -2180,12 +2180,23 @@ static struct dhcp_opt *pxe_opts(int pxe_arch, struct dhcp_netid *netid, struct
-  
-   return ret;
- }
--  
--static void clear_packet(struct dhcp_packet *mess, unsigned char *end)
-+
-+static void clear_packet(struct dhcp_packet *mess, unsigned char *end, unsigned int sz)
- {
-+  unsigned char *opt;
-+  unsigned int clid_tot = 0;
-+  
-+  /* If sz is non-zero, save any client-id option by copying it as the first
-+   option in the new packet */
-+    if (sz != 0 && (opt = option_find(mess, sz, OPTION_CLIENT_ID, 1)))
-+    {
-+      clid_tot = option_len(opt) + 2u;
-+      memmove(&mess->options[0] + sizeof(u32), opt, clid_tot);
-+    }
-+  
-   memset(mess->sname, 0, sizeof(mess->sname));
-   memset(mess->file, 0, sizeof(mess->file));
--  memset(&mess->options[0] + sizeof(u32), 0, end - (&mess->options[0] + sizeof(u32)));
-+  memset(&mess->options[0] + sizeof(u32) + clid_tot, 0, end - (&mess->options[0] + sizeof(u32) + clid_tot));
-   mess->siaddr.s_addr = 0;
- }
- 
--- 
-1.7.10.4
-



More information about the lede-commits mailing list