-I$(top_srcdir)/src/lib-settings \
-I$(top_srcdir)/src/lib-master \
-I$(top_srcdir)/src/lib-http \
+ -I$(top_srcdir)/src/lib-ssl-iostream \
$(BINARY_CFLAGS)
stats_LDADD = $(LIBDOVECOT) \
+ $(DOVECOT_SSL_LIBS) \
$(BINARY_LDFLAGS)
-stats_DEPENDENCIES = $(LIBDOVECOT_DEPS)
+stats_DEPENDENCIES = \
+ $(DOVECOT_SSL_LIBS) \
+ $(LIBDOVECOT_DEPS)
stats_SOURCES = \
client-reader.c \
#include "str.h"
#include "event-exporter.h"
#include "http-client.h"
+#include "iostream-ssl.h"
+#include "master-service.h"
+#include "master-service-ssl-settings.h"
/* the http client used to export all events with exporter=http-post */
static struct http_client *exporter_http_client;
const buffer_t *buf)
{
struct http_client_request *req;
- const struct http_client_settings set = {
- .dns_client_socket_path = "dns-client",
- };
- if (exporter_http_client == NULL)
+ if (exporter_http_client == NULL) {
+ const struct master_service_ssl_settings *master_ssl_set =
+ master_service_ssl_settings_get(master_service);
+ struct ssl_iostream_settings ssl_set;
+ i_zero(&ssl_set);
+ if (master_ssl_set != NULL) {
+ master_service_ssl_settings_to_iostream_set(master_ssl_set,
+ pool_datastack_create(),
+ MASTER_SERVICE_SSL_SETTINGS_TYPE_CLIENT,
+ &ssl_set);
+ }
+ const struct http_client_settings set = {
+ .dns_client_socket_path = "dns-client",
+ .ssl = &ssl_set,
+ };
exporter_http_client = http_client_init(&set);
+ }
req = http_client_request_url_str(exporter_http_client, "POST",
exporter->transport_args,
NULL
};
const enum master_service_flags service_flags =
+ MASTER_SERVICE_FLAG_USE_SSL_SETTINGS |
+ MASTER_SERVICE_FLAG_NO_SSL_INIT |
MASTER_SERVICE_FLAG_DONT_SEND_STATS |
MASTER_SERVICE_FLAG_NO_IDLE_DIE |
MASTER_SERVICE_FLAG_UPDATE_PROCTITLE;