@c this is the proposal info file

This chapter describes how a fidoconfig config-file is written, which keywords
exist and where to put the file.

@menu
* Location:: Where to put the config file
* Syntax::   Syntax
* Keywords:: Keyword reference
* Example::  Here is a sample configfile which works for me
@end menu

@node Location, Syntax, config file, config file
@section Configfile location
The fidoconfig library searches the config file on different locations:

@table @asis
@item linux:
/etc/fido/config
@item freebsd:
/usr/local/fido/config
@item os2/win32/dos:
c:\fido\config
@end table

Additionally you can set an enviroment variable called @code{FIDOCONFIG} which
points to the file:

@example
set FIDOCONFIG=e:\bbs\fidoconfig\config

FIDOCONFIG=~/fidoconfig/config
export FIDOCONFIG
@end example

The config file(s) must be readable. If you plan to use the autoareacreate
feature the config file must be writeable.

@node Syntax, Keywords, Location, config file
@section Syntax

The configfile must be readable to fidoconfig. If you plan to use
the autoareacreate feature the writing process must have write-access
to the configfile.

All symbols are @strong{not} case-sensitiv.

@{<whiteSpace>@} at the start of the line will be ignored.

All keywords are evaluated as occurring, the first matching 
keyword found is valid. If there are more then one keywords of the 
same type allowed, the first line matching the situation is valid. 
If no match is found, a default-value will be used.

"\" is used as escape-sequence. "\" has to be written as "\\".

non-printable characters can be expressed as \<hexValue>

"#" at the start of a line or <whiteSpace>#<whiteSpace> within the 
line starts a comment. The comment ends with the line.

If the first word in a line is an undefined keyword, the line will 
be ignored.

Each keyword has to start a new line.

Currently not supported:

"\" at end of line means that "\" and the following new-line-
character(s) will be ignored. (concatenating lines)

@node Keywords, Example, Syntax, config file
@section Keywords
All statements are case-@strong{insensitive}. A line which starts with a # is
a comment and will be ignored.

@menu
* version::                     version of fidoconfig
* name::                        your Systems Name
* location::                    your location
* sysop::                       your Name
* include::                     include other files
* address::                     your system address

* outbound::                    outbound path
* tempoutbound::                temporary outbound path
* inbound::                     inbound path
* protinbound::                 protected inbound
* listinbound::                 listed inbound
* localinbound::                local inbound
* tempinbound::                 temporary inbound path
* msgbasedir::                  base directory of areas
* intab::                       file for recoding incoming msgs
* outtab::                      file for recoding outgoing msgs
* importlog::                   file which contains the names of the areas tossed in
* echotosslog::                 file which contains the names of the areas messaged entered
* linkWithImportLog::           determines if only the areas which are in importLog should be linked
* public::                      path for requestable files
* logfiledir::                  path for log files
* dupehistorydir::              path for dupe files
* magic::                       path for magic-file requests
* lockfile::                    file which lock hpt session

* link::                        adding a link to your config
* aka::                         links adress
* ouraka::                      our aka for link
* password::                    links default password 
* pktpwd::                      pktpassword for this link
* ticpwd::                      ticker password for this link
* areafixpwd::                  areafix password for this link
* filefixpwd::                  filefix password for this link
* bbspwd::                      bbs password for this link (online user)
* sessionpwd::                  session password for this link
* handle::                      nickname or handle for link
* email::                       email address of this link
* tossgrp::                     tosser groups which link belongs to
* ticgrp::                      ticcer groups which link belongs to
* bbsgrp::                      online groups which link belongs to
* accessgrp::                   groups for echomail access
* optgrp::                      groups for export/import/mandatory
* export::                      rules for echomail export
* import::                      rules for echomail import
* mandatory::                   rules for echoarea access
* level::                       definition of link access level
* autoareacreate::              right to auto create areas on your system
* autoareacreatedefaults::      set defaults to autocreated echoareas
* packer::                      default packer for link
* echomailflavour::             flavour for outgoing echomail
* autoAreaCreateFile::          file where autoCreated Areas by this links are going
* forwardRequests::             allow forward requests to this link
* forwardRequestFile::          file for forwardRequest, AvialableAreas & descriptions
* remoteRobotName::             remote "areafix" name
* forwardPkts::                 shall we forward inbound packets for this node?
* pause::                       don't export mail for this link
* arcmailsize::			size of arcmail bundle
* allowEmptyPktPwd::            allow empty packet passwords

* nodelistdir::                 path for nodelists
* fidouserlist::                name of compiled fido user list file

* nodelist::                    adding a nodelist definition
* diffupdate::                  where nodediffs for this nodelist can be found
* fullupdate::                  where complete updates for the nodelist are
* defaultzone::                 specifying a zone number for a nodelist
* nodelistformat::              is it a nodelist or a pointlist?


* netmailarea::                 definition of netmailarea
* badarea::                     definition of badarea
* dupearea::                    definition of dupearea
* echoarea::                    definition of echoarea
* localarea::                   definition of localarea

* PublicGroup::                 this is a list of groups for public echo acess
* GroupAutoAreaCreate::         right to autoareaCreate for a group
* AutoCreateDefaults::          default area options for autocreated areas
* GroupDefaults::               default area options for GroupAutoAreaCreated areas

* pack::                        definition for packer
* unpack::                      definition for unpacker
* afterUnpack::                 execute string after unpack arcmail bundles
* beforePack::                  execute string before pack pkt files

* route::                       routing of netmails
* routeFile::                   routing of netmails with file attached
* routeMail::                   routing of netmails without file attached
 
* carbonTo::                    make carbonCopy using to-field of msg
* carbonFrom::                  make carbonCopy using from-field of msg
* carbonKludge::                make carbonCopy using kludge lines of msg
* carbonSubj::                  make carbonCopy using subject-field of msg
* carbonText::                  make carbonCopy using text-field of msg
* carbonArea::                  specify the area where the carbon copies go into
* carbonCopy::                  specify the area where the carbon copies go into
* carbonMove::                  specify the area where the carbon msg get moved into
* carbonExtern::                specify the external program to pass msg text to
* carbonAndQuit::               carbon message only one time
* carbonKeepSb::                keep seen-by's and path
* carbonReason::                string of carbon copy reason

* areafixFromPkt::              process areafix requests on the fly
* areafixKillReports::          set kill/sent flag to areafix reports
* ReportTo::                    set area or netmail for areafix reports
* areafixMsgSize::              maximum areafix report size
* areafixSplitStr::             set split string for splitted areafix messages

* logEchoToScreen::             set output to screen log information
* Remap::                       remap mail to other address
* SeparateBundles::             move echomail for each link to his own directory
* defarcmailsize::		default size for arcmail bundle

@end menu

