This is hpt.info, produced by makeinfo version 4.8 from hpt.texi. INFO-DIR-SECTION Fidonet Software START-INFO-DIR-ENTRY * HPT: (hpt). HPT is the fidonet tosser END-INFO-DIR-ENTRY  File: hpt.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir) HPT *** This document describes HPT 1.4, a Fidonet Message Tosser for OS/2, Windows, BeOS and Unix. * Menu: * 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  File: hpt.info, Node: Overview, Next: Installation, Prev: Top, Up: Top 1 An Overview on HPT ******************** HPT is a Fidonet message tosser and packer with areafix, written by Matthias Tichy, 2:2432/645@fidonet. Now project supported by Max Levenkov, 2:5000/117@fidonet and Husky Development Team. Features of HPT: 1. tossing packets of 2, 2.0 & 2+ types 2. supporting of Msg, Squish and Jam message bases 3. posting to net & echo areas 4. areafix (on the fly, from command line, limit for areas...) 5. autocreate on the fly 6. forward requests 7. pause and autopause for links 8. linking of net & echo areas 9. carbon copy 10. groups & levels for personal and public access to echo areas 11. powerful dupe checker 12. link defaults The advantages of HPT is: 1. Open Source (GPL) 2. many supported platforms & operating systems 3. quick bug fixing The limitations of HPT is: 1. OPUS messagebase (type MSG) is limited to 65536 messages, this is SMAPI implementation limit; 2. PKT password is limited to 8 characters, this is PKT 2+ limit.  File: hpt.info, Node: Installation, Next: Configuration Reference, Prev: Overview, Up: Top 2 Installation Procedures and Release Notes ******************************************* 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. 1. Read FIDOCONFIG documentation about location of config-file 2. Copy sample config files to config directory 3. Edit config files for your purposes 4. Run `tparser' from FIDOCONFIG package to test your config (read about `PublicGroup' or `AccessGrp' if you want to use groups for `EchoAreas') 5. It is simply, isn't it? Enjoy! :-) * Menu: * 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  File: hpt.info, Node: Download, Next: Compiling, Prev: Installation, Up: Installation 2.1 Download the Source Code & Binary Files =========================================== Main page (source code, win32 & os/2 releases) - `http://husky.physcip.uni-stuttgart.de/hpt.html' Win32 bins (current, russian) - `www.chat.ru/~sirevtov/files' Win32 bins (current, russian) - `www.sirevtov.narod.ru'  File: hpt.info, Node: Compiling, Next: Support, Prev: Download, Up: Installation 2.2 Compiling the Source Code ============================= 1. The smapi and fidoconf packages are required for hpt. 2. Put the fidoconfig ans smapi packages in the directory where the other packages of fido linux reside: /usr/src/packages/ -> smapi/ -> hpt/ -> fidoconfig/ 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: $ make $ make install You should use the _same_ makefiles in smapi, fidoconf and hpt.  File: hpt.info, Node: Support, Next: Credits, Prev: Compiling, Up: Installation 2.3 Support, Contacting the Author, Reporting Bugs, Contributing Code ===================================================================== There are numerous reasons why you might wish to establish contact with me, the author of HPT. 1. You have decided to use HPT on a regular basis. In this case, please do send me an e-mail at the address listed below. How much time I will spend on developing HPT in the future will heavily depend on the number of mails I receive from users that tell me that they do use HPT. 2. You have a general questions on how to configure or on how to use a certain feature of HPT. In other words, you need support. In this case, you'd best post your question to one of the following echos: `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. 3. You want to report a bug. There are two sorts of bugs: a. Normal bugs. You think that a certain function of HPT does not work as expected, e.g. it is producing garbage, or doing strange things, or similar. In this case, either post to the echos listed above, or contact me via netmail. Please do supply all information that is necessary to understand your problem. b. Fatal bugs. A fatal bug occurs if HPT crashes. Depending on your operating system, the symptom might be a core dump, or a SYS 3175, or a general protection fault, or a system lockup, or a spontaneous reboot. I do consider a crash untolerable. No matter how stupid things you do, you should not be able to crash HPT. If you are 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. 4. You want to contribute to HPT. If you are a programmer and have fixed a problem in {No value for `MSGED'} on your own, please submit your changes to me. The preferred way for doing so is to send me a difference file in GNU diff format (with -c parameter). Your work will be highly appreceated and honored in an appropriate place. If you want to regularly work on HPT, we also have a CVS server online that you can have access to if you like. 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: * Fidonet: Max Levenkov 2:5000/117 * e-mail: sackett@mail.ru  File: hpt.info, Node: Credits, Prev: Support, Up: Installation 2.4 Credits =========== Thanks to: 1. Matthias Tichy (basic code) 2. Max Levenkov (areafix, group code, carbon copy, code clean up & speed up and more) 3. Tobias Ernst (some features, stable releases, cvs & www support) 4. Sacha M. Silbe (features, makefiles) 5. Kolya Nesterov (unpack, post, link) 6. Fedor Lizunkov (areafix, autocreate reports, group code, JAM code in SMAPI) 7. Serguei Revtov (win32 version support, hptlink, features & good patches) 8. Alexander Vernigora (dupe detection) 9. Pavel Gulchouk (Perl support, JAM & link hacking) 10. Alex Semenyaka (netmailExtern, processPkt) 11. Alex Bronin (win32 patches) 12. Nikolay Nestyurkin (makefiles) 13. Lev Serebryakov (new %list) 14. ... and all other people (sorry, if I've forget somebody) P.S. all of this people makes bug fixes, so I don't mention it.  File: hpt.info, Node: Configuration Reference, Next: Advanced Concepts, Prev: Installation, Up: Top 3 HPT 1.4 Configuration Reference ********************************* HPT based on FIDOCONFIG library, so read documentation of FIDOCONFIG about location of config file and keywords ideology. * Menu: * Using config:: Notes about fidoconfig usage in hpt * Keywords:: This chapter describes keywords * Files and Paths:: File & Path keywords * Link Keywords:: Links configuration * Areafix Keywords:: Areafix configuration * Area Definition:: Areas definition * Carbon Copy:: Carbon Copy keywords  File: hpt.info, Node: Using config, Next: Keywords, Prev: Configuration Reference, Up: Configuration Reference 3.1 Using config ================ HPT uses fidoconfig, but not all config statements references to hpt and hpt ignore all unused config statements. The Husky Fidonet Software project concepts is use one config for all fidonet programs. 3.1.1 Predefined config variables --------------------------------- 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.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.4.1' (tparser included into fidoconfig package) like this: tparser -Dmodule=hpt tparser -Dmodule=hpt -Dversion=1.4.1 3.1.2 Statements order ---------------------- Common rule for config statements order is: *Define object before ise it!*. Examples: * define addresses before any link, area and carbone definitions * define packers before any link definitions * define links before any area and route definitions * define links and areas before any carbone definitions  File: hpt.info, Node: Keywords, Next: Files and Paths, Prev: Using config, Up: Configuration Reference 3.2 General Keywords ==================== * Menu: * AddToSeen:: add addr to seen-by's * Address:: your system address * AfterUnpack:: execute string after unpack arcmail bundles * AreafixFromPkt:: process areafix requests on the fly * AreafixKillRequests:: delete areafix requests * AreafixMsgSize:: maximum areafix report size * AreafixNames:: set additional areafix names * AreafixFromName:: set From: field in response messages * AreafixOrigin:: set origin for areafix reports * AreafixReportsAttr:: set flags to areafix reports * AreafixSplitStr:: set split string for splitted areafix messages * AreafixQueryReports:: insert linked areas list into areafix reports * AreafixQueueFile:: idle requests queue file for areafix * AreasFileNameCase:: case of filenames of autocreated areas * AutoAreaCreateFlag:: create this file-flag after auto-area-create * 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 * CreateAreasCase:: case of autocreated areas names * CreateFwdNonPass:: autocreate non-passthru echoes in fwd.req. operations * DefArcmailSize:: default size for arcmail bundle * DisableTID:: disable adding TID to messages * DisablePID:: disable adding PID to messages * ForwardRequestTimeout:: requested from uplink echoarea traffic timeout (in days) * IdlePassthruTimeout:: timeout (in days) before unlink on uplink passthrough echo with one link (& some time later remove from config) * 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 * KilledRequestTimeout:: wait time (in days) for kill echo without links * KludgeAreaNetmail:: how to process netmail with kludge "AREA:NETMAIL" * LinkWithImportLog:: list of areas only which should be linked * LogEchoToScreen:: set output to screen log information * LogLevels:: set level of log output * Name:: your system's name * NetmailFlag:: create flag after unpacking netmail msg * NewAreaRefuseFile:: file with areas which we don't want to autocreate * NoProcessBundles:: no unpack arcmail bundles * Origin:: add specified origin to hpt messages * Pack:: definition for packer * PackNetMailOnScan:: pack netmail found in EchoTossLog file when scan * ProcessPkt:: execute string before tossing pkts * PublicGroup:: this is a list of groups for public echo acess * Remap:: remap mail to other address * ReportTo:: set area or netmail for autocreate reports * RobotsArea:: area for areafix scanning * Route:: routing of netmails * RouteFile:: routing of netmails with file attached * RouteMail:: routing of netmails without file attached * ScreenLogLevels:: set level of log output to screen * SeparateBundles:: move echomail for each link to his own directory * SetConsoleTitle:: schange conesole title under win32 * Sysop:: your name * TearLine:: add specified tearline to hpt messages * TossingExt:: extension of mail files while tossing * Unpack:: definition for unpacker  File: hpt.info, Node: AddToSeen, Next: Address, Prev: Keywords, Up: Keywords 3.2.1 AddToSeen --------------- Syntax: `addToSeen [ ...]' Example: `addToSeen 99/100 99/101' Add to SEEN-BYs. If is present or not - it is always adds. This statement can be repeated.  File: hpt.info, Node: Address, Next: AfterUnpack, Prev: AddToSeen, Up: Keywords 3.2.2 Address ------------- Syntax: `Address ' Example: `Address 2:2433/1245' This command specifies which akas your system has. This statement is full 5d compatible, which means you can have also addresses like `2:2433/1245.1@fidonet.org'. The first address statement is your main aka which will be used by tossers 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*  File: hpt.info, Node: AfterUnpack, Next: AreafixFromPkt, Prev: Address, Up: Keywords 3.2.3 AfterUnpack ----------------- Syntax: `afterUnpack ' Example: `afterUnpack pktpack /home/fido/in.tmp/*.pkt' This executes after unpacking arcmail bundle. You may process your pkt files in `tempInbound' directory with external utility. This statement cannot be repeated.  File: hpt.info, Node: AreafixFromPkt, Next: AreafixKillRequests, Prev: AfterUnpack, Up: Keywords 3.2.4 AreafixFromPkt -------------------- Syntax: `areafixFromPkt ' Example: `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. *Note AreafixNames::.  File: hpt.info, Node: AreafixKillRequests, Next: AreafixMsgSize, Prev: AreafixFromPkt, Up: Keywords 3.2.5 AreafixKillRequests ------------------------- Syntax: `areafixKillRequests ' Example: `areafixKillRequests' Delete requests from links to areafix. This statement cannot be repeated.  File: hpt.info, Node: AreafixMsgSize, Next: AreafixNames, Prev: AreafixKillRequests, Up: Keywords 3.2.6 AreafixMsgSize -------------------- Syntax: `areafixmsgsize ' Example: `areafixmsgsize 20' This option set up maximum areafix message size (20 kb). If not defined, areafix reports will be not splitted... This statement cannot be repeated.  File: hpt.info, Node: AreafixNames, Next: AreafixFromName, Prev: AreafixMsgSize, Up: Keywords 3.2.7 AreafixNames ------------------ Syntax: `AreafixNames ' Example: `AreafixNames SqaFix, hptfix' Set additional names for areafix robot. Default is "areafix", "areamgr", "hpt". This statement cannot be repeated.  File: hpt.info, Node: AreafixFromName, Next: AreafixOrigin, Prev: AreafixNames, Up: Keywords 3.2.8 AreafixFromName --------------------- Syntax: `AreafixFromName ' Example: `AreafixFromName "HPT AreaFix"' Use value from `AreafixFromName' in field `From' when responding on messages to areafix. If this token not defined, name in original message will be used. Example: 1) AreafixFromName not defined in config: Original message to areafix: ---------------------------- From: Sysop To: ArEaFiX AreaFix's response: ------------------- From: ArEaFiX To: Sysop 2) AreafixFromName "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.  File: hpt.info, Node: AreafixOrigin, Next: AreafixReportsAttr, Prev: AreafixFromName, Up: Keywords 3.2.9 AreafixOrigin ------------------- Syntax: `areafixOrigin ' Example: `areafixOrigin c0()1 $tAt10n' the origin string in areafix reports will be like this: * Origin: c0()1 $tAt10n () This statement cannot be repeated.  File: hpt.info, Node: AreafixReportsAttr, Next: AreafixSplitStr, Prev: AreafixOrigin, Up: Keywords 3.2.10 AreafixReportsAttr ------------------------- Syntax: `AreafixReportsAttr ' Example: `AreafixReportsAttr pvt,loc,kill' Set attributes to areafix reports. Valid attributes are: pvt crash read sent att fwd orphan k/s loc fwd xx2 frq rrq cpt arq urq kfs tfs dir imm cfm npd Default is "pvt loc k/s npd". This statement cannot be repeated.  File: hpt.info, Node: AreafixSplitStr, Next: AreafixQueryReports, Prev: AreafixReportsAttr, Up: Keywords 3.2.11 AreafixSplitStr ---------------------- Syntax: `areafixSplitStr ' Example: `areafixSplitStr > Message splitted. To be continued...' This string added after splitted areafix messages. This statement cannot be repeated.  File: hpt.info, Node: AreafixQueryReports, Next: AreafixQueueFile, Prev: AreafixSplitStr, Up: Keywords 3.2.12 AreafixQueryReports -------------------------- Syntax: `areafixQueryReports ' Example: `areafixQueryReports off' This statement enables/disables including linked areas list into all areafix replies. Default: off. This statement cannot be repeated.  File: hpt.info, Node: AreafixQueueFile, Next: AreasFileNameCase, Prev: AreafixQueryReports, Up: Keywords 3.2.13 AreafixQueueFile ----------------------- Syntax: `AreafixQueueFile ' Example: `areafixQueueFile /fido/datafiles' 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. This statement cannot be repeated.  File: hpt.info, Node: AreasFileNameCase, Next: AutoAreaCreateFlag, Prev: AreafixQueueFile, Up: Keywords 3.2.14 AreasFileNameCase ------------------------ Syntax: `areasFileNameCase (Lower|Upper)' Example: `areasFileNameCase Upper' This statement defines case of filemanes of autocreated areas. Default is lower case. This statement cannot be repeated.  File: hpt.info, Node: AutoAreaCreateFlag, Next: AutoPassive, Prev: AreasFileNameCase, Up: Keywords 3.2.15 AutoAreaCreateFlag ------------------------- Syntax: `autoareacreateflag ' Example: `autoareacreateflag /etc/ftn/flags/aac.flag' Create file-flag after autocreating echo area. This feature can be used for execute some scripts after tossing. This statement cannot be repeated.  File: hpt.info, Node: AutoPassive, Next: BeforePack, Prev: AutoAreaCreateFlag, Up: Keywords 3.2.16 AutoPassive ------------------ Syntax: `autopassive ' Example: `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 "*Note AutoPause::" days old, will be paused. It stops exporting echomail for them. If *Note 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 *Note AutoPause:: is ignored for all links. The paused link is unsubscribed from the passthrough echo areas with no downlinks besides him. An unsubscribe request is sent to the uplink. 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 *Note AutoPause:: and *Note Pause:: sections.  File: hpt.info, Node: BeforePack, Next: BundleNameStyle, Prev: AutoPassive, Up: Keywords 3.2.17 BeforePack ----------------- Syntax: `beforePack ' Example: `beforePack pktpack /home/fido/out.tmp/*.pkt' This executes before packing pkt files to arcmail bundles. You may process your pkt files in `tempOutbound' directory with external utility. This statement cannot be repeated.  File: hpt.info, Node: BundleNameStyle, Next: CreateAreasCase, Prev: BeforePack, Up: Keywords 3.2.18 BundleNameStyle ---------------------- Syntax: `bundleNameStyle ' Example: `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 *Note LinkBundleNameStyle::.  File: hpt.info, Node: CreateAreasCase, Next: CreateFwdNonPass, Prev: BundleNameStyle, Up: Keywords 3.2.19 CreateAreasCase ---------------------- Syntax: `createAreasCase (Lower|Upper)' Example: `createAreasCase Upper' This statement defines case of areanames in autocreation. Default is lower case. This statement cannot be repeated.  File: hpt.info, Node: CreateFwdNonPass, Next: DefArcmailSize, Prev: CreateAreasCase, Up: Keywords 3.2.20 CreateFwdNonPass ----------------------- Syntax: `createFwdNonPass ' Example: `createFwdNonPass' Autocreate non-passthru echoes in forward request operations. MsgBaseDir should be not passthrough! This statement cannot be repeated.  File: hpt.info, Node: DefArcmailSize, Next: DisableTID, Prev: CreateFwdNonPass, Up: Keywords 3.2.21 DefArcmailSize --------------------- Syntax: `defarcmailsize ' Example: `defarcmailsize 1024' default arcmail size in kb for all links. 500kb if not defined. This statement cannot be repeated.  File: hpt.info, Node: DisableTID, Next: DisablePID, Prev: DefArcmailSize, Up: Keywords 3.2.22 DisableTID ----------------- Syntax: `DisableTID ' Example: `DisableTID' Don't add TID-line to scanned messages. This statement cannot be repeated.  File: hpt.info, Node: DisablePID, Next: ForwardRequestTimeout, Prev: DisableTID, Up: Keywords 3.2.23 DisablePID ----------------- Syntax: `DisablePID ' Example: `DisablePID' Don't add PID-line to generated messages. This statement cannot be repeated.  File: hpt.info, Node: ForwardRequestTimeout, Next: IdlePassthruTimeout, Prev: DisablePID, Up: Keywords 3.2.24 ForwardRequestTimeout ---------------------------- Syntax: `ForwardRequestTimeout ' Example: `ForwardRequestTimeout 7' This statement specifies time to wait (in days) for echoarea requested from uplink. If there is no traffic in this echoarea, `hpt qupd' unsubscribes area from this uplink and subscribes to it at next uplink. If next uplink for this echoarea not avaiable, `hpt qupd' removes echoarea from queue. To use this feature run `hpt qupd' daily. Default is 7 days. This statement cannot be repeated.  File: hpt.info, Node: IdlePassthruTimeout, Next: IgnoreCapWord, Prev: ForwardRequestTimeout, Up: Keywords 3.2.25 IdlePassthruTimeout -------------------------- Syntax: `IdlePassthruTimeout ' Example: `IdlePassthruTimeout 3' This statement specifies time to wait (in days) before unsubscribing echoarea from uplink after the time last downlink unsubscribed (one uplink rest). To use this feature run `hpt qupd' daily. Default is 3 days. This statement cannot be repeated.  File: hpt.info, Node: IgnoreCapWord, Next: IgnoreSeen, Prev: IdlePassthruTimeout, Up: Keywords 3.2.26 IgnoreCapWord -------------------- Syntax: `IgnoreCapWord ' Example: `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.  File: hpt.info, Node: IgnoreSeen, Next: KeepTrsFiles, Prev: IgnoreCapWord, Up: Keywords 3.2.27 IgnoreSeen ----------------- Syntax: `IgnoreSeen [ ...]' Example: `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.  File: hpt.info, Node: KeepTrsFiles, Next: KeepTrsMail, Prev: IgnoreSeen, Up: Keywords 3.2.28 KeepTrsFiles ------------------- Syntax: `keepTrsFiles ' Example: `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. *Note RouteFile::.  File: hpt.info, Node: KeepTrsMail, Next: KilledRequestTimeout, Prev: KeepTrsFiles, Up: Keywords 3.2.29 KeepTrsMail ------------------ Syntax: `keepTrsMail ' Example: `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.  File: hpt.info, Node: KilledRequestTimeout, Next: KludgeAreaNetmail, Prev: KeepTrsMail, Up: Keywords 3.2.30 KilledRequestTimeout --------------------------- Syntax: `KilledRequestTimeout ' Example: `KilledRequestTimeout 4' This statement specified time wait (days) for delete from config echoarea after unsubscribe it from uplink (last link). Run `hpt qupd' daily for use this feature. Default is 4 days. This statement cannot be repeated.  File: hpt.info, Node: KludgeAreaNetmail, Next: LinkWithImportLog, Prev: KilledRequestTimeout, Up: Keywords 3.2.31 KludgeAreaNetmail ------------------------ Syntax: `kludgeAreaNetmail ' Example: `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.  File: hpt.info, Node: LinkWithImportLog, Next: LogEchoToScreen, Prev: KludgeAreaNetmail, Up: Keywords 3.2.32 LinkWithImportLog ------------------------ Syntax: `linkWithImportLog ' Example: `linkWithImportLog yes' This statement specifies if the importlog-file should be used to determine which echomail areas need to be linked. yes importlog-file will be read. areas which are in importlog, will be linked. the importlog-file will not be erased. kill like yes, but the importlog-file will be killed after using it. no DEFAULT. all areas will be linked. This statement cannot be repeated.  File: hpt.info, Node: LogEchoToScreen, Next: LogLevels, Prev: LinkWithImportLog, Up: Keywords 3.2.33 LogEchoToScreen ---------------------- Syntax: `logEchoToScreen ' Example: `logEchoToScreen' Enable or disable log messages screen output. See also *Note ScreenLogLevels::. This statement cannot be repeated.  File: hpt.info, Node: LogLevels, Next: Name, Prev: LogEchoToScreen, Up: Keywords 3.2.34 LogLevels ---------------- Syntax: `loglevels ' Example: `loglevels 345789' In example we output to log messages with levels 3,4,5,7,8,9. The log levels are following: The log levels are following: 1 - Program start, end; 2 - dupecheck 3 - linking messages 4 - scanning messages 5 - posting messages 6 - execute strings 7 - bundles, pkts, links, freqs, file routing, file attachs, msg packing 8 - areafix, relink, autocreate 9 - error messages (critical: exit on error) 0 - creation of file-flags A - (reserved for) trivial error messages (print message and continue execution) B - warnings & alerts C - informational messages D - (reserved for) statistics E - summary F - print program name & version G - message send/sent H - (reserved for) recoding operations & recoding tables read/write I - Generate or check MSGID J - Echomail phase K - Filebox phase L - Netmail phase M - File create N - File delete O - operations with opened file (read, write, seek, ...) P - Directory operations (create, delete, rename, ...) R - Truncate file S - File send/sent T - Test files (exist, permittions, etc.) U - Functions calls (enter to func & leave from it) V - reserved W - reserved X - Filenames construct Y - reserved Z - debug messages: source lines (functions control points). a-z - debug messages Default value: 1234567890ABCDEF This statement cannot be repeated.  File: hpt.info, Node: Name, Next: NetmailFlag, Prev: LogLevels, Up: Keywords 3.2.35 Name ----------- Syntax: `name ' Example: `name Leetebrok BBS' Here you specify your Systems name. This statement cannot be repeated.  File: hpt.info, Node: NetmailFlag, Next: NewAreaRefuseFile, Prev: Name, Up: Keywords 3.2.36 NetmailFlag ------------------ Syntax: `netmailFlag ' Example: `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.  File: hpt.info, Node: NewAreaRefuseFile, Next: NoProcessBundles, Prev: NetmailFlag, Up: Keywords 3.2.37 NewAreaRefuseFile ------------------------ Syntax: `newAreaRefuseFile ' Example: `newAreaRefuseFile /etc/ftn/areas/dontcrte.lst' This token defines a file which will be used when autocreating echoarea. File contains list of areas which we don't allow to autocreate. Each line of this file is a mask of echotag. Example: RU.LIST.CITYCAT.* SU.KASCHENKO.LOCAL This statement cannot be repeated.  File: hpt.info, Node: NoProcessBundles, Next: Origin, Prev: NewAreaRefuseFile, Up: Keywords 3.2.38 NoProcessBundles ----------------------- Syntax: `noProcessBundles ' Example: `noProcessBundles' Don't unpack arcmail bundles. This statement cannot be repeated.  File: hpt.info, Node: Origin, Next: Pack, Prev: NoProcessBundles, Up: Keywords 3.2.39 Origin ------------- Syntax: `origin ' Example: `origin mega cool station' Add this Origin to hpt messages: post, reports about new areas created, areafix (if no areafixOrigin defined). This statement cannot be repeated.  File: hpt.info, Node: Pack, Next: PackNetMailOnScan, Prev: Origin, Up: Keywords 3.2.40 Pack ----------- Syntax: `Pack zip|tgz|rar|arc|arj|..... ' Example: `Pack zip zip -9 -g -q $a $f' This statement sets the command line call for the packer. The file will be moved into the archive, that means the file will be deleted on 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. This statement can be repeated. 3.2.41 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.  File: hpt.info, Node: PackNetMailOnScan, Next: ProcessPkt, Prev: Pack, Up: Keywords 3.2.42 PackNetMailOnScan ------------------------ Syntax: `PackNetMailOnScan ' Example: `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 (overwrides old setting).  File: hpt.info, Node: ProcessPkt, Next: PublicGroup, Prev: PackNetMailOnScan, Up: Keywords 3.2.43 ProcessPkt ----------------- Syntax: `processPkt ' Example: `processPkt pktdate' Space char and name of the current file "*.pkt" will be append into end of and willl be executed before tossing each pkt file. You are able to 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.  File: hpt.info, Node: PublicGroup, Next: Remap, Prev: ProcessPkt, Up: Keywords 3.2.44 PublicGroup ------------------ Syntax: `PublicGroup [,,...] ' Example: `PublicGroup local,a,b,othernet' This is a list of groups for public echo access. This statement cannot be repeated. Warning ------- The area without group defined is public echo.  File: hpt.info, Node: Remap, Next: ReportTo, Prev: PublicGroup, Up: Keywords 3.2.45 Remap ------------ Syntax: `Remap ,,' Examples: * `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 and should be used to change destination adress to your direct link only. E.g. don't route remap'ed message indirect!* This statement can be repeated.  File: hpt.info, Node: ReportTo, Next: RobotsArea, Prev: Remap, Up: Keywords 3.2.46 ReportTo --------------- Syntax: `ReportTo ' Example: `ReportTo netmail' Set name of echoarea or netmailarea for autocreate reports. This statement cannot be repeated.  File: hpt.info, Node: RobotsArea, Next: Route, Prev: ReportTo, Up: Keywords 3.2.47 RobotsArea ----------------- Syntax: `robotsArea ' Example: `robotsArea SecondNetMail' This area used for areafix scanning. Replyes from areafix will be also stored here. *RobotsArea must be NetmailArea for security purposes!* This statement cannot be repeated.  File: hpt.info, Node: Route, Next: RouteFile, Prev: RobotsArea, Up: Keywords 3.2.48 Route ------------ Syntax: `route [ ...]' Example: `route crash 2:2433/1245 2:2433/* 2:2432/*' This statement defines a route. *flavour:* 1. hold (.hlo) 2. normal (.out) 3. crash (.clo) 4. direct (.dlo) 5. immediate (.ilo) *target:* 1. - mail routed to this address 2. host - mail routed to zone:net/0.0 address 3. hub - hub-routing does not use the hubs defined in the nodelist but uses the nodes: addr - (addr.node %100). e.g.: a mail to node 2:2433/1245 is send to 2:2433/1200, but a mail to node 2:2433/355 is send to 2:2433/300 which currently does not exist. BE CAREFUL! 4. boss - mail routed to zone:net/node.0 address 5. no-route (noroute) - direct route according to current flavour 6. no-pack (nopack) - don't process this mail linkWW is a dos 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 defined after "links" section. This statement can be repeated.  File: hpt.info, Node: RouteFile, Next: RouteMail, Prev: Route, Up: Keywords 3.2.49 RouteFile ---------------- Syntax: `routeFile [ ...]' Example: `routeFile crash 2:2433/1245 2:2433/* 2:2432/*' This statement is the same as the `Route' statement, but considers only 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.  File: hpt.info, Node: RouteMail, Next: ScreenLogLevels, Prev: RouteFile, Up: Keywords 3.2.50 RouteMail ---------------- Syntax: `routeMail [ ...]' Example: `routeMail crash 2:2433/1245 2:2433/* 2:2432/*' This statement is the same as the `Route' statement. This statement can be repeated.  File: hpt.info, Node: ScreenLogLevels, Next: SeparateBundles, Prev: RouteMail, Up: Keywords 3.2.51 ScreenLogLevels ---------------------- Syntax: `screenloglevels ' Example: `screenloglevels 2345789' Set level of log output to screen. See loglevels for details This statement cannot be repeated.  File: hpt.info, Node: SeparateBundles, Next: SetConsoleTitle, Prev: ScreenLogLevels, Up: Keywords 3.2.52 SeparateBundles ---------------------- Syntax: `SeparateBundles ' Example: `SeparateBundles' Move echomail for all links to his own directorys. This statement cannot be repeated.  File: hpt.info, Node: SetConsoleTitle, Next: Sysop, Prev: SeparateBundles, Up: Keywords 3.2.53 SetConsoleTitle ---------------------- Syntax: `SetConsoleTitle ' Example: `SetConsoleTitle' Set hpt console title while tossing. (*WIN32 Only!*) This statement cannot be repeated.  File: hpt.info, Node: Sysop, Next: TearLine, Prev: SetConsoleTitle, Up: Keywords 3.2.54 Sysop ------------ Syntax: `sysop ' Example: `sysop Matthias Tichy' You specify your name with this keyword. This statement cannot be repeated.  File: hpt.info, Node: TearLine, Next: TossingExt, Prev: Sysop, Up: Keywords 3.2.55 TearLine --------------- Syntax: `tearline ' Example: `tearline We Love HPT! :)' Add this tearline to hpt messages (post, reports about new areas created) This statement cannot be repeated.  File: hpt.info, Node: TossingExt, Next: Unpack, Prev: TearLine, Up: Keywords 3.2.56 TossingExt ----------------- Syntax: `TossingExt []' Example: `TossingExt tos' Extension of bundle & packet files will be changed to 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.  File: hpt.info, Node: Unpack, Prev: TossingExt, Up: Keywords 3.2.57 Unpack ------------- Syntax: `Unpack "" ' Example: `Unpack "unzip -joLqq $a -d $p" 0 504b0304' This statement sets the call of certain unpackers according to a id in the archive file call: see pack offset: position of recognition string in packed file. match code: recognition string for packed file, ?? can be used as don't care $a will be replaced by the archive file. $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) 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 "unzip -joLqq -d " This statement can be repeated. 3.2.58 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.  File: hpt.info, Node: Files and Paths, Next: Link Keywords, Prev: Keywords, Up: Configuration Reference 3.3 Files and Paths =================== * Menu: * AdvisoryLock:: set lock file "advisory" * AdvStatisticsFile:: binary statistic file * AreafixHelp:: file with help for areafix reports * AreafixQueueFile:: idle requests queue file for areafix * 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 * Inbound:: inbound path * Include:: include other files * Intab:: file for recoding incoming msgs * LocalInbound:: local inbound * LockFile:: file which lock hpt session * LogFileDir:: path for log files * MinDiskFreeSpace:: minimum free space on the drive * MsgBaseDir:: base directory of areas * NotValidFileNameChars:: chars that will be converted to hex values * Outbound:: outbound path * Outtab:: file for recoding outgoing msgs * ProtInbound:: protected inbound * RulesDir:: directory with area rules * StatLog:: file whith counter of personal net- and echo mails * TempInbound:: temporary inbound path * TempOutbound:: temporary outbound path  File: hpt.info, Node: AdvisoryLock, Next: AdvStatisticsFile, Prev: Files and Paths, Up: Files and Paths 3.3.1 AdvisoryLock ------------------ Syntax: `AdvisoryLock ' Example: `AdvisoryLock 10' If value `AdvisoryLock' > 0, then HPT checks if `LockFile' is locked by another session of HPT or not. Program will not be terminated if the original process which created `LockFile' is running. Second instance of hpt will check `LockFile' for locking number of times defined by `AdvisoryLock' with period of 1 second. And if the file exists, but not locked (stale), HPT will be running... If `AdvisoryLock' = 0, advisorylock is off. This statement cannot be repeated. *Don't use this under BeOS! (there is no locking mechanism).* *Note LockFile::.  File: hpt.info, Node: AdvStatisticsFile, Next: AreafixHelp, Prev: AdvisoryLock, Up: Files and Paths 3.3.2 AdvStatisticsFile ----------------------- Syntax: `AdvStatisticsFile ' Example: `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  File: hpt.info, Node: AreafixHelp, Next: AreasMaxDupeAge, Prev: AdvStatisticsFile, Up: Files and Paths 3.3.3 AreafixHelp ----------------- Syntax: `areafixhelp ' Example: `areafixhelp /etc/ftn/areafix.hlp' This is help file, which sends to link if he requests "%HELP". This statement cannot be repeated.  File: hpt.info, Node: AreasMaxDupeAge, Next: DupeBaseType, Prev: AreafixHelp, Up: Files and Paths 3.3.4 AreasMaxDupeAge --------------------- Syntax: `areasMaxDupeAge ' Example: `areasMaxDupeAge 10' Set maximum days for storing you hashes in CommonDupeBase. Default value is 5. This statement cannot be repeated.  File: hpt.info, Node: DupeBaseType, Next: DupeHistoryDir, Prev: AreasMaxDupeAge, Up: Files and Paths 3.3.5 DupeBaseType ------------------ Syntax: `dupeBaseType ' Example: `dupeBaseType HashDupesWMsgId' TextDupes stores from, to, subj & msgid as text lines. HashDupes stores src32 of from + to + subj + msgid. HashDupesWMsgId same as HashDupes, but stores also msgid as text. CommonDupeBase stores hashes of from + to + subj + areatag + msgid in one file (hpt_base.dpa) Default is `HashDupesWMsgId'. This statement cannot be repeated.  File: hpt.info, Node: DupeHistoryDir, Next: EchoTossLog, Prev: DupeBaseType, Up: Files and Paths 3.3.6 DupeHistoryDir -------------------- Syntax: `dupeHistoryDir ' Example: `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.  File: hpt.info, Node: EchoTossLog, Next: FileBoxesDir, Prev: DupeHistoryDir, Up: Files and Paths 3.3.7 EchoTossLog ----------------- Syntax: `echotosslog ' Example: `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 scaned (depending on value of PackNetMailOnScan). *Note 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.  File: hpt.info, Node: FileBoxesDir, Next: HptPerlFile, Prev: EchoTossLog, Up: Files and Paths 3.3.8 FileBoxesDir ------------------ Syntax: `FileBoxesDir ' Example: `FileBoxesDir ../boxes' This statement specifies directory where link file boxes are placed (and created if necessary). Currnetly hpt creates file box names in form z.n.f.p (ex.: 2.5021.19.1). Trailing ".h" is added if link echomail flavour is "hold". This statement cannot be repeated.  File: hpt.info, Node: HptPerlFile, Next: ImportLog, Prev: FileBoxesDir, Up: Files and Paths 3.3.9 HptPerlFile ----------------- Syntax: `hptperlfile ' Example: `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.  File: hpt.info, Node: ImportLog, Next: Inbound, Prev: HptPerlFile, Up: Files and Paths 3.3.10 ImportLog ---------------- Syntax: `importlog ' Example: `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.  File: hpt.info, Node: Inbound, Next: Include, Prev: ImportLog, Up: Files and Paths 3.3.11 Inbound -------------- Syntax: `inbound ' Example: `inbound /var/spool/fido/in' This command specifies where your inbound files are stored. This directory is the base directory which means if you have a connection which is not protected and the other system is not listed. The files go in here. Only non-packed netmails are tossed from this inbound. This statement cannot be repeated.  File: hpt.info, Node: Include, Next: Intab, Prev: Inbound, Up: Files and Paths 3.3.12 Include -------------- Syntax: `include ' Example: `include /etc/fido/areas' You can include other files into your config file. For example if you would like to have different config parts, you can include a file and (via cron job or manually) change the content of this file without changing the rest of the config. Additionally you can split your config in different parts. So you can have your fileareas definition in another file than your msgareas definition. This gives your the ability to have some survey about your config. This statement can be repeated. But dont make recursive includes. eg include a file which includes another which includes the first. Although this will be detected and fixed many times, there is a chance that it will not be detected one time.  File: hpt.info, Node: Intab, Next: LocalInbound, Prev: Include, Up: Files and Paths 3.3.13 Intab ------------ Syntax: `intab ' Example: `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.  File: hpt.info, Node: LocalInbound, Next: LockFile, Prev: Intab, Up: Files and Paths 3.3.14 LocalInbound ------------------- Syntax: `localinbound ' Example: `localinbound /var/spool/fido/in.loc' This command specifies the path, from which all types of netmail and echomail are tossed *without* any password checking. You can put pktīs here which were created by a file tosser etc. So created by a you or a programm on your own system. This statement cannot be repeated.  File: hpt.info, Node: LockFile, Next: LogFileDir, Prev: LocalInbound, Up: Files and Paths 3.3.15 LockFile --------------- Syntax: `lockfile ' Example: `lockfile /var/lock/hpt.lock' Another session of HPT will be terminated if the `LockFile' is exists (default setting). This statement cannot be repeated. *Note AdvisoryLock::.  File: hpt.info, Node: LogFileDir, Next: MinDiskFreeSpace, Prev: LockFile, Up: Files and Paths 3.3.16 LogFileDir ----------------- Syntax: `logFileDir ' Example: `logFileDir /var/spool/log/fido' This command specifies the path where the log-files of the fido-programs should be stored. This statement cannot be repeated.  File: hpt.info, Node: MinDiskFreeSpace, Next: MsgBaseDir, Prev: LogFileDir, Up: Files and Paths 3.3.17 MinDiskFreeSpace ----------------------- Syntax: `MinDiskFreeSpace ' Example: `MinDiskFreeSpace 10' This is the minimum disk free space in MB to run HPT. The following directories are checked: `TempInbound', `MsgBaseDir', `LinkMsgBaseDir's. This statement cannot be repeated.  File: hpt.info, Node: MsgBaseDir, Next: NotValidFileNameChars, Prev: MinDiskFreeSpace, Up: Files and Paths 3.3.18 MsgBaseDir ----------------- Syntax: `msgBaseDir ' Example: `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. *Note LinkMsgBaseDir::.  File: hpt.info, Node: NotValidFileNameChars, Next: Outbound, Prev: MsgBaseDir, Up: Files and Paths 3.3.19 NotValidFileNameChars ---------------------------- Syntax: `NotValidFileNameChars ' Example: `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.  File: hpt.info, Node: Outbound, Next: Outtab, Prev: NotValidFileNameChars, Up: Files and Paths 3.3.20 Outbound --------------- Syntax: `outbound ' Example: `outbound /var/spool/fido/out' This command specifies your outbound path. This outbound path is binkley-style. A binkley style outbound consists of a base path and subdirectories. Each subdirectory represents a place for all the files for one zone. The base path is the zone path for your base zone. Example: /var/spool/fido/out This directory contains the files for your base zone. /var/spool/fido/out.003 This directory contains the files for zone 3. /var/spool/fido/out.00A This directory contains the files for zone 10. The zone directory contains the flow-files for each node. A Flow-file of a node has the name NNNNFFFF.?lo NNNN The 4-digit hex-number of the nodes netnumber. FFFF The 4-digit hex-number of the nodes nodenumber. ? Here the flavour of the mails can be chosen. *h*-hold, *c*-crash, *f*-normal, *d*-direct, *i*-immediate. For points there is a subdirectory with nodes flowfilename with suffix.pnt. In this subdirectory the flowfiles have the names PPPPPPPP ( 8-digit point number in hex). For a deeper background on a binkley-style outbound see the binkley-term documentation and source code. This statement cannot be repeated.  File: hpt.info, Node: Outtab, Next: ProtInbound, Prev: Outbound, Up: Files and Paths 3.3.21 Outtab ------------- Syntax: `outtab ' Example: `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.  File: hpt.info, Node: ProtInbound, Next: RulesDir, Prev: Outtab, Up: Files and Paths 3.3.22 ProtInbound ------------------ Syntax: `protinbound ' Example: `protinbound /var/spool/fido/in.sec' This command specifies where files should be stored which were received during a password-protected session. All types of mail are tossed from this path. But passwords are checked before. This statement cannot be repeated.  File: hpt.info, Node: RulesDir, Next: StatLog, Prev: ProtInbound, Up: Files and Paths 3.3.23 RulesDir --------------- Syntax: `rulesdir ' Example: `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.  File: hpt.info, Node: StatLog, Next: TempInbound, Prev: RulesDir, Up: Files and Paths 3.3.24 StatLog -------------- Syntax: `statlog ' Example: `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.  File: hpt.info, Node: TempInbound, Next: TempOutbound, Prev: StatLog, Up: Files and Paths 3.3.25 TempInbound ------------------ Syntax: `tempinbound ' Example: `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.  File: hpt.info, Node: TempOutbound, Prev: TempInbound, Up: Files and Paths 3.3.26 TempOutbound ------------------- Syntax: `tempoutbound ' Example: `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.  File: hpt.info, Node: Link Keywords, Next: Areafix Keywords, Prev: Files and Paths, Up: Configuration Reference 3.4 Link Keywords ================= * Menu: * AccessGrp:: groups for echomail access * AdvancedAreafix:: advanced areafix * Aka:: links adress * AllowEmptyPktPwd:: allow empty packet passwords * AllowPktAddrDiffer:: allow addresses in PKT and MSG differ for areafix req. * ArcmailSize:: size of arcmail bundle * ArcNetmail:: pack netmail for this link into arcmail bundles * Areafix:: areafix access for this link * AreafixEchoLimit:: limit for subscribe via areafix * AreafixPwd:: areafix password for this link * AutoAreaCreate:: right to auto create areas on your system * AutoAreaCreateFile:: file where autoCreated Areas by this links are going * AutoAreaCreateDefaults:: set defaults to autocreated echoareas * AutoAreaCreateSubdirs:: create structured or flat message base? * AutoPause:: stop export mail for this link after xx days * AvailList:: specify variant for reply to %avail * DenyFwdFile:: file with area list for denyed requests * DenyFwdMask:: mask list for denyed requests * DenyFwdReqAccess:: deny access to forward requests * DenyUncondFwdReqAccess:: deny access to unconditional forward requests * EchoMailFlavour:: flavour for outgoing echomail * Export:: rules for echomail export * ForwardAreaPriority:: forward requests priority * ForwardPkts:: shall we forward inbound packets for this node? * ForwardRequestFile:: file for forwardRequest, AvialableAreas & descriptions * ForwardRequestMask:: mask list for forwardRequests * ForwardRequests:: allow forward requests to this link * FileBox:: filebox directory * FileBoxAlways:: pack to filebox even if link is not busy * Import:: rules for echomail import * Level:: definition of link access level * Link:: adding a link to your config * LinkBundleNameStyle:: style of filenames of arcmail bundles for link * LinkDefaults:: start/end/destroy links default definitions * LinkGrp:: add this group to autoareacreatedefaults * LinkMsgBaseDir:: base directory of areas for link * Mandatory:: disable unsubscribing from all echoareas * Manual:: disable subscribing to all echoareas * NoRules:: don't send area rules to link on subscription * OptGrp:: groups for export/import/mandatory * OurAka:: our aka for link * PackAka:: * Packer:: default packer for link * Password:: links default password * Pause:: don't export mail for this link * PktSize:: max size of pkt in arcmail bundle * PktPwd:: pktpassword for this link * ReducedSeenBY:: reduced seen-by mode (FSC-0093) * RemoteRobotName:: remote "areafix" name  File: hpt.info, Node: AccessGrp, Next: AdvancedAreafix, Prev: Link Keywords, Up: Link Keywords 3.4.1 AccessGrp --------------- Syntax: `accessgrp [,...]' Example: `accessgrp A,B,C,Local' This statement connects a link to several echomail groups. See also `PublicGroup' and `-g ' in echoarea options. This statement can only be repeated for different links.  File: hpt.info, Node: AdvancedAreafix, Next: Aka, Prev: AccessGrp, Up: Link Keywords 3.4.2 AdvancedAreafix --------------------- Syntax: `advancedareafix ' Example: `advancedareafix on' If this statement is "on" and our system wants to detele 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 ' 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.  File: hpt.info, Node: Aka, Next: AllowEmptyPktPwd, Prev: AdvancedAreafix, Up: Link Keywords 3.4.3 Aka --------- Syntax: `aka ' Example: `aka 2:2433/1245' This statement sets the aka for the current link. This statement can only be repeated for different links.  File: hpt.info, Node: AllowEmptyPktPwd, Next: AllowPktAddrDiffer, Prev: Aka, Up: Link Keywords 3.4.4 AllowEmptyPktPwd ---------------------- Syntax: `allowEmptyPktPwd ' Example: `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. Otherwise only netmail will be processed if packet is being tossed from secure inbound. 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.  File: hpt.info, Node: AllowPktAddrDiffer, Next: ArcmailSize, Prev: AllowEmptyPktPwd, Up: Link Keywords 3.4.5 AllowPktAddrDiffer ------------------------ Syntax: `allowPktAddrDiffer ' Example: `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.  File: hpt.info, Node: ArcmailSize, Next: ArcNetmail, Prev: AllowPktAddrDiffer, Up: Link Keywords 3.4.6 ArcmailSize ----------------- Syntax: `arcmailsize ' Example: `arcmailsize 300' Maximum arcmail size in kb for this link. Default is 500kb. This statement can only be repeated for different links.  File: hpt.info, Node: ArcNetmail, Next: Areafix, Prev: ArcmailSize, Up: Link Keywords 3.4.7 ArcNetmail ---------------- Syntax: `arcnetmail ' Example: `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. Netmail will compress only if its flavour is equial with `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.  File: hpt.info, Node: Areafix, Next: AreafixEchoLimit, Prev: ArcNetmail, Up: Link Keywords 3.4.8 Areafix ------------- Syntax: `areafix ' Example: `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.  File: hpt.info, Node: AreafixEchoLimit, Next: AreafixPwd, Prev: Areafix, Up: Link Keywords 3.4.9 AreafixEchoLimit ---------------------- Syntax: `areafixecholimit ' Example: `areafixecholimit 50' This is maximum echo areas which can be subscribed via areafix for this link. This statement can only be repeated for different links.  File: hpt.info, Node: AreafixPwd, Next: AutoAreaCreate, Prev: AreafixEchoLimit, Up: Link Keywords 3.4.10 AreafixPwd ----------------- Syntax: `areafixpwd []' Example: `areafixpwd geheim' This statement sets the areafix password for the actual link. An empty statement is allowed. This statement can only be repeated for different links.  File: hpt.info, Node: AutoAreaCreate, Next: AutoAreaCreateFile, Prev: AreafixPwd, Up: Link Keywords 3.4.11 AutoAreaCreate --------------------- Syntax: `autoareacreate ' Example: `autoareacreate on' This statement gives a link the permission to create areas on your system just by sending msgs in them. The echoarea is created using the `AutoAreaCreateDefaults' contents: EchoArea -a -b Squish Default message base type is Squish. But you can set "-b Jam" or "-b Msg" in `AutoAreaCreateDefaults' This statement can only be repeated for different links.  File: hpt.info, Node: AutoAreaCreateFile, Next: AutoAreaCreateDefaults, Prev: AutoAreaCreate, Up: Link Keywords 3.4.12 AutoAreaCreateFile ------------------------- Syntax: `autoAreaCreateFile ' Example: `autoAreaCreateFile /etc/fido/areas.matthias' This statement defines where autocreated areas by this link are going to. If you omit this statement the default configuration file will be used. The tosser must have the rights to create and change the file. *You must include the specified file for yourself into fidoconfig, so these autocreated areas will be found in subsequent tosser-runs.* *autoAreaCreateFile and Include strings must be the *same*.* This statement can only be repeated for different links.  File: hpt.info, Node: AutoAreaCreateDefaults, Next: AutoAreaCreateSubdirs, Prev: AutoAreaCreateFile, Up: Link Keywords 3.4.13 AutoAreaCreateDefaults ----------------------------- Syntax: `autoareacreatedefaults ' Example: `autoareacreatedefaults -$m 200 -dupecheck move' Set defaults to autocreated echoareas. To create PASSTHROUGH areas you can add "passthrough" to `AutoAreaCreateDefaults'. This statement can only be repeated for different links.  File: hpt.info, Node: AutoAreaCreateSubdirs, Next: AutoPause, Prev: AutoAreaCreateDefaults, Up: Link Keywords 3.4.14 AutoAreaCreateSubdirs ---------------------------- Syntax: `autoareacreatesubdirs ' Example: `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. *Note EchoArea: EchoArea, for more information on the `-dosfile' option.  File: hpt.info, Node: AutoPause, Next: AvailList, Prev: AutoAreaCreateSubdirs, Up: Link Keywords 3.4.15 AutoPause ---------------- Syntax: `autopause ' Example: `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. *Note 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 *Note AutoPassive:: and *Note Pause:: sections.  File: hpt.info, Node: AvailList, Next: DenyFwdFile, Prev: AutoPause, Up: Link Keywords 3.4.16 AvailList ---------------- Syntax: `AvailList (Full|Unique|UniqueOne)' Example: `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.  File: hpt.info, Node: DenyFwdFile, Next: DenyFwdMask, Prev: AvailList, Up: Link Keywords 3.4.17 DenyFwdFile ------------------ Syntax: `denyFwdFile ' Example: `denyFwdFile /etc/fido/denyfwd' Don't forward requests for areas from this file. *Pattern matching does not supporting!* This statement can only be repeated for different links.  File: hpt.info, Node: DenyFwdMask, Next: DenyFwdReqAccess, Prev: DenyFwdFile, Up: Link Keywords 3.4.18 DenyFwdMask ------------------ Syntax: `denyfwdmask [, ...]' Example: `denyfwdmask TYT.*, *FLAME*' Don't forward this requests. This statement can only be repeated for different links.  File: hpt.info, Node: DenyFwdReqAccess, Next: DenyUncondFwdReqAccess, Prev: DenyFwdMask, Up: Link Keywords 3.4.19 DenyFwdReqAccess ----------------------- Syntax: `denyFwdReqAccess ' Example: `denyFwdReqAccess' Don't allow forward requests from this link (via areafix) to your links. This statement can only be repeated for different links.  File: hpt.info, Node: DenyUncondFwdReqAccess, Next: EchoMailFlavour, Prev: DenyFwdReqAccess, Up: Link Keywords 3.4.20 DenyUncondFwdReqAccess ----------------------------- Syntax: `denyUncondFwdReqAccess ' Example: `denyUncondFwdReqAccess' Don't allow unconditional forward requests from this link (via areafix) to your links. This statement can only be repeated for different links.  File: hpt.info, Node: EchoMailFlavour, Next: Export, Prev: DenyUncondFwdReqAccess, Up: Link Keywords 3.4.21 EchoMailFlavour ---------------------- Syntax: `echoMailFlavour ' Example: `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.  File: hpt.info, Node: Export, Next: ForwardAreaPriority, Prev: EchoMailFlavour, Up: Link Keywords 3.4.22 Export ------------- Syntax: `export ' Example: `export off' By default "Export on". If "export" is "off", mail for groups defined in `OptGrp' not tossed to link and if `OptGrp' not defined, then no mail tossed to link at all. This statement can only be repeated for different links.  File: hpt.info, Node: ForwardAreaPriority, Next: ForwardPkts, Prev: Export, Up: Link Keywords 3.4.23 ForwardAreaPriority -------------------------- Syntax: `forwardAreaPriority ' Example: `forwardAreaPriority 1' By default forward requests processing for links in order as they defined in config. But you can set priority for some links... "1" is the first link to forward requests, "2" is the second, etc. This statement can only be repeated for different links.  File: hpt.info, Node: ForwardPkts, Next: ForwardRequestFile, Prev: ForwardAreaPriority, Up: Link Keywords 3.4.24 ForwardPkts ------------------ Syntax: `forwardPkts ' Example: `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 `.ntu' and leave it in the inbound. If you specify `', the file will instead be forwarded to the destination link (i.E. put into his arcmail bundle). If you specify `', 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.  File: hpt.info, Node: ForwardRequestFile, Next: ForwardRequestMask, Prev: ForwardPkts, Up: Link Keywords 3.4.25 ForwardRequestFile ------------------------- Syntax: `forwardRequestFile ' Example: `forwardRequestFile /etc/fido/fidonet.na' File for forward requests (also for available areas and descriptions). If file contains area descriptions they will be used when autocreating areas. If not defined then forward requests unconditional. This statement can only be repeated for different links.  File: hpt.info, Node: ForwardRequestMask, Next: ForwardRequests, Prev: ForwardRequestFile, Up: Link Keywords 3.4.26 ForwardRequestMask ------------------------- Syntax: `forwardrequestmask [, ...]' Example: `forwardrequestmask nsk.*' If area nsk.* (nsk.test for example) will be requested by downlink and forwardrequests to uplink are allowed, then it is created and request goes to uplink. If area doesn't covered by mask list, then checks the next link for forwardRrequests. This statement can only be repeated for different links.  File: hpt.info, Node: ForwardRequests, Next: FileBox, Prev: ForwardRequestMask, Up: Link Keywords 3.4.27 ForwardRequests ---------------------- Syntax: `forwardRequests ' Example: `forwardRequests on' By default "forwardRequests off". "On" allow forward requests to this link from other links. If no `forwardRequestFile' or `forwardRequestMask' defined, then forwardRequests unconditional. `LinkGrp' can deny access to some links... This statement can only be repeated for different links. *Note LinkGrp::.  File: hpt.info, Node: FileBox, Next: FileBoxAlways, Prev: ForwardRequests, Up: Link Keywords 3.4.28 FileBox -------------- Syntax: `FileBox ' Example: `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.  File: hpt.info, Node: FileBoxAlways, Next: Import, Prev: FileBox, Up: Link Keywords 3.4.29 FileBoxAlways -------------------- Syntax: `FileBoxAlways ' Example: `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.  File: hpt.info, Node: Import, Next: Level, Prev: FileBoxAlways, Up: Link Keywords 3.4.30 Import ------------- Syntax: `import ' Example: `import off' By default "import on". Same as `Export', but this is for mail *from* link. This statement can only be repeated for different links.  File: hpt.info, Node: Level, Next: Link, Prev: Import, Up: Link Keywords 3.4.31 Level ------------ Syntax: `level ' Example: `level 200' Access level. Used in echoareas to control read/write access. By default "level 0". This statement can only be repeated for different links.  File: hpt.info, Node: Link, Next: LinkBundleNameStyle, Prev: Level, Up: Link Keywords 3.4.32 Link ----------- Syntax: `link ' Example: `link Matthias Tichy' This statement starts a new Link-definition. All the following link-related statements change the configuration of this link until a new link statement is found. is the name of this link. This statement can be repeated.  File: hpt.info, Node: LinkBundleNameStyle, Next: LinkDefaults, Prev: Link, Up: Link Keywords 3.4.33 LinkBundleNameStyle -------------------------- Syntax: `linkBundleNameStyle ' Example: `linkbundleNameStyle addrDiff' This statement sets rule for creating names of arcmail bundles for link. It is similar `BundleNameStyle' keyword. *Note BundleNameStyle::. This statement can only be repeated for different links.  File: hpt.info, Node: LinkDefaults, Next: LinkGrp, Prev: LinkBundleNameStyle, Up: Link Keywords 3.4.34 LinkDefaults ------------------- Syntax: `linkdefaults [begin | end | destroy]' Example: `linkdefaults' This statement starts section of default definitions of links. All the following link-related statements change default configuration of link until a `'link'' or `'linkdefaults end'' or `'linkdefaults destroy'' statement is found. All parameters collected in linkdefaults sections are copied to link configuration every time when `'link'' statement 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.  File: hpt.info, Node: LinkGrp, Next: LinkMsgBaseDir, Prev: LinkDefaults, Up: Link Keywords 3.4.35 LinkGrp -------------- Syntax: `linkgrp ' Example: `linkgrp Fido' String `Fido' adds to `AutoAreaCreateDefaults', if there is no group defined. Links without access to group `Fido' can't forward requests to uplink with `LinkGrp Fido'. This link can delete echo areas with `-g Fido' group. This statement can only be repeated for different links.  File: hpt.info, Node: LinkMsgBaseDir, Next: Mandatory, Prev: LinkGrp, Up: Link Keywords 3.4.36 LinkMsgBaseDir --------------------- Syntax: `linkMsgBaseDir ' Example: `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. *Note MsgBaseDir::.  File: hpt.info, Node: Mandatory, Next: Manual, Prev: LinkMsgBaseDir, Up: Link Keywords 3.4.37 Mandatory ---------------- Syntax: `mandatory ' Example: `mandatory on' By default "mandatory off". This statement do not allow the link to unsubscribe areas via areafix. This statement can only be repeated for different links.  File: hpt.info, Node: Manual, Next: NoRules, Prev: Mandatory, Up: Link Keywords 3.4.38 Manual ------------- Syntax: `manual ' Example: `manual on' By default "manual off". This statement do not allow the link to subscribe areas via areafix. This statement can only be repeated for different links.  File: hpt.info, Node: NoRules, Next: OptGrp, Prev: Manual, Up: Link Keywords 3.4.39 NoRules -------------- Syntax: `norules ' Example: `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.  File: hpt.info, Node: OptGrp, Next: OurAka, Prev: NoRules, Up: Link Keywords 3.4.40 OptGrp ------------- Syntax: `optgrp [, ...]' Example: `optgrp A,X,Fido' `Export', `Import' & `Mandatory' restrictions uses `OptGrp' areas. If `OptGrp' not defined - the restrictions will be applied to *all* areas. This statement can only be repeated for different links.  File: hpt.info, Node: OurAka, Next: PackAka, Prev: OptGrp, Up: Link Keywords 3.4.41 OurAka ------------- Syntax: `ourAka ' Example: `ourAka 2:2433/1247' This statement sets the aka which is used for this link. This statement can only be repeated for different links.  File: hpt.info, Node: PackAka, Next: Packer, Prev: OurAka, Up: Link Keywords 3.4.42 PackAka -------------- Syntax: `PackAka ' Example: `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.  File: hpt.info, Node: Packer, Next: Password, Prev: PackAka, Up: Link Keywords 3.4.43 Packer ------------- Syntax: `packer ' Example: `packer zip' This statement sets the packer for the link. You can use the packer which you has set up using the `Pack' statement. If you omit this statement or set `Packer none' no mail will be packed. The pktīs will be stored in the outbound. This statement can only be repeated for different links.  File: hpt.info, Node: Password, Next: Pause, Prev: Packer, Up: Link Keywords 3.4.44 Password --------------- Syntax: `password ' Example: `password secret' This statement sets the default password for the link. If you do not change the other passwords, they are set to this password. There is no limit for `Password' length except the `PktPwd'. This statement can only be repeated for different links.  File: hpt.info, Node: Pause, Next: PktSize, Prev: Password, Up: Link Keywords 3.4.45 Pause ------------ Syntax: `pause ([on]|off|earea|farea)' Examples: `pause' `pause earea' `pause' Stop export echomail, fileechoes or both for this link. This statement can only be repeated for different links. See also *Note AutoPause:: section.  File: hpt.info, Node: PktSize, Next: PktPwd, Prev: Pause, Up: Link Keywords 3.4.46 PktSize -------------- Syntax: `pktsize ' Example: `pktsize 300' Maximum pkt size in kb for this link. Default - unlimited. This statement can only be repeated for different links.  File: hpt.info, Node: PktPwd, Next: ReducedSeenBY, Prev: PktSize, Up: Link Keywords 3.4.47 PktPwd ------------- Syntax: `pktpwd []' Example: `pktpwd geheim' This statement sets the pktpassword for the actual link. Only passwords with maximal 8 characters are valid because of limitations of other software packages. An empty statement is allowed. This statement can only be repeated for different links.  File: hpt.info, Node: ReducedSeenBY, Next: RemoteRobotName, Prev: PktPwd, Up: Link Keywords 3.4.48 ReducedSeenBY -------------------- Syntax: `ReducedSeenBY ' Example: `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.  File: hpt.info, Node: RemoteRobotName, Prev: ReducedSeenBY, Up: Link Keywords 3.4.49 RemoteRobotName ---------------------- Syntax: `remoteRobotName ' Example: `remoteRobotName allfix' Set remote system "areafix" to new name. This token used when requests to subscribing/unsubscribing of new areas forwarded to this link. This statement can only be repeated for different links.  File: hpt.info, Node: Areafix Keywords, Next: Area Definition, Prev: Link Keywords, Up: Configuration Reference 3.5 Areafix Keywords ==================== * Menu:  File: hpt.info, Node: Area Definition, Next: Carbon Copy, Prev: Areafix Keywords, Up: Configuration Reference 3.6 Area Definition =================== * Menu: * BadArea:: definition of badarea * DupeArea:: definition of dupearea * EchoArea:: definition of echoarea * EchoAreaDefaults:: defaults for echoarea * LocalArea:: definition of localarea * NetArea:: same as netmailarea * NetMailArea:: definition of netmailarea * ReadOnly:: set link(s) readonly for echoarea(s) * WriteOnly:: set link(s) writeonly for echoarea(s)  File: hpt.info, Node: BadArea, Next: DupeArea, Prev: Area Definition, Up: Area Definition 3.6.1 BadArea ------------- Syntax: `BadArea [-b ] [Options]' Example: `BadArea badarea /var/spool/fido/msgb/bad -b Squish' This statement specifies the BadArea. Messages which have no area on your system go to the badArea. *Note EchoArea::, for details on `Options'. Like all areas BadArea is *.msg base per default. This statement cannot be repeated.  File: hpt.info, Node: DupeArea, Next: EchoArea, Prev: BadArea, Up: Area Definition 3.6.2 DupeArea -------------- Syntax: `dupeArea [-b ] [Options]' Example: `dupeArea dupeArea /var/spool/fido/msgb/dupes -b Squish' This statement specifies the DupeArea. Messages which area dupes e.g. come to your system the second time, will be put in the DupeArea. *Note EchoArea::, for details on `Options'. Like all areas DupeArea is *.msg base per default. This statement cannot be repeated.  File: hpt.info, Node: EchoArea, Next: EchoAreaDefaults, Prev: DupeArea, Up: Area Definition 3.6.3 EchoArea -------------- Syntax: `EchoArea [-b ] [Options] [linkAKAs] [linkOptions]' Example: `EchoArea linux.develop.ger /var/spool/fido/msgb/linux.develop.ger -b Squish -a 2:2433/1247 -g A -dupeCheck move -dupehistory 11 -d "Linux development" 2:2433/1245 -def' This statement specifies the echoareas. name: area-tag file: filename(s) for this area without extension; should be the area-tag (as far as possible). if file == Passthrough then [-b ] is skipped and msgarea is set as an passthrough area. msgbase: `Msg' is standard (OPUS *.msg-base). Write `Squish' for an Squish-msgbase and `Jam' for Jam-msgbase. linkAKA: aka's of up- and down links (full 4D address). you can use masks like: "*:*/*" - all downlinks from you config. This links are auto-mandatory. Always use slash in mask! Options: -lr required level for read access (see also `Level' in link options); `integer' can't be negative; -lw required level for write access; `integer' can't be negative; -mandatory forbid to unsubscribe from this echo; -noMandatory enable unsubscribe from this echo if echoareadefaults set `-mandatory'; -manual disallow remote subscribe (only manual connect); -noManual allow remote subscribe (using netmail to areafix) if echoareadefaults set `-manual'; -p purge after n days: used by purging utilities like sqpack (*); default value is 0; -$m leave max n messages after purge in area (*); default value is 0; -noPack do not purge or pack area (overwrites -p & -$m) (*) -pack enable purge or pack area (*) if echoareadefaults set `-noPack'; -killRead kill read msgs in area on purging (*) -noKillRead disable kill read msgs in area on purging (*) if echoareadefaults set `-killRead'; -keepUnread keep unread msgs in area on purging (*) -nokeepUnread do not keep unread msgs in area on purging (*) if echoareadefaults set `-keepUnread'; -kill kill messagebase of area when setting it to passthrough -nokill do not kill messagebase when setting area to passthrough if echoareadefaults set `-kill'; -a aka to use (first address from config if not defined) -b type of msgbase (Msg, Squish, Jam) (*) -g group for this echoarea -keepsb keep seen-by kludges (used in CarbonCopy) -nokeepsb do not keep seen-by kludges (used in CarbonCopy) if echoareadefaults set `-keepsb'; -tinysb no seen-by kludges stores in message base (*) -notinysb seen-by kludges stores in message base (*) if echoareadefaults set `-tinysb'; -killsb no seen-by & path kludges stores in message base (*) -nokillsb seen-by & path kludges stores in message base (*) if echoareadefaults set `-killsb'; -dosfile file name of area is in dos style (8+3). Please be aware of the fact that this will currently automatically disable the autoAreaCreateSubdirs feature. -nodosfile file name of area is in long filename style if echoareadefaults set `-dosfile'; -hide hide area in areafix reports (%list & etc.); -nohide show area in areafix reports (%list & etc.) if disabled in echoareadefaults; -d "Description for the area between double quote (like this)" describe area (for areafix reports & etc.); -nopause %PAUSE has no effect to this area; -pause %PAUSE has effect to this area if disabled in echoareadefaults; -ccoff disables carbonCopies for this area; -noccoff or -ccon enables carbonCopies for this area if disabled in echoareadefaults; -DupeCheck off|move|del toss dupes, move dupes to `DupeArea' or delete dupes. -DupeHistory size of dupecheck history file in days (7 days if not defined); -nolink disables reply-linking for this area (*); -link enables reply-linking for this area (*) if disabled in echoareadefaults; -debug write debug info about this area to areaname.dbg (or common.dbg if "-dosfile" is used) -nodebug disable debug output if defined in echoareadefaults; -sbadd(,...) add seen-by(s) at tossing time; -sbign(,...) ignore seen-by(s) and toss mail to link(s). (*) - these tokens to be removed from `AutoAreaCreateDefaults' when creating passthrough areas. LinkOptions: -def default-uplink (used for area deletion, *Note AdvancedAreafix::.) -r this link is read only -w this link is write only -mn this link is mandatory subscribed, you may also set: " -r -mn" or " -w -r" and so on... Link Options -r -w are left for backward compatibility. We strongly recommend to use tokens ReadOnly & WriteOnly for seting permissions on arealinks. This statement can be repeated. 3.6.4 Note. ----------- The msgbase `MSG' is limited to 65536 messages. This is SMAPI implementation limit.  File: hpt.info, Node: EchoAreaDefaults, Next: LocalArea, Prev: EchoArea, Up: Area Definition 3.6.5 EchoAreaDefaults ---------------------- Syntax: `EchoAreaDefaults [-b ] [Options]' Example: `EchoAreaDefaults -b Squish -a 2:280/1507 -g F -dupeCheck move -dupehistory 11 -p 14 2:280/1126' With this keyword you can specify settings that will be set for the `EchoArea' and `LocalArea' definitions that follow. It makes the echoarea definitions shorter. All echoarea settings can be used *except* the areaname and path. When you specify a different value in an echoarea definition, it overrules the default setting. With the default from the example above, an echoarea definition could be: EchoArea fidosoft.husky /var/spool/fido/msgb/fidosoft.husky -d "husky develpment" 2:280/6207 This will internally be expanded to: EchoArea fidosoft.husky /var/spool/fido/msgb/fidosoft.husky -d "husky develpment" -b Squish -a 2:280/1507 -g F -dupeCheck move -dupehistory 11 -p 14 2:280/1126 2:280/6207 Another example: EchoArea evolution /var/spool/fido/msgb/evolution -d "about fantasies" -p 100 that will be expanded to: EchoArea evolution /var/spool/fido/msgb/evolution -d "about fantasies" -b Squish -a 2:280/1507 -g F -dupeCheck move -dupehistory 11 -p 100 2:280/1126 As you will notice, the default settings are combined with the additional settings in the EchoArea definition, and the messages are purged after 100 days instead of 14 (the default). This statement can be repeated. An `EchoAreaDefults' setting is valid until a next `EchoAreaDefaults' setting. `EchoAreaDefaults' can also be switched off with an empty definition: EchoAreaDefaults [OFF] The word 'OFF' is not needed but makes it more readable.  File: hpt.info, Node: LocalArea, Next: NetArea, Prev: EchoAreaDefaults, Up: Area Definition 3.6.6 LocalArea --------------- Syntax: `localArea [-b ] [Options]' Example: `localArea linux.develop.ger /var/spool/fido/msgb/linux.develop.ger -b Squish -a 2:2433/1247 -dupeCheck move -dupehistory 11 -d "Linux development"' This statement creates an `LocalArea'. The only difference between a `LocalArea' and an `EchoArea' is that a `LocalArea' has no links and is not scanned for new mails. This statement can be repeated.  File: hpt.info, Node: NetArea, Next: NetMailArea, Prev: LocalArea, Up: Area Definition 3.6.7 NetArea ------------- Syntax: `NetArea [-b ] [Options]' Example: `NetArea netmail /var/spool/fido/msgb/netmail -b Squish' *Note NetMailArea::. This statement can be repeated.  File: hpt.info, Node: NetMailArea, Next: ReadOnly, Prev: NetArea, Up: Area Definition 3.6.8 NetMailArea ----------------- Syntax: `NetmailArea [-b ] [Options]' Example: `NetmailArea netmail /var/spool/fido/msgb/netmail -b Squish' This statement specifies the `NetMailArea'. *Note EchoArea::, for details on `Options'. Like all areas NetmailAreas is *.msg bases per default. This statement can be repeated to use different netmailareas. *Note NetArea::. This statement can be repeated.  File: hpt.info, Node: ReadOnly, Next: WriteOnly, Prev: NetMailArea, Up: Area Definition 3.6.9 ReadOnly -------------- Syntax: `ReadOnly ' Example: `ReadOnly 2:5021/19.* tver.sysop*' This statement set link(s) to readonly for specified ares(s). 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 It means that all points if 2:5021/19 set r/o for tver.sysop* areas except 2:5021/19.1 for all areas and 2:5021/19.2 can write only to tver.sysop.talks from tver.sysop* areagroup This statement can be repeated.  File: hpt.info, Node: WriteOnly, Prev: ReadOnly, Up: Area Definition 3.6.10 WriteOnly ---------------- Syntax: `WriteOnly ' Example: `WriteOnly 2:5021/19.* NobodyReadArea' This statement set link(s) to writeonly for specified ares(s). If you write node address do it *without* trailing .0! This statement can be repeated.  File: hpt.info, Node: Carbon Copy, Prev: Area Definition, Up: Configuration Reference 3.7 Carbon Copy =============== * Menu: * 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  File: hpt.info, Node: CarbonAddr, Next: CarbonAndQuit, Prev: Carbon Copy, Up: Carbon Copy 3.7.1 CarbonAddr ---------------- Syntax: `carbonAddr ' Example: `carbonAddr 2:5000/100' `carbonCopy mail.from.100' If an echomail is tossed whose from address field is the same as , the echomail is copied to the area specified by the `carbonCopy' keyword. This statement can be repeated.  File: hpt.info, Node: CarbonAndQuit, Next: CarbonCopy, Prev: CarbonAddr, Up: Carbon Copy 3.7.2 CarbonAndQuit ------------------- Syntax: `carbonAndQuit ' Example: `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 * This '*' does not work for CarbonDelete of course. This statement cannot be repeated.  File: hpt.info, Node: CarbonCopy, Next: CarbonDelete, Prev: CarbonAndQuit, Up: Carbon Copy 3.7.3 CarbonCopy ---------------- Syntax: `carbonCopy ' Example: `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'. This statement can be placed after different carbon{Addr|To|From|Kludge|Subj|Text} statements. *Note CarbonMove::.  File: hpt.info, Node: CarbonDelete, Next: CarbonExcludeFwdFrom, Prev: CarbonCopy, Up: Carbon Copy 3.7.4 CarbonDelete ------------------ Syntax: `carbonDelete' Example: `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.  File: hpt.info, Node: CarbonExcludeFwdFrom, Next: CarbonExtern, Prev: CarbonDelete, Up: Carbon Copy 3.7.5 CarbonExcludeFwdFrom -------------------------- Syntax: `CarbonExcludeFwdFrom ' Example: `CarbonExcludeFwdFrom' Don't add to begin of carbon msg text " * Forward from area " This statement cannot be repeated.  File: hpt.info, Node: CarbonExtern, Next: CarbonFrom, Prev: CarbonExcludeFwdFrom, Up: Carbon Copy 3.7.6 CarbonExtern ------------------ Syntax: `carbonExtern ' Example: `carbonExtern douuedecode' This statement specifies external program to run for the previous carbon{Addr|To|From|Kludge|Subj|Text} statement. The space char and filename of the text file with message is appended into end of string. 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. *Note NetmailExtern::. 3.7.7 Message file ------------------ Before execute the program hpt creates temporary text file and store message into. Message format is: Area: (areatag) From: (originator's name and address) To: (destination's name and address) Date: (message date and time) Subject: (message subject) (empty line) (message text: multiline, contain all kludges, tearline, origin & etc.)  File: hpt.info, Node: CarbonFrom, Next: CarbonFromArea, Prev: CarbonExtern, Up: Carbon Copy 3.7.8 CarbonFrom ---------------- Syntax: `carbonFrom ' Example: `carbonFrom Matthias Tichy' `carbonCopy my.echomail' If an echomail is tossed whose from-field matched the 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 into quotes (""). This statement can be repeated.  File: hpt.info, Node: CarbonFromArea, Next: CarbonGroups, Prev: CarbonFrom, Up: Carbon Copy 3.7.9 CarbonFromArea -------------------- Syntax: `CarbonFromArea ' Example: `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. *Note CarbonRule::. Another example: CarbonFromArea Interuser CarbonRule NOT CarbonText " Israel " CarbonCopy my.news is the mask for area name, defined after EchoArea or NetMailArea. This statement can be repeated.  File: hpt.info, Node: CarbonGroups, Next: CarbonKeepSb, Prev: CarbonFromArea, Up: Carbon Copy 3.7.10 CarbonGroups ------------------- Syntax: `carbonGroups [,...]' Example: `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. *Note CarbonRule::. This statement can be repeated.  File: hpt.info, Node: CarbonKeepSb, Next: CarbonKludge, Prev: CarbonGroups, Up: Carbon Copy 3.7.11 CarbonKeepSb ------------------- Syntax: `carbonKeepSb ' Example: `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.  File: hpt.info, Node: CarbonKludge, Next: CarbonMove, Prev: CarbonKeepSb, Up: Carbon Copy 3.7.12 CarbonKludge ------------------- Syntax: `carbonKludge ' Example: `carbonKludge MSGID: 2:5000/117.' `carbonCopy written.by.points' If an echomail is tossed which has a kludge line which includes the substring matches , the echomail is copied to the area specified by the `CarbonCopy' keyword. You can enclose into quotes (""). carbonKludge "REPLY: 2:5000/117 " This statement can be repeated.  File: hpt.info, Node: CarbonMove, Next: CarbonOut, Prev: CarbonKludge, Up: Carbon Copy 3.7.13 CarbonMove ----------------- Syntax: `carbonMove ' Example: `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'. 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. *Note CarbonCopy::.  File: hpt.info, Node: CarbonOut, Next: CarbonReason, Prev: CarbonMove, Up: Carbon Copy 3.7.14 CarbonOut ---------------- Syntax: `carbonOut ' Example: `carbonOut' This statement makes possible carbon your outgoing mail (scanned & packed). Don't forget to set carbon rules. This statement cannot be repeated.  File: hpt.info, Node: CarbonReason, Next: CarbonRule, Prev: CarbonOut, Up: Carbon Copy 3.7.15 CarbonReason ------------------- Syntax: `carbonReason ' Example: `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.  File: hpt.info, Node: CarbonRule, Next: CarbonSubj, Prev: CarbonReason, Up: Carbon Copy 3.7.16 CarbonRule ----------------- Syntax: `carbonRule AND|NOT|OR' Example: `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.  File: hpt.info, Node: CarbonSubj, Next: CarbonText, Prev: CarbonRule, Up: Carbon Copy 3.7.17 CarbonSubj ----------------- Syntax: `carbonSubj ' Example: `carbonSubj beer' `carbonCopy cc.beer' If an echomail is tossed which has a subject line matched , 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 into quotes (""). This statement can be repeated.  File: hpt.info, Node: CarbonText, Next: CarbonTo, Prev: CarbonSubj, Up: Carbon Copy 3.7.18 CarbonText ----------------- Syntax: `carbonText ' Example: `carbonText cool beer' `carbonCopy cc.beer' If an echomail is tossed which has a kludge line which includes the substring matches , 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 into quotes (""). This statement can be repeated.  File: hpt.info, Node: CarbonTo, Next: ExcludePassthroughCarbon, Prev: CarbonText, Up: Carbon Copy 3.7.19 CarbonTo --------------- Syntax: `carbonTo ' Example: `carbonTo Max Levenkov' `carbonCopy my.echomail' If an echomail is tossed whose to-field matched , 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 into quotes (""). This statement can be repeated.  File: hpt.info, Node: ExcludePassthroughCarbon, Next: NetmailExtern, Prev: CarbonTo, Up: Carbon Copy 3.7.20 ExcludePassthroughCarbon ------------------------------- Syntax: `excludePassthroughCarbon ' Example: `excludePassthroughCarbon' Don't carbon from passthrough areas. This statement cannot be repeated.  File: hpt.info, Node: NetmailExtern, Prev: ExcludePassthroughCarbon, Up: Carbon Copy 3.7.21 NetmailExtern -------------------- Syntax: `netmailExtern ' Example: `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 command is prepended with '|' sign, hpt tries to pass data thru the pipe, not temporary file. Before execution the a space char and filename of the text file with message is appended into end of string. This statement can be repeated for each different carbon{Addr|To|From|Kludge|Subj|Text} statement. *Note CarbonExtern::. 3.7.22 Message file ------------------- Before execute the program hpt creates temporary text file and store message into. Message format is: Area: (areatag) From: (originator's name and address) To: (destination's name and address) Date: (message date and time) Subject: (message subject) (empty line) (message text: multiline, contain all kludges, tearline, origin & etc.)  File: hpt.info, Node: Advanced Concepts, Next: Keyword Index, Prev: Configuration Reference, Up: Top 4 Advanced Concepts in HPT ************************** 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. * Menu: * 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  File: hpt.info, Node: Exit, Next: Suffixes, Prev: Advanced Concepts, Up: Advanced Concepts 4.1 HPT Exit Codes ================== 0 - successful termination 64 - command line usage error 66 - cannot open input (file) 69 - service unavailable [config file not found] 70 - internal software error [not enough memory, etc.] 73 - can't create (user) output file [lockfile] 74 - input/output error 75 - temp failure; user is invited to retry [lockfile used by second copy of hpt] 78 - configuration error  File: hpt.info, Node: Suffixes, Next: Netmail, Prev: Exit, Up: Advanced Concepts 4.2 Renaming Suffixes For Pkt Files =================================== .tos - hpt crashes on this pkt, report to developers! .sec - a) pktpwd problem or link not found; b) bundles in unsecure inbound .acs - could not open pkt .bad - a) not/wrong pkt; b) bundle unpacking problems .ntu - not to us .err - msg tossing problem (couldn't open badArea/couldn't write msg) .flt - perl filter (process_pkt()) returns bad retcode  File: hpt.info, Node: Netmail, Next: ZoneGating, Prev: Suffixes, Up: Advanced Concepts 4.3 Defining Several Netmail Areas For Several Users ==================================================== 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 ' to netmail area, like this: Address 2:5000/117 Address 2:90/190 NetmailArea NetMail /home/ml/fido/msgb/netmail -b squish -a 2:5000/117 NetmailArea OtherNetMail /home/ml/fido/msgb/othernetmail -b squish -a 2:90/190  File: hpt.info, Node: ZoneGating, Next: Perl support, Prev: Netmail, Up: Advanced Concepts 4.4 hpt ZoneGating implementation for echomail ============================================== We have EchoArea with links from zone1 & zone2. Echo->useAka with zone2. Defined by "-a " or the by the first Echo->address from config if not defined in EchoArea line. Program algorythm: 1. initialize an array of SEEN-BY arrays (key = zone number, value = array of SEEN-BYs for this zone) 2. Read SEEN-BYs & PATH from message 3. Assign read SEEN-BYs to an array of SEEN-BY arrays with zone = pktOrigAddr.zone 4. Add SEEN-BYs from AddToSeen & -sbadd. *Note AddToSeen::. 5. Build an array of downlinks for this echo. Links which present in SEEN-BYs are skipped (except ones defined in IgnoreSeen or -sbign), link with AKA == pktOrigAddr is also skipped. Link with zone:net/node equal to our AKA is not skipped (we can be point and shall send message to our boss). 6. Add all links to an array of SEEN-BY arrays 7. Add all our AKAs to an array of SEEN-BY arrays 8. Forward message to all links. Eacho link will have our AKA from corresponding Link->ourAka in PATH. Each link will get SEEN-BYs only for his zone.  File: hpt.info, Node: Perl support, Prev: ZoneGating, Up: Advanced Concepts 4.5 Perl support in HPT ======================= 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: 1. after_unpack - called after unpacking an echomail bundle to `TempInbound' 2. before_pack - called before packing echomail bundle to one of links 3. process_pkt - called before processing pkt, the following variables available: $pktname - name of pkt, $secure - defined if this pkt from secure link hook must return "" for normal pkt processing or other string to rename pkt to .flt 4. pkt_done - called after pkt processing, the following variables available: $pktname - name of pkt, $rc - exit code(0-ok), $res - reason(exit code in text form): 0 - OK ($res undefined), 1 - Security violation, 2 - Can't open pkt, 3 - Bad pkt format, 4 - Not to us, 5 - Msg tossing problem 5. hpt_exit - called before hpt completely exit if any other Perl hook was called during this session. 6. route - called just before routing netmail message, the following variables availble: $addr - message destination address, $from - message originating address, $toname - destination user name, $fromname - originating user name, $subject - message subject line, $date - message date and time, $text - message text, $attr - message attributes, $route - default route for this message (derermined 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 7. scan - called while scanning messages (hpt scan or hpt pack). The following variables available: $fromname - originating user name, $fromaddr - message originating address, $toname - destination user name, $toaddr - message destination address (for netmail), $area - message area (for echomail), $subject - message subject line, $date - message date and time, $text - message text, $attr - message attributes. Set $change to update $text, $subject, $fromaddr, $toaddr, $fromname, $toname, $attr. If returns non-empty string (reason), the message will not pack to downlinks. 8. filter - called for processing every message while tossing. The following variables available: $fromname - originating user name, $fromaddr - message originating address, $toname - destination user name, $toaddr - message destination address (for netmail), $area - message area (for echomail), $subject - message subject line, $date - message date and time, $text - message text, $attr - message attributes, $pktfrom - address of originating pkt, $secure - defined if the message received from secure link. 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. 9. tossbad - called when message will be put in badArea. The following variables available: $fromname - originating user name, $fromaddr - message originating address, $toname - destination user name, $toaddr - message destination address (for netmail), $area - message area (for echomail), $subject - message subject line, $date - message date and time, $text - message text, $attr - message attributes, $pktfrom - address of originating pkt, $reason - reason, why badarea (text string). Set $change to update $text, $subject, $fromaddr, $toaddr, $fromname, $toname, $attr. If returns non-empty string (reason) for kill the message.  File: hpt.info, Node: Keyword Index, Prev: Advanced Concepts, Up: Top Appendix A Configuration File Keyword Index ******************************************* [index] * Menu: * AccessGrp: AccessGrp. (line 6) * Address: Address. (line 6) * AddToSeen: AddToSeen. (line 6) * AdvancedAreafix: AdvancedAreafix. (line 6) * AdvisoryLock: AdvisoryLock. (line 6) * AdvStatisticsFile: AdvStatisticsFile. (line 6) * AfterUnpack: AfterUnpack. (line 6) * Aka: Aka. (line 6) * AllowEmptyPktPwd: AllowEmptyPktPwd. (line 6) * AllowPktAddrDiffer: AllowPktAddrDiffer. (line 6) * ArcmailSize: ArcmailSize. (line 6) * ArcNetmail: ArcNetmail. (line 6) * Areafix: Areafix. (line 6) * AreafixEchoLimit: AreafixEchoLimit. (line 6) * AreafixFromName: AreafixFromName. (line 6) * AreafixFromPkt: AreafixFromPkt. (line 6) * AreafixHelp: AreafixHelp. (line 6) * AreafixKillRequests: AreafixKillRequests. (line 6) * AreafixMsgSize: AreafixMsgSize. (line 6) * AreafixNames: AreafixNames. (line 6) * AreafixOrigin: AreafixOrigin. (line 6) * AreafixPwd: AreafixPwd. (line 6) * AreafixQueryReports: AreafixQueryReports. (line 6) * AreafixQueueFile: AreafixQueueFile. (line 6) * AreafixReportsAttr: AreafixReportsAttr. (line 6) * AreafixSplitStr: AreafixSplitStr. (line 6) * AreasFileNameCase: AreasFileNameCase. (line 6) * AreasMaxDupeAge: AreasMaxDupeAge. (line 6) * AutoAreaCreate: AutoAreaCreate. (line 6) * AutoAreaCreateDefaults: AutoAreaCreateDefaults. (line 6) * AutoAreaCreateFile: AutoAreaCreateFile. (line 6) * AutoAreaCreateFlag: AutoAreaCreateFlag. (line 6) * AutoAreaCreateSubdirs: AutoAreaCreateSubdirs. (line 6) * AutoPassive: AutoPassive. (line 6) * AutoPause: AutoPause. (line 6) * AvailList: AvailList. (line 6) * BadArea: BadArea. (line 6) * BeforePack: BeforePack. (line 6) * BundleNameStyle: BundleNameStyle. (line 6) * CarbonAddr: CarbonAddr. (line 6) * CarbonAndQuit: CarbonAndQuit. (line 6) * CarbonCopy: CarbonCopy. (line 6) * CarbonDelete: CarbonDelete. (line 6) * CarbonExcludeFwdFrom: CarbonExcludeFwdFrom. (line 6) * CarbonExtern: CarbonExtern. (line 6) * CarbonFrom: CarbonFrom. (line 6) * CarbonFromArea: CarbonFromArea. (line 6) * CarbonGroups: CarbonGroups. (line 6) * CarbonKeepSb: CarbonKeepSb. (line 6) * CarbonKludge: CarbonKludge. (line 6) * CarbonMove: CarbonMove. (line 6) * CarbonOut: CarbonOut. (line 6) * CarbonReason: CarbonReason. (line 6) * CarbonRule: CarbonRule. (line 6) * CarbonSubj: CarbonSubj. (line 6) * CarbonText: CarbonText. (line 6) * CarbonTo: CarbonTo. (line 6) * CreateAreasCase: CreateAreasCase. (line 6) * CreateFwdNonPass: CreateFwdNonPass. (line 6) * DefArcmailSize: DefArcmailSize. (line 6) * DenyFwdFile: DenyFwdFile. (line 6) * DenyFwdMask: DenyFwdMask. (line 6) * DenyFwdReqAccess: DenyFwdReqAccess. (line 6) * DenyUncondFwdReqAccess: DenyUncondFwdReqAccess. (line 6) * DisablePID: DisablePID. (line 6) * DisableTID: DisableTID. (line 6) * DupeArea: DupeArea. (line 6) * DupeBaseType: DupeBaseType. (line 6) * DupeHistoryDir: DupeHistoryDir. (line 6) * EchoArea: EchoArea. (line 6) * EchoAreaDefaults: EchoAreaDefaults. (line 6) * EchoMailFlavour: EchoMailFlavour. (line 6) * EchoTossLog: EchoTossLog. (line 6) * ExcludePassthroughCarbon: ExcludePassthroughCarbon. (line 6) * Export: Export. (line 6) * FileBox: FileBox. (line 6) * FileBoxAlways: FileBoxAlways. (line 6) * FileBoxesDir: FileBoxesDir. (line 6) * ForwardAreaPriority: ForwardAreaPriority. (line 6) * ForwardPkts: ForwardPkts. (line 6) * ForwardRequestFile: ForwardRequestFile. (line 6) * ForwardRequestMask: ForwardRequestMask. (line 6) * ForwardRequests: ForwardRequests. (line 6) * ForwardRequestTimeout: ForwardRequestTimeout. (line 6) * HptPerlFile: HptPerlFile. (line 6) * IdlePassthruTimeout: IdlePassthruTimeout. (line 6) * IgnoreCapWord: IgnoreCapWord. (line 6) * IgnoreSeen: IgnoreSeen. (line 6) * Import: Import. (line 6) * ImportLog: ImportLog. (line 6) * Inbound: Inbound. (line 6) * Include: Include. (line 6) * Intab: Intab. (line 6) * KeepTrsFiles: KeepTrsFiles. (line 6) * KeepTrsMail: KeepTrsMail. (line 6) * KilledRequestTimeout: KilledRequestTimeout. (line 6) * KludgeAreaNetmail: KludgeAreaNetmail. (line 6) * Level: Level. (line 6) * Link: Link. (line 6) * LinkBundleNameStyle: LinkBundleNameStyle. (line 6) * LinkDefaults: LinkDefaults. (line 6) * LinkGrp: LinkGrp. (line 6) * LinkMsgBaseDir: LinkMsgBaseDir. (line 6) * LinkWithImportLog: LinkWithImportLog. (line 6) * LocalArea: LocalArea. (line 6) * LocalInbound: LocalInbound. (line 6) * LockFile: LockFile. (line 6) * LogEchoToScreen: LogEchoToScreen. (line 6) * LogFileDir: LogFileDir. (line 6) * LogLevels: LogLevels. (line 6) * Mandatory: Mandatory. (line 6) * Manual: Manual. (line 6) * MinDiskFreeSpace: MinDiskFreeSpace. (line 6) * MsgBaseDir: MsgBaseDir. (line 6) * Name: Name. (line 6) * NetArea: NetArea. (line 6) * NetMailArea: NetMailArea. (line 6) * NetmailExtern: NetmailExtern. (line 6) * NetmailFlag: NetmailFlag. (line 6) * NewAreaRefuseFile: NewAreaRefuseFile. (line 6) * NoProcessBundles: NoProcessBundles. (line 6) * NoRules: NoRules. (line 6) * NotValidFileNameChars: NotValidFileNameChars. (line 6) * OptGrp: OptGrp. (line 6) * Origin: Origin. (line 6) * OurAka: OurAka. (line 6) * Outbound: Outbound. (line 6) * Outtab: Outtab. (line 6) * Pack: Pack. (line 6) * PackAka: PackAka. (line 6) * Packer: Packer. (line 6) * PackNetMailOnScan: PackNetMailOnScan. (line 6) * Password: Password. (line 6) * Pause: Pause. (line 6) * PktPwd: PktPwd. (line 6) * PktSize: PktSize. (line 6) * ProcessPkt: ProcessPkt. (line 6) * ProtInbound: ProtInbound. (line 6) * PublicGroup: PublicGroup. (line 6) * ReadOnly: ReadOnly. (line 6) * ReducedSeenBY: ReducedSeenBY. (line 6) * Remap: Remap. (line 6) * RemoteRobotName: RemoteRobotName. (line 6) * ReportTo: ReportTo. (line 6) * RobotsArea: RobotsArea. (line 6) * Route: Route. (line 6) * RouteFile: RouteFile. (line 6) * RouteMail: RouteMail. (line 6) * RulesDir: RulesDir. (line 6) * ScreenLogLevels: ScreenLogLevels. (line 6) * SeparateBundles: SeparateBundles. (line 6) * SetConsoleTitle: SetConsoleTitle. (line 6) * StatLog: StatLog. (line 6) * Sysop: Sysop. (line 6) * TearLine: TearLine. (line 6) * TempInbound: TempInbound. (line 6) * TempOutbound: TempOutbound. (line 6) * TossingExt: TossingExt. (line 6) * Unpack: Unpack. (line 6) * WriteOnly: WriteOnly. (line 6)  Tag Table: Node: Top196 Node: Overview686 Node: Installation1802 Node: Download2816 Node: Compiling3217 Node: Support3866 Node: Credits7599 Node: Configuration Reference8549 Node: Using config9251 Node: Keywords10976 Node: AddToSeen14854 Node: Address15171 Node: AfterUnpack15801 Node: AreafixFromPkt16207 Node: AreafixKillRequests16625 Node: AreafixMsgSize16947 Node: AreafixNames17328 Node: AreafixFromName17674 Node: AreafixOrigin18616 Node: AreafixReportsAttr18985 Node: AreafixSplitStr19489 Node: AreafixQueryReports19855 Node: AreafixQueueFile20251 Node: AreasFileNameCase20725 Node: AutoAreaCreateFlag21105 Node: AutoPassive21521 Node: BeforePack22676 Node: BundleNameStyle23099 Node: CreateAreasCase24784 Node: CreateFwdNonPass25147 Node: DefArcmailSize25518 Node: DisableTID25849 Node: DisablePID26125 Node: ForwardRequestTimeout26410 Node: IdlePassthruTimeout27074 Node: IgnoreCapWord27589 Node: IgnoreSeen27983 Node: KeepTrsFiles28326 Node: KeepTrsMail28820 Node: KilledRequestTimeout29205 Node: KludgeAreaNetmail29686 Node: LinkWithImportLog30214 Node: LogEchoToScreen30872 Node: LogLevels31215 Node: Name32746 Node: NetmailFlag33000 Node: NewAreaRefuseFile33520 Node: NoProcessBundles34060 Node: Origin34355 Node: Pack34698 Node: PackNetMailOnScan35569 Node: ProcessPkt36077 Node: PublicGroup36628 Node: Remap37011 Node: ReportTo37712 Node: RobotsArea37999 Node: Route38380 Node: RouteFile39726 Node: RouteMail40214 Node: ScreenLogLevels40567 Node: SeparateBundles40899 Node: SetConsoleTitle41217 Node: Sysop41527 Node: TearLine41795 Node: TossingExt42104 Node: Unpack42648 Node: Files and Paths43921 Node: AdvisoryLock45736 Node: AdvStatisticsFile46525 Node: AreafixHelp46895 Node: AreasMaxDupeAge47233 Node: DupeBaseType47584 Node: DupeHistoryDir48239 Node: EchoTossLog48660 Node: FileBoxesDir49953 Node: HptPerlFile50444 Node: ImportLog50832 Node: Inbound51210 Node: Include51720 Node: Intab52617 Node: LocalInbound53089 Node: LockFile53594 Node: LogFileDir53959 Node: MinDiskFreeSpace54313 Node: MsgBaseDir54730 Node: NotValidFileNameChars55387 Node: Outbound55831 Node: Outtab57285 Node: ProtInbound57762 Node: RulesDir58212 Node: StatLog58857 Node: TempInbound59973 Node: TempOutbound60339 Node: Link Keywords60705 Node: AccessGrp63991 Node: AdvancedAreafix64399 Node: Aka65397 Node: AllowEmptyPktPwd65692 Node: AllowPktAddrDiffer67092 Node: ArcmailSize67718 Node: ArcNetmail68055 Node: Areafix68652 Node: AreafixEchoLimit68980 Node: AreafixPwd69348 Node: AutoAreaCreate69722 Node: AutoAreaCreateFile70404 Node: AutoAreaCreateDefaults71160 Node: AutoAreaCreateSubdirs71646 Node: AutoPause72671 Node: AvailList73527 Node: DenyFwdFile74182 Node: DenyFwdMask74554 Node: DenyFwdReqAccess74886 Node: DenyUncondFwdReqAccess75261 Node: EchoMailFlavour75678 Node: Export76163 Node: ForwardAreaPriority76590 Node: ForwardPkts77091 Node: ForwardRequestFile78475 Node: ForwardRequestMask79007 Node: ForwardRequests79585 Node: FileBox80134 Node: FileBoxAlways80626 Node: Import81066 Node: Level81387 Node: Link81703 Node: LinkBundleNameStyle82125 Node: LinkDefaults82656 Node: LinkGrp83687 Node: LinkMsgBaseDir84175 Node: Mandatory84595 Node: Manual84955 Node: NoRules85291 Node: OptGrp85719 Node: OurAka86119 Node: PackAka86420 Node: Packer86978 Node: Password87449 Node: Pause87889 Node: PktSize88253 Node: PktPwd88554 Node: ReducedSeenBY88996 Node: RemoteRobotName89696 Node: Areafix Keywords90110 Node: Area Definition90281 Node: BadArea90972 Node: DupeArea91468 Node: EchoArea92001 Node: EchoAreaDefaults97185 Node: LocalArea99022 Node: NetArea99601 Node: NetMailArea99920 Node: ReadOnly100464 Node: WriteOnly101267 Node: Carbon Copy101641 Node: CarbonAddr103187 Node: CarbonAndQuit103613 Node: CarbonCopy104428 Node: CarbonDelete104946 Node: CarbonExcludeFwdFrom105398 Node: CarbonExtern105756 Node: CarbonFrom106948 Node: CarbonFromArea107530 Node: CarbonGroups108174 Node: CarbonKeepSb108708 Node: CarbonKludge109162 Node: CarbonMove109733 Node: CarbonOut110318 Node: CarbonReason110660 Node: CarbonRule111365 Node: CarbonSubj113800 Node: CarbonText114324 Node: CarbonTo114882 Node: ExcludePassthroughCarbon115449 Node: NetmailExtern115792 Node: Advanced Concepts117012 Node: Exit117707 Node: Suffixes118223 Node: Netmail118742 Node: ZoneGating119316 Node: Perl support120618 Node: Keyword Index125390  End Tag Table