diff options
Diffstat (limited to 'usr.sbin/nsd/rrl.c')
-rw-r--r-- | usr.sbin/nsd/rrl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/nsd/rrl.c b/usr.sbin/nsd/rrl.c index 8358ea57d70..2a7ca4f05b7 100644 --- a/usr.sbin/nsd/rrl.c +++ b/usr.sbin/nsd/rrl.c @@ -449,7 +449,9 @@ int rrl_process_query(query_type* query) query_state_type rrl_slip(query_type* query) { /* discard number the packets, randomly */ -#ifdef HAVE_ARC4RANDOM +#ifdef HAVE_ARC4RANDOM_UNIFORM + if((rrl_slip_ratio > 0) && ((rrl_slip_ratio == 1) || ((arc4random_uniform(rrl_slip_ratio)) == 0))) { +#elif HAVE_ARC4RANDOM if((rrl_slip_ratio > 0) && ((rrl_slip_ratio == 1) || ((arc4random() % rrl_slip_ratio) == 0))) { #else if((rrl_slip_ratio > 0) && ((rrl_slip_ratio == 1) || ((random() % rrl_slip_ratio) == 0))) { |