@node version, name, Keywords, Keywords
@subsection version
@table @asis
@item Syntax:
@code{version <integer>.<integer>}
@item Example:
@code{version 0.13}
@end table

Here you specify to which version of fidoconfig your config belong.
Currently this statement does nothing.

This statement cannot be repeated.

@node name, location, version, Keywords
@subsection name
@table @asis
@item Syntax:
@code{name <text>}
@item Example:
@code{name Leetebrok BBS}
@end table

Here you specify your Systems name.

This statement cannot be repeated.

@node location, sysop, name, Keywords
@subsection location
@table @asis
@item Syntax:
@code{location <text>}
@item Example:
@code{location Dusseldorf}
@end table

You specify your Location here.

This statement cannot be repeated.

@node sysop, include, location, Keywords
@subsection sysop
@table @asis
@item Syntax:
@code{sysop <text>}
@item Example:
@code{sysop Matthias Tichy}
@end table

You specify your name with this keyword.

This statement cannot be repeated.

@node include, address, sysop, Keywords
@subsection include
@table @asis
@item Syntax:
@code{include <file>}
@item Example:
@code{include /etc/fido/areas}
@end table

You can include other files into your config file. For example if you would like to
have different config parts, you can include a file and (via cron job or manually)
change the content of this file without changing the rest of the config.
Additionally you can split your config in different parts. So you can
have your fileareas definition in another file than your msgareas definition.
This gives your the ability to have some survey about your config.

This statement can be repeated. But dont make recursive includes. eg include a  file which includes another which includes the first. Although this will be
detected and fixed many times, there is a chance that it will not be detected
one time.

@node address, outbound, include, Keywords
@subsection address
@table @asis
@item Syntax:
@code{Address <aka> [Line [unsignedInteger]1* ]}
@item Example:
@code{Address 2:2433/1245 Line 1 4 5}
@end table

This command specifies which akas your system has. This statement is full 5d
compatible, which means you can have also addresses like @code{2:2433/1245.1@@fidonet.org}.
If the Line options is empty this aka is displayed on all lines. In the above
example this aka is displayed on line 1, 4 and 5.
The first address statement is your main aka which will be used by tossers
on different occasions, for example if zone number could not be taken from
the @@INTL Kludge in netmails.

This statement can be repeated.

@strong{The Line option is not supported}
@strong{The domain name is not full supported throughout fidoconfig}

@node outbound, tempoutbound, address, Keywords
@subsection outbound
@table @asis
@item Syntax:
@code{outbound <path>}
@item Example:
@code{outbound /var/spool/fido/out}
@end table

This command specifies your outbound path. This outbound path is binkley-style.
A binkley style outbound consists of a base path and subdirectories. Each subdirectory
represents a place for all the files for one zone. The base path is the zone path
for your base zone.

Example:

@example
@table @asis
@item /var/spool/fido/out
This directory contains the files for your base zone.
@item /var/spool/fido/out.003
This directory contains the files for zone 3.
@item /var/spool/fido/out.00A
This directory contains the files for zone 10.
@end table
@end example

The zone directory contains the flow-files for each node. A Flow-file of a node
has the name NNNNFFFF.?lo

@example
@table @asis
@item NNNN
The 4-digit hex-number of the nodes netnumber.
@item FFFF
The 4-digit hex-number of the nodes nodenumber.
@item ?
Here the flavour of the mails can be chosen. @strong{h}old, @strong{c}rash,
@strong{f}normal.
@end table
@end example

For points there is a subdirectory with nodes flowfilename with suffix.pnt. In
this subdirectory the flowfiles have the names PPPPPPPP ( 8-digit point number
in hex).

For a deeper background on a binkley-style outbound see the binkley-term
documentation and source code.

This statement cannot be repeated.

@node tempoutbound, inbound, outbound, Keywords
@subsection tempoutbound
@table @asis
@item Syntax:
@code{tempoutbound <path>}
@item Example:
@code{outbound /var/spool/fido/out.tmp}
@end table

This command specifies your temporaryoutbound path. It is used for outgoing packets.

This statement cannot be repeated.

@node inbound, protinbound, tempoutbound, Keywords
@subsection inbound
@table @asis
@item Syntax:
@code{inbound <path>}
@item Example:
@code{inbound /var/spool/fido/in}
@end table

This command specifies where your inbound files are stored. This directory
is the base directory which means if you have a connection which ist not
protected and the other system is not listed. The files go in here.
Only netmails are tossed from this inbound.

This statement cannot be repeated.

@node protinbound, listinbound, inbound, Keywords
@subsection protinbound
@table @asis
@item Syntax:
@code{protinbound <path>}
@item Example:
@code{protinbound /var/spool/fido/in.sec}
@end table

This command specifies where files should be stored which were received
during a password-protected session.
All types of mail are tossed from this path. But passwords are checked
before.

This statement cannot be repeated.

@node listinbound, localinbound, protinbound, Keywords
@subsection listinbound
@table @asis
@item Syntax:
@code{listinbound <path>}
@item Example:
@code{listinbound /var/spool/fido/in.lst}
@end table

This command specifies where the files should be stored which were
received during a non-password-protected session from a listed system.
Only netmails are tossed from this path.

This statement cannot be repeated.

@node localinbound, tempinbound, listinbound, Keywords
@subsection localinbound
@table @asis
@item Syntax:
@code{localinbound <path>}
@item Example:
@code{localinbound /var/spool/fido/in.loc}
@end table

This command specifies the path, from which all types of netmail and echomail
are tossed @strong{without} any password checking. You can put pktīs here
which were created by a file tosser etc. So created by a you or a programm on
your own system.

This statement cannot be repeated.

@node tempinbound, msgbasedir, localinbound, Keywords
@subsection tempinbound
@table @asis
@item Syntax:
@code{tempinbound <path>}
@item Example:
@code{tempinbound /var/spool/fido/in.tmp}
@end table

This command specifies a path which is used while tossing. The incoming packets
are unpacked there.

This statement cannot be repeated.

@node msgbasedir, intab, tempinbound, Keywords
@subsection msgBaseDir
@table @asis
@item Syntax:
@code{msgBaseDir <path>}
@item Example:
@code{msgBaseDir /var/spool/fido/msgb}
@end table

This command specifies the path where autoareacreated msgBases are stored.
For example: If an area called @code{LINUX.GER} was autoareacreated and
the msgBaseDir is @code{/var/spool/fido/msgb} the resulting msgBaseName is

@example
/var/spool/fido/msgb/linux.ger.sqd
@end example

If you specify the msgbasedir as PASSTHROUGH, the areas are created as
passthrough areas.

This statement cannot be repeated.

