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