[Dovecot] dovecot not working with some vpopmail passwords

radus at smartpost.ro radus at smartpost.ro
Thu Sep 30 22:07:42 EEST 2004


Hello.

I tried installing dovecot on a server that relies on vpopmail
authentication using $1$ MD5 algorithm and it didn't work.
Please fix this for the next release.
Attached is a patch, please be carefull with the line wrapping.

Radu

--- passdb-vpopmail.c.old       Thu Feb 20 00:46:51 2003
+++ passdb-vpopmail.c   Thu Sep 30 18:58:56 2004
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2003 Timo Sirainen */
+/* Copyright (C) 2002-2003 cTimo Sirainen */

 /* Thanks to Courier-IMAP for showing how the vpopmail API should be used */

@@ -20,6 +20,7 @@
 {
        char vpop_user[VPOPMAIL_LIMIT], vpop_domain[VPOPMAIL_LIMIT];
        struct vqpasswd *vpw;
+       char *password_crypt;
        int result;

        vpw = vpopmail_lookup_vqp(request->user,
@@ -44,7 +45,12 @@
        }

        /* verify password */
-       result = strcmp(mycrypt(password, vpw->pw_passwd), vpw->pw_passwd)
== 0;
+
+        if (strncmp(vpw->pw_passwd, "$1$", 3) == 0)
+               password_crypt = md5_crypt(password, vpw->pw_passwd);
+       else password_crypt = crypt(password, vpw->pw_passwd);
+
+       result = strcmp(password_crypt, vpw->pw_passwd) == 0;
        safe_memset(vpw->pw_passwd, 0, strlen(vpw->pw_passwd));

        if (!result) {



More information about the dovecot mailing list