From c00c6386b45a9840c724bbae620807921c5b715f Mon Sep 17 00:00:00 2001 From: Phil Carmody Date: Tue, 19 Jun 2018 13:28:12 +0300 Subject: [PATCH] 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 --- src/lib-http/http-client.c | 8 ++++++-- src/lib-http/http-server.c | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) 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; -- 2.47.3