R2d2 0.0.3

R2d2 is an efficient multi-threaded RFC1939-compliant POP3 server.
R2d2 is an efficient multi-threaded RFC1939-compliant POP3 server intended for use with a MySQL-based accounts db and Maildir-based maildrops. Optional TLS (previously/also known as SSL) support is also implemented, in both POP-SSL (port 995) form and the STLS extended POP3 capability.

This server does have some unique requirements for the Maildir structure, the maildir message filenames must not exceed 70 characters up to but not including the ':' seperator. The filenames must also include the "rfc822 size" of the messages they store, presented in all-caps hexadecimal following a 'Z' character in the "middle" portion of the unique name.

These requirements mean a specialized delivery routine must be utilized which ensures 70 character long unique filenames and calculates the rfc822 size during delivery placing it in the filename accordingly.

Usage

It is advised that you read the ServerKit documentation before trying to use this module, as most of the basic usage is simply using ServerKit, nothing specific to this module.

You will probably want to use the included ServerKit personality as a starting point, found in the source archive as a directory named personality. Within the personality you will find a c11n file, a modules subdirectory, and a svsdir subdirectory.

The c11n file is a ServerKit configuration file, you will need to at least modify the database settings so ServerKit can successfully communicate with your database system. Another configuration value that you will almost certainly have to set is maildrop_query_format_string.

The maildrop_query_format_string is the SQL query r2d2 will use to authenticate email users and retrieve the authenticated users' maildir path. See the Configuration section for a list of supported substitutions for use in the format string.

You are responsible for creating a query that is compatible with your mail system database schema, and ensuring that the query will:

return an empty set when authentication fails
return the correct maildir path when authentication succeeds

Interpreting the logs

The log output of r2d2 is mostly self-explanatory. All logging is done via ServerKits logging facilities, which means the logs can go through the traditional syslog() interface or may bypass the traditional syslog() method by sending UDP syslog messages directly over the network to a syslog collection server for greater efficiency.

The only unique aspects of r2d2 logging are the delays count and sequence string presented on disconnect log entries which occur at the end of every r2d2 pop3 session.

Delays refer to the number of socket-based IO delays detected by r2d2 which resulted in handing the session off to the delayed work manager in ServerKit.

Sequence presents a record of what commands were issued throughout the POP3 session in the order they were received. For example:

server.pop3.r2d2[13906]: [1] disconnected: peer quit, sequence="upsUr4d4q" delays="3"

The above example issued USER PASS STAT UIDL RETR RETR RETR RETR DELE DELE DELE DELE QUIT.

Here is a list of all the sequence characters and their meaning:

c CAPA
u USER
p PASS
q QUIT
s STAT
U UIDL
i UIDL msgnum
L LIST
l LIST msgnum
d DELE
R RSET
r RETR
t TOP
n NOOP
^ STLS Only possible on TLS-enabled builds
! Invalid command

last updated on:
December 15th, 2007, 4:49 GMT
price:
FREE!
homepage:
serverkit.org
license type:
GPL (GNU General Public License) 
developed by:
Vito Caputo
category:
ROOT \ Communications \ Email
R2d2
Download Button

In a hurry? Add it to your Download Basket!

user rating 17

2.8/5
 

0/5

Rate it!

Add your review!

SUBMIT