--- dovecot-1.0.beta15/src/auth/passdb-pam.c.orig 2006-11-20 15:40:06.495181000 -0800 +++ dovecot-1.0.beta15/src/auth/passdb-pam.c 2006-11-20 15:42:00.364356000 -0800 @@ -59,6 +59,8 @@ typedef linux_const void *pam_item_t; # define USERPASS_USER_FIXED 3 #endif +#define PAM_PASS_SCHEME "PLAIN" + struct pam_passdb_module { struct passdb_module module; @@ -219,14 +221,6 @@ static int pam_auth(struct auth_request } } - status = pam_get_item(pamh, PAM_USER, (linux_const void **)&item); - if (status != PAM_SUCCESS) { - *error = t_strdup_printf("pam_get_item() failed: %s", - pam_strerror(pamh, status)); - return status; - } - auth_request_set_field(request, "user", item, NULL); - return PAM_SUCCESS; } @@ -474,10 +468,11 @@ pam_preinit(struct auth_passdb *auth_pas return &module->module; } -static void pam_init(struct passdb_module *_module __attr_unused__, +static void pam_init(struct passdb_module *_module, const char *args __attr_unused__) { lib_signals_set_handler(SIGCHLD, TRUE, sigchld_handler, NULL); + _module->default_pass_scheme = PAM_PASS_SCHEME; } static void pam_deinit(struct passdb_module *_module __attr_unused__)