home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / MISC / NEFD242.RAR / Nef.Doc < prev    next >
Text File  |  1998-06-07  |  129KB  |  3,169 lines

  1.         **************************************************************
  2.         *                                                            *
  3.         *                                                            *
  4.         *                   **   ** ******* *******                  *
  5.         *                   ***  **  **   *  **   *                  *
  6.         *                   **** **  ** *    ** *                    *
  7.         *                   ** ****  ****    ****                    *
  8.         *                   **  ***  ** *    ** *                    *
  9.         *                   **   **  **   *  **                      *
  10.         *                   **   ** ******* ****                     *
  11.         *                                                            *
  12.         *                                                            *
  13.         *                        Version 2.42                        *
  14.         *                                                            *
  15.         *      File Distribution for "BinkleyTerm Style" Systems     *
  16.         *                                                            *
  17.         *                                                            *
  18.         **************************************************************
  19.         *                                                            *
  20.         *       (C) Copyright 1991-1998  by  Alberto Pasquale        *
  21.         *                                                            *
  22.         *           A L L   R I G H T S   R E S E R V E D            *
  23.         *                                                            *
  24.         **************************************************************
  25.         
  26.         
  27.             "BinkleyTerm" is trademark of Bit Bucket Software, Co.
  28.         
  29.         
  30.  
  31.                 NEF 2.42 User's Manual, by Alberto Pasquale
  32.         
  33.         
  34.                                   INTRODUCTION
  35.         
  36.         
  37.         -> For licensing information, please see License.Doc.
  38.         
  39.         Thanks for evaluating NEF: a "New Echo Files" distribution
  40.         system.
  41.         
  42.                                  Main Features
  43.         
  44.         
  45.         - It works on systems with a Binkley Style outbound and
  46.           *.MSG or Squish message base.
  47.         
  48.         - File Import/Forward/Hatch via the standard .TIC system,
  49.           initially implemented by Tick.
  50.         
  51.         - File "Areafix", to automatically link/unlink file areas via
  52.           netmail messages. Wildcards can be used to make multiple
  53.           link/unlink requests easier.
  54.         
  55.         - The traditional privilege specification (<level>[/<keys>])
  56.           is used extensively (see <WSEL>) and is useful to create
  57.           "groups" of areas for selective operations (e.g. Announce).
  58.         
  59.           However, it is recommended that file-network coordinators
  60.           organize their area TAGS in a hierarchical way:
  61.           NewNet.OS2.COMMS
  62.           NewNet.OS2.GAMES
  63.           NewNet.WIN.COMMS
  64.           NewNet.WIN.MISC
  65.         
  66.         - Support for "FileBone.Na style" files.
  67.         
  68.         - Automatic forwarding of requests for missing areas to the
  69.           uplinks.
  70.         
  71.         - Fast Squish netmail scan.
  72.         
  73.         - Flexible file announcements via echo or netmail messages.
  74.           Wildcards in file area tags allow easy configuration of
  75.           multiple announcement areas for different groups of file
  76.           areas.
  77.         
  78.         - Full multitasking support. File sharing problems are handled
  79.           wherever necessary.
  80.         
  81.         - Full 4D operation; no direct support for ancient pointnet
  82.           addressing method. However points addressed via pointnet can
  83.           obviously be seen with their pointnet adress.
  84.         
  85.         - Different outbounds for different domains are supported the
  86.           same way as in Squish, via zone mapping.
  87.         
  88.         - Very flexible MultiAka support. You can use different
  89.           addresses in different areas, different addresses for
  90.           different downlinks in the same area, etc.
  91.         
  92.         - Outbound analysis and report to message areas and/or file.
  93.         
  94.         - "Passthru" Area support, with optional deletion-age parameter.
  95.         
  96.         - Long Description ("LDESC" keyword) support.
  97.         
  98.         - Multiple "Desc" support.
  99.         
  100.         - Multi-line description support for Files.Bbs.
  101.         
  102.         - EchoToss.Log support.
  103.         
  104.         - Automatic creation of new areas from authorized uplinks.
  105.         
  106.         - Automatic linking of specified downlinks to selected new
  107.           areas when they are automatically created.
  108.         
  109.         - Check on imported description strings, to avoid trojan horses
  110.           using certain control characters.
  111.         
  112.         - Clean and compact link configuration file.
  113.         
  114.         - Easy addition (on area TAG basis) of text strings at the head
  115.           of imported descriptions, to allow inclusion of flags and
  116.           download counters in selected areas.
  117.         
  118.         - Easy partial/total area split/merge: you can forward
  119.           certain files to a new area TAG.
  120.         
  121.         - Support for Maximus 3.xx FileBase: when the file areas
  122.           are modified the filebase is internally updated (no need for
  123.           external FB/FBP).  The additional UniFiles.Idx (with no
  124.           duplicates) created by QFB (my FB/FBP substitute) is also
  125.           maintained.
  126.         
  127.         - Automatic addition of new areas to the Maximus 3.xx
  128.           configuration.
  129.         
  130.         - Support for Squish configuration file, to get the
  131.           information about path, type and primary address of message
  132.           areas directly from it.
  133.         
  134.         - (OS/2) Support for "Feature DLLs": developers can find the
  135.           necessary Header file and an example C source included in
  136.           the NEF package (Nefeat.H, Feature.C, Feature.Dll).
  137.           Currently available (on 2:332/504):
  138.             NefDsc13.zip by Michael Hohner (stores descriptions in EAs).
  139.         
  140.         
  141.                                     CREDITS
  142.         
  143.         "BinkleyTerm" is a trademark of Bit Bucket Software Co.
  144.         
  145.         This program uses the Squish "MsgAPI" code, Copyright 1991-1994
  146.         by Lanius Corporation. "Squish" and "Maximus" are trademarks of
  147.         Lanius Corporation.
  148.         
  149.         "Tick" is Copyright by Barry Geller
  150.         
  151.         The archivers referred-to throughout this documentation are
  152.         Copyright and/or trademarks of the respective owners.
  153.  
  154.         
  155.                                OVERALL OPERATION
  156.         
  157.         
  158.         When invoked, first of all NEF looks into the netmail area(s)
  159.         for netmail messages to the Link Robot (Areafix like) and
  160.         executes the commands required; then it looks for new .TIC files
  161.         in the netfile area(s) and forwards them.
  162.         
  163.         The ingoing files are moved to their destination directory and
  164.         the description is appended to the files.bbs.
  165.         
  166.         A careful check is operated on the text of the description, to
  167.         avoid trojan horses that use special control characters.
  168.         
  169.         Existing old descriptions for the ingoing files are deleted.
  170.         
  171.         If the Replaces keywords are present in the ingoing .TIC (and
  172.         the function is not disabled in NEF.CFG), the pertinent files
  173.         are erased and their description removed from the files.bbs.
  174.         
  175.         The forwarded TICs will have a new Path line with UTC time of
  176.         forward and updated SeenBys; Points are not included in the
  177.         SeenBys of TICs addressed to other links, to avoid unnecessarily
  178.         huge lists of SeenBys.
  179.         
  180.         The .BSY support avoids conflicts in the outbound, while
  181.         possible conflicts in the access to files.bbs are minimized by
  182.         waiting several seconds before giving up.
  183.         
  184.         Finally, NEF writes the announcements of the received files;
  185.         each message is limited (before splitting) to the maximum size
  186.         specified with the "MsgSize" statement (default is 12KB to avoid
  187.         problems with old mail processors).
  188.         
  189.         Conflicts on the message base are handled by the Squish MsgAPI.
  190.         
  191.         When the Maximus FileBase support is enabled, a mutual exclusive
  192.         semaphore flag "FileBase.Bsy" is used to avoid concurrent access
  193.         and modification of the filebase by other ApWorks programs.
  194.         There is no need to delete this flag if it remains after a power
  195.         failure or abnormal termination (ApWorks programs are smart
  196.         enough to realize whether the flag is really in use or not).
  197.         
  198.         
  199.                              From Address Selection
  200.         
  201.         The algorythm to choose the "From" address for the TIC files is:
  202.         
  203.         If an aka ovverride (#<adr>) is used in "FileArea"
  204.            then use FileArea aka override
  205.         else if an aka override is present in the "FileLink" definition
  206.            then use FileLink aka override
  207.         else if the destination zone matches an "Address" statement
  208.            then use the zone-matching address
  209.         else if an aka default (@<adr>) is used in "FileArea"
  210.            then use FileArea aka default
  211.         else
  212.            use the primary (first) "Address" statement.
  213.         
  214.         
  215.                               Description Handling
  216.         
  217.         The TIC files can contain "Desc" and "LDesc" lines. Usually the
  218.         description contained in "Desc" line(s) is short and
  219.         unformatted, while that carried by the "LDesc" lines is long,
  220.         multi-line and formatted.
  221.         
  222.         For the announcements, the longest one is selected.
  223.         
  224.         For the Files.Bbs: if MultiLineDesc support is enabled, the
  225.         longest description is used, otherwise the "Desc" one.
  226.         
  227.  
  228.         
  229.         
  230.         
  231.                                   INSTALLATION
  232.         
  233.         
  234.         1) There are 3 versions of NEF: OS/2, NT and DOS/32, distributed
  235.            in different archives. The main program is always named
  236.            NEF.EXE: please make sure you have the correct version.
  237.         
  238.         2) Edit your Nef.Cfg.
  239.            You can find useful examples in the NEF_*.Cfg files and
  240.            detailed information in the "CFG REFERENCE" section of this
  241.            documentation.
  242.         
  243.         3) Edit your batch file in order to call NEF whenever you would
  244.            like to test for the presence of .TIC files in your inbounds
  245.            and process them. If you do not pass a different pathname as
  246.            a command line parameter, Nef.Cfg must reside in the current
  247.            directory.
  248.         
  249.         4) (OS/2): Make sure you have the MSGAPI32.DLL in a directory
  250.              contained in your LIBPATH and the PmHatch.Exe program in
  251.              your PATH. MSGAPI32.DLL is (c) Lanius Corp.
  252.         
  253.            (NT): Make sure you have the MSGAPINT.DLL in a directory
  254.              contained in your PATH. MSGAPINT.DLL is (c) Lanius Corp.
  255.         
  256.            (DOS): Make sure you have the DOS4GW.EXE Dos extender (from
  257.              Rational System Inc.) in your path.
  258.         
  259.              The DOS4GW extender requires an XMS or DPMI memory driver
  260.              installed in your config.sys: e.g. HIMEM.SYS, QEMM (by
  261.              QuarterDeck Office Systems Inc.).
  262.         
  263.         5) In order to have a correct UTC time specification in your
  264.            outgoing TICs, please note that you must have the environment
  265.            variable "TZ" correctly set in config.sys (OS/2) or
  266.            autoexec.bat (DOS).
  267.         
  268.            E.g. for Central European Time (CET):
  269.         
  270.              SET TZ=CET-01 (winter, "normal" solar time)
  271.              SET TZ=CET-02 (summer, daylight saving time).
  272.         
  273.            E.g. for USA East Coast:
  274.         
  275.              SET TZ=EST5EDT
  276.         
  277.              Eastern time is 5h less than UTC and Daylight saving
  278.              applies with the "standard rule" from the first sunday o
  279.              april to the last sunday of october.
  280.         
  281.            More complicate expressions might be used to specify
  282.            automatic change to and back from daylight saving, if a fixed
  283.            rule is available.
  284.         
  285.            E.g. for Central Europe: daylight saving is 1h ahead from the
  286.            last sunday of march to the last sunday of october.
  287.         
  288.              SET TZ=CET-01CDT,M3.5.0,M10.5.0
  289.         
  290.            (See a C manual for further details).
  291.         
  292.  
  293.         
  294.                        Command Line OPTIONS and SWITCHES
  295.         
  296.         
  297.         To get help about the command line syntax, use the "-h" or "-?"
  298.         command line switch: type "NEF -h" or "NEF -?".
  299.         
  300.         The following forms are available:
  301.         
  302.           NEF [<sw>]
  303.           NEF [<sw>] NOTIFY [<adr> ...]
  304.           NEF [<sw>] FILEFIX <adr> <cmd> ...
  305.           NEF [<sw>] OUT|OUTVIEW [<file>]
  306.           NEF [<sw>] CLEAN
  307.           NEF [<sw>] HATCH|MATCH|CATCH|SEND
  308.           NEF [<sw>] HATCH|MATCH|CATCH <name>[/<repl>] <TAG> [<desc> [<ldesc>]]
  309.         
  310.         where:
  311.         
  312.           <sw> is one or more of:
  313.         
  314.             -c<cfg>
  315.                       Use <cfg> as configuration file instead of the
  316.                       default "Nef.Cfg".
  317.         
  318.                       Example: "Nef -ce:\cfg\nef2.cfg"
  319.         
  320.         
  321.             -d<adr>
  322.                       Hatch to <adr> only.
  323.         
  324.                       If you Hatch/Catch/Match/Send a file with the
  325.                       -d<adr> command line switch, it is sent to <adr>
  326.                       only.
  327.         
  328.                       <adr> can be any 4D address: in the case it is
  329.                       defined as a link in the matching "FileArea" or
  330.                       even only as a "FileLink", the specified akas,
  331.                       password and switches are applied.
  332.         
  333.                       If, on the contrary, <adr> is a unknown address,
  334.                       the Hold flavour is used, no password is put in
  335.                       the TIC and the "from" aka is derived from an
  336.                       aka-match on the zone.
  337.         
  338.                       Example: "Nef -d2:332/589 hatch"
  339.         
  340.         
  341.             -h or -?
  342.                       Help.
  343.         
  344.         
  345.             -k
  346.                       Keep local files (do not Replace,
  347.                       for Match/Catch).
  348.         
  349.         
  350.             -l<log>
  351.                       Use <log> as logfile instead of the one specified
  352.                       via the "StatusLog <log>" configuration statement.
  353.         
  354.                       Example: "Nef -le:\cfg\nef.log"
  355.         
  356.         
  357.             -p
  358.                       Clean passthru areas before terminating, see also
  359.                       the "CLEAN" option.
  360.         
  361.                       Examples:
  362.         
  363.                         NEF -p
  364.                         NEF -p OUT
  365.         
  366.         
  367.             -t
  368.                       Toggle Secure mode (see also the NoSecure cfg
  369.                       statement).
  370.         
  371.           
  372.           A description of options follows:
  373.         
  374.             NOTIFY
  375.                       Notify linked areas to the specified address list,
  376.                       where <adr> is a 4D address.
  377.         
  378.                       If no address is given, NEF will notify only the
  379.                       nodes flagged with the 'Y' flag in their FileLink
  380.                       statement.
  381.         
  382.                       If "ALL" is specified, all defined links will be
  383.                       notified.
  384.         
  385.             FILEFIX
  386.                       Execute <cmd>s as if they were received via netmail
  387.                       from <adr> addressed to the AutoLink robot.
  388.         
  389.                       Please note that there might be some problem using
  390.                       the '%' character in front of filefix commands:
  391.                       4OS2 will substitute the corresponding environment
  392.                       variable. You can use the '?' character in the
  393.                       place of '%' or precede '%' with an escape character.
  394.         
  395.             OUT
  396.                       Outbound analysis (message output), optional
  397.                       concise output to <file> (no specification of each
  398.                       and every attached file). See the <OUT> and
  399.                       <OUTVIEW> "special tags" in the "Announce"
  400.                       section.
  401.         
  402.             OUTVIEW
  403.                       Same as OUT, but optional output to <file> is
  404.                       verbose.
  405.         
  406.             CLEAN
  407.                       Clean passthru areas.
  408.         
  409.                       Since it might be not efficient to always scan the
  410.                       entire outbound to check for passthru files to be
  411.                       deleted, NEF must be explicitly instructed to do
  412.                       so (see also the "-p" command line switch).
  413.         
  414.                       Example: "Nef Clean"
  415.         
  416.             HATCH
  417.                       Traditional hatch.
  418.             MATCH
  419.                       Move file to destination area then hatch.
  420.             CATCH
  421.                       Copy file to destination area then hatch.
  422.             SEND
  423.                       (OS/2) Hatch via PM Dialog.
  424.         
  425.                       If you use one of these hatch options, NEF will
  426.                       not process inbound .TICs; instead it will send
  427.                       the specified files to your links.
  428.         
  429.                       Examples:
  430.                                 "Nef Hatch"
  431.                                 "Nef Match"
  432.                                 "Nef Catch"
  433.                                 "Nef Send" (OS/2 Only)
  434.         
  435.                       When no parameters are specified after the hatch
  436.                       option, your interaction is required: you will be
  437.                       requested the filename specification (Dos or OS/2
  438.                       wildcards allowed) and, for each matching file,
  439.                       the optional "replace" names (separated by space),
  440.                       the area TAG, the description and the optional
  441.                       "Long Description".
  442.         
  443.                       On the other hand, if you specify the hatch
  444.                       parameters on the command line, you cannot give a
  445.                       multi-line "Long Description" apart from that
  446.                       taken from the File_Id.Diz, Files.Bbs or specified
  447.                       file.
  448.         
  449.                       HATCH sends the specified files; they are not
  450.                       moved and their local description is NOT modified.
  451.         
  452.                       MATCH moves the specified files to the directory
  453.                       that corresponds to the specified <TAG>, updates
  454.                       their descriptions (see "Description Handling" in
  455.                       Overall operation) and sends them as per normal
  456.                       hatch. If <replace> files are specified, they are
  457.                       deleted with their associated description.
  458.         
  459.                       CATCH is just like Match, but the files are copied
  460.                       instead of moved.
  461.         
  462.                       Note that MATCH/CATCH can be used even when the
  463.                       files already reside in their destination
  464.                       directory, in order to change the local
  465.                       description and possibly apply the specified
  466.                       replaces.
  467.         
  468.                (OS/2)
  469.                       SEND allows to specify all the hatch parameters
  470.                       via a user friendly PM Dialog. Please make sure
  471.                       the PmHatch.Exe file is in the PATH. In the case
  472.                       the PmHatch program terminates abnormally, the NEF
  473.                       program will wait for it indefinitely: you can
  474.                       terminate it using CTRL-C or CTRL-Break.
  475.         
  476.                       See the "PmHatch" section below for further
  477.                       information.
  478.         
  479.         
  480.           Parameters for Hatch/Match/Catch:
  481.         
  482.             <name>
  483.                       This is the full pathname of the files you want to
  484.                       H/M/Catch. You need to specify the full path even
  485.                       if you are hatching files that reside in the
  486.                       directory corresponding to <TAG>. O.S. wildcards
  487.                       are allowed. When wildcards are used, FILES.* are
  488.                       excluded.
  489.         
  490.             <repl>
  491.                       This is the optional list of names of the files to
  492.                       be replaced (separated by '/'): if the receiving
  493.                       system has this feature enabled, the indicated
  494.                       files in the <TAG> area will be deleted while
  495.                       importing the new file.
  496.         
  497.             <TAG>
  498.                       This is the tag used for distributing an echo-file
  499.                       area.
  500.         
  501.             <desc>
  502.             <ldesc>
  503.                       These are the "short" one-line file description
  504.                       and the "long" multi-line one.
  505.         
  506.                       They can be specified between quotes (one line
  507.                       even for <ldesc>) or by means of:
  508.         
  509.                       @BBS     to load from Files.Bbs
  510.                       @DIZ     to load from the contained File_Id.Diz
  511.                       @<file>  to load from <file>
  512.         
  513.                       In the case you need to include the '"' character
  514.                       in the description when using the "quoted string"
  515.                       method, just precede it with a backslash escape
  516.                       character: '\"'.
  517.                 Note:
  518.                       Please realize that the "short" and "long"
  519.                       descriptions are two separate and independent
  520.                       items.
  521.         
  522.                       Short description: single line, "Desc" keyword in
  523.                       TIC files.
  524.         
  525.                       Lond description: multiple lines, "Ldesc" keywords
  526.                       in TIC files.
  527.         
  528.         
  529.         
  530.         Examples:
  531.         
  532.             NEF Hatch d:\p\prg12.rar/prg11.rar COMMS "New comm prg"
  533.         
  534.                 d:\p\prg12.rar is hatched (NOT moved) into the COMMS
  535.                 area; prg11.rar will be deleted on receiving systems.
  536.         
  537.             NEF Catch d:\p\prg12.rar/prg11.rar COMMS "New comm prg"
  538.         
  539.                 d:\p\prg12.rar is copied to the directory corresponding
  540.                 to the COMMS file area and is hatched to the COMMS area.
  541.                 prg11.rar is deleted locally and will be deleted on
  542.                 receiving systems.
  543.         
  544.             NEF Match d:\p\prg12.rar COMMS "New comm prg"
  545.         
  546.                 d:\p\prg12.rar is moved to the directory corresponding
  547.                 to the COMMS file area, it is hatched to the COMMS area,
  548.                 no replace information is put in the outgoing TICs.
  549.         
  550.             NEF Send
  551.         
  552.                 (OS/2) Invokes the PM dialog window.
  553.         
  554.             NEF Hatch d:\apbbs\nef999.rar APBBS @bbs
  555.         
  556.                 d:\apbbs\nef999.rar is hatched into the APBBS area,
  557.                 taking the description from the files.bbs.
  558.         
  559.             NEF Hatch d:\apbbs\nef999.rar APBBS "Nef 9.99" @diz
  560.         
  561.                 d:\apbbs\nef999.rar is hatched into the APBBS area,
  562.                 taking "Nef 9.99" as the "short" description and the
  563.                 File_Id.Diz (if present in the archive) as the "long"
  564.                 description.
  565.         
  566.             NEF Hatch d:\apbbs\nef999.rar APBBS @bbs @diz
  567.         
  568.                 d:\apbbs\nef999.rar is hatched into the APBBS area,
  569.                 taking the "short" description from the files.bbs and
  570.                 the "long" description from the File_Id.Diz (if it is
  571.                 contained in the archive).
  572.         
  573.             NEF -d2:332/504.2 Hatch d:\apbbs\nef999.rar APBBS @bbs @diz
  574.         
  575.                 Same as above, but the file is hatched to 2:332/504.2
  576.                 only.
  577.         
  578.             NEF OUT
  579.         
  580.                 An outbound analysis is performed, the results are
  581.                 reported via messages in the area(s) configured in
  582.                 Nef.Cfg (see the Announce statement).
  583.         
  584.             NEF OUT Out.Txt
  585.         
  586.                 Same as above, but the output is also written to
  587.                 "Out.Txt" in "concise mode".
  588.         
  589.             NEF OUTVIEW Out.Txt
  590.         
  591.                 Same as above but the file output is verbose.
  592.         
  593.             NEF -p OUT
  594.         
  595.                 NEF will report the status of the outbound and clean the
  596.                 passthru areas.
  597.         
  598.                 If you need to maintain passthru areas, this is the most
  599.                 efficient use, since NEF must scan the outbound once to
  600.                 make two different things ("clean passthru" and
  601.                 "outbound report").
  602.         
  603.             NEF Notify
  604.                 A notification message (specifying the linked areas)
  605.                 is sent to the nodes that have the 'Y' flag in their
  606.                 FileLink statement.
  607.         
  608.             NEF Notify All
  609.         
  610.                 A notification message is sent to all the defined links,
  611.                 specifying the linked areas.
  612.         
  613.             NEF Notify 2:332/589 1:234/567
  614.         
  615.                 A notification message is sent to the specified links.
  616.         
  617.             NEF FileFix 2:332/567 APBBS -APBBSDOS
  618.         
  619.                 Node 2:332/567 is linked to the APBBS area and unlinked
  620.                 from the APBBSDOS one.
  621.         
  622.             NEF FileFix 2:332/678 ?QUERY
  623.         
  624.                 Node 2:332/678 is sent a filefix answer to the QUERY
  625.                 command.
  626.         
  627.         
  628.                                     PmHatch
  629.         
  630.            OS/2 Only:
  631.         
  632.                 To invoke the PM hatch program you must type "NEF send".
  633.                 The PmHatch program is very simple and intuitive to use:
  634.                 see the following description.
  635.         
  636.                 To move between fields, use the mouse or the TAB key.
  637.         
  638.                 You can select the destination Area Tag via a drop-down
  639.                 list: just click with the mouse on the button at the
  640.                 right of the entry field or press ALT-down_arrow.
  641.         
  642.                 You have three radio buttons to select the "type" of
  643.                 hatch (normal, with Copy, with Move), just as you use
  644.                 Hatch/Catch/Match from the command line. You can use the
  645.                 arrows and the space bar to select.
  646.         
  647.                 You can choose the file to be hatched via a file dialog
  648.                 box: just click on the "Browse" push button on the right
  649.                 of the field or press ALT-W. The file dialog starts from
  650.                 the directory corresponding to the selected Tag, but you
  651.                 can move to any drive or directory.
  652.         
  653.                 You can also specify one or more "Replace" files via a
  654.                 file-dialog by clicking on the "Browse" push-button (or
  655.                 pressing ALT-W) when the cursor is in the "Repl" field.
  656.         
  657.                 When doing Copy or Move, the files.bbs of the
  658.                 destination area is updated and the "replace" files (if
  659.                 specified) are deleted, just as if the file were tossed
  660.                 from the inbound.
  661.         
  662.                 You can mark the "NoLoc" checkbox to prevent NEF
  663.                 from deleting the "replace" files in the local area.
  664.                 Click with the mouse, move with the vertical arrows and
  665.                 check with the space bar or use the ALT-L hotkey.
  666.         
  667.                 You can load a one line description (Desc) from the
  668.                 file_id.diz, files.bbs or specified file by clicking on
  669.                 the "Arc Diz", "FilesBbs", "File" push-buttons or by
  670.                 pressing the ALT-D, ALT-B, ALT-F keys respectively.
  671.         
  672.                 You can load a multi-line "long description" (Long Desc)
  673.                 by using the same method, when the cursor is in the
  674.                 Long Desc field.
  675.         
  676.                 The "Arc Diz" method supports also self-extracting
  677.                 archives.
  678.         
  679.                 If you do not have the "CompressCfg <filename>"
  680.                 statement in Nef.Cfg, the "Arc Diz" push-button will be
  681.                 disabled.
  682.         
  683.                 Of course you can always fill-in or modify any field
  684.                 manually.
  685.         
  686.                 Now look at the five push-buttons at the bottom of the
  687.                 hatch dialog:
  688.         
  689.                 <OK> (ALT-O): to exit the dialog and hatch all the
  690.                     entered files.
  691.         
  692.                 <Prev> (ALT-P): to visualize the previous hatch entry.
  693.         
  694.                 <Next> (ALT-N): to create a new (empty) entry in order
  695.                     to hatch another file or to move to next entry if
  696.                     <Prev> has been used.
  697.         
  698.                 <Copy> (ALT-C): to copy the visualized entry to the
  699.                     first free position, in order to hatch another file
  700.                     by modifying the current entry.
  701.         
  702.                 <Cancel> or ESC: to cancel the current entry.
  703.         
  704.                 ALT-F4 or "Close", to abort (cancel all the hatch
  705.                 entries).
  706.         
  707.         
  708.         
  709.         
  710.                                   ERRORLEVELS
  711.         
  712.         
  713.           0 - File areas modified: Match or .TIC processed.
  714.           1 - File areas not modified: Hatch or NO .TIC processed.
  715.           2 - Help requested.
  716.           3 - Abnormal termination
  717.           4 - Configuration file not found.
  718.           5 - Invalid parameter on command line.
  719.           6 - No Outbound defined in cfg file.
  720.           7 - Disk Full.
  721.           8 - Out of Memory.
  722.           9 - Can't open Log file.
  723.          10 - Prefix or Suffix too long.
  724.          11 - User Input Error (interactive hatch/match).
  725.          12 - TimeOut waiting for concurrent NEF process to finish.
  726.          13 - Error while accessing .SAV file.
  727.          15 - Max.Prm read error.
  728.          16 - Outbound too large.
  729.          17 - FileBase Busy TimeOut.
  730.         
  731.         250 - MsgApi: Init Error.
  732.         251 - MsgApi: Area Open Error.
  733.  
  734.         
  735.         
  736.                                  CFG REFERENCE
  737.         
  738.         
  739.         Before analyzing the cfg keywords in detail, let's introduce the
  740.         overall mechanism that is at the basis of NEF's file forwarding
  741.         capabilities.
  742.         
  743.         Each area (defined via the FileArea keyword) can be
  744.         mono-directional or bi-directional.
  745.         
  746.         In bidirectional areas every link can send files to us and we
  747.         forward to everyone, unless those with a "receive-from"
  748.         override.
  749.         
  750.         Monodirectional areas can be "receive from everyone" or "send to
  751.         everyone". Obviously, at least one link must have an override in
  752.         the opposite direction, unless we are the destination or
  753.         origination of all the files.
  754.         
  755.         NEF uses the three flags 'I' (Input: we accept from), 'O'
  756.         (Output: we send to) and '*' (bidirectional) to define the
  757.         direction of an area or link.
  758.         
  759.         Each area has a direction, that can be overridden on a per-node
  760.         basis by a global (in the FileLink statement) or local (in the
  761.         FileArea statement, before the pertinent link address) direction
  762.         override.
  763.         
  764.         In other words: each link has a direction that is defined in
  765.         order of priority (from lowest to highest) by the area direction
  766.         (I|O|* in FileArea), the global link override (in the FileLink
  767.         statement), the local link override (before link address in the
  768.         FileArea statement).
  769.         
  770.         It is recommended not to use the global link override when not
  771.         really useful, so that the area definition statements remain
  772.         clearly readable without the need to keep one eye on the
  773.         FileLink statements.
  774.         
  775.         Usually the global link override is useful when you have an
  776.         uplink for many areas. For example: if one day the uplink and
  777.         one of the downlinks switch their role, you have to move the 'I'
  778.         flag from one FileLink statement to the other with no need to
  779.         change all the area definitions.
  780.         
  781.         The area direction definition is very useful to allow automatic
  782.         linking via the Link Robot both to normal "Uplink to Downlinks"
  783.         areas and to reverse "Downlinks to Uplink" areas (mostly used
  784.         for "pre" areas to collect files and send them to the
  785.         coordinator).
  786.         
  787.         As a matter of facts, in response to a link request, the Link
  788.         Robot only adds the requesting address (with no flags) to the
  789.         FileArea statement. So the real characteristics of the link
  790.         depend on the Area direction and on the link flags (FileLink
  791.         statement).
  792.         
  793.         
  794.         
  795.         
  796.                                  Conventions
  797.         
  798.         
  799.         
  800.         - Items between square brackets (e.g. [<item>]) are optional.
  801.         
  802.         - Items separated by '|' are mutually exclusive (e.g. I|O|*).
  803.         
  804.         - The names of the various Keywords are NOT case sensitive.
  805.         
  806.         - The area TAGs are NOT case sensitive.
  807.           Please be aware that old TIC processors might not be able to
  808.           handle tags longer than 8 characters or containing dots.
  809.         
  810.         - <WTAG> is a "Wild TAG" specification: it can be a normal area
  811.           TAG or contain wildcards in the "OS/2 style".
  812.         
  813.           Examples:
  814.         
  815.           "*LOC*" specifies all tags that contain "LOC".
  816.         
  817.           "FW???" specifies all tags that have up to three characters
  818.           after "FW".
  819.         
  820.         
  821.         - <ACS> is an access privilege specification in the form:
  822.           <level>[/<keys>].
  823.         
  824.           <level> is an integer in the range 0-65535
  825.         
  826.           <keys> is a set of digits or (case insensitive) letters from
  827.           "12345678ABCDEFGHIJKLMNOPQRSTUVWX".
  828.         
  829.           To access a protected area it's necessary to have a level
  830.           above or equal to the specified one and a set of keys containg
  831.           the required ones.
  832.         
  833.         
  834.         - <WSEL> is a combination of <WTAG> and <ACS> in the form:
  835.           [<WTAG>][:[<level>][/<keys>]].
  836.         
  837.           Level and keys are used to enhance the selectivity of <WTAG>.
  838.         
  839.           - If <WTAG> is omitted, '*' is assumed.
  840.           - if ':' is not used, any area matching <WTAG> is
  841.             included.
  842.           - if ":/<keys>" is used, <level> is assumed 65535.
  843.         
  844.         
  845.           Examples:
  846.         
  847.               Announce OS2*            ; All OS2* areas
  848.         
  849.               Announce OS2*:100/fg     ; OS2* areas that can be
  850.                                        ; accessed with privilege level
  851.                                        ; 100 and keys fg
  852.         
  853.               Announce :100/fg         ; All areas that can be accessed
  854.                                        ; with level 100 and keys fg
  855.         
  856.               Announce *:100           ; All areas that can be accessed
  857.                                        ; with level 100
  858.         
  859.               Announce :/g             ; All areas that can be accessed
  860.                                        ; with key g (and level 65535).
  861.         
  862.         
  863.         - When a directory path is required, the trailing backslash '\'
  864.           is optional.
  865.         
  866.         - The ';' character starts comments: any character following the
  867.           ';' is ignored. Please note that configuration text strings
  868.           (e.g. Subj, Origin) can contain the ';' character provided
  869.           they are enclosed in quotes '"'.
  870.         
  871.         - The maximum length of configuration lines (including FileArea
  872.           definitions) is 510 characters.
  873.         
  874.         - ... means that you can list further items of the same type.
  875.         
  876.         - Unless differently specified, addresses are standard 4D and
  877.           MUST begin with the zone number (FileArea statements excluded).
  878.         
  879.         - Environment variables can be used anywhere in the
  880.           configuration file (excluding the FileArea statement).
  881.         
  882.           Variable names must be at least 2 character long, are preceded
  883.           by '%' and followed by either '%' or space.
  884.         
  885.           Environment variables may also be nested.
  886.         
  887.           To specify a '%' character, write two of them "%%".
  888.         
  889.           Example:
  890.         
  891.             in a batch:      SET BBSPATH=d:\bbs\
  892.         
  893.             in Nef.Cfg:      StatusLog %BBSPATH%log\nef.log
  894.         
  895.             expands to:      StatusLog d:\bbs\log\nef.log
  896.         
  897.           Nested Example:
  898.         
  899.             in a batch:
  900.                 SET BBSLOGS=%%BBSPATH%%log\
  901.                 SET BBSPATH=d:\bbs\
  902.         
  903.             in Nef.Cfg:      StatusLog %BBSLOGS%nef.log
  904.         
  905.             expands to:      StatusLog d:\bbs\log\nef.log
  906.         
  907.         
  908.         ATTENTION
  909.         
  910.         Please, note that the order of the configuration statements
  911.         follows some logical rule. In order not to create confusion in
  912.         the .cfg file and not to break some _necessary_ order relation,
  913.         please follow the scheme proposed in the example NEF_*.CFG files
  914.         and in this reference documentation.
  915.         
  916.         
  917.         
  918.                                   S Y S T E M
  919.         
  920.         
  921.         RegKey <RegKey>
  922.         
  923.                 Registered Users only: <RegKey> is the registration key
  924.                 and it is NOT case sensitive.
  925.         
  926.             Example:
  927.         
  928.                 RegKey dfhyuwru6274623
  929.         
  930.         
  931.         
  932.         Address <Address>
  933.         
  934.                 You can use as many Address statements as you need for
  935.                 all of your AKAs. The first one specifies the "primary"
  936.                 address. <Address> is a standard 4D address
  937.                 specification.
  938.         
  939.             Example:
  940.         
  941.                 Address 2:332/504.0   ; Primary Address
  942.                 Address 2:332/524.0   ; Second line aka
  943.                 Address 2:332/500.0   ; Hub aka
  944.                 Address 9:999/999.9   ; one more aka
  945.         
  946.         
  947.         
  948.         StatusLog <LogFile>
  949.         
  950.                 <LogFile> is the name of the file where all the
  951.                 operations performed by NEF will be logged, following
  952.                 the "Binkley Style".
  953.         
  954.                 In multitasking environments, please be sure to use a
  955.                 file that cannot be used by other processes at the same
  956.                 time. For example: if (in your system) NEF can be
  957.                 executed while Binkley is running, please use different
  958.                 log files.
  959.         
  960.                 Multiple NEF processes using the same config file
  961.                 (and therefore the same <LogFile>) will have no problem
  962.                 since NEF does not begin operations until the previous
  963.                 launched instance (if it uses the same .cfg file) has
  964.                 finished.
  965.         
  966.                 Should you not want the log file, you can comment this
  967.                 keyword out.
  968.         
  969.             Example:
  970.         
  971.                 StatusLog d:\bbs\log\nef.log
  972.         
  973.         
  974.         
  975.         EchoTossLog <filename>
  976.         
  977.                 When a message is written into echoareas defined with
  978.                 the "AreaTag" statement, the corresponding
  979.                 TAGs are written (one per line) to <filename>.
  980.         
  981.                 If you use the "MaxPrm" statement (or MAXIMUS
  982.                 environment variable), "EchoTossLog" is not necessary
  983.                 and becomes an override of the echotosslog specification
  984.                 found in the Maximus .PRM file.
  985.         
  986.                 If you do not like this output, you can override with
  987.                 the NUL name: "EchoTossLog NUL".
  988.         
  989.             Example:
  990.         
  991.                 EchoTossLog d:\bbs\squish\echotoss.log
  992.         
  993.         
  994.         
  995.         NetFile <InboundDir>
  996.         
  997.                 You can specify as many NetFile statements as you need,
  998.                 one for each inbound directory where NEF must look for
  999.                 new .TIC files.
  1000.                 <InboundDir> is the pathname of the inbound directory.
  1001.         
  1002.             Example:
  1003.         
  1004.                 NetFile c:\file\net
  1005.         
  1006.         
  1007.         
  1008.         OutBound <RootPath> [<Zone>]
  1009.         
  1010.                 The outbound directories are specified with the same
  1011.                 method as in squish.cfg.
  1012.                 <RootPath> should not have an extension.
  1013.         
  1014.                 The first OutBound statement does not have the <Zone>
  1015.                 field and specifies the directory where NEF will build
  1016.                 file attaches for the zone of the primary address.
  1017.         
  1018.                 Subsequent OutBound statements must have the <Zone>
  1019.                 field (Decimal). File attaches for the specified <Zone>
  1020.                 are built in <RootPath>.<###>, where <###> is a 3 digit
  1021.                 extension representing the zone number (hexadecimal).
  1022.         
  1023.                 File attaches for zones different from the primary one
  1024.                 and not matching any <Zone> of the OutBound statements
  1025.                 are built in <RootPath>.<###>, where <RootPath> is the
  1026.                 one specified in the first OutBound statement and <###>
  1027.                 is a 3 digit extension representing the hexadecimal
  1028.                 zone number.
  1029.         
  1030.             Note:
  1031.         
  1032.                 The "OutBound" statements MUST be preceded by the
  1033.                 "Address" ones.
  1034.         
  1035.             Example:
  1036.         
  1037.                 OutBound c:\out\fidonet
  1038.                 OutBound c:\out\amiganet 39
  1039.                 OutBound c:\out\amiganet 40
  1040.         
  1041.                 FileAttaches will be built in:
  1042.                 Primary zone -> c:\out\fidonet
  1043.                 zone 39      -> c:\out\amiganet.027
  1044.                 zone 40      -> c:\out\amiganet.028
  1045.                 other zones  -> c:\out\fidonet.<###>
  1046.                                 where <###> is the 3 digit hexadecimal
  1047.                                 representation of the zone number
  1048.         
  1049.         
  1050.         
  1051.         KeepFloDate
  1052.         
  1053.                 The *.?LO outbound files usually have the "last write"
  1054.                 date of the last modification (when NEF appends a new
  1055.                 file attach, the .?LO takes the current date).
  1056.         
  1057.                 This statement allows to keep the old date, so that it
  1058.                 may be used to know how long ago a downlink made its
  1059.                 last poll.
  1060.         
  1061.                 OS/2: Please note that under HPFS this statement may not
  1062.                 be necessary. The "Creation Date" will always reflect
  1063.                 the date when the *.?LO file was first created.
  1064.         
  1065.         
  1066.         
  1067.         TicHold <TicDir>
  1068.         
  1069.                 This specifies the directory that holds all the .TIC
  1070.                 files addressed to downlinks until they are sent and
  1071.                 erased.
  1072.         
  1073.             Example:
  1074.         
  1075.                 TicHold c:\file\tichold
  1076.         
  1077.         
  1078.         
  1079.         BusyFlags
  1080.         
  1081.                 This enables the Binkley-Style .BSY support.
  1082.         
  1083.                 When attaching a file to a node, the presence of an
  1084.                 appropriate .BSY file is checked; if it is present, some
  1085.                 other process may be working on the same node, so NEF
  1086.                 saves the attach info to a private <config>.SAV file
  1087.                 (i.e. NEF.SAV when NEF.CFG is the config file). On
  1088.                 subsequent runs, NEF will look for a <config>.SAV file
  1089.                 and use the information in it to attempt again the
  1090.                 creation of the file attaches.
  1091.                 If the .BSY file is not found, it is created, the file
  1092.                 attach is built, then the .BSY is erased.
  1093.                 The name of the .BSY file is the same as a file attach
  1094.                 to the same node: only the extension changes.
  1095.         
  1096.             Warning:
  1097.         
  1098.                 The .BSY method has a nasty drawback: if the process
  1099.                 that has created a .BSY file hangs or is shutdown
  1100.                 abruptly, the .BSY file remains in its outbound
  1101.                 directory, so that no other process will gain access to
  1102.                 that node until somebody erases the .BSY file. It is
  1103.                 advisable to delete *.BSY from the most used outbound
  1104.                 directories at startup (in autoexec.bat (Dos) or
  1105.                 startup.cmd (OS/2)).
  1106.         
  1107.         
  1108.         
  1109.         NoRaidBeforeHatch
  1110.         
  1111.                 Skips the scanning of netmail before the execution of
  1112.                 hatch commands. This might be useful to avoid delays
  1113.                 with huge *.MSG areas.
  1114.         
  1115.         
  1116.         
  1117.         MsgSize <bytes>
  1118.         
  1119.                To specify the maximum size (in bytes) for a message
  1120.                generated by NEF (minimum 8KB, default 12KB).
  1121.         
  1122.                Usually a larger message size is useful to avoid too many
  1123.                messages in reports of filebone availability. Anyway,
  1124.                please be careful not to use a size larger than your
  1125.                downlinks can handle.
  1126.         
  1127.                Example:
  1128.         
  1129.                MsgSize 90000
  1130.         
  1131.         
  1132.         
  1133.         TicAreaCfg <filename>
  1134.         
  1135.                 This defines the name of the file that contains all the
  1136.                 file area definitions. See the "FileArea" keyword below
  1137.                 for a description of the syntax.
  1138.         
  1139.                 This keyword is optional: if you omit it, you can define
  1140.                 your file areas directly in the .cfg file, provided you
  1141.                 put all the FileArea statements _after_ the FileLink
  1142.                 ones, at the end of the .cfg file.
  1143.         
  1144.                 For systems with few areas the one-file configuration is
  1145.                 handy, for systems with many areas and links, the
  1146.                 separate file solution is recommended.
  1147.         
  1148.                 Please note that the TicAreaCfg file can contain
  1149.                 FileArea statements and comments ONLY.
  1150.         
  1151.             Example:
  1152.         
  1153.                 TicAreaCfg d:\bbs\nef\ticarea.cfg
  1154.         
  1155.         
  1156.         
  1157.         CompressCfg <filename>
  1158.         
  1159.           (OS2)
  1160.                 To allow the extraction of File_Id.Diz while using the
  1161.                 Pm Hatch.
  1162.         
  1163.                 <filename> must specify the location and name of a
  1164.                 "Squish style" compress definition file.
  1165.         
  1166.                 In the case you are using a case-sensitive
  1167.                 de/compression program (e.g. OS/2 ZIP/UNZIP), please
  1168.                 make sure to use the correct switches in <filename>.
  1169.         
  1170.                 If you are already using Squish and or Maximus, you
  1171.                 can just specify the name of their compress.cfg (but do
  1172.                 check that they indicate the necessary switches to avoid
  1173.                 case sensitiveness during extraction).
  1174.         
  1175.                 Refer to the "Compress Definition File" section at the
  1176.                 end of this reference for the syntax of this
  1177.                 configuration file.
  1178.         
  1179.             Example:
  1180.         
  1181.                 CompressCfg c:\squish\compress.cfg
  1182.          
  1183.         
  1184.         
  1185.                             Optional Squish Support
  1186.         
  1187.         
  1188.         SquishCfg <filename>
  1189.         
  1190.                 It is used to specify the squish configuration file, so
  1191.                 that the path, type (SDM vs Squish) and primary address
  1192.                 for the announcement areas defined with the "AreaTag"
  1193.                 statement can be automatically looked up.
  1194.         
  1195.                 When SquishCfg is defined, if you use "AreaTag <Tag>" to
  1196.                 define announcement areas, the "FromNode <adr>"
  1197.                 statement is only used to override the primary address
  1198.                 specified for that area in Squish.Cfg (including the
  1199.                 -p<address> overrides).
  1200.         
  1201.                 The "Include" keyword of Squish.Cfg is supported: just
  1202.                 be sure to always use the full pathname in the Include
  1203.                 statement if different from the working path.
  1204.         
  1205.                 Both echomail and netmail areas are recognized by their
  1206.                 Squish tags.
  1207.         
  1208.                 Netmail areas will have the Private attribute and no
  1209.                 origin by default. Local overrides are still possible
  1210.                 via local "Origin" and "Attr" statements.
  1211.         
  1212.             Example:
  1213.         
  1214.                 SquishCfg c:\squish\squish.cfg
  1215.         
  1216.         
  1217.         
  1218.                          Optional Maximus 3.xx Support
  1219.         
  1220.         
  1221.         MaxPrm <filename>
  1222.         
  1223.                 If the MAXIMUS environment variable is defined, this
  1224.                 statement is an optional override only.
  1225.         
  1226.                 It is used to take the default for EchoTossLog and to
  1227.                 get the name and location of the files necessary for
  1228.                 filebase updating. The ".prm" extension in <filename>
  1229.                 can be omitted.
  1230.         
  1231.             Example:
  1232.         
  1233.                 MaxPrm d:\bbs\max\max.prm
  1234.         
  1235.         
  1236.         MaxAreaAdd <fileareactl> <lev[/keys]> <acs> [<division>]
  1237.         MaxAreaCompile <command>
  1238.         
  1239.                NEF is able to add new (created) areas to the Maximus
  1240.                filearea.ctl or equivalent.
  1241.         
  1242.         
  1243.                <fileareactl> is the fully qualified name of the Maximus
  1244.                file-area definition file.
  1245.         
  1246.                <lev[/keys]> protects areas of higher privilege from
  1247.                being automatically added to the Maximus configuration.
  1248.                The level and keys are to be compared to those of
  1249.                ProtArea statements and FileBone-format files.
  1250.         
  1251.                <acs> is the Maximus access string to be used in
  1252.                <fileareactl> for the new area.
  1253.         
  1254.                <division> is the optional specification of a division
  1255.                where you want to put new areas. If not specified or not
  1256.                found, the new areas will be appended at the end of
  1257.                <fileareactl>.
  1258.         
  1259.                <command> is an external command to be executed before
  1260.                NEF ends, from the Maximus system directory.
  1261.                It should be used to compile the new Maximus
  1262.                configuration via SILT/SILTP.
  1263.         
  1264.         
  1265.                The area name is taken equal to the area TAG, with dots
  1266.                changed to underscores.
  1267.         
  1268.                The area description is taken from the FileBone-format
  1269.                files if available, otherwise it is taken equal to the
  1270.                area TAG.
  1271.         
  1272.         
  1273.                Example:
  1274.         
  1275.                MaxAreaAdd d:\max\filearea.ctl 0 Transient Tic.New
  1276.                MaxAreaCompile siltp max -a -2a
  1277.         
  1278.                The new areas, will be inserted at the end of division
  1279.                "Tic.New" in the file "d:\max\filearea.ctl", with an
  1280.                access string of "Transient". Areas with protection level
  1281.                above 0 or any protection key will NOT be added to
  1282.                maximus configuration.
  1283.         
  1284.                Before terminating, NEF will invoke the SILTP compiler to
  1285.                update the area configuration. The command will be
  1286.                executed after changing the current directory to the
  1287.                Maximus system one (probably d:\max\).
  1288.         
  1289.         
  1290.         
  1291.         
  1292.         FileBaseUpdate
  1293.         
  1294.                 Requires the MAXIMUS environment variable or the
  1295.                 "MaxPrm" statement _before_ in the cfg.
  1296.         
  1297.                 NEF will automatically update the filebase for all the
  1298.                 areas changed when tossing/hatching new files. No more
  1299.                 need to run external FBP (FB).
  1300.         
  1301.             Example:
  1302.         
  1303.                 FileBaseUpdate
  1304.         
  1305.         
  1306.         
  1307.         UniqueDmpLine
  1308.         
  1309.                 Forces the generation of FILES.DMP filebase files with
  1310.                 descriptions on one line only (multiple lines are
  1311.                 concatenated).
  1312.         
  1313.                 By default, multi-line descriptions are output without
  1314.                 changes to FILES.DMP: when using L)ocate and N)ewfiles
  1315.                 commands, Maximus will respect the original formatting,
  1316.                 but the continuation lines will be aligned to the left.
  1317.         
  1318.                 When this statement is used, the original formatting of
  1319.                 descriptions is lost (in the filebase) but Maximus will
  1320.                 be able to word-wrap and align when executing L)ocate or
  1321.                 N)ewfiles commands.
  1322.         
  1323.         
  1324.         
  1325.         
  1326.                                  TIC Processing
  1327.         
  1328.         
  1329.         NoSecure
  1330.         
  1331.                 Disables the secure mode.
  1332.         
  1333.                 When "NoSecure" is used, NEF will toss incoming files
  1334.                 ignoring errors due to missing password, password
  1335.                 mismatch and missing from-authorization (sender not
  1336.                 linked, sender receive only).
  1337.         
  1338.                 You can also use the "-t" command line switch to toggle
  1339.                 between Secure and NoSecure modes.
  1340.         
  1341.                 Anyway the error will be noted in the logs and <BAD>
  1342.                 message report (see Announce statement).
  1343.         
  1344.             Example:
  1345.         
  1346.                 NoSecure
  1347.         
  1348.         
  1349.         
  1350.         NoReplace <WSEL> ...
  1351.         
  1352.                 The specified <WSEL>s indicate in which areas you do not
  1353.                 want NEF to delete files specified by the "Replaces"
  1354.                 keyword in inbound TICs.
  1355.         
  1356.             Example:
  1357.         
  1358.                 NoReplace *     ; to avoid Replace in all areas
  1359.         
  1360.         
  1361.         
  1362.         GetDizDesc <WSEL> ...
  1363.         
  1364.                 When tossing files, NEF will use the File_Id.Diz
  1365.                 description (if available) for FILES.BBS instead of
  1366.                 the Desc/LDesc lines of the inbound TIC.
  1367.         
  1368.                 Requires CompressCfg
  1369.         
  1370.             Example:
  1371.         
  1372.                 GetDizDesc Desc.Poor.*:/p
  1373.         
  1374.         
  1375.         
  1376.         NoOverWrite
  1377.         
  1378.                 The tossed file will NOT overwrite an existing file of
  1379.                 the same name, unless an explicit "Replaces" keyword is
  1380.                 present in the incoming TIC.
  1381.         
  1382.                 The situation will be handled by triggering a "BAD TIC"
  1383.                 error.
  1384.         
  1385.         
  1386.         
  1387.         CheckCRC
  1388.         
  1389.                 This enables the CRC check of ingoing .TICs.
  1390.                 If an ingoing .TIC has the CRC keyword, the specified
  1391.                 CRC is checked against that of the relative file and an
  1392.                 error is reported in case of mismatch.
  1393.                 Outgoing .TICs will have the CRC only if it is present
  1394.                 in the ingoing one.
  1395.                 TICs originated by NEF (various Hatch modes) will always
  1396.                 have the CRC keyword.
  1397.         
  1398.         
  1399.         
  1400.         Touch [Creation] [Write]
  1401.         
  1402.                 Ingoing files are "touched" while being moved to their
  1403.                 destination directory (i.e. their timestamps are set to
  1404.                 NOW, so that they will be seen as new files by all the
  1405.                 utilities that use the file date-time to compute the age
  1406.                 of files).
  1407.         
  1408.             (OS/2)
  1409.                 There are two optional parameters ("Creation" and
  1410.                 "Write") that allow to configure the type of touch
  1411.                 needed to best suit your environment.
  1412.         
  1413.                 "Creation" -> touch the creation (upload) date
  1414.                 "Write"    -> touch the last-write (modification) date
  1415.         
  1416.                 You can specify either or both options.
  1417.         
  1418.                 When no parameter is used, "Creation" is assumed.
  1419.         
  1420.                 On FAT, the only available date (last-write) is touched
  1421.                 regardless of the Touch options.
  1422.         
  1423.                 On HPFS, the specified date(s) is/are touched.
  1424.         
  1425.                 Usually, you do not need to specify any touch parameter,
  1426.                 so that NEF touches the creation date, not the
  1427.                 modification one, in order to make the files recognized
  1428.                 as new by Maximus and FLM (my File List Manager) without
  1429.                 changing the date that is normally shown and
  1430.                 transferred: you "see" and transfer to your downlinks
  1431.                 the original date of the file while Maximus and FLM are
  1432.                 able to realize that the file is new.
  1433.         
  1434.                 WARNING: if you use some other utility that is not smart
  1435.                 enough to recognize new files from the creation date,
  1436.                 you might need to specify both the "Write" and
  1437.                 "Creation" options.
  1438.         
  1439.             (NT, DOS & OS/2 FAT)
  1440.                 Warning: The original file timestamp is lost and the
  1441.                 downlinks will receive the forwarded files with the new
  1442.                 timestamps.
  1443.         
  1444.         
  1445.             Examples:
  1446.         
  1447.                Touch       ; default: touch the Creation (upload) date
  1448.                Touch Creation              ; same as default
  1449.                Touch Write                 ; touch the Last Write date
  1450.                Touch Creation Write        ; touch both dates
  1451.         
  1452.         
  1453.         
  1454.         KillDate Write|Creation
  1455.         
  1456.             (OS/2)
  1457.                 When the -0<days> switch is used in a FileArea
  1458.                 definition, this statement specifies which date must be
  1459.                 used to evaluate the file age.
  1460.         
  1461.                 This setting is useful for HPFS (which has separate
  1462.                 Write and Creation dates) and ignored for FAT.
  1463.         
  1464.                 If not specified, "Creation" is assumed.
  1465.         
  1466.                 Attention: if you want to delete the files when they
  1467.                 have been on your system for <days> days then you should
  1468.                 choose a date that has been touched on toss (as per
  1469.                 Touch statement).
  1470.         
  1471.             Examples:
  1472.         
  1473.                KillDate Write       ; Use the Write date
  1474.                KillDate Creation    ; same as default
  1475.         
  1476.         
  1477.         
  1478.         MultiLineDesc <nnn> [<c>[ N]]
  1479.         
  1480.                 By default, files.bbs description must be on a single
  1481.                 line; this statement enables Multi-Line support.
  1482.         
  1483.                 <nnn> is the number of spaces that must precede the
  1484.                 continuation lines.
  1485.         
  1486.                 <c> is the continuation character.
  1487.         
  1488.                 If <c> is NOT specified, it is assumed that the
  1489.                 continuation lines must be preceded by <nnn> spaces.
  1490.         
  1491.                 If <c> IS specified, it is assumed that the continuation
  1492.                 lines must be preceded by <nnn> spaces, the <c>
  1493.                 character and one more space.
  1494.         
  1495.                 If N is specified, <c> is not followed by a space.
  1496.         
  1497.                 For example, to have the 2nd and following description
  1498.                 lines in files.bbs start at the 32nd column, use:
  1499.         
  1500.                 MultiLineDesc 31
  1501.         
  1502.                 A description in files.bbs would be like:
  1503.         
  1504.                 Test.Zip This is the first description line
  1505.                                                this is the 2nd line
  1506.                                                this is the 3rd line
  1507.                 ^                             ^^
  1508.                 1                           31  32
  1509.         
  1510.                 To have the continuation lines preceded by a '|'
  1511.                 character and a space, use:
  1512.         
  1513.                 MultiLineDesc 29 |
  1514.         
  1515.                 A description in files.bbs would be like:
  1516.         
  1517.                 Test.Zip This is the first description line
  1518.                                              | this is the 2nd line
  1519.                                              | this is the 3rd line
  1520.                 ^                           ^  ^
  1521.                 1                          29  32
  1522.         
  1523.                 To have the continuation lines preceded by a '|'
  1524.                 character with NO space, use:
  1525.         
  1526.                 MultiLineDesc 30 | N
  1527.         
  1528.                 A description in files.bbs would be like:
  1529.         
  1530.                 Test.Zip This is the first description line
  1531.                                               |this is the 2nd line
  1532.                                               |this is the 3rd line
  1533.                 ^                            ^ ^
  1534.                 1                           30 32
  1535.         
  1536.         
  1537.         
  1538.         NewAreasPath <path>
  1539.         NewAreasFrom <address> [<flags>] [<path>]
  1540.         
  1541.                 <path> is the base directory for new file areas
  1542.                 automatically created by NEF on reception of .TICs with
  1543.                 unknown area TAGs.
  1544.         
  1545.                 <address> is a 4D address that must be enabled to
  1546.                 automatically create new areas.
  1547.         
  1548.                 <flags> represent the <flags> that will be
  1549.                 used for the newly created areas (see FileArea).
  1550.         
  1551.                     I|O|* Default creation direction.
  1552.                         If not used, O is assumed.
  1553.                         If the tag is referenced in a FileBone file, the
  1554.                         direction specified there overrides this one.
  1555.         
  1556.                     -0[<days>]
  1557.                     -p<acc>
  1558.                     -P<acc>
  1559.                     #<aka>
  1560.                     @<aka>
  1561.                         The specified flags will be used for the new
  1562.                         FileArea statement.
  1563.         
  1564.                 The <path> in "NewAreasFrom" is an override for the
  1565.                 default specified in "NewAreasPath".
  1566.         
  1567.                 Any number of NewAreasFrom statements can be used.
  1568.         
  1569.                 While adding new areas, NEF will NOT re-order the
  1570.                 existing ones, anyway it will respect an existing
  1571.                 alphabetical order.
  1572.         
  1573.             Example:
  1574.         
  1575.                 NewAreasPath c:\file
  1576.                 NewAreasFrom 2:331/110
  1577.                 NewAreasFrom 9:1/1 #9:999/999.9
  1578.                 NewAreasFrom 9:2/2 -0 -P100 d:\fido\passthru\
  1579.         
  1580.                 Let's suppose we have received a .TIC for area NEWAREA,
  1581.                 which is not currently defined:
  1582.                 - if it is coming from an address different from
  1583.                   2:331/110, 9:1/1 and 9:2/2 -> an error is reported.
  1584.                 - if it is coming from 2:331/110 -> a new area is
  1585.                   created with path c:\file\NEWAREA.
  1586.                 - if it is coming from 9:1/1 -> a new area is created
  1587.                   with path c:\file\NEWAREA and it is configured so that
  1588.                   NEF will use 9:999/999.9 (which must be an aka
  1589.                   previously defined in an Address statement) as the
  1590.                   from-address for outgoing .TICs.
  1591.                 - if it is coming from 9:2/2 -> a passthru area is
  1592.                   created with path d:\fido\passthru\NEWAREA and
  1593.                   protected with privilege 100.
  1594.         
  1595.         
  1596.         
  1597.         DescStart "<string>" <WSEL> ...
  1598.         
  1599.                 This allows to add <string> at the head of files.bbs
  1600.                 descriptions while tossing files from area TAGs that
  1601.                 match one of the <WSEL> specifications.
  1602.         
  1603.                 This statement is useful for people using download
  1604.                 counters and/or maximus flags for free download.
  1605.         
  1606.             Example:
  1607.         
  1608.                 DescStart "/bt [00] " 1* 2*
  1609.         
  1610.                 This adds "/bt [00] " at the head of files.bbs
  1611.                 descriptions while tossing files from areas whose TAG
  1612.                 begins with '1' or '2'.
  1613.         
  1614.         
  1615.         
  1616.         TagFwd <OrgTag> <FwdTag> <FileSpec> [<FileSpec> ...]
  1617.         
  1618.                 This allows to forward files from an area to another.
  1619.         
  1620.                 <OrgTag> and <FwdTag> are area TAGs.
  1621.                 <FileSpec> is a file specification that accepts the OS/2
  1622.                 style wildcards (?,*).
  1623.         
  1624.                 All ingoing files of area <OrgTag> which match one of
  1625.                 the <FileSpec>s are forwarded to area <FwdTag>.
  1626.                 This way you can split or merge areas.
  1627.         
  1628.             Example:
  1629.         
  1630.                 TagFwd 1-Comm Bbs AC*n prova.*
  1631.                 TagFwd 1-Data bbs *
  1632.                 TagFwd 1-DITO BBS *
  1633.                 TagFwd 1-Comm BBO *
  1634.                 TagFwd ISNMAIN POINTLST ptlist.* ptdoc.*
  1635.         
  1636.                 Files AC*n and prova.* coming from area 1-Comm and all
  1637.                 the files coming from 1-Data and 1-DITO are forwarded to
  1638.                 area BBS.
  1639.         
  1640.                 All the files from 1-COMM are also forwarded to area
  1641.                 BBO.
  1642.         
  1643.                 Files ptlist.* and ptdoc.* from area ISNMAIN are
  1644.                 forwarded to area POINTLST.
  1645.         
  1646.         
  1647.         
  1648.         FeatureLoad <DllName>
  1649.         
  1650.                 (OS/2) Loads a "Feature" DLL, to allow third party
  1651.                 extensions to NEF.
  1652.         
  1653.                 <DllName> can be a simple filename without extension
  1654.                 (".DLL" implied) if the DLL is in the LibPath, otherwise
  1655.                 a fully qualified filename (extension included) can be
  1656.                 specified.
  1657.         
  1658.         Feature <cfgline>
  1659.         
  1660.                 (OS/2) Allows to specify configuration statements that
  1661.                 are to be parsed by the DLL loaded with the previous
  1662.                 FeatureLoad.
  1663.         
  1664.             Note:
  1665.                 Multiple FeatureLoad statements are allowed, in which
  1666.                 case the Feature statements refer to the last loaded
  1667.                 DLL.
  1668.         
  1669.             Example:
  1670.         
  1671.                 FeatureLoad MyDll
  1672.                 Feature CfgItem1 "This is Item 1"
  1673.                 Feature CfgItem2 "This is Item 2"
  1674.         
  1675.         
  1676.         
  1677.                                TIC Announcements
  1678.         
  1679.         
  1680.         Each announcement area is defined by a dedicated group of
  1681.         statements. Many of these statements can be used before the
  1682.         first announcement area definition to establish defaults to be
  1683.         used in all subsequent area definitions, thus avoiding the need
  1684.         to unnecessarily repeat common statements.
  1685.         
  1686.         
  1687.                                 Global Keywords
  1688.         
  1689.             Statements that can be used before area definitions to set
  1690.             defaults (please note that all these statements can be
  1691.             overridden in each area definition).
  1692.         
  1693.         
  1694.         FromNode <address>
  1695.         
  1696.                 This specifies the 4D address to be used as the
  1697.                 from-address in the announcement messages: it is used in
  1698.                 the header, in the Origin and in the MSGID. Usually, it
  1699.                 should be your primary address.
  1700.         
  1701.             Example:
  1702.         
  1703.                 FromNode     2:332/504.0
  1704.         
  1705.         
  1706.         
  1707.         ToNode <address>
  1708.         
  1709.                 This specifies the 4D address to be used as the
  1710.                 to-address in the announcement messages: it is used in
  1711.                 the header. Usually, for echo area announcements, it
  1712.                 should be the same as in FromNode.
  1713.         
  1714.             Example:
  1715.         
  1716.                 ToNode       2:332/504.0
  1717.         
  1718.         
  1719.         
  1720.         From <name>
  1721.         
  1722.                 This specifies the name to be used as the from-name in
  1723.                 the announcement messages. Usually it should be the
  1724.                 SysOp name.
  1725.         
  1726.             Example:
  1727.         
  1728.                 From         Alberto Pasquale
  1729.         
  1730.         
  1731.         
  1732.         To <name>
  1733.         
  1734.                 This specifies the name to be used as the to-name in the
  1735.                 announcement messages. Usually it should be "All".
  1736.         
  1737.             Example:
  1738.         
  1739.                 To           All
  1740.         
  1741.         
  1742.         
  1743.         Subj <subject>
  1744.         
  1745.                 This specifies the string to be used as the subject in
  1746.                 the announcement messages.
  1747.         
  1748.             Note:
  1749.         
  1750.                 If the Subj text contains the ';' character, it MUST
  1751.                 be enclosed in quotes '"', otherwise it will be taken as
  1752.                 the start of a comment.
  1753.         
  1754.             Examples:
  1755.         
  1756.                 Subj    New Echo Files
  1757.                 Subj    "New files; OS/2 BBS"
  1758.         
  1759.         
  1760.         
  1761.         Attr [P][K][C|H|D|N|O]
  1762.         
  1763.                 This specifies the attributes to be used in the
  1764.                 announcement messages. Usually no special attribute is
  1765.                 necessary, except for private announcements in the
  1766.                 netmail area.
  1767.         
  1768.                 The available attributes are:
  1769.                 P -> Private
  1770.                 K -> Kill/Sent
  1771.                 C -> Crash
  1772.                 H -> Hold
  1773.                 D -> Direct (equivalent to "CH")
  1774.                 N -> Normal (default)
  1775.                 O -> Normal (default)
  1776.         
  1777.                 The required attributes can be listed in any order and
  1778.                 are not case sensitive.
  1779.         
  1780.             Examples:
  1781.         
  1782.                 Attr            ; no attributes
  1783.                 Attr N          ; no attributes (Normal flavour)
  1784.                 Attr PK         ; Private and Kill/Sent
  1785.                 Attr PC         ; Private and Crash
  1786.                 Attr PDK        ; Private, Direct, and Kill/Sent
  1787.         
  1788.         
  1789.         
  1790.         HighAsciiOk
  1791.         
  1792.                 Grants permission for High Ascii codes (> 127) in file
  1793.                 descriptions.
  1794.         
  1795.         
  1796.         
  1797.         Prefix <filename>
  1798.         
  1799.                 This specifies the file containing the prefix text for
  1800.                 announcement messages: it is put at the head of the
  1801.                 message body, just before the real announcement lines.
  1802.                 It should usually contain something like "New Echo Files
  1803.                 Received:".
  1804.         
  1805.             Example:
  1806.         
  1807.                 Prefix       d:\bbs\NEF\PREFIX.NEF
  1808.         
  1809.         
  1810.         
  1811.         Suffix <filename>
  1812.         
  1813.                 This specifies the file containing the suffix text for
  1814.                 announcement messages: it is put at the end of the
  1815.                 message body, just before the tear-line and the Origin.
  1816.                 It should usually contain something like "File Request
  1817.                 open to everybody between 06:00 and 23:00 GMT".
  1818.         
  1819.             Example:
  1820.         
  1821.                 Suffix       d:\bbs\NEF\SUFFIX.NEF
  1822.         
  1823.         
  1824.         
  1825.         Origin <origin>
  1826.         
  1827.                 This specifies the text to be used as the Origin in
  1828.                 announcement messages. The required " * " will
  1829.                 automatically be added at the head and the address at
  1830.                 the end, truncating <origin> if necessary to fit the 79
  1831.                 character maximum length.
  1832.                 To disable the Origin (e.g. in netmail area) use an
  1833.                 empty origin string.
  1834.         
  1835.             Note:
  1836.         
  1837.                 If the Origin text contains the ';' character, it MUST
  1838.                 be enclosed in quotes '"', otherwise it will be taken as
  1839.                 the start of a comment.
  1840.         
  1841.             Examples:
  1842.         
  1843.                 Origin       <ApWorks Modena I><Tel.+39-59-246112/3>
  1844.                 Origin       "ApWorks Modena I; +39-59-246112/3"
  1845.                 Origin       ; empty origin to disable origin generation
  1846.         
  1847.         
  1848.         
  1849.         AnnExclude <filespec> ...
  1850.         
  1851.                 The specified files are excluded from announcements.
  1852.         
  1853.                 When this statement is used inside an announcement-area
  1854.                 definition block, it specifies _additional_ exclusions
  1855.                 (besides those of a global statement, if present).
  1856.         
  1857.         
  1858.                                 Area Definition
  1859.         
  1860.             All the preceding statements can be used both before
  1861.             announcement area definitions (to set defaults) and inside
  1862.             each definition to override the defaults.
  1863.         
  1864.         
  1865.         AreaTag <Tag> [<path> [-$]]
  1866.         AreaPath <path> [-$]
  1867.         
  1868.                 One of these statements starts the definition of an
  1869.                 announcement area.
  1870.         
  1871.                 <Tag> is the area TAG, to be logged to EchoTossLog
  1872.                 provided this is not a NetMail area.
  1873.         
  1874.                 <path> is the directory for the *.MSG format or the full
  1875.                 filename (no extension) for the Squish base.
  1876.         
  1877.                 -$ specifies the use of the Squish format.
  1878.         
  1879.         
  1880.             AreaTag <Tag>
  1881.         
  1882.                 This is the form to be generally used when SquishCfg is
  1883.                 defined.
  1884.         
  1885.                 <Tag> will be looked up in SquishCfg to find the
  1886.                 corresponding path, message-base type and primary
  1887.                 address.
  1888.         
  1889.                 A local "FromNode" statement can be used to override the
  1890.                 primary address for the area (including -p<address>
  1891.                 specifications) found in SquishCfg.
  1892.         
  1893.                 If this is an EchoArea, its <Tag> will be output to the
  1894.                 EchoTossLog whenever a message is written to this area.
  1895.         
  1896.                 If this is a NetArea, as a default, the Origin will not
  1897.                 be used and the Private attribute will be set; you can
  1898.                 override this with local "Origin" and "Attr" statements.
  1899.         
  1900.         
  1901.             AreaTag <Tag> <path> [-$]
  1902.         
  1903.                 This is the form to be used for EchoMail areas when
  1904.                 SquishCfg is not defined or you want to override its
  1905.                 information AND you want <Tag> to be logged to
  1906.                 EchoTossLog.
  1907.         
  1908.         
  1909.             AreaPath <path> [-$]
  1910.         
  1911.                 This is the form to be used when SquishCfg is not
  1912.                 defined AND you do not need to log a <Tag> to
  1913.                 EchoTossLog (NetMail areas or no EchoTossLog defined).
  1914.         
  1915.             Notes:
  1916.         
  1917.                 Any of the statements described above in this
  1918.                 "Announcements" section can be used after the
  1919.                 AreaTag/AreaPath statement to override the defaults for
  1920.                 this announcement area only.
  1921.         
  1922.                 Please note that you can use different AreaTag/AreaPath
  1923.                 definitions with the same message area Tag/Path, in
  1924.                 order to announce different file areas in different
  1925.                 messages but in the same message area.
  1926.         
  1927.             Examples:
  1928.         
  1929.                 AreaTag OS2BBS
  1930.                 AreaTag OS2BBS d:\bbs\mail\os2bbs -$
  1931.                 AreaPath d:\bbs\mail\net
  1932.         
  1933.         
  1934.         
  1935.         Announce <WSEL> ...
  1936.         NoAnnounce <WSEL> ...
  1937.         
  1938.                 This defines the list of file areas to be announced in
  1939.                 the current announcement message area (the one defined
  1940.                 by the previous AreaTag/AreaPath statement).
  1941.         
  1942.                 Multiple statements are allowed.
  1943.         
  1944.                 All the areas that match one of the <WSEL>s in "Announce"
  1945.                 and do not match any of the <WSEL>s in "NoAnnounce" are
  1946.                 announced in the current area.
  1947.         
  1948.                 Obviously you can omit the "NoAnnounce" statement if you
  1949.                 do not need to exclude areas that have been included via
  1950.                 the "Announce" statement.
  1951.         
  1952.                 "Announce *" makes all the file areas announced.
  1953.         
  1954.             Special tags:
  1955.         
  1956.                 The following "special tags" can be used in "Announce"
  1957.                 or "NoAnnounce" statements as if they were normal area
  1958.                 TAGs, but are not included in the "*" wildcard (i.e.
  1959.                 "Announce *" does not make them announced).
  1960.         
  1961.                 "<BAD>" is used to announce all the TICs that have been
  1962.                 processed with some error.
  1963.         
  1964.                 "<NEW>" is used to announce the areas just
  1965.                 created by NEF.
  1966.         
  1967.                 "<DEF>" is used to announce all the files that have not
  1968.                 been announced elsewhere. A separate announcement is
  1969.                 generated after all other announcements have been
  1970.                 completed, even if "<DEF>" is listed together with other
  1971.                 TAGs.
  1972.         
  1973.                 "<OUT>" is used to make a concise outbound report when
  1974.                 the OUT or OUTVIEW command line option is used.
  1975.                 Subj, Prefix and Suffix are ignored.
  1976.         
  1977.                 "<OUTVIEW>" is used to make a detailed outbound report
  1978.                 when the OUT or OUTVIEW command line option is used.
  1979.                 Subj, Prefix and Suffix are ignored.
  1980.         
  1981.                 "<THRU>" represents all passthru areas. If you want to
  1982.                 keep NEF from announcing files received in PassThru
  1983.                 areas, just use "NoAnnounce <THRU>".
  1984.         
  1985.             Examples:
  1986.         
  1987.                 Announce UTILNET SOFTDIST SDS*
  1988.                 NoAnnounce SDSOTH <THRU>
  1989.         
  1990.                 This announces the file areas with tag "UTILNET",
  1991.                 "SOFTDIST" and all those whose TAG starts with "SDS" but
  1992.                 not "SDSOTH" or passthru areas.
  1993.         
  1994.                 Announce PRIVFILE <BAD> <NEW> <DEF>
  1995.         
  1996.                 This announces area "PRIVFILE", all the TICs that
  1997.                 have been processed with errors and the newly created
  1998.                 areas; at the end, in a separate message, it announces
  1999.                 the files that have not been announced elsewhere.
  2000.         
  2001.                 Announce SPECIAL <OUT>
  2002.         
  2003.                 This announces the file area with tag "SPECIAL"; at the
  2004.                 end, in a separate message, it creates a concise report
  2005.                 of the outbound.
  2006.         
  2007.                 Announce SPECIAL <OUTVIEW>
  2008.         
  2009.                 This announces the file area with tag "SPECIAL"; at the
  2010.                 end, in a separate message, it creates a verbose report
  2011.                 of the outbound.
  2012.         
  2013.         
  2014.         
  2015.         
  2016.             Complete example of the announcement definition section,
  2017.             SquishCfg defined:
  2018.         
  2019.         ----------------------------------------------------------------
  2020.         
  2021.           ; Defaults definition
  2022.         
  2023.             FromNode     2:332/504.0
  2024.             ToNode       2:332/504.0
  2025.             From         Alberto Pasquale
  2026.             To           All
  2027.             Subj         New Echo Files
  2028.             Attr
  2029.             Prefix       PREFIX.NEF
  2030.             Origin       ApWorks Modena I (+39-59-246112/3)
  2031.             Suffix       SUFFIX.NEF
  2032.         
  2033.           ; Announcement areas: each statement is local to the preceding
  2034.           ; AreaTag and overrides the default one.
  2035.         
  2036.             AreaTag      APWORKS
  2037.             Announce     APBBS*
  2038.             Prefix       RelPre.NEF
  2039.             Subj         New ApWorks files
  2040.         
  2041.             AreaTag      OS2BBS
  2042.             Announce     APBBS*
  2043.             NoAnnounce   *DOS*
  2044.             Prefix       RelPre.NEF
  2045.             Subj         New APBBS files
  2046.         
  2047.             AreaTag      LOCAL_332.504
  2048.             Announce     *:100/f
  2049.             AnnExclude   NODE*
  2050.             Subj         New Files on ApWorks
  2051.         
  2052.             AreaTag      NETMAIL
  2053.             Announce     <OUTVIEW> <DEF>
  2054.             From         NEF
  2055.             To           Alberto Pasquale
  2056.             Subj         Not Announced Elsewhere
  2057.             HighAsciiOk
  2058.         
  2059.             AreaTag      NETMAIL
  2060.             Announce     <BAD>
  2061.             From         NEF
  2062.             To           Alberto Pasquale
  2063.             ToNode       2:332/504.1
  2064.             Subj         Processed with Errors
  2065.         
  2066.             AreaTag      NETMAIL
  2067.             Announce     <NEW>
  2068.             From         NEF
  2069.             To           Alberto Pasquale
  2070.             ToNode       2:332/504.1
  2071.             Subj         New Areas created by NEF
  2072.         
  2073.         ----------------------------------------------------------------
  2074.         
  2075.             Complete example of the announcement definition section,
  2076.             SquishCfg NOT defined:
  2077.         
  2078.         ----------------------------------------------------------------
  2079.         
  2080.           ; Defaults definition
  2081.         
  2082.             FromNode     2:332/504.0
  2083.             ToNode       2:332/504.0
  2084.             From         Alberto Pasquale
  2085.             To           All
  2086.             Subj         New Echo Files
  2087.             Attr
  2088.             Prefix       PREFIX.NEF
  2089.             Origin       <ApWorks Modena I><Tel.+39-59-246112/3>
  2090.             Suffix       SUFFIX.NEF
  2091.         
  2092.           ; Announcement areas: each statement is local to the preceding
  2093.           ; AreaPath and overrides the default one.
  2094.         
  2095.             AreaTag      SWN_332.500 d:\msg\swn -$
  2096.             Announce     UTILNET
  2097.             Subj         UTILNET file news
  2098.         
  2099.             AreaTag      SWN_332.500 d:\msg\swn -$
  2100.             Announce     *:100/f SDS* ECHO-* FTSC NEWSLETR
  2101.             NoAnnounce   ECHO-R*
  2102.             Subj         SDS/NEWS file news
  2103.         
  2104.             AreaPath     d:\msg\net -$    ; Netmail to the SysOp
  2105.             Announce     NODE* POINTLST <BAD> <NEW> <DEF> <OUTVIEW>
  2106.             From         NEF
  2107.             To           Alberto Pasquale
  2108.             ToNode       2:332/504.1
  2109.             Subj         Reserved file news
  2110.             Attr         PK      ; This must be private and kill/sent
  2111.             Origin               ; No Origin for netmail !
  2112.         
  2113.         ----------------------------------------------------------------
  2114.         
  2115.         
  2116.         
  2117.         
  2118.                                FileFix Link Robot
  2119.         
  2120.         
  2121.         It's the traditional "Raid" or "TicFix" function: it allows
  2122.         downlinks (but also special uplinks) to link/unlink file areas
  2123.         via a netmail message.
  2124.         
  2125.         The message should have the agreed password as the subject,
  2126.         possibly followed by some switch.
  2127.         The required password is that defined in the "FileLink"
  2128.         statement described below.
  2129.         
  2130.         The body of the message contains the commands.
  2131.         There can be several commands on a single line provided they are
  2132.         separated by blanks.
  2133.         
  2134.         Password, switches and commands are case insensitive.
  2135.         
  2136.         Switches that can be used in the subject, after the password,
  2137.         only the _first_ letter is required (and checked):
  2138.         
  2139.             -Help           Help.
  2140.             -Query          List all areas (linked and available).
  2141.             -Linked         List linked areas.
  2142.             -Unlinked       List unlinked areas.
  2143.         
  2144.         
  2145.         The commands available for the message body are:
  2146.         
  2147.             [+]<WTAG>
  2148.                 Links all the areas whose TAG matches <WTAG>.
  2149.                 The '+' character is optional (useful in the case <WTAG>
  2150.                 starts with the '-' character).
  2151.         
  2152.             -<WTAG>
  2153.                 Unlinks all the areas whose TAG matches <WTAG>.
  2154.         
  2155.             %Help        same as -h
  2156.             %Query       same as -q
  2157.             %List        same as -q
  2158.             %Linked      same as -l
  2159.             %Unlinked    same as -u
  2160.         
  2161.             Note: you can use the '?' character in the place of '%'.
  2162.             This is useful when using the FileFix command line option,
  2163.             to avoid that the command line interpreter takes the '%'
  2164.             as the start of an environment variable name.
  2165.         
  2166.         Example:
  2167.         
  2168.                 From: John Doe of 2:332/580.0
  2169.                 To:   Nef      of 2:332/504.0
  2170.                 Subj: Secret -H
  2171.                 -----------------------------
  2172.                 %Query
  2173.                 1* -1-COMM
  2174.                 +2*
  2175.                 -2-WINDOW
  2176.                 ---
  2177.         
  2178.                 The Help and Query commands are invoked, all areas whose
  2179.                 tag begins with '1' are linked, area "1-COMM" is
  2180.                 unlinked, all areas whose tag begins with '2' are linked
  2181.                 and area "2-WINDOW" is unlinked.
  2182.         
  2183.         Notes:
  2184.                 The actual order of command execution is based on the
  2185.                 area definition order. NEF scans the defined areas from
  2186.                 the first to the last one only once, applying for each
  2187.                 area all the pertinent commands.
  2188.         
  2189.                 If a link in a FileArea statement is not properly
  2190.                 defined in a FileLink one, it is removed when the
  2191.                 Link Robot re-writes that FileArea statement in
  2192.                 execution of an Add or Delete command.
  2193.         
  2194.                 While re-writing areas, the Link Robot will NOT re-order
  2195.                 the links. However it will respect an existing order
  2196.                 while adding new links.
  2197.         
  2198.                 If Area aka overrides are used, they are reported by
  2199.                 Area-List commands.
  2200.         
  2201.         
  2202.         
  2203.         AutoLink <name>
  2204.         
  2205.                 The robot will answer to the messages addressed to one
  2206.                 of the addresses defined in the "system" section and to
  2207.                 one of the names defined in the AutoLink statements.
  2208.                 You can use as many AutoLink statements as you need to
  2209.                 define all the akas you like.
  2210.                 If no AutoLink statement is used, then the Link Robot is
  2211.                 disabled.
  2212.         
  2213.             Example:
  2214.         
  2215.                 AutoLink NEF
  2216.                 AutoLink Raid
  2217.                 AutoLink TicFix
  2218.         
  2219.         
  2220.         NetMail <path> [-$] [-p<adr>]
  2221.         
  2222.                 This defines a netmail area to be searched for messages
  2223.                 addressed to the robot. You can use as many NetMail
  2224.                 statements as you need.
  2225.         
  2226.                 The optional -$ indicates a Squish format area.
  2227.         
  2228.                 The optional "-p<adr>" specifies the primary (default)
  2229.                 address for the area.
  2230.         
  2231.                 When multiple NetMails are defined, NEF needs <adr> to
  2232.                 choose (via zone matching) the right area where to write
  2233.                 the messages addressed to the FileBone's "FileFix" robot.
  2234.         
  2235.                 Usually all but the first netmail statements should
  2236.                 contain a primary address specification.
  2237.         
  2238.                 Note: when a Squish base is used, a pointer to the last
  2239.                 scanned message is stored in <path>.NEF, so that next
  2240.                 scan will consider new messages only.
  2241.         
  2242.             Example:
  2243.         
  2244.                 NetMail d:\msg\fidonet -$              ; default
  2245.                 NetMail d:\msg\os2net  -$ -p89:456/789 ; OS2Net
  2246.         
  2247.         
  2248.         
  2249.         KillReceived
  2250.         
  2251.                 This keyword instructs NEF to kill messages addressed to
  2252.                 the Link Robot after the execution of the contained
  2253.                 commands. When commented out, the messages are marked as
  2254.                 received instead of being erased.
  2255.         
  2256.         
  2257.         AreaDescWrap <indent> <right>
  2258.         
  2259.                 The descriptions returned by the "FileFix" functions
  2260.                 will be word-wrapped so that continuation lines start
  2261.                 with <indent> spaces and do not exceed column <right>.
  2262.         
  2263.             Example:
  2264.         
  2265.                 AreaDescWrap 25 79
  2266.         
  2267.         
  2268.         
  2269.         HelpFile <filename>
  2270.         
  2271.                 This keyword defines the file to be put into the Link
  2272.                 Robot's answer in reply to a Help request.
  2273.         
  2274.                 Usually this file contains instructions for using the
  2275.                 Link Robot.
  2276.         
  2277.             Example:
  2278.         
  2279.                 HelpFile d:\bbs\nef\NefHelp.Txt
  2280.         
  2281.         
  2282.         
  2283.         ProtArea <WTAG> <ACS>
  2284.         
  2285.                 This keyword allows to selectively protect areas from
  2286.                 automatic linking. Unlinking is always possible.
  2287.         
  2288.                 The protection scheme is based on the traditional
  2289.                 combination of level and keys.
  2290.         
  2291.                 <WTAG>  specifies the TAG or group of TAGs to be
  2292.                         protected.
  2293.                 <ACS>   is the access privilege required for access.
  2294.         
  2295.                 When processing an area TAG, NEF scans the ProtArea
  2296.                 statements from the first one to the last one: the first
  2297.                 matching <WTAG> determines the protection level and
  2298.                 keys. If no match is found then the area gains maximum
  2299.                 protection.
  2300.         
  2301.                 Usually it's convenient to override the default maximum
  2302.                 protection so that you can list only a few special areas
  2303.                 with their protection level and keys while letting all
  2304.                 the others get a default NULL protection (automatic
  2305.                 linking for everybody). To accomplish this result, you
  2306.                 can use a "ProtArea * 0" as the last ProtArea statement.
  2307.         
  2308.                 Please, note that the order of the ProtArea statements is
  2309.                 _essential_, since they area scanned from the first one
  2310.                 to the last one in search for a match between the TAG in
  2311.                 examination and the <WTAG> of the ProtArea statements.
  2312.         
  2313.             Example:
  2314.         
  2315.                 ProtArea PRIVATE  1000/12ABC  ; Protected private area
  2316.         
  2317.                 ProtArea 1*       100/P       ; Areas starting with '1'
  2318.                                               ; are not for everybody.
  2319.         
  2320.                 ProtArea *        0           ; The remaining areas are
  2321.                                               ; for everybody.
  2322.         
  2323.         
  2324.         
  2325.                                 FileBone Support
  2326.         
  2327.         
  2328.         NEF is able to use information distributed via the FileBone.Na
  2329.         and FileBone.No files.
  2330.         
  2331.         Many useful functions are allowed by the use of these files, so,
  2332.         even if you do not receive them from your uplink, you could
  2333.         evaluate the possibility of creating "FileBone-style" files on
  2334.         your own, just to store some information that can be retrieved
  2335.         by NEF.
  2336.         
  2337.         When FileBone-style files are used:
  2338.         
  2339.         - The Query command reports the areas available on the FileBone,
  2340.           in addition to those that are not linked to the downlink but
  2341.           already available on the local system.
  2342.         
  2343.         - Area descriptions can be returned by FileFix commands.
  2344.         
  2345.         - Level and Keys protect areas from "FileFix" linking.
  2346.           A node is entitled to add an area only if it has level and
  2347.           keys that match the requirements from BOTH the "ProtArea"
  2348.           statements in Nef.Cfg and the <lev>[/<keys>] specification
  2349.           in a FileBone format file (if available).
  2350.         
  2351.         - Requests for unlinked areas can be forwarded to the FileBone.
  2352.         
  2353.           The requests that have been forwarded to some uplink are
  2354.           stored in a file named after the configuration one, changing
  2355.           the extension to ".Fwd". Usually the configuration file is
  2356.           "Nef.Cfg", so the forwarded requests will be stored in
  2357.           "Nef.Fwd".
  2358.         
  2359.           The format is: <Tag> <Addr>, i.e. every line contains a Tag
  2360.           followed by the 4D Address of the downlink that made the
  2361.           request.
  2362.         
  2363.           When a new area is created, NEF looks into this file in order
  2364.           to find nodes to be added to the new "FileArea" definition.
  2365.         
  2366.           If a requested (and not yet defined) Tag is found in two or
  2367.           more FileBone files, the request is forwarded to the uplink
  2368.           defined in the first FileBone statement only.
  2369.         
  2370.           Don't mind if the Nef.Fwd file contains multiple entries for
  2371.           the same Tag. This can happen when multiple requests for the
  2372.           same area have been received. When the first file comes in
  2373.           and the area is created, all entries will be deleted while
  2374.           the link will be added once.
  2375.           
  2376.         
  2377.         
  2378.         FileBone <file> [<acc>] [<fm> <to> <toadr> <fwdacc> [<pre>]]
  2379.         
  2380.                 Multiple FileBone statements are allowed; in the case of
  2381.                 duplicate TAGs, the first encountered entry is used.
  2382.         
  2383.                 <file> is the filename of the FileBone-style file.
  2384.         
  2385.                 <acc> is a <ACS> specification that protects the areas
  2386.                       listed in <file>.
  2387.         
  2388.                 If you want to enable the forward of requests for new
  2389.                 areas from your downlinks to your uplink(s), you must
  2390.                 specify the following fields (to be enclosed between
  2391.                 quotes when containing space) so that they can be used
  2392.                 to write netmail messages to your uplink's FileFix:
  2393.         
  2394.                 <fm> is the "from" name.
  2395.         
  2396.                 <to> is the "to" name.
  2397.         
  2398.                 <toadr> is the "to" 4D address.
  2399.         
  2400.                 <fwdacc> is a <ACS> specification, to limit the access
  2401.                       of downlinks to request forwards addressed to
  2402.                       <toadr> for the areas described in <file>.
  2403.         
  2404.                 <pre> is an optional string to be prefixed to the area
  2405.                       Tags that are being requested.
  2406.         
  2407.             Examples:
  2408.         
  2409.                 FileBone \bbs\FileBone.Na "John Doe" SysOp 2:332/1 0
  2410.         
  2411.                 The "\bbs\FileBone.Na" file is used by NEF, also for
  2412.                 request forwards.
  2413.         
  2414.                 When a downlink requests an area that is not currently
  2415.                 defined in the NEF configuration (usually TicArea.Cfg)
  2416.                 but is described in FileBone.Na, a netmail message is
  2417.                 written by NEF from "John Doe" to "SysOp" of 2:332/1
  2418.                 using the appropriate "from address" aka and "subject"
  2419.                 (password) as per the "FileLink" definition of 2:332/1.
  2420.                 The body contains a list of the requested area Tags, one
  2421.                 per line.
  2422.         
  2423.                 No (<acc> = "0") protection is specified (any downlink
  2424.                 has access to request forwards).
  2425.         
  2426.         
  2427.                 FileBone \bbs\FB.SP 10/f "John Doe" SysOp 2:332/1 30/a +
  2428.         
  2429.                 The visibility of FB.SP information is limited to
  2430.                 filelinks having level equal or above 10 and the 'f'
  2431.                 key.
  2432.         
  2433.                 The access to request forwards is limited to filelinks
  2434.                 having level equal or above 30 and the 'a' key.
  2435.         
  2436.                 The requested tags will be preceded by "+".
  2437.         
  2438.                 If you need a space between the '+' and the tag, then you
  2439.                 must specify a <pre> that contains a space, so you have
  2440.                 to enclose it in quotes:
  2441.         
  2442.                 FileBone \bbs\FB.SP "John Doe" SysOp 2:332/1 0 "+ "
  2443.         
  2444.         
  2445.                                 FileBone Format
  2446.         
  2447.         The format for the filebone style is:
  2448.         
  2449.           Area <Tag> <lev>[/<keys>] <flags> <desc>
  2450.         
  2451.           <Tag>
  2452.                   is the TIC area Tag.
  2453.                   The original filebone format allows 8 character
  2454.                   maximum but NEF is not that limited.
  2455.         
  2456.           <lev>
  2457.                   is the protection level of the area, for "FileFix"
  2458.                   functions.
  2459.                   The original format allows the range 0-4095 while NEF
  2460.                   allows 0-65535.
  2461.         
  2462.           <keys>
  2463.                   are a set of protection keys (1..8, A..X).
  2464.                   Not available in the original FileBone format.
  2465.         
  2466.           <flags>
  2467.                 is a combinaton of !.*& and possibly other characters.
  2468.         
  2469.                 By default (no flags) the area is uni-directional, from
  2470.                 the uplink to the defined downlinks.
  2471.         
  2472.                 ! : Can be found at any Filebone Hub.
  2473.                 . : Only on some Filebone Hubs.
  2474.                 * : Any node can hatch into.
  2475.                 & : Do not send to downlinks.
  2476.         
  2477.            Others : Private distribution.
  2478.         
  2479.            Examples:
  2480.         
  2481.                 !
  2482.                     normal area from the uplink to its downlinks,
  2483.                     available on all Filebone Hubs.
  2484.         
  2485.               !*&
  2486.                     return channel from the downlinks to the
  2487.                     uplink, available on all Filebone Hubs.
  2488.         
  2489.                .*
  2490.                     bidirectional area (any node can hatch into),
  2491.                     available on some Filebone hubs only.
  2492.         
  2493.         
  2494.           <desc>
  2495.                 is the description for the area.
  2496.         
  2497.         
  2498.           Example:
  2499.         
  2500.           Area APBBS    0   P ApWorks OS/2 BBS programs
  2501.           Area NODEDIFF 0/f ! FidoNet: Weekly NodeList Updates
  2502.         
  2503.         
  2504.         
  2505.         ForwardWildReq
  2506.         
  2507.                 When a FileFix "Add" request contains wildcards, by
  2508.                 default it is NOT forwarded to the filebone.
  2509.                 This verb enables even this type of request forward.
  2510.         
  2511.         
  2512.         
  2513.                                 Link Definitions
  2514.         
  2515.         
  2516.         The FileLink statement is used to define a link, specifying its
  2517.         password, attributes and privileges.
  2518.         
  2519.         The FileArea statement is used to define a file area, specifying
  2520.         its type and the list of connected systems (that must be defined
  2521.         via FileLink statements).
  2522.         
  2523.         
  2524.         FileLink <address> <password> [#<address>] <flags>
  2525.                  [<attr> [<ACS> [<WSEL> ...]]]
  2526.         
  2527.                 The parameters of this keyword have been represented on
  2528.                 two lines because of space, but they MUST be listed on a
  2529.                 unique line in the .cfg file.
  2530.         
  2531.                 This keyword defines a file link; you must use a
  2532.                 FileLink statement for each of your links (both
  2533.                 downlinks and uplinks).
  2534.         
  2535.         
  2536.                 <address>
  2537.                            is the 4D address of the link.
  2538.         
  2539.                 <password>
  2540.                            is the case insensitive password to be used
  2541.                            for all TIC exchanges and for the Link Robot
  2542.                            function. NEF has no limit for the password
  2543.                            length, anyway you should be aware that other
  2544.                            similar programs might have limits, so check
  2545.                            with your downlink/uplink before choosing a
  2546.                            long password (8 characters should be OK for
  2547.                            everyone).
  2548.         
  2549.                 #<address>
  2550.                            This optional field indicates a "from" 4D
  2551.                            address to be used for the .TICs sent to this
  2552.                            link (overrides the zone-match and is in turn
  2553.                            overriden by the area override (see
  2554.                            "FileArea")).
  2555.         
  2556.                 <flags>
  2557.                            This field is a (case insensitive) set of
  2558.                            characters:
  2559.         
  2560.                            <H|C|D|N|F>[<S|T>][<I|O|*>][Y].
  2561.         
  2562.                            It can be 1 to 4 characters long:
  2563.         
  2564.                          - The first flag is mandatory; it defines the
  2565.                            flavour of the file-attaches that NEF will
  2566.                            create for .TIC and associated files.
  2567.         
  2568.                            Please note that this flag can be overridden
  2569.                            on a per-area basis by prefixing the link
  2570.                            address with a new flavour-flag in the
  2571.                            FileArea statement.
  2572.         
  2573.                            The available choices for this flag and the
  2574.                            consequent file-attach extension follow:
  2575.         
  2576.                            H -> .HLO (Hold)
  2577.                            C -> .CLO (Crash)
  2578.                            D -> .DLO (Direct)
  2579.                            F -> .FLO (Normal)
  2580.                            N -> .FLO (Normal)
  2581.         
  2582.                            The 'N' flag is provided for "compatibility",
  2583.                            but it's the same as 'F'.
  2584.         
  2585.                          - The second flag is optional: it defines
  2586.                            whether NEF must send a .TIC together with
  2587.                            the file or not.
  2588.         
  2589.                            S -> .TIC sent (default).
  2590.                            T -> .TIC not sent.
  2591.         
  2592.                            Usually the default is used (this flag can be
  2593.                            omitted), but sometimes points like not
  2594.                            receiving the .TIC file.
  2595.         
  2596.                            Please note that this flag can be overridden
  2597.                            on a per-area basis by prefixing the link
  2598.                            address with a new flag in the FileArea
  2599.                            statement.
  2600.         
  2601.                          - The third flag is optional. It is provided
  2602.                            for completeness and it is sometimes very
  2603.                            handy, but it is recommended not to use it
  2604.                            too often since its use might unnecessarily
  2605.                            complicate the interpretation of the
  2606.                            configuration.
  2607.         
  2608.                            It defines whether this link has
  2609.                            bidirectional access to file areas or not.
  2610.         
  2611.                            This is an override to the "area direction"
  2612.                            field of each FileArea definition.
  2613.         
  2614.                            Please note that this flag can be overridden
  2615.                            on a per-area basis by prefixing the link
  2616.                            address with a new flag in the FileArea
  2617.                            statement.
  2618.         
  2619.                            I -> Only Input is allowed from this link.
  2620.                                 NEF will not send files.
  2621.                            O -> Only output is allowed to this link.
  2622.                                 NEF will not accept files.
  2623.                            * -> Bidirectional link.
  2624.         
  2625.                          - The fourth flag ('Y') is optional.
  2626.                            It defines the systems that will be notified
  2627.                            when a "Nef Notify" command is issued, with
  2628.                            no address list.
  2629.         
  2630.                 <attr>
  2631.                            These are the (case insensitive) attributes
  2632.                            for the Link Robot's netmail replies:
  2633.         
  2634.                            K -> Kill/Sent
  2635.                            C -> Crash
  2636.                            H -> Hold
  2637.                            D -> Direct (equivalent to "CH")
  2638.                            N -> Normal (default)
  2639.                            O -> Normal (default)
  2640.         
  2641.                            The Private attribute is always implied.
  2642.         
  2643.                            ATTENTION: you should usually use the 'H'
  2644.                            attribute for file links that are not netmail
  2645.                            links too. Otherwise the "Normal" flavoured
  2646.                            netmail replies will be routed as per your
  2647.                            routing configuration instead of being held
  2648.                            for the file link.
  2649.         
  2650.                 <ACS>
  2651.                            Represents the access level to the Link Robot
  2652.                            for this node.
  2653.         
  2654.                            Defaults to 0.
  2655.         
  2656.                 <WSEL>
  2657.                            The optional list of <WSEL>s specifies the
  2658.                            areas that must be automatically linked to
  2659.                            this node when they are automatically created
  2660.                            by NEF.
  2661.         
  2662.                            New areas can be automatically created when
  2663.                            unknown TAGs are found in ingoing .TICs (see
  2664.                            "NewAreasFrom" above in this reference).
  2665.                            You can make NEF automatically link the
  2666.                            downlink to the areas that match the <WSEL>
  2667.                            specification(s).
  2668.         
  2669.         
  2670.             Examples:
  2671.         
  2672.         
  2673.               - FileLink 2:332/593 pwd593 INY
  2674.         
  2675.                 Node 2:332/593 has password "pwd593", is enabled to send
  2676.                 .TICs to us ('I'), the file attaches addressed to it
  2677.                 (if any) will be normal flavoured ('N') and a
  2678.                 notification message will be issued when "Nef Notify" is
  2679.                 executed ('Y').
  2680.         
  2681.                 Note that file attaches to this node will only be
  2682.                 possible if a local area override will be used, since
  2683.                 the 'I' flag instructs NEF to accept files from the node
  2684.                 but not to send to it.
  2685.         
  2686.                 Nothing is specified about the Link Robot's reply flags
  2687.                 and access level and keys, so this node will be able to
  2688.                 link only areas with protection level 0 and no keys; the
  2689.                 Robot's reply will be normal flavoured.
  2690.         
  2691.               - FileLink 2:331/196.1 pwd1961 H NK 300/ab
  2692.         
  2693.                 Node 2:331/196.1 has password "pwd1961", nothing is
  2694.                 specified about link direction (it will depend on the
  2695.                 "area direction" and local overrides), the file attaches
  2696.                 will be Hold flavoured ('H'), the reply netmails will be
  2697.                 normal flavoured ('N') and kill/sent ('K'), the access
  2698.                 level is 300 and the access keys are a,b.
  2699.         
  2700.               - FileLink 2:332/1 pwd1 #2:332/500 H N 900/ab :/f *OS2*
  2701.         
  2702.                 Node 2:332/1 has password "pwd1", all the TICs sent to
  2703.                 this node will use the from-address 2:332/500 (provided
  2704.                 there is no aka override at the "FileArea" level), the
  2705.                 file attaches will be Hold flavoured ('H'), the netmail
  2706.                 replies will be normal flavoured ('N'), the access level
  2707.                 is 900 and the access keys a,b.
  2708.         
  2709.                 New areas accessible with the f key or whose TAG
  2710.                 contains "OS2" will be automatically linked when they
  2711.                 are created by NEF.
  2712.         
  2713.         
  2714.         FileArea <TAG> <path> I|O|* [<areaflags>] [[<flags>]<link> ...]
  2715.         
  2716.                 This keyword defines an echo file area.
  2717.         
  2718.                 If you have a small system, you can put the area
  2719.                 definitions in the main configuration file (e.g.
  2720.                 NEF.CFG). For systems with a large number of areas and
  2721.                 links, it is recommended to use a separate file for the
  2722.                 area definitions: see the "TicAreaCfg" keyword, formerly
  2723.                 discussed in this documentation.
  2724.         
  2725.                 ATTENTION: when using the "TicAreaCfg" separate file,
  2726.                 you must put ALL the FileArea statements in that file.
  2727.                 You are not allowed to put area definitions both in the
  2728.                 main .cfg file and in the dedicated TicAreaCfg file at
  2729.                 the same time !
  2730.         
  2731.                 Please note that all the FileArea statements, if
  2732.                 included in the main .cfg file, MUST be defined _after_
  2733.                 the FileLink statements.
  2734.         
  2735.                 <TAG> is the area TAG.
  2736.         
  2737.                 <path> is the directory for the file area.
  2738.         
  2739.                 I|O|*  is the (case insensitive) "area direction" and
  2740.                        defines the default direction for the area:
  2741.         
  2742.                     'I'
  2743.                          we accept files from the listed nodes but do
  2744.                          not send to them, unless an override flag is
  2745.                          present before the <link> or in the pertinent
  2746.                          "FileLink" definition.
  2747.         
  2748.                          This should usually be used for "pre" areas, in
  2749.                          which files must be collected from downlinks
  2750.                          and sent to the area coordinator via the
  2751.                          uplink, which will probably need a local 'O'
  2752.                          override.
  2753.         
  2754.                     'O'
  2755.                          we send files to the listed nodes but do not
  2756.                          accept from them, unless an override flag is
  2757.                          present before the <link> or in the pertinent
  2758.                          "FileLink" definition.
  2759.         
  2760.                          This should usually be used for areas that must
  2761.                          be distributed to downlinks. The uplink will
  2762.                          need a local 'I' override before its <link>
  2763.                          field or a global one in its FileLink
  2764.                          definition.
  2765.         
  2766.                     '*'
  2767.                          the area is bidirectional, so we both send and
  2768.                          accept files to/from the listed nodes, unless
  2769.                          an override flag is present before the <link>
  2770.                          or in the pertinent "FileLink" definition.
  2771.         
  2772.                          This should be used for bidirectional areas, in
  2773.                          which everybody is allowed to "hatch" files.
  2774.         
  2775.         
  2776.                 <areaflags> is one or more of:
  2777.         
  2778.                     -0[<days>]
  2779.                          When the "-0" (zero) is specified, the area is
  2780.                          "Passthru", that is its files will be deleted
  2781.                          when already sent to all the downlinks. Please
  2782.                          note that ANY file (apart from FILES.*) present
  2783.                          in the <path> and not attached to any system
  2784.                          will be deleted.
  2785.         
  2786.                          If the optional <days> parameter is used, the
  2787.                          files will not be deleted until they become
  2788.                          older than <days> _AND_ not referenced by any
  2789.                          file attach.
  2790.         
  2791.                          <days> is an integer <= 65535.
  2792.         
  2793.                          Please note that you can use the Touch and
  2794.                          KillDate statements to control the date used to
  2795.                          evalutate the file age.
  2796.         
  2797.                          NEF must be explicitly instructed to delete the
  2798.                          old files in passthru areas, usually in some
  2799.                          maintenance event.
  2800.         
  2801.                          See also the "-p" and "CLEAN" command line
  2802.                          options.
  2803.         
  2804.         
  2805.                     #<address>
  2806.                          Primary address override for this area (highest
  2807.                          priority aka).
  2808.         
  2809.                          This address will be used as "from" address
  2810.                          regardless of the other aka specifications.
  2811.         
  2812.                     @<address>
  2813.                          Primary address default for this area (lowest
  2814.                          priority aka).
  2815.         
  2816.                          If no aka specification is applicable, this
  2817.                          address will be used.
  2818.                          Essentially useful to control the "Origin"
  2819.                          address of Hatched files without losing the
  2820.                          multi-aka features.
  2821.         
  2822.                          The akas specified in "FileLink" definitions
  2823.                          and the automatic zone-match will operate
  2824.                          normally.
  2825.         
  2826.         
  2827.                     -P<ACS>
  2828.                          Protection level for the area (Override).
  2829.         
  2830.                          The specified access level and keys will be
  2831.                          used, regardless of other protection
  2832.                          specifications.
  2833.         
  2834.                     -p<ACS>
  2835.                          Protection level for the area (additional).
  2836.         
  2837.                          The specified access level and keys will
  2838.                          protect the area, in addition to possible
  2839.                          restrictions specified in ProtArea and FileBone
  2840.                          statements.
  2841.         
  2842.         
  2843.                 The list of linked nodes follows; each node can have
  2844.                 some <flags> attached before the node address. The
  2845.                 available flags are the same as for the <flags> field in
  2846.                 the "FileLink" statement.
  2847.         
  2848.                 <flags>
  2849.                            This is an optional (case insensitive) field
  2850.                            made up of 1 to 3 characters:
  2851.                            [H|C|D|N|F][S|T][I|O|*].
  2852.         
  2853.                          - The first flag defines the flavour of the
  2854.                            file-attaches that NEF will create for .TIC
  2855.                            and associated files.
  2856.         
  2857.                            Please note that this flag overrides that in
  2858.                            the pertinent "FileLink" statement.
  2859.         
  2860.                            The available choices for this flag and the
  2861.                            consequent file-attach extension follow:
  2862.         
  2863.                            H -> .HLO (Hold)
  2864.                            C -> .CLO (Crash)
  2865.                            D -> .DLO (Direct)
  2866.                            F -> .FLO (Normal)
  2867.                            N -> .FLO (Normal)
  2868.         
  2869.                            The 'N' flag is provided for "compatibility",
  2870.                            but it's the same as 'F'.
  2871.         
  2872.                          - The second flag defines whether NEF must send
  2873.                            a .TIC together with the file or not.
  2874.         
  2875.                            S -> .TIC sent.
  2876.                            T -> .TIC not sent.
  2877.         
  2878.                            Please note that this flag overrides that in
  2879.                            the pertinent "FileLink" statement.
  2880.         
  2881.                          - The third flag defines the direction of the
  2882.                            link.
  2883.         
  2884.                            Please note that this flag overrides that in
  2885.                            the pertinent "FileLink" statement, which in
  2886.                            turn overrides the "area direction".
  2887.         
  2888.                            I -> Only Input is allowed from this link.
  2889.                                 NEF will not send files.
  2890.                            O -> Only output is allowed to this link.
  2891.                                 NEF will not accept files.
  2892.                            * -> Bidirectional link.
  2893.         
  2894.                 <link>
  2895.                            This is a 4D address, that can be abbreviated
  2896.                            whenever the preceding address has the same
  2897.                            zone, zone:net or zone:net/node.
  2898.         
  2899.                            For the first <link>, if incomplete, the
  2900.                            primary address for the area is used; anyway
  2901.                            NEF always writes the first address in
  2902.                            complete form when rewriting the area due to
  2903.                            a Link Robot command.
  2904.         
  2905.             Examples:
  2906.         
  2907.             Please note that the situation might be a little different
  2908.             from what explained below, since the FileLink definitions
  2909.             could have some overriding flags.
  2910.         
  2911.         
  2912.             FileArea AREA1 d:\file\area1 O I2:332/1 504.1 .2 1:2/3
  2913.         
  2914.             Typical area definition, where we receive from the
  2915.             uplink (marked with 'I') and forward to the listed downlinks
  2916.             (area direction 'O').
  2917.         
  2918.         
  2919.             FileArea AREA2 d:\file\area2 O -0 I2:332/1 504.1 .2 1:2/3
  2920.         
  2921.             Same as above, but passthru.
  2922.         
  2923.         
  2924.             FileArea AREA3 d:\file\area3 O -030 I2:332/1 504.1 .2 1:2/3
  2925.         
  2926.             Same as above, but the files will not be deleted until they
  2927.             are 30 day old.
  2928.         
  2929.         
  2930.             FileArea AREA4 d:\file\area4 I O2:5/1 3/1 332/504.2 .3
  2931.         
  2932.             This is a "reverse" area, where we receive from the listed
  2933.             nodes (area direction 'I') and send to the one marked with
  2934.             'O'.
  2935.         
  2936.         
  2937.             FileArea AREA5 d:\file\area5 * 2:5/1 3/1 332/504.2 .3
  2938.         
  2939.             This is a bidirectional area (direction '*'), where we
  2940.             receive from any of the listed nodes and forward to all the
  2941.             others.
  2942.         
  2943.         
  2944.             FileArea AREA6 d:\file\area6 O #2:332/500 I2:332/596 C555
  2945.         
  2946.             A normal "up-link to down-links" area ('O'); we use
  2947.             2:332/500 as the primary address, accept files from
  2948.             2:332/596 and forward to 2:332/555 with a crash flavoured
  2949.             file attach.
  2950.         
  2951.         
  2952.             FileArea AREA7 d:\file\area7 O S2:332/504.1 10:10/0 *100/1
  2953.         
  2954.             Normal "up-link to down-links" area ('O'); 10:100/1 is the
  2955.             only node enabled to send to us (bidirectional override
  2956.             '*'); we forward to 2:332/504.1 and 10:10/0. If we hatch
  2957.             files, we send to 10:100/1 too, since it is bidirectional.
  2958.             We send the .TIC accompanying files to 2:332/504.1 ('S')
  2959.             even if it had a 'T' flag in its FileLink definition.
  2960.         
  2961.         
  2962.             FileArea AREA8 d:\file\area8 O -p100/f @2:332/500 504.1
  2963.             This area is protected with level 100 and key f; the default
  2964.             primary address is 2:332/500.
  2965.         
  2966.         
  2967.  
  2968.         
  2969.                             COMPRESS DEFINITION FILE
  2970.         
  2971.         
  2972.         The file specified in the CompressCfg statement is a sequence of
  2973.         Archive definition blocks, each one starting with "Archiver" and
  2974.         ending with "End Archiver". You can find an example in the
  2975.         Compress.Cfg file included in the distribution pack.
  2976.         
  2977.         The order of the archive definition blocks within this file may
  2978.         be important: when trying to unpack a compressed file, the list
  2979.         of archivers is scanned in a reverse order.
  2980.         
  2981.         In the case of two archivers that use the same identification
  2982.         string (e.g. ARC and PAK), you must specify the archiver that
  2983.         can unpack both (PAK) after the other one (ARC).
  2984.         
  2985.         The compress.cfg file can be shared between DOS/NT and OS/2
  2986.         applications: the "DOS" and "OS2" keywords are available to
  2987.         distinguish between the commands to be used under DOS/NT and
  2988.         OS/2.
  2989.         
  2990.         O.S. specific archivers or commands must be prefixed with the
  2991.         relevant keyword.
  2992.         
  2993.         IMPORTANT NOTE: The lines that begin with "DOS" or "OS2" are
  2994.         parsed by the DOS/NT and OS/2 versions respectively. If you need
  2995.         the OS/2 version to execute a DOS command, you MUST NOT use the
  2996.         DOS keyword: if you do, it will never parse that line; if you do
  2997.         not, it will execute the DOS command "normally", provided you
  2998.         have installed OS/2's Dos support.
  2999.         
  3000.         See the examples below.
  3001.         
  3002.         
  3003.         Archiver <ARCname>
  3004.         
  3005.                 Starts the Archive definition block.
  3006.         
  3007.                 <ARCname> is the name used to identify this archiver.
  3008.         
  3009.             Example:
  3010.         
  3011.                 Archiver ZIP
  3012.         
  3013.         
  3014.         
  3015.         Extension  <ext>
  3016.         
  3017.                 Specifies the default extension for the compressed
  3018.                 files.
  3019.         
  3020.             Example:
  3021.         
  3022.                 Extension ZIP
  3023.         
  3024.         
  3025.         
  3026.         Ident <ofs>,<ID>
  3027.         
  3028.                 <ofs> is a decimal integer number representing the
  3029.                 offset at which an archive identity marker <ID> must be
  3030.                 present.
  3031.         
  3032.                 Negative values can be used to indicate offsets from the
  3033.                 END of a compressed file. -1 means "the last byte", -2
  3034.                 "the second last byte" and so on.
  3035.         
  3036.                 <ID> is a series of hexadecimal figures which represent
  3037.                 the bytes of the marker string that must be present at
  3038.                 the specified offset of the archive file.
  3039.         
  3040.             Example:
  3041.         
  3042.                 Ident 0,504b0304  ; "PK^c^d"
  3043.         
  3044.         
  3045.         
  3046.         Add <command>
  3047.         
  3048.                 Specifies the command to add files to an archive.
  3049.                 %a and %f are translated to the name of the archive and
  3050.                 file to add.
  3051.         
  3052.             Example:
  3053.         
  3054.                 Add zip -jk %a %f
  3055.         
  3056.         
  3057.         
  3058.         Extract <command>
  3059.         
  3060.                 Specifies the command to extract files from an archive.
  3061.                 %a and %f are translated to the name of the archive and
  3062.                 file to extract.
  3063.         
  3064.             Example:
  3065.         
  3066.                 Extract unzip -qqnjC %a %f
  3067.         
  3068.         
  3069.         
  3070.         View <command>
  3071.         
  3072.                 This line is recognized and accepted for compatibility,
  3073.                 but not used.
  3074.         
  3075.         
  3076.         
  3077.         End Archiver
  3078.         
  3079.                 This statement is used to close a Archive definition.
  3080.         
  3081.         
  3082.                                     Examples
  3083.         
  3084.         
  3085.             Complete example 1 (you need OS/2 only):
  3086.         
  3087.         Archiver ZIP
  3088.              Extension     ZIP
  3089.              Ident         0,504b0304
  3090.              Add           zip -jk %a %f
  3091.              Extract       unzip -qqnjC %a %f
  3092.              View          unzip -v %a
  3093.         End Archiver
  3094.         
  3095.         
  3096.             Complete example 2 (you need DOS only):
  3097.         
  3098.         Archiver ZIP
  3099.              Extension     ZIP
  3100.              Ident         0,504b0304
  3101.              Add           pkzip -a %a %f
  3102.              Extract       pkunzip -n %a %f
  3103.              View          pkzip -v %a
  3104.         End Archiver
  3105.         
  3106.         
  3107.             Complete example 3 (you need both OS/2 and DOS):
  3108.         
  3109.         Archiver ZIP
  3110.              Extension     ZIP
  3111.              Ident         0,504b0304
  3112.         OS2  Add           zip -jk %a %f
  3113.         DOS  Add           pkzip -a %a %f
  3114.         OS2  Extract       unzip -qqnjC %a %f
  3115.         DOS  Extract       pkunzip -n %a %f
  3116.         OS2  View          unzip -v %a
  3117.         DOS  View          pkzip -v %a
  3118.         End Archiver
  3119.         
  3120.         
  3121.             Complete example 4 (archiver to be used under DOS only):
  3122.         
  3123.         DOS Archiver ZOO
  3124.         DOS     Extension       ZOO
  3125.         DOS     Ident           0,5a4f4f                        ; "ZOO"
  3126.         DOS     Add             zoo a: %a %f
  3127.         DOS     Extract         zoo e:O %a %f
  3128.         DOS     View            zoo v %a
  3129.         DOS End Archiver
  3130.         
  3131.         
  3132.             Complete example 5 (it's a DOS executable, to be used under
  3133.                                 DOS or OS/2 indifferently):
  3134.         
  3135.         Archiver ZOO
  3136.              Extension       ZOO
  3137.              Ident           0,5a4f4f                        ; "ZOO"
  3138.              Add             zoo a: %a %f
  3139.              Extract         zoo e:O %a %f
  3140.              View            zoo v %a
  3141.         End Archiver
  3142.  
  3143.         
  3144.                                 TroubleShooting
  3145.         
  3146.         
  3147.         Problem:
  3148.                   NEF does not append to Echotoss.log.
  3149.         
  3150.         Solution:
  3151.                   Make sure that the announcement area is defined with
  3152.                   AreaTag (not AreaPath).
  3153.                   You might also need the SquishCfg keyword, if you want
  3154.                   NEF to automatically retrieve the area Path and type.
  3155.         
  3156.         
  3157.         
  3158.                                S H A R E W A R E
  3159.         
  3160.         
  3161.         If you like this program and continue using it, you should pay
  3162.         the author for his work, as per the ShareWare concept of
  3163.         distribution.
  3164.         
  3165.         Please see LICENSE.DOC and REGISTER.DOC for information.
  3166.         
  3167.         Thank you for your interest in ApWorks programs.
  3168.         
  3169.