Pasi Sjoholm
2005-Feb-02 21:39 UTC
[Dovecot] Dovecot doesn't call pam_open_session, thus dodging pam_mkhomedir (fwd)
On Tue, 1 Feb 2005, it was written:> Nicolas Lopez wrote: > > maildir and most of my accounts in LDAP. Since the accounts are created > > through a web interface on another server home directories on the mail > > server don't get created automatically. There's the handy pam module > > pam_mkhomedir.so to automagically create home directories, but > > unfortunatly Dovecot wasn't calling pam_open_session to run the session > > setup pam modules. I made a small patch to passdb-pam.c to call > > pam_open_session between pam_acct_mgmt and pam_get_item and now I my > > home dirs are automagically created and everyone is happy. > > So, I figured I'd share the little patch in case someone else finds it > > useful. My patch doesn't properly close the session which will probably > > iritate more advanced session modules that actually have something to > > clean up, oh well.This patch closes the session.. but you will see many "opened session\n closed session"-lines on your log files. =) --cut-- --- src/auth/passdb-pam.c-org 2004-10-07 08:38:28.000000000 +0300 +++ src/auth/passdb-pam.c 2004-10-07 08:38:59.000000000 +0300 @@ -193,6 +193,18 @@ return status; } + if ((status = pam_open_session(pamh, 0)) != PAM_SUCCESS) { + *error = t_strdup_printf("pam_open_session(%s) failed: %s", + user, pam_strerror(pamh, status)); + return status; + } + + if ((status = pam_close_session(pamh, 0)) != PAM_SUCCESS) { + *error = t_strdup_printf("pam_close_session(%s) failed: %s", + user, pam_strerror(pamh, status)); + return status; + } + status = pam_get_item(pamh, PAM_USER, (linux_const void **)&item); if (status != PAM_SUCCESS) { *error = t_strdup_printf("pam_get_item(%s) failed: %s", --cut--> I am running dovecot-0.99.13 on FC2 with pam_mkhomedir, and it has been > working fine. Not sure why you are having a problem. If I could just > figure out how to get Exim to do the same, I'd be happy :-)I think that Fedora has probably patched that version of dovecot which they are providing. -- Pasi Sj?holm
Possibly Parallel Threads
- Dovecot doesn't call pam_open_session, thus dodging pam_mkhomedir
- Re: Dovecot doesn't call pam_open_session, thus dodging
- RE: Dovecot doesn't call pam_open_session, thus dodging
- [s-x86] OpenSSH 1.2pre14 fails on pam_open_session() ...
- OpenSSH 1.2pre14 fails on pam_open_session() ...