Tuesday March 12, 2024

tessa's gone postal: CHAPTER 3 - qmail (and s/qmail)
now playing: Un - Un
Mist - Through Tongue and Skin
Skov Bowden - Counterclockwise EP
Irène Schweizer/Rüdiger Carl/Louis Moholo - Tuned Boots
Acetone - Cindy

CHAPTER 3: qmail (and s/qmail)

Time for another brief history lesson. Before there was qmail, there was sendmail. Before sendmail, there was delivermail. delivermail was a very early mail transfer agent developed by Eric Allman (who would later also work on sendmail) back in the days of ARPANET, even before the adoption of the Transmission Control Protocol (does "TCP/IP" ring any bells for you?), when what was in use was the Network Control Protocol. Namespaces of hosts were different at that time (so called flat namespaces were in use as opposed to our contemporary hierarchical ones) and DNS wasn't widespread, people made use of a hosts file to tell their programs how to resolve domains of the then available hosts. On *NIX and POSIX systems, the default filepath would have been /etc/hosts. delivermail was one of the programs that came with BSD versions 4.0 and 4.1 back in 1979. Written by Eric Allman, delivermail was one of the first pieces of software developed for use with e-mail, which would later be replaced by another program from the same developer, sendmail, which was available since 1983's BSD version 4.1c, the earliest version to make use of TCP/IP. It could use SMTP and other protocols, including some that worked with fax machines.

In 1996, ~80% of public access use of e-mail servers on the Internet made use of sendmail, though this has dropped dramatically in the almost thirty years since then, mostly due to security risks (one of which was the now infamous Morris worm which I'll write about in the future) growing more and more into a going concern as the world's use of/dependence on the internet would grow and grow. That said, sendmail is still in use and still in development. It may have first been released 41 years ago but the most recent stable release of sendmail is from 40 days ago as I write this. That is, as Bill Nye might say, not that bad. But for mathematician/cryptographer/computer scientist D. J. Bernstein, he decided to take the potential insecurities in sendmail as a challenge and came up with a new program, called qmail in 1995.

qmail was fairly trailblazing in a few different ways. First and foremost, it was the first mail transfer agent designed specifically with security as its modus operandi, similar to OpenBSD's shooting off from OpenBSD. qmail's architecture was designed to be modular, comprised of a few mutually "untrusting" components that used different credentials from each other, and at the time of its first release, Bernstein's program was much simpler to make use of in comparison to sendmail. qmail was also better suited to bulk e-mail sending at its launch and this was one of the original intended use cases for the program. qmail also introduced the now more common splitting of individual e-mail messages into separate files. The most recent build was in June of 1998, almost 26 years ago now. Sometime after this, Bernstein released the code as public domain (note: not choosing a GPL, BSD, or MIT license). This led to the production of some projects based on it, netqmail (last stable release in November of 2007), notqmail (last stable release May of 2020, based on the former), and s/qmail (pronounced skew-mail) (last stable release 14 days ago, February 26, 2024).

               O tessa o
          _\_   o
       \\/  o\ .
       //\___=
          ''



<< previous entry <<
>> next entry >>
<< back to list of blog entries <<