home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / modem.madness / SMMNETML / ITR102.ZIP / ITRACK.DOC < prev    next >
Encoding:
Text File  |  1993-03-14  |  88.2 KB  |  2,703 lines

  1.  
  2.  
  3.     ITRACK                           1
  4.  
  5.  
  6.  
  7.  
  8.     -------------------------------------------------------------------
  9.  
  10.     ITRACK 1.0          A Messagetracker or more ?         14.Feb.1993
  11.  
  12.                            A product of IMAIL INC
  13.  
  14.     -------------------------------------------------------------------
  15.  
  16.     (C) by Frank Prade 1992, Munich,
  17.  
  18.     Fido    : 2:246/55.0
  19.     Virnet  : 9:494/0
  20.     IntlNet : 57:4989/105
  21.  
  22.  
  23.  
  24.  
  25.                     -------->  IMPORTANT !!!  <---------
  26.  
  27.  
  28.  
  29.  
  30.     If the program reports an error or does not  work  properly,  please
  31.     check the setup first. If you cannot  determine  the  error,  please
  32.     let me know (with as much details as you can give me). If  you  have
  33.     other reports, proposals, suggestions, please let me know.
  34.  
  35.     ITRACK                           2
  36.  
  37.  
  38.  
  39.  
  40.     ──────────────────────────────────────────────────────────────────
  41.             COPYRIGHT
  42.     ──────────────────────────────────────────────────────────────────
  43.  
  44.     This software and anything enclosed in the original archive are
  45.     protected by both German and international copyright law and
  46.     treaty provisions.
  47.  
  48.     ITRACK is NOT Public-Domain or Freeware, it is released as
  49.     Shareware. If you intend to use this program after a trial
  50.     period of 30 days, you must register ( see REGISTER.DOC ) your copy
  51.     of ITRACK or stop using it.
  52.  
  53.     You are entitled and encouraged to give this program together with
  54.     its documentation to anybody, if you do not change the contents
  55.     of the archive or the program itself. Distributing of modified
  56.     versions is prohibited.
  57.  
  58.     You are not allowed to charge for passing the program to another
  59.     person or system.
  60.  
  61.     The distribution of the program by professionals is prohibited (who
  62.     will violate one of the above restrictions), except you have the
  63.     prior written permission of the author.
  64.  
  65.     Disclaimer and Warranty :
  66.  
  67.     This software is provided AS IS without any warranty, expressed or
  68.     implied, including but not limited to fitness for a particular
  69.     purpose.
  70.  
  71.     The author will not be liable for any direct or consequential
  72.     damages due to loss of data or any other reason, the person using
  73.     the software bears all risk as to the quality and performance of
  74.     the software.
  75.  
  76.     If your local laws do not permit any of the statements made above,
  77.     or if you do not agree with any of them yourself, then you are not
  78.     licensed to use this program!
  79.  
  80.     Bug reports, questions and suggestions are appreciated by the
  81.     author and can be send to :
  82.  
  83.     Frank Prade,   2:246/55.0   @ Fidonet, Marder's Node
  84.                    9:494/0      @ Virnet
  85.                    57:4989/105  @ IntlNet
  86.  
  87.     ITRACK                           3
  88.  
  89.  
  90.  
  91.  
  92.     ──────────────────────────────────────────────────────────────────
  93.             TRADEMARKS and COPYRIGHT's
  94.     ──────────────────────────────────────────────────────────────────
  95.  
  96.             The following programs mentioned in this documentation are
  97.             copyrighted.
  98.  
  99.                Turbo Pascal 6.0   Borland International
  100.                Tosscan            Joaquim H. Homrighausen
  101.                IMAIL <= 1.35      Fabiano Fabris
  102.                IMAIL > 1.35       Imail Inc.
  103.                Remote Access      Andrew Milner
  104.                SuperBBS           Aki Antmann
  105.  
  106.  
  107.  
  108.  
  109.     ------------------------------------------------------------------
  110.             HISTORY
  111.     ------------------------------------------------------------------
  112.  
  113.  
  114.     1.0     This first Release Version
  115.  
  116.     1.0 /G?? look into History.txt for Gamma History Changes
  117.  
  118.     ITRACK                           4
  119.  
  120.  
  121.  
  122.  
  123.                                   Overview
  124.  
  125.     1          General                                               7
  126.     1.1        Requirements                                          7
  127.     1.2        General Syntax                                        7
  128.     1.3        Filepaths                                             8
  129.     1.4        Environment Variables                                 9
  130.     1.5        TIMEZONE Environment Variable                         9
  131.     1.6        Expandable Strings                                   10
  132.     1.7        Wildcards                                            10
  133.     1.8        Nodenumbers                                          10
  134.     1.8.1      Nodenumber matching                                  10
  135.     1.8.2      Templates                                            11
  136.     1.9        Updating fido style messages (ITRTMP.#)              11
  137.     2          Syntax                                               12
  138.     2.1        General Configuration Statements                     12
  139.     2.1.1      LOGFILE [<logfilename> [<logfileintros>]]            12
  140.     2.1.2      TEMPLATEPATH <Path-Name>                             13
  141.     2.1.3      INCLUDEPATH <Path-Name>                              13
  142.     2.1.4      TIMESTAMPPATH <Path-Name>                            13
  143.     2.1.5      TIMEZONE <Offset> [<Begin> <End>]                    13
  144.     2.1.6      MAINADDRESS <mainaddress> [<domain> [<pointnet>]]    13
  145.     2.1.7      SHARING Yes|No|ja                                    14
  146.     2.1.8      BINKLEY Yes|No|ja                                    14
  147.     2.2        DATA <datatype> [<blockname>]                        14
  148.     2.2.1      DATA NODELIST [<blockname>]                          15
  149.     2.2.2      DATA ADDRESS [<blockname>]                           16
  150.     2.2.3      DATA READDRESSLIST [blockname>]                      16
  151.     2.2.4      DATA READDRESSNAME [<blockname>]                     17
  152.     2.2.5      Data ROUTING <blockname>                             17
  153.     2.2.6      DATA FDSEMAPHOR [<blockname>]                        18
  154.     2.2.7      DATA NAME [<blockname>]                              19
  155.     2.2.8      DATA PASSWORDNAME [<blockname>]                      21
  156.     2.2.9      DATA PASSWORDADDRESS [<blockname>]                   22
  157.     2.2.10     DATA ADDRESSNAME [<blockname>]                       22
  158.     2.2.11     DATA ADDRESSPACKER [<blockname>]                     22
  159.     2.2.12     DATA LENGTHADDRESS [<blockname>]                     23
  160.     2.2.13     DATA MESSAGEAGE [<blockname>]                        23
  161.     2.2.14     DATA MESSAGELENGTH [<blockname>]                     24
  162.     2.2.15     DATA PROCESSAGE [<blockname>]                        24
  163.     2.2.16     DATA SYSTEM [<blockname>]                            25
  164.     2.2.17     DATA POINT [<blockname>]                             25
  165.     2.2.18     DATA PATH [<blockname>]                              26
  166.     2.2.19     DATA ALIAS [<blockname>]                             26
  167.     2.2.20     DATA FILEAREAS <blockname>                           27
  168.     2.2.21     DATA ATTRIBUTE [<blockname>]                         27
  169.     2.2.22     DATA STRINGS [<blockname>]                           31
  170.     2.2.23     DATA TIMESLOT [<blockname>]                          31
  171.     2.2.24     DATA DAYOFWEEK [<blockname>]                         32
  172.     2.2.25     DATA DATE [<blockname>]                              32
  173.  
  174.     ITRACK                           5
  175.  
  176.  
  177.  
  178.  
  179.     2.2.26     DATA DATEADDRESS [<blockname>]                       32
  180.     2.2.27     DATA EVENT [<blockname>]                             33
  181.     2.2.28     DATA FILES [<blockname>]                             33
  182.     2.3        DATA MACRO                                           34
  183.     2.4        Data grouping statements                             34
  184.     2.4.1      ANDGROUP [<blockname>]                               34
  185.     2.4.2      ORGROUP [<blockname>]                                35
  186.     2.5        FIDOAREA <path> <area-name> [<systemlist>]           35
  187.     2.6        PKTAREA                                              35
  188.     2.7        TEXTAREA <filepath> <area-name> [<systemlist>]       36
  189.     2.8        COPYATTACH <PATH>                                    36
  190.     2.9        DELTRUNCATTACH                                       37
  191.     2.10       PACKER <packername> [<packer call>]                  37
  192.     2.11       $INCLUDE <Filename>                                  37
  193.     2.12       RENUMBER <areaname>                                  37
  194.     2.13       PACKPKT [<semap>] <pktarea> <netmail> [<adresspacker>]37
  195.     2.14       Programming statements                               38
  196.     2.14.1     SCAN <areaname> [<timestamp>]                        38
  197.     2.14.2     SELECT[TO]|[FROM] <data> [..<data>]                  39
  198.     2.14.3     POINTTO <point datablock>                            40
  199.     2.14.4     POINTFROM <Point-Data-Block>                         40
  200.     2.14.5     KILL                                                 41
  201.     2.14.6     MOVE <areaname>                                      41
  202.     2.14.77    COPYAREA <areaname>                                  41
  203.     2.14.8     COPYGROUP <destination datablock>                    41
  204.     2.14.9     CREATEGROUP <areaname> <destination datablock>       42
  205.     2.14.10    Reminder <areaname> <DATEADDRESS block>              42
  206.     2.14.11    READDRESSTO <readdresslist> [<template>]             43
  207.     2.14.12    READDRESSFROM <readdresslist> [<template>]           43
  208.     2.14.13    BOUNCE [<template>]                                  44
  209.     2.2.13     FORWARD [<template>]                                 44
  210.     2.14.14    ADDHEADER [<template>]                               44
  211.     2.14.15    SETMESSAGETIME                                       44
  212.     2.14.16    EXEC <expandable string>                             44
  213.     2.14.17    EXECONCE <expandable string>                         44
  214.     2.14.18    TOUCH <expandable string>                            45
  215.     2.14.19    TOUCHONCE <expandable string>                        45
  216.     2.14.20    CHECKPATH <pathlistname>                             45
  217.     2.14.21    FATTACH [<maxcount> [<maxlength>]] <paths|aliases> ..45
  218.     2.14.22    FILEMOVE   <Fileareas Blockname>                     46
  219.     2.14.23    ADDINTL                                              46
  220.     2.14.24    ZONEGATE                                             47
  221.     2.14.25    CREATERETURN [<Template>]                            47
  222.     2.14.26    CREATEFORWARD [<Template>]                           47
  223.     2.14.27    CREATEMAIL  <Expandable String>                      47
  224.     2.14.28    SPLIT <length>                                       49
  225.     2.14.29    CHANGEFROM <Expandable String>                       50
  226.     2.14.30    CHANGETO <Expandable String>                         50
  227.     2.14.31    CHANGESUBJECT <expandable string>                    50
  228.     2.14.32    CHANGEATTR <expandable string>                       50
  229.  
  230.     ITRACK                           6
  231.  
  232.  
  233.  
  234.  
  235.     2.14.33    CLEARATTRIBUTE                                       50
  236.     2.14.34    SETATTRIBUTE <ATTRIBUTE blockname>                   51
  237.     2.14.35    EXTLOG [<expandable string>]                         51
  238.     2.14.36    LOGSTRING [<expandable string>]                      51
  239.     2.14.37    WRITESTRING <filename> [<expandable string>]         51
  240.     2.14.38    TOSSCANFIX                                           51
  241.     2.14.39    IMAILFIX                                             51
  242.     2.15       Block Statements                                     52
  243.     2.15.1     BLOCK [<blockname>]                                  52
  244.     2.15.2     CALL <blockname>                                     52
  245.     2.16       Possible Template Macros                             52
  246.     3          Calling Convention and Commandline-Parameters        56
  247.     A.         Credits                                              57
  248.  
  249.     ITRACK                           7
  250.  
  251.  
  252.  
  253.  
  254.     1          General
  255.  
  256.     Is ITRACK a messagetracker or what else ???
  257.  
  258.     I don't think it is. I think it's a toolbox to handle  messages  and
  259.     YOU will be able to program YOUR OWN  messagetracker  or  more  with
  260.     it. :-))
  261.  
  262.     But what is a messagetracker for ?
  263.  
  264.     The main purpose for a messagetracker is  to  determine  mails  with
  265.     unknown destination, and return them to the sender  because  of  the
  266.     costs  of  useless  transportation.  But  if  a  program  reads  and
  267.     analyzes the mail and writes them back, it would be nice to do  some
  268.     further processing like pointremapping, cosysop forwarding,  looking
  269.     for old messages or fixing the paths of routed files.
  270.  
  271.     ITRACK is designed to do the tasks you  want  in  a  flexible  means
  272.     programmable manner. That is maybe a problem  for  all  of  you  not
  273.     used  in  programming,  but  there  will  be  sample  configurations
  274.     available.
  275.  
  276.     ITRACK works with a script like configuration  file,  with  messages
  277.     running through  this  Script  like  a  program  counter  through  a
  278.     program. If new messages were created or  multiple  messages  in  an
  279.     area scanned then the attached block is executed with all  messages.
  280.     Datablocks have no effect on the message.
  281.  
  282.     Please think about that. ITRACK itself will do  nearly  nothing  for
  283.     his own.
  284.  
  285.  
  286.     1.1        Requirements
  287.  
  288.     At least you need a Computer running MS-Dos Version  3.2  or  above.
  289.     There should be a minimum of 200k free main  memory,  but  then  you
  290.     will not be able to  run  larger  configurations.  Recommended  free
  291.     memory is 350k, 512k preferred. If you have restrictions on  memory,
  292.     you may use the overlayed version.
  293.  
  294.  
  295.     1.2        General Syntax
  296.  
  297.     All lines beginning with a ';' will be  treated  as  comments,  also
  298.     all empty lines.
  299.  
  300.     All configuration tokens are case insensitive.
  301.  
  302.     ITRACK                           8
  303.  
  304.  
  305.  
  306.  
  307.     Throughout  the  documentation,  reserved  words   or   tokens   are
  308.     uppercase.
  309.  
  310.  
  311.      <......>        has to be replaced by the real data
  312.      [......]        optional data (or Parameters in a Macro Statement)
  313.      Data1 | Data2   Choice
  314.      (A,X,K)         A set of Characters for example XET
  315.      blockname       Reference of a named block.
  316.      datablock       A block containing data
  317.      #END#           Unique end of a block
  318.      #ELSE#          Unique end of a select block with else branch
  319.  
  320.     All lines except lines in datablocks  begin  with  a  special  token
  321.     followed by optional data or an #END#  or  #ELSE#  token,  ending  a
  322.     logical block.
  323.  
  324.  
  325.               Examples
  326.  
  327.               SELECT MY_OWN
  328.                COPYGROUP Cosysop
  329.               #ELSE#
  330.                POINTTO
  331.               #END#
  332.  
  333.  
  334.  
  335.  
  336.     1.3        Filepaths
  337.  
  338.     For your own security you should not define relative paths, but  you
  339.     may use environment variables in the configuration file.
  340.  
  341.     The default directory for ITRACK is  the  current  directory  or  if
  342.     specified  the  directory  where  the  ITRACK  environment  variable
  343.     points.
  344.  
  345.     The configuration  ITRACK  will  working  with  maybe  specified  on
  346.     commandline. If no commandline switch /C is  given  ITRACK  searches
  347.     for "ITRACK.CFG". If a path is specified with the  /C  switch,  this
  348.     path gets the default path.
  349.  
  350.     If the configuration is not found in the default path,  ITRACK  will
  351.     look in the path where the program is located.
  352.  
  353.     The path where the main configuration file is found,  then  will  be
  354.     the default path.
  355.  
  356.     ITRACK                           9
  357.  
  358.  
  359.  
  360.  
  361.     1.4        Environment Variables
  362.  
  363.     In the the configuration  file  it's  possible  to  use  environment
  364.     variables  as  parameters  for  string  data,  not  for  numbers  or
  365.     nodenumbers.
  366.  
  367.     The syntax is nearly the same as in batchprogramming: %<name>%
  368.  
  369.  
  370.               Example :
  371.  
  372.               Logfile %ITRACK%\ITRACK.LOG
  373.  
  374.               will be substituted by
  375.  
  376.               Logfile C:\ITRACK\ITRACK.LOG
  377.  
  378.  
  379.     with the assumption that there is a statement like the following  in
  380.     your startup batches.
  381.  
  382.                  SET ITRACK=C:\ITRACK
  383.  
  384.  
  385.     1.5        TIMEZONE Environment Variable
  386.  
  387.     Unless otherwise defined  by  the  TIMEZONE  (see  below)  statement
  388.     ITRACK reads and evaluates the TZ environment  variable  to  compute
  389.     UTC  (Universal  Time  Coordinated)  which  is  the  same   as   GMT
  390.     (Greenwich Mean Time). This time is used in  the  vialine  which  is
  391.     added when ITRACK processes a message for the first  time.  When  no
  392.     offset is given ITRACK assumes that  you  want  to  have  the  local
  393.     timezone in the vialine.
  394.  
  395.     If no TZ variable is given ITRACK cannot assume something about  the
  396.     timezone. In this case the timezonename in the Via-Line is skipped.
  397.  
  398.               Examples :       Local Time        Time in Vialine
  399.  
  400.               TZ=               20:25:13.19         20:25:13.19
  401.               TZ=CET-2          20:25:13.19         18:25:13.19 UTC
  402.               TZ=EST            20:25:13.19         20:25:13.19 EST
  403.               TZ=EST+5          20:25:13.19         01:25:13.19 UTC
  404.  
  405.     ITRACK                           10
  406.  
  407.  
  408.  
  409.  
  410.     1.6        Expandable Strings
  411.  
  412.     This is a string that is expanded during  runtime  with  message  or
  413.     other data the same  way  as  in  templates  and  used  for  further
  414.     actions.
  415.  
  416.     If you want to use a template macro  in  an  expandable  string  you
  417.     have to use  %%  to  circumvent  the  environment  expansion  if  an
  418.     environment variable of the  same  name  exists  while  reading  the
  419.     configuration.
  420.  
  421.               Example :
  422.  
  423.               Hi %%FROMNAME%%
  424.  
  425.  
  426.  
  427.     1.7        Wildcards
  428.  
  429.     If wildcards are mentioned while comparing  strings,  *  will  match
  430.     all number of characters  including  none,  and  ?  will  match  one
  431.     single character.
  432.  
  433.  
  434.     1.8        Nodenumbers
  435.  
  436.     Nodenumbers are written as : ZONE:NET/NODE.POINT
  437.  
  438.     If a field is missing the default value of 0 is assumed.  Throughout
  439.     the whole configuration there  will  be  no  implicit  assume  of  a
  440.     nodenumber field other than 0. For that if you  want  to  match  all
  441.     points you  have  to  explicit  write  something  like  "2:246/55.*"
  442.     except those cases where you are able to chose relaxed compare  with
  443.     the tilde character.
  444.  
  445.  
  446.     1.8.1      Nodenumber matching
  447.  
  448.     Because of  the  needs  of  some  sysops  i  have  implemented  some
  449.     extended matching functions on nodenumbers used in  DATA  blocks  to
  450.     select messages.
  451.  
  452.     For this i am using implicitly all defined nodelist's  (sorry  about
  453.     that).
  454.  
  455.     There are two special wildcards you may use in nodenumbers.
  456.  
  457.     The '*' character is used to match on all numbers and is  equivalent
  458.     to -1.
  459.  
  460.     ITRACK                           11
  461.  
  462.  
  463.  
  464.  
  465.     The '#' character is used to define  whole  regions  or  hubs  in  a
  466.     special manner. If the '#' is encountered at the  node  position  of
  467.     the nodenumber the netnumber must be a regionnumber or '*' and  then
  468.     all  Nodes  in  this  region  will  match.  If  you  define  '#'  as
  469.     pointnumber too, only region independant nodes will match.
  470.  
  471.     If only the pointnumber is wildcarded with  '#',  the  rest  of  the
  472.     nodenumber will be assumed a HUB or HOST  and  only  Nodes  directly
  473.     under this hub will match. In this case all Points will match too.
  474.  
  475.               Examples :
  476.  
  477.               2:241/0.#     Matches all nodes directly under the Host
  478.               and not in a Hub Segment of Net 2:241
  479.  
  480.               2:241/7000.#  Matches all Nodes in the Hub Segment of
  481.               2:241/7000
  482.  
  483.               2:24/#        Matches all Nodes in Region 2:24 (no Points)
  484.               2:24/#.*      Matches all Nodes and Points in 2:24
  485.  
  486.               2:24/#.#      Matches all Nodes and Points in 2:24/*.*
  487.               2:*/#.#       Matches all RC's and Independant Nodes
  488.                             in Zone 2
  489.  
  490.  
  491.     1.8.2      Templates
  492.  
  493.     Templates are files containing text and macros whom you may  include
  494.     in messages. In statements  using  templates,  there  is  always  an
  495.     internal default template defined.  If  the  template  file  is  not
  496.     found, this internal template will be used.  Templates  are  defined
  497.     as 8 character name of the file  containing  the  template  with  an
  498.     extension of ".TPL".
  499.  
  500.  
  501.     1.9        Updating fido style messages (ITRTMP.#)
  502.  
  503.     While updating messages a file named ITRTMP.# is  temporarily  used,
  504.     with '#' replaced by a unique number. If  the  erasure  of  the  old
  505.     message fails because of locking violations, this  file  remains  in
  506.     the mail directory.
  507.  
  508.     ITRACK                           12
  509.  
  510.  
  511.  
  512.  
  513.     2          Syntax
  514.  
  515.  
  516.     2.1        General Configuration Statements
  517.  
  518.  
  519.     2.1.1      LOGFILE [<logfilename> [<logfileintros>]]
  520.  
  521.     Default : Logging Disabled
  522.  
  523.     When the Logfilename is missing logging is disabled
  524.  
  525.     You may use this statement only on the toplevel, that means  not  in
  526.     beetween of any block, of an ITRACK  configuration (but you can  use
  527.     it as often as you want) to enable and disable logging in  different
  528.     files for different sections of the configuration.
  529.  
  530.     The  logfileintros  were  written  in  the   first   column   of   a
  531.     logfileentry.  The  specified  logfileintros   are   disabling   the
  532.     corresponding group of information.  If  nothing  is  specified  all
  533.     logging levels will be used.
  534.  
  535.        The possible Logfile Intros :
  536.  
  537.        Log_Intro            = '$'
  538.        Log_Warning          = '?'  Warnings
  539.        Log_Intro_Error      = '!'  Errors
  540.        Log_Intro_Copy       = '%'  Copying of messages
  541.        Log_Intro_Move_Kill  = '&'  Moving killing of messages
  542.        Log_Intro_Debug      = '@'  Some infos for debugging
  543.        Log_Intro_Wrong      = '^'  Bouncing, forwarding of mail
  544.        Log_Intro_Scan       = '"'  Scanning Header of Message
  545.        Log_Intro_Nodelist   = '#'  Nodelist compile
  546.        Log_Intro_Change     = '+'  Change Message
  547.        Log_Intro_Exec       = '*'  Execute Program
  548.        Log_Intro_Write      = 'W'  Write Message
  549.        Log_Intro_Update     = 'U'  Update Message
  550.        Log_Intro_Pack       = 'P'  Packing Functions
  551.        Log_Intro_Stats      = '='  Runtime Statistical Output
  552.        Log_Intro_Extended   = '~'  Normal Messageinfo in extended Log
  553.        Log_Intro_Ext_F      = 'F'  Flags Info in extended Log
  554.        Log_Intro_Ext_T      = 'T'  Time Info in extended Log
  555.        Log_Intro_Ext_S      = 'S'  Subject Info in extended Log
  556.        Log_Intro_Ext_M      = 'M'  Expanded Macro String in extended
  557.                                    Log
  558.  
  559.               Example :
  560.  
  561.               LOGFILE ITRACK.LOG UW
  562.  
  563.     ITRACK                           13
  564.  
  565.  
  566.  
  567.  
  568.     2.1.2      TEMPLATEPATH <Path-Name>
  569.  
  570.     Defines the Pathname of the directory where the  templatefiles  will
  571.     be located. Default is the path where the  main  configuration  file
  572.     is located.
  573.  
  574.  
  575.     2.1.3      INCLUDEPATH <Path-Name>
  576.  
  577.     Defines the pathname  of  the  default  includedirectory  where  the
  578.     includefiles will be located, when no path is given in the  $INCLUDE
  579.     statement. Default is the path where the main configuration file  is
  580.     located.
  581.  
  582.  
  583.     2.1.4      TIMESTAMPPATH <Path-Name>
  584.  
  585.     Defines the pathname of the directory where the timestampfiles  will
  586.     be located. Default is the path where the  main  configuration  file
  587.     is located.
  588.  
  589.  
  590.     2.1.5      TIMEZONE <Offset> [<Begin> <End>]
  591.  
  592.     With this statement you are able to define the offset of  the  local
  593.     timezone to UTC in MINUTES. The optional <Begin> <End>  defines  the
  594.     beginning and ending of the dayligth savings  time.  If  a  year  is
  595.     specified in this specification of the daylight savings  time,  this
  596.     statement is only working within this year. Itrack uses  always  the
  597.     last matching statement.
  598.  
  599.               Example :
  600.  
  601.               TIMEZONE -600
  602.               TIMEZONE -600   24.03.1992  26.09.1992
  603.               TIMEZONE -600   24.03  26.09
  604.  
  605.  
  606.  
  607.     2.1.6      MAINADDRESS <mainaddress> [<domain> [<pointnet>]]
  608.  
  609.     This statement has to  exist  at  a  minimum  of  one  time  at  the
  610.     toplevel of an ITRACK configuration,  because  with  this  statement
  611.     the default addresshandling is initialised. But you are  allowed  to
  612.     use different  MAINADDRESS statements  in  different  parts  of  the
  613.     configuration.
  614.  
  615.     ITRACK                           14
  616.  
  617.  
  618.  
  619.  
  620.     The Domain is an optional statement for the main  domain  name.  The
  621.     domain name is only used in Via and Msgid lines.
  622.  
  623.               Example :
  624.  
  625.               MAINADDRESS 2:246/55 Fidonet
  626.  
  627.  
  628.  
  629.     2.1.7      SHARING Yes|No|ja
  630.  
  631.     With "Sharing = Yes" ITRACK  uses  sharingmodes  to  open  files  to
  632.     minimise conflicts with other programs. If you want sharing be  used
  633.     at once (configuration files for example)  use  the  /S  commandline
  634.     parameter.
  635.  
  636. Example :
  637.  
  638.               SHARING Yes
  639.  
  640.  
  641.  
  642.     2.1.8      BINKLEY Yes|No|ja
  643.  
  644.     With "BINKLEY = Yes" ITRACK is changing the functionality of  a  few
  645.     commands.  At  the  moment  only  CHECKPATH  and  PACKPKT  will   be
  646.     affected. In CHECKPATH the  character  ^  will  be  put  before  the
  647.     filepath when the KFS flag is specified and  #  with  the  TFS  flag
  648.     respectively. The same applies for the PACKPKT command.
  649.  
  650.               Example :
  651.  
  652.               BINKLEY Yes
  653.  
  654.  
  655.  
  656.     2.2        DATA <datatype> [<blockname>]
  657.                 <DATA-Item>
  658.                #END# DATA
  659.  
  660.     DATA defines blocks of data of different types for later use.
  661.  
  662.     Blockname assigns a name to this datablock for later reference.
  663.  
  664.     If you are selecting messages with datablocks the block selects  the
  665.     message if one entry in the  block  is  matching.  That  means  with
  666.     every entry in the block has an OR function.
  667.  
  668.     ITRACK                           15
  669.  
  670.  
  671.  
  672.  
  673.     2.2.1      DATA NODELIST [<blockname>]
  674.                 <Ext> [Exception handling] <Path> [Nodelist1 ... ]
  675.                ...
  676.                #END# DATA
  677.  
  678.  
  679.  
  680.     This datablock defines sets of nodelists.  Normally  you  will  only
  681.     need one set with all of your relevant nodelists. <Ext> defines  the
  682.     Fileextensions of the Remote-Access or SuperBBS compatible  nodelist
  683.     index  files.  Usually  Remote-Access  uses  an  index  file   named
  684.     NODEINC.RA and NODEIDX.RA located  in  the  same  directory  as  the
  685.     nodelists. ITRACK is able to share these index files if you  specify
  686.     "RA" as extension.
  687.  
  688.     The names of the used nodelists are stored in the  index  files,  so
  689.     it isn't necessary to define the list of included nodelists  if  you
  690.     want  to  share  the  index  file  with  another  program  which  is
  691.     responsible for the creation of the index files, but  then  you  are
  692.     responsible for up to date index files.
  693.  
  694.     If ITRACK detects that the index files are out of date, ITRACK  will
  695.     abort, except if  it  detects  a  list  of  nodelist  names  in  the
  696.     configuration. In this case ITRACK will compile a new set  of  index
  697.     files, but without cost imformation.
  698.  
  699.     In the list of index files you may use the full filename, or a *  as
  700.     extension. In this case ITRACK searches the nodelist  directory  for
  701.     the newest file with numeric extension.
  702.  
  703.     Exception handling optionally defines the mode  of  operation  if  a
  704.     nodelist error is detected. This happens if a  nodelist  is  missing
  705.     or ITRACK is not able to create and  maintain  its  index.  Possible
  706.     statements are ABORT IGNORE DISABLE.
  707.  
  708.     If ABORT is defined, an error on this  nodelists  causes  ITRACK  to
  709.     immediately aborts operation. This is the default mode.
  710.  
  711.     If IGNORE is defined, an error on this nodelists  causes  ITRACK  to
  712.     always return false if a selection is made. That means ITRACK  works
  713.     the same way as if this  nodelists  were  not  defined  at  all  and
  714.     possibly all mail for addressees in those nodelists bounced.
  715.  
  716.     If DISABLE is defined, the nodelist will return always  true  if  an
  717.     error is encounterd during initialisation. That normally means  that
  718.     no mail will be bounced.
  719.  
  720.     ITRACK                           16
  721.  
  722.  
  723.  
  724.  
  725.  
  726.               Example:
  727.  
  728.               DATA NODELIST Nodelist
  729.                 ITR ABORT   c:\FD\Nodelist Nodelist.*
  730.                 ITV DISABLE c:\FD\Nodelist VIRNODES.*
  731.                 ITI IGNORE  c:\FD\Nodelist INTNODES.*
  732.                 RA  c:\FD\Nodelist
  733.               #END# DATA
  734.  
  735.  
  736.     2.2.2      DATA ADDRESS [<blockname>]
  737.                 <Fido-Address>
  738.                 ...
  739.                #END# DATA
  740.  
  741.     This defines a list of addresses, one for each  line.  You  may  use
  742.     wildcards for address matching functions.
  743.  
  744.               Example:
  745.  
  746.               Data Address Cosysop
  747.                 2:246/55.1
  748.                 2:246/55.2
  749.               #END# DATA
  750.  
  751.  
  752.     2.2.3      DATA READDRESSLIST [blockname>]
  753.                 <address 1> <address 2>
  754.                 ...
  755.                #END# DATA
  756.  
  757.     This defines a list of addresses. Two for each line.  Wildcards  are
  758.     allowed for address matching functions. The address 2  is   used  in
  759.     READDRESS functions.
  760.  
  761.               Example:
  762.  
  763.                 DATA READDRESSLIST Changes
  764.                   2:2411/1     2:2401/1
  765.                   2:2411/4401  2:2401/10
  766.                 #END# DATA
  767.  
  768.     ITRACK                           17
  769.  
  770.  
  771.  
  772.  
  773.     2.2.4      DATA READDRESSNAME [<blockname>]
  774.                 <address 1> <address 2> <name>
  775.                 ...
  776.                #END# DATA
  777.  
  778.     This defines a list of addresses and names. Two  addresses  and  one
  779.     name for each line. Wildcards  are  allowed  for  address  matching.
  780.     Address 2 is used in READDRESS functions.
  781.  
  782.     Address 1 and the name are  matched  against  the  message  and  the
  783.     second  address  is  written  to  the  messageheader  in   READDRESS
  784.     functions. I know it's a little  bit  confusing  that  the  name  is
  785.     located at the end of the line, but because a name is  an  unlimited
  786.     field it has to be located at the end of a line.
  787.  
  788.               Example:
  789.  
  790.                 DATA READDRESSNAME Changes
  791.                   2:241/0      2:2401/1    Dieter Soltau
  792.                   2:241/4401   2:2401/10   Klaus-Dieter Thelen
  793.                 #END# DATA
  794.  
  795.  
  796.  
  797.     2.2.5      Data ROUTING <blockname>
  798.                <destination> [<target 1> [<target 2> [...]]]
  799.                ....
  800.                #end# data
  801.  
  802.     The Data ROUTING Block  is  a  possibility  to  define  the  routing
  803.     targets for messages with a variety of wildcard functions.
  804.  
  805.     Destination is the routing  focus  for  the  messages  matching  the
  806.     targets.
  807.  
  808.     The routing block is matched from top  to  bottom.  That  means  the
  809.     first match from top will be the routing destination. For  that  you
  810.     should specify the most specific routing at top.
  811.  
  812.     The routing block may be used with SELECT commands where  a  message
  813.     will be selected if there is a match in the  target  area's  of  the
  814.     block. With this you may select only  messages  for  packrouting  if
  815.     they were specified in the routing block.
  816.  
  817.     Additions for the Target Nodenumber matching :
  818.  
  819.     If you specify -2 or # in the  pointfield  of  a  target  Nodenumber
  820.     then the Rest of the Nodenumber will be assumed a Hub, Host,  Region
  821.     or Zone entry in the nodelist. The address will match to  all  nodes
  822.     in the direct segment of this Hub, Host, Region or Zone.
  823.  
  824.     ITRACK                           18
  825.  
  826.  
  827.  
  828.  
  829.     If you specify -2 or # in the nodefield of a  nodenumber,  then  the
  830.     rest of the nodenumber will be assumed a region  and  all  nodes  of
  831.     that region will match.
  832.  
  833.               Examples :
  834.  
  835.               2:241/0.#     Matches all nodes directly under the host
  836.               and not in a hub segment of net 2:241
  837.  
  838.               2:241/7000.#  Matches all nodes in the hub segment of
  839.               2:241/7000
  840.  
  841.               2:24/#        Matches all nodes in region 2:24
  842.               2:24/#.*      Matches all nodes and points in 2:24
  843.  
  844.  
  845.  
  846.     Additions for destination matching:
  847.  
  848.     If a field of a destination is a wildcard, the field of  the  routed
  849.     message is substituted, but if you define -2 or #  as  the  net-  or
  850.     nodenumber then the respective region- or hubnumber is substituted.
  851.  
  852.  
  853.               Example :
  854.  
  855.               2:241/#  2:241/*.*
  856.               All mail for 2:241/*.* is hub routed.
  857.  
  858.  
  859.     There is NO implicit handling for the destination node and you  will
  860.     have to specify them in the target list too.
  861.  
  862.     As you may have experienced right now,  i  hate  implicit  handling,
  863.     because you don't see explicitly  what  will  be  done.  Maybe  your
  864.     thought's of what should  be  done  implicitly  are  differing  from
  865.     mine. And  that's  the  main  reason  for  me,  never  to  implement
  866.     implicit handling where applicable.
  867.  
  868.     Another reason for sure is laziness while programming :-))
  869.  
  870.  
  871.     2.2.6      DATA FDSEMAPHOR [<blockname>]
  872.                 <path> [<routing>] [<tasknr 1>] [<tasknr 2>]
  873.                 ...
  874.                #END# DATA
  875.  
  876.     This data group specifies Frontdoor semaphor  directories.  This  is
  877.     used in PACKPKT and you are able to select messages on  this  group.
  878.     When selecting with FDSEMAPHOR ITRACK  returns  true  if  a  session
  879.  
  880.     ITRACK                           19
  881.  
  882.  
  883.  
  884.  
  885.     with the target system determined by routing is in progress.
  886.  
  887.     To be  sure  that  the  mail  isn't  send  to  another  system  then
  888.     specified in routing, the Frontdoor routing should be  the  same  as
  889.     the ITRACK routing or destination  systems  with  different  routing
  890.     should not be allowed to get there mail  direct  when.  If  a  false
  891.     selection with FDSEMAPHOR occured a semaphor file with  task  number
  892.     1 (default 255) is created  and  will  be  deleted  when  ITRACK  is
  893.     ending.
  894.  
  895.     If this data group is used in PACKPKT the  task  number  2  (default
  896.     254) is used to disable FD sessions only  while  ITRACK  is  packing
  897.     mail to  an  old  bundle.  This  sempahor  is  deleted  when  ITRACK
  898.     finished the bundle. In this group for  the  tasknumber  environment
  899.     variables may be used.
  900.  
  901.               Example :
  902.  
  903.               DATA FDSEMAPHOR SEMAP
  904.               %FLAGS% NETROUTING %TASK% 250
  905.               #END# DATA
  906.  
  907.               SELECTTO SEMAP
  908.                 LOGSTRING !! session packrouting for %TO% skipped
  909.               #ELSE# SELECTTO
  910.                 MOVE PKTMAIL
  911.               #END# SELECTTO
  912.  
  913.  
  914.  
  915.     2.2.7      DATA NAME [<blockname>]
  916.                 <name>
  917.                 ...
  918.                #END# DATA
  919.  
  920.     This defines a list of names. One for each line.
  921.  
  922.     Wildcards like * or ? are  allowed  in  names  and  always  extended
  923.     while comparing  to  name  fields  in  messageheaders,  even  if  no
  924.     relaxed comparing is used (see SELECT statements).
  925.  
  926.     While comparing names only Characters and ciphers are used.
  927.  
  928.               Examples :
  929.  
  930.                 DATA NAME Assholes
  931.                   Hans T*est
  932.                 #END# DATA
  933.  
  934.                 DATA NAME Areafix
  935.  
  936.     ITRACK                           20
  937.  
  938.  
  939.  
  940.  
  941.                  Areafix
  942.                  Areamgr
  943.                  Arealink
  944.                  Imail
  945.                 #END# DATA
  946.  
  947.                 DATA NAME FileFix
  948.                  Raid
  949.                 #END# DATA
  950.  
  951.     ITRACK                           21
  952.  
  953.  
  954.  
  955.  
  956.     2.2.8      DATA PASSWORDNAME [<blockname>]
  957.                 <password> <name>
  958.                 ...
  959.                #END# DATA
  960.  
  961.     This defines a list of passwords with name.
  962.  
  963.     It's possible to select messages with name in the from or in the  to
  964.     address. The password is checked  against  the  first  word  in  the
  965.     Subject line.
  966.  
  967.     If relaxed compare (~) is used, password  compare  is  disabled  and
  968.     only the address is checked.
  969.  
  970.               Example:
  971.  
  972.                 DATA PASSWORDNAME Request
  973.                   Test     Hans Test
  974.                   78678bb  Herbert Freitag III
  975.                 #END# DATA
  976.  
  977.     ITRACK                           22
  978.  
  979.  
  980.  
  981.  
  982.     2.2.9      DATA PASSWORDADDRESS [<blockname>]
  983.                 <password> <address>
  984.                 ...
  985.                #END# DATA
  986.  
  987.     This defines a list of passwords with Addresses.
  988.  
  989.     It is possible to select messages with addresses in the from  or  in
  990.     the to address. The password is checked against the  first  word  in
  991.     the subject line.
  992.  
  993.     If relaxed compare (~) is used, the password compare is disabled.
  994.  
  995.               Example:
  996.  
  997.                 DATA PASSWORDADDRESS Request
  998.                   Test     2:246/55
  999.                   78678bb  2:246/10
  1000.                 #END# DATA
  1001.  
  1002.  
  1003.  
  1004.     2.2.10     DATA ADDRESSNAME [<blockname>]
  1005.                 <address> <name>
  1006.                 ...
  1007.                #END# DATA
  1008.  
  1009.  
  1010.     This defines a list of addresses in conjunction with a name.
  1011.  
  1012.               Example:
  1013.  
  1014.                 Data ADDRESSNAME My_Own
  1015.                   2:246/55       Frank Prade
  1016.                   9:494/0        Frank Prade
  1017.                   57:4980/105    Frank Prade
  1018.                 #END# DATA
  1019.  
  1020.  
  1021.  
  1022.     2.2.11     DATA ADDRESSPACKER [<blockname>]
  1023.                 <destination> <packer name> [<flags>]
  1024.                 ...
  1025.                #end# DATA
  1026.  
  1027.     This defines packers and mail flags for  various  destinations.  You
  1028.     may select on this block too. If you want to have a default  packer,
  1029.     you should define a line like :  *:*/*.* ARC as  last  item  in  the
  1030.     block.
  1031.  
  1032.     ITRACK                           23
  1033.  
  1034.  
  1035.  
  1036.  
  1037.     All packers have to be defined before with the PACKER  command  (see
  1038.     below).
  1039.  
  1040.     The defined flags ( ! possible of course ) are applied to create
  1041.  
  1042.     mail attaches. With that you change or set  some  flags  other  than
  1043.     the default setting. For example if you want  compressed  mail  sent
  1044.     with KFS you should define KFS !TFS here.
  1045.  
  1046.  
  1047.  
  1048.  
  1049.     2.2.12     DATA LENGTHADDRESS [<blockname>]
  1050.                  <length> [<address>]
  1051.                  ...
  1052.                #END# DATA
  1053.  
  1054.     This defines a list of addresses in conjunction with a  "LENGTH"  in
  1055.     bytes.
  1056.  
  1057.     LENGTHADDRESS matches on fileattach messages with filepaths  in  the
  1058.     subjectline where the sum of the Filelengths of  the  matched  Files
  1059.     are greater than "LENGTH" in bytes. If  relaxed  (~)  is  used  only
  1060.     addresses will be checked.
  1061.  
  1062.               Example:
  1063.  
  1064.                 Data LENGTHADDRESS My_Downlinks
  1065.                   200000 2:246/55
  1066.                   40000  57:4980/105
  1067.                 #END# DATA
  1068.  
  1069.  
  1070.  
  1071.     2.2.13     DATA MESSAGEAGE [<blockname>]
  1072.                  <DAYS> [<MINUTES> [<Nodenumber>]]
  1073.                  ...
  1074.                #END# DATA
  1075.  
  1076.     This defines a list of message ages in days and  optinally  minutes.
  1077.     If minutes are defined you may optionally define a  nodenumber  with
  1078.     wildcards.
  1079.  
  1080.     MESSAGEAGE matches on messages with an  age  greater  than  the  age
  1081.     defined. To determine the age of a message the TIME  string  in  the
  1082.     messageheader is used. If this TIME string  has  an  invalid  format
  1083.  
  1084.     ITRACK                           24
  1085.  
  1086.  
  1087.  
  1088.  
  1089.     the message will  never  match.  If  the  nodenumber  is  given  the
  1090.     nodenumber has to match with relaxed rules applying.
  1091.  
  1092.               Example:
  1093.  
  1094.                 Data MESSAGEAGE Old_Messages
  1095.                   30
  1096.                   2 0 2:246/551.*
  1097.                 #END# DATA
  1098.  
  1099.  
  1100.  
  1101.     2.2.14     DATA MESSAGELENGTH [<blockname>]
  1102.                  <length> [<Nodenumber>]]
  1103.                  ...
  1104.                #END# DATA
  1105.  
  1106.     This defines  a  list  of  messagetext  length  in  bytes.  You  may
  1107.     optionally define a nodenumber with wildcards.
  1108.  
  1109.     MESSAGELENGTH matches on messages with a  length  greater  than  the
  1110.     length defined.  If  relaxed  compare  is  used  only  the  optional
  1111.     nodenumber is compared.
  1112.  
  1113.     If the nodenumber is given the nodenumber has to match with  relaxed
  1114.     rules applying.
  1115.  
  1116.               Example:
  1117.  
  1118.                 Data MESSAGEAGE Old_Messages
  1119.                   30
  1120.                   2 0 2:246/551.*
  1121.                 #END# DATA
  1122.  
  1123.  
  1124.  
  1125.     2.2.15     DATA PROCESSAGE [<blockname>]
  1126.                  <DAYS> [<MINUTES> [nodenumber]]
  1127.                  ...
  1128.                #END# DATA
  1129.  
  1130.     This defines a list of process ages in days and optionally  minutes.
  1131.     If minutes are defined you may optionally define a  nodenumber  with
  1132.     wildcards.
  1133.  
  1134.     PROCESSAGE matches on messages with an  age  greater  than  the  age
  1135.     defined. To determine the "PROCESSAGE" of a message the time in  the
  1136.     last vialine string is used, but only  if  it's  a  vialine  of  the
  1137.     ITRACK of this system. That means  that  this  message  have  to  be
  1138.     processed for the second time and the LASTVIA flag must be  set.  If
  1139.  
  1140.     ITRACK                           25
  1141.  
  1142.  
  1143.  
  1144.  
  1145.     the nodenumber is  given  the  nodenumber  have  to  match  to  with
  1146.     relaxed rules applying.
  1147.  
  1148.      If this vialine string has an invalid  format,  the  message   will
  1149.     never match.
  1150.  
  1151.               Example:
  1152.  
  1153.                 Data PROCESSAGE Old_Messages
  1154.                   0 300
  1155.                   2 100 1:*/*.*
  1156.                 #END# DATA
  1157.  
  1158.  
  1159.  
  1160.     2.2.16     DATA SYSTEM [<blockname>]
  1161.                 <address> <domain> <zonelist>
  1162.                 ...
  1163.                #END# DATA
  1164.  
  1165.     This defines a list of addresses in conjunction with a  domain  name
  1166.     and a zone  matching  list.  Those  lists  were  primarily  used  in
  1167.     conjunction with the definition of  netmail  areas  to  define  your
  1168.     system's addresses and the zone matching used in that area.
  1169.  
  1170.               Example:
  1171.  
  1172.                 DATA SYSTEM System
  1173.                   2:246/55     FidoNet 1 2 3 4 5 6 7
  1174.                   9:494/0      Virnet  9
  1175.                   9:494/300    Virnet
  1176.                   9:494/301    Virnet
  1177.                   57:4980/105  IntlNet  57 58
  1178.                 #END# DATA
  1179.  
  1180.  
  1181.  
  1182.     2.2.17     DATA POINT [<blockname>]
  1183.                 <pointnumber> <2D|4D> <name>
  1184.                 ...
  1185.                #END# DATA
  1186.  
  1187.     This  defines  a  list  of  points  with  pointnumbers,  2D  or   4D
  1188.     capability and name.
  1189.  
  1190.     Please be careful when selecting with  pointlists.  Pointlists  only
  1191.     match on the pointnumber  the  other  fields  of  a  nodenumber  are
  1192.     ignored. For that you have to  select  on  your  system's  addresses
  1193.     before.
  1194.  
  1195.     ITRACK                           26
  1196.  
  1197.  
  1198.  
  1199.  
  1200.               Example:
  1201.  
  1202.                 DATA POINT Points
  1203.                   1 4D Frank Prade
  1204.                   4 2D Gert Doering
  1205.                   5 2D Hermann Reissig
  1206.                   6 4D Andreas Lenze
  1207.                   7 4D Hans-Juergen Schlabs
  1208.                   8 4D Werner Mueller
  1209.                   9 4D Roland Polzer
  1210.                   10 4D Juergen Mittermueller
  1211.                   14 4D Peter Bolch
  1212.                   15 4D Stephan Floerke
  1213.                 #END# DATA
  1214.  
  1215.  
  1216.     2.2.18     DATA PATH [<blockname>]
  1217.                 <path>
  1218.                 ...
  1219.                #END# DATA
  1220.  
  1221.     This defines a list of paths. At the moment mainly for inbound  path
  1222.     correction for in-transit file attaches and the fattach function.
  1223.  
  1224.               Example:
  1225.  
  1226.                 DATA PATH Inbound
  1227.                   C:\Inbound
  1228.                   C:\Badfiles
  1229.                   C:\Twitfiles
  1230.                 #END# DATA
  1231.  
  1232.  
  1233.  
  1234.     2.2.19     DATA ALIAS [<blockname>]
  1235.                 <magic> <fileName>
  1236.                 ...
  1237.                #END# DATA
  1238.  
  1239.     This defines a list of magic aliases. At the  moment  only  for  the
  1240.     fattach function. Fattach only changes the subject if  the  file  is
  1241.     actually there.
  1242.  
  1243.               Example:
  1244.  
  1245.                 DATA ALIAS Aliases
  1246.                  Files c:\files\0246055.arj
  1247.                  NewFiles c:\files\n246055.arj
  1248.                 #END# DATA
  1249.  
  1250.     ITRACK                           27
  1251.  
  1252.  
  1253.  
  1254.  
  1255.     2.2.20     DATA FILEAREAS <blockname>
  1256.                <filearea path> <filearea name> [[<path>\]<files.bbs>]
  1257.                #END# Data
  1258.  
  1259.     Defines fileareas  (path  and  name)  especially  for  the  FILEMOVE
  1260.     command explained later. This block may also be used in FATTACH.
  1261.  
  1262.     The filearea name will be used as a match in the  FILEMOVE  function
  1263.     to distinguish the destination area.
  1264.  
  1265.     The optional Files.bbs pathname changes the default  FILES.BBS  name
  1266.     of the descriptions file. If a path is  given,  this  path  will  be
  1267.     used, otherwise the file will be located in the filearea.
  1268.  
  1269.               Example :
  1270.  
  1271.               Data FILEAREAS
  1272.               c:\files\windows  WINDOWS
  1273.               c:\files\DESQVIEW DESQVIEW  FILES.XYZ
  1274.               c:\files\FIDO     FIDO      c:\CDROM\FILES.CD
  1275.               #END# Data
  1276.  
  1277.  
  1278.  
  1279.     2.2.21     DATA ATTRIBUTE [<blockname>]
  1280.                 <attribute's>
  1281.                  ...
  1282.                #END# DATA
  1283.  
  1284.     This defines lists of attributes.  If  you  are  selecting  messages
  1285.     with  an  Attribute  block,  then  messages  are  matched   if   all
  1286.     attributes of one line are matching.  The  conclusion  is  that  you
  1287.     have an AND combination of the attributes  in  One  line  and  a  OR
  1288.     combination with the various  lines,  that  have  to  match  on  the
  1289.     message attributes.
  1290.  
  1291.     If an attribute token is preceded by a '!' character  the  attribute
  1292.     matches if it is NOT set.
  1293.  
  1294.     When  using  an  ATTRIBUTE  block  in  SETATTRIBUTE  all  attributes
  1295.     preceded by a '!' were used to reset that attribute.
  1296.  
  1297.  
  1298.     Valid attributes
  1299.  
  1300.       Normal message attributes :
  1301.  
  1302.     PRIVATE        Mail is private
  1303.     CRASH          Mail is crash
  1304.     RECEIVED       Mail is received
  1305.  
  1306.     ITRACK                           28
  1307.  
  1308.  
  1309.  
  1310.  
  1311.     SENT           Mail is sent
  1312.     FILE           Mail is a file-attach
  1313.     INTRANSIT      Mail is in-transit
  1314.     ORPHAN         Mail is orphan (normally set by external programs)
  1315.     KILLSENT       Mail is kill/sent
  1316.     LOCAL          Mail is local
  1317.     HOLD           Mail is hold
  1318.     RES1           Reserved Flag
  1319.     REQUEST        Mail is a file-request
  1320.     RRQ            Mail is a return-receipt-request
  1321.     ISRR           Mail is an answer to a return-receipt-request
  1322.     AUDIT          Mail is an audit-request
  1323.     UPDATE         Mail is an file-update-request
  1324.  
  1325.     ITRACK                           29
  1326.  
  1327.  
  1328.  
  1329.  
  1330.       Extended Attributes in flags Kludge
  1331.  
  1332.     DIR            Mail is direct
  1333.     IMM            Mail is immediate
  1334.     XMA            Mail is Xmail (to be compressed)
  1335.     CFM            Confirmation Request
  1336.     ZON            ZoneGate
  1337.     KFS            Kill File Sent
  1338.     TFS            Truncate File Sent
  1339.     IT1            ITRACK 1 ( you may use these as you want )
  1340.     IT2            ITRACK 2 ( but please in rare conditions )
  1341.     IT3            ITRACK 3 ( only local )
  1342.     LOK            Locked this Message should not be sent.
  1343.                    ITRACK now handles locked Messages the same as any
  1344.                    other Message but in Fidostyle locked Message are
  1345.                    Readonly.
  1346.  
  1347.     ITRACK                           30
  1348.  
  1349.  
  1350.  
  1351.  
  1352.     Internally used attributes. Those attributes are not written in any
  1353.     way to the message, and used only for internal purpose while
  1354.     processing the message.
  1355.  
  1356.     NULL             Mail isn't containing text, only kludges and/or
  1357.                      tearlines.
  1358.     LOOP             This mail contains an ITRACK vialine of this system
  1359.                      in front of others via's
  1360.     LOOP2            This mail contains two ITRACK vialines of this
  1361.                      system in front of others via's
  1362.     LOOP3            This mail contains three ITRACK vialines of this
  1363.                      system in front of others via's
  1364.     SEEN             This mail contains an ITRACK vialine
  1365.     LASTVIA          The last vialine is by ITRACK of this System
  1366.     TO2D             The TO Address is a 2D Point Address
  1367.     FROM2D           The FROM Address is a 2D Point Address
  1368.     CHECKEDPATH      Will be set of CHECKPATH if the Subject was Changed
  1369.     INVKLUDGES       If set all Kludges except Msgid Pid and addressing
  1370.                      Kludges will be invalidated (Mainly for the
  1371.                      Vialines).
  1372.     USER1            Use it as you want :-))
  1373.     USER2            Use it as you want :-))
  1374.     USER3            Use it as you want :-))
  1375.     INTL             Intl Line was found or Addintl executed. If reset
  1376.                      no Intl Line is written to the new message. If only
  1377.                      the INTL Attribute is set maybe no Intl Line will
  1378.                      be written because the internally hold Intl-Address
  1379.                      is perhaps not valid, for that ADDINTL is
  1380.                      preferred.
  1381.     INTERZONE        This flag will be set when, while reading the
  1382.                      message, ITRACK determines that the message will go
  1383.                      in another zone as the origin zone. It does not
  1384.                      depend on whether the message is Zonegate addressed
  1385.                      or not.
  1386.     CHANGED          A scanned Message will only be written to disk if
  1387.                      the CHANGED Attribute is set. The CHANGED Attribute
  1388.                      will be set if a operation changes the contents of
  1389.                      a message. The first change to a message is the
  1390.                      detection that the last Vialine was no local
  1391.                      ITRACKvialine. And for that the changed Flag is
  1392.                      set. If you don't want a message to be rewritten by
  1393.                      ITRACK set reset the changed flag.
  1394.     ADDLF            All internally generated lines (like INTL) will be
  1395.                      delimited by CR-LF.
  1396.     REPEATSCAN       The SCAN Block will be repeated with this Message
  1397.                      for a maximum of two times. (used by bounce)
  1398.  
  1399.     ITRACK                           31
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.               Example:
  1406.  
  1407.                 DATA ATTRIBUTE Cleanup
  1408.                   SENT
  1409.                   RECEIVED
  1410.                 #END# DATA
  1411.  
  1412.  
  1413.  
  1414.     2.2.22     DATA STRINGS [<blockname>]
  1415.                 <expandable string 1>
  1416.                 <expandable string 2>
  1417.                 ...
  1418.                 ...
  1419.                #END# DATA
  1420.  
  1421.     This defines pairs of expandable  strings.  The  expandable  strings
  1422.     are expanded and compared when selecting. If  relaxed  comparing  is
  1423.     used the comparing algorithm with  wildcards  will  be  used,  where
  1424.     string 1 may contain Wildcards.
  1425.  
  1426.     Without Relaxed comparing the strings have to be  completely  equal,
  1427.     not even upper and lower case should differ.
  1428.  
  1429.  
  1430.     2.2.23     DATA TIMESLOT [<blockname>]
  1431.                 <time> <length>
  1432.                 ...
  1433.                #END# DATA
  1434.  
  1435.     Defines time slots with time and length which  could  be  used  with
  1436.     selections. The time slot returns true if the  current  time  is  in
  1437.     the slot. It's no problem to define slots wrapping over midnight.
  1438.  
  1439.               Example :
  1440.  
  1441.               DATA TIMESLOT CrashEvent
  1442.                20:30 30
  1443.                23:00 120
  1444.                07:00 1:30
  1445.               #END# DATA
  1446.  
  1447.     ITRACK                           32
  1448.  
  1449.  
  1450.  
  1451.  
  1452.     2.2.24     DATA DAYOFWEEK [<blockname>]
  1453.                 [SUN][MON][TUE][WED][THU][FRI][SAT]
  1454.                 ...
  1455.                #END# DATA
  1456.  
  1457.     Defines a  set  of  weekdays  for  use  with  selections.  DAYOFWEEK
  1458.     returns true if the current day is in one of the lists
  1459.  
  1460.               Example :
  1461.  
  1462.               DATA DAYOFWEEK Weekend
  1463.                Sat Sun
  1464.               #END# DATA
  1465.  
  1466.  
  1467.  
  1468.     2.2.25     DATA DATE [<blockname>]
  1469.                 <day>[.<month>[.<year>]] [dayofweek list]
  1470.                 ...
  1471.                #END# DATA
  1472.  
  1473.     Defines a date for use with selections. DATE  returns  true  if  the
  1474.     current day matches with one of the specified dates. You may  use  *
  1475.     as wildcard for every field and * is the default for  non  specified
  1476.     fields.
  1477.  
  1478.     Optional you may additionally define  a  list  of  weekdays.  If  no
  1479.     weekday is specified, all days  are  matching.  Otherwise  only  the
  1480.     specified weekdays will match.
  1481.  
  1482.               Example :
  1483.  
  1484.               DATA DATE BombingRuns
  1485.                1.1.92
  1486.                13.*.* Fri
  1487.               #END# DATA
  1488.  
  1489.  
  1490.  
  1491.     2.2.26     DATA DATEADDRESS [<blockname>]
  1492.                 <date> [dayofweek list] <template> <address> <name>
  1493.                 ...
  1494.                #END# DATA
  1495.  
  1496.     This  DATA  block  defines  the  necessary  data  for  the  REMINDER
  1497.     function. <date> and <dayofweek list> are specified as in  the  DATA
  1498.     DATE block or DAYOFWEEK blocks.
  1499.  
  1500.     When used with select, this block will match  on  the  current  date
  1501.     and if no relaxed compare is used on the full name and address.
  1502.  
  1503.     ITRACK                           33
  1504.  
  1505.  
  1506.  
  1507.  
  1508.     When using this block with the REMINDER,  ITRACK  creates  mails  to
  1509.     all destinations defined with a matching date. The template will  be
  1510.     added as message text.
  1511.  
  1512.               Example :
  1513.  
  1514.               DATA DATEADDRESS Reminder
  1515.                11.1.* BIRTHDAY 2:246/55 Frank Prade
  1516.                13.*.* Fri BECAREF 2:246/47 Andreas Klein
  1517.               #END# DATA
  1518.  
  1519.  
  1520.  
  1521.     2.2.27     DATA EVENT [<blockname>]
  1522.                 <time> <timestamp>
  1523.                 ...
  1524.                #END# DATA
  1525.  
  1526.     Defines an event for use with selections. The event returns true  if
  1527.     the current time is later than time but only once a  day.  Timestamp
  1528.     is the name of a *.TIM file used to determine the last  match.  It's
  1529.     possible to use one timestamp for more than one event.
  1530.  
  1531.               Example
  1532.  
  1533.               DATA EVENT Maintenance
  1534.                10:13 MAINT
  1535.               #END# DATA
  1536.  
  1537.  
  1538.  
  1539.     2.2.28     DATA FILES [<blockname>]
  1540.                 <expandable string>
  1541.                 ...
  1542.                #END# DATA
  1543.  
  1544.     This defines a list of files by expandable strings. With  these  you
  1545.     may select on there existance. The selection will match  if  one  of
  1546.     the files exists. You may use wildcards for the filenames
  1547.  
  1548.               Example:
  1549.  
  1550.                 DATA FILES Semaphor
  1551.                   C:\FD\FLAGS\FDINSESS.*
  1552.                 #END# DATA
  1553.  
  1554.               SELECTTO !Semaphor
  1555.                 RENUMBER NETMAIL
  1556.               #END# SELECTTO
  1557.  
  1558.     ITRACK                           34
  1559.  
  1560.  
  1561.  
  1562.  
  1563.     2.3        DATA MACRO
  1564.                 <macroname> [<expansion>]
  1565.                 ...
  1566.                 #END# DATA
  1567.  
  1568.     You may define one  DATA  MACRO  block  that  contains  macro's  for
  1569.     expansion in templates or expandable strings. Only  the  first  DATA
  1570.     MACRO block encountered will be used.
  1571.  
  1572.               Example :
  1573.  
  1574.               DATA MACRO
  1575.                SYSTEMNAME Marder's Node
  1576.                TIMEZONE   %TZ%
  1577.               #END# DATA
  1578.  
  1579.  
  1580.  
  1581.     2.4        Data grouping statements
  1582.  
  1583.     The following statements are for the use with selections,  to  group
  1584.     different datablocks in a logical manner.
  1585.  
  1586.  
  1587.     2.4.1      ANDGROUP [<blockname>]
  1588.                 <data-blocks>
  1589.                 ...
  1590.                #END# ANDGROUP
  1591.  
  1592.               Example :
  1593.  
  1594.               ANDGROUP ProcessNodelist
  1595.                DATA DAYOFWEEK
  1596.                 THU
  1597.                #END# DATA
  1598.                DATA EVENT
  1599.                 20:30
  1600.                #END# DATA
  1601.               #END# ANDGROUP
  1602.  
  1603.     ITRACK                           35
  1604.  
  1605.  
  1606.  
  1607.  
  1608.     2.4.2      ORGROUP [<blockname>]
  1609.                 <datablock>
  1610.                 ...
  1611.                #END# ORGROUP
  1612.  
  1613.               Example :
  1614.  
  1615.               ORGROUP ProcessNodelist
  1616.                DATA DAYOFWEEK
  1617.                 THU
  1618.                #END# DATA
  1619.                DATA TIMESLOT
  1620.                 20:30 30
  1621.                #END# DATA
  1622.               #END# ORGROUP
  1623.  
  1624.  
  1625.  
  1626.  
  1627.     2.5        FIDOAREA <path> <area-name> [<systemlist>]
  1628.  
  1629.     This defines a Fido-style netmail area. Area-Name is  the  name  for
  1630.     later reference in Scan for example. systemlist is the reference  to
  1631.     a DATA System block, which is used for AKA-matching when reading  in
  1632.     this Area.
  1633.  
  1634. Examples:
  1635.  
  1636.                 FIDOAREA c:\fd\testmail    Netmail System
  1637.                 FIDOAREA O:\fd\Loop        Loop System
  1638.                 FIDOAREA O:\fd\Savemail    Savemail System
  1639.  
  1640.  
  1641.  
  1642.     2.6        PKTAREA
  1643.  
  1644.     PKTAREA <path> <area-name> [<systemlist>] [<routing>] [<passwords>]
  1645.  
  1646.     This area  currently  is  outbound  only.  This  means  no  scan  on
  1647.     PKTAREA. All other actions on areas are possible with  PKTAREA.  The
  1648.     routing block is used to determine the node where the packet  should
  1649.     be addressed to. If no match is found or no  routingblock  specified
  1650.     the PKT is addressed to the node the message is addressed to.
  1651.  
  1652.     If you don't want messages to be  packed  in  PKT's  which  have  no
  1653.     matching  line  in  the  routing  block  you  may  use  an  SELECTTO
  1654.     <ROUTING>. PKTAREA uses a non relaxed  nodenumber  compare  and  you
  1655.     have to use .* if you want points  to  be  included.  ITRACK  is  in
  1656.     nearly  no  instance  using  an  assumption  about  what   node   or
  1657.     pointnumbers should be used. An empty field is always assumed 0  and
  1658.  
  1659.     ITRACK                           36
  1660.  
  1661.  
  1662.  
  1663.  
  1664.     not *.
  1665.  
  1666.     In the PKTAREA only  PKT's  were  created  with  this  function.  No
  1667.     fileattach will be created  or  compression  will  take  place.  All
  1668.     mails destined to one node will be packed into one PKT  file  during
  1669.     one run of ITRACK.
  1670.  
  1671.  
  1672.     2.7        TEXTAREA <filepath> <area-name> [<systemlist>]
  1673.  
  1674.     This defines a TEXT-style area. Area-Name  is  the  name  for  later
  1675.     reference. Systemlist is the  reference  to  a  DATA  System  block,
  1676.     which is used for AKA-matching. TEXTAREA is  outbound  only  and  no
  1677.     scan possible.
  1678.  
  1679.     Filepath defines the filename with full path, where the  messagetext
  1680.     of the message will be written to. If  you  define  #  as  filename,
  1681.     # is replaced by "1" and incremented if the file  exists.  Otherwise
  1682.     the messagetext is appended to the file.
  1683.  
  1684.     ITRACK will not look for the largest number in  the  directory  like
  1685.     in fidostyle areas.
  1686.  
  1687.     There will be no header information written to  the  file,  but  you
  1688.     may add a header to the message before.
  1689.  
  1690.               Examples:
  1691.  
  1692.                 TEXTAREA c:\test\text.lst       textmail System
  1693.                 TEXTAREA O:\fd\Looptext\#.txt   Loop     System
  1694.                 TEXTAREA O:\fd\Save\#.SAV       Savemail System
  1695.                 TEXTAREA PRN                    PRINTER  System
  1696.  
  1697.                 COPYAREA TEXTMAIL
  1698.                   ADDHEADER TEXTHDR
  1699.                 #END# COPYAREA
  1700.  
  1701.  
  1702.  
  1703.     2.8        COPYATTACH <PATH>
  1704.  
  1705.     This command copies attached files to PATH and truncates or  deletes
  1706.     the files according to the state of the KFS or TFS flag.
  1707.  
  1708.     ITRACK                           37
  1709.  
  1710.  
  1711.  
  1712.  
  1713.     2.9        DELTRUNCATTACH
  1714.  
  1715.     This command truncates or deletes attached Files  according  to  the
  1716.     state of the KFS or TFS flag.
  1717.  
  1718.  
  1719.     2.10       PACKER <packername> [<packer call>]
  1720.  
  1721.     The packer command defines the syntax of a packer  to  be  used  for
  1722.     compressed mail.
  1723.  
  1724.     You have to use a "moving" packer command. Because my spawning  unit
  1725.     does not return errorlevels, i  have  no  possibility  to  otherwise
  1726.     check a successful pack. For that i am looking  for  a  disappearing
  1727.     file and an appearing archive indicating a successful compression.
  1728.  
  1729.     If no packer call is given i am assuming  uncompressed  mail  to  be
  1730.     attached.
  1731.  
  1732.  Example :
  1733.  
  1734.               PACKER ARJ ARJ M -Y
  1735.  
  1736.  
  1737.  
  1738.     2.11       $INCLUDE <Filename>
  1739.  
  1740.     Includes a configuration file. If a path is given this path will  be
  1741.     used. Otherwise the include file will be  searched  in  the  default
  1742.     includedirectory.
  1743.  
  1744.  
  1745.     2.12       RENUMBER <areaname>
  1746.  
  1747.     Renumbers the area areaname.
  1748.  
  1749.               Example :
  1750.  
  1751.               Renumber Netmail
  1752.  
  1753.  
  1754.     This statement should not be used within a SCAN block or  ITRACK  is
  1755.     renumbering the area on every processed message.
  1756.  
  1757.  
  1758.     2.13       PACKPKT [<semap>] <pktarea> <netmail> [<adresspacker>]
  1759.  
  1760.     This command looks for *.PKT files in  the  respective  PKTAREA  and
  1761.     compresses the mail bundle to a compressed mail file if the node  is
  1762.     matched in the adresspacker block and a packer call is given in  the
  1763.  
  1764.     ITRACK                           38
  1765.  
  1766.  
  1767.  
  1768.  
  1769.     respective packer.
  1770.  
  1771.     Otherwise the PKT file is attached uncompressed. If  more  than  one
  1772.     uncompressed PKT for one destination is found they  will  be  merged
  1773.     together.
  1774.  
  1775.     If a new  bundle  is  created  a  file  attach  is  created  in  the
  1776.     "netmail". The mail is created  with  LOCAL,  KILLSENT,  PVT,  FILE,
  1777.     LASTVIA and if compressed with a TFS Flag or for  uncompressed  mail
  1778.     with KFS Flag.
  1779.  
  1780.     I am not verifying if the PKT Files  laying  around  are  really  2+
  1781.     packets and  the  destination  node  is  extracted  from  the  PKT's
  1782.     header. For that ITRACK should not pack mail created  by  processors
  1783.     creating non 2+ compatible PKT's.
  1784.  
  1785.     ITRACK writes ITRACKMAIL as from name  in  the  message  header  and
  1786.     triggers upon this name when scanning for older attaches. It is  not
  1787.     intended to mix the netmailpacking of ITRACK and a  echomail-tosser.
  1788.     If you want to have Netmail and Echomail packed together by  ITRACK,
  1789.     only ITRACK should pack in this area.
  1790.  
  1791.     You may have more than one PKTAREA with packed  mail.  ITRACK  looks
  1792.     for the path in the subject line when scanning  for  older  attaches
  1793.     if they match.
  1794.  
  1795.     When packing starts in a PKTAREA  ITRACK  looks  for  all  0  length
  1796.     files with an extension other than  the  extension  of  the  current
  1797.     day, regardless if it's an  unknown  extension,  and  deletes  those
  1798.     files. For that no timestamp files are possible in  a  PKTAREA  (but
  1799.     as I think this will never be really necessary).
  1800.  
  1801.     If the Binkley option is set the  filename  in  the  subjectline  is
  1802.     changed according to KFS , TFS attribute.
  1803.  
  1804.     Semap specifies a  semaphor  data  group.  Itrack  checks  and  sets
  1805.     semaphores while packing mail  for  background  processing.  At  the
  1806.     moment only FDSEMAPHORE for Frontdoor is supported.
  1807.  
  1808.  
  1809.     2.14       Programming statements
  1810.  
  1811.     Now the main programming statements for your ITRACK configuration.
  1812.  
  1813.  
  1814.     2.14.1     SCAN <areaname> [<timestamp>]
  1815.                 [<executionlist>]
  1816.                #END# SCAN
  1817.  
  1818.     Scan takes all of the message in the predefined Area "areaname"  and
  1819.  
  1820.     ITRACK                           39
  1821.  
  1822.  
  1823.  
  1824.  
  1825.     executes the statements with them, as  long  as  the  message  isn't
  1826.     deleted. When the message is killed,  all  remaining  statements  in
  1827.     the executionlist will be skipped.
  1828.  
  1829.     Timestamp defines a name of  up  to  8  Characters  of  an  optional
  1830.     timestamp file, located in  your  main  configuration  or  timestamp
  1831.     directory. Scan only works  on  messages  newer  as  the  timestamp.
  1832.     Timestamp is set to the current date/time when scan finished.
  1833.  
  1834.               Example:
  1835.  
  1836.                 SCAN Netmail Normal
  1837.                   ...
  1838.                 #END# SCAN
  1839.  
  1840.  
  1841.     2.14.2     SELECT[TO]|[FROM] <data> [..<data>]
  1842.                   [<execution-list>]
  1843.                 [#ELSE# SCAN
  1844.                   [<else-execution-list>] ]
  1845.                #END# SELECT[TO]|[FROM]
  1846.  
  1847.     Selects messages based on  the  data  statements  and  executes  the
  1848.     execution-list if selected or the optional else-execution-list.
  1849.  
  1850.     SELECT matches the data with the from and the to part of a  message,
  1851.     opposed to SELECTTO and SELECTFROM, which are  only  comparing  with
  1852.     the TO or the FROM part.
  1853.  
  1854.     When selecting with data not containing address or name  information
  1855.     you should use SELECTFROM or SELECTTO too, because with  SELECT  the
  1856.     compare is done twice.
  1857.  
  1858.     The syntax of the data statements is as follows :
  1859.  
  1860.     [&][!][~]<datablockname> | [&][!][~]@<datatoken> <data>
  1861.  
  1862.     The first statement references a predefined data block.
  1863.  
  1864.     The other possible syntax defines a  direct  data  definition.  Here
  1865.     the datatoken is followed by the contents of one  line  of  data  as
  1866.     explained in the previous DATA sections. This statement  has  to  be
  1867.     the last data on the select line.
  1868.  
  1869.     If Data is preceded by a '!' the message is selected  if  data  does
  1870.     NOT match that message.
  1871.  
  1872.     The '&' character defines  a  AND  combination  as  opposed  to  the
  1873.     default OR combination. Normal boolean precedence rules apply here.
  1874.  
  1875.     ITRACK                           40
  1876.  
  1877.  
  1878.  
  1879.  
  1880.     The '~' character defines that relaxed matching  rules  are  applied
  1881.     when comparing data to messages. For example if comparing  Addresses
  1882.     the point number is ignored with relaxed comparing.
  1883.  
  1884.               Possible select data blocks :
  1885.  
  1886.               ADDRESS
  1887.               ADDRESSNAME
  1888.               NAME
  1889.               SYSTEM
  1890.               ATTRIBUTE
  1891.               POINT
  1892.               NODELIST
  1893.               PASSWORDNAME
  1894.               PASSWORDADDRESS
  1895.               PATH
  1896.               ALIAS
  1897.               READDRESSLIST
  1898.               READDRESSNAMELIST
  1899.               ROUTING
  1900.               LENGTHADDRESS
  1901.               DATEADDRESS
  1902.               STRINGS
  1903.               MESSAGEAGE
  1904.               PROCESSAGE
  1905.               TIMESLOT
  1906.               DAYOFWEEK
  1907.               DATE
  1908.               EVENT
  1909.               ANDGROUP
  1910.               ORGROUP
  1911.  
  1912.  
  1913.  
  1914.     2.14.3     POINTTO <point datablock>
  1915.  
  1916.     This statement first checks if the message is addressed to  a  point
  1917.     (name matching) and changes the pointaddress  accordingly  and  then
  1918.     sets the TO2D Flag if specified in the point datablock.
  1919.  
  1920.     This statement should only be applied  to  messages  preselected  TO
  1921.     your relaxed system because PointsTo only looks on the Point  Number
  1922.     and the name when working.
  1923.  
  1924.  
  1925.     2.14.4     POINTFROM <Point-Data-Block>
  1926.  
  1927.     This  statement  checks  if  the  message  is  originating  from   a
  1928.     pointnumber OR  a  name  in  the  pointlist  defined  in  the  point
  1929.     datablock and then strips the FROM2D attribute if set.
  1930.  
  1931.     ITRACK                           41
  1932.  
  1933.  
  1934.  
  1935.  
  1936.     This statement should only be applied to messages  preselected  FROM
  1937.     your relaxed system because POINTFROM only  checks  the  pointnumber
  1938.     and the name.
  1939.  
  1940.  
  1941.     2.14.5     KILL
  1942.  
  1943.     Unconditionally deletes the message.
  1944.  
  1945.  
  1946.     2.14.6     MOVE <areaname>
  1947.  
  1948.     Moves the message to the area "areaname".
  1949.  
  1950.  
  1951.     2.14.77    COPYAREA <areaname>
  1952.                 [<executionlist>]
  1953.                #END# COPYAREA
  1954.  
  1955.     Copies  the  message  to  the  area  "areaname"  and  executes   the
  1956.     executionlist on the newly created message.
  1957.  
  1958.  
  1959.     2.14.8     COPYGROUP <destination datablock>
  1960.                 [<executionlist>]
  1961.                #END# COPYGROUP
  1962.  
  1963.     Forwards  a  copy  of  the  message  to  all  systems  contained  in
  1964.     destination datablock and executes the executionlist  on  the  newly
  1965.     created message.
  1966.  
  1967.     If the new address contains  a  -1  or  *  then  this  part  of  the
  1968.     fidoaddress is not changed.
  1969.  
  1970.     If there is no name in destination datablock, the old name  remains.
  1971.     If there is no address in destination  datablock,  the  old  address
  1972.     remains.
  1973.  
  1974.     ITRACK                           42
  1975.  
  1976.  
  1977.  
  1978.  
  1979.     Destination datablock can be the name of a datablock or a  datatoken
  1980.     preceded by @ with direct data behind.
  1981.  
  1982.               Example:
  1983.  
  1984.                 COPYGROUP Cosysop
  1985.                 #END# COPYGROUP
  1986.  
  1987.                 COPYGROUP @ADDRESSNAME 2:246/47 Andreas Klein
  1988.                 #END# COPYGROUP
  1989.  
  1990.                 Possible Group-Data
  1991.  
  1992.                  ADDRESS
  1993.                  ADDRESSNAME
  1994.                  NAME
  1995.                  SYSTEM
  1996.                  POINT          ( Here the active Main-Address is used
  1997.                                 for Addressing )
  1998.                  READRESSLIST
  1999.  
  2000.  
  2001.  
  2002.     2.14.9     CREATEGROUP <areaname> <destination datablock>
  2003.                 [<executionlist>]
  2004.                #END# CREATEGROUP
  2005.  
  2006.     See COPYGROUP except that the old messagetext is dicarded.
  2007.  
  2008.               Example:
  2009.  
  2010.                 CREATEGROUP Netmail Cosysop
  2011.                 #END# CREATEGROUP
  2012.  
  2013.                 CREATEGROUP Netmail @AddressName 2:246/47 Andreas Klein
  2014.                 #END# CREATEGROUP
  2015.  
  2016.  
  2017.  
  2018.     2.14.10    Reminder <areaname> <DATEADDRESS block>
  2019.                 [<execution-list>]
  2020.                #END# CREATEGROUP
  2021.  
  2022.     Creates a message to all systems contained in the DATEADDRESS  block
  2023.     which have a matching date  specified  in  the  specified  area  and
  2024.     executes the execution-list on  the  newly  created  message.  There
  2025.     will be a header added specified in the DATEADDRESS block.
  2026.  
  2027.     Destination address datablock could be the name of a datablock or  a
  2028.     datatoken preceded by @ with direct data behind.
  2029.  
  2030.     ITRACK                           43
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.               Example:
  2037.  
  2038.                 Reminder Netmail Birthdays
  2039.                 #END# Reminder
  2040.  
  2041.                 Possible datablocks :
  2042.  
  2043.                 DATEADDRESS
  2044.  
  2045.  
  2046.  
  2047.     2.14.11    READDRESSTO <readdresslist> [<template>]
  2048.  
  2049.     Readdresses  messages  originating  from  the  first  address  in  a
  2050.     readdresslist line to the second address in a readdresslist line.
  2051.  
  2052.     If there is -1 or * in a new part of an  address,  this  parts  does
  2053.     not change.
  2054.  
  2055.  
  2056.               Example:
  2057.  
  2058.               READDRESSTO Changes
  2059.               READDRESSTO @ReAddressList 2:246/* 2:2446/*
  2060.  
  2061.               A templateheader is added but redefinition of the
  2062.               template is only possible without directdata.
  2063.  
  2064.  
  2065.  
  2066.     2.14.12    READDRESSFROM <readdresslist> [<template>]
  2067.  
  2068.     Readdresses messages from the first address  in  a  readdress  block
  2069.     line to the second address in a readdresslist line.
  2070.  
  2071.     If there is -1 or * in a new part of an  address,  this  parts  does
  2072.     not change.
  2073.  
  2074.               Example:
  2075.  
  2076.               READDRESSFROM Changes
  2077.               READDRESSFROM @ReAddressList 2:246/* 2:2446/*
  2078.  
  2079.               A Template-Header is added but redefinition of the
  2080.               template is only possible without Direct Data.
  2081.  
  2082.     ITRACK                           44
  2083.  
  2084.  
  2085.  
  2086.  
  2087.     2.14.13    BOUNCE [<template>]
  2088.  
  2089.     Adds an optional template to the message and bounces the message.
  2090.  
  2091.     BOUNCE means that the message is readdressed to the old  originating
  2092.     address and the matched systemaddress inserted  as  new  originating
  2093.     address.
  2094.  
  2095.   Changed attributes :
  2096.  
  2097.               SET       LOCAL,PVT,INVKLUDGE,REPEATSCAN
  2098.               RESET     INTRANSIT
  2099.  
  2100.  
  2101.  
  2102.     2.2.13     FORWARD [<template>]
  2103.  
  2104.     Adds an optional template to the message, and forwards the message.
  2105.  
  2106.     FORWARD  means  that  the  matched  systemaddress  is  inserted   as
  2107.     originating address in the message.
  2108.  
  2109.               Changed attributes :
  2110.  
  2111.               SET       LOCAL,PVT,INVKLUDGE
  2112.               RESET     INTRANSIT
  2113.  
  2114.  
  2115.  
  2116.     2.14.14    ADDHEADER [<template>]
  2117.  
  2118.     Adds an optional template to the message.
  2119.  
  2120.  
  2121.     2.14.15    SETMESSAGETIME
  2122.  
  2123.     Sets the time field of the message to the current date and time.
  2124.  
  2125.  
  2126.     2.14.16    EXEC <expandable string>
  2127.  
  2128.     If  this  statement  is  encountered  the  string  is  expanded  and
  2129.     executed as commandline immediately.
  2130.  
  2131.     ITRACK swaps almost all of the used memory to EMS, XMS  or  Disk  as
  2132.     specified on the commandline.
  2133.  
  2134.  
  2135.     2.14.17    EXECONCE <expandable string>
  2136.  
  2137.     ITRACK                           45
  2138.  
  2139.  
  2140.  
  2141.  
  2142.     If this statement is executed once, at the end of an ITRACK run  the
  2143.     expanded  string  is  used  as  commandline  and   executed.   While
  2144.     expanding the expandable string there is no active message any  more
  2145.     and message related macro will give no result.
  2146.  
  2147.     ITRACK swaps almost all of the used memory to EMS, XMS  or  Disk  as
  2148.     specified on the commandline.
  2149.  
  2150.  
  2151.     2.14.18    TOUCH <expandable string>
  2152.  
  2153.     If this statement is  executed,  the  expanded  string  is  used  as
  2154.     filename and the file touched.
  2155.  
  2156.  
  2157.     2.14.19    TOUCHONCE <expandable string>
  2158.  
  2159.     If this statement is executed once, at the end of an ITRACK run  the
  2160.     expanded string is used as filename  and  the  file  touched.  While
  2161.     expanding the macro there is no active message any more and  message
  2162.     related macros will give no result.
  2163.  
  2164.  
  2165.     2.14.20    CHECKPATH <pathlistname>
  2166.                 [<executionlist>]
  2167.                #END# CHECKPATH
  2168.  
  2169.     If the message is a fileattach the  subject  line  is  searched  for
  2170.     files located in one of the paths in the pathlist. If  the  file  is
  2171.     found, the subject line is changed accordingly. If the subject  line
  2172.     contains more than one file and the new subject  line  will  be  too
  2173.     long, new file attaches are created for those files.
  2174.  
  2175.     The execution list is applied only on new created  fileattaches,  if
  2176.     the subject line grows above the limit.
  2177.  
  2178.     If the BINKLEY option is set the filenames in the  subjectline  will
  2179.     be changed according to KFS and TFS flag.
  2180.  
  2181.  
  2182.     2.14.21    FATTACH [<maxcount> [<maxlength>]] <paths|aliases> ..
  2183.                                                        <paths|aliases>
  2184.                  [<execution-list>]
  2185.                #END# FATTACH
  2186.  
  2187.     The subject line is searched for files located in one of  the  paths
  2188.     in the pathlist. If the file is found, the subject line  is  changed
  2189.     accordingly. If the subject line contains more  than  one  file  and
  2190.     the new subject line will be too long, new  file  attaches  will  be
  2191.     created for the files.
  2192.  
  2193.     ITRACK                           46
  2194.  
  2195.  
  2196.  
  2197.  
  2198.     File wildcards are expanded over  all  found  files  and  all  given
  2199.     paths. Maxcount specifies the  maximum  number  of  files  that  are
  2200.     created (maybe in case of *.* :-))
  2201.  
  2202.     All mails are created with a FILE attribute.
  2203.  
  2204.     The execution list is done with all newly created and  the  original
  2205.     mail if one file is found. After  the  execution  of  the  execution
  2206.     list the original mail is written  at  once  and  internally  marked
  2207.     deleted. That means the rest of  the  config  is  skipped  for  this
  2208.     mail.
  2209.  
  2210.     If NO file is found the mail  remains  untouched  and  runs  further
  2211.     through the script.
  2212.  
  2213.     The first path's/alias blockname must NOT begin with a number.
  2214.  
  2215.  
  2216.     2.14.22    FILEMOVE   <Fileareas Blockname>
  2217.                <expandable string with areaname>
  2218.                [<expandable string for description>]
  2219.                #END# FILEMOVE
  2220.  
  2221.     This command moves the attached files to  an  area  defined  in  the
  2222.     expandable string. The second optional expandable string is used  as
  2223.     description in a FILES.BBS  like  file  defined  in  the  respective
  2224.     filearea.
  2225.  
  2226.  Example:
  2227.  
  2228.               FILEMOVE
  2229.                %LINE[1]%
  2230.                %LINE[2]%
  2231.               #end# FILEMOVE
  2232.  
  2233.  
  2234.  
  2235.     If the description string is not given the "Files.bbs" will  not  be
  2236.     updated or created.
  2237.  
  2238.     If the  FILEMOVE  was  successful  the  RECEIVED  attribute  of  the
  2239.     message is set.
  2240.  
  2241.  
  2242.     2.14.23    ADDINTL
  2243.  
  2244.     Adds an INTL line when no INTL line was in the original message.
  2245.  
  2246.     While reading messages and no INTL line is in  the  message,  ITRACK
  2247.     looks for Msgid/Reply kludges to determine the zones. If no zone  is
  2248.  
  2249.     ITRACK                           47
  2250.  
  2251.  
  2252.  
  2253.  
  2254.     found ITRACK uses the zone of MAINADDRESS.
  2255.  
  2256.  
  2257.     2.14.24    ZONEGATE
  2258.  
  2259.     Takes the TO address of the intl line and puts her  in  the  header.
  2260.     Nothing more, all the  selection  and  surrounding  stuff  concerned
  2261.     with zonegates has to be done with other statements.
  2262.  
  2263.  
  2264.     2.14.25    CREATERETURN [<Template>]
  2265.                 [<execution-list>]
  2266.                #END# CREATERETURN
  2267.  
  2268.     Adds an optional template to the message and returns the message  to
  2269.     sender like bounce, but the message text is discarded.
  2270.  
  2271.               Changed Attributes :
  2272.  
  2273.               SET       LOCAL,PVT,INVKLUDGE
  2274.               RESET     INTRANSIT
  2275.  
  2276.  
  2277.  
  2278.     2.14.26    CREATEFORWARD [<Template>]
  2279.                 [<execution-list>]
  2280.                #END# CREATEFORWARD
  2281.  
  2282.     Adds an optional template to the message and  forwards  the  message
  2283.     to the recipient like FORWARD, but the message text is discarded.
  2284.  
  2285.               Changed Attributes :
  2286.  
  2287.               SET       LOCAL,PVT,INVKLUDGE
  2288.               RESET     INTRANSIT
  2289.  
  2290.  
  2291.  
  2292.     2.14.27    CREATEMAIL  <Expandable String>
  2293.                  [<execution-list>]
  2294.                #ORIG# CREATEMAIL
  2295.                  [<execution-list>]
  2296.                #END# CREATEMAIL
  2297.  
  2298.     The expandable String has  to  be  a  direct  data  definition  when
  2299.     expansion  is  done  and  the  data  definition  has  to  include  a
  2300.     Nodenumber. If a name is include then the destination  name  is  set
  2301.     accordingly.
  2302.  
  2303.     The first execution list is done with the newly created mail if  the
  2304.  
  2305.     ITRACK                           48
  2306.  
  2307.  
  2308.  
  2309.  
  2310.     creation was successful. The second execution list is done with  the
  2311.     original mail which triggered the action, but only  if  a  mail  was
  2312.     successfully created and the mail is NOT deleted  or  moved  in  the
  2313.     first execution list.
  2314.  
  2315.     ITRACK                           49
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.               Example :
  2322.  
  2323.                  CreateMail %Line[1]%
  2324.                   SetAttribute @Attribute Request
  2325.                   ; Optional crash flag setzen
  2326.                   ChangeAttr %OLDLine[2]%
  2327.                  #ORIG# CreateMail
  2328.                   ; Move response Mail to waiting area
  2329.                    Move Responses
  2330.                  #END# CreateMail
  2331.  
  2332.  
  2333.     If %LINE[1]% expands to "ADDRESSNAME 2:246/55 Frank  Prade"  a  mail
  2334.     with destination 2:246/55.0 Frank Prade is created.
  2335.  
  2336.  
  2337.     2.14.28    SPLIT <length>
  2338.                  [<execution-list>]
  2339.                #ORIG# SPLIT
  2340.                  [<execution-list>]
  2341.                #END# SPLIT
  2342.  
  2343.     This statement splits  messages  longer  than  lenght  in  bytes  in
  2344.     pieces of length (only the messagetext is counted).
  2345.  
  2346.     The first execution list is done with  the  newly  created  splitted
  2347.     mails.
  2348.  
  2349.     The second execution list with the  original  mail  if  a  splitting
  2350.     occured. Here the mail could be moved or killed to  prevent  further
  2351.     processing.
  2352.  
  2353.               Example :
  2354.  
  2355.                  SPLIT 16000
  2356.                  #ORIG# SPLIT
  2357.                    MOVE Longmails
  2358.                  #END# SPLIT
  2359.  
  2360.     ITRACK                           50
  2361.  
  2362.  
  2363.  
  2364.  
  2365.     2.14.29    CHANGEFROM <Expandable String>
  2366.  
  2367.     Changes  the  originating  name  and/or  address  according  to  the
  2368.     expanded string if the string contains a valid data  statement  with
  2369.     a name and/or nodenumber.
  2370.  
  2371.               Examples :
  2372.  
  2373.               CHANGEFROM ADDRESS 2:246/10
  2374.  
  2375.               CHANGEFROM NAME Heinrich Test
  2376.  
  2377.               CHANGEFROM ADDRESSNAME 2:248/999 Heinrich Test
  2378.  
  2379.  
  2380.  
  2381.     2.14.30    CHANGETO <Expandable String>
  2382.  
  2383.     The same like CHANGEFROM for the originating address
  2384.  
  2385.  
  2386.     2.14.31    CHANGESUBJECT <expandable string>
  2387.  
  2388.     Changes the subject to the expanded string.
  2389.  
  2390.  
  2391.     2.14.32    CHANGEATTR <expandable string>
  2392.  
  2393.     Changes the attributes according to an ATTRIBUTE definition  in  the
  2394.     string.
  2395.  
  2396.    Example :
  2397.  
  2398.                 CHANGEATTR %LINE[2]%
  2399.  
  2400.               Line 2 in the Message text :
  2401.  
  2402.                 ATTRIBUTE CRASH FILE
  2403.  
  2404.  
  2405.  
  2406.     2.14.33    CLEARATTRIBUTE
  2407.  
  2408.     Clears  all  message  attributes  (  not  affecting  ITRACK  related
  2409.     attributes like CHANGED, ADDLF etc. ) of  a  message  and  sets  the
  2410.     PRIVATE, LOCAL and CHANGED attribute.
  2411.  
  2412.     ITRACK                           51
  2413.  
  2414.  
  2415.  
  2416.  
  2417.     2.14.34    SETATTRIBUTE <ATTRIBUTE blockname>
  2418.  
  2419.     Sets the  attributes  of  a  message  according  to  the  attributes
  2420.     defined in attribute blockname. If an attribute is defined with  '!'
  2421.     the attribute is reset.
  2422.  
  2423.  
  2424.     2.14.35    EXTLOG [<expandable string>]
  2425.  
  2426.     Writes an extended log information  in  the  logfile.  The  optional
  2427.     expandable String is expanded and logged.
  2428.  
  2429.  
  2430.     2.14.36    LOGSTRING [<expandable string>]
  2431.  
  2432.     Writes the expanded string into the  log.  This  statement  is  very
  2433.     usefull in debugging your ITRACK configuration.
  2434.  
  2435.  
  2436.     2.14.37    WRITESTRING <filename> [<expandable string>]
  2437.  
  2438.     Appends the expanded string to the file specified by filename.
  2439.  
  2440.  
  2441.     2.14.38    TOSSCANFIX
  2442.  
  2443.     Changes all single CR to CR-LF and replaces the tearline by blanks.
  2444.  
  2445.               Example :
  2446.  
  2447.               TOSSCANFIX
  2448.  
  2449.  
  2450.  
  2451.     2.14.39    IMAILFIX
  2452.  
  2453.     Looks if there is a NON-kludge line longer  than  40  Characters  in
  2454.     front of a tearline. If  the  condition  is  true  the  TO  name  is
  2455.     changed to Wrong_Areafix. This is because of a  bug  in  Imail  1.21
  2456.     handling too long strings with area tags.
  2457.  
  2458.               Example :
  2459.  
  2460.               IMAILFIX
  2461.  
  2462.     ITRACK                           52
  2463.  
  2464.  
  2465.  
  2466.  
  2467.     2.15       Block Statements
  2468.  
  2469.  
  2470.     2.15.1     BLOCK [<blockname>]
  2471.                  <function>
  2472.                    ...
  2473.                  <function>
  2474.                #END# BLOCK
  2475.  
  2476.     A block is a unit of functions and data and  enables  you  to  group
  2477.     functions and data to a logical unit and you are able  to  assign  a
  2478.     name to this block for later reference.
  2479.  
  2480.     If ITRACK is  called  with  the  name  of  a  block  as  commandline
  2481.     parameter, this block will be executed like all other statements  in
  2482.     the configuration, as if the block statement is not existing.
  2483.  
  2484.     The other possibility to use blocks is using CALL statement.
  2485.  
  2486.               Example
  2487.  
  2488.                 BLOCK Maintenance
  2489.  
  2490.                   Renumber Netmail
  2491.  
  2492.                 #END# BLOCK
  2493.  
  2494.  
  2495.  
  2496.     2.15.2     CALL <blockname>
  2497.  
  2498.     Calls a predefined block
  2499.  
  2500.               Example:
  2501.  
  2502.                 CALL maintenance
  2503.  
  2504.  
  2505.  
  2506.     2.16       Possible Template Macros
  2507.  
  2508.     The following  macros  are  possible  in  templates  and  expandable
  2509.     strings. The OLD- macros are referring to the original message if  a
  2510.     copy etc. occurred that creates internally  a  NEW  nessage.  Macros
  2511.     are expanded recursive. That means if the expanded  string  contains
  2512.     a macro, this macro will be  expanded  too.  Macros  may  contain  a
  2513.     number of Parameters enclosed by square  brackets.  Most  paramaters
  2514.     have to be numbers but also macros with text parameters exists.
  2515.  
  2516.     ITRACK                           53
  2517.  
  2518.  
  2519.  
  2520.  
  2521.     Message related macros :
  2522.  
  2523.     %FROMNAME%               From name of the message
  2524.     %FROM%                   From address of the message
  2525.     %INTLFROM%               Intl from Address of the message
  2526.     %MSGIDFROM%              Address located in the MSGID-kludge
  2527.  
  2528.     %TONAME%                 To name of the message
  2529.     %TO%                     To Address of the message
  2530.     %INTLTO%                 Intl to address of the message
  2531.     %REPLYTO%                Address located in the REPLY-kludge
  2532.  
  2533.     %TIME%                   Time String of the message
  2534.  
  2535.     %SUBJECT%                Subject of the message
  2536.  
  2537.     %SUBJECT[P1]%            Gives you one word of the subject
  2538.                              specified by P1.
  2539.               Example :
  2540.  
  2541.               Macro   :    %SUBJECT[2]
  2542.               Subject :   Hi Volker this is a test
  2543.               Result  :   Volker
  2544.  
  2545.  
  2546.     %ATTRIBUTES%             List of message attributes
  2547.     %LINE[P1,P2]%            Returns the line of the text specified by
  2548.                              P1, disregarding kludgelines. If P2 is
  2549.                              specified the macro will return the word
  2550.                              specified by P2.
  2551.     %MATCH[Wildstring,P2]%   Looks if there is a matching token in the
  2552.                              first column of a line in the message and
  2553.                              takes the line or if P2 is given the
  2554.                              specified word of the line.
  2555.     %TONODESTR[P1,P2]%       This macro takes the destination
  2556.                              nodenumber searches for the nodelistentry
  2557.                              in the nodelists and returns the whole
  2558.                              string if no Parameter is given. If P1 is
  2559.                              given the macro returns the specified
  2560.                              field. If P2 is given too the macro
  2561.                              returns all fields from P1 to P2
  2562.                              seperated, preceded and succeede by
  2563.                              commas.
  2564.  
  2565.                              ITRACK is always looking for the bossnode
  2566.                              if a point is given.
  2567.  
  2568.     ITRACK                           54
  2569.  
  2570.  
  2571.  
  2572.  
  2573.        Example :
  2574.  
  2575.        Macro    :   %TONODESTR[7,20]%
  2576.  
  2577.        Nodelist :
  2578.        ,My_Node,Munich,Frank_Prade,49-89684140,9600,CM,HST,V32B,XA
  2579.  
  2580.        Result   : ,CM,HST,V32B,XA
  2581.  
  2582.        This is usefull with the following construct
  2583.  
  2584.        DATA STRINGS PEP
  2585.         *,PEP,*
  2586.         %TONODESTR[7,20]%
  2587.        #END# DATA
  2588.  
  2589.     %FROMNODESTR[Param1]%    Same as %TONODESTR% for the originating
  2590.                              node.
  2591.  
  2592.     %MSGLENGTH%              Results the length of the messagetext
  2593.  
  2594.     The same for the original message
  2595.  
  2596.     %OLDFROMNAME%
  2597.     %OLDFROM%
  2598.     %OLDINTLFROM%
  2599.     %OLDTONAME%
  2600.     %OLDTO%
  2601.     %OLDINTLTO%
  2602.     %OLDTIME%
  2603.     %OLDSUBJECT%
  2604.     %OLDSUBJECT[Param]%
  2605.     %OLDLINE[Param1,Param2]%
  2606.     %OLDMATCH[Param1,Param2]%
  2607.     %OLDTONODESTR[Param1]%
  2608.     %OLDFROMNODESTR[Param1]%
  2609.     %OLDMSGLENGTH%
  2610.     %OLDATTRIBUTES%
  2611.  
  2612.     ITRACK                           55
  2613.  
  2614.  
  2615.  
  2616.  
  2617.     System specific macros
  2618.  
  2619.     %SYSOP%                  Sysop name from the KEY
  2620.     %PROGRAM%                Program name including version.
  2621.     %NODELIST%               List of names of all nodelist definitions
  2622.     %NODELIST[P1]%           Looks for the line P1 of the nodelist
  2623.                              defintions and returns all nodelists
  2624.                              defined in this line.
  2625.     %NODELIST[P1,P2]%        Like %NODELIST[P1]% but only returns the
  2626.                              nodelistname specified by P2.
  2627.     %SYSTEM%                 Matched System address
  2628.     %SYSTEMTIME%             Current System time formatted as in
  2629.                              Vialine
  2630.     %LOCALTIME%              Local time as : 11:04:44
  2631.     %LOCALDATE%              Local date as : Mon 1. Oct 1992
  2632.  
  2633.     ITRACK                           56
  2634.  
  2635.  
  2636.  
  2637.  
  2638.     3          Calling Convention and Commandline-Parameters
  2639.  
  2640.  
  2641.  
  2642.     ITRACK [/Option]|[-Option] <Block names>
  2643.  
  2644.     Block names  names of blocks to be executed
  2645.  
  2646.     Options :
  2647.  
  2648.     /H               Helpscreen
  2649.     /D               Debug run. Only the Configuration is compiled and
  2650.                      execution skipped
  2651.     /E               Enable swapping of overlay to EMS
  2652.     /S               Sharing mode is enabled at once
  2653.     /X               Disables timestamp checking for configuration. If a
  2654.                      .CTX file is available then it will be used.
  2655.                      Usually for debugging purpose.
  2656.     /N               Always compile nodelists.
  2657.     /A(EXT)          enables swapping destination
  2658.                      E = EMS  X = XMS  T = EXT
  2659.     /C<config>       Main configuration. If a path is given, this path
  2660.                      defines the directory where all timestamps and
  2661.                      templates are located if not changed in
  2662.                      configuration and the default search directory for
  2663.                      configurations.
  2664.                      If the ITRACK Environment variable is defined and
  2665.                      there is no Path in /C then ITRACK looks there for
  2666.                      the Configuration. The last resort for searching
  2667.                      configurations is the path where ITRACK.EXE is
  2668.                      located and the PATH environment variable.
  2669.  
  2670.     ITRACK                           57
  2671.  
  2672.  
  2673.  
  2674.  
  2675.     A.         Credits
  2676.  
  2677.             "This product uses the SPAWNO routines by Ralf Brown
  2678.             to minimise memory use while shelling to DOS and
  2679.             running other programs."
  2680.  
  2681.  
  2682.             Many thanks to my Alpha/Beta testers
  2683.  
  2684.             Mirko Mucko
  2685.             Andreas Brodowski
  2686.             Andy Kreuzer
  2687.             Mike Hartmann
  2688.             Thomas Waldmann
  2689.             Burkhardt Mueller
  2690.             Tobias Burchhardt
  2691.             Jochen Ott
  2692.             Ralf Hammeran
  2693.             Stefan Kaspar
  2694.             Peter Hampf
  2695.  
  2696.  
  2697.             Especially to my Alpha testers always going to the top,
  2698.             making setups i have never thought of. :-))
  2699.  
  2700.             Andreas Klein
  2701.             Stefan Rubner
  2702.             Markus Lomb
  2703.