On Fri, 2010-06-11 at 21:10 +0100, Timo Sirainen wrote:
On pe, 2010-06-11 at 14:00 -0500, Mike Abbott wrote:
Thank you Timo for beginning the port of URLAUTH, BURL, and CATENATE from 1.2 to 2.0. Attached please find two patches that finish the port to 2.0. One patch updates the dovecot-2.0-urlauth branch and is based on the tip of that branch. The other patch adds the full support to dovecot-2.0.beta5. The resulting URLAUTH/BURL/CATENATE code is the same.
I added the patch to http://hg.dovecot.org/dovecot-2.0-urlauth/
I'll take a closer look at it once v2.1 branch opens.
Some more comments, mainly about auth code changes:
I don't think there's any need to send "anonymous_username" to imap process? It just seems to want to know if the current user is anonymous or not. That same thing has been in my TODO list for a while already because ManageSieve could use that information too. So committed now: http://hg.dovecot.org/dovecot-2.0/rev/c41ba33b8e16
Something similar could be done about submit_user too. Instead of sending "submit_user=x", send both "master_user=x" and "submit". This would actually even allow getting rid of passdb {submit=yes} setting, because it could be just an extra userdb field. Although for convenience maybe it should stay..
"Attempted submit user login for non-imap service %s" check could be moved to lib-master. If master_login_auth_callback() sees that there's a "submit" field returned, require that master_login_init() has been called with MASTER_LOGIN_SUPPORT_SUBMIT_USER flag.
hook_delete_mailbox can be removed. The same can be done by hooking into mailbox.delete() method.
hook_select_send_urlmech needs to go too. I suppose SELECT code needs to be refactored to become more modular to allow plugins to mess with it.
Not sure about other stuff yet.