userdb-passwd.c revision 08d6658a4e2ec8104cd1307f6baa75fdb07a24f8
45312f52ff3a3d4c137447be4c7556500c2f8bf2Timo Sirainen/* Copyright (c) 2002-2009 Dovecot authors, see the included COPYING file */
3b94ff5951db4d4eddb7a80ed4e3f61207202635Timo Sirainenstatic void passwd_lookup(struct auth_request *auth_request,
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen struct userdb_module *_module = auth_request->userdb->userdb;
00bde9ae9eab9e720462bf6ec9a4dd85e88c3bbfTimo Sirainen auth_request_log_debug(auth_request, "passwd", "lookup");
49e513d090753ccbf95560b2f3a21f081a5b6c51Timo Sirainen auth_request_log_info(auth_request, "passwd", "unknown user");
6fabfb7bbfd88d0c1de66981e52850f26067623bTimo Sirainen callback(USERDB_RESULT_USER_UNKNOWN, auth_request);
6fabfb7bbfd88d0c1de66981e52850f26067623bTimo Sirainen auth_request_set_field(auth_request, "user", pw->pw_name, NULL);
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen userdb_static_template_export(module->tmpl, auth_request);
312d3129573fc63ba0d39105b68daccfab9f0c8fTimo Sirainen /* FIXME: the system_user is for backwards compatibility */
312d3129573fc63ba0d39105b68daccfab9f0c8fTimo Sirainen if (!userdb_static_template_isset(module->tmpl, "system_groups_user") &&
312d3129573fc63ba0d39105b68daccfab9f0c8fTimo Sirainen !userdb_static_template_isset(module->tmpl, "system_user")) {
312d3129573fc63ba0d39105b68daccfab9f0c8fTimo Sirainen "system_groups_user",
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen if (!userdb_static_template_isset(module->tmpl, "uid")) {
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen if (!userdb_static_template_isset(module->tmpl, "gid")) {
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen if (!userdb_static_template_isset(module->tmpl, "home"))
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen auth_request_set_userdb_field(auth_request, "home", pw->pw_dir);
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainenpasswd_passwd_preinit(struct auth_userdb *auth_userdb, const char *args)
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen module = p_new(auth_userdb->auth->pool, struct passwd_userdb_module, 1);
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen module->tmpl = userdb_static_template_build(auth_userdb->auth->pool,
40eb305d9b12cf48400fe3806a8a15ad6d372952Timo Sirainen if (userdb_static_template_remove(module->tmpl, "blocking",
b42f37ae6f65ed986315b6885568d32115e589b1Timo Sirainenstruct userdb_module_interface userdb_passwd = {