summaryrefslogtreecommitdiffstats
path: root/bind-9.11-rh1236087.patch
diff options
context:
space:
mode:
authorPetr Menšík <pemensik@redhat.com>2017-04-21 17:38:45 +0200
committerPetr Menšík <pemensik@redhat.com>2017-04-21 17:38:45 +0200
commit19b1efe0bb3591e09897b72e548ba467e31f4c4f (patch)
tree425ee3afa32996346c7a31323626d9dfc9c76b97 /bind-9.11-rh1236087.patch
parent09e4b5788e8916142a0589e9bc25ab8bedd941fd (diff)
downloadbind-19b1efe0bb3591e09897b72e548ba467e31f4c4f.tar.gz
bind-19b1efe0bb3591e09897b72e548ba467e31f4c4f.tar.xz
bind-19b1efe0bb3591e09897b72e548ba467e31f4c4f.zip
Fix queries for TKEY in nsupdate, when using GSSAPI (#1236087)
Diffstat (limited to 'bind-9.11-rh1236087.patch')
-rw-r--r--bind-9.11-rh1236087.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/bind-9.11-rh1236087.patch b/bind-9.11-rh1236087.patch
new file mode 100644
index 0000000..569db9b
--- /dev/null
+++ b/bind-9.11-rh1236087.patch
@@ -0,0 +1,46 @@
+From 66b71679b78ad6cf2c4e5c8c1216b602e0fe1e9b Mon Sep 17 00:00:00 2001
+From: Evan Hunt <each@isc.org>
+Date: Thu, 20 Apr 2017 09:28:37 -0700
+Subject: [PATCH] [master] nsupdate: send tkey queries to the right server
+
+4588. [bug] nsupdate could send queries for TKEY to the wrong
+ server when using GSSAPI. Thanks to Tomas Hozza.
+ [RT #39893]
+---
+ bin/nsupdate/nsupdate.c | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c
+index 9572fd8..8fc5b20 100644
+--- a/bin/nsupdate/nsupdate.c
++++ b/bin/nsupdate/nsupdate.c
+@@ -2799,10 +2799,8 @@ start_gssrequest(dns_name_t *master) {
+ if (kserver == NULL)
+ fatal("out of memory");
+ }
+- if (servers == NULL)
+- get_addresses(namestr, dnsport, kserver, 1);
+- else
+- memmove(kserver, &servers[ns_inuse], sizeof(isc_sockaddr_t));
++
++ memmove(kserver, &master_servers[master_inuse], sizeof(isc_sockaddr_t));
+
+ dns_fixedname_init(&fname);
+ servname = dns_fixedname_name(&fname);
+@@ -2947,11 +2945,11 @@ recvgss(isc_task_t *task, isc_event_t *event) {
+ }
+
+ if (eresult != ISC_R_SUCCESS) {
+- next_server("recvgss", addr, eresult);
++ next_master("recvgss", addr, eresult);
+ ddebug("Destroying request [%p]", request);
+ dns_request_destroy(&request);
+ dns_message_renderreset(tsigquery);
+- sendrequest(&servers[ns_inuse], tsigquery, &request);
++ sendrequest(&master_servers[master_inuse], tsigquery, &request);
+ isc_mem_put(gmctx, reqinfo, sizeof(nsu_gssinfo_t));
+ isc_event_free(&event);
+ return;
+--
+2.9.3
+