#include "ostream.h"
#include "strescape.h"
#include "settings-parser.h"
+#include "settings.h"
#include "iostream-ssl.h"
#include "iostream-temp.h"
#include "istream-seekable.h"
* Server
*/
-void doveadm_http_server_init(struct event *event)
+void doveadm_http_server_init(struct event *parent_event)
{
- struct http_server_settings http_set;
-
- http_server_settings_init(null_pool, &http_set);
- http_set.rawlog_dir = doveadm_settings->doveadm_http_rawlog_dir;
+ const char *error;
- doveadm_http_server = http_server_init(&http_set, event);
+ struct event *event = event_create(parent_event);
+ event_set_ptr(event, SETTINGS_EVENT_FILTER_NAME, DOVEADM_SERVER_FILTER);
+ if (http_server_init_auto(event, &doveadm_http_server, &error) < 0)
+ i_fatal("http_server_init() failed: %s", error);
+ event_unref(&event);
}
void doveadm_http_server_deinit(void)
#include "doveadm-print.h"
#include "doveadm-protocol.h"
#include "client-connection-private.h"
+#include "settings.h"
#include <unistd.h>
pool = pool_alloconly_create("doveadm client", 1024*16);
conn = p_new(pool, struct client_connection_tcp, 1);
conn->conn.event = event_create(NULL);
+ event_set_ptr(conn->conn.event, SETTINGS_EVENT_FILTER_NAME,
+ DOVEADM_SERVER_FILTER);
event_set_append_log_prefix(conn->conn.event, "tcp: ");
conn->fd = fd;
DEF(STR, doveadm_api_key),
DEF(STR, dsync_features),
DEF(UINT, dsync_commit_msgs_interval),
- DEF(STR, doveadm_http_rawlog_dir),
DEF(STR_HIDDEN, dsync_hashed_headers),
+ { .type = SET_FILTER_NAME, .key = DOVEADM_SERVER_FILTER },
+
{ .type = SET_STRLIST, .key = "plugin",
.offset = offsetof(struct doveadm_settings, plugin_envs) },
.dsync_hashed_headers = "Date Message-ID",
.dsync_commit_msgs_interval = 100,
.doveadm_api_key = "",
- .doveadm_http_rawlog_dir = "",
.plugin_envs = ARRAY_INIT
};
DSYNC_FEATURE_EMPTY_HDR_WORKAROUND = 0x1,
DSYNC_FEATURE_NO_HEADER_HASHES = 0x2,
};
+
+#define DOVEADM_SERVER_FILTER "doveadm_server"
/* </settings checks> */
struct doveadm_settings {
const char *dsync_features;
const char *dsync_hashed_headers;
unsigned int dsync_commit_msgs_interval;
- const char *doveadm_http_rawlog_dir;
enum dsync_features parsed_features;
ARRAY(const char *) plugin_envs;
};