Skip to content

Commit 5b1edb7

Browse files
committed
Merge r1933351 from trunk:
ocsp limits git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1933352 13f79535-47bb-0310-9956-ffa450edef68
1 parent 05e6c50 commit 5b1edb7

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

modules/md/md_ocsp.c

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,21 @@
4646
#include "md_ocsp.h"
4747

4848
#define MD_OCSP_ID_LENGTH SHA_DIGEST_LENGTH
49-
49+
50+
/* Max acceptable OCSP response size (DER-encoded responses are typically <2 KiB) */
51+
#define MD_OCSP_MAX_RESPONSE_LEN (64 * 1024)
52+
/* Timeout for OCSP responses */
53+
#define MD_OCSP_DEFAULT_TIMEOUT apr_time_from_sec(60)
54+
/* Timeout for connecting to OCSP servers */
55+
#define MD_OCSP_CONNECT_TIMEOUT apr_time_from_sec(30)
56+
/*
57+
* Below this throughput in bytes per second an OCSP response is regarded as
58+
* stalled.
59+
*/
60+
#define MD_OCSP_STALLING_BYTES 10
61+
/* Maximum duration for a stalled period during an OCSP response */
62+
#define MD_OCSP_STALLING_TIME apr_time_from_sec(30)
63+
5064
struct md_ocsp_reg_t {
5165
apr_pool_t *p;
5266
md_store_t *store;
@@ -901,6 +915,12 @@ void md_ocsp_renew(md_ocsp_reg_t *reg, apr_pool_t *p, apr_pool_t *ptemp, apr_tim
901915

902916
rv = md_http_create(&http, ptemp, reg->user_agent, reg->proxy_url);
903917
if (APR_SUCCESS != rv) goto cleanup;
918+
919+
md_http_set_response_limit(http, MD_OCSP_MAX_RESPONSE_LEN);
920+
md_http_set_timeout_default(http, MD_OCSP_DEFAULT_TIMEOUT);
921+
md_http_set_connect_timeout_default(http, MD_OCSP_CONNECT_TIMEOUT);
922+
md_http_set_stalling_default(http, MD_OCSP_STALLING_BYTES,
923+
MD_OCSP_STALLING_TIME);
904924

905925
rv = md_http_multi_perform(http, next_todo, &ctx);
906926

0 commit comments

Comments
 (0)