Hi Timo,
I love dovecot but I love also vpopmail and its functions for manage user limits (via vmoduser). Unfortunately in dovecot 1.2.x auth default set to use "vpopmail" is unable to apply this limits. Only if used with checkpassword limits works fine but in the dovecot.log only user (without @domain) is logged.
So, based on the code of dovecot 2.0, I have created this very simple patch that correct this bug.
Thanks for consideration -- Alessio Cecchi is: on LinkedIn -> http://www.linkedin.com/in/alessice Assistenza Sistemi Linux -> http://www.cecchi.biz/ Hosting Linux -> http://www.hosting-linux.it@ PLUG -> ex-Presidente, adesso senatore a vita, http://www.prato.linux.it
root@mx01eeh:/home/alessice/imaptest/dovecot-1.2.16/src# diff -u auth/passdb-vpopmail.c auth/passdb-vpopmail.c-ORIG --- auth/passdb-vpopmail.c 2011-12-21 23:46:03.233157919 +0100 +++ auth/passdb-vpopmail.c-ORIG 2010-05-31 19:58:04.000000000 +0200 @@ -35,7 +35,7 @@ struct vpopmail_passdb_module *module = (struct vpopmail_passdb_module *)_module; - if (strcasecmp(request->service, "IMAP") == 0) { + if (strcmp(request->service, "IMAP") == 0) { if ((vpw->pw_flags & NO_IMAP) != 0) { /* IMAP from webmail IP may still be allowed */ if (!net_ip_compare(&module->webmail_ip, @@ -49,7 +49,7 @@ } } if ((vpw->pw_flags & NO_POP) != 0 && - strcasecmp(request->service, "POP3") == 0) + strcmp(request->service, "POP3") == 0) return TRUE; return FALSE; } @@ -137,8 +137,8 @@ } #ifdef HAVE_VPOPMAIL_OPEN_SMTP_RELAY - if (strcasecmp(request->service, "POP3") == 0 || - strcasecmp(request->service, "IMAP") == 0) { + if (strcmp(request->service, "POP3") == 0 || + strcmp(request->service, "IMAP") == 0) { const char *host = net_ip2addr(&request->remote_ip); if (host != NULL) { /* use putenv() directly rather than env_put() which