@node intab, outtab, msgbasedir, Keywords
@subsection intab
@table @asis
@item Syntax:
@code{intab <file>}
@item Example:
@code{intab /var/spool/fido/recode/outaltkoi8}
@end table

This statement specifies the file which should be used to recode the
characters of the incoming messages from transport to internal
charset. It is useful in russia.
If you do not use this statement no recoding will be done.

This statement cannot be repeated.

@node outtab, importlog, intab, Keywords
@subsection outtab
@table @asis
@item Syntax:
@code{outtab <file>}
@item Example:
@code{outtab /var/spool/fido/recode/outkoi8alt}
@end table

This statement specifies the file which should be used to recode the
characters of the outgoing messages from internal to transport
charset. It is useful in russia.
If you do not use this statement no recoding will be done.

This statement cannot be repeated.

@node importlog, echotosslog, outtab, Keywords
@subsection importlog
@table @asis
@item Syntax:
@code{importlog <file>}
@item Example:
@code{importlog /var/spool/fido/import.log}
@end table

This statement specifies the file which a tosser fills with the names
of the areas where echomails has been tossed in.

This statement cannot be repeated.

@node echotosslog, linkWithImportLog, importlog, Keywords
@subsection echotosslog 
@table @asis
@item Syntax:
@code{echotosslog <file>}
@item Example:
@code{echotosslog /var/spool/fido/echotoss.log}
@end table

This statement specifies the file which is filled by a message editor
with the names of the areas where new echomails have been entered.
A tosser will only scan those areas which leads to a great speed-up.
After scanning the tosser will remove the file.

This statement cannot be repeated.

@node linkWithImportLog, public, echotosslog, Keywords
@subsection linkWithImportLog 
@table @asis
@item Syntax:
@code{linkWithImportLog <yers|no|kill>}
@item Example:
@code{linkWithImportLog yes}
@end table

This statement specifies if the importlog-file should be used to determine
which echomail areas need to be linked.

@table @asis
@item yes
importlog-file will be read. areas which are in importlog, will be linked.
the importlog-file will not be erased.
@item kill
like yes, but the importlog-file will be killed after using it.
@item no
DEFAULT. all areas will be linked.
@end table

This statement cannot be repeated.

@node public, logfiledir, linkWithImportLog, Keywords
@subsection public
@table @asis
@item Syntax:
@code{public <path>}
@item Example:
@code{public /var/spool/fido/public}
@end table

This command specifies the path where files which are requested are searched
for. The files are searched in this directory and in all subdirectories.

This command can be repeated.

@node logfiledir, dupehistorydir, public, Keywords
@subsection logFileDir
@table @asis
@item Syntax:
@code{logFileDir <path>}
@item Example:
@code{logFileDir /var/spool/log/fido}
@end table

This command specifies the path where the log-files of the fido-programs should
be stored.

This statement cannot be repeated.

@node dupehistorydir, magic, logfiledir, Keywords
@subsection dupeHistoryDir
@table @asis
@item Syntax:
@code{dupeHistoryDir <path>}
@item Example:
@code{dupeHistoryDir /var/spool/fido/dupes}
@end table

This command specifies the path where the dupe history files are stored.
The format and the names of the dupe-files are not standardized.

This statement cannot be repeated.


@node magic, lockfile, dupehistorydir, Keywords
@subsection magic
@table @asis
@item Syntax:
@code{magic <path>}
@item Example:
@code{magic /var/spool/fido/magic}
@end table

Directory with executables to satisfy "magic" file requests
if requested a file present in this directory, it will be
executed and stdout sent to the remote system.  If the file
is not executable, it is read line by line and the lines are
processed as if they were received file requests (recusively).
Execution of commands may compromize security!  You are warned.

This statement cannot be repeated.

@node lockfile, link, magic, Keywords
@subsection lockfile
@table @asis
@item Syntax:
@code{lockfile <file>}
@item Example:
@code{lockfile /var/lock/hpt}
@end table

another session of hpt will be terminated if found lockfile

This statement cannot be repeated.

@node link, aka, lockfile, Keywords
@subsection link
@table @asis
@item Syntax:
@code{link <name>}
@item Example:
@code{link Matthias Tichy}
@end table

This statement starts a new Link-definition. All the following link-related statements
change the configuration of this link until a new link statement is found.
The name is the name of this link.

This statement can be repeated.

@node aka, ouraka, link, Keywords
@subsection aka
@table @asis
@item Syntax:
@code{aka <aka>}
@item Example:
@code{aka 2:2433/1245}
@end table

This statement sets the aka for the current link. 

This statement can only be repeated for different links.

@node ouraka, password, aka, Keywords
@subsection ouraka
@table @asis
@item Syntax:
@code{ouraka <aka>}
@item Example:
@code{ouraka 2:2433/1247}
@end table

This statement sets the aka which is used with this link.

This statement can only be repeated for different links.

@node password, pktpwd, ouraka, Keywords
@subsection password
@table @asis
@item Syntax:
@code{password <string>}
@item Example:
@code{password secret}
@end table

This statement sets the default password for the link.
If you do not change the other passwords, they are set to this password.
Only passwords with maximal 8 characters are valid because of limitations of
other software packages.

This statement can only be repeated for different links.

@node pktpwd, ticpwd, password, Keywords
@subsection pktpwd
@table @asis
@item Syntax:
@code{pktpwd [<string>]}
@item Example:
@code{pktpwd geheim}
@end table

This statement sets the pktpassword for the actual link.
Only passwords with maximal 8 characters are valid because of limitations of
other software packages.
An empty statement is allowed.

This statement can only be repeated for different links.

@node ticpwd, areafixpwd, pktpwd, Keywords
@subsection ticpwd
@table @asis
@item Syntax:
@code{ticpwd [<string>]}
@item Example:
@code{ticpwd geheim}
@end table

This statement sets the ticcer password for the actual link.
Only passwords with maximal 8 characters are valid because of limitations of
other software packages.
An empty statement is allowed.

This statement can only be repeated for different links.

@node areafixpwd, filefixpwd, ticpwd, Keywords
@subsection areafixpwd
@table @asis
@item Syntax:
@code{areafixpwd [<string>]}
@item Example:
@code{areafixpwd geheim}
@end table

This statement sets the areafix password for the actual link.
Only passwords with maximal 8 characters are valid because of limitations of
other software packages.
An empty statement is allowed.

This statement can only be repeated for different links.

@node filefixpwd, bbspwd, areafixpwd, Keywords
@subsection filefixpwd
@table @asis
@item Syntax:
@code{filefixpwd [<string>]}
@item Example:
@code{filefixpwd geheim}
@end table

This statement sets the filefix password for the actual link.
Only passwords with maximal 8 characters are valid because of limitations of
other software packages.
An empty statement is allowed.

