comparison src/http/ngx_http_core_module.h @ 7638:681b78a98a52

The new auth_delay directive for delaying unauthorized requests. The request processing is delayed by a timer. Since nginx updates internal time once at the start of each event loop iteration, this normally ensures constant time delay, adding a mitigation from time-based attacks. A notable exception to this is the case when there are no additional events before the timer expires. To ensure constant-time processing in this case as well, we trigger an additional event loop iteration by posting a dummy event for the next event loop iteration.
author Ruslan Ermilov <ru@nginx.com>
date Wed, 08 Apr 2020 01:02:17 +0300
parents c19ca381b2e6
children fdc3d40979b0 5b7ec588de48
comparison
equal deleted inserted replaced
7637:0cb942c1c1aa 7638:681b78a98a52
361 ngx_msec_t send_timeout; /* send_timeout */ 361 ngx_msec_t send_timeout; /* send_timeout */
362 ngx_msec_t keepalive_timeout; /* keepalive_timeout */ 362 ngx_msec_t keepalive_timeout; /* keepalive_timeout */
363 ngx_msec_t lingering_time; /* lingering_time */ 363 ngx_msec_t lingering_time; /* lingering_time */
364 ngx_msec_t lingering_timeout; /* lingering_timeout */ 364 ngx_msec_t lingering_timeout; /* lingering_timeout */
365 ngx_msec_t resolver_timeout; /* resolver_timeout */ 365 ngx_msec_t resolver_timeout; /* resolver_timeout */
366 ngx_msec_t auth_delay; /* auth_delay */
366 367
367 ngx_resolver_t *resolver; /* resolver */ 368 ngx_resolver_t *resolver; /* resolver */
368 369
369 time_t keepalive_header; /* keepalive_timeout */ 370 time_t keepalive_header; /* keepalive_timeout */
370 371