# === The post relates to Dovecot v2.2 running on AWS Linux v1 === #

Hello all…

The Dovecot sockets on this server are installed in two different locations one 
of which is different from what I have on my other Dovecot installations which 
run on Centos-7.  Here are the sockets paths:

— all sockets EXCEPT "auth-master” —> "/usr/local/var/run/dovecot”   <<<<<   
this appears to be the default for this server
— "auth-master” —> "/var/run/dovecot”   <<<<<   without this statement, Dovecot 
authentication always failed.  The config stanza for this is shown below:

        service auth {
                unix_listener auth-userdb {
                        path = /var/run/dovecot/auth-master
                        mode = 0600
                        user = vmail
                }
        }

============

The above has been working great for several years but the time eventually came 
where I needed to upgrade.  This of course meant I had to move lots of maildata 
between the servers.  Unfortunately, the “auth-userdb" config mentioned above 
prevented “dsync" from working properly.  This is the error I received when 
trying “dsync”:

        Error: userdb lookup: connect(/usr/local/var/run/dovecot/auth-userdb) 
failed: No such file or directory

This error led me to the eventual fix which was adding the following to the 
“dovecot.conf” file:

        auth_socket_path = /var/run/dovecot/auth-master

============

So, to my questions:

(1) Why would the socket path on this AWS installation be different from what I 
see on my Centos-based Dovecot servers and also what I’ve read in several 
Dovecot mailer discussions?

(2) Can the default socket path be set at compile time?  If so, then I'm 
thinking maybe the AWS folks — for whatever reason — decided to install all 
sockets (except ”auth-master”) in the “/usr/local/var/run/dovecot” directory.  
Are there any benefits or reason to do this?

(3) Is there any requirement that the “auth-master” socket be located in the 
“/var/run/dovecot” directory?  Also, there is nothing else in that directory — 
just the “auth-master” socket file — that’s it.

(4) Why is “dsync" looking for "auth-userdb" in the 
“/usr/local/var/run/dovecot” directory despite the “auth" stanza stating it is 
located elsewhere in "/var/run/dovecot”?

(5) And last, why do I need to add the “auth_socket_path” statement to get 
“dsync” working even though the socket path is stated in the “auth" stanza?


Thanks in advance for your time on this.  I know this is mostly to help educate 
me on what is going on so I really appreciate your feedback…

Reply via email to