Skip to content

Commit

Permalink
lib-master: Add own boolean for SSL module loading
Browse files Browse the repository at this point in the history
want_ssl_settings isn't reliable enough.
  • Loading branch information
cmouse committed Aug 7, 2018
1 parent 946dd1b commit 1c71702
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
1 change: 1 addition & 0 deletions src/lib-master/master-service-private.h
Expand Up @@ -85,6 +85,7 @@ struct master_service {
bool ssl_ctx_initialized:1;
bool config_path_from_master:1;
bool log_initialized:1;
bool ssl_module_loaded:1;
};

void master_service_io_listeners_add(struct master_service *service);
Expand Down
9 changes: 6 additions & 3 deletions src/lib-master/master-service.c
Expand Up @@ -263,8 +263,11 @@ master_service_init(const char *name, enum master_service_flags flags,

#ifdef HAVE_SSL
/* load SSL module if necessary */
if (service->want_ssl_settings && ssl_module_load(&error) < 0)
i_fatal("Cannot load SSL module: %s", error);
if (service->want_ssl_settings) {
if (ssl_module_load(&error) < 0)
i_fatal("Cannot load SSL module: %s", error);
service->ssl_module_loaded = TRUE;
}
#endif

/* set up some kind of logging until we know exactly how and where
Expand Down Expand Up @@ -1277,5 +1280,5 @@ bool version_string_verify_full(const char *line, const char *service_name,
bool master_service_is_ssl_module_loaded(struct master_service *service)
{
/* if this is TRUE, then ssl module is loaded by init */
return service->want_ssl_settings;
return service->ssl_module_loaded;
}

0 comments on commit 1c71702

Please sign in to comment.