ah: reuse at end of transaction has no timeout

If we complete a transaction but end up keeping the ah, we must force
a timeout on it.  Otherwise a bad bot could keep the socket open and
exhaust the ah pool.
This commit is contained in:
Andy Green 2017-08-15 07:58:53 +08:00
parent b93c057472
commit 5da9ce2f06

View file

@ -1889,8 +1889,17 @@ lws_http_transaction_completed(struct lws *wsi)
return 1;
}
#endif
} else
} else {
lws_header_table_reset(wsi, 1);
/*
* If we kept the ah, we should restrict the amount
* of time we are willing to keep it. Otherwise it
* will be bound the whole time the connection remains
* open.
*/
lws_set_timeout(wsi, PENDING_TIMEOUT_HOLDING_AH,
wsi->vhost->keepalive_timeout);
}
}
/* If we're (re)starting on headers, need other implied init */