This statement can only be repeated for different links.

@node bbspwd, sessionpwd, filefixpwd, Keywords
@subsection bbspwd
@table @asis
@item Syntax:
@code{bbspwd [<string>]}
@item Example:
@code{bbspwd geheim}
@end table

This statement sets the bbs password for the actual link.
Only passwords with maximal 8 characters are valid because of limitations of
other software packages.
An empty statement is allowed.

This statement can only be repeated for different links.

@node sessionpwd, handle, bbspwd, Keywords
@subsection sessionpwd
@table @asis
@item Syntax:
@code{sessionpwd [<string>]}
@item Example:
@code{sessionpwd geheim}
@end table

This statement sets the session password for the actual link.
Only passwords with maximal 8 characters are valid because of limitations of
other software packages.
An empty statement is allowed.

This statement can only be repeated for different links.

@node handle, email, sessionpwd, Keywords
@subsection handle
@table @asis
@item Syntax:
@code{handle <name>}
@item Example:
@code{handle eddie}
@end table

This statements gives a link a nickname. This statement is supposed for bbs
systems.

This statement can only be repeated for different links.


@node email, tossgrp, handle, Keywords
@subsection email
@table @asis
@item Syntax:
@code{email <name>}
@item Example:
@code{email eddie@@ironmaiden.com}
@end table

This keyword is used to set the email-address for the link. This can
be used to send pkts via email.

This statement can only be repeated for different links.

@node tossgrp, ticgrp, email, Keywords
@subsection tossgrp
@table @asis
@item Syntax:
@code{tossgrp @{<group>@}}
@item Example:
@code{tossgrp fido}
@end table

This statement connects a link to several echomails groups.

This statement can only be repeated for different links.

@strong{This statement is currently not supported.}

@node ticgrp, bbsgrp, tossgrp, Keywords
@subsection ticgrp
@table @asis
@item Syntax:
@code{ticgrp @{<group>@}}
@item Example:
@code{ticgrp gfd}
@end table

This statement connects a link to several fileecho groups.

This statement can only be repeated for different links.

@strong{This statement is currently not supported.}

@node bbsgrp, accessgrp, ticgrp, Keywords
@subsection bbsgrp
@table @asis
@item Syntax:
@code{bbsgrp @{<group>@}}
@item Example:
@code{bbsgrp pay1}
@end table

This statement connects a link to several bbs groups.

This statement can only be repeated for different links.

@strong{This statement is currently not supported.}

@node accessgrp, optgrp, bbsgrp, Keywords
@subsection accessgrp
@table @asis
@item Syntax:
@code{accessgrp @{<group>@}}
@item Example:
@code{accessgrp pay1}
@end table

This statement connects a link to several echomail groups.
See also "publicgroup" and -g <group> in echoarea options.

This statement can only be repeated for different links.

@node optgrp, export, accessgrp, Keywords
@subsection optgrp
@table @asis
@item Syntax:
@code{optgrp @{<group>@}}
@item Example:
@code{optgrp py}
@end table

  Export, Import & Mandatory restrictions uses "optgrp" areas
instead of "accessgrp".

This statement can only be repeated for different links.

@node export, import, optgrp, Keywords
@subsection export
@table @asis
@item Syntax:
@code{export (on|off)}
@item Example:
@code{export off}
@end table

By default "export on".

if "export" is off, mail for groups defined in "optgrp" not tossed to link
and if "optgrp" not defined, then no mail tossed to link at all.

This statement can only be repeated for different links.

@node import, mandatory, export, Keywords
@subsection import
@table @asis
@item Syntax:
@code{import (on|off)}
@item Example:
@code{import off}
@end table

By default "import on".

Same as "export", but this is for mail *from* link.

This statement can only be repeated for different links.

@node mandatory, level, import, Keywords
@subsection mandatory
@table @asis
@item Syntax:
@code{mandatory (on|off)}
@item Example:
@code{mandatory on}
@end table

By default "mandatory off".

This statament do not allow the link to subscribe/unsubscribe areas

This statement can only be repeated for different links.

@node level, autoareacreate, mandatory, Keywords
@subsection level
@table @asis
@item Syntax:
@code{level @{<integer>@}}
@item Example:
@code{level 200}
@end table

Access level. Used in echoareas to control read/write access.
By default "level 0".

This statement can only be repeated for different links.

@node autoareacreate, autoareacreatedefaults, level, Keywords
@subsection autoareacreate
@table @asis
@item Syntax:
@code{autoareacreate (on|off)}
@item Example:
@code{autoareacreate on}
@end table

This statement gives a link the permission to create areas on your system just
by sending msgs in them.
The echoarea is created using the AutoCreateDef contents:
@example
   EchoArea <areaName> <msgBaseDir><areaName> -a <mypktaka> -b Squish <linkAka> <autoCreateDef>
@end example

This statement can only be repeated for different links.

@strong{This statement is only a temporal solution for autoareacreating. It will
be replaced by the group scheme, which is about to be implemented.}

@node autoareacreatedefaults, packer, autoareacreate, Keywords
@subsection autoareacreatedefaults
@table @asis
@item Syntax:
@code{autoareacreatedefaults [<string>]}
@item Example:
@code{autoareacreatedefaults -$m 200 -dupecheck move}
@end table

Set defaults to autocreated echoareas.

This statement can only be repeated for different links.

@node packer, echomailflavour, autoareacreatedefaults, Keywords
@subsection packer
@table @asis
@item Syntax:
@code{packer <packer>}
@item Example:
@code{packer zip}
@end table

This statement sets the packer for the link. You can use the packer which you
has set up using the pack statement.
If you omit this statement no mail will be packed. The pktīs will be put in
the outbound.

This statement can only be repeated for different links.

@node echomailflavour, autoAreaCreateFile, packer, Keywords
@subsection echomailflavour
@table @asis
@item Syntax:
@code{echoMailFlavour <hold|normal|crash|direct|immediate>}
@item Example:
@code{echoMailFlavour hold}
@end table

This statement sets the flavour which outgoing echomails for this link get.
For example set echomailFlavour for points to hold and for uplink crash.

This statement can only be repeated for different links.

@node autoAreaCreateFile, forwardRequests, echomailflavour, Keywords
@subsection autoAreaCreateFile
@table @asis
@item Syntax:
@code{autoAreaCreateFile <fileName>}
@item Example:
@code{autoAreaCreateFile /etc/fido/areas.matthias}
@end table

This statement defines where autocreated areas by this link are going to.
If you omit this statement the default configuration file will be used.
The tosser must have the rights to create and change the file.

@strong{You must include the specified file for yourself into fidoconfig,
so these autocreated areas are found in subsequent tosser-runs.}

This statement can only be repeated for different links.

