XTick - File Forwarder for the Amiga Copyright (c) 1995 by Robert Williamson, FIDONET#1:167/104.0 ALL RIGHTS RESERVED This software is provided "as is", without warranty and/or guarantee of any kind. You may use and/or distribute this software and copies of it, as long as no alterations have been made, no files have been added to/omitted from the original distribution archive and no charge is asked for. This package may be freely distributed via BBSs, ADS, AmiNet and software libraries such as Fred Fish's and Aminet CD-ROMs, and other similar electronic channels. This package may NOT be distributed SAN, Disk magazines, PD libraries or BBSs and Services that charge extra for file transfers without authorization from, and compensation to the author. What is a File Forwarder? File Forwarder is the generic class name for programs used to automatically distribute files via an FidoNet Technology Network (FTN). The general specifications for File Forwarders were first proposed in the document FSC-0028.txt. However, this document is simply a discussion and does not cover what is now known as Common Practice, the real-world operation of File Forwarders. Included in the distribution is bw_forward.txt, a proposal for File Forwarding that has been or will be submitted to the FTSC. XTick meets all the primary requirements and supports most, if not all, of the proposed extensions for the TIC file format as well as many that are in common usage. A File Forwarder performs three basic FTN functions: - Hatchs a program into a FileEcho - Processes a TIC file for a file received in a FileEcho - Forwards TIC'ed files to downlinks XTick does much more. Status of This Release: This is BETA and given the great number of features it probably has bugs. In the case of a serious ERROR, and if the error conditions allow, XTick WILL AUTOMATICALLY WRITE A MESSAGE to ME at either FIDONET#1:167/104.0 or AMIGANET#40:600/104.0. BE SURE that you have set these addresses as ROUTED in your tosser or packer/router config BEFORE running XTick, so as not to incure long-distance charges. The LogLevel for log messages is presently set quite low in order to display a lot of progress info for debugging. At a LOGLEVEL of 3, the log will grow very fast. At a later date, loglevels will be changed to insure a minimal amount of info for normal processing. This documentation may not be always up to date, as features are being added at a very quick pace. Refer to the example XTick.cfg for config changes and the XTick USAGE display for command line changes. The ToDo list is changed daily, items being either implemented and removed from the list or new items added. There is no obligation on my part to implement anything in the ToDO list unless a contract to do so is entered into by myself and a customer. Copyrights: XTick, XTick.doc and the format of XTick.cfg are all, Copyright (c) 1995 by Robert Williamson, FIDONET#1:167/104.0 XTcrc is based upon CRC32, originally compiled by Juergen Hermann of 2:507/646 which was based upon the crc routines from rz/sz. The following copyrights are extracted from that source and are hereby acknowledged. updcrc macro derived from article Copyright (C) 1986 Stephen Satchell Programmers may incorporate any or all code into their programs, giving proper credit within the source. Publication of the source routines is permitted so long as proper credit is given to Stephen Satchell, Satchell Evaluations and Chuck Forsberg, Omen Technology. XTcrc here has been modified and optimized for speed and to be PURE and residentable. It will return a CRC of 00000000 instead of text messages on error. Why another File Forwarder program? I have been using Peer's Ftick for a few years, but have been unhappy with the lack of development and bugfixs. Some of unresolved bugs forced me to add a frontend for it. For example, FTick chokes on tic keywords and addressing modes that it does not know. I found that Ftick's multi-ftn handling to be poor, forcing me to use separate config files for each FTN. FTick could also not handle primary files renamed by the mailer when a dupe was already present, nor would it cleanup TIC files that were not sent when the same file was being re-hatched. Since FTick used only the old Flow File system, I also had to run either the Shelter flocvt or the XQ FLO-convertor after every FTick run on my xferq system. I was also not able to execute more than one command on Hatch or Tick. There were cases where I wanted to execute both the GLOBAL and AREA commands. After writing FQuery, I found myself at the point where the File Forwarding function was the only FTN function left for which I did not have source or did not write myself. As I had been thinking I long time about what I required in a File Forwarder, I decided to implement my requirements. It wasn't easy, the version number reflects the number of times a Make was done. Raid Support: Other than the REPORT function, XTICK does not perform any other RAID-type function. A companion utility, XRAID, is available, which uses the same configuration file as XTick. Requirements: WB 2.1 MINIMUM rexxdossupport.library v2.3 The AmigaOS commands List and Assign must be either resident or on the path. Features: o pure, residentable o multi-ftn o supports BOTH XferQ and Flow File systems o handles files renamed by mailer's extension change o deletes and de-queues old TICs when re-hatching same file o can do renames instead of delete/overwrite on Hatch and Replace o can perform FileName Conversion per SITE with optional Fullname o permits cross-hatch based upon filespecs from one Area to another o supports extended tic format (To,LDesc,Size,Magic,Areadesc,Fullname,Via,etc) o does not fail on unknown tic file keywords o can strip seenbys that are outside ftn, zone or net o can save Created as Vias for File Forwarder tracking o GLOBAL options to enable tic extensions with SITE disable overrides o can use 3d/4d, or FQFA tic format per SITE o advanced config format allows multiple keywords per line o can hatch with Magic, Replaces and Description via commandline o can hatch with a ticinfo file to include in tic file o GLOBAL options can be overidden by SITE or AREA options o SITE options can be overidden by SITE's AREA options o SITE and AREA passwords o GLOBAL post announcements for tick or hatch in multiple echos o per AREA post announcements for tick or hatch in multiple echos o config report to all or one SITE o extensive command parameter substitution available o configurable commands w/substitution for packing and importing o configurable GLOBAL commands w/substitution for tick or hatch o configurable AREA commands w/substitution for tick and hatch o AREA commands can be executed INSTEAD or IN ADDITION to GLOBAL o AREA commands can be executed BEFORE or AFTER GLOBAL comamnds o multiple commands can be defined for all types o displayable SITE config, AREA config and GLOBAL config o send .tic, fileattach pkt, both or neither per SITE AND per AREA o notification message for all errors in tic files o will also use RoofLog function host if active. See ToDO for future features. Installation: Be sure that your dearc command preserves attributes. If it does not, run: > Protect Mail:XTick pwerd > Protect Mail:XTcrc pwerd Copy XTick and XTcrc to somewhere on your path, MAIL: is nice. For faster loading, you can pre-load them as resident with these commands: > Resident Mail:XTick ADD > Resident Mail:XTcrc ADD Be SURE you do not have any other programs called XTick or XTcrc on your path. If you do not have a CFG: assign, create one and place your XTick.CFG there. Otherwise, you will have to specify the CFGFILE path on the commandline. If you are going to do it anyways, then a good idea is to copy the config to RAM: in your startup and use CFGFILE RAM:XTick.CFG in your XTick command lines. This will speed up operations as bit more. Copy rexxdossupport.library and rexxplslib.library to any directory of your LIBS: assign. Copy Start-ARexx to S:. Then remove the call to RexxMast in your S:Startup-Sequence and add a call to S:Start-ARexx to your S:User-Startup. Copy RPStart#? to your SYS:WBstartup directory. Mailer Installation: Shelter Mailers: Since Shelter Mailers use inbound file notification per file type, you have a choice on how to invoke XTick. Depending upon the cpu speed of your system you can EITHER process TICs WHENRECD or AFTERSESS. WHENRECD: TICKRECD "Run >NIL: XTick TICKFILE $(indir)$(infile)" AFTERSESS: TICKSESS "Run >NIL: XTick SCANTIC $(indir)" TrapDoor and similar: TrapDoor does not provide any sort of notification. Therfore you will have to scan your inbound for TIC files. I am not aware of the features of GMS and XenoLink mailers. Add the following to your AfterSession script: Run >NIL: XTick SCANTIC path 'path' should be your Inbound directory. JamMail: Same as TrapDoor. Others: Let me know, I'll add it here. Templates: XTick uses standard AmigaDos Templates for both command line arguments and for many configuration items. See Xconfig.DOC for explanation of templates used. Command Line Usage: The various modes allows use of XTick in WhenRecd, TurnAround and AfterSession commands as well as in a cli. The template is divided into functional sets. A Set is defined by the first parameter you give. DEBUG and CFGFILE may be used with any set, but may not be the last items in the command line if a /F template is specified in the set. Template parameters that are not valid for the set are ignored. The template below shows each Set. Any of the addressing formats defined below can be used on the command line. Template: SHOWCFG/S SHOWSITE/K,SHOWAREA/K, REPORT/K, SCANTIC/K,NOCRC/S, TICKFILE/K,NOCRC/S HATCHFILE/K,FILEAREA/K,TICINCLUDE/K,MAGICNAME/K,REPLACE/K,DESCRIPTION/K/F DEBUG/S,CFGFILE/K (all sets) SCANTIC directory_to_scan [CFGFILE ...] [DEBUG] [NOCRC] Scans directory for tic files and processes any found. TICKFILE ticfilefullpathname [CFGFILE ...] [DEBUG] [NOCRC] Processes the received TIC file. HATCHFILE FullPathName FILEAREA FileEchoArea [CFGFILE ...] [DEBUG] ... ... TICINCLUDE IncludeFile MAGICNAME magicname REPLACE filename ... ... DESC description of file [CFGFILE ...] [DEBUG] Hatches the file specified into the AREA specified to all sites configured for that AREA. TICINCLUDE is OPTIONAL and is a file containing extra TIC info to include in TIC files. (See Tic Include File section for vaid keywords than can be included) This file MUST have an extension of ".TINC". MAGICNAME is OPTIONAL and if used will add the 'Magic' field to TIC files. REPLACE is OPTIONAL and if used will add the 'Replaces' field to TIC files. DESCRIPTION is OPTIONAL and will be used instead of filenote or DESC field in TICINCLUDE NOCRC This switch forces XTick to accept files with BAD or MISSING CRC's SHOWCFG [CFGFILE ...] [DEBUG] Displays configuration SHOWAREA filearea [CFGFILE ...] [DEBUG] Display configuration for an FILEAREA SHOWSITE address|ALL [CFGFILE ...] [DEBUG] Display options for a site and areas to which it is connected REPORT address|ALL [CFGFILE ...] [DEBUG] Sends a report to site. If site is ALL, this will send reports to ALL configured sites except those configured for NOREPORT. usage in cron: 30 03 * * 1 XTick REPORT ALL CFGFILE fullpathname Defines the fullpath name for the XTick configuration file. The default is CFG:XTICK.CFG DEBUG Displays VERBOSE info and is valid with each operating mode. When DEBUG is set, the window is not opened, everything is displayed in the current CLI. The amount of info displayed is MASSIVE. In the case of reported bugs, a copy of this will be required. Configuration: The default fullpathname of the configfile is CFG:XTick.cfg. You can specify an alternate fullpathname on the command line. Please see Xconfig.DOC for explanation of config file format, keywords and templates. Addressing: Addresses can be specified in a number of formats in both the config and on the command line, the preferred being FQFA. The minimum acceptable is 3d (z:net/node.) for FidoNet and FTNS listed in FTNLIST. All other FTNs must be specified as 5D or FQFA. Address Formats: FQFA - ftn#zone:net/node.point (all must be present) 5d - zone:net/node[.point]@ftn (if no point, 0 is assumed) 4d - zone:net/node.point 3d - zone:net/node Reports: If you wish to send reports on a weekly basis to all your links that are not marked with NOREPORT, add the following to your cron config: 30 03 * * 1 XTick REPORT ALL Reports will be written as packets in the global OUT directory and packed/routed by the defined PACKER command. Notification Messages: If an error is encountered processing a TIC file, a message will be sent to the sending site with a copy of the main parts of the TIC file and an indication of the error. The messages will be written as packets in the global OUT directory or the AREA's OUT over-ride and will be packed/routed by the defined PACKER command. In the case where an area does not exist or we are not configured for an area, a message will also be sent to ourselves. EXEC Commands and AREA Overides: The following commands can use command parameter expansion templates. Multiple commands can be defined within each type. PACKER - GLOBAL, no AREA overide IMPORTER - GLOBAL, no AREA overide The parameters of the above two will be related to the LAST AREA processed. The parameters of the following will be related to the CURRENT area. HATCHEXEC - GLOBAL default TICKEXEC - GLOBAL default AHATCHEXEC - AREA override ATICKEXEC - AREA override Multiple Commands: Multiple commands are created by separating each with a '»'. This is ALT-0 on NA keyboard. It will be displayed as a double greater-than character or a double top-right corner character, depending upon your font. When the » is detected in a command string, it is converted internally to a linefeed. This function requires that the AmigaDos shell be available. Eg: HATCHEXEC "UpdateArea %p»echo >>ram:freq.lst %n %m" This would execute my command to update the files.bbs for that path specified and then append the filename and fullpathname to my freq list. This of course can be easily done in a simple script. However, there may be cases where one wants something different for a particular area, and does not wish to write special scripts for such areas. AREA EXEC Overrides: AHATCHEXEC "[+][+]" ATICKEXEC "[+][+]" If an 'A*EXEC' AREA override is defined within an AREA structure, the command only applies to that AREA. If the GLOBAL is defined (at the beginning of the configuration file), that command is executed on receipt or hatch of files for every AREA that does NOT have an 'A*EXEC' override. If the AREA override is not specified, the GLOBAL command will be executed. If the AREA overide is set to OFF, the GLOBAL command will NOT be executed (similar to Ftick's NOEXECUTE). If the AREA overide does specify a command, it will be executed INSTEAD of the GLOBAL command unless prefixed or suffixed with a '+'. If the AREA overide command is preceeded by a '+', the GLOBAL command is NOT over-ridden. The GLOBAL command WILL be executed BEFORE the AREA command. eg: ATICKEXEC "+UpdateArea %p" If the AREA overide command is followed by a '+', the GLOBAL command is not over-ridden. The GLOBAL command WILL be executed AFTER the AREA command. eg: ATICKEXEC "UpdateArea %p+" NOTE: this feature may not work properly if you are using a Shell other than AmigaDOS. Tic Include File (TINC file): The HATCHFILE TICINCLUDE option of XTick and the TICMODES option USETI allow one to specify a file to include in the created tics. This file would be used to add keywords not normally passed though or created by XTick, to add long descriptions and other information. The file specified on the command line is used if found, otherwise, if USETI is true and a TINC file is found in the file area, it will be used. Keywords in this catagory include: APP [programname] [data] Release [UnixTimeStamp] Author [name] Source [authors_address] Date [unixtimestamp] See "Format of a TIC file" below or forward.txt for description of these keywords. Desc [file description] If found in TICINCLUDE file, it will be used instead of the filenote. This allows XTick to be independant of the many formats used to store file descriptions. LDesc [multi-line file description] If found in TICINCLUDE file, and the TICMODE USEMLD is TRUE and the SITE option NOML is FALSE, the LDESC lines will be copied to the TIC file for that site. This allows XTick to be independant of the many formats used to store file descriptions. Cross Hatching: Cross Hatching is used to forward particular files from one file echo to another. This is most usually used when a fileecho is restricted. For example, a net hub which receives the FileEchos BACKBONE and FILEBONE generally does not forward these echos to anyone. However, they may specify that certain files from these FileEchos be fowarded in a local fileecho. For the above echos, an example would be: AREA BACKBONE APATH ...... CROSSHATCH ECHOS167 POL#? Elist#?.#? FIDONET.N? FIDOSTAT.NA AREA FILEBONE APATH ...... CROSSHATCH ECHOS167 FILEBONE.N? FILEBONE.ECH Of course, an AREA setup must exist for the tagname specified in CROSSHATCH. Uplinks: When a downlink requests an area that we do not have, XTick will search for the AREA in the configured FILEBONE listing. If the area is found, XTick will then search the configured UPLINKS for a site that is connected to the FDN (File Distribution Network) for that area. If one is found, a message is sent to the area MANAGER of that site, requesting the area. FileBone: The FileBone is a network of sites, similar to the Echo BackBone, except these site distribute FileEchos. The FileEchos distributed by the FileBone are listed in the file FILEBONE.NA which is updated weekly and distributed in the appropriately named FileEcho, FILEBONE. The format of FILEBONE.NA is documented and XTick can read this format to find requested fileechos. The particular fields XTick uses are the names of the fileecho and the FDN and the descriptions of the fileecho and FDN. Auto Creation of New Areas: XTick will create new areas when a file is received for an unknown AREA from a site that has the AUTOADD permission when the ALLOWCMD template item AUTOADDAREAS is specified. The new directory will be created in the AUTOADDPATH defined, using the name of the fileecho as the directory name. If the new area is found in the RAIDDATA file created by XRaid (a function of FWDREQ permission), the sites listed for that area will be also added to the AREA config. XRaid will remove the entry for the new area from the RAIDDATA file. A minimal configuration will be written for the area. Outbound Queue Management: XTick allows the use of either XferQ.library or the old Flow File system for outbound management. This is controlled by the configuration keyword, QTYPE. Only two modes of disposition are used, Leave and Delete. Only two priorities are used, Hold and Route. The Route priority allows your packer (XFQ) or mailer (FLO) to select the actual transmission priority (eg. Crash, or Normal). QTYPE FLO Disposition Priority AsName FileToSend # Leave F or H done by mailer .TIC ^ Delete F or H done by mailer .HUT ^ Delete H done by mailer .OUT ^ Delete F done by mailer XPRI route hold The XPRI keyword defines the values used for Route and Hold priorities. The range is -127 to +127. These should be the same values as used in your mailer. You can set Routed to the same value you use for Crash or Normal. Tic files are automaticaly set to 1 less than the configured priority. Valid only for QTYPE XFQ The flow file is created in the defined TIC directory. Packets (.OUT and .HUT) are NOT added to the flow file. Finding, creating the PKT name to transmit and sending of these is a required function of the MAILER in a Flow File system. If your mailer send the files as is (ie with 4d or 5d filenames), it is broken. QTYPE XFQ Disposition Priority AsName FileToSend L Leave config automatic (FNC conversion available) .TIC D Delete config-1 automatic .HUT D Delete config automatic .OUT D Delete config automatic FileName Conversion: When a site is set for FNC, the file name is converted to an msdos 8.3 format. The converted filename is placed in the FILE field of the tic file and the original filename is placed in an added field, FULLNAME. Since xferq system allows one to specify the transmitted filename, no further porcessing is needed. In the FLO File System, the file is copied with the converted name to the FLOWFNC directory. Future versiona may use links instead. Inbound Tic Processing and Security: XTick offers many security checks, so that no unwanted files are posted and no "illegal" files are passed on. When processing a TIC file, the following actions are performed in the specified order with the specified results. area does not exist: files moved to BAD, site notified primary file does not exist: If a file exists with the same name, but the last character is changed and has the correct crc, it is renamed to the proper name and processed. Otherwise, we assume file has not been received yet. site notified, tic is left in inbound. FROM address in FILENOTES of TIC and primary files are not the same: Presently, this is LOGGED ONLY FROM address not found in SEENBYs: files moved to BAD, site notified site is not configured: files moved to BAD, site notified site is not configured for area: files moved to BAD, site notified site does not have Hatch permission: files moved to BAD, site notified our address is already listed in ORIGIN or PATH fields: files moved to BAD, site notified tic includes a MAGIC keyword but field is empty: site notified tic includes an AREADESC keyword but field is empty: site notified tic includes a TO keyword but field is empty or does not match our HOST address for the AREA: site notified SIZE field missing, 0 or empty: site notified Actual Size does not match SIZE field: If a file exists with the same name, but the last character is changed and has the correct crc, it is renamed to the proper name and is processed. Otherwise, files moved to BAD, site notified. CRC field is missing, 0 or empty: site notified Actual CRC does not match CRC field: If a file exists with the same name, but the last character is changed and has the correct crc, it is renamed to the proper name. Otherwise files moved to BAD, site notified. PW field in missing or empty: files moved to BAD, site notified. Password does not match PW in tic: files moved to BAD, site notified. Checks NOT done when TIC Processing: sending site matchs "From" in the tic sending site not in the Seenby's in the tic The problem: These would involve either the mailer passing the primary address of the site (easily done with wpl mailers inbound notification feature) or checking the filenotes of the tic and primary files (the only way to do it with TrapDoor and similar mailers). In either case, this check does not take routing into account. ie: the site may hatch or tick passthru at 40:/0 but route all files via its' AKA 40:6/1 (real world example). The primary AKA would not necessarly appear in the Tic file. Outbound Security: When Hatching or forwarding, the following checks are performed in the specified order with the specified results. area not found: error exit hatch not permitted in area: error exit HATCHFILE path not same as AREA path: If HATCHFILE exists in AREA path and HATCHOVERWRITE is FALSE, the , existing file is renamed to *.OLD and file moved to AREA path. no CRC: CRC is calculated and included in new TIC no SIZE: SIZE is calculated and included in new TIC If DESC on commandline,it is used and included in new TIC else if DESC in TICINCLUDE, it is used and included in new TIC else DESC from FileNote is used included in new TIC , if none, tic DESC is set to 'No description available' if TICINCLUDE exists, it is added to TIC file, there is NO CHECKING of contents for duplicate or invalid keywords. Exception: If a DESC field is found, it is used. if MAGICNAME passed on commandline, MAGIC field added to TIC if REPLACENAME passed on commandline, REPLACES field added to TIC SEENBYs are checked for each SITE configured for the AREA, skipped if found, added to SEENBY if not if no SITE configuration for a SITE listed in AREA ECHOTO, site is skipped If NOSEND or ISFEED is true for a SITE in the AREA, site is skipped Format of a TIC file: Keywords are case-insensitive and order independant. There are no colons on keywords. Each line is terminated with CR LF pair. Keywords not understood are to be passed-though. All Keywords are passed through when processing, EXCEPT those marked with a ^. In some cases, a replacement is created. keywords marked with a * are REQUIRED when hatching and when processing keywords marked with a # are CREATED when hatching or processing *# Area [AreaName] the TagName of the file area. *# Areadesc [description of area] OPTIONAL a short (80 chards) description of the file area. *# File [File being sent] the name of the file being sent, no path ^# Fullname [original filename before FNC] OPTIONAL FNC only *# Crc [CRC-32 in hex] crc of the file being sent, 8 hexadecimal characters *# Origin [Address] Site where file entered the fileecho *^# From [Address] [Pwd] Site that is forwarding the file to the next site Pwd is optional and rarely used. Pwd is not processed nor passed through. To [Address] OPTIONAL Site to which this TIC and the file is being sent. This field is neither created nor passed through. *^# Created [Program Banner] File Forwarder which created the TIC file *# Path [Address] [timestamp] [date and time] SIte which has forwarded the file TimeStamp, date and time is that when the Site received and Processed the file. * # Seenby [Address] Site which has received the file. There are multiple lines of Seenby and they are unordered. * Pw [password] Site or Area password. This is case-insensitive and may be 6 to 8 characters in length. Magic [MagicName] OPTIONAL Name under which the file can be FREQed from the site listed in FROM. This is NOT passed though when ticking. This field can be entered in a TicInclude file or specified on HATCHFILE commandline. Replaces [FileName] OPTIONAL This field can be entered in a TicInclude file or specified on HATCHFILE commandline. # Desc [Description] Description of the file, limited to 80 characters LDesc [multiple lines] The long description of the file. This keyword is currently only supported by ALLFIX, FileMgr and XTick. The long description is usually a more detailed version of the normal description and normally consists of several lines. LDESC does NOT replace DESC, it is used IN ADDITION to the short description. This field can be entered in a TicInclude file. # Size [Bytes] Length of the file in bytes # Date [FileDateStamp] DateStamp of the file. Can be date of creation of archive. This field can be entered in a TicInclude file. ^ APP [program] [Application Specific Information] This field can be entered in TicInclude file. Release [UnixTimeStamp] Date when file is TO BE released. Ususally used by SDS, but can be used by ADS as well. This field can be entered in a TicInclude file. Author [name] Name of the author of the software being hatched. This field is not applicable to Newsletters, Nodelist and Diffs and the like. This field can be entered in a TicInclude file. Source [authors_address] FTN address of the Author. Not necessary the same as the ORIGIN hatch site nor even an FTN address.. This field can be entered in a TicInclude file. Terminology: FTN - Fidonet Technolgy Network, such as FIDONET or AMIGANET. Used interchangably with the term DOMAIN. FNC - FileName Conversion, process of converting filename to msdos 8.3 format for transmission. FQFA - Fully Qualified FTN Address, the format is FTN#Zone:Net/Node.Point CRC - Cyclic Redundancy Check, method to determine whether some data has been altered. CRC-32 is used in File Forwarding. XferQ - a multi-tasking and network independant method of managing the outbound queue. This method is used by the majority of Amiga Mailers, such as Porticus, JamMail, Norm, Umbrella, Gazebo, ROCK, POP, JAZ, RAP as well as my own private Roof Mailer. FLO - a single-tasking file-based method of outbound queue management. This msdos-derived method uses files that contain the fullpathnames of files preceeded by a Disposition flag. This method is used by only a few Amiga Mailers, such as TrapDoor, Xenolink and GMS. TIC - a file that contains control information for the File Forwarding system. These files are named xxSTAMP.TIC, where xx is the first two letters of the File Forwarding program name and stamp is a unixdate stamp trucated to 6 characters. UTC - Universal Time Coordinated, the time at the 0o meridian (Greenwich); previously called GMT ToDO: (in no particular order) - allow replacement of MAGIC name when tic forwarding, would require access to freq.lst config or duplication of freq list magic config in XTick.cfg. - add + prefix/suffix option to Area A*POST ..maybe - Add DATE keyword - FILE timestamp or date of archive creation - option to create aminet readme when hatching - use file links for FLO Fnc files.