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 and SRS features are also available out-of-the-box.
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.