---
name: "damnit"
section: "8"
platform: "linux"
package: "gnarwl"
version: "3.6.dfsg-14"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/damnit"
---

# damnit(8)

DAtabase MaNagement InTerface

## NAME

damnit - DAtabase MaNagement InTerface

## SYNOPSIS

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

## DESCRIPTION

**damnit** is the database management tool for  **[gnarwl(8)](/gnarwl/8.md)** . 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)](/gnarwl/8.md)**

## OPTIONS

- \-h

  Print usage information

- \-f \<string\>

  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.

- \-d \<file\> \[\<value\>\]

  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.

- \-a \<file\> \[\<value\>\]

  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.

- \-l \<file\>

  List database file specified by \<file\>.

## DATABASE FILES

**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)](/time/2.md)) and therefore,  **gnarwl's** database files are not copyable between different system architectures.

## AUTHOR

Patrick Ahlbrecht \<p.ahlbrecht@billiton.de\>

## SEE ALSO

**[gnarwl(8)](/gnarwl/8.md)**

## FILES

*/var/lib/gnarwl/block/\**

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.

*/var/lib/gnarwl/blacklist.db*

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

*/var/lib/gnarwl/badheaders.db*

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.
