GNARWL(8) GNARWL(8) NNAAMMEE gnarwl - GNU Neat Autoreply With LDAP SSYYNNOOPPSSIISS ggnnaarrwwll [-h] [-c ] [-a
] [-s
] DDEESSCCRRIIPPTTIIOONN ggnnaarrwwll is an email autoresponder, intended to be a successor to the old vaction(1) program. Since a modern mailserver, usually serves hundreds (or even thousands) of mailaccounts, it is not sensible to give (untrusted) users shell access so they may create/maintain the .forward file, required by vvaaccaattiioonn((11)).. With ggnnaarrwwll , all user-suplied data is stored within an LDAP database, so there are no per user ".forward" files (or even homedirs) needed. Configuration is conveniently done via one systemwide configfile. Like the old vvaaccaattiioonn((11)) program, gnarwl accepts incomming mail through stdin, and will send outgoing mail via an external MTA (it even main- tains basic commandline compatibility, so it may be used as a drop in replacement). Several gdbm databases are maintained, in order to make sure, a) mail does not bounce back and force between gnarwl and another automated MUA, b) mailing lists will not be bothered and c) specifc local addresses may never produce automatic replies. All these database files may be managed using the ddaammnniitt((88)) program. OOPPTTIIOONNSS -c Use a different configfile than the one, compiled in. -a Force
as receiving address. -s
Force
as sending address. -h Print usage information. CCOONNFFIIGGUURRAATTIIOONN ggnnaarrwwll typically uses one global configurationfile, but a per user set- up is also possible using the -c commandline switch. The following key- words are recognized in the configfile: map_sender Binds a macroname (case insensitive), refering to the sender of an incomming email. Defaults to "$sender". map_receiver Binds a macroname (case insensitive), refering to the receiver(s) of an incomming email. Defaults to "$receiver". map_subject Binds a macroname (case insensitive), refering to the subject of an incomming email. Defaults to "$subject". map_field Binds a macroname (case insensitive), refering to a field in the resultset, returned by the database. There are no defaults for this directive. server
Address of the databaseserver to query. Defaults to localhost. port Port, the LDAP server listens on. Defaults to 389. scope The scope used for searching the database. Default is "sub". login Destinguished name to bind with to the LDAP database. Default is to bind anonymously. password Password to use for binding to the LDAP database. If a password is required to access the server, then the configfile should belong to the gnarwl user and have file permission 0400. base Entrypoint of the search. There is no default for this direc- tive, it must be supplied by the administrator. protocol <0|2|3> Select protocol to bind to the ldapserver. The default is 0, which means "autodetect". queryfilter Search pattern to match against the database. Defaults to: "(&(mail=$recepient)(vacationActive=TRUE)". result The name of the attribute, that is to be taken as the emailbody. The content of this field will be pasted in between the data found via forceheader and forcefooter directives. Afterwards all remaining macros are expanded in the order of declaration, and the result will be piped through to the MTA. blockfiles The directory, where gnarwl stores it's blockfiles. These files are required to keep track on who was sent an automatic reply. Default is: "/tmp/buildd/gnarwl-3.6.dfsg/debian/gnarwl/var/lib/gnarwl/block/". umask What permission to give newly generated database files. The default is 0600. blockexpire How long (in hours) to block a certain sender/recepient combo. Default is 48 hours. Setting to 0 disables the feature (not recommended). No blockfiles are read/written in this case. maxreceivers Ignore incomming email, specifying too many receiving addresses. It does not matter, whether these are local or not, as ggnnaarrwwll doesn't know domains. Default is 256. maxheader Ignore incomming email with more than this number of header lines. Lines are counted before unfolding them, so a folded line really counts as at least two lines. Default is 256. badheaders Path to a database file, containing matching patterns for the mailheader. If an entry stored in this file matches a line in the header exactly, then this mail will be ignored by ggnnaarrwwll is deactivated by default. blacklist Pointer to a database file, containing emailaddresses, ggnnaarrwwll is not allowed to generate automatic replies for (useful to prevent automatic replies from addresses, which are shared by several people). This feature is deactivated by default. forceheader Path to a text file, containing a standardized header, that is to be pasted in front of every outgoing mail. This file should end with a single empty line. Otherwise it is assumed, that the users are allowed to continue the header and will provide the separating empty line themselves. Default is not to force any- thing (that is: The user has to supply the header in the "result" attribute). forcefooter Path to a text file, containing a standardized footer, that is to be appended at the end of every generated mail. Default is to not to force anything. mta [] Specify MTA for sending mail. It must be able to accept mail on STDIN. Default is "/usr/sbin/sendmail". charset LDAP stores text in unicode, which is ok, as long as outgoing mail doesn't contain any non ASCII characters. However, locale specific characters (like german umlaute) end up as strange glyphs. With the "charset" directive, gnarwl tries to convert these to the correct symbols. The argument must con- tain a string recognized by iconv(3). Default is not to try to convert anything (assume US-ASCII charset / MIME encoded mail). recvheader A whitespace separated list of headers (case does not matter), which may contain receiving addresses. Defaults to: "To Cc". loglevel <0|1|2|3> Specifies what to send to the syslog. A higher loglevel automat- ically includes all lower loglevels (see section syslog for more information). SSYYSSLLOOGG Since ggnnaarrwwll is not meant to be invoked by anything but the mailsystem, it'll never print out messages to the systemconsole, but logs them via syslog(3), using the facility "mail". A log line is always of the fol- lowing format: / The field indicates the severity of the message, it corresponds to the "loglevel" config directive. Possible values are: CRIT (loglevel 0) Critical messages. ggnnaarrwwll ccaannnnoott ccoonnttiinnuuee aanndd wwiillll ddiiee wwiitthh aa nnoonn--zzeerroo eexxiitt code. This usually causes the mailsystem to bounce mail. WARN (loglevel 1) A warning. ggnnaarrwwll can will continue, but not with the full/intended functionality. INFO (loglevel 2) Status information. A message in the INFO loglevel indicates normal behaviour. DEBUG (loglevel 3) Debugging information. ggnnaarrwwll wwiillll lloogg aa lloott ooff iinnffoorrmmaattiioonn oonn hhooww mmaaiill iiss pprroocceesssseedd.. The field gives a short hint about what caused the log entry in question, while contains a short description of what actu- ally happened. AAUUTTHHOORR Patrick Ahlbrecht SSEEEE AALLSSOO vvaaccaattiioonn(1), ppoossttffiixx(1), iiccoonnvv(1), ddaammnniitt(8), rrffcc882222 FFIILLEESS _/_t_m_p_/_b_u_i_l_d_d_/_g_n_a_r_w_l_-_3_._6_._d_f_s_g_/_d_e_b_i_a_n_/_g_n_a_r_w_l_/_e_t_c_/_g_n_a_r_w_l_._c_f_g main configuration file. _/_t_m_p_/_b_u_i_l_d_d_/_g_n_a_r_w_l_-_3_._6_._d_f_s_g_/_d_e_b_i_a_n_/_g_n_a_r_w_l_/_v_a_r_/_l_i_b_/_g_n_a_r_w_l_/_._f_o_r_w_a_r_d forward file for the mailsystem. _/_t_m_p_/_b_u_i_l_d_d_/_g_n_a_r_w_l_-_3_._6_._d_f_s_g_/_d_e_b_i_a_n_/_g_n_a_r_w_l_/_v_a_r_/_l_i_b_/_g_n_a_r_w_l_/_b_l_a_c_k_l_i_s_t_._d_b ggnnaarrwwll won't send an autoreply for anyone whose emailaddress is listed herin. _/_t_m_p_/_b_u_i_l_d_d_/_g_n_a_r_w_l_-_3_._6_._d_f_s_g_/_d_e_b_i_a_n_/_g_n_a_r_w_l_/_v_a_r_/_l_i_b_/_g_n_a_r_w_l_/_b_a_d_h_e_a_d_e_r_s_._d_b ggnnaarrwwll will ignore mail, it is able to match a headerline with an entry in this file. Case is significant, no wildcards are expanded. _/_t_m_p_/_b_u_i_l_d_d_/_g_n_a_r_w_l_-_3_._6_._d_f_s_g_/_d_e_b_i_a_n_/_g_n_a_r_w_l_/_v_a_r_/_l_i_b_/_g_n_a_r_w_l_/_h_e_a_d_e_r_._t_x_t Standard header to paste in front of every outgoing mail. _/_t_m_p_/_b_u_i_l_d_d_/_g_n_a_r_w_l_-_3_._6_._d_f_s_g_/_d_e_b_i_a_n_/_g_n_a_r_w_l_/_v_a_r_/_l_i_b_/_g_n_a_r_w_l_/_f_o_o_t_e_r_._t_x_t Standard footer to append to every outgoing mail. _/_t_m_p_/_b_u_i_l_d_d_/_g_n_a_r_w_l_-_3_._6_._d_f_s_g_/_d_e_b_i_a_n_/_g_n_a_r_w_l_/_v_a_r_/_l_i_b_/_g_n_a_r_w_l_/_b_l_o_c_k_/_* block files. GNARWL(8)