mirror of
https://github.com/isc-projects/bind9.git
synced 2026-07-16 17:32:50 -04:00
2425. [bug] named didn't detect unavailable query source addresses
at load time. [RT #18536]
This commit is contained in:
parent
e6a6d0778c
commit
ebacb7908a
2 changed files with 21 additions and 1 deletions
3
CHANGES
3
CHANGES
|
|
@ -1,3 +1,6 @@
|
|||
2425. [bug] named didn't detect unavailable query source addresses
|
||||
at load time. [RT #18536]
|
||||
|
||||
2424. [port] configure now probes for a working epoll
|
||||
implementation. Allow the use of kqueue,
|
||||
epoll and /dev/poll to be selected at compile
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dispatch.c,v 1.152 2008/08/15 17:47:18 jinmei Exp $ */
|
||||
/* $Id: dispatch.c,v 1.153 2008/08/26 02:04:20 jinmei Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
|
@ -2654,6 +2654,23 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr,
|
|||
0xffffU);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto deallocate_dispatch;
|
||||
} else {
|
||||
isc_sockaddr_t sa_any;
|
||||
|
||||
/*
|
||||
* For dispatches using exclusive sockets with a specific
|
||||
* source address, we only check if the specified address is
|
||||
* available on the system. Query sockets will be created later
|
||||
* on demand.
|
||||
*/
|
||||
isc_sockaddr_anyofpf(&sa_any, isc_sockaddr_pf(localaddr));
|
||||
if (!isc_sockaddr_eqaddr(&sa_any, localaddr)) {
|
||||
result = open_socket(sockmgr, localaddr, 0, &sock);
|
||||
if (sock != NULL)
|
||||
isc_socket_detach(&sock);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto deallocate_dispatch;
|
||||
}
|
||||
}
|
||||
disp->socktype = isc_sockettype_udp;
|
||||
disp->socket = sock;
|
||||
|
|
|
|||
Loading…
Reference in a new issue