mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
2438. [bug] Timeouts could be logged incorrectly under win32.
2436. [security] win32: UDP client handler can be shutdown. [RT #18576] 2434. [bug] Fixed a minor error-reporting bug in lib/isc/win32/socket.c. 2432. [bug] More Windows socket handling improvements. Stop using I/O events and use IO Completion Ports throughout. Rewrite the receive path logic to make it easier to support multiple simultaneous requestrs in the future. Add stricter consistency checking as a compile-time option (define ISC_SOCKET_CONSISTENCY_CHECKS; defaults to off). 2420. [bug] Windows socket handling cleanup. Let the io completion event send out cancelled read/write done events, which keeps us from writing to memeory we no longer have ownership of. Add debugging socket_log() function. Rework TCP socket handling to not leak sockets.
This commit is contained in:
22
CHANGES
22
CHANGES
@@ -1,17 +1,24 @@
|
|||||||
2438. [placeholder]
|
2438. [bug] Timeouts could be logged incorrectly under win32.
|
||||||
|
|
||||||
2437. [bug] Sockets could be closed too early, leading to
|
2437. [bug] Sockets could be closed too early, leading to
|
||||||
inconsistent states in the socket module. [RT #18298]
|
inconsistent states in the socket module. [RT #18298]
|
||||||
|
|
||||||
2436. [placeholder]
|
2436. [security] win32: UDP client handler can be shutdown. [RT #18576]
|
||||||
|
|
||||||
2435. [bug] Fixed an ACL memory leak affecting win32.
|
2435. [bug] Fixed an ACL memory leak affecting win32.
|
||||||
|
|
||||||
2434. [placeholder]
|
2434. [bug] Fixed a minor error-reporting bug in
|
||||||
|
lib/isc/win32/socket.c.
|
||||||
|
|
||||||
2433. [tuning] Set initial timeout to 800ms.
|
2433. [tuning] Set initial timeout to 800ms.
|
||||||
|
|
||||||
2432. [placeholder]
|
2432. [bug] More Windows socket handling improvements. Stop
|
||||||
|
using I/O events and use IO Completion Ports
|
||||||
|
throughout. Rewrite the receive path logic to make
|
||||||
|
it easier to support multiple simultaneous
|
||||||
|
requestrs in the future. Add stricter consistency
|
||||||
|
checking as a compile-time option (define
|
||||||
|
ISC_SOCKET_CONSISTENCY_CHECKS; defaults to off).
|
||||||
|
|
||||||
2431. [bug] Acl processing could leak memory. [RT #18323]
|
2431. [bug] Acl processing could leak memory. [RT #18323]
|
||||||
|
|
||||||
@@ -54,7 +61,12 @@
|
|||||||
Use caution: this option may not work for some
|
Use caution: this option may not work for some
|
||||||
operating systems without rebuilding named.
|
operating systems without rebuilding named.
|
||||||
|
|
||||||
2420. [placeholder]
|
2420. [bug] Windows socket handling cleanup. Let the io
|
||||||
|
completion event send out cancelled read/write
|
||||||
|
done events, which keeps us from writing to memeory
|
||||||
|
we no longer have ownership of. Add debugging
|
||||||
|
socket_log() function. Rework TCP socket handling
|
||||||
|
to not leak sockets.
|
||||||
|
|
||||||
2419. [cleanup] Document that isc_socket_create() and isc_socket_open()
|
2419. [cleanup] Document that isc_socket_create() and isc_socket_open()
|
||||||
should not be used for isc_sockettype_fdwatch sockets.
|
should not be used for isc_sockettype_fdwatch sockets.
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: errno2result.c,v 1.16 2008/08/08 06:28:59 tbox Exp $ */
|
/* $Id: errno2result.c,v 1.17 2008/09/12 04:46:25 marka Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -64,29 +64,38 @@ isc__errno2resultx(int posixerrno, const char *file, int line) {
|
|||||||
case ERROR_CANCELLED:
|
case ERROR_CANCELLED:
|
||||||
return (ISC_R_CANCELED);
|
return (ISC_R_CANCELED);
|
||||||
case ERROR_CONNECTION_REFUSED:
|
case ERROR_CONNECTION_REFUSED:
|
||||||
|
case WSAECONNREFUSED:
|
||||||
return (ISC_R_CONNREFUSED);
|
return (ISC_R_CONNREFUSED);
|
||||||
|
case WSAENOTCONN:
|
||||||
case ERROR_CONNECTION_INVALID:
|
case ERROR_CONNECTION_INVALID:
|
||||||
return (ISC_R_NOTCONNECTED);
|
return (ISC_R_NOTCONNECTED);
|
||||||
case ERROR_HOST_UNREACHABLE:
|
case ERROR_HOST_UNREACHABLE:
|
||||||
|
case WSAEHOSTUNREACH:
|
||||||
return (ISC_R_HOSTUNREACH);
|
return (ISC_R_HOSTUNREACH);
|
||||||
case ERROR_NETWORK_UNREACHABLE:
|
case ERROR_NETWORK_UNREACHABLE:
|
||||||
|
case WSAENETUNREACH:
|
||||||
return (ISC_R_NETUNREACH);
|
return (ISC_R_NETUNREACH);
|
||||||
case ERROR_NO_NETWORK:
|
case ERROR_NO_NETWORK:
|
||||||
return (ISC_R_NETUNREACH);
|
return (ISC_R_NETUNREACH);
|
||||||
case ERROR_OPERATION_ABORTED:
|
|
||||||
return (ISC_R_CONNECTIONRESET);
|
|
||||||
case ERROR_PORT_UNREACHABLE:
|
case ERROR_PORT_UNREACHABLE:
|
||||||
return (ISC_R_HOSTUNREACH);
|
return (ISC_R_HOSTUNREACH);
|
||||||
|
case ERROR_SEM_TIMEOUT:
|
||||||
|
return (ISC_R_TIMEDOUT);
|
||||||
|
case WSAECONNRESET:
|
||||||
|
case WSAENETRESET:
|
||||||
|
case WSAECONNABORTED:
|
||||||
|
case WSAEDISCON:
|
||||||
|
case ERROR_OPERATION_ABORTED:
|
||||||
|
case ERROR_CONNECTION_ABORTED:
|
||||||
case ERROR_REQUEST_ABORTED:
|
case ERROR_REQUEST_ABORTED:
|
||||||
return (ISC_R_CONNECTIONRESET);
|
return (ISC_R_CONNECTIONRESET);
|
||||||
case WSAEADDRNOTAVAIL:
|
case WSAEADDRNOTAVAIL:
|
||||||
return (ISC_R_ADDRNOTAVAIL);
|
return (ISC_R_ADDRNOTAVAIL);
|
||||||
case WSAEHOSTUNREACH:
|
case ERROR_NETNAME_DELETED:
|
||||||
return (ISC_R_HOSTUNREACH);
|
case WSAENETDOWN:
|
||||||
|
return (ISC_R_NETUNREACH);
|
||||||
case WSAEHOSTDOWN:
|
case WSAEHOSTDOWN:
|
||||||
return (ISC_R_HOSTUNREACH);
|
return (ISC_R_HOSTUNREACH);
|
||||||
case WSAENETUNREACH:
|
|
||||||
return (ISC_R_NETUNREACH);
|
|
||||||
case WSAENOBUFS:
|
case WSAENOBUFS:
|
||||||
return (ISC_R_NORESOURCES);
|
return (ISC_R_NORESOURCES);
|
||||||
default:
|
default:
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2004, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||||
* Copyright (C) 1998-2001 Internet Software Consortium.
|
* Copyright (C) 1998-2001 Internet Software Consortium.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: mutex.h,v 1.19 2007/06/19 23:47:20 tbox Exp $ */
|
/* $Id: mutex.h,v 1.20 2008/09/12 04:46:25 marka Exp $ */
|
||||||
|
|
||||||
#ifndef ISC_MUTEX_H
|
#ifndef ISC_MUTEX_H
|
||||||
#define ISC_MUTEX_H 1
|
#define ISC_MUTEX_H 1
|
||||||
@@ -27,10 +27,14 @@
|
|||||||
|
|
||||||
typedef CRITICAL_SECTION isc_mutex_t;
|
typedef CRITICAL_SECTION isc_mutex_t;
|
||||||
|
|
||||||
/* This definition is here since WINBASE.H omits it for some reason */
|
/*
|
||||||
|
* This definition is here since somve versions of WINBASE.H
|
||||||
|
* omits it for some reason.
|
||||||
|
*/
|
||||||
|
#if (_WIN32_WINNT < 0x0400)
|
||||||
WINBASEAPI BOOL WINAPI
|
WINBASEAPI BOOL WINAPI
|
||||||
TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
|
TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
|
||||||
|
#endif /* _WIN32_WINNT < 0x0400 */
|
||||||
|
|
||||||
#define isc_mutex_init(mp) \
|
#define isc_mutex_init(mp) \
|
||||||
(InitializeCriticalSection((mp)), ISC_R_SUCCESS)
|
(InitializeCriticalSection((mp)), ISC_R_SUCCESS)
|
||||||
@@ -46,6 +50,6 @@ TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
|
|||||||
/*
|
/*
|
||||||
* This is a placeholder for now since we are not keeping any mutex stats
|
* This is a placeholder for now since we are not keeping any mutex stats
|
||||||
*/
|
*/
|
||||||
#define isc_mutex_stats(fp)
|
#define isc_mutex_stats(fp) do {} while (0)
|
||||||
|
|
||||||
#endif /* ISC_MUTEX_H */
|
#endif /* ISC_MUTEX_H */
|
||||||
|
@@ -248,7 +248,9 @@ isc_mem_createx
|
|||||||
isc_mem_createx2
|
isc_mem_createx2
|
||||||
isc_mem_destroy
|
isc_mem_destroy
|
||||||
isc_mem_detach
|
isc_mem_detach
|
||||||
|
isc_mem_getname
|
||||||
isc_mem_getquota
|
isc_mem_getquota
|
||||||
|
isc_mem_gettag
|
||||||
isc_mem_inuse
|
isc_mem_inuse
|
||||||
isc_mem_ondestroy
|
isc_mem_ondestroy
|
||||||
isc_mem_references
|
isc_mem_references
|
||||||
|
@@ -158,7 +158,6 @@ CLEAN :
|
|||||||
-@erase "$(INTDIR)\os.obj"
|
-@erase "$(INTDIR)\os.obj"
|
||||||
-@erase "$(INTDIR)\parseint.obj"
|
-@erase "$(INTDIR)\parseint.obj"
|
||||||
-@erase "$(INTDIR)\portset.obj"
|
-@erase "$(INTDIR)\portset.obj"
|
||||||
-@erase "$(INTDIR)\portset.obj"
|
|
||||||
-@erase "$(INTDIR)\quota.obj"
|
-@erase "$(INTDIR)\quota.obj"
|
||||||
-@erase "$(INTDIR)\random.obj"
|
-@erase "$(INTDIR)\random.obj"
|
||||||
-@erase "$(INTDIR)\ratelimiter.obj"
|
-@erase "$(INTDIR)\ratelimiter.obj"
|
||||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user