The dovecot distribution is composed of the following processes:
- master process
- starts the auth process and
n (by default, 3) login processes. The master process
is also responsible for the creation of an imap process after
a successful authentication.
- auth process
- authenticates new users
for the login process (over a UNIX socket).
The auth process also verifies successful authentications to the
master before it creates a mail process.
- login process
- listens on the appropriate port (e.g., 143 for
IMAP) for new connections. Once a connection is established it
negotiates with the MVA process to
initialize the connection
(sending server capabilities, setting up SSL, etc.)
and requests authentication of the user.
Upon successful authentication, the login process requests the
master process to create a new imap process and then exits.
- imap process
- receives the socket descriptor over a UNIX socket
from the login process.
The imap process then communicates with the remote MVA
to access the user's mailbox on the server.
Figure 6:
The processes that comprise standard dovecot and their interaction
to authenticate a user. Solid arrows indicate message exchange
while dashed ones represent process actions. Message exchange
across system boundaries use a network socket while
those within the same system use UNIX sockets.
|
Figure 7:
The message exchanges between the ported netAuth dovecot and
the MVA.
|
Figure 6 shows the sequence of events
that are necessary to create a new imap process to service requests
from the MVA.
- Messages 1a and 1b establish the initial connection
between the MVA and dovecot. During this step,
the MVA requests and receives the server capabilities
(not shown in the figure).
- authentication step (shown as messages 2a-2e and action 2f).
(a) The MVA sends the user's authentication information as part of a
LOGIN message.
(b) In response, the login
process requests the auth process to authenticate the user
(c) The login process request the auth process to authenticate,
(d) on successful authentication the login process sends a response back
to the MVA and
(e) requests the master process to create a new
imap process.
(f) the master, after
verifying a successful authentication with the auth
process, creates the new mail process running on behalf of
user .
- The imap process then services the MVA's future requests.
Manigandan Radhakrishnan
2008-05-13