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->set = p_new(pool, struct http_server_settings, 1);
server->pool = pool;
- if (server->set.pool == NULL)
- server->set.pool = null_pool;
+ if (server->set->pool == NULL)
+ server->set->pool = null_pool;
if (set->default_host != NULL && *set->default_host != '\0')
- server->set.default_host = p_strdup(pool, set->default_host);
+ server->set->default_host = p_strdup(pool, set->default_host);
if (set->rawlog_dir != NULL && *set->rawlog_dir != '\0')
- server->set.rawlog_dir = p_strdup(pool, set->rawlog_dir);
+ server->set->rawlog_dir = p_strdup(pool, set->rawlog_dir);
if (set->ssl != NULL) {
- server->set.ssl = set->ssl;
- pool_ref(server->set.ssl->pool);
+ server->set->ssl = set->ssl;
+ pool_ref(server->set->ssl->pool);
}
- server->set.max_client_idle_time_msecs = set->max_client_idle_time_msecs;
- server->set.max_pipelined_requests =
+ server->set->max_client_idle_time_msecs = set->max_client_idle_time_msecs;
+ server->set->max_pipelined_requests =
(set->max_pipelined_requests > 0 ? set->max_pipelined_requests : 1);
- server->set.request_max_target_length = set->request_max_target_length;
- server->set.request_max_payload_size = set->request_max_payload_size;
- server->set.request_hdr_max_size = set->request_hdr_max_size;
- server->set.request_hdr_max_field_size = set->request_hdr_max_field_size;
- server->set.request_hdr_max_fields = set->request_hdr_max_fields;
- server->set.socket_send_buffer_size = set->socket_send_buffer_size;
- server->set.socket_recv_buffer_size = set->socket_recv_buffer_size;
+ server->set->request_max_target_length = set->request_max_target_length;
+ server->set->request_max_payload_size = set->request_max_payload_size;
+ server->set->request_hdr_max_size = set->request_hdr_max_size;
+ server->set->request_hdr_max_field_size = set->request_hdr_max_field_size;
+ server->set->request_hdr_max_fields = set->request_hdr_max_fields;
+ server->set->socket_send_buffer_size = set->socket_send_buffer_size;
+ server->set->socket_recv_buffer_size = set->socket_recv_buffer_size;
server->event = event_create(event_parent);
event_add_category(server->event, &event_category_http_server);
http_server_resource_free(&res);
i_assert(array_count(&server->locations) == 0);
- settings_free(server->set.ssl);
+ settings_free(server->set->ssl);
event_unref(&server->event);
pool_unref(&server->pool);
}