FidoConfig Manual

Next: , Previous: , Up: (dir)  

fidoconfig

This document describes the use of fidoconfig to make fido work on your favorite platform.

This document applies to version 1.9 of fidoconfig.


Next: , Previous: , Up: Top  

1 Design goals

The design goal of fidoconfig was to provide one config-file for several different fido software packages like editor, tosser etc. An additional aim was to have one library (fidoconfig) which can be used by all programs. The advantage is you only have to edit one config-file, so changing your system is much easier than with common software packages. Also bugs can only creep in one library and not in thousands over thousands libraries. The config definition can be used in all operating systems. Also the library should be quite portable.


Next: , Previous: , Up: Top  

2 Config file

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


Next: , Previous: , Up: config file  

2.1 Config file location

The fidoconfig library searches the config file on different locations:

linux:

/etc/fido/config

freebsd:

/usr/local/etc/fido/config

os2/win32/etc:

in the current directory

If you compile library with huskymak.cfg, the location will be overset with CFGDIR parameter.

Additionally you can set an enviroment variable called FIDOCONFIG which points to the file:

set FIDOCONFIG=e:\bbs\fidoconfig\config

FIDOCONFIG=~/fidoconfig/config
export FIDOCONFIG

The config file(s) must be readable. If you plan using the autoareacreate feature of HPT / autofilecreate featute of HTick / etc..., the config file(s) must be writeable.


Next: , Previous: , Up: config file  

2.2 Syntax

All symbols are not case-sensitive.