@node forwardRequests, forwardRequestFile, autoAreaCreateFile, Keywords
@subsection forwardRequests
@table @asis
@item Syntax:
@code{forwardRequests (on|off)}
@item Example:
@code{forwardRequests on}
@end table

By default "forwardRequests off".
"on" allow forward requests to this link from other links.

This statement can only be repeated for different links.

@node forwardRequestFile, remoteRobotName, forwardRequests, Keywords
@subsection forwardRequestFile
@table @asis
@item Syntax:
@code{forwardRequestFile <fileName>}
@item Example:
@code{forwardRequestFile /etc/fido/fidonet.na}
@end table

file for forward requests (also for available areas and descriptions)
if not defined then forward requests unconditional

This statement can only be repeated for different links.

@node remoteRobotName, forwardPkts, forwardRequestFile, Keywords
@subsection remoteRobotName
@table @asis
@item Syntax:
@code{remoteRobotName <string>}
@item Example:
@code{remoteRobotName allfix}
@end table

Set remote system "areafix" to new name. This token used when requests
to subscribe/unsubscribe new areas forwarded to this link.

This statement can only be repeated for different links.

@node forwardPkts, pause, remoteRobotName, Keywords
@subsection forwardPkts
@table @asis
@item Syntax:
@code{forwardPkts <off|secure|on>}
@item Example:
@code{forwardPkts yes}
@end table

If we receive a PKT file that is not addressed to our system, but to this
link of us, this flag controls if the PKT file should be binary
forwarded to this link. The default behaviour is not to forward the pkt
file, but to remain it to @code{<filename>.ntu} and leave it in the
inbound. If you specify @code{<yes>}, the file will instead be forwarded
to the destination link (i.E. put into his arcmail bundle). If you
specify @code{<secure>}, the file will only be forwarded if we have
received it in the secure inbound. You should specify @code{secure} if
the destination link does not check packet passwords.

PKT forwarding can be useful for tunneling purposes, for
instance. Another example is if you are running two nodes, one IP node
at your company and one PSTN node at your home. If you want to show both
node numbers at both mailers, the tossers at each node must forward PKT
files that are addressed to the other node, because they themselves
cannot process it (each tosser has a different node number, because the
systems operate on distinct outbound structures and distinct message
base areas).

@node pause, arcmailsize, forwardPkts, Keywords
@subsection pause
@table @asis
@item Syntax:
@code{pause}
@item Example:
@code{pause}
@end table

Stop export echomail for this link.

@node arcmailsize, allowEmptyPktPwd, pause, Keywords
@subsection arcmailsize
@table @asis
@item Syntax:
@code{arcmailsize <integer>}
@item Example:
@code{arcmailsize 300}
@end table

maximum arcmail size in kb for this link.
default is 500kb.

@node allowEmptyPktPwd, nodelistdir, arcmailsize, Keywords
@subsection allowEmptyPktPwd
@table @asis
@item Syntax:
@code{allowEmptyPktPwd <off|secure|on>}
@item Example:
@code{allowEmptyPktPwd on}
@end table

This flag is useful if you want to generate packet passwords for this link,
but do not want to check the packet passwords that your link sends to you.
This is sometimes necessary as a workaraound if your link sends you netmail
packets without packet passwords, for example.

The default state is off. In this case the incoming packet password must
match the packet password that you defined. This is the most secure option.

If you set this switch to @code{secure}, packets that do not contain a
packet password and are received in the protected inbound will be processed.
You can use this if your uplink sometimes sends you packets without packet
passwords, as a workaround until the uplink has fixed his system. Still, if
you receive packets with @emph{wrong} packet passwords, they will be
rejected.

The setting @code{on} works like the @code{secure} setting, with the
difference that packets without packet passwords are allowed even in the
unprotected inbound directory. It is not recommended to use this setting.


@node nodelistdir, fidouserlist, allowEmptyPktPwd, Keywords
@subsection nodelistDir
@table @asis
@item Syntax:
@code{nodelistDir <path>}
@item Example:
@code{nodelistDir /var/spool/fido/nodelist}
@end table

This command specifies the path where the actual nodelists are or should
be written to. This path contains the raw nodelist (@pxref{nodelist}). Also,
compiled nodelists like the @file{FIDOUSER.LST} will be stored here.

This statement cannot be repeated.

@node fidouserlist, nodelist, nodelistdir, Keywords
@subsection fidoUserList
@table @asis
@item Syntax:
@code{fidoUserList <filename>}
@item Example:
@code{fidoUserList fidouser.lst}
@end table

If this keyword is present, the nodelist compiler (e.g. @code{ulc}) is
instructed to build a user list file with the given filename in the nodelist
directory (@pxref{nodelistdir}). This is a simple text file with fixed line
length that contains user names (nodes, points) and their corresponding node
or pointnumbers. The file is sorted alphabetically by user name (case
insensitive), so that it can be bsearched to implement a quick node numer
lookup functinality. The fido user list file format is understood by
@code{msged}, for example.

@node nodelist, diffupdate, fidouserlist, Keywords
@subsection nodelist
@table @asis
@item Syntax:
@code{Nodelist <name>}
@item Example:
@code{Nodelist nodelist} or @code{Nodelist points24}
@end table

This statement starts a new nodelist definition. All the following
nodelist-related stamtements change the configuration of this nodelist until
a new @code{nodelist} statement is found.

The name that you specify must match the base name (without extension and
without pathname) of the raw, unpacked, nodelist file. The husky tools
@code{ulc} and @code{nlupdate} math the file name case-insensitively, but
other tools may need the exact spelling. The raw nodelist file is
expected to reside in the nodelist directory (@pxref{nodelistdir}).

@node diffupdate, fullupdate, nodelist, Keywords
@subsection diffupdate
@table @asis
@item Syntax:
@code{DiffUpdate <path_and_basname>}
@item Example:
@code{DiffUpdate /var/spool/filebase/nodediff/nodediff}
@end table

Here you can specify the base filename of nodelist difference files
(nodediffs) that are used to keep the corresponding nodelist up to date. The
argument to the DiffUpdate is the full file name with path of a difference
file, without the file extension. For example, if you have a file area at
@file{/var/spool/filebase/24000}, where your ticker places the updates for
the German Pointlist, and those update files are called @file{points24.a26},
@file{points24.a33}, and so on, you would use

@example
DiffUpdate /var/spool/filebase/24000/points24
@end example

The @code{Diffupdate} keyword is used by @code{nlupdate}, for example. The
nodelist updater will unpack the difference file (if it is archived, of
course, unpacked diffs are also supported), apply the diff to the
corresponding nodelist, and delete the temporary unpacked diff again.


