Current projects and maintained applications
The following SW applications are actively maintained to cope with changing HW and SW architecture. They should work on most current *iX systems.
Design goals achieved:
- The applications follow the slashpacket installation convention; thus are easy to install and to upgrade.
- IPv6 communication capabilities are provided entirely; including LLU support; all based on fehQlibs.
- The SW comes with comprehensive documentation; including accurate man-pages.
Dependencies:
The main part is the provisioning of the fehQlibs to bundle all the basic routines in two SW libraries to be statically linked with the application programs. This sketch provides a bird's view:
fehQlibs
fehQlibs are the basic routines used for my products. They use Daniel Bernstein's (DJB) main contributions, but extended for IPv6 together with an IPv6 LLU enabled DNS stub resolver and a convenient logging. Two main libraries are provided:
- qlibs.a superseding the often employed unix.a libs including socket routines.
- dnsresolv.a to be used as IPv6-enabled DNS stub resolver, though without encryption.
ucspi-tcp6
ucspi-tcp6 is the IPv6 enabled version of ucspi-tcp and in addition a CIDR notation of IPv4/IPv6 addresses is possible.
ucspi-ssl
ucspi-ssl provides TLS capabilities either through OpenSSL or by means of LibreSSL. Its service is not restricted to s/qmail or s/qmail but available for any other TLS depending application and including a StartTLS interface.
In August 2018, TLS 1.3 has been published in RFC 8446 and OpenSSL 1.1.1 includes its radical new features since September 2018. TLS 1.3 capabilities have been included for ucspi-ssl.
djbdnscurve6
djbdnscurve6 is a fork of djbdns-1.05 providing full IPv6 support and now in version 3 the full set of CurveDNS enabled DNS servers including dnscache and tinydns. Apart from NaCL (or libsodium) it requires fehQlibs to build.
s/qmail
s/qmail is considered to be the successor or DJB's qmail with TLS 1.3 support based on ucspi-ssl and authentication using a variety of IdP sources including Dovecot. SPF, SRS, TLSA, and DKIM capbilities are available out-of-the-box.
mess822x
mess822x picks up the idea of mess822 and porting it to /slashpackage using fehQlibs and additionally adjusting the core routines to current standards and implementations.
Binc IMAP (Version 2)
Though not based on the fehQlibs, Binc IMAP is project I took over from Andreas Aardal Hanssen in order to complement my mailing software with an easy, configurable, and modular IMAP4rev1 server. While Binc IMAP is C++ based, it follows the programming guidelines of DJB and allows a coherent administration and logging of the IMAP service aligned with my other packages. Happy IMAPing!
Packaging djbware software
If you are an integrator and aiming to package my djbware software, here are some hints:
- The provided software does not rely on the package directory. You can chose any (traditional) location; like /usr/local/bin for the executables.
- Building the software requires, however, to have fehQlibs installed in the first place. The location of the resulting directory can be freely chosen and configured in conf-qlibs to comply with your settings.
- The fehQlibs libraries are linked statically with the executables, thus do not need to be included/provided in the package.
- All finally - and after compilation (running package/compile) - generated executables are available under ./command. You just need to include/deploy those!
- Of course, other required libraries (OpenSSL/LibreSSL, NaCL/LibSodium) need to be treated appropriately.
- Man pages are available under man in the standard format.
- Please include the necessary docs and in particular the LICENSE file together with the Version and Build information in your distribution/package.
Please read the adjacent documents in ./doc!
Current projects and slowly maintained applications
The following SW packages -- mostly sets of shell scripts -- are useful together with s/qmail and qmail.
Newanalysis
Newanalyse is a set of scripts to be used for s/qmail and qmail log-file bookkeeping and analysis.
QMVC
QMVC is a script to be used in conjunction with s/qmail's or qmail's qmail-local mechanism to allow virus and spam filtering.
Version 1.8 is already finished since ages; though need to be published and documented.
Outdated projects and un-maintained applications
Spamcontrol patch for vanilla Qmail
For more than one decade, the Spamcontrol patch was a standard mean to make qmail robust against spam and virus attacks; also including TLS and auth capabilities.
Patches for vanilla Qmail
Apart from Spamcontrol, I made series of of extensions (patches) separately available on my Qmail support page; most prominently the Qmail Authentication patch together with a CRAM-MD5 capable PAM (cmd5checkpw). I don't recommend to use them anymore; they are not 64 bit clean.
Alternative projects
My 'djbware' is not the first and only software project based on Daniel Bernstein's (DJB) ideas and implementations. Among those, I would like to mention the following:
- Felix von Leitner's libdjb and much more.
- Laurent Bercot's skarnet.org providing a suite of s6 software solutions.
- Kai Peter's qlibs (of course).
- Stephen Welker's nemostar project.
Apart from those authors, Scott Gifford, Gerrit Pape, Charles Cazabon deserve credits among the unnamed not mentioned here.