{<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 last line matching the situation is valid. Another words: second definition overwrites the previous one. If no match is found, a default value will be used.

"#" at the start of a line or <whiteSpace>#<whiteSpace> within the line starts a comment. The comment ends with the line. Comment char "#" can be overwritten by commentChar token.

If the first word in a line is an undefined keyword, program exits with error message.

Each keyword has to start a new line.

Keyword parameters:

<integer>

string including integer numbers, like: 1234567890

<string>

text string, optionally in double quotes.

<bool>

may be set to "1", "0", "yes", "no", "on", "off", and also without parameters (it means "on").

<addr>

address string like zone:net/node[.point][@domain]

example: 2:5000/117

<file>

file name. path can be omitted.

<path>

only path. trailing slash may be included or not.

Note! [<parameter>] means that it can be omitted.

FIDOCONFIG library can set up internal variables:

set basedir=/home/user/fido/

[OS] variable is automatically set up for following operating systems:

UNIX

All unix-like OS: Linux, *BSD, BeOS, ...

OS/2
WIN
MSDOS

You can set something like:

if [OS]==UNIX
tearline `uptime`
endif

Some programs can be compiled with module variable. It can be used to speed up config parsing:

if [module]==htick
include /etc/ftn/fileareas
endif

And if HPT is running, fileareas aren’t parsed because [module]==hpt.

There are following modules available:

hpt (Highly Portable Tosser)
htick (Husky Ticker)
hptutil
hpucode

Also external variables can be parsed:

autoexec.bat:
SET VAR=myvar

fidoconfig:
if [VAR]==myvar
...
else
...
endif

ifdef UNIX
MsgBaseDir  [home]/msgbase
endif

You can use external programs output via `cmd`. It is available only for UNIX & OS/2+EMX:

Name Power Station under `uname -mrs`

List of the additional commands:

set, if, if not, else, elseif, ifdef, ifndef, endif.

You can compare with a pattern by using =~ and !~ instead of == and !=:

if [VAR] =~ *substr*
...
endif
if [VAR] !~ bla?bla*
...
endif

Next: , Previous: , Up: config file  

2.3 Common keywords for HUSKY-programs

These keywords may be used by several programs. More specific keywords you can find in the programs’ individual documentations.


Next: , Previous: , Up: config file  

2.4 Highly Portable Tosser keywords

This section contains keyword-list only. Read HPT Manual for more info.

accessgrp
address
addtoseen
advancedareafix
advisorylock
afterunpack
aka
allowemptypktpwd
allowpktaddrdiffer
arcmailsize
arcnetmail
areafix
areafixecholimit
areafixfrompkt
areafixhelp
areafixReportsAttr
areafixkillrequests
areafixmsgsize
areafixnames
areafixorigin
areafixpwd
areafixqueryreports
areafixqueuefile
areafixsplitstr
areafixfromname
areasfilenamecase
areasmaxdupeage
autoareacreate
autoareacreatedefaults
autoareacreatefile
autoareacreateflag
autoareacreatesubdirs
autopassive
autopause
availlist
badarea
beforepack
bundlenamestyle
carbonaddr
carbonandquit
carboncopy
carbondelete
carbonexcludefwdfrom
carbonextern
carbonfrom
carbonfromarea
carbongroups
carbonkeepsb
carbonkludge
carbonmove
carbonout
carbonreason
carbonrule
carbonsubj
carbontext
carbonto
createareascase
createfwdnonpass
dailybundles
defarcmailsize
denyfwdfile
denyfwdmask
denyfwdreqaccess
denyuncondfwdreqaccess
disablekludgerescanned
disabletid
disablepid
dupearea
dupebasetype
dupehistorydir
echoarea
echoareadefaults
echomailflavour
echotosslog
excludepassthroughcarbon
export
filebox
fileboxalways
fileboxesdir
forwardareapriority
forwardpkts
forwardrequestfile
forwardrequestmask
forwardrequests
forwardrequesttimeout
hptperlfile
idlepassthrutimeout
ignorecapword
ignoreseen
import
importlog
inbound
include
intab
keeptrsfiles
keeptrsmail
killedrequesttimeout
kludgeareanetmail
level
link
linkbundlenamestyle
linkdefaults
linkfilebasedir
linkgrp
linkmsgbasedir
linkwithimportlog
localarea
localinbound
lockfile
logechotoscreen
mandatory
mindiskfreespace
msgbasedir
name
netarea
netmailarea
netmailextern
netmailflag
netmailflavour
newarearefusefile
noprocessbundles
norules
notvalidfilenamechars
optgrp
origin
ouraka
outbound
outtab
pack
packaka
packer
packnetmailonscan
password
pause
pktpwd
pktsize
processpkt
protinbound
publicgroup
reducedseenby
remap
remoterobotname
reportto
robotsarea
route
routefile
routemail
rulesdir
separatebundles
setconsoletitle
statlog
sysop
tearline
tempinbound
tempoutbound
tossingext
unpack

Next: , Previous: , Up: config file  

2.5 HTick (Husky Ticker) keywords

This section contains keyword-list only. Read HTick Manual for more info.

AddDLC
AnnAreaTag
AnnAddrfrom
AnnAddrto
AnnExclude
AnnFileOrigin
AnnFileRFrom
AnnFrom
AnnInclude
AnnMessFlags
AnnOrigin
AnnounceSpool
AnnSubj
AnnTo
AutoFileCreateFlag
BbsArea
BusyFileDir
ConvertLongNames
ConvertShortNames
DLCDigits
ExecOnFile
FileArea
FileAreaBaseDir
FileAreaCreatePerms
FileDescPos
FileAreaDefaults
FileDescName
FileEchoFlavour
FileLDescString
FileFixFromName
FileFixHelp
FileFixReportsAttr
FileFixKillRequests
FileFixNames
MaxTicLineLength
OriginInAnnounce (obsoleted)
PassFileAreaDir
SaveTic
TicOutbound

 In Link section:
  AutoFileCreate
  AutoFileCreateDefaults
  AutoFileCreateFile
  AutoFileCreateSubdirs
  DelNotRecievedTIC
  FileFixEchoLimit  
  FileFixFSC87Subset
  ForwardFilePriority
  ForwardFileRequestFile
  ForwardFileRequests
  NoTIC
  LinkFileBaseDir
  PackAka
  RemoteFileRobotName
  TickerPackToBox

Next: , Previous: , Up: config file  

2.6 NLTools keywords


Next: , Previous: , Up: NLTools  

2.6.1 nodelistDir

Syntax:

nodelistDir <path>

Example:

nodelistDir /var/spool/fido/nodelist

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

This statement cannot be repeated.


Next: , Previous: , Up: NLTools  

2.6.2 fidoUserList

Syntax:

fidoUserList <filename>

Example:

fidoUserList fidouser.lst

If this keyword is present, the nodelist compiler (e.g. ulc) is instructed to build a user list file with the given filename in the nodelist directory (see 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 msged, for example.


Next: , Previous: , Up: NLTools  

2.6.3 nodelist

Syntax:

Nodelist <name>

Example:

Nodelist nodelist or Nodelist points24

This statement starts a new nodelist definition. All the following nodelist-related stamtements change the configuration of this nodelist until a new 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 ulc and 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 (see nodelistdir).


Next: , Previous: , Up: NLTools  

2.6.4 diffupdate

Syntax:

DiffUpdate <path_and_basname>

Example:

DiffUpdate /var/spool/filebase/nodediff/nodediff

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 /var/spool/filebase/24000, where your ticker places the updates for the German Pointlist, and those update files are called points24.a26, points24.a33, and so on, you would use

DiffUpdate /var/spool/filebase/24000/points24

The Diffupdate keyword is used by 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.


Next: , Previous: , Up: NLTools  

2.6.5 fullupdate

Syntax:

FullUpdate <path_and_basname>

Example:

FullUpdate /var/spool/filebase/nodelist/nodelist

This statement works like DiffUpdate (see 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 FullUpdate statement.


Next: , Previous: , Up: NLTools  

2.6.6 defaultzone

Syntax:

DefaultZone <zone>

Example:

DefaultZone 2

Some nodelist files do not start with a ‘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 DefaultZone keyword to specify the default zone number for all nodes listed in this nodelist.


Next: , Previous: , Up: NLTools  

2.6.7 nodelistformat

Syntax:

Nodelistformat <format>

Example:
NodelistFormat standard
NodelistFormat points4d
NodelistFormat points24

Here you can specify the format of the unpacked nodelist. The default is ‘standard’; this is the normal Fidonet nodelist format. You can also specify ‘points4d’, which is needed for the nodelist compiler to recognise a standart pointlist in 4D format or ‘points24’ for the German points24 format as such, so that it can see the proper 5D point numbers instead of the fakenet numbers.


Previous: , Up: NLTools  

2.6.8 delapplieddiff

Syntax:

delAppliedDiff <bool>

Example:

delAppliedDiff on ordelAppliedDiff off

NLTools can delete nodediffs after applying them if you set delAppliedDiff to on. Default is off

This token can’t be repeated.


Next: , Previous: , Up: config file  

2.7 EmailPkt keywords


Next: , Previous: , Up: EmailPkt  

2.7.1 sendMailCmd

Syntax:

sendMailCmd string

Example:

sendMailCmd /usr/sbin/sendmail $a <$f

This keyword is used to define send mail command & its parameters. Macro ’$a’ specifies position of the recipient e-mail address; macro ’$f’ specifies position of name of file with message body. If ’$f’ is omitted then message body will be taken from stdin.

This statement can’t be repeated.


Next: , Previous: , Up: EmailPkt  

2.7.2 email

Syntax:

email <email-address>

Example:

email eddie@ironmaiden.com

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.


Next: , Previous: , Up: EmailPkt  

2.7.3 emailFrom

Syntax:

emailFrom <email-address>

Example:

emailFrom fred@ironmaiden.com

This keyword is used to set the email-address used as sender address for outgoing emails to this link.

This statement can only be repeated for different links.


Next: , Previous: , Up: EmailPkt  

2.7.4 emailSubj

Syntax:

emailSubj <subject>

Example:

emailSubj Fido over EMail message in UUE format

This keyword is used to set the subject for emails to and from this link. It may be ignored by some encodings (e.g. SEAT).

This statement can only be repeated for different links.


Previous: , Up: EmailPkt  

2.7.5 emailEncoding

Syntax:

emailEncoding (MIME | SEAT | UUE)

Example:

emailEncoding MIME

This keyword is used to set the encoding for outgoing emails to this link.

This statement can only be repeated for different links.


Next: , Previous: , Up: config file  

2.8 BSOpack keywords

This section contains keyword-list only. Read BsoPack Manual for more info.

maxunpackednetmail
packnetmail

Next: , Previous: , Up: config file  

2.9 herp keywords

Herp is the Husky External file Request Processor. The following fidoconfig keywords are specific to herp. Some programs of herp, in particular herpidx, also use part of the htick configuration, i.E. filearea definitions.


Previous: , Up: herp  

2.9.1 reqidxdir

Syntax:

reqidxDir <path>

Example:

reqidxDir /var/spool/fido/reqidx

This command specifies a subdirectory which will be used to store the request index generated by herpidx. This subdirectory should be writable for the herpidx process and at least readable for the user under which your mailer and herp will be run. herpidx will place various request index files here. The subdirectory should not be used for any other purposes. The index can become rather large, so plan for enough free disk space.


Previous: , Up: config file  

2.10 A working sample config

# sample fido config file


version 0.14 # test for new stripComment
Name hpt-HQ
Location Paderborn, GER
Sysop Matthias Tichy

LogLevels 456789

Address 2:2432/645
Address 44:4932/110
Address 21:499/976
Address 49:199/976
Address 54:490/976
Address 64:199/976
Address 530:199/976

# This is taken from Serge Koghin's ParToss
# Hope he wouldn't be angry for this
# ATTENTION the commented lines are not tested by me (mtt)
# and will mostly be only useful on dos-systems
 
Unpack  "unzip  -j -Loqq $a -d $p" 0 504b0304
Unpack "\path\pkzipc -ext -dir=none -over=all -nozip -silent $a $p $f" 0 504b0304
#Unpack "pkunzip -njCL $a -d $p $f" 0 504b0304
#Unpack "pkzip25 -ext -silent -over=all -nofix -nozip $a $p $f" 0 504b0304
Pack  zip zip -9 -j -q $a $f

Unpack  "arc eno $a $p'*.*'" 0 1a

#Unpack  "pkunpak /r $a $p" 0 1a
#Pack  arc pkpak -oct a $a $f
 
#Unpack  "pak e /wn $a $p" -2 fe
#Pack  pak pak a $a $f
 
#Unpack  "lha e /m $a $p" 2 2d6c68
#Pack  lha lha a /o /m $a $f

#Unpack  "zoo e:O $a $p" 0 5a4f4f
#Pack  zoo zoo a: $a $f
 
#Unpack  "arj e -+ -y $a $p" 0 60ea
# Unpack  "cd $p && /usr/bin/unarj e $a > /dev/null" 0 60ea # for Linux
#Pack  arj arj a -+ -e -y $a $f

# *.rar
Unpack  "unrar e -y -c- -inul $a $p $f"   0 52617221
# rar-sfx/DOS
Unpack "unrar e -y -c- -inul $a $p $f" 28 52534658
#Pack  rar rar a -std -ep $a $f
 
#Unpack  "jar e -y $a $p" 14 1a4a61721b
#Pack  jar jar a -y $a $f

#Unpack  "ha eyq $a"  0 4841
#Pack  ha ha a21eq $a $f

# include /etc/fido/areas

Link Matthias Schniedermeyer
Aka 2:2432/600
ourAka 2:2432/645
Password xxxxxxxxx
EchoMailFlavour Crash
AutoAreaCreate on
AutoAreaCreateDefaults -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11
AutoFileCreate on
forwardRequests on
Packer zip

Link Matthias Schniedermeyer
Aka 44:4932/100
ourAka 44:4932/110
password xxxxxxxx
EchoMailFlavour Crash
AutoAreaCreate on
AutoFileCreate on
AutoAreaCreateDefaults -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11
Packer zip

Link Carsten Ellermann
Aka 2:2432/215
ourAka 2:2432/645
password xxxxxxx
autoAreaCreate on
AutoAreaCreateDefaults -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11
autoFileCreate on

Link Matthias Tichy
Aka 2:2432/646
ourAka 2:2432/645
Password xxxxxxxx
autoAreaCreate on
AutoAreaCreateDefaults -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11
forwardPkts on

Link Matthias Tichy
Aka 21:499/980
ourAka 21:499/976
Password xxxxxxx
autoAreaCreate on
AutoAreaCreateDefaults -a 21:499/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11
forwardPkts on

Link Matthias Tichy
Aka 49:199/980
ourAka 49:199/976
Password xxxxxxxx
autoAreaCreate on
AutoAreaCreateDefaults -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11
forwardPkts on

Link Matthias Tichy
Aka 54:490/980
ourAka 54:490/976
Password xxxxxxx
autoAreaCreate on
AutoAreaCreateDefaults -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11
forwardPkts on

Link Matthias Tichy
Aka 64:199/980
ourAka 64:199/976
Password xxxxxxxx
autoAreaCreate on
AutoAreaCreateDefaults -a 64:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11
forwardPkts on

Link Matthias Tichy
Aka 530:199/980
ourAka 530:199/976
Password xxxxxxxx
autoAreaCreate on
AutoAreaCreateDefaults -a 530:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11
forwardPkts on

Link Matthias Born
Aka 2:240/6223
ourAka 2:2432/645
Password xxxxxxx
EchoMailFlavour hold
Packer zip

Link Matthias Born
Aka 44:4932/120
ourAka 44:4932/110
Password xxxxxxx
EchoMailFlavour hold
Packer zip

Link Sascha Silbe
Aka 2:2435/424
ourAka 2:2432/645
AutoFileCreate on
Password xxxxxxxx

Link Sascha Silbe
Aka 54:490/963
ourAka 54:490/976
AutoFileCreate on
Password xxxxxxxxx

Link Alfred Cleve
Aka 2:244/6260
ourAka 2:2432/645
password xxxxxxxxxxx
packer zip
EchoMailFlavour crash
autoAreaCreate on
AutoAreaCreateDefaults -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11

; +++ FREEPNT-MARKE +++

#route crash 2:2433/1245 *
#route hold  2:2433/1247.100 2:2433/1247.100
#route Crash  2:2433/1245 2:2433/*
#route hold noroute 2:2433/1245.*
#route crash host 2:2433/*
#route crash enc no-route *

route hold noroute 2:2432/645.*
route hold noroute 2:240/6223.*
route crash noroute 2:2432/646
route hold 44:4932/120 44:4932/120 44:4932/130
Route crash 44:4932/100 44:*
Route crash 49:199/980 49:*
Route crash 54:490/980 54:*
Route crash 530:199/980 530:*

Route normal 2:2435/424 2:2435/*

Route crash 2:2432/646 *

Inbound		/home/mtt/fido/in/
ProtInbound	/home/mtt/fido/in.sec
LocalInbound    /home/mtt/fido/in.loc
Outbound	/home/mtt/fido/out/
tempOutbound    /home/mtt/fido/out.tmp
tempInbound     /home/mtt/fido/in.tmp
#MsgBaseDir      Passthrough
MsgBaseDir      /home/mtt/fido/msgb
FileAreaBaseDir /home/mtt/fido/files

public		/home/mtt/fido/public
# public		/home/mtt/fido/public2

# intab           /home/mtt/fido/recode/outaltkoi8
# outtab          /home/mtt/fido/recode/outkoi8alt

echotosslog     /home/mtt/fido/echotoss.log
importlog       /home/mtt/fido/import.log

logFileDir      /home/mtt/fido/hpt/linux
DupeHistoryDir	/home/mtt/fido/dupes
NodelistDir	/home/mtt/fido/nodelist
PassFileAreaDir     /home/mtt/fido/passFileDir
magic		/home/mtt/fido/magic
lockfile        /home/mtt/fido/lock

areafixhelp     /home/mtt/fido/hpt/misc/areafix.hlp
FileFixHelp     /home/mtt/fido/htick/misc/filefix.hlp

AreafixReportsAttr loc pvt k/s npd dir
FilefixReportsAttr loc pvt k/s npd dir

NodeList nodelist
DiffUpdate /home/mtt/fido/files/nodediff
NodeList unionnet
Nodelist geonode
Nodelist linuxnet
DiffUpdate /home/mtt/fido/files/lin44.node

NetmailArea NetmailArea /home/mtt/fido/msgb/netmail -b msg
# NetmailArea NetmailArea /home/mtt/fido/msgb/net -b  Squish
BadArea     BadArea     /home/mtt/fido/msgb/bad -b Squish
DupeArea    DupeArea    /home/mtt/fido/msgb/dupe -b Squish

EchoArea 2432.points      /home/mtt/fido/msgb/2432/points       -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea 2432.Talk        /home/mtt/fido/msgb/2432/talk         -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea C_ECHO.ger       /home/mtt/fido/msgb/c_echo_g          -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea C_PLUSPLUS.ger   /home/mtt/fido/msgb/c_plpl_g          -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea binkley          /home/mtt/fido/msgb/binkley           -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea Binkley.ger      /home/mtt/fido/msgb/binkley_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea hardrock.ger     /home/mtt/fido/msgb/hardrock_g        -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea linux.ger        /home/mtt/fido/msgb/linux/ger         -a 2:2432/645  -b Squish -p 14 -dupecheck move -dupeHistory 11  2:2432/646
echoArea linux.develop.ger /home/mtt/fido/msgb/linux/develop_g  -a 2:2432/645  -b Squish -dupeCheck move -dupeHistory 11  2:2432/646
EchoArea os2.base.ger     /home/mtt/fido/msgb/os2/base_g        -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea os2.beta.ger     /home/mtt/fido/msgb/os2/beta_g        -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea os2bbs.ger       /home/mtt/fido/msgb/os2/bbs_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea os2.debate.ger   /home/mtt/fido/msgb/os2/debate_g      -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea os2.install.ger  /home/mtt/fido/msgb/os2/install_g     -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea Os2.wps.ger      /home/mtt/fido/msgb/os2/wps_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea Os2.prog.ger     /home/mtt/fido/msgb/os2/prog_g        -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea Os2.lan.ger      /home/mtt/fido/msgb/os2/lan_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea os2.hw.ger       /home/mtt/fido/msgb/os2/hw_g          -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea os2.online.ger   /home/mtt/fido/msgb/os2/online_g      -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea os2.tec.ger      /home/mtt/fido/msgb/os2/tec_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea OWL.Newfiles     /home/mtt/fido/msgb/owl/newfiles      -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea owl.announce     /home/mtt/fido/msgb/owl/announce      -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea owl.flea         /home/mtt/fido/msgb/owl/flea          -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea owlserver.news   /home/mtt/fido/msgb/owl/snews         -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea Paderborn.Flohmarkt  /home/mtt/fido/msgb/pader/floh    -a 2:2432/645  -b Squish -p 14 2:2432/600
EchoArea Tolkien.ger      /home/mtt/fido/msgb/tolkien_g         -a 2:2432/645  -b Squish -dupeCheck move -p 14 2:2432/600
EchoArea Schweden.ger     /home/mtt/fido/msgb/schweden_g        -a 2:2432/645  -b Squish -tinySB -p 14 2:2432/600

LocalArea carbonArea       /home/mtt/fido/msgb/carbonArea  -b Squish

CarbonTo Matthias Tichy
CarbonCopy carbonArea

EchoArea paderborn.mailbox /home/mtt/fido/msgb/paderborn.mailbox -a 2:2432/645 -b  Squish -dupeCheck move -dupeHistory 11 -p 14 2:2432/600
EchoArea owl.allfix /home/mtt/fido/msgb/owl.allfix -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea fidosoft.winpoint.ger /home/mtt/fido/msgb/fidosoft.winpoint.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea net_dev.ger /home/mtt/fido/msgb/net_dev.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea net_dev /home/mtt/fido/msgb/net_dev -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea fidosoft.ger /home/mtt/fido/msgb/fidosoft.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea linux.bbs /home/mtt/fido/msgb/linux.bbs -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea linux.software /home/mtt/fido/msgb/linux.software -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea linux.setup /home/mtt/fido/msgb/linux.setup -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea linux.reg /home/mtt/fido/msgb/linux.reg -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea linux.netzwerk /home/mtt/fido/msgb/linux.netzwerk -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea linux.announce /home/mtt/fido/msgb/linux.announce -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea linux.hardware /home/mtt/fido/msgb/linux.hardware -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea darkness.info /home/mtt/fido/msgb/darkness.info -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11  2:2432/600
EchoArea linux.coord /home/mtt/fido/msgb/linux.coord -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea 2432.nodes.info /home/mtt/fido/msgb/2432.nodes.info -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea linux.office /home/mtt/fido/msgb/linux.office -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea linux.develop /home/mtt/fido/msgb/linux.develop -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11  44:4932/100
EchoArea linux.x /home/mtt/fido/msgb/linux.x -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11  44:4932/100
EchoArea 2432.nodes /home/mtt/fido/msgb/2432.nodes -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea fido2000.ger /home/mtt/fido/msgb/fido2000.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea java.ger /home/mtt/fido/msgb/java.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea ftsc_public /home/mtt/fido/msgb/ftsc_public -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646
EchoArea BINKLEY.DEVELOP /home/mtt/fido/msgb/binkley.develop -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/215

FileArea binkley.dev /home/mtt/fido/files/binkley.dev -a 2:2432/645  -d "Binkleyterm Development: Source Diffs, Misc, stuff" 2:2432/215
FileArea btxebos2 /home/mtt/fido/files/btxebos2 -a 2:2432/645  -d "Binkleyterm Development: Beta Binaries for OS/2" 2:2432/215
FileArea btxebsrc /home/mtt/fido/files/btxebsrc -a 2:2432/645  -d "Binkleyterm Development: Beta Source" 2:2432/215
FileArea btxebw32 /home/mtt/fido/files/btxebw32 -a 2:2432/645  -d "Binkleyterm Development: Beta Binaries for Win32" 2:2432/215
EchoArea golded.ger /home/mtt/fido/msgb/golded.ger -b Squish -a 2:2432/645 -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea fidosoft.husky /home/mtt/fido/msgb/fidosoft.husky -b Squish -a 2:2432/645 -dupeCheck move -dupeHistory 11 2:2432/646 2:240/6223
EchoArea darkness.points /home/mtt/fido/msgb/darkness.points -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea linux.fido.ger /home/mtt/fido/msgb/linux.fido.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646
EchoArea FUSSBALL.GER /home/mtt/fido/msgb/fussball.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea PGP.GER /home/mtt/fido/msgb/pgp.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea HARDWARE.SCSI.GER /home/mtt/fido/msgb/hardware.scsi.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea TV.GER /home/mtt/fido/msgb/tv.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea CDWRITER.GER /home/mtt/fido/msgb/cdwriter.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea FASTECHO.GER /home/mtt/fido/msgb/fastecho.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea URTEILE.GER /home/mtt/fido/msgb/urteile.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea PRO_WRESTLING /home/mtt/fido/msgb/pro_wrestling -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea SPORT.EISHOCKEY.GER /home/mtt/fido/msgb/sport.eishockey.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea RAETSEL.GER /home/mtt/fido/msgb/raetsel.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea WRESTLING.GER /home/mtt/fido/msgb/wrestling.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea JAZZ.GER /home/mtt/fido/msgb/jazz.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea TV.SITCOM.GER /home/mtt/fido/msgb/tv.sitcom.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea FAEKAL.GER /home/mtt/fido/msgb/faekal.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea STEUER.GER /home/mtt/fido/msgb/steuer.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
EchoArea LINUX.TALK /home/mtt/fido/msgb/linux.talk -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
EchoArea LINUX /home/mtt/fido/msgb/linux -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646 2:240/6223
EchoArea FTN.BACKBONE.INFO /home/mtt/fido/msgb/ftn.backbone.info -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646
FileArea 24000 /home/mtt/fido/files/24000 -a 2:2432/645  2:2432/600
FileArea NODEDIFF /home/mtt/fido/files/nodediff -a 2:2432/645  2:2432/600
FileArea LIN44.NODE /home/mtt/fido/files/lin44.node -a 44:4932/110  44:4932/100
FileArea LIN44.POINT /home/mtt/fido/files/lin44.point -a 44:4932/110  44:4932/100
EchoArea GN.ALLGEMEIN /home/mtt/fido/msgb/gn.allgemein -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980
EchoArea GN.ANNOUNCE /home/mtt/fido/msgb/gn.announce -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980
EchoArea SN.GEW.IGMEDIEN.ALLG /home/mtt/fido/msgb/sn.gew.igmedien.allg -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.RECHT.ARB.URTEILE /home/mtt/fido/msgb/sn.recht.arb.urteile -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.RECHT.SOZ.DISKUSSION /home/mtt/fido/msgb/sn.recht.soz.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.RECHT.ARB.DISKUSSION /home/mtt/fido/msgb/sn.recht.arb.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.BETR.BR+PR /home/mtt/fido/msgb/sn.betr.br+pr -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.BETR.VEREINBARUNGEN /home/mtt/fido/msgb/sn.betr.vereinbarungen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea GN.CLUBS /home/mtt/fido/msgb/gn.clubs -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.KOO.VORSTELLUNG /home/mtt/fido/msgb/sn.koo.vorstellung -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.ALLGEMEIN /home/mtt/fido/msgb/sn.gew.allgemein -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.AKTUELL.TERMINE /home/mtt/fido/msgb/sn.aktuell.termine -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.KOO.TEST /home/mtt/fido/msgb/sn.koo.test -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.GHK /home/mtt/fido/msgb/sn.gew.ghk -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.AKTUELL.AKTIONEN /home/mtt/fido/msgb/sn.aktuell.aktionen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.BETR.BILDUNG /home/mtt/fido/msgb/sn.betr.bildung -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.INTERNATIONAL /home/mtt/fido/msgb/sn.gew.international -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.KOO.DISKUSSION /home/mtt/fido/msgb/sn.koo.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.HBV /home/mtt/fido/msgb/sn.gew.hbv -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.IGMETALL /home/mtt/fido/msgb/sn.gew.igmetall -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.JUGEND /home/mtt/fido/msgb/sn.gew.jugend -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea GN.CBM /home/mtt/fido/msgb/gn.cbm -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980
EchoArea SN.KOO.WICHTIG /home/mtt/fido/msgb/sn.koo.wichtig -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.KOO.ANTRAEGE /home/mtt/fido/msgb/sn.koo.antraege -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.THESEN /home/mtt/fido/msgb/sn.gew.thesen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.OETV /home/mtt/fido/msgb/sn.gew.oetv -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.FRAUEN /home/mtt/fido/msgb/sn.frauen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.GEW.HBS /home/mtt/fido/msgb/sn.gew.hbs -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.ARB+SOZ.ALLGEMEIN /home/mtt/fido/msgb/sn.arb+soz.allgemein -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.AKTUELL.VORSCHAU /home/mtt/fido/msgb/sn.aktuell.vorschau -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.ARB+SOZ.ERWERBSLOS /home/mtt/fido/msgb/sn.arb+soz.erwerbslos -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.ARB+SOZ.DISKUSSION /home/mtt/fido/msgb/sn.arb+soz.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.BETR.ARBSCHU+UMWELT /home/mtt/fido/msgb/sn.betr.arbschu+umwelt -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea SN.BETR.ARBEIT+TECHNIK /home/mtt/fido/msgb/sn.betr.arbeit+technik -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
EchoArea GN.SYSOPS /home/mtt/fido/msgb/gn.sysops -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980

Next: , Previous: , Up: Top  

3 Common Keywords Reference


Next: , Previous: , Up: keywords  

3.1 Common Keywords


Next: , Previous: , Up: general keywords  

3.1.1 version

Syntax:

version <integer>.<integer>

Example:

version 1.9

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

This statement cannot be repeated.


Next: , Previous: , Up: general keywords  

3.1.2 name

Syntax:

name <string>

Example:

name Leetebrok BBS

Here you specify your system’s name.

This statement cannot be repeated.


Next: , Previous: , Up: general keywords  

3.1.3 location

Syntax:

location <string>

Example:

location Dusseldorf

You specify your location here.

This statement cannot be repeated.


Next: , Previous: , Up: general keywords  

3.1.4 sysop

Syntax:

sysop <string>

Example:

sysop Matthias Tichy

You specify your name with this keyword.

This statement cannot be repeated.


Next: , Previous: , Up: general keywords  

3.1.5 include

Syntax:

include <file>

Example:

include /etc/fido/areas

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 you the ability to have some survey about your config.

This statement can be repeated. But don’t make recursive includes, e.g. 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.


Next: , Previous: , Up: general keywords  

3.1.6 address

Syntax:

Address <addr>

Example:

Address 2:2433/1245

This command specifies which akas your system has. This statement is full 5d compatible, which means you can have also addresses like 2:2433/1245.1@fidonet.org. The first address statement is your main aka which will be used by tosser on different occasions, for example if zone number could not be taken from the @INTL Kludge in netmails.

This statement can be repeated. The domain name is not full supported throughout fidoconfig


Next: , Previous: , Up: general keywords  

3.1.7 commentChar

Syntax:

commentChar <char>

Example:

commentChar ;

This command specifies which symbol is used to mark rest of line as comment. Default is ’#’

This statement can be repeated.


Next: , Previous: , Up: general keywords  

3.1.8 seqdir

Syntax:

seqDir <path>

Example:

seqDir /var/spool/fido/seq

Sets path for current msgid sequence stamp directory. This directory should be used for msgid sequence stamp only to preventing surprises. See seqoutrun.

By default environment variable SEQDIR is used.

This statement cannot be repeated.


Previous: , Up: general keywords  

3.1.9 seqoutrun

Syntax:

seqOutrun <string>

Example:

seqOutrun 1m

Sets maximum outrun for msgid sequence from current time. See seqdir.

Use decimal number with optional suffix.

Suffixes are:

y - year (365 days)
m - month (31 days)
w - week (7 days)
d - day
h - hour

Set seconds without suffix.

By default environment variable SEQOUT is used, or 3y if it isn’t set.

This statement cannot be repeated.


Next: , Previous: , Up: keywords  

3.2 Path- and log-related keywords


Next: , Previous: , Up: path log keywords  

3.2.1 outbound

Syntax:

outbound <path>

Example:

outbound /var/spool/fido/out

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:

/var/spool/fido/out
This directory contains the files for your base zone.
/var/spool/fido/out.003
This directory contains the files for zone 3.
/var/spool/fido/out.00A
This directory contains the files for zone 10.

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

NNNN
The 4-digit hex-number of the node's netnumber.
FFFF
The 4-digit hex-number of the node's nodenumber.
?
Here the flavour of the mails can be chosen. h-hold, c-crash,
f-normal, d-direct, i-immediate.

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.


Next: , Previous: , Up: path log keywords  

3.2.2 FileBoxesDir

Syntax:

FileBoxesDir <directory>

Example:

FileBoxesDir ../boxes

This statement specifies directory where link file boxes are placed (and created if necessary). For prevention of collisions: FileBoxesDir and outbound should be pointed into different directory paths and even not be subdirectory of another.

Currently it is implemented support for the file box names in the following

form: z.n.f.p[.h],

where:
z:

zone number;

n:

net number;

f:

node number;

p:

point number (point number is mandatory and should be zero for node);

.h:

optional suffix ".h" are specify the "hold" flavour.

In the example:

FileBoxesDir /fido/fileboxes

For the link with address 2:5021.19 will possibled two fileboxes:

/fido/fileboxes/2.5021.19.0 and /fido/fileboxes/2.5021.19.0.h

This statement cannot be repeated.


Next: , Previous: , Up: path log keywords  

3.2.3 inbound

Syntax:

inbound <path>

Example:

inbound /var/spool/fido/in

This command specifies where your inbound files are stored. This directory is the base directory which means if you have a connection which is 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.


Next: , Previous: , Up: path log keywords  

3.2.4 LocalInbound

Syntax:

localinbound <path>

Example:

localinbound /var/spool/fido/in.loc

This command specifies the path, from which all types of netmail and echomail are tossed 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.


Next: , Previous: , Up: path log keywords  

3.2.5 ProtInbound

Syntax:

protinbound <path>

Example:

protinbound /var/spool/fido/in.sec

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.


Next: , Previous: , Up: path log keywords  

3.2.6 LockFile

Syntax:

lockfile <file>

Example:

lockfile /var/lock/hpt.lock

Another session of HPT will be terminated if the LockFile is exists (default setting).

This statement cannot be repeated.

See AdvisoryLock.


Next: , Previous: , Up: path log keywords  

3.2.7 AdvisoryLock

Syntax:

AdvisoryLock <integer>

Example:

AdvisoryLock 10

If value AdvisoryLock > 0, then HPT checks if LockFile is locked by another session of HPT or not. Program will not be terminated if the original process which created LockFile is running. Second instance of hpt will check LockFile for locking number of times defined by AdvisoryLock with period of 1 second. And if the file exists, but not locked (stale), HPT will be running... If AdvisoryLock = 0, advisorylock is off.

This statement cannot be repeated.

Don’t use this under BeOS! (there is no locking mechanism).

See LockFile.


Next: , Previous: , Up: path log keywords  

3.2.8 tempDir

Syntax:

tempDir <path>

Example:

tempDir /var/tmp

This command specifies the path where the temporary files of the fido-programs should be stored. This directory can be erased while booting. Good idea is to set it to a memory disk.

Default value is path specified by TEMP, TMP or TMPDIR enviroment variables (use TEMP first, if it not defined then use TMP, next use TMPDIR). If these enviroment variables are not defined: - win32 versions use %WINDIR%\TEMP (usually c:\windows\temp for Win9x/Me and c:\winnt\temp for Windows NT/2000/XP) - versions for unix-like OS’es use /tmp - other versions use c:\

This statement cannot be repeated.


Next: , Previous: , Up: path log keywords  

3.2.9 logfiledir

Syntax:

logFileDir <path>

Example:

logFileDir /var/spool/log/fido

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

This statement cannot be repeated.

Some programs use logFileDir for persistent temporary/work files.


Next: , Previous: , Up: path log keywords  

3.2.10 syslogfacility

Syntax:

syslogFacility <facility>

Example:

syslogFacility local0

Some Husky programs are able to write logs via syslogd instead of via log file. For those programs, this keyword defines which facility to use for writing to the syslog. Syslogd will use this facility name to decide which syslog logfile the log messages will go to. Common names that can be used include mail, news, uucp, local0. The exact values that can be used depend upon your operating system. Refer to the man page for syslog.conf or /usr/include/sys/syslog.h for more information.

Logging via syslogd is only supported on UNIX platforms, and currently only used by herp, but not by any other Husky program. If a Husky program logs via log file or via syslog or both depends on the program and not on your fidoconfig file. Consult the individual program’s documentation.


Next: , Previous: , Up: path log keywords  

3.2.11 LogLevels

Syntax:

loglevels <string>

Example:

loglevels 1345789,A-F Q

This statement defines log levels list for writing messages into log file. Hiphen is a range char (A-F expands to ABCDEF). Only alpha & numeric log level characters are recognized, others are ignored.

In example we output to log messages with levels 3,4,5,7,8,9,A,B,C,D,E,F,Q.

The log levels are following:

1 - Program start, end;
2 - dupecheck
3 - linking messages
4 - scanning messages
5 - posting messages
6 - execute strings
7 - bundles, pkts, links, freqs, file routing, file attachs, msg packing
8 - areafix, relink, autocreate
9 - error messages (critical, usually exit on error)
0 - creation of file-flags
A - trivial error messages (print message and continue execution)
B - warnings & alerts
C - informational messages
D - statistics
E - summary
F - print program name & version
G - message send/sent
H - recoding operations & recoding tables read/write
I - Generate or check MSGID
J - Echomail phase
K - Filebox phase
L - Netmail phase
M - File create
N - File delete
O - operations with opened file (read, write, seek, ...)
P - Directory operations (create, delete, rename, ...)
Q - Email message parsing and construction
R - Truncate file
S - File send/sent
T - Test files (exist, permittions, etc.)
U - Functions calls (entering func & leaving it)
V - reserved
W - reserved
X - Filenames construction
Y - Link messagebase pass (some phase in hptlink & etc)
Z - debug messages: source lines (functions control points).
a-z - debug messages

Default value: 1234567890ABCDEF

This statement cannot be repeated.


Next: , Previous: , Up: path log keywords  

3.2.12 ScreenLogLevels

Syntax:

Screenloglevels <string>

Example:

Screenloglevels 2345789,A-C

Sets levels of log output to screen. See loglevels for details.

This statement cannot be repeated.


Next: , Previous: , Up: path log keywords  

3.2.13 LogDateFormat

Syntax:

logDateFormat <string>

Example:

logDateFormat "%H:%M:%S "

Set date format for log messages. The parameter expected to be a valid strftime() format string. The following macros are expanded to current date/time value (incomplete list):

%dcurrent day of month as a decimal number, zero-prefixed (01-31)
%ecurrent day or month as a decimal number, space-perfixed ( 1-31)
%Hcurrent hour as a decimal number (00-23)
%Mcurrent minute as a decimal number (00-59)
%mcurrent month as a decimal number (01-12)
%Scurrent second as a decimal number (00-59)
%Ycurrent year with century as a decimal number (for example, 2005)
%ycurrent year without century as a decimal number (for example, 05)
%Anational representation of the full weekday name (for example, Monday)
%anational representation of the abbreviated weekday name (for example, Mon)
%Bnational representation of the full month name (for example, April)
%bnational representation of the abbreviated month name (for example, Apr)

Please refer to strftime() manual page to see the complete list of macros allowed. National representation of month or weekday name is determined by the current locale.

This statement cannot be repeated.


Previous: , Up: path log keywords  

3.2.14 LogEchoToScreen

Syntax:

logEchoToScreen <bool>

Example:

logEchoToScreen

Enable or disable log messages screen output. See also See ScreenLogLevels.

This statement cannot be repeated.


Next: , Previous: , Up: keywords  

3.3 Packer definition keywords


Next: , Previous: , Up: packer keywords  

3.3.1 Pack

Syntax:

Pack zip|tgz|rar|arc|arj|..... <call>

Example:

Pack zip zip -9 -g -q $a $f

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

$a will be replaced by the archive file.

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

If some husky program is compiled with hptzip, you can use the following definition to use internal zip packer:


Pack zip zipInternal

Warning: You can’t use shell input-output redirection chars under DOS or Win* platforms: hpt implementation uses workaround for command.com bug and doesn’t run command.com to execute external commands such as packers/unpackers. hpt calls OS function to execute them instead of command.com.

Note: On some OSes, if a program called can’t be found (can’t be run) result of pack command is undefined. (Example: DOS. Reason of this: command.com does not return error code if executable file was not found.) To prevent danger write full path name for packer program, please.

This statement can be repeated.


Previous: , Up: packer keywords  

3.3.2 Unpack

Syntax:

Unpack "<call>" <offset> <matchcode>

Example for DOS:
Unpack  "c:\arc\pkunpak /r $a $p $f"                 0 1a
Unpack  "c:\arc\pak e /wn $a $p"                    -2 fe
Unpack  "c:\arc\lha e /m $a $p $f"                   2 2d6c68
Unpack  "c:\arc\zoo e:O $a $p $f"                    0 5a4f4f
Unpack  "c:\arc\jar e -y $a $p $f"                  14 1a4a61721b
# *.rar
Unpack  "c:\arc\unrar e -y -c- -o+ -inul $a $p $f"   0 52617221
# rar-sfx/DOS
Unpack  "c:\arc\unrar e -y -c- -o+ -inul $a $p $f"  28 52534658
Example for Linux:
Unpack  "/usr/bin/zoo e:O $a $p $f"                    0 5a4f4f
Unpack  "/usr/bin/arc eno $a $p'*.*' $f"               0 1a
Unpack  "/usr/bin/unzip -joLqq $a -d $p $f"            0 504b0304
Unpack  "cd $p && /usr/bin/unarj e $a $f>/dev/null"    0 60ea
Unpack  "/usr/bin/unrar e -y -c- -o+ -inul $a $p $f"   0 52617221
Unpack  "/usr/bin/unrar e -y -c- -o+ -inul $a $p $f"  28 52534658
Unpack  "/usr/bin/jar e -y $a $p $f"                  14 1a4a61721b
Unpack  "cd $p && /usr/bin/ha eyq -e $a $f"            0 4841

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

call is the command line call for the packer (enclosed into quotes!);

offset position of recognition string in packed file;

match code hexdump of the recognition string for packed file, ?? can be used as any byte;

$a will be replaced by the archive file to extract from;

$p will be replaced by the path to unpacked files (usually tempoutbound);

HPT-specific: $p will be replaced by the temp inbound path.

$f will be replaced by the description file name if any (used by htick, see ’FileDescName’ token; possibly other husky programs).


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

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

if some husky program is compiled with hptzip, you can use the following definition:


Unpack zip zipInternal 0 504b0304

Warning: You can’t use shell input-output redirection chars under DOS or Win* platforms: hpt implementation uses workaround for command.com bug and doesn’t run command.com to execute external commands such as packers/unpackers. hpt calls OS function to execute them instead of command.com.

Also see hpt and htick documentation.

This statement can be repeated.

Note: On some OSes, if a program called can’t be found (can’t be run) result of unpack command is undefined. (Example: MS DOS. Reason of this: command.com does not return error code if executable file was not found.) To prevent danger write full path name for unpacker program, please.


Next: , Previous: , Up: keywords  

3.4 Link definition keywords (Link section)

These keywords relate to Link section of config. Every link of your system should be defined via it’s own link entry. Definition of link begins with keyword Link. Immediately after it you should put any settings for that link. Link section is considered as closed on first keyword which isn’t allowed in link section. All the following keywords except Link and LinkDefaults which start section are allowed inside it.

Note: ’*’ mark in keywords here means that it should be either substituted with robot’s name to which appropriate setting is applied or omitted to apply to all robots.


Next: , Previous: , Up: link keywords  

3.4.1 link

Syntax:

link <string>

Example:

link Matthias Tichy

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. A parameter is the name of this link.

This statement can be repeated.


Next: , Previous: , Up: link keywords  

3.4.2 linkdefaults

Syntax:

linkdefaults [begin | end | destroy]

Example:

linkdefaults

This statement starts section of default definitions of links. All the following link-related statements change default configuration of link until a 'link' or 'linkdefaults end' or 'linkdefaults destroy' statement is found. All parameters collected in linkdefaults sections are copied to link configuration every time when 'link' statement is found in configuration file. Link-related statements after 'linkdefaults end' or 'linkdefaults destroy' or before first 'link' or 'linkdefaults' statement are treated as error. 'linkdefaults' statement without 'begin' or 'end' means 'linkdefaults begin' 'linkdefaults destroy' destroys all default definitions.

Be careful with Pause, Export, etc. ;-)

This statement can be repeated. New definitions overwrite old ones.


Next: , Previous: , Up: link keywords  

3.4.3 aka

Syntax:

aka <addr>

Example:

aka 2:2433/1245

This statement sets the aka for the current link.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.4 ouraka

Syntax:

ouraka <addr>

Example:

ouraka 2:2433/1247

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

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.5 password

Syntax:

password [<string>]

Example:

password secret

This statement sets the default password for the link. If you do not set the other passwords, this password will be used. Password may be case insensitive or case sensitive depending on the program.

There is no limit for Password length except the PktPwd.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.6 pktpwd

Syntax:

pktpwd [<string>]

Example:

pktpwd geheim

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.

If you do not set the pktpwd, password from the common password statement will be used (See password.)

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.7 ticpwd

Syntax:

ticpwd [<string>]

Example:

ticpwd geheim

This statement sets the ticker 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.

If you do not set the ticpwd, password from the common password statement will be used (See password.)

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.8 areafixpwd

Syntax:

areafixpwd [<string>]

Example:

areafixpwd geheim

This statement sets the areafix password for the actual link. An empty statement is allowed, but not recommended.

If you do not set the areafixpwd, password from the common password statement will be used (See password.)

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.9 AreafixName

Syntax:

remoteRobotName <string>

Example:

remoteRobotName allfix

Set remote system "areafix" to new name. This token used when requests to subscribing/unsubscribing of new areas forwarded to this link.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.10 filefixpwd

Syntax:

filefixpwd [<string>]

Example:

filefixpwd geheim

This statement sets the filefix password for the actual link. An empty statement is allowed, but not recommended.

If you do not set the filefixpwd, password from the common password statement will be used (See password.)

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.11 bbspwd

Syntax:

bbspwd [<string>]

Example:

bbspwd geheim

This statement sets the bbs password for the actual link. An empty statement is allowed.

If you do not set the bbspwd, password from the common password statement will be used (See password.)

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.12 sessionpwd

Syntax:

sessionpwd [<string>]

Example:

sessionpwd geheim

This statement sets the session password for the actual link. An empty statement is allowed.

If you do not set the sessionpwd, password from the common password statement will be used (See password.)

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.13 handle

Syntax:

handle <name>

Example:

handle eddie

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

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.14 packer

Syntax:

packer <packer>

Example:

packer zip

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 or set Packer none no mail will be packed. The pkt’s will be stored in the outbound.

If you use hptzip (Zlib) library, you can set <packer> - zip.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.15 *AutoCreate

Syntax:

autocreate <bool>

Example:

areafixAutoCreate on

This statement gives a link the permission to create areas on your system just by sending in them. The echoareas are created using the areafixAutoCreateDefaults contents:

   EchoArea <areaName> <msgBaseDir><areaName> -a <mypktaddr> -b Squish <linkAddr> <autoAreaCreateDefaults>

Default message base type is Squish. But you can set "-b Jam" or "-b Msg" in areafixAutoCreateDefaults

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.16 *AutoCreateFile

Syntax:

autoCreateFile <file>

Example:

areafixAutoCreateFile /etc/fido/areas.matthias

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.

You must include the specified file for yourself into fidoconfig, so these autocreated areas will be founded in subsequent tosser-runs.

autoCreateFile and Include strings must be the *same*.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.17 *AutoCreateDefaults

Syntax:

autoCreateDefaults <string>

Example:

areafixAutoCreateDefaults -$m 200 -dupecheck move

Set defaults to autocreated areas. To create PASSTHROUGH areas you can add "passthrough" to AutoCreateDefaults.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.18 ForwardRequests

Syntax:

forwardRequests <bool>

Example:

forwardRequests on

By default "forwardRequests off". "On" allow forward requests to this link from other links. If no forwardRequestFile or forwardRequestMask defined, then forwardRequests unconditional.

LinkGrp can deny access to some links...

This statement can only be repeated for different links.

See LinkGrp.


Next: , Previous: , Up: link keywords  

3.4.19 *FwdDenyFile

Syntax:

FwdDenyFile <file>

Example:

areafixFwdDenyFile /etc/fido/denyfwdafix

Don’t forward requests for areas from this file. Pattern matching does not supporting!

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.20 *FwdDenyMask

Syntax:

FwdDenyMask <string>[,<string> ...]

Example:

areafixFwdDenyMask TYT.*, *FLAME*

Don’t forward this requests.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.21 *DenyFwdReqAccess

Syntax:

denyFwdReqAccess <bool>

Example:

areafixDenyFwdReqAccess

Don’t allow forward requests from this link (via * robot) to your links.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.22 *DenyUncondFwdReqAccess

Syntax:

denyUncondFwdReqAccess <bool>

Example:

areafixDenyUncondFwdReqAccess

Don’t allow unconditional forward requests from this link (via * robot) to your links.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.23 *FwdFile

Syntax:

FwdFile <file>

Example:

FwdFile /etc/fido/fidonet.na

File for forward requests (also for available areas and descriptions). If file contains area descriptions they will be used when autocreating areas. If not defined then forward requests unconditional.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.24 *FwdMask

Syntax:

FwdMask <string>[,<string> ...]

Example:

*FwdMask nsk.*

If area nsk.* (nsk.test for example) will be requested by downlink and forwardrequests to uplink are allowed, then it is created and request goes to uplink. If area doesn’t covered by mask list, then checks the next link for forwardRrequests.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.25 *FwdPriority

Syntax:

FwdPriority <integer>

Example:

areafixFwdPriority 1

By default forward requests processing for links in order as they defined in config. But you can set priority for some links... "1" is the first link to forward requests, "2" is the second, etc.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.26 *EchoLimit

Syntax:

EchoLimit <integer>

Example:

EchoLimit 50

This is maximum areas which can be subscribed via * robot for this link.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.27 Pause

Syntax:

pause ([on]|off|earea|farea)

Examples:

pause pause earea pause

Stop export echomail, fileechoes or both for this link.

This statement can only be repeated for different links.

See also AutoPause in hpt section.


Next: , Previous: , Up: link keywords  

3.4.28 Export

Syntax:

export <bool>

Example:

export off

By default "Export on".

If "Export" is "off", mail is not tossed to link. You can restrict effect of this setting to particular groups. OptGrp

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.29 Import

Syntax:

import <bool>

Example:

import off

By default "import on".

Same as Export, but this is for mail from link.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.30 OptGrp

Syntax:

optgrp <string>[,<string> ...]

Example:

optgrp A,X,Fido

This setting restricts effect of Export, Import & Mandatory options to the given groups. If OptGrp is not defined - the restrictions will be applied to all areas. If OptGrp is defined then link will have default import/export access to all groups other than explicitly given in this statement.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.31 AccessGrp

Syntax:

accessgrp <string>[,<string>...]

Example:

accessgrp A,B,C,Local

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.


Next: , Previous: , Up: link keywords  

3.4.32 LinkGrp

Syntax:

linkgrp <string>

Example:

linkgrp Fido

Specifies a group to use for areas auto-created from this link. Also link can delete echo areas in his LinkGrp group.

In this exmaple:

1) string Fido will be added to a new area record unless AutoAreaCreateDefaults defines implicit group;

2) links that have no access to group Fido can’t forward requests to uplink with LinkGrp Fido;

3) this link can delete echo areas with -g Fido group.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.33 Mandatory

Syntax:

mandatory <bool>

Example:

mandatory on

By default "mandatory off".

This statement disallows the link to unsubscribe areas via areafix.

This statement can only be repeated for different links.


Next: , Previous: , Up: link keywords  

3.4.34 Manual

Syntax:

manual <bool>

Example:

manual on

By default "manual off".

This statement disallows the link to subscribe areas via areafix.

This statement can only be repeated for different links.


Previous: , Up: link keywords  

3.4.35 Level

Syntax:

level <integer>

Example:

level 200

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

This statement can only be repeated for different links.


Next: , Previous: , Up: keywords  

3.5 Area management keywords


Next: , Previous: , Up: area management keywords  

3.5.1 EchoArea

Syntax:

EchoArea <name> <file> [-b <msgbase>] [Options] [linkAKAs] [linkOptions]

Example:

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 -def

This statement specifies the echoareas.

name:

area-tag

file:

filename(s) for this area without extension; should be the area-tag (as far as possible). if file == Passthrough then [-b <msgbase>] is skipped and msgarea is set as an passthrough area.

msgbase:

Msg is standard (OPUS *.msg-base). Write Squish for an Squish-msgbase and Jam for Jam-msgbase.

linkAKA:

aka’s of up- and down links (full 4D address). you can use masks like: "*:*/*" - all downlinks from you config. This links are auto-mandatory. Always use slash in mask!

Options:

-pass

define area as passthrough even if msgbase type or filename is defined.

-lr <integer>

required level for read access (see also Level in link options); integer can’t be negative;

-lw <integer>

required level for write access; integer can’t be negative;

-mandatory

forbid to unsubscribe from this echo;

-noMandatory

enable unsubscribe from this echo if echoareadefaults set -mandatory;

-manual

disallow remote subscribe (only manual connect);

-noManual

allow remote subscribe (using netmail to areafix) if echoareadefaults set -manual;

-p <integer>

purge after n days: used by purging utilities like sqpack (*); default value is 0;

-$m <integer>

leave max n messages after purge in area (*); default value is 0;

-noPack

do not purge or pack area (overwrites -p & -$m) (*)

-pack

enable purge or pack area (*) if echoareadefaults set -noPack;

-killRead

kill read msgs in area on purging (*)

-noKillRead

disable kill read msgs in area on purging (*) if echoareadefaults set -killRead;

-keepUnread

keep unread msgs in area on purging (*)

-nokeepUnread

do not keep unread msgs in area on purging (*) if echoareadefaults set -keepUnread;

-kill

kill messagebase of area when setting it to passthrough

-nokill

do not kill messagebase when setting area to passthrough if echoareadefaults set -kill;

-a <addr>

aka to use (first address from config if not defined)

-b <msgbase type>

type of msgbase (Msg, Squish, Jam) (*)

-g <group>

group for this echoarea

-keepsb

keep seen-by kludges (used in CarbonCopy)

-nokeepsb

do not keep seen-by kludges (used in CarbonCopy) if echoareadefaults set -keepsb;

-tinysb

no seen-by kludges stores in message base (*)

-notinysb

seen-by kludges stores in message base (*) if echoareadefaults set -tinysb;

-killsb

no seen-by & path kludges stores in message base (*)

-nokillsb

seen-by & path kludges stores in message base (*) if echoareadefaults set -killsb;

-dosfile

file name of area is in dos style (8+3). Please be aware of the fact that this will currently automatically disable the autoAreaCreateSubdirs feature.

-nodosfile

file name of area is in long filename style if echoareadefaults set -dosfile;

-hide

hide area in areafix reports (%list & etc.);

-nohide

show area in areafix reports (%list & etc.) if disabled in echoareadefaults;

-d "Description for the area between double quote (like this)"

describe area (for areafix reports & etc.);

-nopause

%PAUSE has no effect to this area;

-pause

%PAUSE has effect to this area if disabled in echoareadefaults;

-paused

Area is paused (unsubscribed at uplink). This flag is automatically set and cleared by hpt if ,See AutoAreaPause, enabled.

-noautoareapause

Do not automatically pause area even if ,See AutoAreaPause, is enabled.

-autoareapause

Automatically pause area (if ,See AutoAreaPause, is enabled).

-ccoff

disables carbonCopies for this area;

-noccoff or -ccon

enables carbonCopies for this area if disabled in echoareadefaults;

-DupeCheck off|move|del

toss dupes, move dupes to DupeArea or delete dupes.

-DupeHistory <unsignedInteger>

size of dupecheck history file in days for all dupe base types except CommonDupeBase, 7 days if not defined (See AreasMaxDupeAge in hpt.);

-nolink

disables reply-linking for this area (*);

-link

enables reply-linking for this area (*) if disabled in echoareadefaults;

-scan listed|manual|never

conditions to scan area: if listed in echotoss file or "-a" option; if run with "-a" option; or never

-debug

write debug info about this area to areaname.dbg (or common.dbg if "-dosfile" is used)

-nodebug

disable debug output if defined in echoareadefaults;

-sbadd(<addr2D>,...)

add seen-by(s) at tossing time;

-sbign(<addr2D>,...)

ignore seen-by(s) and toss mail to link(s).

-r

Default read-only: set link read-only at subscribing

-w

Default write-only: set link write-only at subscribing

(*) - these tokens to be removed from AutoAreaCreateDefaults when creating passthrough areas.

LinkOptions:

-def

default-uplink (used for area deletion, See AdvancedAreafix in hpt.)

-r

this link is read only

-w

this link is write only

-mn

this link is mandatory subscribed, you may also set: "<aka> -r -mn" or "<aka> -w -mn" and so on...

Link Options -r -w are left for backward compatibility. We strongly recommend to use tokens ReadOnly & WriteOnly for setting permissions on arealinks.

This statement can be repeated.

3.5.2 Note.

The msgbase MSG is limited to 65536 messages. This is SMAPI implementation limit.


Next: , Previous: , Up: area management keywords  

3.5.3 EchoAreaDefaults

Syntax:

EchoAreaDefaults [-b <msgbase>] [Options]

Example:

EchoAreaDefaults -b Squish -a 2:280/1507 -g F -dupeCheck move -dupehistory 11 -p 14 2:280/1126

With this keyword you can specify settings that will be set for the EchoArea and LocalArea definitions that follow. It makes the echoarea definitions shorter. All echoarea settings can be used except the areaname and path.

When you specify a different value in an echoarea definition, it overrules the default setting.

With the default from the example above, an echoarea definition could be:

EchoArea fidosoft.husky /var/spool/fido/msgb/fidosoft.husky -d "husky
develpment" 2:280/6207

This will internally be expanded to:

EchoArea fidosoft.husky /var/spool/fido/msgb/fidosoft.husky -d "husky
develpment" -b Squish -a 2:280/1507 -g F -dupeCheck move -dupehistory 11
-p 14 2:280/1126 2:280/6207

Another example:

EchoArea evolution /var/spool/fido/msgb/evolution -d "about fantasies" -p 100

that will be expanded to:

EchoArea evolution /var/spool/fido/msgb/evolution -d "about fantasies"
-b Squish -a 2:280/1507 -g F -dupeCheck move -dupehistory 11 -p 100
2:280/1126

As you will notice, the default settings are combined with the additional settings in the EchoArea definition, and the messages are purged after 100 days instead of 14 (the default).

This statement can be repeated.

An EchoAreaDefults setting is valid until a next EchoAreaDefaults setting. EchoAreaDefaults can also be switched off with an empty definition:

EchoAreaDefaults [OFF]

The word ’OFF’ is not needed but makes it more readable.


Next: , Previous: , Up: area management keywords  

3.5.4 BadArea

Syntax:

BadArea <name> <file> [-b <msgbase>] [Options]

Example:

BadArea badarea /var/spool/fido/msgb/bad -b Squish

This statement specifies the BadArea. Messages which have no area on your system go to the badArea. See EchoArea, for details on Options. Like all areas BadArea is *.msg base per default.

This statement cannot be repeated.


Next: , Previous: , Up: area management keywords  

3.5.5 DupeArea

Syntax:

dupeArea <name> <file> [-b <msgbase>] [Options]

Example:

dupeArea dupeArea /var/spool/fido/msgb/dupes -b Squish

This statement specifies the DupeArea. Messages which area dupes e.g. come to your system the second time, will be put in the DupeArea. See EchoArea, for details on Options. Like all areas DupeArea is *.msg base per default.

This statement cannot be repeated.


Next: , Previous: , Up: area management keywords  

3.5.6 NetMailArea

Syntax:

NetmailArea <name> <file> [-b <msgbase>] [Options]

Example:

NetmailArea netmail /var/spool/fido/msgb/netmail -b Squish

This statement specifies the NetMailArea. See EchoArea, for details on Options. Like all areas NetmailAreas is *.msg bases per default.

This statement can be repeated to use different netmailareas.

See NetArea.

This statement can be repeated.


Next: , Previous: , Up: area management keywords  

3.5.7 NetArea

Syntax:

NetArea <name> <file> [-b <msgbase>] [Options]

Example:

NetArea netmail /var/spool/fido/msgb/netmail -b Squish

See NetMailArea.

This statement can be repeated.


Next: , Previous: , Up: area management keywords  

3.5.8 robotsarea

Syntax:

robotsArea <string>

Example:

robotsArea SecondNetMail

Specifies area used for areafix and filefix scanning. Replies from robots will also be stored here. RobotsArea must be NetmailArea for security purposes!

This statement cannot be repeated.


Next: , Previous: , Up: area management keywords  

3.5.9 LocalArea

Syntax:

LocalArea <name> <file> [-b <msgbase>] [Options]

Example:

LocalArea linux.develop.ger /var/spool/fido/msgb/linux.develop.ger -b Squish -a 2:2433/1247 -dupeCheck move -dupehistory 11 -d "Linux development"

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

This statement can be repeated.


Next: , Previous: , Up: area management keywords  

3.5.10 filearea

Syntax:

FileArea <name> <fileareapath> <uplink> [options] [<downlinks>]

Example:

filearea Photoes /var/spool/fido/fileecho/Photoes 2:50/1 -d "Sysop photoes"

This statement specifies the FileArea: fileecho definition. Read HTick documentation for details.


Next: , Previous: , Up: area management keywords  

3.5.11 bbsarea

Syntax:

bbsarea <name> <bbsareapath>

Example:

BBSarea Incoming /var/spool/fido/BBS/incoming

This statement specifies the BBSArea: BBS file area definition. It’s used for filelist building. Read HTick documentation for details.


Next: , Previous: , Up: area management keywords  

3.5.12 AreaGroup

Syntax:

AreaGroup <group name> <pattern list>

Example:

AreaGroup RUSSIAN ru.* su.*

You can group areas by their names and then apply some default options to such areas. <group name> is a unique handle for every group. <pattern list> is a list of patterns with wich area names will be compared. If area name equals to some of patterns in group it will be assigned to this group. Pattern lookup will be performed in order you wrote them.

If you define AreaGroup once and then define it again with the same name patterns from these two definitions will be joined.

AreaGroup DN dn.*
AreaGroup DN dnepr.* 464.*

will produce patterns as if you define

AreaGroup DN dn.* dnepr.* 464.*

This statement can be repeated.


Next: , Previous: , Up: area management keywords  

3.5.13 AreaGroupDefaults

Syntax:

AreaGroupDefaults <group name> <options>

Example:

AreaGroupDefaults RUSSIAN -p 14 -dupehistory 11

This token defines default options for areas in group (see AreaGroup token). Options are the same as in EchoArea or EchoAreaDefaults. Parsing priority: EchoAreaDefaults (if defined) AreaGroupDefaults (if areaName suits pattern from one of groups) EchoArea


Next: , Previous: , Up: area management keywords  

3.5.14 grpdesc

Syntax:

grpDesc <group name> <group description>

Examples:

grpDesc A "Echomail areas from 2:5020/52" grpDesc Pvt Private areas

This statement defines description for the group of areas. Both name and description can be optionally enclosed by double quotes ("). Note that you can use a variable-length string for group name, not just a single char.

This statement can be repeated.


Next: , Previous: , Up: area management keywords  

3.5.15 PublicGroup

Syntax:

PublicGroup <string>[,<string>,...]

Example:

PublicGroup local,a,b,othernet

Specifies groups for public echo acess.

This statement cannot be repeated.


Next: , Previous: , Up: area management keywords  

3.5.16 ReadOnly

Syntax:

ReadOnly <addressMask> <areaMask>

Example:

ReadOnly 2:5021/19.* tver.sysop*

This statement set one or many links to writeonly for specified area masks. If you write node address do it *without* trailing .0!

If areaMask begins with ’!’ symbol it means that links won’t be set readonly for areas that match areaMask

    ReadOnly 2:5021/19.* tver.sysop*
    ReadOnly 2:5021/19.1 !tver.sysop*
    ReadOnly 2:5021/19.2 !tver.sysop.talks
    ReadOnly 2:5021/192  ru.anekdot

It means that all points if 2:5021/19 set r/o for tver.sysop* echoareas and fileareas except 2:5021/19.1 for all areas and 2:5021/19.2 can write only to tver.sysop.talks from tver.sysop* areagroup. Last rule implements a read-only status of ru.anekdot (echo)area for node 2:5021/192.

This statement can be repeated.


Previous: , Up: area management keywords  

3.5.17 WriteOnly

Syntax:

WriteOnly <addressMask> <areaMask>

Example:

WriteOnly 2:5021/19.* NobodyReadArea

This statement set one or many links to writeonly for specified area masks. If you write node address do it *without* trailing .0!

This statement can be repeated.


Next: , Previous: , Up: keywords  

3.6 Autocreate keywords


Next: , Previous: , Up: autocreate keywords  

3.6.1 CreateAddUplink

Syntax:

createAddUplink <bool>

Example:

createAddUplink

If enabled, the link from which an area is auto-created is marked as the default uplink for this area. By default, turned off. Note that you can set similar behaviour via autoAreaCreateDefaults for the link.

This statement cannot be repeated.


Next: , Previous: , Up: autocreate keywords  

3.6.2 CreateAreasCase

Syntax:

createAreasCase (Lower|Upper)

Example:

createAreasCase Upper

This statement defines case of areanames in autocreation. Default is lower case.

This statement cannot be repeated.


Next: , Previous: , Up: autocreate keywords  

3.6.3 CreateFwdNonPass

Syntax:

createFwdNonPass <bool>

Example:

createFwdNonPass

Autocreate non-passthru echoes in forward request operations. MsgBaseDir should be not passthrough!

This statement cannot be repeated.


Next: , Previous: , Up: autocreate keywords  

3.6.4 ReportRequester

Syntax:

reportRequester <bool>

Example:

reportRequester off

Defaults:

reportRequester on

By default, the link who requested an area is displayed in the auto-create report. This keyword disables showing it.

This statement cannot be repeated.


Previous: , Up: autocreate keywords  

3.6.5 ReportTo

Syntax:

ReportTo <string>

Example:

ReportTo netmail

Set name of echoarea or netmailarea to place autocreate reports.

This statement cannot be repeated.


Previous: , Up: keywords  

3.7 Robot definition keywords (Robot section)


Next: , Previous: , Up: robot keywords  

3.7.1 Robot

Syntax:

Robot <robot name>

Example:

Robot AreaFix

This keyword begins Robot section. All the following robot-related statements change the configuration of this robot until a new Robot statement is found. Currently used names are ’default’, ’Areafix’ and ’Filefix’. Values set for default robot are used as defaults for other robots.


Next: , Previous: , Up: robot keywords  

3.7.2 FromName

Syntax:

FromName <string>

Example:

FromName "HPT AreaFix"

Use value from FromName in field From when responding on messages to areafix. If this token not defined, name in original message will be used. Example:


1) FromName not defined in config:

Original message to areafix:
----------------------------
From: Sysop
To: ArEaFiX

AreaFix's response:
-------------------
From: ArEaFiX
To: Sysop

2) FromName "HPT AreaFix"

Original message to areafix:
----------------------------
From: Sysop
To: ArEaFiX

AreaFix's response:
-------------------
From: HPT AreaFix
To: Sysop

Also this value is being used when creating reports by qrep command.


Next: , Previous: , Up: robot keywords  

3.7.3 HelpFile

Syntax:

HelpFile <file>

Example:

HelpFile /etc/ftn/areafix.hlp

This is help file, which robot sends to link if he requests "%HELP".

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.4 KillRequests

Syntax:

KillRequests <bool>

Example:

KillRequests

Delete requests from links to robot.

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.5 MsgSize

Syntax:

MsgSize <integer>

Example:

MsgSize 20

This option set up maximum robot message size (20 kb). If not defined, reports will be not splitted...

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.6 RobotNames

Syntax:

RobotNames <string>

Example:

RobotNames SqaFix, hptfix

Set additional names for robot. Default names for Areafix robot are "areafix", "areamgr", "hpt". Default names for Filefix robot are "FileFix", "FileMgr", "AllFix", "FileScan", "htick".

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.7 RobotOrigin

Syntax:

RobotOrigin <string>

Example:

RobotOrigin c0()1 $tAt10n

the origin string in robot’s reports will be like this: * Origin: c0()1 $tAt10n (<your addr>)

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.8 QueryReports

Syntax:

QueryReports <bool>

Example:

QueryReports off

This statement enables/disables including linked areas list into all robot replies.

Default: off.

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.9 QueueFile

Syntax:

QueueFile <string>

Example:

QueueFile /fido/datafiles/areafix.queue

This command specifies the queue file containing your delayed forward-requests. Hpt must have read/write rights for this file. To use this feature run hpt qupd periodically.

Note: Don’t set this to the same value for different robots. It may lead to confusion and unexpected behaviour.

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.10 ReportsAttr

Syntax:

ReportsAttr <attr>

Example:

ReportsAttr pvt loc k/s

or

ReportsAttr pvt,loc,k/s

Set attributes to robot’s reports.

Valid attributes are:

pvt
crash
read
sent
att
fwd
orphan
k/s
loc
fwd
xx2
frq
rrq
cpt
arq
urq
kfs
tfs
dir
imm
cfm
npd

Default is "pvt loc k/s npd".

If this statement is used inside Link or LinkDefaults section, it sets attributes for this particular link. Otherwise it defines attributes used by default.

This statement can be repeated for different links.


Next: , Previous: , Up: robot keywords  

3.7.11 SplitStr

Syntax:

SplitStr <string>

Example:

SplitStr > Message splitted. To be continued...

This string added after splitted robot’s messages.

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.12 AutocreateFlag

Syntax:

AutocreateFlag <file>

Example:

AutocreateFlag /etc/ftn/flags/aac.flag

Create file-flag after autocreating area. This feature can be used for execute some scripts after tossing.

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.13 NewAreaRefuseFile

Syntax:

newAreaRefuseFile <file>

Example:

newAreaRefuseFile /etc/ftn/areas/dontcrte.lst

This token defines a file which will be used when autocreating echoarea. File contains list of areas which we don’t allow to autocreate. Subscribtion on such areas is also refused because such areas are marked as dead. Each line of this file is a mask of echotag.

Example:

RU.LIST.CITYCAT.*
SU.KASCHENKO.LOCAL

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.14 ForwardRequestTimeout

Syntax:

ForwardRequestTimeout <number>

Example:

ForwardRequestTimeout 7

This statement specifies time to wait (in days) for area requested from uplink. If there is no traffic in this area, <program> qupd unsubscribes area from this uplink and subscribes to it at next uplink. If next uplink for this echoarea not avaiable, <program> qupd removes echoarea from queue.

To use this feature run <program> qupd daily.

This token requires keyword QueueFile. See QueueFile.

Default is 7 days.

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.15 IdlePassthruTimeout

Syntax:

IdlePassthruTimeout <number>

Example:

IdlePassthruTimeout 3

This statement specifies time to wait (in days) before unsubscribing echoarea from uplink after the time last downlink unsubscribed (one uplink rest).

To use this feature run <program> qupd daily.

This token requires keyword QueueFile. See QueueFile.

Default is 3 days.

This statement cannot be repeated.


Next: , Previous: , Up: robot keywords  

3.7.16 KilledRequestTimeout

Syntax:

KilledRequestTimeout <number>

Example:

KilledRequestTimeout 4

This statement specified time wait (days) for delete from config echoarea after unsubscribe it from uplink (last link).

Run <program> qupd daily for use this feature.

This token requires keyword QueueFile. See QueueFile.

Default is 4 days.

This statement cannot be repeated.


Previous: , Up: robot keywords  

3.7.17 AutoAreaPause

Syntax:

AutoAreaPause <bool>

Example:

AutoAreaPause

default: off (disabled)

Enables or disables area pause algorythm. If area is passthrough and there is only uplink alive (link with "-def" flag set) while other links are paused, unsubscribe message will be sent to uplink and "-paused" flag will be set to area. If another link subscribes to the area, or one of already paused links resumes his subscription, area will be subscribed at uplink again and "-paused" flag cleared. Note, that links cannot send messages to paused area, they will be moved to badmail. If enabled, algorythm also works if link is paused by AutoPassive.

You may disable or enable algorythm for a particular area by setting one of "-noautoareapause" or "-autoareapause" flags.

This statement cannot be repeated.


Next: , Previous: , Up: Top  

4 Converting fidoconfig

Since popular mail readers, BBS programs and mailers does not support fidoconfig, we have developed programs that convert your fidoconfig to these config file formats.

Golded+ by Alexander A.Aganichev supports fidoconfig and converter isn’t needs, MsgEd TE 6.x and above integrated with fidoconfig.

Also we have developed program to convert configuration files of Fastecho tosser program into fidoconfig, to make migration from Fastecho to fidoconfig (and hpt) more easy.

  1. fconf2golded
    Converts fidoconfig to configuration file of Golded by Odinn Sorensen.

    Synopsys:
    fconf2golded <goldedConfigFileName> [<default.cfg>]

    Example:

    fconf2golded ~/golded/golded.cfg ~/golded/goldDefaults.cfg
    
  2. fconf2msged
    Converts fidoconfig to configuration file of MgsEd sysce version 6.

    Synopsys:
    fconf2msged <msgedConfigFileName>

    Example:

    fconf2msged ~/msged.areas
    
  3. fconf2aquaed
    Convert fidoconfig to configuration file of AquaEd.

    Synopsys:
    fconf2aquaed <aquaedConfigFileName> [<default.cfg>] (if you specify default.cfg there will be a include <default.cfg> generated in your config file)

    Example:

    fconf2aquaed ~/aquaed/aquaed.cfg
    
  4. fconf2binkd
    Fidoconfig to binkd config converter: generates passwords file for binkd or generates simple binkd config file (you may include it into real config).

    Synopsys:
    fconf2binkd [-v] [-h] [-c path/to/fidoconfig] [-f] [-p] [output_file_name]

    See details in fconf2binkd(1) man page or fconf2binkd.html.

    Examples:

    fconf2binkd -c ../husky/config -p binkd.pwd
    fconf2binkd binkd.conf
    
  5. fconf2fidogate
    Convert fidoconfig into config file of fidogate.

    Synopsys:
    fconf2fidogate <FidoGateAreasFileName> [<default.cfg>] (you may read config defaults from default.cfg)

    Example:

    fconf2fidogate /usr/local/lib/fidogate/areas
    
  6. fconf2squish
    Convert fidoconfig into config file of Squish.

    Synopsys:
    fconf2squish (<squish.cfg>|-) [<default.cfg>] (- as squish.cfg means stdout) (you may read config defaults from default.cfg)

    See details in fconf2squish(1) man page or fconf2squish.html

    Examples:

    fconf2squish ~/squish/squish.cfg
    fconf2squish - | grep -i echo >sqechoes.cfg
    
  7. fconf2tornado
    Convert fidoconfig into config file of Tornado BBS.

    Synopsys:
    fconf2tornado -[command [-command...]] <tornado.ctl> [<default.cfg>] (you may read config defaults from default.cfg)

    See details in fconf2tornado(1) man page or fconf2tornado.html

    Examples:

    fconf2tornado -ff -g -grLocal filearea.ctl temp.ctl
    fconf2tornado -mel -ss256 c:\bbs\tornado\msgarea.ctl
    
  8. fecfg2fconf
    Convert configuration of Fastecho into fidoconfig.

    Synopsys:
    fecfg2fconf [path]fastecho.cfg [output fidoconfig]

    Example:

    fecfg2fconf c:\fido\fastecho\fastecho.cfg fidoconfig.tmp
    

Next: , Previous: , Up: Top  

5 Testing the config

You should run tparser EVERYTIME you have changed the config. If tparser found error in config please correct your config file and try again.

Syntax:

tparser [-h|--help] [-Dvar=value] [-E] [-P] [/path/to/config/file]

Example:
tparser -Dmodule=hpt | less

tparser (like any fidoconfig program) will display error messages if you have made an error in the config. It also may be display some warnings about your config settings. It will grumble on every Keyword it does not know. It will stop after the first error (not warning) to give you the ability to change your config.

5.1 Options

-Dvar=value

Set the config variable var to value.

-E

Dumps config into stdout (all config variables expanded).

-h
--help

Display usage information.

-P

Try to create non-existing directories.


Previous: , Up: Top  

6 Contacting the author

You can reach me at

mtt@tichy.de
2:2432/645

and in the fido echoarea

linux.develop.ger
fidosoft.husky

Max Levenkov:

sackett@mail.ru
ru.husky (russian)
ru.echoprocessors (russian)
fidosoft.husky (english)

The actual fidoconfig library and other fido software will be on http://husky.sourceforge.net.