ofmipd-plus (v1.2: Non-TLS version)
ofmipd is an alternative to qmail-smtpd for email submission in the mess822 package.
ofmipd-plus adds authentication and logging to ofmipd. The authentication is provided by John Levine's auth patch which is included in ofmipd-plus. The logging additions are similar to qmail-logmsg, logging details of the session (commands, results, errors) as well as the username used to authenticate the connection.
make clean and errno tweaks are also included in this patch, no need to apply them separately.
TLS support using ucspi-tls is not included in this version of ofmipd-plus: Instead please see the latest version which includes this.
This patch applies cleanly to mess822-0.58.
Download the patch here.
Change into your mess822 source directory and type,
patch < path_to_patch/ofmipd-plus-v1.2.patch
and compile/install mess822 as normal. You'll probably want to be logging using multilog to get the most benefit from this patch.
Assuming you're using daemontools, in your run file you'll need to redirect file descriptor 7 (unfortunately checkpassword gets in the way of using stderr for logging). Thus you might have something like this,
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
softlimit -m 50000000 -f 50000000 \
tcpserver -v -HR -l0 -c50 0 587 \
ofmipd "" your.domain.here checkpassword true 2>&1 7>&1
Make sure to adjust the above to suit your particular system, taking particular care with your flavour of checkpassword which may take additional arguments.
Your ofmipd logs will now be richer in information about incoming connections.
Status / Warranty
No warranty, express or implied is given - USE THIS SOFTWARE ENTIRELY AT YOUR OWN RISK. You will need to satisfy yourself as to the suitability of this software before deploying it in a production environment.
ofmipd-plus includes the following enhancements to ofmipd:
- John Levine's ofmipd authentication patch.
- Logging each session, using code from the qmail-logmsg patch adjusted for ofmipd.
- Tweak to conf-cc to enable compilation on Linux using Dan Bernstein's suggested fix (addresses errno.h problem during compilation on Linux).
- TARGETS updated to include additional object files created by this patch.
- Makefile updated to include a 'clean' target as well as other targets needed by this patch.
This page last updated: AR, 19th February 2016.