On Sep 30, 2008, at 6:08 PM, Sascha Wilde wrote:

Is there a %%h, too?  So that, if we have

 mail_location = maildir:~
..
Another (more specific) problem in this context: Is is it possible to determine a users home calling an external program like checkpassword?
This would be needed in an setup, where the users $HOME is set by an
checkpassword program to an compute value, to access another users
mailbox.

This would require doing a userdb lookup from dovecot-auth the same way
as deliver or expire-tool does it.

I'm not quite sure what you mean by "this" here, are you referring to
the proposed `%%h' variable, too or only to my more specific problem
with computer HOME paths?

I think it's the same thing.

So sure it'd be possible, but I'm not
really interested in implementing it yet. I think expire-tool is
currently using copy&pasted code from deliver, those could be merged
into some library function and then the namespace code could easily use
the same function.

But is deliver currently able to utilize an external program to
get user data?

deliver will do the userdb lookup from dovecot-auth, which in turn can use the external program.

So I guess what is needed is a new userdb backend which is explicitly
runs an arbitrary external program to get the user data (instead of
caching the passdb results).

Right. Perhaps the passdb checkpassword code could be used as userdb too, just with an added extra variable specifying if it's a passdb or a userdb lookup. Or maybe instead of sending "user \0 pass \0" it'd just send "user". I'm not really sure. In any case I think the reply should be handled somewhat differently so that the checkpassword can't accidentally think it's doing a userdb lookup while it's really doing a passdb lookup and return success.

Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to