diff options
| author | Tomas Hozza <thozza@redhat.com> | 2014-01-06 14:09:43 +0100 |
|---|---|---|
| committer | Tomas Hozza <thozza@redhat.com> | 2014-01-06 15:06:20 +0100 |
| commit | abe4be55020902e0b1c23f32edc3e3d5ce00ec30 (patch) | |
| tree | 0c51f179e6fcfe289142cd58af03828d759602d8 /bind99-ISC-Bugs-34870-v3.patch | |
| parent | cfca698d2bf821b950cfd21f4c835b35de03115d (diff) | |
Update to bind-9.9.5b1
Signed-off-by: Tomas Hozza <thozza@redhat.com>
Diffstat (limited to 'bind99-ISC-Bugs-34870-v3.patch')
| -rw-r--r-- | bind99-ISC-Bugs-34870-v3.patch | 213 |
1 files changed, 0 insertions, 213 deletions
diff --git a/bind99-ISC-Bugs-34870-v3.patch b/bind99-ISC-Bugs-34870-v3.patch deleted file mode 100644 index 2869213..0000000 --- a/bind99-ISC-Bugs-34870-v3.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff -up bind-9.9.4/bin/dig/dighost.c.send_buffers bind-9.9.4/bin/dig/dighost.c ---- bind-9.9.4/bin/dig/dighost.c.send_buffers 2013-10-31 14:22:20.296811613 +0100 -+++ bind-9.9.4/bin/dig/dighost.c 2013-10-31 14:57:00.336400190 +0100 -@@ -194,6 +194,7 @@ isc_boolean_t validated = ISC_TRUE; - isc_entropy_t *entp = NULL; - isc_mempool_t *commctx = NULL; - isc_boolean_t debugging = ISC_FALSE; -+isc_boolean_t debugtiming = ISC_FALSE; - isc_boolean_t memdebugging = ISC_FALSE; - char *progname = NULL; - isc_mutex_t lookup_lock; -@@ -553,6 +554,12 @@ debug(const char *format, ...) { - - if (debugging) { - fflush(stdout); -+ if (debugtiming) { -+ struct timeval tv; -+ (void)gettimeofday(&tv, NULL); -+ fprintf(stderr, "%ld.%06ld: ", (long)tv.tv_sec, -+ (long)tv.tv_usec); -+ } - va_start(args, format); - vfprintf(stderr, format, args); - va_end(args); -@@ -2416,8 +2423,10 @@ send_done(isc_task_t *_task, isc_event_t - - for (b = ISC_LIST_HEAD(sevent->bufferlist); - b != NULL; -- b = ISC_LIST_HEAD(sevent->bufferlist)) -+ b = ISC_LIST_HEAD(sevent->bufferlist)) { - ISC_LIST_DEQUEUE(sevent->bufferlist, b, link); -+ isc_mem_free(mctx, b); -+ } - - query = event->ev_arg; - query->waiting_senddone = ISC_FALSE; -@@ -2609,6 +2618,17 @@ send_tcp_connect(dig_query_t *query) { - } - } - -+static isc_buffer_t * -+clone_buffer(isc_buffer_t *source) { -+ isc_buffer_t *buffer; -+ buffer = isc_mem_allocate(mctx, sizeof(*buffer)); -+ if (buffer == NULL) -+ fatal("memory allocation failure in %s:%d", -+ __FILE__, __LINE__); -+ *buffer = *source; -+ return (buffer); -+} -+ - /*% - * Send a UDP packet to the remote nameserver, possible starting the - * recv action as well. Also make sure that the timer is running and -@@ -2618,6 +2638,7 @@ static void - send_udp(dig_query_t *query) { - dig_lookup_t *l = NULL; - isc_result_t result; -+ isc_buffer_t *sendbuf; - - debug("send_udp(%p)", query); - -@@ -2664,14 +2685,16 @@ send_udp(dig_query_t *query) { - debug("recvcount=%d", recvcount); - } - ISC_LIST_INIT(query->sendlist); -- ISC_LIST_ENQUEUE(query->sendlist, &query->sendbuf, link); -+ sendbuf = clone_buffer(&query->sendbuf); -+ ISC_LIST_ENQUEUE(query->sendlist, sendbuf, link); - debug("sending a request"); - TIME_NOW(&query->time_sent); - INSIST(query->sock != NULL); - query->waiting_senddone = ISC_TRUE; -- result = isc_socket_sendtov(query->sock, &query->sendlist, -- global_task, send_done, query, -- &query->sockaddr, NULL); -+ result = isc_socket_sendtov2(query->sock, &query->sendlist, -+ global_task, send_done, query, -+ &query->sockaddr, NULL, -+ ISC_SOCKFLAG_NORETRY); - check_result(result, "isc_socket_sendtov"); - sendcount++; - } -@@ -2838,6 +2861,7 @@ static void - launch_next_query(dig_query_t *query, isc_boolean_t include_question) { - isc_result_t result; - dig_lookup_t *l; -+ isc_buffer_t *buffer; - - INSIST(!free_now); - -@@ -2861,9 +2885,15 @@ launch_next_query(dig_query_t *query, is - isc_buffer_putuint16(&query->slbuf, (isc_uint16_t) query->sendbuf.used); - ISC_LIST_INIT(query->sendlist); - ISC_LINK_INIT(&query->slbuf, link); -- ISC_LIST_ENQUEUE(query->sendlist, &query->slbuf, link); -- if (include_question) -- ISC_LIST_ENQUEUE(query->sendlist, &query->sendbuf, link); -+ if (!query->first_soa_rcvd) { -+ buffer = clone_buffer(&query->slbuf); -+ ISC_LIST_ENQUEUE(query->sendlist, buffer, link); -+ if (include_question) { -+ buffer = clone_buffer(&query->sendbuf); -+ ISC_LIST_ENQUEUE(query->sendlist, buffer, link); -+ } -+ } -+ - ISC_LINK_INIT(&query->lengthbuf, link); - ISC_LIST_ENQUEUE(query->lengthlist, &query->lengthbuf, link); - -diff -up bind-9.9.4/bin/dig/host.c.send_buffers bind-9.9.4/bin/dig/host.c ---- bind-9.9.4/bin/dig/host.c.send_buffers 2013-10-31 14:22:20.270811568 +0100 -+++ bind-9.9.4/bin/dig/host.c 2013-10-31 14:22:20.328811669 +0100 -@@ -638,6 +638,8 @@ pre_parse_args(int argc, char **argv) { - case 'w': break; - case 'C': break; - case 'D': -+ if (debugging) -+ debugtiming = ISC_TRUE; - debugging = ISC_TRUE; - break; - case 'N': break; -diff -up bind-9.9.4/bin/dig/include/dig/dig.h.send_buffers bind-9.9.4/bin/dig/include/dig/dig.h ---- bind-9.9.4/bin/dig/include/dig/dig.h.send_buffers 2013-10-31 14:22:20.270811568 +0100 -+++ bind-9.9.4/bin/dig/include/dig/dig.h 2013-10-31 14:22:20.328811669 +0100 -@@ -275,7 +275,7 @@ extern isc_boolean_t validated; - extern isc_taskmgr_t *taskmgr; - extern isc_task_t *global_task; - extern isc_boolean_t free_now; --extern isc_boolean_t debugging, memdebugging; -+extern isc_boolean_t debugging, debugtiming, memdebugging; - - extern char *progname; - extern int tries; -diff -up bind-9.9.4/lib/isc/include/isc/namespace.h.send_buffers bind-9.9.4/lib/isc/include/isc/namespace.h ---- bind-9.9.4/lib/isc/include/isc/namespace.h.send_buffers 2013-09-05 07:09:08.000000000 +0200 -+++ bind-9.9.4/lib/isc/include/isc/namespace.h 2013-10-31 14:22:20.328811669 +0100 -@@ -106,6 +106,7 @@ - #define isc_socket_sendv isc__socket_sendv - #define isc_socket_sendtov isc__socket_sendtov - #define isc_socket_sendto2 isc__socket_sendto2 -+#define isc_socket_sendtov2 isc__socket_sendtov2 - #define isc_socket_cleanunix isc__socket_cleanunix - #define isc_socket_permunix isc__socket_permunix - #define isc_socket_bind isc__socket_bind -diff -up bind-9.9.4/lib/isc/include/isc/socket.h.send_buffers bind-9.9.4/lib/isc/include/isc/socket.h ---- bind-9.9.4/lib/isc/include/isc/socket.h.send_buffers 2013-09-05 07:09:08.000000000 +0200 -+++ bind-9.9.4/lib/isc/include/isc/socket.h 2013-10-31 14:22:20.328811669 +0100 -@@ -866,6 +866,11 @@ isc_socket_sendtov(isc_socket_t *sock, i - isc_task_t *task, isc_taskaction_t action, const void *arg, - isc_sockaddr_t *address, struct in6_pktinfo *pktinfo); - isc_result_t -+isc_socket_sendtov2(isc_socket_t *sock, isc_bufferlist_t *buflist, -+ isc_task_t *task, isc_taskaction_t action, const void *arg, -+ isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, -+ unsigned int flags); -+isc_result_t - isc_socket_sendto2(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, - isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, -diff -up bind-9.9.4/lib/isc/unix/socket.c.send_buffers bind-9.9.4/lib/isc/unix/socket.c ---- bind-9.9.4/lib/isc/unix/socket.c.send_buffers 2013-10-31 14:22:20.293811608 +0100 -+++ bind-9.9.4/lib/isc/unix/socket.c 2013-10-31 14:22:20.330811673 +0100 -@@ -510,6 +510,11 @@ isc__socket_sendtov(isc_socket_t *sock, - isc_task_t *task, isc_taskaction_t action, const void *arg, - isc_sockaddr_t *address, struct in6_pktinfo *pktinfo); - ISC_SOCKETFUNC_SCOPE isc_result_t -+isc__socket_sendtov2(isc_socket_t *sock, isc_bufferlist_t *buflist, -+ isc_task_t *task, isc_taskaction_t action, const void *arg, -+ isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, -+ unsigned int flags); -+ISC_SOCKETFUNC_SCOPE isc_result_t - isc__socket_sendto2(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, - isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, -@@ -4796,15 +4801,25 @@ ISC_SOCKETFUNC_SCOPE isc_result_t - isc__socket_sendv(isc_socket_t *sock, isc_bufferlist_t *buflist, - isc_task_t *task, isc_taskaction_t action, const void *arg) - { -- return (isc__socket_sendtov(sock, buflist, task, action, arg, NULL, -- NULL)); -+ return (isc__socket_sendtov2(sock, buflist, task, action, arg, NULL, -+ NULL, 0)); - } - - ISC_SOCKETFUNC_SCOPE isc_result_t --isc__socket_sendtov(isc_socket_t *sock0, isc_bufferlist_t *buflist, -+isc__socket_sendtov(isc_socket_t *sock, isc_bufferlist_t *buflist, - isc_task_t *task, isc_taskaction_t action, const void *arg, - isc_sockaddr_t *address, struct in6_pktinfo *pktinfo) - { -+ return (isc__socket_sendtov2(sock, buflist, task, action, arg, address, -+ pktinfo, 0)); -+} -+ -+ISC_SOCKETFUNC_SCOPE isc_result_t -+isc__socket_sendtov2(isc_socket_t *sock0, isc_bufferlist_t *buflist, -+ isc_task_t *task, isc_taskaction_t action, const void *arg, -+ isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, -+ unsigned int flags) -+{ - isc__socket_t *sock = (isc__socket_t *)sock0; - isc_socketevent_t *dev; - isc__socketmgr_t *manager; -@@ -4837,7 +4852,7 @@ isc__socket_sendtov(isc_socket_t *sock0, - buffer = ISC_LIST_HEAD(*buflist); - } - -- return (socket_send(sock, dev, task, address, pktinfo, 0)); -+ return (socket_send(sock, dev, task, address, pktinfo, flags)); - } - - ISC_SOCKETFUNC_SCOPE isc_result_t |
