mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
2375. [security] Fully randomize UDP query ports to improve
forgery resilience. [RT #17949, #18098]
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: app.c,v 1.57 2008/01/18 23:46:58 tbox Exp $ */
|
||||
/* $Id: app.c,v 1.58 2008/06/23 19:41:19 jinmei Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
#include <sys/time.h>
|
||||
#ifdef HAVE_EPOLL
|
||||
#include <sys/epoll.h>
|
||||
#endif
|
||||
|
||||
#include <isc/app.h>
|
||||
#include <isc/boolean.h>
|
||||
@@ -303,8 +306,7 @@ evloop() {
|
||||
int n;
|
||||
isc_time_t when, now;
|
||||
struct timeval tv, *tvp;
|
||||
fd_set readfds, writefds;
|
||||
int maxfd;
|
||||
isc_socketwait_t *swait;
|
||||
isc_boolean_t readytasks;
|
||||
isc_boolean_t call_timer_dispatch = ISC_FALSE;
|
||||
|
||||
@@ -331,8 +333,8 @@ evloop() {
|
||||
}
|
||||
}
|
||||
|
||||
isc__socketmgr_getfdsets(&readfds, &writefds, &maxfd);
|
||||
n = select(maxfd, &readfds, &writefds, NULL, tvp);
|
||||
swait = NULL;
|
||||
n = isc__socketmgr_waitevents(tvp, &swait);
|
||||
|
||||
if (n == 0 || call_timer_dispatch) {
|
||||
/*
|
||||
@@ -352,8 +354,7 @@ evloop() {
|
||||
isc__timermgr_dispatch();
|
||||
}
|
||||
if (n > 0)
|
||||
(void)isc__socketmgr_dispatch(&readfds, &writefds,
|
||||
maxfd);
|
||||
(void)isc__socketmgr_dispatch(swait);
|
||||
(void)isc__taskmgr_dispatch();
|
||||
|
||||
if (want_reload) {
|
||||
|
Reference in New Issue
Block a user