bool call_avail_overflow:1;
bool config_path_changed_with_param:1;
bool want_ssl_settings:1;
+ bool want_ssl_server:1;
bool ssl_ctx_initialized:1;
bool config_path_from_master:1;
bool log_initialized:1;
}
}
}
- service->want_ssl_settings = have_ssl_sockets ||
- (service->flags & (MASTER_SERVICE_FLAG_USE_SSL_SETTINGS |
- MASTER_SERVICE_FLAG_HAVE_STARTTLS)) != 0;
+ service->want_ssl_server = have_ssl_sockets ||
+ (service->flags & MASTER_SERVICE_FLAG_HAVE_STARTTLS) != 0;
+ service->want_ssl_settings = service->want_ssl_server ||
+ (service->flags & MASTER_SERVICE_FLAG_USE_SSL_SETTINGS) != 0;
}
struct master_service *
lib_signals_set_handler(SIGQUIT, 0, sig_close_listeners, service);
}
master_service_io_listeners_add(service);
- if (service->want_ssl_settings &&
+ if (service->want_ssl_server &&
(service->flags & MASTER_SERVICE_FLAG_NO_SSL_INIT) == 0)
master_service_ssl_ctx_init(service);
/* Show number of connections in process title
(only if verbose_proctitle setting is enabled) */
MASTER_SERVICE_FLAG_UPDATE_PROCTITLE = 0x100,
- /* 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). */
+ /* Always read SSL settings into memory, even if there are no ssl
+ listeners or _HAVE_STARTTLS flag hasn't been set. This is mainly
+ intended to be used when SSL client settings are wanted to be
+ accessed via lib-master. */
MASTER_SERVICE_FLAG_USE_SSL_SETTINGS = 0x200,
/* Don't initialize SSL context automatically. */
MASTER_SERVICE_FLAG_NO_SSL_INIT = 0x400,