login [EMAIL PROTECTED] thebossespwd
this is a great piece of software, but it has some frustrating issues. i have included my two configurations below, just FYI.

the one (older) system is 1.0rc7 on mandriva 2007.0 and postfix 2.3.3 and amavisd and spamassassin and using a maildir configuration

the newer system is 1.0.5 (soon to be 7) on mandriva 2008.0 and postfix 2.4.5 amavisd and spamassassin and using a maildir configuration

first, i followed the instructions in this document http://wiki.dovecot.org/Authentication/MasterUsers to the letter and it works for neither the old server nor the new. specifically i was using the first example configuration. all i ever got was:

Connected to mail.mailserver.com
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS STARTTLS AUTH=LOGIN AUTH=PLAIN AUTH=DIGEST-MD5] Dovecot ready.
login [EMAIL PROTECTED] thebossespwd
login BAD Error in IMAP command received by server.

and the auth_debug information was completely useless. if someone goes to the trouble of writing great examples they really should test to make sure they actually work.

secondly:
this configuration on the old server (1.0rc7) works fine:
## Dovecot 1.0 configuration file
base_dir = /var/lib/dovecot
protocols = imap pop3 imaps
log_path = /var/log/dovecot/error.log
info_log_path = /var/log/dovecot/info.log
first_valid_uid = 60000
last_valid_uid = 60000
first_valid_gid=15
last_valid_gid=15
default_mail_env = maildir:/var/spool/mail/%d/%u
mailbox_check_interval = 60
maildir_copy_with_hardlinks = yes
mbox_locks = fcntl
umask = 0077
auth default {
   mechanisms = plain digest-md5
   user = dovecot
   passdb pgsql  {
           /etc/dovecot/dovecot-pgsql.conf
   }
   userdb pgsql {
           /etc/dovecot/dovecot-pgsql.conf
   }

   socket listen {

       master {
           path = /var/run/dovecot/auth-master
           mode = 0660
           user = postfix
           group = mail
       }

       client {
           path = /var/spool/postfix/private/auth
           mode = 0660
           user = postfix
           group = mail
       }
   }
}

but the same configuration on the newer version 1.0.5 does not work, the problem being in mail location (note changed from default_mail_location to mail_location). so i had to make a number of changes...

## Dovecot configuration file
base_dir = /var/lib/dovecot/
protocols = imap pop3 imaps
disable_plaintext_auth = no
log_path = /var/log/dovecot/error.log
info_log_path = /var/log/dovecot/info.log
ssl_cert_file = /etc/pki/tls/certs/dovecot.pem
ssl_key_file = /etc/pki/tls/private/dovecot.pem
login_dir = /var/lib/dovecot/login
mail_location = maildir:/var/spool/mail/%d/%n:
namespace private {
  prefix =
  location = maildir:/var/spool/mail/%d/%n
  inbox = yes
}
mail_extra_groups = mail
first_valid_uid = 60000
last_valid_uid = 60000
first_valid_gid=15
last_valid_gid=15
maildir_copy_with_hardlinks = yes
maildir_copy_preserve_filename = yes
mbox_read_locks = fcntl
mbox_write_locks = fcntl
protocol imap {
login_greeting_capability = yes
}
protocol pop3 {
 pop3_uidl_format = %08Xu%08Xv
 pop3_client_workarounds =  outlook-no-nuls oe-ns-eoh
}
protocol lda {
 postmaster_address = [EMAIL PROTECTED]
}
auth default {
 mechanisms = login plain digest-md5
 passdb sql {
               args = /etc/postfix/mysql/dovecot.conf
       }
 userdb sql {
               args = /etc/postfix/mysql/dovecot.conf
       }

 socket listen {
       master {
               path = /var/lib/dovecot/auth-master
               mode = 0660
               user = nobody
               group = mail
       }

       client {
               path = /var/spool/postfix/private/auth
               mode = 0660
               user = postfix
               group = mail
       }
 }
}

dict {
}

plugin {
}


or from the dovecot -n  command:

# 1.0.5: /etc/dovecot.conf
base_dir: /var/lib/dovecot/
log_path: /var/log/dovecot/error.log
info_log_path: /var/log/dovecot/info.log
protocols: imap pop3 imaps
ssl_cert_file: /etc/pki/tls/certs/dovecot.pem
ssl_key_file: /etc/pki/tls/private/dovecot.pem
disable_plaintext_auth: no
login_dir: /var/lib/dovecot/login
login_executable(default): /usr/lib64/dovecot/imap-login
login_executable(imap): /usr/lib64/dovecot/imap-login
login_executable(pop3): /usr/lib64/dovecot/pop3-login
login_greeting_capability(default): yes
login_greeting_capability(imap): yes
login_greeting_capability(pop3): no
first_valid_uid: 60000
last_valid_uid: 60000
first_valid_gid: 15
last_valid_gid: 15
mail_extra_groups: mail
mail_location: maildir:/var/spool/mail/%d/%n:
maildir_copy_with_hardlinks: yes
maildir_copy_preserve_filename: yes
mbox_write_locks: fcntl
mail_executable(default): /usr/lib64/dovecot/imap
mail_executable(imap): /usr/lib64/dovecot/imap
mail_executable(pop3): /usr/lib64/dovecot/pop3
mail_plugin_dir(default): /usr/share/dovecot//imap
mail_plugin_dir(imap): /usr/share/dovecot//imap
mail_plugin_dir(pop3): /usr/share/dovecot//pop3
pop3_uidl_format(default):
pop3_uidl_format(imap):
pop3_uidl_format(pop3): %08Xu%08Xv
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
namespace:
 type: private
 location: maildir:/var/spool/mail/%d/%n
 inbox: yes
auth default:
 mechanisms: login plain digest-md5
 passdb:
   driver: sql
   args: /etc/postfix/mysql/dovecot.conf
 userdb:
   driver: sql
   args: /etc/postfix/mysql/dovecot.conf
 socket:
   type: listen
   client:
     path: /var/spool/postfix/private/auth
     mode: 432
     user: postfix
     group: mail
   master:
     path: /var/lib/dovecot/auth-master
     mode: 432
     user: nobody
     group: mail

what i found was that i HAD to add a namespace in order to be able to define my maildir location. that was ok, /*except */that the mail_location value is no longer being used for the pop3 server mail location. so i could pick up mail using IMAP no problem, but POP wasn't working. after a number of hours i modified my SQL script with 'CONCAT(path, maildir)' so that the 'mail' path is returned complete from the sql statement:

in my initial SQL statement, works on the old server and the new version 1.0.5 IMAP as:

user_query = SELECT maildir AS mail, 60000 AS uid, 15 AS gid FROM mailbox WHERE 
username = '%u' AND active='1'

but in order to get the POP3 version working i had to change it thus:

user_query = SELECT CONCAT('/var/spool/mail/', maildir) AS mail, 65534 AS uid, 
12 AS gid FROM mailbox WHERE username = '%u' AND active='1'

one would have expected changing the SQL statement to this new format would have resulted in a location for the IMAP server now being constructed as:

/var/spool/mail/var/spool/mail/domain/user

but that did not happen. they both (POP & IMAP) now can find the mail and folders.

like i said, thanks very much for writing this s/ware. it is great...but needs some tweaking.

thanks for listening


begin:vcard
fn:Robert Heller
n:Heller;Robert
adr:;;23742 Via Helina;Valencia;CA;91355;U.S.A
email;internet:[EMAIL PROTECTED]
tel;home:661 255-3415
tel;cell:661 753-7862
x-mozilla-html:TRUE
url:http://www.rheller.net
version:2.1
end:vcard

Reply via email to