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