chkuser 2.0
Description
The original qmail-smtpd accepts by default all messages, checking later
for the existence of recipients. So, if the message is delivered to not
existing recipients, a lot of additional system work and network traffic are
generated, with multiple expensive bouncing if the sender is a fake one.
chkuser has been developed with the goal to improve the acceptance SMTP
phase of qmail-smtpd. qmail-smtpd patched with chkuser may check the existence
of e-mail recipients immediately in the SMTP acceptance phase of a message and
rejects instantly all messages not directed to existing users, avoiding
additional traffic, work and messages bounced more times.
These goals are achieved enquiring the existing vpopmail archives (each
format is supported: cdb, MySQL, LDAP, etc.) by using standard vpopmail calls,
or using customized chkuser routines.
Version 2.0 - From chkusr to chkuser
Version 2.0 is a lot different from previous versions, so it deserves a
more evident change in the name.
Version 2.0 has been designed with the goal to be modular, and to make
more easy both adding new features to chkuser code and semplifing code
update.
Patching over original qmail files is done over a few points, while the
most of chkuser code remains outside, in dedicated chkuser's files.
Same for settings, that are inside a dedicated chkuser_settings.h
file.
The intention is to simplify upgrading: for future chkuser releases,
upgrading will require only to update chkuser specific files, leaving all the
rest untouched, and changing chkuser_settings.h only if new features must be
enabled.
Logging and SPAM
chkuser 2.0 has detailed logging of accepted and refused recipients and
senders, allowing a deep analysis of "who's sending to whom". This can
lead to more sophisticated future enhancements of anti-SPAM features.
|