@node fullupdate, defaultzone, diffupdate, Keywords
@subsection fullupdate
@table @asis
@item Syntax:
@code{FullUpdate <path_and_basname>}
@item Example:
@code{FullUpdate /var/spool/filebase/nodelist/nodelist}
@end table

This statement works like @code{DiffUpdate} (@pxref{diffupdate}). The
difference is that here you don't specify the location of a nodelist
difference file, but the locations where complete nodelist files/archives can
be found. Some othernets do not (regularly) distribute a nodediff file, but
just hatch a new nodelist every few weeks. In this case, you need the
@code{FullUpdate} statement.

@node defaultzone, nodelistformat, fullupdate,Keywords
@subsection defaultzone
@table @asis
@item Syntax:
@code{DefaultZone <zone>}
@item Example:
@code{DefaultZone 2}
@end table

Some nodelist files do not start with a @samp{Zone} entry. This is the case
for the German Points24 list, for example, but could also happen for
othernets that only have one zone. In this case, you can use the
@code{DefaultZone} keyword to specify the default zone number for all nodes
listed in this nodelist.

@node nodelistformat, netmailarea, defaultzone, Keywords
@subsection nodelistformat
@table @asis
@item Syntax:
@code{Nodelistformat <format>}
@item Example:
@code{NodelistFormat standard} or @code{NodelistFormat Points24}
@end table

Here you can specify the format of the unpacked nodelist. The default is
@samp{standard}; this is the normal Fidonet nodelist format. You can also
specify @samp{points24}, which is needed for the nodelist compiler to
recognise a point list in the German points24 format as such, so that it can
see the proper 5D point numbers instead of the fakenet numbers.

@node netmailarea, badarea, nodelistformat, Keywords
@subsection netmailarea
@table @asis
@item Syntax:
@code{NetmailArea <name> <file> [<msgbase>] @{Option@}}
@item Example:
@code{NetmailArea netmail /var/spool/fido/msgb/netmail Squish}
@end table

This statement specifies the netmailarea.
@xref{echoarea}, for details on @code{Option}.
Like all areas Netmailareas are *.msg bases per default. 

This statement can be repeated to use different netmailareas.

@node badarea, dupearea, netmailarea, Keywords
@subsection badarea
@table @asis
@item Syntax:
@code{badArea <name> <file> [<msgbase>] @{Option@}}
@item Example:
@code{BadArea badarea /var/spool/fido/msgb/bad Squish}
@end table

This statement specifies the badarea. Messages which have no area on your
system go to the badArea.
@xref{echoarea}, for details on @code{Option}.
Like all areas Badareas are *.msg bases per default.

This statement cannot be repeated.

@node dupearea, echoarea, badarea, Keywords
@subsection dupeArea
@table @asis
@item Syntax:
@code{dupeArea <name> <file> [<msgbase>] @{Option@}}
@item Example:
@code{dupeArea dupeArea  /var/spool/fido/msgb/dupes Squish}
@end table

This statement specifies the dupeArea. Messages which area dupes e.g. come
to your system the second time, will be put in the dupearea.
@xref{echoarea}, for details on @code{Option}.
Like all areas Dupeareas are *.msg bases per default.

This statement cannot be repeated.

