#include "settings-parser.h"
#include "service-settings.h"
#include "mail-storage-settings.h"
+#include "master-service.h"
+#include "master-service-ssl-settings.h"
+#include "iostream-ssl.h"
#include "doveadm-settings.h"
static bool doveadm_settings_check(void *_set, pool_t pool, const char **error_r);
DEF(SET_STR, doveadm_allowed_commands),
DEF(SET_STR, dsync_alt_char),
DEF(SET_STR, dsync_remote_cmd),
- DEF(SET_STR, ssl_client_ca_dir),
- DEF(SET_STR, ssl_client_ca_file),
DEF(SET_STR, director_username_hash),
DEF(SET_STR, doveadm_api_key),
DEF(SET_STR, dsync_features),
.dsync_features = "",
.dsync_hashed_headers = "Date Message-ID",
.dsync_commit_msgs_interval = 100,
- .ssl_client_ca_dir = "",
- .ssl_client_ca_file = "",
.director_username_hash = "%Lu",
.doveadm_api_key = "",
.doveadm_http_rawlog_dir = "",
return TRUE;
}
/* </settings checks> */
+
+void doveadm_get_ssl_settings(struct ssl_iostream_settings *set_r, pool_t pool)
+{
+ const struct master_service_ssl_settings *ssl_set =
+ master_service_ssl_settings_get(master_service);
+ i_zero(set_r);
+ master_service_ssl_settings_to_iostream_set(ssl_set, pool,
+ MASTER_SERVICE_SSL_SETTINGS_TYPE_CLIENT,
+ set_r);
+}
const char *doveadm_allowed_commands;
const char *dsync_alt_char;
const char *dsync_remote_cmd;
- const char *ssl_client_ca_dir;
- const char *ssl_client_ca_file;
const char *director_username_hash;
const char *doveadm_api_key;
const char *dsync_features;
extern const struct setting_parser_info doveadm_setting_parser_info;
extern struct doveadm_settings *doveadm_settings;
extern const struct master_service_settings *service_set;
+struct ssl_iostream_settings;
+
+void doveadm_get_ssl_settings(struct ssl_iostream_settings *set_r, pool_t pool);
#endif
#include "dict.h"
#include "master-service-private.h"
#include "master-service-settings.h"
+#include "master-service-ssl-settings.h"
#include "settings-parser.h"
#include "doveadm-print-private.h"
#include "doveadm-dump.h"
static void doveadm_read_settings(void)
{
static const struct setting_parser_info *set_roots[] = {
+ &master_service_ssl_setting_parser_info,
&doveadm_setting_parser_info,
NULL
};
service_set, pool_datastack_create());
doveadm_verbose_proctitle = service_set->verbose_proctitle;
- set = master_service_settings_get_others(master_service)[0];
+ set = master_service_settings_get_others(master_service)[1];
doveadm_settings = settings_dup(&doveadm_setting_parser_info, set,
pool_datastack_create());
enum master_service_flags service_flags =
MASTER_SERVICE_FLAG_STANDALONE |
MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN |
+ MASTER_SERVICE_FLAG_USE_SSL_SETTINGS |
+ MASTER_SERVICE_FLAG_NO_SSL_INIT |
MASTER_SERVICE_FLAG_NO_INIT_DATASTACK_FRAME;
struct doveadm_cmd_context cctx;
const char *cmd_name;
#include "process-title.h"
#include "master-service.h"
#include "master-service-settings.h"
+#include "master-service-ssl-settings.h"
#include "settings-parser.h"
#include "dict.h"
#include "doveadm.h"
{
doveadm_server = TRUE;
doveadm_settings_pool = pool_alloconly_create("doveadm settings", 1024);
- doveadm_settings = master_service_settings_get_others(master_service)[0];
+ doveadm_settings = master_service_settings_get_others(master_service)[1];
doveadm_settings = settings_dup(&doveadm_setting_parser_info,
doveadm_settings, doveadm_settings_pool);
doveadm_verbose_proctitle =
int main(int argc, char *argv[])
{
const struct setting_parser_info *set_roots[] = {
+ &master_service_ssl_setting_parser_info,
&doveadm_setting_parser_info,
NULL
};