mod_init(struct module *const restrict m)
{
	if (! (saslsvs = service_add("saslserv", &saslserv_message_handler)))
	{
		(void) slog(LG_ERROR, "%s: service_add() failed", m->name);
		m->mflags |= MODFLAG_FAIL;
		return;
	}

	(void) hook_add_sasl_input(&sasl_input);
	(void) hook_add_user_add(&sasl_user_add);
	(void) hook_add_server_eob(&sasl_server_eob);

	sasl_delete_stale_timer = mowgli_timer_add(base_eventloop, "sasl_delete_stale", &sasl_delete_stale, NULL, SECONDS_PER_MINUTE / 2);
	authservice_loaded++;

	(void) add_bool_conf_item("HIDE_SERVER_NAMES", &saslsvs->conf_table, 0, &sasl_hide_server_names, false);
}
mod_init(struct module *const restrict m)
{
	if (! (saslsvs = service_add("saslserv", &saslserv_message_handler)))
	{
		(void) slog(LG_ERROR, "%s: service_add() failed", m->name);
		m->mflags |= MODFLAG_FAIL;
		return;
	}

	(void) hook_add_sasl_input(&sasl_input);
	(void) hook_add_user_add(&sasl_user_add);
	(void) hook_add_server_eob(&sasl_server_eob);

	sasl_delete_stale_timer = mowgli_timer_add(base_eventloop, "sasl_delete_stale", &sasl_delete_stale, NULL, SECONDS_PER_MINUTE / 2);
	authservice_loaded++;

	(void) add_bool_conf_item("HIDE_SERVER_NAMES", &saslsvs->conf_table, 0, &sasl_hide_server_names, false);
}