/* Copyright (c) 2005-2010 Dovecot authors, see the included COPYING file */
#include "auth-common.h"
-#include "network.h"
#include "array.h"
-#include "str.h"
-#include "env-util.h"
#include "mech.h"
#include "userdb.h"
#include "passdb.h"
-#include "passdb-cache.h"
#include "auth.h"
-#include "auth-request-handler.h"
-
-#include <stdlib.h>
-#include <unistd.h>
struct auth_userdb_settings userdb_dummy_set = {
.driver = "static",
for (userdb = auth->userdbs; userdb != NULL; userdb = userdb->next)
userdb_init(userdb->userdb);
- /* caching is handled only by the main auth process */
- if (!worker)
- passdb_cache_init(auth->set);
-
auth_mech_list_verify_passdb(auth);
}
for (userdb = auth->userdbs; userdb != NULL; userdb = userdb->next)
userdb_deinit(userdb->userdb);
- auth_request_handler_deinit();
- passdb_cache_deinit();
-
pool_unref(&auth->pool);
}
#include "master-service.h"
#include "master-interface.h"
#include "password-scheme.h"
+#include "passdb-cache.h"
#include "mech.h"
#include "auth.h"
#include "auth-penalty.h"
/* workers have only a single connection from the master
auth process */
master_service_set_client_limit(master_service, 1);
+ } else {
+ /* caching is handled only by the main auth process */
+ passdb_cache_init(global_auth_settings);
}
}
auth_master_connections_deinit();
auth_worker_server_deinit();
- mech_deinit(global_auth_settings);
auths_deinit();
+ auth_request_handler_deinit();
+ passdb_cache_deinit();
+
mech_register_deinit(&mech_reg);
+ mech_deinit(global_auth_settings);
auth_penalty_deinit(&auth_penalty);
/* allow modules to unregister their dbs/drivers/etc. before freeing