This document describes the use of fidoconfig to make fido work on your favorite platform.
This document applies to version 1.9 of fidoconfig.
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.
This chapter describes how a fidoconfig config-file is written, which keywords exist and where to put the file.
The fidoconfig library searches the config file on different locations:
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.
All symbols are not case-sensitive.
{<whiteSpace>} at the start of the line will be ignored.
All keywords are evaluated as they appear, the first matching keyword found applies. If more than one keyword of the same type is allowed, the last line applies. In other words, the subsequent definition replaces 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. The comment char
"#" can be changed by commentChar
token.
If a line ends with a backslash with a preceding space, the next line is
its continuation and they make one line with the backslash removed. This
functionality was added for one reason: to be able to use short
continuation lines in the configuration example in the documentation, so
that the lines do not end up being truncated after exporting the text to
pdf. So the configuration example with line continuations from the
documentation can be used in real life. But this feature is not intended
for regular use. After any change to the line with continuation, all the
continuations will be appended to the first part of the line, forming a
line without continuations. For example, if areafix adds a new node to an
Echoarea
line that uses one continuation after " \" (that is, this
Echoarea
is located on two physical lines), then the two physical
lines will be merged into one and there will be no continuation after " \".
The line will become long and will not contain a backslash. Therefore,
you should not use the line continuation feature to make the config
prettier.
If the first word in a line is an undefined keyword, program exits with an error message.
Each keyword has to start a new line.
Keyword parameters:
<integer>
1234567890
<string>
<bool>
<addr>
2:5000/117
<file>
<path>
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:
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:
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
These keywords may be used by several programs. More specific keywords you can find in the programs' individual documentations.
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
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
nodelistDir <path>
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.
fidoUserList <filename>
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.
Nodelist <name>
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).
DiffUpdate <path_and_basname>
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.
FullUpdate <path_and_basname>
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.
Dailynodelist <bool>
Dailynodelist on
orDailynodelist off
If you set Dailynodelist
to on
, NLTools do a full update of the nodelist on a daily basis, instead of checking if the new nodelist is 7 days newer. You have to set FullUpdate
and Dailynodelist
statements and not the DiffUpdate
statement for the daily nodelist processing.
Default is off
This token can be repeated.
DefaultZone <zone>
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.
Nodelistformat <format>
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.
delAppliedDiff <bool>
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.
Common tokens:
Link definition tokens:
sendMailCmd string
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.
email <email-address>
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.
emailFrom <email-address>
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.
emailSubj <subject>
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.
emailEncoding (MIME | SEAT | UUE)
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.
This section contains keyword-list only. Read BsoPack Manual for more info.
maxunpackednetmail packnetmail
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.
reqidxDir <path>
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.
# main fidoconfig file name Dummy point station sysop Ivan Durak location Moscow, Russia address 2:5020/9999.99 inbound /home/username/fido/inbound/insecure protinbound /home/username/fido/inbound outbound /home/username/fido/outbound tempinbound /home/username/fido/tmp.inbound tempoutbound /home/username/fido/tmp.outbound logfiledir /home/username/fido/log dupehistorydir /home/username/fido/dupebase nodelistdir /home/username/fido/etc msgbasedir /home/username/fido/msgbase echotosslog /home/username/fido/log/toss.log importlog /home/username/fido/log/import.log linkwithimportlog kill separatebundles yes disablepid yes disabletid yes # hptperlfile /home/username/fido/lib/hptfunctions.pl pack zip zip -9 -j -q $a $f unpack "unzip -j -Loqq $a $f -d $p" 0 504b0304 carbonto Ivan Durak carboncopy PERSONAL.MAIL robotsarea NETMAIL robot default killrequests yes reportsattr loc pvt k/s npd robot areafix fromname Areafix robot robotorigin Areafix robot linkdefaults begin allowemptypktpwd secure packer zip areafixautocreate off areafixautocreatedefaults -b squish -dupecheck del -dupehistory 14 areafixautocreatefile /home/username/fido/etc/areas echomailflavour direct forwardrequests off linkdefaults end # Link definitions link LoopBack aka 2:5020/9999.99 allowemptypktpwd on link 2:5020/9999 aka 2:5020/9999 ouraka 2:5020/9999.99 password pAs5w0rD areafixpwd pAs5w0rD # areafixautocreate on # Netmail routes # syntax: # route <flavor> <next hop> <target> [target ...] # #route direct 2:9999/99 2:9999/99.* #route direct 2:9999/99 2:9999/* route direct 2:5020/9999 * netmailarea NETMAIL /home/username/fido/msgbase/netmail -b squish badarea BAD /home/username/fido/msgbase/bad -b squish dupearea DUPE /home/username/fido/msgbase/dupe -b squish localarea PERSONAL.MAIL /home/username/fido/msgbase/personal.mail \ -b squish # Areas definition #echoarea ECHO.AREA.READ /home/username/fido/msgbase/echo.area.read \ -b squish -dupecheck del -dupehistory 14 -a 2:5020/9999.99 \ 2:5020/9999 #echoarea ECHO.AREA.PASS passthrough -dupecheck del -dupehistory 14 \ -a 2:5020/9999.99 2:5020/9999
version <integer>.<integer>
version 1.9
Here you specify which version of fidoconfig your config belongs to. Currently this statement does nothing.
This statement cannot be repeated.
name <string>
name Leetebrok BBS
Here you specify your system's name.
This statement cannot be repeated.
location <string>
location Dusseldorf
You specify your location here.
This statement cannot be repeated.
sysop <string>
sysop Matthias Tichy
You specify your name with this keyword.
This statement cannot be repeated.
include <file>
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.
Address <addr>
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
commentChar <char>
commentChar ;
This command specifies which symbol is used to mark rest of line as comment. Default is '#'
This statement can be repeated.
seqDir <path>
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.
seqOutrun <string>
seqOutrun 1m
Sets maximum outrun for msgid sequence from current time. See seqdir.
Use decimal number with optional suffix.
Suffixes are:
Set seconds without suffix.
By default environment variable SEQOUT is used, or 3y if it isn't set.
This statement cannot be repeated.
outbound <path>
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:
The zone directory contains the flow-files for each node. A Flow-file of a node has the name NNNNFFFF.?lo
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.
FileBoxesDir <directory>
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.
z.n.f.p[.h]
,
FileBoxesDir /fido/fileboxes
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.
inbound <path>
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.
localinbound <path>
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.
protinbound <path>
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.
lockfile <file>
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.
AdvisoryLock <integer>
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.
tempDir <path>
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.
logFileDir <path>
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.
syslogFacility <facility>
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.
loglevels <string>
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:
Default value: 1234567890ABCDEF
This statement cannot be repeated.
Screenloglevels <string>
Screenloglevels 2345789,A-C
Sets levels of log output to screen. See loglevels for details.
This statement cannot be repeated.
logDateFormat <string>
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):
%d | current day of month as a decimal number, zero-prefixed (01-31)
|
%e | current day or month as a decimal number, space-perfixed ( 1-31)
|
%H | current hour as a decimal number (00-23)
|
%M | current minute as a decimal number (00-59)
|
%m | current month as a decimal number (01-12)
|
%S | current second as a decimal number (00-59)
|
%Y | current year with century as a decimal number (for example, 2005)
|
%y | current year without century as a decimal number (for example, 05)
|
%A | national representation of the full weekday name (for example, Monday)
|
%a | national representation of the abbreviated weekday name (for example, Mon)
|
%B | national representation of the full month name (for example, April)
|
%b | national 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.
logEchoToScreen <bool>
logEchoToScreen
Enable or disable log messages screen output. See also ScreenLogLevels.
This statement cannot be repeated.
Pack zip|tgz|rar|arc|arj|..... <call>
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.
Unpack "<call>" <offset> <matchcode>
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
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 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.
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.
link <string>
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.
linkdefaults [begin | end | destroy]
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.
aka <addr>
aka 2:2433/1245
This statement sets the aka for the current link.
This statement can only be repeated for different links.
ouraka <addr>
ouraka 2:2433/1247
This statement sets the aka which is used for this link.
This statement can only be repeated for different links.
password [<string>]
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.
pktpwd [<string>]
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.
ticpwd [<string>]
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.
areafixpwd [<string>]
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.
remoteRobotName <string>
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.
filefixpwd [<string>]
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.
bbspwd [<string>]
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.
sessionpwd [<string>]
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.
handle <name>
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.
packer <packer>
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.
<robot name>autocreate <bool>
areafixAutoCreate on
filefixAutoCreate on
This statement gives a link the permission to create echoareas on your system just by sending messages in them and fileareas by sending files in the areas.
The echoareas are created using the areafixAutoCreateDefaults
contents:
EchoArea <areaName> <msgBaseDir><areaName> -a <mypktaddr> -b Squish <areafixAutoCreateDefaults> <linkAddr>
Default message base type is Squish. But you can set "-b Jam" or "-b
Msg" in areafixAutoCreateDefaults
.
Similar rules apply to creating fileareas.
This statement can only be repeated for different links.
<robot name>autoCreateFile <file>
areafixAutoCreateFile /etc/fido/areas.matthias
filefixAutoCreateFile /etc/fido/fareas
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.
<robot name>autoCreateDefaults <string>
areafixAutoCreateDefaults -$m 200 -dupecheck move
filefixAutoCreateDefaults -p 90
Set default options for autocreated echo or file areas. Please do not put
any paths or passthrough
keyword here, use MsgBaseDir
or
FileAreaBaseDir
for that globally or LinkMsgBaseDir
and
LinkFileBaseDir
for specific links.
When an echo (or fileecho) is created, EchoArea
(or FileArea
)
keyword is written to the area declaration first, then areaname, then path
to the area file (area directory for fileecho) or passthrough
keyword,
then the options from AutoCreateDefaults
and after that the address
of the link creating the area. The options from AutoCreateDefaults
override the options from the current EchoAreaDefaults or
fileAreaDefaults.
This statement can only be repeated for different links.
<robot name>AutoSubscribe <bool>
areafixAutoSubscribe on
filefixAutoSubscribe on
Automatically subscribe the link to all autocreated areas. On default it
is off for all links. The value of AutoSubscribe
does not influence
already existing areas. If you want to subscribe a link to all existing
areas in a group, use EchoAreaDefaults or fileAreaDefaults.
This statement can only be repeated for different links.
<robot name>forwardRequests <bool>
areafixforwardRequests on
filefixforwardRequests on
By default "forwardRequests" are off. "On" allows forward requests to this
link from other links. If neither forwardRequestFile
nor
forwardRequestMask
are defined, then requests will be forwarded unconditionally.
LinkGrp
can deny access to some links...
This statement can only be repeated for different links.
See LinkGrp.
<robot name>FwdDenyFile <file>
areafixFwdDenyFile /etc/fido/denyfwdafix
filefixFwdDenyFile /etc/fido/denyfwdffix
Don't forward requests for areas from this file. Pattern matching does not supporting!
This statement can only be repeated for different links.
<robot name>FwdDenyMask <string>[,<string> ...]
areafixFwdDenyMask TYT.*, *FLAME*
filefixFwdDenyMask RAIL*
Don't forward the requests matching the masks.
This statement can only be repeated for different links.
<robot name>denyFwdReqAccess <bool>
areafixDenyFwdReqAccess
filefixDenyFwdReqAccess
Don't allow forward requests from this link (via <robot name>) to your links.
This statement can only be repeated for different links.
<robot name>denyUncondFwdReqAccess <bool>
areafixDenyUncondFwdReqAccess
filefixDenyUncondFwdReqAccess
Don't allow unconditional forward requests from this link (via <robot name>) to your links.
This statement can only be repeated for different links.
<robot name>FwdFile <file>
areafixFwdFile /etc/fido/echo777.lst
filefixFwdFile /etc/fido/fecho777.lst
The file contains a list of areas for which forward requests to the link are possible. If the file contains area descriptions they will be used when autocreating areas. If not defined then forward requests will be unconditional.
This statement can only be repeated for different links.
<robot name>FwdMask <string>[,<string> ...]
areafixFwdMask nsk.*
filefixFwdMask book*
If area nsk.* (nsk.test for example) will be requested by a downlink and forward requests to the uplink are allowed, then it is created and request goes to uplink. If the area doesn't match to any mask in the list, then the next link is checked for a possibility of the forward request.
This statement can only be repeated for different links.
<robot name>FwdPriority <integer>
areafixFwdPriority 1
filefixFwdPriority 5
By default the robot (areafix or filefix) checks every link sequentially in the order the links are defined in config whether the request can be forwarded to the link. But you can set a 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.
EchoLimit <integer>
EchoLimit 50
This is maximum areas which can be subscribed via * robot for this link.
This statement can only be repeated for different links.
pause ([on]|off|earea|farea)
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 section.
export <bool>
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.
import <bool>
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.
optgrp <string>[,<string> ...]
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.
accessgrp <string>[,<string>...]
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.
linkgrp <string>
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 example:
1) string Fido
will be added to a new area record unless
areaixAutoCreateDefaults
defines an implicit group;
2) links that have no access to the Fido
group 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.
mandatory <bool>
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.
manual <bool>
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.
level <non-negative integer>
level 200
An access level of a link to areas. By default it is "level 0".
Used to control the link's read/write access to areas. The value has no meaning
by itself but only in relation to echo or file echo options -lr and -lw.
See EchoArea. If, for example, you set Level 35
for a link then
the link will have read access to all areas with -lr
equal or less than 35
and write access to all areas with -lw
equal or less than 35
.
This statement can only be repeated for different links.
EchoArea <name> <file> [-b <msgbase>] [Options] [linkAKA [linkOptions]]...
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.
Msg
is standard (OPUS *.msg-base). Write Squish
for an
Squish-msgbase and Jam
for Jam-msgbase.
Options:
-mandatory
;
-manual
;
-noPack
;
-killRead
;
-keepUnread
;
-kill
;
-keepsb
;
-tinysb
;
-killsb
;
-dosfile
;
DupeArea
or delete dupes.
CommonDupeBase
, 7 days if not defined
(See AreasMaxDupeAge.);
EchoAreaDefaults
.
(*) - these tokens to be removed from areafixAutoCreateDefaults
when
creating passthrough areas.
LinkOptions:
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.
The msgbase MSG
is limited to 65536 messages. This is SMAPI
implementation limit.
EchoAreaDefaults [passthrough | -b <msgbase>] [Options] [linkAKAs] [linkOptions]
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 message base 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 development" 2:280/6207
This will internally be expanded to:
EchoArea fidosoft.husky /var/spool/fido/msgb/fidosoft.husky -d "husky development" -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.
BadArea <name> <file> [-b <msgbase>] [Options]
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.
dupeArea <name> <file> [-b <msgbase>] [Options]
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.
NetmailArea <name> <file> [-b <msgbase>] [Options]
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.
NetArea <name> <file> [-b <msgbase>] [Options]
NetArea netmail /var/spool/fido/msgb/netmail -b Squish
See NetMailArea.
This statement can be repeated.
robotsArea <string>
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.
LocalArea <name> <file> [-b <msgbase>] [Options]
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.
FileArea <name> <fileareapath> <uplink> [options] [<downlinks>]
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.
bbsarea <name> <bbsareapath>
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.
AreaGroup <group name> <pattern list>
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.
AreaGroupDefaults <group name> <options>
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
grpDesc <group name> <group description>
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.
PublicGroup <string>[,<string>,...]
PublicGroup local,a,b,othernet
Specifies groups for public echo acess.
This statement cannot be repeated.
ReadOnly <addressMask> <areaMask>
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.
WriteOnly <addressMask> <areaMask>
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.
createAddUplink [<bool>]
createAddUplink
If enabled, the link from which an area is auto-created is marked as the default uplink for this area. It is turned off by default. Please note that you cannot use autoCreateDefaults for that.
This statement cannot be repeated.
createAreasCase (Lower|Upper)
createAreasCase Upper
This statement defines case of areanames in autocreation. Default is lower case.
This statement cannot be repeated.
createFwdNonPass <bool>
createFwdNonPass
Autocreate non-passthru echoes in forward request operations. MsgBaseDir should be not passthrough!
This statement cannot be repeated.
reportRequester <bool>
reportRequester off
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.
ReportTo <string>
ReportTo netmail
Set name of echoarea or netmailarea to place autocreate reports.
This statement cannot be repeated.
Robot <robot name>
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.
FromName <string>
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.
HelpFile <file>
HelpFile /etc/ftn/areafix.hlp
This is help file, which robot sends to link if he requests "%HELP".
This statement cannot be repeated.
KillRequests <bool>
KillRequests
Delete requests from links to robot.
This statement cannot be repeated.
MsgSize <integer>
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.
RobotNames <string>
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.
RobotOrigin <string>
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.
QueryReports <bool>
QueryReports off
This statement enables/disables including linked areas list into all robot replies.
Default: off.
This statement cannot be repeated.
QueueFile <string>
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.
ReportsAttr <attr>
ReportsAttr pvt loc k/s
ReportsAttr pvt,loc,k/s
Set attributes to robot's reports.
Valid attributes are:
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.
SplitStr <string>
SplitStr > Message splitted. To be continued...
This string added after splitted robot's messages.
This statement cannot be repeated.
AutocreateFlag <file>
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.
newAreaRefuseFile <file>
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:
This statement cannot be repeated.
ForwardRequestTimeout <number>
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.
IdlePassthruTimeout <number>
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.
KilledRequestTimeout <number>
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.
AutoAreaPause <bool>
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.
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.
Synopsys:
fconf2golded <goldedConfigFileName> [<default.cfg>]
Example:
fconf2golded ~/golded/golded.cfg ~/golded/goldDefaults.cfg
Synopsys:
fconf2msged <msgedConfigFileName>
Example:
fconf2msged ~/msged.areas
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
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
Synopsys:
fconf2fidogate <FidoGateAreasFileName> [<default.cfg>]
(you may read config defaults from default.cfg)
Example:
fconf2fidogate /usr/local/lib/fidogate/areas
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
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
Synopsys:
fecfg2fconf [path]fastecho.cfg [output fidoconfig]
Example:
fecfg2fconf c:\fido\fastecho\fastecho.cfg fidoconfig.tmp
You should run tparser everytime you have changed the config. If tparser found error in config please correct your config file and try again.
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.
var
to value
.
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.