mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 21:47:59 +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:
parent
94f69ca430
commit
691f1f7731
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
|
||||
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.
|
||||
|
||||
2434. [placeholder]
|
||||
2434. [bug] Fixed a minor error-reporting bug in
|
||||
lib/isc/win32/socket.c.
|
||||
|
||||
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]
|
||||
|
||||
@ -54,7 +61,12 @@
|
||||
Use caution: this option may not work for some
|
||||
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()
|
||||
should not be used for isc_sockettype_fdwatch sockets.
|
||||
|
@ -15,7 +15,7 @@
|
||||
* 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>
|
||||
|
||||
@ -64,29 +64,38 @@ isc__errno2resultx(int posixerrno, const char *file, int line) {
|
||||
case ERROR_CANCELLED:
|
||||
return (ISC_R_CANCELED);
|
||||
case ERROR_CONNECTION_REFUSED:
|
||||
case WSAECONNREFUSED:
|
||||
return (ISC_R_CONNREFUSED);
|
||||
case WSAENOTCONN:
|
||||
case ERROR_CONNECTION_INVALID:
|
||||
return (ISC_R_NOTCONNECTED);
|
||||
case ERROR_HOST_UNREACHABLE:
|
||||
case WSAEHOSTUNREACH:
|
||||
return (ISC_R_HOSTUNREACH);
|
||||
case ERROR_NETWORK_UNREACHABLE:
|
||||
case WSAENETUNREACH:
|
||||
return (ISC_R_NETUNREACH);
|
||||
case ERROR_NO_NETWORK:
|
||||
return (ISC_R_NETUNREACH);
|
||||
case ERROR_OPERATION_ABORTED:
|
||||
return (ISC_R_CONNECTIONRESET);
|
||||
case ERROR_PORT_UNREACHABLE:
|
||||
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:
|
||||
return (ISC_R_CONNECTIONRESET);
|
||||
case WSAEADDRNOTAVAIL:
|
||||
return (ISC_R_ADDRNOTAVAIL);
|
||||
case WSAEHOSTUNREACH:
|
||||
return (ISC_R_HOSTUNREACH);
|
||||
case ERROR_NETNAME_DELETED:
|
||||
case WSAENETDOWN:
|
||||
return (ISC_R_NETUNREACH);
|
||||
case WSAEHOSTDOWN:
|
||||
return (ISC_R_HOSTUNREACH);
|
||||
case WSAENETUNREACH:
|
||||
return (ISC_R_NETUNREACH);
|
||||
case WSAENOBUFS:
|
||||
return (ISC_R_NORESOURCES);
|
||||
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.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@ -15,7 +15,7 @@
|
||||
* 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
|
||||
#define ISC_MUTEX_H 1
|
||||
@ -27,10 +27,14 @@
|
||||
|
||||
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
|
||||
TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
|
||||
#endif /* _WIN32_WINNT < 0x0400 */
|
||||
|
||||
#define isc_mutex_init(mp) \
|
||||
(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
|
||||
*/
|
||||
#define isc_mutex_stats(fp)
|
||||
#define isc_mutex_stats(fp) do {} while (0)
|
||||
|
||||
#endif /* ISC_MUTEX_H */
|
||||
|
@ -248,7 +248,9 @@ isc_mem_createx
|
||||
isc_mem_createx2
|
||||
isc_mem_destroy
|
||||
isc_mem_detach
|
||||
isc_mem_getname
|
||||
isc_mem_getquota
|
||||
isc_mem_gettag
|
||||
isc_mem_inuse
|
||||
isc_mem_ondestroy
|
||||
isc_mem_references
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Microsoft Developer Studio Project File - Name="libisc" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=libisc - Win32 Debug
|
||||
|
@ -158,7 +158,6 @@ CLEAN :
|
||||
-@erase "$(INTDIR)\os.obj"
|
||||
-@erase "$(INTDIR)\parseint.obj"
|
||||
-@erase "$(INTDIR)\portset.obj"
|
||||
-@erase "$(INTDIR)\portset.obj"
|
||||
-@erase "$(INTDIR)\quota.obj"
|
||||
-@erase "$(INTDIR)\random.obj"
|
||||
-@erase "$(INTDIR)\ratelimiter.obj"
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user