From: Phil Carmody Date: Tue, 19 Jun 2018 10:28:12 +0000 (+0300) Subject: lib-http: change default client/server pool sizes when using SSL X-Git-Tag: 2.3.9~1493 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c00c6386b45a9840c724bbae620807921c5b715f;p=thirdparty%2Fdovecot%2Fcore.git lib-http: change default client/server pool sizes when using SSL SSL carries a lot of state with it, so just start with a bigger pool if we know we're using it. Signed-off-by: Phil Carmody --- diff --git a/src/lib-http/http-client.c b/src/lib-http/http-client.c index d25902a0d3..4c724513d2 100644 --- a/src/lib-http/http-client.c +++ b/src/lib-http/http-client.c @@ -106,8 +106,10 @@ http_client_init_shared(struct http_client_context *cctx, struct http_client *client; const char *log_prefix; pool_t pool; + size_t pool_size; - pool = pool_alloconly_create("http client", 1024); + pool_size = (set != NULL && set->ssl != NULL) ? 8192 : 1024; /* certs will be >4K */ + pool = pool_alloconly_create("http client", pool_size); client = p_new(pool, struct http_client, 1); client->pool = pool; client->ioloop = current_ioloop; @@ -429,8 +431,10 @@ http_client_context_create(const struct http_client_settings *set) { struct http_client_context *cctx; pool_t pool; + size_t pool_size; - pool = pool_alloconly_create("http client context", 1024); + pool_size = (set->ssl != NULL) ? 8192 : 1024; /* certs will be >4K */ + pool = pool_alloconly_create("http client context", pool_size); cctx = p_new(pool, struct http_client_context, 1); cctx->pool = pool; cctx->refcount = 1; diff --git a/src/lib-http/http-server.c b/src/lib-http/http-server.c index e94b29b4f3..52940e8045 100644 --- a/src/lib-http/http-server.c +++ b/src/lib-http/http-server.c @@ -24,8 +24,10 @@ struct http_server *http_server_init(const struct http_server_settings *set) { struct http_server *server; pool_t pool; + size_t pool_size; - pool = pool_alloconly_create("http server", 1024); + pool_size = (set->ssl != NULL) ? 10240 : 1024; /* ca/cert/key will be >8K */ + pool = pool_alloconly_create("http server", pool_size); server = p_new(pool, struct http_server, 1); server->pool = pool;