Control: tags -1 + patch

Hi Simon

On 10.11.21 20:44, Michael Biebl wrote:
Simon,

any news here?
Would you mind if I prepare an NMU with
26bbf5a314d833beaf0f147d24409969f05f3dba ?


I decided to follow the rules in [1] and uploaded a fixed package to DELAYED/2. Please holler if you want me to cancel the NMU.

debdiff is attached.

Regards,
Michael


[1] https://www.debian.org/doc/manuals/developers-reference/pkgs.en.html#nmu
diff -u dnsmasq-2.86/debian/changelog dnsmasq-2.86/debian/changelog
--- dnsmasq-2.86/debian/changelog
+++ dnsmasq-2.86/debian/changelog
@@ -1,3 +1,10 @@
+dnsmasq (2.86-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix --address=/#/...... which was lost in 2.86. (closes: #995655)
+
+ -- Michael Biebl <bi...@debian.org>  Wed, 10 Nov 2021 22:05:45 +0100
+
 dnsmasq (2.86-1) unstable; urgency=low
 
    * Fix debian/changelog format error. (closes: #986626)
only in patch2:
unchanged:
--- dnsmasq-2.86.orig/CHANGELOG
+++ dnsmasq-2.86/CHANGELOG
@@ -1,3 +1,11 @@
+version 2.87
+        Allow arbitrary prefix lengths in --rev-server and
+       --domain=....,local
+
+       Replace --address=/#/..... functionality which got
+       missed in the 2.86 domain search rewrite.
+
+       
 version 2.86
        Handle DHCPREBIND requests in the DHCPv6 server code.
        Thanks to Aichun Li for spotting this omission, and the initial
only in patch2:
unchanged:
--- dnsmasq-2.86.orig/src/network.c
+++ dnsmasq-2.86/src/network.c
@@ -1623,7 +1623,8 @@
         continue;
        
        if ((serv->flags & SERV_LITERAL_ADDRESS) &&
-          !(serv->flags & (SERV_6ADDR | SERV_4ADDR | SERV_ALL_ZEROS)))
+          !(serv->flags & (SERV_6ADDR | SERV_4ADDR | SERV_ALL_ZEROS)) &&
+          strlen(serv->domain))
         {
           count--;
           if (++locals <= LOCALS_LOGGED)
only in patch2:
unchanged:
--- dnsmasq-2.86.orig/src/option.c
+++ dnsmasq-2.86/src/option.c
@@ -2684,7 +2684,7 @@
        
        if (!arg || !*arg)
          flags = SERV_LITERAL_ADDRESS;
-       else if (option == 'A')
+       else if (option != 'S')
          {
            /* # as literal address means return zero address for 4 and 6 */
            if (strcmp(arg, "#") == 0)
@@ -2708,11 +2708,18 @@
        while (1)
          {
            /* server=//1.2.3.4 is special. */
-           if (strlen(domain) == 0 && lastdomain)
-             flags |= SERV_FOR_NODOTS;
-           else
-             flags &= ~SERV_FOR_NODOTS;
+           if (lastdomain)
+             {
+               if (strlen(domain) == 0)
+                 flags |= SERV_FOR_NODOTS;
+               else
+                 flags &= ~SERV_FOR_NODOTS;
 
+               /* address=/#/ matches the same as without domain */
+               if (option != 'S' && domain[0] == '#' && domain[1] == 0)
+                 domain[0] = 0;
+             }
+           
            if (!add_update_server(flags, &serv_addr, &source_addr, interface, 
domain, &addr))
              ret_err(gen_err);
            

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to