This document describes HPT 1.9, a Fidonet Message Tosser for OS/2, Windows, BeOS and Unix.
HPT is based on FIDOCONFIG library, so read documentation of FIDOCONFIG about location of config file, keywords ideology and about majority of the keywords, See Fidoconfig Manual in Fidoconfig manual.
• Overview | What is HPT? | |
• Installation | Installation. Read this! | |
• Configuration Reference | Explanation of the configuration file. | |
• Advanced Concepts | Advanced features and concepts. | |
• Keyword Index | Configuration File Keywords Index |
Next: Installation, Previous: Top, Up: Top [Index]
HPT is a Fidonet message tosser and packer with areafix, written by Matthias Tichy, 2:2432/645@fidonet. Now project is being supported by Max Levenkov, 2:5000/117@fidonet and Husky Development Team.
Features of HPT:
The advantages of HPT are:
The limitations of HPT is:
Next: Configuration Reference, Previous: Overview, Up: Top [Index]
This chapter provides you with information that is necessary to successfully install and use HPT.
I suppose, that you already has compiled binaries. If not - read "Download" or "Compile the Source Code" chapters.
tparser
from FIDOCONFIG package to test your config
(read about PublicGroup
or AccessGrp
if you want to use
groups for EchoAreas
)
• Download | Download the Source Code & Binary Files | |
• Compiling | How to compile the source code | |
• Support | Support, Contacting the Author, Reporting Bugs, Contributing Code | |
• Credits | Credits |
Next: Compiling, Previous: Installation, Up: Installation [Index]
Next: Support, Previous: Download, Up: Installation [Index]
1. The smapi and fidoconf packages are required for hpt.
2. Put the fidoconfig and smapi packages in the directory where the other packages of fido linux reside:
3. Compile and install smapi and fidoconf packages. Use "Makefile" for dynamic executables and makefile.lnx (or what you need) for static ones.
4. Compile and install hpt:
You should use the _same_ makefiles in smapi, fidoconf and hpt.
Next: Credits, Previous: Compiling, Up: Installation [Index]
There are numerous reasons why you might wish to establish contact with me, the author of HPT.
FIDOSOFT.HUSKY
The international Husky conference. English is the preferred language here.
RU.HUSKY
This Russian echo covers Husky Project. I monitor it regularly.
RU.ECHOPROCESSORS
Russian talks about echoprocessors. I monitor it regularly.
If you do not have access to any of these echos, you may of course also contact me via netmail or e-mail at the addresses listed below.
If you are an experienced user and get core dump, you can send me gdb report. If you have a crash, locate core file that has been generated. Then run $ gdb hpt core, type where. HPT must be compiled with debug information (DEBUG=1 in huskymak.cfg file). Then send report to address below.
If you are running any other binary version (like Windows), you will not get a core file on a crash. Write down as much information as you can, try to find a way to reproduce the crash and contact me at the addresses below.
If you want to write a new feature for HPT, please contact me beforehand to avoid that we do duplicate work. Again, I will appreciate and honor eny efforts done by you. Please note that for writing a HPT enhancement, you should be familiar with C. Also, HPT uses a special indentation style throughout the source code, that I would like you to adhere to.
So here are my addresses if you want to get in contact with me:
Previous: Support, Up: Installation [Index]
Thanks to:
P.S. all this people make bug fixes, so I don’t mention it.
Next: Advanced Concepts, Previous: Installation, Up: Top [Index]
HPT is based on FIDOCONFIG library, so read documentation of FIDOCONFIG about location of config file, keywords ideology and about majority of the keywords, See Fidoconfig Manual in Fidoconfig manual.
• Using config | Notes about fidoconfig usage in hpt | |
• Keywords | This chapter describes keywords | |
• Files and Paths | File & Path keywords | |
• Link Keywords | Links configuration | |
• Carbon Copy | Carbon Copy keywords |
Next: Keywords, Previous: Configuration Reference, Up: Configuration Reference [Index]
Although HPT uses fidocongig, not all config statements refer to hpt. Hpt ignores all unused config statements.The Husky Fidonet Software project concept is to use one config file for all fidonet programs.
In some cases need use different values for one statement in hpt, htick
and/or other husky programs (called modules). It solve using config
variable module
: hpt define the module
variable with value
hpt
and you may use if-elseif-else-endif conditions statements
sequence like as:
if "[module]"=="hpt" Origin High Portable Tosser at my node elseif "[module]"=="htick" Origin High Portable Ticker at my node else Origin My node endif
HPT define config variable version
with value set to hpt version
like MAJOR.MINOR.PATHLEVEL
, i.e. 1.9.0
or
1.4.1
.
You may use this variable too for make common config for several hpt versions.
To test config for hpt only you may call tparser tool with parameters
-Dmodule=hpt
and (if need) -Dversion=1.9.0
(tparser included into fidoconfig package) like this:
tparser -Dmodule=hpt tparser -Dmodule=hpt -Dversion=1.9.0
Common rule for config statements order is: Define object before using it!.
Examples:
Next: Files and Paths, Previous: Using config, Up: Configuration Reference [Index]
HPT is based on FIDOCONFIG library, so read documentation of FIDOCONFIG about location of config file, keywords ideology and about majority of the keywords, See Fidoconfig Manual in Fidoconfig manual.
• AddToSeen | add addr to seen-by’s | |
• AfterUnpack | execute string after unpack arcmail bundles | |
• AreafixFromPkt | process areafix requests on the fly | |
• AreasFileNameCase | case of filenames of autocreated areas | |
• AutoPassive | set pause for links who don’t poll our system | |
• BeforePack | execute string before pack pkt files | |
• BundleNameStyle | style of filenames of arcmail bundles | |
• DefArcmailSize | default size for arcmail bundle | |
• DisableTID | disable adding TID to messages | |
• DisablePID | disable adding PID to messages | |
• DisableKludgeRescanned | disable adding kludge @RESCANNED to messages | |
• IgnoreCapWord | ignore Capability Word in pkt files | |
• IgnoreSeen | ignore SEEN-BYs and pack mail for link | |
• KeepTrsFiles | keep transit files | |
• KeepTrsMail | keep transit netmail messages | |
• KludgeAreaNetmail | how to process netmail with kludge "AREA:NETMAIL" | |
• LinkWithImportLog | list of areas only which should be linked | |
• NetmailFlag | create flag after unpacking netmail msg | |
• NoProcessBundles | no unpack arcmail bundles | |
• Origin | add specified origin to hpt messages | |
• PackNetMailOnScan | pack netmail found in EchoTossLog file when scan | |
• ProcessPkt | execute string before tossing pkts | |
• RecodeMsgBase | allow recoding of message base | |
• Remap | remap mail to other address | |
• Route | routing of netmails | |
• RouteFile | routing of netmails with file attached | |
• RouteMail | routing of netmails without file attached | |
• SeparateBundles | move echomail for each link to his own directory | |
• SetConsoleTitle | schange conesole title under win32 | |
• SortEchoList | echolist sort mode | |
• TearLine | add specified tearline to hpt messages | |
• TossingExt | extension of mail files while tossing |
Next: AfterUnpack, Previous: Keywords, Up: Keywords [Index]
addToSeen <addr> [<addr> ...]
addToSeen 99/100 99/101
Add <addr> to SEEN-BYs. If <addr> is present or not - it is always adds.
This statement can be repeated.
Next: AreafixFromPkt, Previous: AddToSeen, Up: Keywords [Index]
afterUnpack <string>
afterUnpack pktpack /home/fido/in.tmp/*.pkt
This <string> is executed after unpacking arcmail bundle. You may process
your pkt files in tempInbound
directory with external utility.
This statement cannot be repeated.
Next: AreasFileNameCase, Previous: AfterUnpack, Up: Keywords [Index]
areafixFromPkt <bool>
areafixFromPkt
Process areafix requests on the fly. Check "areafix", "areamgr" & "hpt" keywords in toUserName field. Request messages don’t saves.
This statement cannot be repeated.
See RobotNames in fidoconfig.
Next: AutoPassive, Previous: AreafixFromPkt, Up: Keywords [Index]
areasFileNameCase (Lower|Upper)
areasFileNameCase Upper
This statement defines case of filemanes of autocreated areas. Default is lower case.
This statement cannot be repeated.
Next: BeforePack, Previous: AreasFileNameCase, Up: Keywords [Index]
autopassive <bool>
autopassive
If this statement is defined HPT will check for old bundles in every run. Fileboxes are not checked. Links, for which there are bundles that are at least "AutoPause" days old, will be paused. It stops exporting echomail for them. If AutoPause is not defined or is equal to 0 for a link then AutoPassive is ignored for this link. If AutoPassive is not defined then AutoPause is ignored for all links.
The paused link is unsubscribed from the areas which are passthrough with no downlinks besides him (see -def in EchoArea in fidoconfig to make it work) AND which are allowed to be paused (see -pause, -paused, -noautoareapause, -autoareapause in EchoArea in fidoconfig and AutoAreaPause in fidoconfig). An unsubscribe request is sent to the uplink for those areas. Note that this feature is unavailable when using %PAUSE Areafix command.
By using "hpt pause" command-line parameter instead of defining AutoPassive in the configuration file, you can do the check for old bundles and all the rest of the functionality of AutoPassive only once.
This statement cannot be repeated.
See also AutoPause and Pause in fidoconfig sections.
Next: BundleNameStyle, Previous: AutoPassive, Up: Keywords [Index]
beforePack <string>
beforePack pktpack /home/fido/out.tmp/*.pkt
This <string> is executed before packing pkt files to arcmail bundles. You
may process your pkt files in tempOutbound
directory with
external utility.
This statement cannot be repeated.
Next: DefArcmailSize, Previous: BeforePack, Up: Keywords [Index]
bundleNameStyle <timeStamp | addrDiff | addrsCRC32 | addrDiffAlways | addrsCRC32Always | Amiga>
bundleNameStyle timeStamp
This statement sets rule for creating names of arcmail bundles:
timeStamp
some kind of random names (current time + some counter).
addrDiff
create name from difference of source and destination addreses. Always
the same filename for every pair of links. Automatically switched to
timeStamp
when all alowed extensions were used.
addrsCRC32
create name from CRC32 of string composed from "hpt", source and destination
addreses. Always the same filename for every pair of links, very unique.
Automatically switched to timeStamp
when all alowed extensions were
used.
addrDiffAlways
the same as addrDiff but tryes to use lower free numbers of extension in case when all higher numbers are already busy.
addrsCRC32Always
the same as addrsCRC32 but tryes to use lower free numbers of extension in case when all higher numbers are already busy.
Amiga)
Amiga Style Outbound (ASO). Bundles creates in Outbound
directory
like this:
2.5000.117.1.hut 2.5000.117.1.mo0
If SeparateBundles on
and Packer
not defined pkt moves to
2.5000.117.1.sep
directory.
Extensions & prefixes in flo files creates as in addrDiffAlways
algorythm.
Default value is timeStamp
This statement cannot be repeated.
See also LinkBundleNameStyle.
Next: DisableTID, Previous: BundleNameStyle, Up: Keywords [Index]
defarcmailsize <integer>
defarcmailsize 1024
default arcmail size in kb for all links. 500kb if not defined.
This statement cannot be repeated.
Next: DisablePID, Previous: DefArcmailSize, Up: Keywords [Index]
DisableTID <bool>
DisableTID
Don’t add TID-line to scanned messages.
This statement cannot be repeated.
Next: DisableKludgeRescanned, Previous: DisableTID, Up: Keywords [Index]
DisablePID <bool>
DisablePID
Don’t add PID-line to generated messages.
This statement cannot be repeated.
Next: IgnoreCapWord, Previous: DisablePID, Up: Keywords [Index]
DisableKludgeRescanned <bool>
DisableKludgeRescanned
Don’t add kludge RESCANNED to generated messages.
This statement cannot be repeated.
Next: IgnoreSeen, Previous: DisableKludgeRescanned, Up: Keywords [Index]
IgnoreCapWord <bool>
IgnoreCapWord
Ignoring Capability Word in pkt files. If some pkt moved to bad. This may help, but not recommended. It is better to change old software.
This statement cannot be repeated.
Next: KeepTrsFiles, Previous: IgnoreCapWord, Up: Keywords [Index]
IgnoreSeen <addr> [<addr> ...]
IgnoreSeen 99/150
Ignore this SEEN-BY & pack mail for link. But no pack it back if the mail was from him.
This statement can be repeated.
Next: KeepTrsMail, Previous: IgnoreSeen, Up: Keywords [Index]
keepTrsFiles <bool>
keepTrsFiles
Leave transit (routed) files in Inbound
directory. If this
statement is ommitted transit files wouldn’t be kept.
Default is "off".
File route possible with "Att" attribute in message header and file name in subject line.
This statement cannot be repeated.
See RouteFile.
Next: KludgeAreaNetmail, Previous: KeepTrsFiles, Up: Keywords [Index]
keepTrsMail <bool>
keepTrsMail
Save transit messages in NetmailArea. If this statement is ommitted transit messages wouldn’t be kept in NetmailArea. Default is "off".
This statement cannot be repeated.
Next: LinkWithImportLog, Previous: KeepTrsMail, Up: Keywords [Index]
kludgeAreaNetmail <kill | ignore | echomail>
kludgeAreaNetmail kill
Default is "kill"
If message started with "AREA:NETMAIL" we have three ways:
1. kill this kludge. process message as netmail. 2. ignore this kludge. process message as netmail. 3. process message as echomail.
This statement cannot be repeated.
Next: NetmailFlag, Previous: KludgeAreaNetmail, Up: Keywords [Index]
linkWithImportLog <yes | no | kill>
linkWithImportLog yes
This statement specifies if the importlog-file should be used to determine which echomail areas need to be linked.
importlog-file will be read. areas which are in importlog, will be linked. the importlog-file will not be erased.
like yes, but the importlog-file will be killed after using it.
DEFAULT. all areas will be linked.
This statement cannot be repeated.
Next: NoProcessBundles, Previous: LinkWithImportLog, Up: Keywords [Index]
netmailFlag <file>
netmailFlag /etc/ftn/flags/netmail
Create file-flag after unpacking netmail msg. This feature can be used for execute netmail trackers after tossing.
This file also created after scannig NetmailArea
without route
definition. Scanning is stopped but file-flag created for netmail
tracker.
This statement cannot be repeated.
Next: Origin, Previous: NetmailFlag, Up: Keywords [Index]
noProcessBundles <bool>
noProcessBundles
Don’t unpack arcmail bundles.
This statement cannot be repeated.
Next: PackNetMailOnScan, Previous: NoProcessBundles, Up: Keywords [Index]
origin <string>
origin mega cool station
Add this Origin to hpt messages: post, reports about new areas created.
This statement cannot be repeated.
Next: ProcessPkt, Previous: Origin, Up: Keywords [Index]
PackNetMailOnScan <bool>
PackNetMailOnScan off
When PackNetMailOnScan is "on" (default) hpt packs netmail when doing "hpt scan" and netmail area is found in EchoTossLog file. When it is "off" hpt leaves netmail area(s) in EchoTossLog file until "hpt pack" is invoked.
This statement can be repeated (overrides old setting).
Next: RecodeMsgBase, Previous: PackNetMailOnScan, Up: Keywords [Index]
processPkt <string>
processPkt pktdate
The <string> is executed before tossing each pkt file. You can
fix your pkts using pktdate or any other tool before tossing them. Note that
pkt file may be renamed depending of tossingExt
token value.
This statement cannot be repeated.
Next: Remap, Previous: ProcessPkt, Up: Keywords [Index]
recodeMsgBase <bool>
recodeMsgBase off
recodeMsgBase on
This statement specifies if we should recode messages when put/get them to/from message base. So you can keep message base in transport charset and configs/other local files in local one.
This statement cannot be repeated.
Next: Route, Previous: RecodeMsgBase, Up: Keywords [Index]
Remap <ToName>,<ToAddress>,<NewAddress>
Remap Max Levenkov,2:5000/117,2:5000/117.1\n
Remap *,2:5000/117,2:5000/117.1
Remap Max Levenkov,*,2:5000/117.1
Remap mail to other address. ToName OR ToAddress can be replaced with asterisk to match any value of ToName or ToAddress. Two asterisks can’t be defined together. This statement does not touch TOPT & FMPT kludges.
This statement can be repeated.
route [<flavour>] <target> <linkWW> [<linkWW> ...]
route crash 2:2433/1245 2:2433/* 2:2432/*
This statement defines a route.
flavour:
Flavour can be omitted if target is a link defined by Link
section.
In this case the link’s netMailFlavour
is used as flavour.
target:
linkWW is a DOS-style pattern with ? and *.
Route statements are parsed in descending order: Pseudo-code:
1) actual = first statement 2) if linkWWW = msg-destination using pattern matching 2a) take this routing and return 2b) else actual = next statement 3) jump to 2)
NOTE! This statement must occur after "link" sections.
This statement can be repeated.
routeFile <flavour> <target> <linkWW> [<linkWW> ...]
routeFile crash 2:2433/1245 2:2433/* 2:2432/*
This statement is the same as the Route
statement, but applies
only to msgs with file attaches. Files are routed with netmail msgs. If
no RouteFile
defined, then files will be not routed at all!
This statement can be repeated.
Next: SeparateBundles, Previous: RouteFile, Up: Keywords [Index]
routeMail <flavour> <target> <linkWW> [<linkWW> ...]
routeMail crash 2:2433/1245 2:2433/* 2:2432/*
This statement is the same as the Route
statement.
This statement can be repeated.
Next: SetConsoleTitle, Previous: RouteMail, Up: Keywords [Index]
SeparateBundles <bool>
SeparateBundles
Move echomail for all links to their own directories.
This statement cannot be repeated.
Next: SortEchoList, Previous: SeparateBundles, Up: Keywords [Index]
SetConsoleTitle <bool>
SetConsoleTitle
Set hpt console title while tossing. (WIN32 Only!)
This statement cannot be repeated.
Next: TearLine, Previous: SetConsoleTitle, Up: Keywords [Index]
SortEchoList none|name|group|group,name
SortEchoList name
This keyword determines sorting mode for echolist (%LIST, %QUERY, etc):
none
unsorted (order as presents in config file)
name
sort by name
group
sort by group (-g in echoArea) only
group,name
sort by group and name.
When sorting is carried out by group, group descriptions (see grpDesc keyword) are printed before groups’ areas.
By default echolist is sorted by name.
This statement cannot be repeated.
Next: TossingExt, Previous: SortEchoList, Up: Keywords [Index]
tearline <string>
tearline We Love HPT! :)
Add this tearline to hpt messages (post, reports about new areas created)
This statement cannot be repeated.
TossingExt [<string>]
TossingExt tos
Extension of bundle & packet files will be changed to <string> before
tossing (and before processPkt string executed if set). That may be used
for preventing of permanent tossing fault because of bad file in inbound.
Default extension: tos.
TossingExt
without parameter disables files renaming in tossing.
This statement cannot be repeated.
Next: Link Keywords, Previous: Keywords, Up: Configuration Reference [Index]
HPT is based on FIDOCONFIG library, so read documentation of FIDOCONFIG about location of config file, keywords ideology and about majority of the keywords, See Fidoconfig Manual in Fidoconfig manual.
• AdvStatisticsFile | binary statistic file | |
• AreasMaxDupeAge | max age for dupes in CommonDupeBase | |
• DupeBaseType | type of dupe base | |
• DupeHistoryDir | path for dupe files | |
• EchoTossLog | file which contains the names of the areas to scan | |
• FileBoxesDir | directory where link fileBoxes are created | |
• HptPerlFile | file which contains perl filter functions | |
• ImportLog | file which contains the names of the areas tossed in | |
• Intab | file for recoding incoming msgs | |
• MinDiskFreeSpace | minimum free space on the drive | |
• MsgBaseDir | base directory of areas | |
• NotValidFileNameChars | chars that will be converted to hex values | |
• Outtab | file for recoding outgoing msgs | |
• RulesDir | directory with area rules | |
• StatLog | file whith counter of personal net- and echo mails | |
• TempInbound | temporary inbound path | |
• TempOutbound | temporary outbound path |
Next: AreasMaxDupeAge, Previous: Files and Paths, Up: Files and Paths [Index]
AdvStatisticsFile <filename>
AdvStatisticsFile /home/val/fido/log/hpt.sta
Define binary statistic file for calculating links and echo trafic. Parsed by hpt/misc/adv-stat-hpt.pl
Next: DupeBaseType, Previous: AdvStatisticsFile, Up: Files and Paths [Index]
areasMaxDupeAge <integer>
areasMaxDupeAge 10
Set maximum days for storing you hashes in CommonDupeBase. Default value is 5.
For any other dupe base type please use -DupeHistory
option in EchoArea in fidoconfig or
EchoAreaDefaults in fidoconfig.
This statement cannot be repeated.
Next: DupeHistoryDir, Previous: AreasMaxDupeAge, Up: Files and Paths [Index]
dupeBaseType <TextDupes | HashDupes | HashDupesWMsgId | CommonDupeBase>
dupeBaseType HashDupesWMsgId
stores from, to, subj & msgid as text lines.
stores src32 of from + to + subj + msgid.
same as HashDupes, but stores also msgid as text.
stores hashes of from + to + subj + areatag + msgid in one file (hpt_base.dpa)
Default is HashDupesWMsgId
.
This statement cannot be repeated.
Next: EchoTossLog, Previous: DupeBaseType, Up: Files and Paths [Index]
dupeHistoryDir <path>
dupeHistoryDir /var/spool/fido/dupes
This command specifies the path where the dupe history files are stored. The format and the names of the dupe-files are not standardized.
This statement cannot be repeated.
Next: FileBoxesDir, Previous: DupeHistoryDir, Up: Files and Paths [Index]
echotosslog <file>
echotosslog /var/spool/fido/echotoss.log
This statement specifies the file which is filled by a message editor or "hpt post" with the names of the areas where new netmails or echomails have been entered. Each line contains one areaname. When "hpt scan" is invoked, only echomail areas listed in this file will be scanned, when we start "hpt pack" - the same is for netmail areas. If area was processed, its name is removed from echotosslog file. When hpt has finished processing all listed areas and this file became empty, it is removed, otherwise kept for futher processing (maybe by other programs). If this file is not found - all areas will be scanned (depending on value of PackNetMailOnScan). See PackNetMailOnScan, but if ’-f’ command line flag specified, scanning will stop. Filename after -f is optional. If it is not set, value of EchoTossLogFile will be taken from config, and from command line otherwise. If scanning from EchoTossLogFile did not make any area scanning, all areas will be processed (depending on ’scan’ or ’pack’ mode)
This statement cannot be repeated.
Next: HptPerlFile, Previous: EchoTossLog, Up: Files and Paths [Index]
FileBoxesDir <directory>
FileBoxesDir ../boxes
See FileBoxesDir in FidoConfig Manual, for full description.
Next: ImportLog, Previous: FileBoxesDir, Up: Files and Paths [Index]
hptperlfile <file>
hptperlfile /etc/ftn/filter.pl
This statement specifies the file which contains perl filter functions. If not specified, perl support will be switched off.
This statement cannot be repeated.
Next: Intab, Previous: HptPerlFile, Up: Files and Paths [Index]
importlog <file>
importlog /var/spool/fido/import.log
This statement specifies the file which a tosser fills with the names of the areas where echomails has been tossed in.
This statement cannot be repeated.
Next: MinDiskFreeSpace, Previous: ImportLog, Up: Files and Paths [Index]
intab <file>
intab /var/spool/fido/recode/outaltkoi8
This statement specifies the file which should be used to recode the characters of the incoming messages from transport to internal charset. It is useful in russia. If you do not use this statement no recoding will be done.
This statement cannot be repeated.
Next: MsgBaseDir, Previous: Intab, Up: Files and Paths [Index]
MinDiskFreeSpace <integer>
MinDiskFreeSpace 10
This is the minimum disk free space in MB to run HPT.
The following directories are checked: TempInbound
,
MsgBaseDir
, LinkMsgBaseDir
s.
The default value is 10.
This statement cannot be repeated.
Next: NotValidFileNameChars, Previous: MinDiskFreeSpace, Up: Files and Paths [Index]
msgBaseDir <path>
msgBaseDir /var/spool/fido/msgb
This command specifies the path where msgBases of autocreated areas are
stored. For example: if an area called LINUX.GER
was autocreated
and the msgBaseDir is /var/spool/fido/msgb
the resulting
msgBaseName is
/var/spool/fido/msgb/linux.ger.sqd
If you specify the msgbasedir as PASSTHROUGH, the areas will be created as passthrough areas.
This statement cannot be repeated.
See LinkMsgBaseDir.
Next: Outtab, Previous: MsgBaseDir, Up: Files and Paths [Index]
NotValidFileNameChars <string>
NotValidFileNameChars :;<>=*?\/
This characters in message and dupebase filenames will be replaced with %hex analogs. If not defined, default string used: "*/:;<=>?\|%‘’&+
This statement cannot be repeated.
Next: RulesDir, Previous: NotValidFileNameChars, Up: Files and Paths [Index]
outtab <file>
outtab /var/spool/fido/recode/outkoi8alt
This statement specifies the file which should be used to recode the characters of the outgoing messages from internal to transport charset. It is useful in russia. If you do not use this statement no recoding will be done.
This statement cannot be repeated.
Next: StatLog, Previous: Outtab, Up: Files and Paths [Index]
rulesdir <path>
rulesdir /home/ftn/rules
This statement specifies where areafix searches for files with echoarea
rules which are sent to link via netmail when link is subscribed to
areas. File name is the same as message base file with trailing
".rul" (and consistently .ru1-.ru9 files with additional information).
Areaname is used when no message base file is set.
See also NoRules
statement to avoid areafix from sending rules to
link.
This statement cannot be repeated.
Next: TempInbound, Previous: RulesDir, Up: Files and Paths [Index]
statlog <file>
statlog /var/spool/fido/stat.log
After tossing (hpt toss), it is checked if there is new personal mail (netmail or personal echo mail). If that’s true, it is checked if statlog is defined in config. If yes, then it is checked if the log file exists. If not, then it is created and the number of received netmails or/and personal echo mails is written to the log file. Otherwise, if the file exists, the old counter will be read, added to the new counter and written the actual counter. The log file looks like this: netmail: x CC: x Whereas x is the number of mails. If the log file exists, one of the two or both lines exist.
This is for utils, which can show you how many personal mail you got. The log file is not removed by hpt, only by the util that uses it. Or you could write in your toss script something like this: if exist stat.log type stat.log if exist stat.log del stat.log>nul
This statement cannot be repeated.
Next: TempOutbound, Previous: StatLog, Up: Files and Paths [Index]
tempinbound <path>
tempinbound /var/spool/fido/in.tmp
This command specifies a path which is used while tossing. The incoming packets are unpacked there.
This statement cannot be repeated.
Previous: TempInbound, Up: Files and Paths [Index]
tempoutbound <path>
tempoutbound /var/spool/fido/out.tmp
This command specifies your temporary outbound path. It is used for storing outgoing pkt-files before packing.
This statement cannot be repeated.
Next: Carbon Copy, Previous: Files and Paths, Up: Configuration Reference [Index]
• AdvancedAreafix | advanced areafix | |
• AllowEmptyPktPwd | allow empty packet passwords | |
• AllowPktAddrDiffer | allow addresses in PKT and MSG differ for areafix req. | |
• AllowRemoteControl | allow remote control using areafix | |
• ArcmailSize | size of arcmail bundle | |
• ArcNetmail | pack netmail for this link into arcmail bundles | |
• Areafix | areafix access for this link | |
• AutoAreaCreateSubdirs | create structured or flat message base? | |
• AutoPause | stop export mail for this link after xx days | |
• AvailList | specify variant for reply to %avail | |
• DailyBundles | start a new arcmail bundle for the link each day | |
• DenyRescan | deny rescan of areas | |
• EchoMailFlavour | flavour for outgoing echomail | |
• Flavour | flavour for netmail, echomail and fileechoes | |
• ForwardPkts | shall we forward inbound packets for this node? | |
• FileBox | filebox directory | |
• FileBoxAlways | pack to filebox even if link is not busy | |
• LinkBundleNameStyle | style of filenames of arcmail bundles for link | |
• LinkGrp | main group for the link | |
• LinkMsgBaseDir | base directory of areas for link | |
• NetMailFlavour | flavour for outgoing netmail | |
• NoRules | don’t send area rules to link on subscription | |
• PackAka | ||
• PktSize | max size of pkt in arcmail bundle | |
• ReducedSeenBY | reduced seen-by mode (FSC-0093) | |
• RescanGrp | groups that denyRescan token applies to
| |
• RescanLimit | limit max number of messages sent by rescan | |
• SendNotifyMessages | send messages about query changes, bad posts and so on | |
• UnsubscribeOnAreaDelete | send unsubscribe request when subscribed area is deleted |
AreafixReportsAttr in fidoconfig:: set flags to areafix reports for the link
HPT is based on FIDOCONFIG library, so read documentation of FIDOCONFIG about location of config file, keywords ideology and about majority of the keywords, See Fidoconfig Manual in Fidoconfig manual.
Next: AllowEmptyPktPwd, Previous: Link Keywords, Up: Link Keywords [Index]
advancedareafix <bool>
advancedareafix on
If this statement is "on" and our system wants to delete area from
remote config then unsubscribe messages to areafix robot of this link
looks like "~areaname". The area on the remote system will be deleted
from config file, if our system is allowed to delete this area ("allow
area delete" in FastEcho, and LinkGrp must be the same as
EchoArea’s -g <group>
in HPT).
Our system sends deleting command only for systems with
AdvancedAreafix
and only when default uplink (-def
)
unsubscribing from EchoArea or some link deleting this area by command
"~areaname". Of course if this link has the rights to delete this area.
If this "AdvancedAreafix off" (default), then deleting command looks like "-areaname".
This statement can only be repeated for different links.
Next: AllowPktAddrDiffer, Previous: AdvancedAreafix, Up: Link Keywords [Index]
allowEmptyPktPwd <off|secure|on>
allowEmptyPktPwd on
This flag is useful if you want to generate packet passwords for this link, but do not want to check the packet passwords that your link sends to you. This is sometimes necessary as a workaraound if your link sends you netmail packets without packet passwords, for example.
The default state is off. In this case the incoming packet password must match the packet password that you defined. This is the most secure option.
If you set this switch to secure
, packets that do not contain a
packet password and are received in the protected inbound will be processed.
You can use this if your uplink sometimes sends you packets without packet
passwords, as a workaround until the uplink has fixed his system. Still, if
you receive packets with wrong packet passwords, they will be
rejected.
The setting on
works like the secure
setting, with the
difference that packets without packet passwords are allowed even in the
unprotected inbound directory. It is not recommended to use this setting.
This statement can only be repeated for different links.
Next: AllowRemoteControl, Previous: AllowEmptyPktPwd, Up: Link Keywords [Index]
allowPktAddrDiffer <bool>
allowPktAddrDiffer on
This keyword is useful if your link has more than one addresses, and therefore the address in PKT header of his areafix request may be different from the address in MSG header.
The default state if off
: in this case such letters won’t be processed
by your areafix. The state on
makes areafix ignore this error.
This statement can only be repeated for different links.
Next: ArcmailSize, Previous: AllowPktAddrDiffer, Up: Link Keywords [Index]
allowRemoteControl <bool>
allowRemoteControl on
If this keyword is on
then link can do remote control using areafix.
Sending command "%from <addr>" (where <addr> is the address of any link,
defined in config) he makes areafix behave as if the message came from that link.
You should enable this keyword only for yourself or cosysop, as it allows changing other links’ subscription and settings without knowing their passwords.
The default state if off
: remote control is disabled.
This statement can only be repeated for different links.
Next: ArcNetmail, Previous: AllowRemoteControl, Up: Link Keywords [Index]
arcmailsize <integer>
arcmailsize 300
Maximum arcmail size in kb for this link. Default is 500kb.
This statement can only be repeated for different links.
Next: Areafix, Previous: ArcmailSize, Up: Link Keywords [Index]
arcnetmail <bool>
arcnetmail on
This keyword is useful if you want to compress netmail for this link and
pack it into arcmail bundles or to filebox like echomail.
A netmail message will be packed and compressed into a bundle only if
its flavour is equal to EchoMailFlavour
for this link.
The default state if off
: in this case netmail will be written
to ut-file (i.e. *.?ut) and will not compressed.
This statement can only be repeated for different links.
Next: AutoAreaCreateSubdirs, Previous: ArcNetmail, Up: Link Keywords [Index]
areafix <bool>
areafix off
By default areafix is "on". You can turn off using of areafix by this link.
This statement can only be repeated for different links.
Next: AutoPause, Previous: Areafix, Up: Link Keywords [Index]
autoareacreatesubdirs <bool>
autoareacreatesubdirs on
This switch is turned off by default. When turned off, hpt will create a flat message base. This means that a file echo ‘FIDOSOFT.HUSKY’ would be created in the message base directory with a base file name of fidosoft.husky, like in /var/spool/msgbase/fidosoft.husky.sqd and so on.
When turned on, a structured message base will be created. Each dot in the echo name is treated as directory separator. Thus, ‘FIDOSOFT.HUSKY’ would be created with a base name of husky in the fidosoft directory, e.g. /var/spool/msgbase/fidosoft/husky.sqd.
Please note that this option will not currently work if the
-dosfile
option is used to create filenames in 8.3 convention.
See EchoArea in fidoconfig, for more information on the -dosfile
option.
Next: AvailList, Previous: AutoAreaCreateSubdirs, Up: Link Keywords [Index]
autopause <integer>
autopause 10
AutoPause sets the number of days after which HPT will stop exporting echomail for the link if he has not fetched his echomail for this period of time. AutoPassive should be defined for AutoPause to take effect.
Technically, if you define "autopause 10" for a link then HPT looks for 10 (or more) days old files that are listed to be sent for this link in the .?lo files with ‘#’ or ‘^’ prefixes and reside in the outbound directory. If at least one such file exists, exporting echomail for the link is paused.
This statement can only be repeated for different links.
See also AutoPassive and Pause in fidoconfig sections.
Next: DailyBundles, Previous: AutoPause, Up: Link Keywords [Index]
AvailList (Full|Unique|UniqueOne)
AvailList Full
This statement specify variant for reply to %avail command for current link:
* Full | produce full areas list for each uplink with avaiable forward subscribe for link |
* Unique | like Full but exclude dulicated areas for each next uplink |
* UniqueOne | produce one list: all areas from all uplinks without duplicates |
Default value is AvailList Full
.
This statement can only be repeated for different links.
Next: DenyRescan, Previous: AvailList, Up: Link Keywords [Index]
dailyBundles <bool>
dailyBundles
If DailyBundles is off, hpt will use existing arcmail bundles to add packets for this link, even if they were created in the previous days. If DailyBundles is set, a new arcmail bundle for the link will be started when the new day begins.
This statement can only be repeated for different links.
Next: EchoMailFlavour, Previous: DailyBundles, Up: Link Keywords [Index]
denyRescan <bool>
denyRescan
Don’t allow to rescan areas (via areafix) to your links.
This token can be applied to one or several area groups (see RescanGrp
token for details).
This statement can only be repeated for different links.
Next: Flavour, Previous: DenyRescan, Up: Link Keywords [Index]
echoMailFlavour <hold | normal | crash | direct | immediate>
echoMailFlavour hold
This statement sets the flavour which outgoing echomails for this link get. For example set echomailFlavour for points to hold and for uplink crash.
This statement can only be repeated for different links.
Next: ForwardPkts, Previous: EchoMailFlavour, Up: Link Keywords [Index]
flavour <hold | normal | crash | direct | immediate>
flavour hold
This statement sets the flavours for netmail, echomail and fileechoes
simultaneously. Note that you can combine this with netMailFlavour
,
echoMailFlavour
or fileEchoFlavour
; in this case the latest
flavour is applied.
This statement can only be repeated for different links.
Next: FileBox, Previous: Flavour, Up: Link Keywords [Index]
forwardPkts <off|secure|on>
forwardPkts yes
If we receive a PKT file that is not addressed to our system, but to this
link of us, this flag controls if the PKT file should be binary
forwarded to this link. The default behaviour is not to forward the pkt
file, but to remain it to <filename>.ntu
and leave it in the
inbound. If you specify <yes>
, the file will instead be forwarded
to the destination link (i.E. put into his arcmail bundle). If you
specify <secure>
, the file will only be forwarded if we have
received it in the secure inbound. You should specify secure
if
the destination link does not check packet passwords.
PKT forwarding can be useful for tunneling purposes, for instance. Another example is if you are running two nodes, one IP node at your company and one PSTN node at your home. If you want to show both node numbers at both mailers, the tossers at each node must forward PKT files that are addressed to the other node, because they themselves cannot process it (each tosser has a different node number, because the systems operate on distinct outbound structures and distinct message base areas).
This statement can only be repeated for different links.
WARNING! This statement also enables file forwarding in htick!
Next: FileBoxAlways, Previous: ForwardPkts, Up: Link Keywords [Index]
FileBox <directory>
FileBox boxes/2.5021.19.1
This statement defines directory where outgoing files for link would be
putten instead of putting them in Outbound
tree. See also
FileBoxAlways
for details.
Currently hpt can put only echomail into fileBoxes.
This statement can only be repeated for different links.
Next: LinkBundleNameStyle, Previous: FileBox, Up: Link Keywords [Index]
FileBoxAlways <bool>
FileBoxAlways
Pack to link FileBox
even if link is not busy. By default
outbound is used when link is not busy.
This statement can only be repeated for different links. Works only for
links which have FileBox
or when FileBoxesDir
is set.
See FileBox, See FileBoxesDir.
Next: LinkGrp, Previous: FileBoxAlways, Up: Link Keywords [Index]
linkBundleNameStyle <timeStamp | addrDiff | addrDiffAlways | addrsCRC32 | addrsCRC32Always | Amiga>
linkbundleNameStyle addrDiff
This statement sets rule for creating names of arcmail bundles for link.
It is similar BundleNameStyle
keyword.
See BundleNameStyle.
This statement can only be repeated for different links.
Next: LinkMsgBaseDir, Previous: LinkBundleNameStyle, Up: Link Keywords [Index]
LinkGrp <Group name>
LinkGrp INTERNATIONAL
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 INTERNATIONAL
will be added to a new area record unless
AutoCreateDefaults
defines implicit group;
2) links that have no access to group INTERNATIONAL
can’t forward requests to uplink with LinkGrp INTERNATIONAL
;
3) this link can delete echo areas with -g INTERNATIONAL
group if AdvancedAreafix
is enabled for this link.
See AdvancedAreafix.
This statement can only be repeated for different links.
Next: NetMailFlavour, Previous: LinkGrp, Up: Link Keywords [Index]
linkMsgBaseDir <path>
linkMsgBaseDir /var/spool/fido/msgb
Same as MsgBaseDir
, but you can set it for different links.
Do not use it with LinkDefaults
!
This statement can only be repeated for different links.
See MsgBaseDir.
Next: NoRules, Previous: LinkMsgBaseDir, Up: Link Keywords [Index]
netMailFlavour <hold | normal | crash | direct | immediate>
netMailFlavour crash
This statement sets the flavour for outgoing netmail routed via this link.
This statement can only be repeated for different links.
Next: PackAka, Previous: NetMailFlavour, Up: Link Keywords [Index]
norules <bool>
norules on
By default "norules off" i.e. send rules.
This statement points to areafix to not send area rules to link when
link is subscribed to area and corresponding file is found in
RulesDir
.
This statement can only be repeated for different links.
Next: PktSize, Previous: NoRules, Up: Link Keywords [Index]
PackAka <addr>
PackAka 2:4600/220
This statement sets the aka to which the echomail and fileechos will be sent (Pack echomail and fileechos via third link). The PackAka link used only in BSO, fileboxes and arcmail filename creation, therefore the PackAka link may not present in config.
This feature may be used for simple echomail routing.
This statement can only be repeated for different links.
Next: ReducedSeenBY, Previous: PackAka, Up: Link Keywords [Index]
pktsize <integer>
pktsize 300
Maximum pkt size in kb for this link. Default - unlimited.
This statement can only be repeated for different links.
Next: RescanGrp, Previous: PktSize, Up: Link Keywords [Index]
ReducedSeenBY <bool>
ReducedSeenBY on
This statement turns on/off reduced seen-by algorithm (FSC-0093)
RSB algorithm ------------- 1) add own system to the PATH. 2) all area links not contained in the RSB qualify as recipients. 3) strip RSB addresses not matching an address in the PATH, then add own address(es) to the RSB set if not already contained. 4) add recipients to RSB, sort RSB and forward mail to recipients.
This statement can only be repeated for different links.
Next: RescanLimit, Previous: ReducedSeenBY, Up: Link Keywords [Index]
RescanGrp <string>[,<string>...]
RescanGrp A,B,C,Local
If defined, denyRescan
token applies to specified area groups only,
while other area groups are applied with the opposite value.
Example:
There are areas with the groups A, B, C and D in config. The following table demonstrates how combination of options allows you to specify different rights for link.
All area groups are allowed to rescan.
All area groups are denied to rescan.
Area groups A and B are allowed to rescan, while C and D are denied.
Area groups A and B are denied to rescan, while C and D are allowed.
This statement can only be repeated for different links.
Next: SendNotifyMessages, Previous: RescanGrp, Up: Link Keywords [Index]
RescanLimit <number>
RescanGrp 100
This keyword is used to limit max number of messages sent by %rescan command. If it’s set to 0 (default), the link is not limited.
This statement can only be repeated for different links.
Next: UnsubscribeOnAreaDelete, Previous: RescanLimit, Up: Link Keywords [Index]
sendNotifyMessages <bool>
sendNotifyMessages on
If sendNotifyMessages is true, link will receive notification messages from areafix about link’s requests status, bad posts or deletion of subscribed area.
By default is off, i.e. do not send any notification messages.
This statement can only be repeated for different links.
Previous: SendNotifyMessages, Up: Link Keywords [Index]
unsubscribeOnAreaDelete <bool>
unsubscribeOnAreaDelete yes
If unsubscribeOnAreaDelete is true, link will receive unsubscribe request ("-area") to his areafix when subscribed area is deleted.
By default is off, i.e. do not send unsubscribe request.
This statement can only be repeated for different links.
Previous: Link Keywords, Up: Configuration Reference [Index]
• CarbonAddr | make carbonCopy using from address of msg | |
• CarbonAndQuit | carbon message only one time | |
• CarbonCopy | specify the area where the carbon copies go into | |
• CarbonDelete | specify that the carbon msg should be deleted | |
• CarbonExcludeFwdFrom | exclude " * Forward from area " string | |
• CarbonExtern | specify the external program to pass msg text to | |
• CarbonFrom | make carbonCopy using from-field of msg | |
• CarbonFromArea | carbon messages from area | |
• CarbonGroups | make carbonbonCopy from this groups | |
• CarbonKeepSb | keep seen-by’s and path | |
• CarbonKludge | make carbonCopy using kludge lines of msg | |
• CarbonMove | specify the area where the carbon msg get moved into | |
• CarbonOut | carbon outgoing messages | |
• CarbonReason | string of carbon copy reason | |
• CarbonRule | how to combine Carbon expressions | |
• CarbonSubj | make carbonCopy using subject-field of msg | |
• CarbonText | make carbonCopy using text-field of msg | |
• CarbonTo | make carbonCopy using to-field of msg | |
• ExcludePassthroughCarbon | don’t carbon in passthrough areas | |
• NetmailExtern | specify the external Program to pass netmail msgs to | |
HPT is based on FIDOCONFIG library, so read documentation of FIDOCONFIG about location of config file, keywords ideology and about majority of the keywords, See Fidoconfig Manual in Fidoconfig manual.
Next: CarbonAndQuit, Previous: Carbon Copy, Up: Carbon Copy [Index]
carbonAddr <addr>
carbonAddr 2:5000/100
carbonCopy mail.from.100
If an echomail is tossed whose from address field is the same as <addr>,
the echomail is copied to the area specified by the carbonCopy
keyword.
This statement can be repeated.
Next: CarbonCopy, Previous: CarbonAddr, Up: Carbon Copy [Index]
carbonAndQuit <bool>
carbonAndQuit
By default one message can be processed by Carbon Copy several times.
For example: you set CarbonTo "max" to echoarea MY.MAIL and CarbonSubj
"beer" to echoarea MY.PLEASURE :-) And message to "max" with this
subject line carbons to each EchoArea
.
If you turn on CarbonAndQuit
message will be copyed to MY.MAIL
only.
It is however possible to override this setting, by putting an ’*’ before the action:
CarbonCopy *my.mail CarbonMove *my.mail CarbonExtern *<command line>
This ’*’ does not work for CarbonDelete of course.
This statement cannot be repeated.
Next: CarbonDelete, Previous: CarbonAndQuit, Up: Carbon Copy [Index]
carbonCopy <area-tag>
carbonCopy written.from.points
This statement sets the area for the previous carbon{Addr|To|From|Kludge|Subj|Text} statement.
If no EchoArea
defined to copy, the carbon msgs goes to the
BadArea
.
Note: You cannot carbonCopy a message from EchoArea to NetmailArea and vice versa.
This statement can be placed after different carbon{Addr|To|From|Kludge|Subj|Text} statements.
See CarbonMove.
Next: CarbonExcludeFwdFrom, Previous: CarbonCopy, Up: Carbon Copy [Index]
carbonDelete
carbonDelete
This statement specifies that selected by previous
carbon{Addr|To|From|Kludge|Subj|Text} statement msgs should not be
stored into EchoArea
.
This statement can be repeated for each different carbon{Addr|To|From|Kludge|Subj|Text} statement.
Next: CarbonExtern, Previous: CarbonDelete, Up: Carbon Copy [Index]
CarbonExcludeFwdFrom <bool>
CarbonExcludeFwdFrom
Don’t add to begin of carbon msg text " * Forward from area <areatag>"
This statement cannot be repeated.
Next: CarbonFrom, Previous: CarbonExcludeFwdFrom, Up: Carbon Copy [Index]
carbonExtern <program name>
carbonExtern douuedecode
This statement specifies external program to run for the previous carbon{Addr|To|From|Kludge|Subj|Text} statement.
If this statement is ommitted and no EchoArea
defined for move or
copy, the carbon msgs gets copyed to the BadArea
.
If program name is prepended with ’|’ sign, hpt tries to pass data thru the pipe, not temporary file.
This statement can be repeated for each different carbon{Addr|To|From|Kludge|Subj|Text} statement.
Next: CarbonFromArea, Previous: CarbonExtern, Up: Carbon Copy [Index]
carbonFrom <pattern>
carbonFrom Matthias Tichy
carbonCopy my.echomail
If an echomail is tossed whose from-field matched the pattern <pattern>,
the echomail is copied to the area specified by the CarbonCopy
keyword or moved to the area specified by the CarbonMove
keyword.
The names must be an exact match.
You can enclose <string> into quotes ("<string>").
This statement can be repeated.
Next: CarbonGroups, Previous: CarbonFrom, Up: Carbon Copy [Index]
CarbonFromArea <pattern>
CarbonFromArea Interuser
Only messages that are written in this areas will be copied. Use it in combination with CarbonRule to prevent that all messages from an area are copied.
See CarbonRule.
Another example:
CarbonFromArea Interuser CarbonRule NOT CarbonText " Israel " CarbonCopy my.news
<pattern> is the mask for area name, defined after EchoArea or NetMailArea.
This statement can be repeated.
Next: CarbonKeepSb, Previous: CarbonFromArea, Up: Carbon Copy [Index]
carbonGroups <string> [,<string>...]
carbonGroups Fido, LifeNet
carbonCopy my.echomail
With this keyword you can define from which groups messages should be copied. It is wise when you use this keyword together with other selection criteria or else the result will give many messages.
See CarbonRule.
This statement can be repeated.
Next: CarbonKludge, Previous: CarbonGroups, Up: Carbon Copy [Index]
carbonKeepSb <bool>
carbonKeepSb
For each CC message SEEN-BY’s and PATH fields are killed. If you set up
CarbonKeepSb
then all kludges will be saved. But you may also
set up -keepsb
in options of EchoArea
where you carbon
messages.
This statement cannot be repeated.
Next: CarbonMove, Previous: CarbonKeepSb, Up: Carbon Copy [Index]
carbonKludge <pattern>
carbonKludge MSGID: 2:5000/117.
carbonCopy written.by.points
If an echomail is tossed which has a kludge line which includes the
substring matches <pattern>, the echomail is copied to the area
specified by the CarbonCopy
keyword.
You can enclose <pattern> into quotes ("<pattern>").
carbonKludge "REPLY: 2:5000/117 "
This statement can be repeated.
Next: CarbonOut, Previous: CarbonKludge, Up: Carbon Copy [Index]
carbonMove <area-tag>
carbonMove my.echomail
This statement sets the area for the previous carbon{Addr|To|From|Kludge|Subj|Text} statement.
If no EchoArea
defined to copy (or move), the carbon msgs goes to
the BadArea
.
Note: You cannot carbonMove a message from EchoArea to NetmailArea and vice versa.
Unlike CarbonCopy
msg gets moved, not copied into this area.
This statement can be placed after different carbon{Addr|To|From|Kludge|Subj|Text} statements.
See CarbonCopy.
Next: CarbonReason, Previous: CarbonMove, Up: Carbon Copy [Index]
carbonOut <bool>
carbonOut
This statement makes possible carbon your outgoing mail (scanned & packed). Don’t forget to set carbon rules.
This statement cannot be repeated.
Next: CarbonRule, Previous: CarbonOut, Up: Carbon Copy [Index]
carbonReason <string>
carbonText msged
carbonReason Found 'msged' in message
carbonCopy my.searches.echo
This statement sets the ’reason string’ for the previous carbon{Addr|To|From|Kludge|Subj|Text} statement.
This string would be printed after ’ * Forwarded ...’ line in message begining. That’s useful when many carbons are made to single area. No reason string is printed if this statement is ommitted.
This statement can be repeated for each different carbon{Addr|To|From|Kludge|Subj|Text} statement.
Next: CarbonSubj, Previous: CarbonReason, Up: Carbon Copy [Index]
carbonRule AND|NOT|OR
carbonGroups fido
carbonRule AND
carbonText programming
carbonCopy my.echomail
With this keyword you can make it possible to have more than 1 selection criteria for a message. The default rule is AND. So without using CarbonRule, all expressions will be AND-ed. With Carbonrule AND, the two expressions above and below the AND must be true or else a message will not be copied. With Carbonrule you can define how the expressions are joined together.
CarbonRule NOT, is in fact AND NOT. So
CarbonText beatles CarbonRule NOT CarbonText bugs CarbonCopy my.mail
...will only copy messages when ’beatles’ is in the text AND NOT ’bugs’ in the text.
In general, it is possible to define more than one set of rules for 1 single carbonArea. For example:
CarbonText female CarbonRule NOT CarbonText connector CarbonRule OR CarbonSubj beer CarbonRule AND CarbonText drink CarbonText holliday CarbonCopy my.mail
Here are two sets of criteria and for all of them there is only 1 carbonarea defined. After an OR, a new set of expressions start. The above example can also be written as:
CarbonRule NOT CarbonText connector CarbonRule AND CarbonText female CarbonRule OR CarbonRule AND CarbonSubj beer CarbonText drink CarbonText holliday CarbonCopy my.mail
Messages that have ’female’ in the text, but not the word ’connector’, will be copied to the my.mail area.
Also messages with ’beer’ in the text AND ’drink’ in the text AND ’holliday’ in the text, will be copied to the my.mail area.
A set of expressions is true when they are OR-ed and at least one of them is true.
A set of expressions is true when they are AND-ed and ALL of them are true. Expressions are evaluated from top to bottom.
This statement can be repeated.
A CarbonRule is valid until a next rule is defined of until an action. After an action (CarbonCopy, CarbonMove, etc), the CarbonRule is AND again and new set of expressions starts.
Next: CarbonText, Previous: CarbonRule, Up: Carbon Copy [Index]
carbonSubj <pattern>
carbonSubj beer
carbonCopy cc.beer
If an echomail is tossed which has a subject line matched <pattern>,
this echomail is copied to the area specified by the CarbonCopy
keyword or moved to the area specified by the CarbonMove
keyword.
You can enclose <pattern> into quotes ("<pattern>").
This statement can be repeated.
Next: CarbonTo, Previous: CarbonSubj, Up: Carbon Copy [Index]
carbonText <pattern>
carbonText cool beer
carbonCopy cc.beer
If an echomail is tossed which has a kludge line which includes the
substring matches <pattern>, the echomail is copied to the area
specified by the CarbonCopy
keyword or moved to the area
specified by the CarbonMove
keyword.
You can enclose <pattern> into quotes ("<pattern>").
This statement can be repeated.
Next: ExcludePassthroughCarbon, Previous: CarbonText, Up: Carbon Copy [Index]
carbonTo <pattern>
carbonTo Max Levenkov
carbonCopy my.echomail
If an echomail is tossed whose to-field matched <pattern>, the
echomail is copied to the area specified by the CarbonCopy
keyword or moved to the area specified by the CarbonMove
keyword. The names must be an exact match.
You can enclose <pattern> into quotes ("<pattern>").
This statement can be repeated.
Next: NetmailExtern, Previous: CarbonTo, Up: Carbon Copy [Index]
excludePassthroughCarbon <bool>
excludePassthroughCarbon
Don’t carbon from passthrough areas.
This statement cannot be repeated.
Previous: ExcludePassthroughCarbon, Up: Carbon Copy [Index]
netmailExtern <program name>
netmailExtern douuedecode
This statement specifies external program to run for the previous carbon{Addr|To|From|Kludge|Subj|Text} statement for netmail messages...
If this statement is ommitted and no NetMailArea
defined for move or
copy, the carbon msgs gets copyed to the BadArea
.
If program name is prepended with ’|’ sign, hpt tries to pass data thru the pipe, not temporary file.
This statement can be repeated for each different carbon{Addr|To|From|Kludge|Subj|Text} statement.
Next: Keyword Index, Previous: Configuration Reference, Up: Top [Index]
This chapter describes how to use some features... After you have managed to perform basic functions with HPT, like defining paths & areas, this chapter will introduce you into some advanced concepts in HPT that deserve special attention, like how to use several netmail areas and similar.
• Exit | hpt exit codes | |
• Suffixes | renaming suffixes for pkt files | |
• Netmail | defining several netmail areas for several users | |
• ZoneGating | how zonegating works for echomail | |
• Perl support | Perl support in HPT | |
• Remote control | how remote control using Areafix works |
Next: Suffixes, Previous: Advanced Concepts, Up: Advanced Concepts [Index]
Next: Netmail, Previous: Exit, Up: Advanced Concepts [Index]
Next: ZoneGating, Previous: Suffixes, Up: Advanced Concepts [Index]
If you want receive netmail for one address in first netmail area, and
for second address in second netmail area respectively, you must add
-a <ourAka>
to netmail area, like this:
Next: Perl support, Previous: Netmail, Up: Advanced Concepts [Index]
We have EchoArea with links from zone1 & zone2. Echo->useAka with zone2. Defined by "-a <addr>" or the by the first Echo->address from config if not defined in EchoArea line.
Program algorythm:
check pkt zone address
split links in to groups: with (pktaddr.zone == linkaddr.zone) and (pktaddr.zone != linkaddr.zone)
send msg to first group of links (their aka adding to seen-bys and echo->useAka too if not in seen-bys yet)
if (pktaddr.zone != echo->useAka.zone) seen-bys cleaned.
send msg to second group of links (their aka adding to seen-bys and echo->useAka too if not in seen-bys yet)
store msg in msgbase
Examples:
a) msg comes from z1. for z1 links we sending seen-bys with z2 nodes. but z1 links must clean seen-bys by themselves (this is z2 echo) or download this echo from z1 link. after that seen-bys cleaned and msg forwarded to z2 links. in the msgbase seen-bys from z2 links only.
b) msg comes from z2. forward it to z2 links. then forward to z1 links. seen-bys not cleaned: this is z2 echo and z1 links must clean it by themselves or receive echo from z1 link. store in msgbase with all seen-bys from z1 & z2 nodes.
c) scan works the same: first sending to z2 links, adding to seen-by’s z1 links and export to them.
Next: Remote control, Previous: ZoneGating, Up: Advanced Concepts [Index]
HPT may be compiled with support for calling Perl subs in some parts of its
work. In this case it also provides API for such subs (Perl hooks).
Perl subs are located in file filter.pl, which usually located
in same directory as HPT’s executable file but it’s name and location
may changed via HptPerlFile
configuration option.
The following Perl hooks are supported:
after_unpack - called after unpacking an echomail bundle to TempInbound
before_pack - called before packing echomail bundle to one of links
process_pkt - called before processing pkt, the following variables available:
hook must return "" for normal pkt processing or other string to rename pkt to .flt
pkt_done - called after pkt processing, the following variables available:
hpt_exit - called before hpt completely exit if any other Perl hook was called during this session.
route - called just before routing netmail message, the following variables availble:
via Route
statements in config file (may be empty, this means
that either no route at all for this message or it will be routed via
one-to-multi routing(Route normal noroute 2:5004/73.*)).
Before return you can set $flavour - to hold|normal|crash|direct|immediate for required flavour of message. return "" for default routing or address via which this message should be sent. example:
sub route { if ($from eq "2:5004/75.73") return "2:5004/75.0"; else return ""; }
if source address of message is 2:5004/75.73 then route it via 2:5004/75, otherwise route it using default routing
scan - called while scanning messages (hpt scan or hpt pack). The following variables available:
Set $change to update $text, $subject, $fromaddr, $toaddr, $fromname, $toname, $attr. If returns non-empty string (reason), the message will not pack to downlinks.
filter - called for processing every message while tossing. The following variables available:
Set $change to update $text, $subject, $fromaddr, $toaddr, $fromname, $toname, $attr. Set $kill for kill message. If returns non-empty string (reason), the message will be moved to badarea.
tossbad - called when message will be put in badArea. The following variables available:
Set $change to update $text, $subject, $fromaddr, $toaddr, $fromname, $toname, $attr. If returns non-empty string (reason) for kill the message.
Previous: Perl support, Up: Advanced Concepts [Index]
You can remotely control and change other links’ subscription and options using Areafix. Remote control will not give you full access on your system, but will help you (or your cosysop) with some most common tasks.
Some terms first.
Controlling link is a link that exercise remote control. He should be defined in config and should have allowRemoteControl token set to "on".
Controlled link is a link whose subscription and options are controlled. He should be defined in config too.
Controlling link is allowed to send "%from <addr>" command to Areafix, where <addr> is an address of controlled link. All the next commands till the end of message or till the next "%from" command will be executed as if the message came from controlled link. All the reports will be sent to controlling link. There can be as much "%from" commands in message as you like. If there was an error while processing "%from" command (for example, address was not specified in "%from" command), message processing will be stopped and controlling link will receive notification message.
Example of Areafix message:
%from 2:450/210.1 <-- all next actions will be made with 2:450/210.1 +ru.husky <-- subscribe to ru.husky %areafixpwd testpwd <-- change areafix password to 'testpwd' %from 2:450/210.5 <-- all next actions will be made with 2:450/210.5 -bel.sysop <-- unsubscribe from bel.sysop %linked <-- send list of linked areas
As this function allows remote control of other links’ subscription and options without knowing their areafix passwords, you should enable allowRemoteControl token only for yourself or your cosysop.
Previous: Advanced Concepts, Up: Top [Index]
HPT is based on FIDOCONFIG library, so read documentation of FIDOCONFIG about location of config file, keywords ideology and about majority of the keywords, See Fidoconfig Manual in Fidoconfig manual.
Jump to: | A B C D E F H I K L M N O P R S T U |
---|
Jump to: | A B C D E F H I K L M N O P R S T U |
---|