Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-3-0]: src/dist/bind apply patch (requested by he in ticket #1955):



details:   https://anonhg.NetBSD.org/src/rev/47ac94dc69a3
branches:  netbsd-3-0
changeset: 579495:47ac94dc69a3
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Fri Aug 29 20:34:05 2008 +0000

description:
apply patch (requested by he in ticket #1955):
        dist/bind/CHANGES                               patch
        dist/bind/bin/dig/dighost.c                     patch
        dist/bind/bin/named/client.c                    patch
        dist/bind/bin/named/config.c                    patch
        dist/bind/bin/named/controlconf.c               patch
        dist/bind/bin/named/interfacemgr.c              patch
        dist/bind/bin/named/lwresd.c                    patch
        dist/bind/bin/named/named.conf.docbook          patch
        dist/bind/bin/named/server.c                    patch
        dist/bind/bin/tests/sig0_test.c                 patch
        dist/bind/bin/tests/sock_test.c                 patch
        dist/bind/bin/tests/system/ifconfig.sh          patch
        dist/bind/configure                             patch
        dist/bind/configure.in                          patch
        dist/bind/doc/arm/Bv9ARM-book.xml               patch
        dist/bind/lib/bind/configure                    patch
        dist/bind/lib/bind/configure.in                 patch
        dist/bind/lib/dns/api                           patch
        dist/bind/lib/dns/dispatch.c                    patch
        dist/bind/lib/dns/include/dns/dispatch.h        patch
        dist/bind/lib/dns/message.c                     patch
        dist/bind/lib/dns/request.c                     patch
        dist/bind/lib/dns/resolver.c                    patch
        dist/bind/lib/dns/xfrin.c                       patch
        dist/bind/lib/isc/api                           patch
        dist/bind/lib/isc/include/isc/resource.h        patch
        dist/bind/lib/isc/include/isc/socket.h          patch
        dist/bind/lib/isc/include/isc/timer.h           patch
        dist/bind/lib/isc/timer.c                       patch
        dist/bind/lib/isc/unix/app.c                    patch
        dist/bind/lib/isc/unix/resource.c               patch
        dist/bind/lib/isc/unix/socket.c                 patch
        dist/bind/lib/isc/unix/socket_p.h               patch
        dist/bind/lib/isc/win32/libisc.def              patch
        dist/bind/lib/isc/win32/resource.c              patch
        dist/bind/lib/isc/win32/socket.c                patch
        dist/bind/lib/isccfg/api                        patch
        dist/bind/lib/isccfg/namedconf.c                patch
        dist/bind/version                               patch

Update BIND to 9.3.5-P2 (performance and bug fixes)

diffstat:

 dist/bind/CHANGES                        |   45 +++++-
 dist/bind/bin/dig/dighost.c              |   14 +-
 dist/bind/bin/named/client.c             |   46 ++--
 dist/bind/bin/named/config.c             |   15 +-
 dist/bind/bin/named/controlconf.c        |    8 +-
 dist/bind/bin/named/interfacemgr.c       |   21 +-
 dist/bind/bin/named/lwresd.c             |   13 +-
 dist/bind/bin/named/named.conf.docbook   |    6 +-
 dist/bind/bin/named/server.c             |   67 ++++++-
 dist/bind/bin/tests/sig0_test.c          |    8 +-
 dist/bind/bin/tests/sock_test.c          |    8 +-
 dist/bind/bin/tests/system/ifconfig.sh   |   10 +-
 dist/bind/configure                      |    4 +-
 dist/bind/configure.in                   |    4 +-
 dist/bind/doc/arm/Bv9ARM-book.xml        |   20 ++-
 dist/bind/lib/bind/configure             |    2 +-
 dist/bind/lib/bind/configure.in          |    4 +-
 dist/bind/lib/dns/api                    |    2 +-
 dist/bind/lib/dns/dispatch.c             |   50 ++++-
 dist/bind/lib/dns/include/dns/dispatch.h |   16 +-
 dist/bind/lib/dns/message.c              |   15 +-
 dist/bind/lib/dns/request.c              |   20 +-
 dist/bind/lib/dns/resolver.c             |   20 ++-
 dist/bind/lib/dns/xfrin.c                |   27 ++-
 dist/bind/lib/isc/api                    |    6 +-
 dist/bind/lib/isc/include/isc/resource.h |   21 ++-
 dist/bind/lib/isc/include/isc/socket.h   |   21 ++-
 dist/bind/lib/isc/include/isc/timer.h    |    8 +-
 dist/bind/lib/isc/timer.c                |   20 +-
 dist/bind/lib/isc/unix/app.c             |   10 +-
 dist/bind/lib/isc/unix/resource.c        |   58 +++++++-
 dist/bind/lib/isc/unix/socket.c          |  248 +++++++++++++++++++++++++-----
 dist/bind/lib/isc/unix/socket_p.h        |    6 +-
 dist/bind/lib/isc/win32/libisc.def       |    2 +
 dist/bind/lib/isc/win32/resource.c       |   16 +-
 dist/bind/lib/isc/win32/socket.c         |   35 +++-
 dist/bind/lib/isccfg/api                 |    2 +-
 dist/bind/lib/isccfg/namedconf.c         |    5 +-
 dist/bind/version                        |    4 +-
 39 files changed, 665 insertions(+), 242 deletions(-)

diffs (truncated from 2448 to 300 lines):

diff -r 99d434511ae6 -r 47ac94dc69a3 dist/bind/CHANGES
--- a/dist/bind/CHANGES Wed Aug 20 18:36:55 2008 +0000
+++ b/dist/bind/CHANGES Fri Aug 29 20:34:05 2008 +0000
@@ -1,3 +1,44 @@
+       --- 9.3.5-P2 released ---
+
+2406.   [bug]           Some operating systems have FD_SETSIZE set to a
+                       low value by default, which can cause resource
+                       exhaustion when many simultaneous connections are
+                       open.  Linux in particular makes it difficult to
+                       increase this value.  To use more sockets with
+                       select(), set ISC_SOCKET_FDSETSIZE.  Example:
+                       STD_CDEFINES="-DISC_SOCKET_FDSETSIZE=4096" ./configure
+                       (This should not be necessary in most cases, and
+                       never for an authoritative-only server.) [RT #18328]
+
+2404.  [port]          hpux: files unlimited support.
+
+2403.  [bug]           TSIG context leak. [RT #18341]
+
+2402.  [port]          Support Solaris 2.11 and over. [RT #18362]
+
+2401.  [bug]           Expect to get E[MN]FILE errno internal_accept()
+                       (from accept() or fcntl() system calls). [RT #18358]
+
+2399.  [bug]           Abort timeout queries to reduce the number of open
+                       UDP sockets. [RT #18367]
+
+2398.  [bug]           Improve file descriptor management.  New,
+                       temporary, named.conf option reserved-sockets,
+                       default 512. [RT #18344]
+
+2396.  [bug]           Don't set SO_REUSEADDR for randomized ports.
+                       [RT #18336]
+
+2395.  [port]          Avoid warning and no effect from "files unlimited"
+                       on Linux when running as root. [RT #18335]
+
+2394.  [bug]           Default configuration options set the limit for
+                       open files to 'unlimited' as described in the
+                       documentation. [RT #18331]
+
+2392.  [bug]           remove 'grep -q' from acl test script, some platforms
+                       don't support it. [RT #18253]
+
        --- 9.3.5-P1 released ---
 
 2375.   [security]      Fully randomize UDP query ports to improve
@@ -154,7 +195,7 @@
                        [RT #17113]
 
 2249.   [bug]           Only set Authentic Data bit if client requested
-                        DNSSEC, per RFC 3655 [RT #17175]
+                       DNSSEC, per RFC 3655 [RT #17175]
 
 2248.   [cleanup]       Fix several errors reported by Coverity. [RT #17160]
 
@@ -817,7 +858,7 @@
                        query order sensitive. [RT #14933]
 
 1905.  [bug]           Strings returned from cfg_obj_asstring() should be
-                        treated as read-only.  [RT #15256]
+                       treated as read-only.  [RT #15256]
 
 1901.  [cleanup]       Don't add DNSKEY records to the additional section.
 
diff -r 99d434511ae6 -r 47ac94dc69a3 dist/bind/bin/dig/dighost.c
--- a/dist/bind/bin/dig/dighost.c       Wed Aug 20 18:36:55 2008 +0000
+++ b/dist/bind/bin/dig/dighost.c       Fri Aug 29 20:34:05 2008 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: dighost.c,v 1.1.1.2.4.2 2008/07/24 22:17:45 ghen Exp $ */
+/*     $NetBSD: dighost.c,v 1.1.1.2.4.3 2008/08/29 20:34:06 bouyer Exp $       */
 
 /*
  * Copyright (C) 2004-2008  Internet Systems Consortium, Inc. ("ISC")
@@ -17,7 +17,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* Id: dighost.c,v 1.221.2.19.2.46 2008/01/17 23:45:26 tbox Exp */
+/* Id: dighost.c,v 1.221.2.19.2.46.4.2 2008/07/23 23:16:25 marka Exp */
 
 /*
  * Notice to programmers:  Do not use this code as an example of how to
@@ -2049,14 +2049,15 @@
        sockcount++;
        debug("sockcount=%d", sockcount);
        if (specified_source)
-               result = isc_socket_bind(query->sock, &bind_address);
+               result = isc_socket_bind(query->sock, &bind_address,
+                                        ISC_SOCKET_REUSEADDRESS);
        else {
                if ((isc_sockaddr_pf(&query->sockaddr) == AF_INET) &&
                    have_ipv4)
                        isc_sockaddr_any(&bind_any);
                else
                        isc_sockaddr_any6(&bind_any);
-               result = isc_socket_bind(query->sock, &bind_any);
+               result = isc_socket_bind(query->sock, &bind_any, 0);
        }
        check_result(result, "isc_socket_bind");
        bringup_timer(query, TCP_TIMEOUT);
@@ -2103,11 +2104,12 @@
                sockcount++;
                debug("sockcount=%d", sockcount);
                if (specified_source) {
-                       result = isc_socket_bind(query->sock, &bind_address);
+                       result = isc_socket_bind(query->sock, &bind_address,
+                                                ISC_SOCKET_REUSEADDRESS);
                } else {
                        isc_sockaddr_anyofpf(&bind_any,
                                        isc_sockaddr_pf(&query->sockaddr));
-                       result = isc_socket_bind(query->sock, &bind_any);
+                       result = isc_socket_bind(query->sock, &bind_any, 0);
                }
                check_result(result, "isc_socket_bind");
 
diff -r 99d434511ae6 -r 47ac94dc69a3 dist/bind/bin/named/client.c
--- a/dist/bind/bin/named/client.c      Wed Aug 20 18:36:55 2008 +0000
+++ b/dist/bind/bin/named/client.c      Fri Aug 29 20:34:05 2008 +0000
@@ -1,7 +1,7 @@
-/*     $NetBSD: client.c,v 1.1.1.2.4.3 2008/07/24 22:17:46 ghen Exp $  */
+/*     $NetBSD: client.c,v 1.1.1.2.4.4 2008/08/29 20:34:06 bouyer Exp $        */
 
 /*
- * Copyright (C) 2004-2007  Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2008  Internet Systems Consortium, Inc. ("ISC")
  * Copyright (C) 1999-2003  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
@@ -17,7 +17,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* Id: client.c,v 1.176.2.13.4.38.4.1 2008/05/22 21:11:13 each Exp */
+/* Id: client.c,v 1.176.2.13.4.38.4.2 2008/07/23 07:28:11 tbox Exp */
 
 #include <config.h>
 
@@ -258,7 +258,7 @@
         *
         * Keep the view attached until any outstanding updates complete.
         */
-       if (client->nupdates == 0 && 
+       if (client->nupdates == 0 &&
            client->newstate == NS_CLIENTSTATE_FREED && client->view != NULL)
                dns_view_detach(&client->view);
 
@@ -788,7 +788,7 @@
                isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr);
                if (ns_g_server->blackholeacl != NULL &&
                    dns_acl_match(&netaddr, NULL,
-                                 ns_g_server->blackholeacl,
+                                 ns_g_server->blackholeacl,
                                  &ns_g_server->aclenv,
                                  &match, NULL) == ISC_R_SUCCESS &&
                    match > 0)
@@ -805,7 +805,7 @@
        isc_buffer_usedregion(buffer, &r);
 
        CTRACE("sendto");
-       
+
        result = isc_socket_sendto2(socket, &r, client->task,
                                    address, pktinfo,
                                    client->sendevent, sockflags);
@@ -1079,8 +1079,8 @@
        /*
         * FORMERR loop avoidance:  If we sent a FORMERR message
         * with the same ID to the same client less than two
-        * seconds ago, assume that we are in an infinite error 
-        * packet dialog with a server for some protocol whose 
+        * seconds ago, assume that we are in an infinite error
+        * packet dialog with a server for some protocol whose
         * error responses look enough like DNS queries to
         * elicit a FORMERR response.  Drop a packet to break
         * the loop.
@@ -1445,7 +1445,7 @@
         * For IPv6 UDP queries, we get this from the pktinfo structure (if
         * supported).
         * If all the attempts fail (this can happen due to memory shortage,
-        * etc), we regard this as an error for safety. 
+        * etc), we regard this as an error for safety.
         */
        if ((client->interface->flags & NS_INTERFACEFLAG_ANYADDR) == 0)
                isc_netaddr_fromsockaddr(&destaddr, &client->interface->addr);
@@ -1506,7 +1506,7 @@
                                                           view);
                        if (sigresult == ISC_R_SUCCESS)
                                tsig = client->message->tsigname;
-                               
+
                        if (allowed(&netaddr, tsig, view->matchclients) &&
                            allowed(&destaddr, tsig, view->matchdestinations) &&
                            !((client->message->flags & DNS_MESSAGEFLAG_RD)
@@ -1637,7 +1637,7 @@
 
        ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_CLIENT,
                      ISC_LOG_DEBUG(3), ra ? "recursion available" :
-                                            "recursion not available");
+                                            "recursion not available");
 
        /*
         * Dispatch the request.
@@ -1951,7 +1951,7 @@
 
                if (ns_g_server->blackholeacl != NULL &&
                    dns_acl_match(&netaddr, NULL,
-                                 ns_g_server->blackholeacl,
+                                 ns_g_server->blackholeacl,
                                  &ns_g_server->aclenv,
                                  &match, NULL) == ISC_R_SUCCESS &&
                    match > 0)
@@ -2321,7 +2321,7 @@
        isc_result_t result =
                ns_client_checkaclsilent(client, acl, default_allow);
 
-       if (result == ISC_R_SUCCESS) 
+       if (result == ISC_R_SUCCESS)
                ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
                              NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3),
                              "%s approved", opname);
@@ -2377,16 +2377,16 @@
 
 void
 ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdatatype_t type,
-                dns_rdataclass_t rdclass, char *buf, size_t len) 
+                dns_rdataclass_t rdclass, char *buf, size_t len)
 {
-        char namebuf[DNS_NAME_FORMATSIZE];
-        char typebuf[DNS_RDATATYPE_FORMATSIZE];
-        char classbuf[DNS_RDATACLASS_FORMATSIZE];
+       char namebuf[DNS_NAME_FORMATSIZE];
+       char typebuf[DNS_RDATATYPE_FORMATSIZE];
+       char classbuf[DNS_RDATACLASS_FORMATSIZE];
 
-        dns_name_format(name, namebuf, sizeof(namebuf));
-        dns_rdatatype_format(type, typebuf, sizeof(typebuf));
-        dns_rdataclass_format(rdclass, classbuf, sizeof(classbuf));
-        (void)snprintf(buf, len, "%s '%s/%s/%s'", msg, namebuf, typebuf,
+       dns_name_format(name, namebuf, sizeof(namebuf));
+       dns_rdatatype_format(type, typebuf, sizeof(typebuf));
+       dns_rdataclass_format(rdclass, classbuf, sizeof(classbuf));
+       (void)snprintf(buf, len, "%s '%s/%s/%s'", msg, namebuf, typebuf,
                       classbuf);
 }
 
@@ -2414,7 +2414,7 @@
                        isc_mem_put(client->mctx, buf, len);
                        len += 1024;
                } else if (result == ISC_R_SUCCESS)
-                       ns_client_log(client, NS_LOGCATEGORY_UNMATCHED,
+                       ns_client_log(client, NS_LOGCATEGORY_UNMATCHED,
                                      NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(1),
                                      "%s\n%.*s", reason,
                                       (int)isc_buffer_usedlength(&buffer),
@@ -2434,7 +2434,7 @@
        const char *sep;
 
        REQUIRE(VALID_MANAGER(manager));
-             
+
        LOCK(&manager->lock);
        client = ISC_LIST_HEAD(manager->recursing);
        while (client != NULL) {
diff -r 99d434511ae6 -r 47ac94dc69a3 dist/bind/bin/named/config.c
--- a/dist/bind/bin/named/config.c      Wed Aug 20 18:36:55 2008 +0000
+++ b/dist/bind/bin/named/config.c      Fri Aug 29 20:34:05 2008 +0000
@@ -1,7 +1,7 @@
-/*     $NetBSD: config.c,v 1.1.1.2.4.2 2008/07/24 22:17:46 ghen Exp $  */
+/*     $NetBSD: config.c,v 1.1.1.2.4.3 2008/08/29 20:34:06 bouyer Exp $        */
 
 /*
- * Copyright (C) 2004, 2006, 2007  Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2006-2008  Internet Systems Consortium, Inc. ("ISC")
  * Copyright (C) 2001-2003  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
@@ -17,7 +17,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* Id: config.c,v 1.11.2.4.8.36 2007/09/13 05:18:08 each Exp */
+/* Id: config.c,v 1.11.2.4.8.36.4.3 2008/07/23 23:47:49 tbox Exp */
 
 #include <config.h>
 
@@ -50,7 +50,7 @@
 #ifndef WIN32
 "      coresize default;\n\
        datasize default;\n\
-       files default;\n\
+       files unlimited;\n\
        stacksize default;\n"
 #endif
 "      deallocate-on-exit true;\n\
@@ -96,6 +96,7 @@
        use-id-pool true;\n\
        use-ixfr true;\n\
        edns-udp-size 4096;\n\



Home | Main Index | Thread Index | Old Index