]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2866. [bug] Windows does not like the TSIG name being compressed.
authorMark Andrews <marka@isc.org>
Fri, 12 Mar 2010 03:34:56 +0000 (03:34 +0000)
committerMark Andrews <marka@isc.org>
Fri, 12 Mar 2010 03:34:56 +0000 (03:34 +0000)
                        [RT #20986]

CHANGES
bin/nsupdate/nsupdate.c
lib/dns/message.c
lib/dns/tsig.c

diff --git a/CHANGES b/CHANGES
index f97d26433fb0138937fba6031bdd8bde5ef2c776..a8aa9861c42be1309646d0863a63c9d34272567f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2866.  [bug]           Windows does not like the TSIG name being compressed.
+                       [RT #20986]
+
 2865.  [bug]           memset to zero event.data.  [RT #20986]
 
 2864.  [bug]           Direct SIG/RRSIG queries were not handled correctly.
index 3d3645d36f6d288911167f6441494ab063e3d0c6..f3c5011452fefc3f795f8514d1cdd579ac0bcfa5 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: nsupdate.c,v 1.176 2010/03/09 03:46:12 marka Exp $ */
+/* $Id: nsupdate.c,v 1.177 2010/03/12 03:34:55 marka Exp $ */
 
 /*! \file */
 
@@ -2097,6 +2097,10 @@ send_update(dns_name_t *zonename, isc_sockaddr_t *master,
                fprintf(stderr, "Sending update to %s\n", addrbuf);
        }
 
+       /* Windows doesn't like the tsig name to be compressed. */
+       if (updatemsg->tsigname)
+               updatemsg->tsigname->attributes |= DNS_NAMEATTR_NOCOMPRESS;
+
        result = dns_request_createvia3(requestmgr, updatemsg, srcaddr,
                                        master, options, tsigkey, timeout,
                                        udp_timeout, udp_retries, global_task,
index 1bbfe3ab8b1f8b7ad94e1a8457310c72ea0912f8..883216833ed93c201826ff86e9841b6b97eea560 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: message.c,v 1.251 2010/03/04 23:50:34 tbox Exp $ */
+/* $Id: message.c,v 1.252 2010/03/12 03:34:56 marka Exp $ */
 
 /*! \file */
 
@@ -1531,6 +1531,8 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx,
                } else if (rdtype == dns_rdatatype_tsig && msg->tsig == NULL) {
                        msg->tsig = rdataset;
                        msg->tsigname = name;
+                       /* Windows doesn't like TSIG names to be compressed. */
+                       msg->tsigname->attributes |= DNS_NAMEATTR_NOCOMPRESS;
                        rdataset = NULL;
                        free_rdataset = ISC_FALSE;
                        free_name = ISC_FALSE;
index d164530654f3715c4ecd9117031eeeb19e267862..60dbb436d51eecffe58ad84d5b80f612c3c7af62 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 /*
- * $Id: tsig.c,v 1.138 2009/06/11 23:47:55 tbox Exp $
+ * $Id: tsig.c,v 1.139 2010/03/12 03:34:56 marka Exp $
  */
 /*! \file */
 #include <config.h>
@@ -907,6 +907,9 @@ dns_tsig_sign(dns_message_t *msg) {
        msg->tsig = dataset;
        msg->tsigname = owner;
 
+       /* Windows does not like the tsig name being compressed. */
+       msg->tsigname->attributes |= DNS_NAMEATTR_NOCOMPRESS;
+
        return (ISC_R_SUCCESS);
 
  cleanup_rdatalist: