Consulting djbware Publications

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:
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

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:

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:

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:

Apart from those authors, Scott Gifford, Gerrit Pape, Charles Cazabon deserve credits among the unnamed not mentioned here.