*) Upstream keepalive: detect duplicate "keepalive" directive. A
failure to detect duplicate "keepalive" directive resulted in
stack exhaustion.
*) Events: added check for duplicate "events" directive.
ngx_conf_t pcf;
ngx_event_module_t *m;
+ if (*(void **) conf) {
+ return "is duplicate";
+ }
+
/* count the number of the event modules and set up their indices */
ngx_event_max_module = 0;
kcf = ngx_http_conf_upstream_srv_conf(uscf,
ngx_http_upstream_keepalive_module);
+ if (kcf->original_init_upstream) {
+ return "is duplicate";
+ }
+
kcf->original_init_upstream = uscf->peer.init_upstream
? uscf->peer.init_upstream
: ngx_http_upstream_init_round_robin;