@node echoarea, localarea, dupearea, Keywords
@subsection echoArea
@table @asis
@item Syntax:
@code{EchoArea <name> <file> [<msgbase>] @{Option@} @{linkAka@} @{linkOption@}}
@item Example:
@code{EchoArea linux.develop.ger /var/spool/fido/msgb/linux.develop.ger
-b Squish -a 2:2433/1247 -g A -dupeCheck move -dupehistory 11 -d "Linux
development" 2:2433/1245}
@end table

This statement specifies the echoareas.
@table @asis
@item name:
area-tag
@item file:
filename(s) for this area without extension; 
should be the area-tag (as far as possible)
if file == Passthrough then [<msgBase>] is skipped and msgarea is
set as an passthrough area
@item msgbase:
*.msg is standard. Write Squish for an Squish-msgbase
@item LinkAKA:
aka's of up- and down links
@end table

Options:

@table @asis
@item -lr <integer>
required level for read access (see also "level" in link options)
@item -lw <integer>
required level for write access
@item -mandatory
forbid to subscibe/unsubscribe from this echo
@item <linkAka> -r
this link is read only
@item <linkAka> -w
this link is write only
@item <linkAka> -mn
this link is mandatory subscribed
you may also set: "<aka> -r -mn" or "<aka> -w -r" and so on...
@item -p <integer>
purge after n days, 
@item -$m <integer>
leave max n messages after purge in area
@item -killRead
kill read msgs in area on purging
@item -keepUnread
keep unread msgs in area on purging
@item -a <aka>      
aka to use
@item -b <msgbase type>
type of msgbase (Msg, Squish, Jam)
@item -g <group>
group for this echoarea
@item -keepsb
keep seen-by's (used in CarbonCopy)
@item -tinysb
keep only seen-by's of links listed in @{link@} @strong{This statement is currently not supported.}
@item -manual
disallow remote changes (only manual connect/disconnect). same as mandatory.
@item -dosfile
file name of area is in dos style (8+3)
@item -h           
hide area
@item -d <"Description for the area between double quote (like this)">
describe area
@item -nopause        
%PAUSE has no effect to this area
@item -ccoff
disables carbonCopies for this area
@item -DupeCheck off|move|del
toss in dupes, move dupes to dupeArea or delete dupes.
@item -DupeHistory <unsignedInteger>
size of dupecheck history file in days
@end table

LinkOption:
@table @asis
@item -imp
import only for redundant echomail-supply @strong{This statement is currently not supported.}
@item -def
default-uplink for redundant echomail-supply @strong{This statement is currently not supported.}
@end table

This statement can be repeated.

@node localarea, PublicGroup, echoarea, Keywords
@subsection localArea
@table @asis
@item Syntax:
@code{localArea <name> <file> [<msgbase>] @{Option@}}
@item Example:
@code{localArea linux.develop.ger /var/spool/fido/msgb/linux.develop.ger Squish -a 2:2433/1247 -dupeCheck move -dupehistory 11 -d "Linux development"}
@end table

This statement creates an localArea. The only difference between a localArea
and a echoArea is that a localArea has no links and is not scanned for new
mails.

This statement can be repeated.

@node PublicGroup, GroupAutoAreaCreate, localarea, Keywords
@subsection PublicGroup
@table @asis
@item Syntax:
@code{PublicGroup @{<groups>@} }
@item Example:
@code{PublicGroup abcde12}
@end table

Tis is a list of groups for public echo acess.

@node GroupAutoAreaCreate, AutoCreateDefaults, PublicGroup, Keywords
@subsection GroupAutoAreaCreate
@table @asis
@item Syntax:
@code{GroupAutoAreaCreate on|off @{<groups>@} }
@item Example:
@code{GroupAutoAreaCreate on fidonet fido.de}
@end table

You can here define for all the members of a group, if they area allowed to
autoCreate areas on your system.
If no group is given, this is default for all groups.

@strong{This statement is currently not supported.}

@node AutoCreateDefaults, GroupDefaults, GroupAutoAreaCreate, Keywords
@subsection AutoCreateDefaults
@table @asis
@item Syntax:
@code{AutoCreateDefaults <string> }
@item Example:
@code{AutoCreateDefaults -$m 200 -dupeCheck move -dosfile -d "Autocreated area"}
@end table

Area options defaults for autoCreated Areas.

@strong{This will be replaced by the more flexible group definition.}

@node GroupDefaults, pack, AutoCreateDefaults, Keywords
@subsection GroupDefaults
@table @asis
@item Syntax:
@code{GroupDefaults <groups> <path> [<msgbas>] @{<option>@} @{<linkAka> @{linkoption@}@} }
@item Example:
@code{GroupDefaults fidonet /var/spool/fido/msgb Squish -$m 200 -dupeCheck move -dupeHistory 14 -d "Autocreated Area"}
@end table

This statement sets the default for auto created Areas according to the group of
the creater.

@strong{This is currently not supported}

@node pack, unpack, GroupDefaults, Keywords
@subsection Pack
@table @asis
@item Syntax:
@code{Pack zip|tgz|rar|arc|arj|..... <call>}
@item Example:
@code{Pack zip zip -9 -g -q $a $f}
@end table

This statement sets the command line call for the packer.
The file will be moved into the archiv, that means the file will be deleted on
the harddisk. It only remains in the archiv.

$a will be replaced by the archiv file

$f will be replaced by the file  which should be packed into the archiv

@node unpack, afterUnpack, pack, Keywords
@subsection Unpack
@table @asis
@item Syntax:
@code{Unpack "<Call>" <offset> <matchcode>}
@item Example:
@code{Unpack "unzip -joLqq $a -d $p" 0 504b0304}
@end table

This statement sets the call of certain unpackers according to a id in the
archiv file

call: see pack

offset: position of recognition string in packed file.

offset ::= <hexValue>

match code:  recognition string for packed file, ?? can be used as don't care

$p will be replaced by the temp inbound path

@example

e.g.: unpack "unzip -joLqq $a -d $p" 0 504b0304

       files packed by zip can be recognized by
         504b0304(hex) at offset 0(hex)
       they can be unpacked by "unzip -joLqq <filename> -d <path>"

@end example

@node afterUnpack, beforePack, unpack, Keywords
@subsection afterUnpack
@table @asis
@item Syntax:
@code{afterUnpack <string>}
@item Example:
@code{afterUnpack pktpack /home/fido/in.tmp/*.pkt}
@end table

This <string> executes after unpacking arcmail bundle. You may process
your pkt files in @code{tempInbound} directory with external utility.

@node beforePack, route, afterUnpack, Keywords
@subsection beforePack
@table @asis
@item Syntax:
@code{beforePack <string>}
@item Example:
@code{beforePack pktpack /home/fido/out.tmp/*.pkt}
@end table

This <string> executes before packing pkt files to arcmail bundles. You 
may process your pkt files in @code{tempOutbound} directory with
external utility.

@node route, routeFile, beforePack, Keywords
@subsection route
@table @asis
@item Syntax:
@code{route <flavour> [enc|noenc] <target> @{<linkWW>@}}
@item Example:
@code{route crash 2:2433/1245 2:2433/* 2:2432/*}
@end table

This statement defines a route.

@strong{flavour:}
@enumerate
@item
hold
@item
normal
@item
crash
@item
direct
@item
immediate
@end enumerate

enc: means encrypted msgs

noenc: means unencrypted msgs

@strong{target:}
@enumerate
@item
<aka>
@item
host
@item
hub
@item
boss
@item
no-route
@end enumerate

linkWW is a dos pattern with ? and *.

Route statements are parsed in descending order:
Pseudo-code:

@example
  1) actual = first statement

  2) if linkWWW = msg-destination using pattern matching

  2a) take this routing and return

  2b) else actual = next statement

  3) jump to 2)
  
@end example

if no route statement found whose pattern matchs witch the aka, then the mail
is left alone.

@node routeFile, routeMail, route, Keywords
@subsection routeFile
@table @asis
@item Syntax:
@code{route <flavour> [enc|noenc] <target> @{<linkWW>@}}
@item Example:
@code{route crash 2:2433/1245 2:2433/* 2:2432/*}
@end table

This statement is the same as the route statement, but considers only
msgs with an file attached.

@node routeMail, carbonTo, routeFile, Keywords
@subsection routeMail
@table @asis
@item Syntax:
@code{route <flavour> [enc|noenc] <target> @{<linkWW>@}}
@item Example:
@code{route crash 2:2433/1245 2:2433/* 2:2432/*}
@end table

This statement is the same as the route statement, but considers only
msgs without file attached.

@node carbonTo, carbonFrom, routeMail, Keywords
@subsection carbonTo
@table @asis
@item Syntax:
@code{carbonTo <name>}
@item Example:
@code{carbonTo Max Levenkov}
@end table

If an echomail is tossed whose to-field is the same as <name>, the echomail is
copied to the area specified by the carbonArea keyword. The names must be
an exact match.

This statement can be repeated.

@node carbonFrom, carbonKludge, carbonTo, Keywords
@subsection carbonFrom
@table @asis
@item Syntax:
@code{carbonFrom <name>}
@item Example:
@code{carbonFrom Matthias Tichy}
@end table

If an echomail is tossed whose from-field is the same as <name>, the echomail is
copied to the area specified by the carbonArea keyword. The names must be
an exact match.

This statement can be repeated.

@node carbonKludge, carbonSubj, carbonFrom, Keywords
@subsection carbonKludge
@table @asis
@item Syntax:
@code{carbonKludge <kludge-substring>}
@item Example:
@code{carbonKludge MSGID: 2:5000/117.}
@end table

If an echomail is tossed which has a kludge line which includes the <kludge-
string> as a substring, he echomail is copied to the area specified by the
arbonArea keyword.

This statement can be repeated.

@node carbonSubj, carbonText, carbonKludge, Keywords
@subsection carbonSubj
@table @asis
@item Syntax:
@code{carbonSubj  <subj-substring>}
@item Example:
@code{carbonSubj beer}
@end table

If an echomail is tossed which has a subject line which includes the <subj-
string> as a substring, this echomail is copied to the area specified by the
arbonArea keyword.

This statement can be repeated.

@node carbonText, carbonArea, carbonSubj, Keywords
@subsection carbonText
@table @asis
@item Syntax:
@code{carbonText <text-substring>}
@item Example:
@code{carbonText cool beer}
@end table

If an echomail is tossed which has a kludge line which includes the <text-
string> as a substring, he echomail is copied to the area specified by the
arbonArea keyword.

This statement can be repeated.

@node carbonArea, carbonCopy, carbonText, Keywords
@subsection carbonArea
@table @asis
@item Syntax:
@code{carbonArea <area-tag>}
@item Example:
@code{carbonArea written.from.points}
@end table

This statement sets the area for the previous carbon@{To|From|Kludge@}
statement.
If this statement is ommitted. The carbon Copy goes to the badArea.

This statement can be repeated for each different carbon@{To|From|Kludge@}
statement.

@node carbonCopy, carbonMove, carbonArea, Keywords
@subsection carbonArea
@table @asis
@item Syntax:
@code{carbonCopy <area-tag>}
@item Example:
@code{carbonCopy written.from.points}
@end table

This statement sets the area for the previous carbon@{To|From|Kludge@}
statement.
If this statement is ommitted. The carbon Copy goes to the badArea.

This statement can be repeated for each different carbon@{To|From|Kludge@}
statement.
It's similiar to carbonArea, which I (KN) propose to remove

@node carbonMove, carbonExtern, carbonCopy, Keywords
@subsection carbonArea
@table @asis
@item Syntax:
@code{carbonMove <area-tag>}
@item Example:
@code{carbonMove written.from.points}
@end table

This statement sets the area for the previous carbon@{To|From|Kludge@}
statement.
If this statement is ommitted. The carbon msg gets moved to the badArea.

This statement can be repeated for each different carbon@{To|From|Kludge@}
statement.
Unlike carbonArea and carbonCopy msg gets moved, not copied into this area

@node carbonExtern, carbonAndQuit, carbonMove, Keywords
@subsection carbonArea
@table @asis
@item Syntax:
@code{carbonExtern <program name>}
@item Example:
@code{carbonExtern douuedecode}
@end table

This statement specifies external program to run for the previous 
carbon@{To|From|Kludge@} statement.
If this statement is ommitted. The carbon msg gets moved to the badArea.

This statement can be repeated for each different carbon@{To|From|Kludge@}
statement.
If program name is prepended with '|' sign, hpt tries to pass data thru the 
pipe, not temporary file.

@node carbonAndQuit, carbonKeepSb, carbonExtern, Keywords
@subsection carbonAndQuit
@table @asis
@item Syntax:
@code{carbonAndQuit}
@item Example:
@code{carbonAndQuit}
@end table

By default one message can be processed by Carbon Copy several times.
For example: you set CarbonTo "max" to echoarea MY.MAIL and CarbonSubj
"beer" to echoarea MY.PLEASURE :-) And message to "max" and with this
subject line carbons to each echoarea.
If you turn on <carbonAndQuit> message will copy to MY.MAIL only.

@node carbonKeepSb, carbonReason, carbonAndQuit, Keywords
@subsection carbonKeepSb
@table @asis
@item Syntax:
@code{carbonKeepSb}
@item Example:
@code{carbonKeepSb}
@end table

For each CC message SEEN-BY's and PATH fields are killed. If you set up
@code{carbonKeepSb} then all kludges will be saved. But you may also
set up @code{-keepsb} in options of echoarea where you carbon messages.

@node carbonReason, areafixFromPkt, carbonKeepSb, Keywords
@subsection carbonReason
@table @asis
@item Syntax:
@code{carbonReason <string>}
@item Example:
@code{carbonText msged}
@code{carbonReason Found 'msged' in message}
@code{carbonArea my.searches.echo}
@end table

This statement sets the 'reason string' for the previous
carbon@{To|From|Kludge|Subj|Text@} statement.

This string would be printed after ' * Forwarded ...' line in message
begining. That's useful when many carbons are made to single area.
No reason string is printed if this statement is ommitted.

This statement can be repeated for each different
carbon@{To|From|Kludge|Subj|Text@} statement.

@node areafixFromPkt, areafixKillReports, carbonReason, Keywords
@subsection areafixFromPkt
@table @asis
@item Syntax:
@code{areafixFromPkt}
@item Example:
@code{areafixFromPkt}
@end table

Process areafix requests on the fly. Check "areafix", "areamgr" &
"hpt" keywords in toUserName field.

@node areafixKillReports, ReportTo, areafixFromPkt, Keywords
@subsection areafixKillReports
@table @asis
@item Syntax:
@code{areafixKillReports}
@item Example:
@code{areafixKillReports}
@end table

Set kill/sent flag to areafix reports.

@node ReportTo, areafixMsgSize, areafixKillReports, Keywords
@subsection ReportTo
@table @asis
@item Syntax:
@code{ReportTo <name>}
@item Example:
@code{ReportTo netmail}
@end table

Set area or netmail for areafix reports.

@node areafixMsgSize, areafixSplitStr, ReportTo, Keywords
@subsection areafixMsgSize
@table @asis
@item Syntax:
@code{areafixmsgsize <integer>}
@item Example:
@code{areafixmsgsize 20}
@end table

this option set up maximum areafix message size (20 kb)
if not defined, areafix reports will be not splitted...

@node areafixSplitStr, logEchoToScreen, areafixMsgSize, Keywords
@subsection areafixSplitStr
@table @asis
@item Syntax:
@code{areafixSplitStr <string>}
@item Example:
@code{areafixSplitStr > Message splitted. To be continued...}
@end table

this string added after splitted araefix message.

@node logEchoToScreen, Remap, areafixSplitStr, Keywords
@subsection logEchoToScreen
@table @asis
@item Syntax:
@code{logEchoToScreen}
@item Example:
@code{logEchoToScreen}
@end table

Set output to screen log messages.

@node Remap, SeparateBundles, logEchoToScreen, Keywords
@subsection Remap
@table @asis
@item Syntax:
@code{Remap <toUserName>,<toAka>,<newAka>}
@item Example:
@code{Remap Max Levenkov,2:5000/117,2:5000/117.1}
@end table

Remap mail to other address.

@node SeparateBundles, defarcmailsize, Remap, Keywords
@subsection SeparateBundles
@table @asis
@item Syntax:
@code{SeparateBundles}
@item Example:
@code{SeparateBundles}
@end table

This statament move echomail for all links to his own directory.

@node defarcmailsize, , SeparateBundles, Keywords
@subsection defarcmailsize
@table @asis
@item Syntax:
@code{defarcmailsize <integer>}
@item Example:
@code{defarcmailsize 1024}
@end table

default arcmail size in kb for all links.
500kb if not defined.

@node Example,  , Keywords, config file
@section Working sample config
@example
@include config
@end example
