dbiff provides a means to bark at the mailman, similar to that provided by the BSD comsat daemon, but without needing to run an actual daemon. Due to the limitations in the comsat protocol, it becomes useless to anyone storing mail in a format other than mbox or delivering mail through an external MDA, such as procmail, and the necessity of giving a daemon permission to read everyone's mail may be undesirable. dbiff's solution to all of this is read mail from stdin, so it can be run by the user from wherever he or she may desire. BUILDING dbiff has been autoconfed and automaked, so running ./configure ; make ; make install behaves as you might expect. I didn't add any configure options myself, but you can still look through the output of ./configure --help for some of the options autoconf thinks might be nice. USING Just run the mail for which you want notices through dbiff. If you prefer the output of Dan Bernstein's qbiff, pass it "dbiff -q". If you do this from your .forward or similar, be careful to ensure that your mail is still delivered to somewhere, instead of just passed to dbiff. For example, you may put something like the following in your .forward: /home/david/.mailbox |dbiff or in your .procmailrc: :0 hbc |dbiff Setting a terminal to receive biff messages is done by setting the owner-execute bit, which can be easily accomplished through the BSD biff tool. Some BSDs add a "bell" mode, which prints bell characters to a terminal instead of a message, and this can be activated by unsetting the owner-execute bit and setting the group-execute bit. FreeBSD sets this using "biff b". OUTPUT The output from dbiff should be similar enough to that of BSD comsat and qbiff that you won't notice the difference. In classic (default) mode, dbiff will print the From: line, the Subject: line, and part of the body of the message, up to a total of seven lines or 560 characters, whichever comes first, ending with either "----" or "...more...", as appropriate. Example: New mail for david@fiona has arrived: ---- From: biff@example.com Subject: Increase your penis size in just 30 days Look at me! I'm an email! No, really! ---- In qbiff mode, dbiff will print out the from address, and, all on one line, up to 74 characters of subject and body Same example: *** TO FROM Increase your penis size in just 30 days//Look at me!/I'm an email!//No, And that's all there is to it. A NOTE ON AUTOCONF I'm one of those people who feel that autoconf is ridiculously unnecessary, automake is a horrible hack, and the GNU coding style of hitting every source file with a shotgun blast of preprocessing only makes for unreadable code with new and unexpected behavior rather than any increase in portability. Software should make itself portable by adhering to standards rather than attempting guesses at the different specific behaviors of every system in the world. However, there are some cases when various systems are horribly different, and utmp is one of those. FreeBSD does not have the POSIX *utxent functions, and POSIX systems don't necessarily put utmp in a file. Autoconf doesn't actually solve this problem, and I spent about 5 times as long writing m4 macros as I did on the actual dbiff source. However, broken as it may be, autoconf provides the framework for performing such pre-compile-time configuration, and it is with this in mind that I used it for dbiff. Also, the combination of autoconf and automake provide a certain degree of consistency that is often found wanting in UNIX software packages. Besides all this, I find a certain joyous symmetry in moving dbiff to this new extreme, when the previous release didn't even have a Makefile ;)