index b8e97a3c3780ec1c01cee7fc88dcd9d28bc41f2d..7bfbaa650c2888c5c30e183c89eb873768c5c8d3 100644 (file)
--- a/src/tools/sysdbd/main.c
+++ b/src/tools/sysdbd/main.c
#include "core/plugin.h"
#include "core/store.h"
#include "utils/error.h"
+#include "utils/ssl.h"
#include "frontend/connection.h"
#include "frontend/sock.h"
#endif /* ! HAVE_LIBGEN_H */
#include <errno.h>
+#include <time.h>
#include <sys/stat.h>
#include <fcntl.h>
static char *config_filename = NULL;
static int reconfigure = 0;
-static char *default_listen_addresses[] = {
- DEFAULT_SOCKET,
+static daemon_listener_t default_listen_addresses[] = {
+ { DEFAULT_SOCKET, SDB_SSL_DEFAULT_OPTIONS },
};
static void
int status = 0;
- while (42) {
+ while (status == 0) {
size_t i;
plugin_main_loop.do_loop = 1;
}
for (i = 0; i < listen_addresses_num; ++i) {
- if (sdb_fe_sock_add_listener(sock, listen_addresses[i])) {
+ if (sdb_fe_sock_add_listener(sock, listen_addresses[i].address,
+ &listen_addresses[i].ssl_opts)) {
status = 1;
break;
}
}
/* break on error */
- if (i < listen_addresses_num) {
- status = 1;
+ if (status)
break;
- }
sdb_log(SDB_LOG_INFO, "SysDB daemon "SDB_VERSION_STRING
SDB_VERSION_EXTRA " (libsysdb %s%s, pid %i) initialized "
}
/* clean up in case we exited the loop on error */
+ plugin_main_loop.do_loop = 0;
+ frontend_main_loop.do_loop = 0;
pthread_kill(backend_thread, SIGINT);
pthread_join(backend_thread, NULL);
int
main(int argc, char **argv)
{
- _Bool do_daemonize = 1;
+ bool do_daemonize = 1;
struct sigaction sa_intterm;
struct sigaction sa_hup;
if (daemonize())
exit(1);
+ if (sdb_ssl_init())
+ exit(1);
sdb_plugin_init_all();
plugin_main_loop.default_interval = SECS_TO_SDB_TIME(60);
sdb_log(SDB_LOG_INFO, "Shutting down SysDB daemon "SDB_VERSION_STRING
SDB_VERSION_EXTRA" (pid %i)", (int)getpid());
sdb_plugin_shutdown_all();
+ sdb_plugin_unregister_all();
+ sdb_ssl_shutdown();
return status;
} /* main */