Scroll to navigation

DAMNIT(8) System Manager's Manual DAMNIT(8)


damnit - DAtabase MaNagement InTerface


damnit [-h] [-d <file> <value>] [-a <file> <value>] [-f <string>] [-l <file>]


damnit is the database management tool for gnarwl(8) . It allows systemadministrators to list and/or manipulate gnarwl's database files. It is not intented to be employed by the average user, who should use LDAP as the only interface to gnarwl(8)


Print usage information

Select output format for database listing (only meaningful with -l). <string> is the template for what the output should look like. The following macros are recognized: %entry, %time, %tstamp, \en and \et. Translating to the entry itself, the entrytime (in human readable form), the entrytime (as timestamp), a newline character, and a tab character. The default format is: "%time -> %entry\en". Don't forget the trailing newline.

Delete <value> from <file>. If <value> is omited, damnit will read <value> from stdin (one per line), until either EOF or an empty line is detected.

Add <value> to <file>. If <value> is already stored in <file>, damnit will only update the timestamp. If <value> is omited, damnit will read <value> from stdin (one per line), until either EOF or an empty line is detected.

List database file specified by <file>.


gnarwl uses hashfiles for storing information on disk. Meaning, all datasets consist of key and value pairs. The key is always a NULL terminated character string, while the value contains the timestamp, when the key was entered (last time) into the file. This timestamp is of type time_t (as returned by time(2)) and therefore, gnarwl's database files are not copyable between different system architectures.


Patrick Ahlbrecht <>





Every file in this directory represents an emailaddress, gnarwl (already) received a mail for. Every time, gnarwl sends out an autorreply for an address, the recipient of that mail is locked into the according file. gnarwl will not send any further autoreplies for this sender/receiver combo, until the timeout specified in gnarwl.cfg expires.


Emailaddresses listed as keys in this file are not subject to autoresponding (the addresses of root, postmaster, webmaster and the like should be put herin). Note: The complete mailaddress, as it would appear in an email, must be specified here, as gnarwl checks these "as-is".


Each entry in this file represent a line that may not occur in the header of a received email. That is, gnarwl won't reply to any mail, it is able to match a headerline with an entry in this file.