From: Timo Sirainen Date: Mon, 25 Feb 2013 18:04:10 +0000 (+0200) Subject: login: Don't fail at startup by trying to load SSL plugin. X-Git-Tag: 2.2.rc2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b5c520883aa37bb55646286d375fdbae294d710;p=thirdparty%2Fdovecot%2Fcore.git login: Don't fail at startup by trying to load SSL plugin. --- diff --git a/src/lib-master/master-service.c b/src/lib-master/master-service.c index 2220f2a984..e118c4f1b9 100644 --- a/src/lib-master/master-service.c +++ b/src/lib-master/master-service.c @@ -442,7 +442,8 @@ void master_service_init_finish(struct master_service *service) master_status_error, service); } master_service_io_listeners_add(service); - if (service->want_ssl_settings) + if (service->want_ssl_settings && + (service->flags & MASTER_SERVICE_FLAG_NO_SSL_INIT) == 0) master_service_ssl_ctx_init(service); if ((service->flags & MASTER_SERVICE_FLAG_STD_CLIENT) != 0) { diff --git a/src/lib-master/master-service.h b/src/lib-master/master-service.h index 37b38e9dd8..1201322a7f 100644 --- a/src/lib-master/master-service.h +++ b/src/lib-master/master-service.h @@ -26,7 +26,9 @@ enum master_service_flags { /* SSL settings are always looked up when we have ssl listeners. This flag enables looking up SSL settings even without ssl listeners (i.e. the service does STARTTLS). */ - MASTER_SERVICE_FLAG_USE_SSL_SETTINGS = 0x200 + MASTER_SERVICE_FLAG_USE_SSL_SETTINGS = 0x200, + /* Don't initialize SSL context automatically. */ + MASTER_SERVICE_FLAG_NO_SSL_INIT = 0x400 }; struct master_service_connection { diff --git a/src/login-common/main.c b/src/login-common/main.c index 643fb406e3..0c95949188 100644 --- a/src/login-common/main.c +++ b/src/login-common/main.c @@ -365,7 +365,8 @@ int login_binary_run(const struct login_binary *binary, enum master_service_flags service_flags = MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN | MASTER_SERVICE_FLAG_TRACK_LOGIN_STATE | - MASTER_SERVICE_FLAG_USE_SSL_SETTINGS; + MASTER_SERVICE_FLAG_USE_SSL_SETTINGS | + MASTER_SERVICE_FLAG_NO_SSL_INIT; pool_t set_pool; bool allow_core_dumps = FALSE; const char *login_socket;