home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / OFFLINE / O_QWK11.ZIP / O_QWKER.DOC < prev    next >
Text File  |  1993-12-31  |  54KB  |  1,272 lines

  1.  
  2.  
  3.  
  4.         ===========================================================
  5.          O_QWKer - QWK Mail Door for Opus 1.7x
  6.          (C) 92,93,94 Bernardo Cardoso / Fausto Carvalho (2:361/1)
  7.         ===========================================================
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                          
  14.  
  15.  
  16.  
  17.                               Version 1.1
  18.                                31-Dec-93
  19.                          Sysop Reference Manual
  20.  
  21.                            by Fausto Carvalho
  22.  
  23.  
  24.                                O_QWKer 1.1                         Page 2
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.                                                In memory of John Valentyn
  42.  
  43.  
  44.                                O_QWKer 1.1                         Page 3
  45.  
  46.  
  47.         =============================
  48.          Organization of This Manual
  49.         =============================
  50.                                                                      Page
  51.          - Introduction ................................................4
  52.          - Current Features ............................................4
  53.          - Requirements ................................................5
  54.          - Configuring O_QWKer .........................................6
  55.               Configuration Commands ...................................6
  56.                  Definition Group ......................................6
  57.                  Session Group ........................................10
  58.                  Sysop Local Mode Group ...............................12
  59.          - Installing O_QWKer .........................................14
  60.               Installing the Menu Option ..............................14
  61.               Multi-Line Setup ........................................16
  62.               Using O_QWKer across a Network ..........................16
  63.               Installing Compressors ..................................17
  64.               Installing Protocols ....................................18
  65.               Scanning Echomail .......................................18
  66.          - Security and Access Management .............................19
  67.               Scanning Messages for .QWK Packet .......................19
  68.               Importing Messages from .REP Packet .....................20
  69.                  Message Import Error Codes ...........................21
  70.          - Menus and On-line Help .....................................22
  71.               Menus ...................................................22
  72.               On-line help ............................................23
  73.          - Insights ...................................................24
  74.          - License ....................................................25
  75.          - Disclaimer .................................................25
  76.          - Acknowledgements ...........................................26
  77.          - Contacting the Authors .....................................26
  78.  
  79.  
  80.                                O_QWKer 1.1                         Page 4
  81.  
  82.  
  83.         ==============
  84.          Introduction
  85.         ==============
  86.  
  87.         A mail door able to deal with the QWK format has been in the wish
  88.         list of many Opus Sysops for quite a long time.
  89.  
  90.         We decided to embrace this project due to high pressure from  our
  91.         users:  they  are  used  to  off-line reading and most of systems
  92.         around here have QWK mail doors.  In  fact  QWK  is  perhaps  the
  93.         off-line  reading  format  which is closer to being accepted as a
  94.         standard in BBSing,  and that's far more evident when  the  three
  95.         most  popular  off-line  readers  for  Opus  mail  doors  (in  no
  96.         particular order OMK, Blue Wave and Silver Xpress) support it.
  97.  
  98.         Another strong reason to carry this work  has  been  our  feeling
  99.         that  a  mail  door  following  the Opus spirit (free to use in a
  100.         Lawful and Friendly manner) should be available for Opus 1.7x and
  101.         later Sysops, since OMK stopped at version 1.14.
  102.  
  103.         After the release  of our first  major  contribution to WOC  (one
  104.         year ago),  a number of problems  has been spotted.  We hope that
  105.         this release fixes them all without adding more...
  106.  
  107.  
  108.         ==================
  109.          Current Features
  110.         ==================
  111.  
  112.         O_QWKer (pronounces Oh!Quicker)  has been designed to be easy  to
  113.         set-up  and  use,  yet  powerful enough to have the confidence of
  114.         Sysops and users.
  115.  
  116.         During the early design and implementation phases more  and  more
  117.         features  have  been  added.   In fact our option to submit it to
  118.         restricted Beta testing instead of  wide  distribution  from  the
  119.         earlier  versions  proved to be the best way to attain a reliable
  120.         piece of software,  since the Opus  Beta  Test  Team  contributed
  121.         valuable suggestions and careful testing of all features.
  122.  
  123.         Here are the most relevant:
  124.  
  125.           * Opus style user interface with ANSI/AVATAR support
  126.           * Full Opus menus and command stacking
  127.           * On-line help using external .OEC files
  128.           * gets most of relevant data directly from Opus system files
  129.           * multi-line support
  130.           * multi-domain support
  131.           * security is based on Opus privileges and keys
  132.           * supports all the standard  QWK features,  including ADD, DROP
  133.             and RESET commands
  134.           * up to 8 different compressors
  135.           * up to 8 different transfer protocols
  136.           * inactivity, allowed time and carrier loss handling
  137.           * orphaned messages stored in BAD_ECHO or an alternative path
  138.           * allows mandatory areas definition
  139.  
  140.  
  141.                                O_QWKer 1.1                         Page 5
  142.  
  143.  
  144.           * supports local Sysop usage with special features (eg. network
  145.             access)
  146.           * Opus style log file with different detail modes
  147.           * supports MSGID kludge in Echomail areas
  148.           * uses LREAD.DAT message pointers
  149.           * message user counters updated  -  this is a must for  systems
  150.             enforcing Msg/DL ratios
  151.           * supports automatic Echomail scan - ideal for barefoot Opus
  152.           * includes a strategy to avoid multiple tear lines
  153.           * if Opus binary date is null, FTS-0001/SEAdog  ASCII time/date
  154.             is used
  155.  
  156.         The door has been developed under Borland's Turbo Pascal 6.0.
  157.  
  158.         It has been tested with the following off-line readers:
  159.  
  160.              Speed Read 1.10
  161.              SLMR 2.0 and 2.1
  162.              OffLine 1.50
  163.              OLX 2.1
  164.              WinQWK 1.30
  165.              Blue Wave 2.10
  166.              1st Reader 1.0
  167.  
  168.  
  169.         ==============
  170.          Requirements
  171.         ==============
  172.  
  173.         O_QWKer  requires  DOS 3.x or later,  Opus 1.7x or later and less
  174.         than 210 KBytes of available RAM.  It uses swap  memory  routines
  175.         to allow the use of memory-hungry archiving programs like ARJ.
  176.  
  177.         A setting of FILES = 20 or more is required in your CONFIG.SYS or
  178.         equivalent.
  179.  
  180.         An ANSI driver (e.g. ANSI.SYS)  is  required  for correct console
  181.         display.
  182.  
  183.  
  184.                                O_QWKer 1.1                         Page 6
  185.  
  186.  
  187.         =====================
  188.          Configuring O_QWKer
  189.         =====================
  190.  
  191.         As we said above, most of the needed information to allow O_QWKer
  192.         to  run properly is extracted by the mail door directly from your
  193.         Opus parameter file (*.PRM), so it is quite easy to configure it.
  194.  
  195.         Options not defined in the  .PRM  file,  or  just  left  to  your
  196.         decision,  are defined in a plain ASCII configuration file called
  197.         O_QWKer.CFG,  which is searched in  the  same  directory  as  the
  198.         executable  O_QWKer.EXE.   Nevertheless  please note this is just
  199.         the default name - more on this later, under "Installation".
  200.  
  201.         You may have a look at the SAMPLE.CFG and MINIMAL.CFG files, both
  202.         included in the distribution archive.
  203.  
  204.         Configuration Commands
  205.         ----------------------
  206.  
  207.         Lines beginning with  %  are considered comments and are ignored.
  208.         In fact,  the parsing of a .CFG  line  stops  upon  finding  a  %
  209.         character, so it may appear anywhere to start a comment.
  210.  
  211.         The  commands inside the configuration file do NOT need to appear
  212.         in specific order.
  213.  
  214.         Definition Group
  215.         ----------------
  216.  
  217.         BBSID          Identification of the  QWK  packet.  This name  is
  218.                        limited to 8 (DOS filename) characters and must be
  219.                        chosen in a way  which can help  users to identify
  220.                        your BBS.  It should be as unique as possible.
  221.  
  222.                        Ex:  BBSID  MidiThru
  223.  
  224.         BBSWHERE       Location of your system, to be included in the QWK
  225.         (optional)     packet  header.  This  parameter  is just  to keep
  226.                        compatibility with QWK format definition.
  227.  
  228.                        Ex:  BBSWHERE  Aveiro, Portugal
  229.  
  230.         BBSPHONE       Data phone number of your system to be included in
  231.         (optional)     the QWK packet header.  This parameter  is just to
  232.                        keep compatibility with QWK format definition.
  233.  
  234.                        Ex:  BBSPHONE  351-34-313554
  235.  
  236.         PRM            .PRM file.  In the  absence of this  command,  the
  237.         (optional)     door uses the  OPUS environment variable  (defined
  238.                        with SET OPUS=xxxx.PRM).
  239.  
  240.                        Ex:  PRM  C:\OPUS\BBS.PRM
  241.  
  242.         NEWS           News file to be included in the QWK packets.
  243.         (optional)
  244.                        Ex:  NEWS  C:\OPUS\QWK\NEWS.TXT
  245.  
  246.  
  247.                                O_QWKer 1.1                         Page 7
  248.  
  249.  
  250.         WELCOME        ANSI screen  to be  included  in the  QWK  packets
  251.         (optional)     (it's shown at the beginning of the users off-line
  252.                        reading session).
  253.  
  254.                        Ex:  WELCOME  C:\OPUS\QWK\HELLO.ANS
  255.  
  256.         GOODBYE        ANSI screen  to be  included  in the  QWK  packets
  257.         (optional)     (shown to the users  at the end of their  off-line
  258.                        reading session).
  259.  
  260.                        Ex:  GOODBYE  C:\OPUS\QWK\BYEBYE.ANS
  261.  
  262.         NEWFILES       New files list, to be included in the QWK packets.
  263.         (optional)     This file  must be created by a  separate  program
  264.                        (not included) like Opus-Fam.
  265.  
  266.                        Ex:  NEWFILES  C:\OPUS\FILES\NEWFILES.TXT
  267.  
  268.         BULLETINS      Bulletins directory. This directory contains files
  269.         (optional)     with names BLT-*.*,  and the inclusion  in the QWK
  270.                        packets  is based upon  the file date.  This means
  271.                        that  all new bulletins  since the users last call
  272.                        date are included in his/her packet.
  273.  
  274.                        Ex:  BULLETINS  C:\OPUS\BULL\
  275.  
  276.         FORCE          The user may active and deactivate several options
  277.         (optional)     in his/her O_QWKer configuration menu,  to control
  278.                        what is included in their QWK packet. This command
  279.                        exists to control the use of those options  and it
  280.                        is applicable on the following:
  281.  
  282.                          WELCOME   always include Welcome Screen
  283.                          GOODBYE   always include Goodbye Screen
  284.                          NEWS      always include News file
  285.                          NEWFILES  always include new files list
  286.                          BULLETINS always include new bulletins
  287.                          REPLIES   always include messages  originated by
  288.                                    the user
  289.                          NOVICE    force Novice help level inside O_QWKer
  290.  
  291.                        Ex:  FORCE  NEWS
  292.  
  293.                        There is  another syntax  for this command,  which
  294.                        allows you  to force  the scan of  certain message
  295.                        areas, so that  the user  is  not allowed  to turn
  296.                        them off. That's the AREAS option.
  297.  
  298.                        Ex:  FORCE  AREA  1
  299.  
  300.         EXCLUDE        This command has the opposite effect of FORCE.  In
  301.         (optional)     its first syntax,  it allows you  to deny the user
  302.                        option of  scanning message base  for his/her Opus
  303.                        Alias name. For that you use the option ALIAS.
  304.  
  305.                        Ex:  EXCLUDE  ALIAS
  306.  
  307.  
  308.                                O_QWKer 1.1                         Page 8
  309.  
  310.  
  311.                        The  second syntax is  AREAS,  and  allows you  to
  312.                        define  message areas  to  be  excluded  from  the
  313.                        available  O_QWKer  areas list  to  any user  with
  314.                        privilege bellow AsstSysop.
  315.  
  316.                        Ex:  EXCLUDE  AREAS  0 31 99
  317.  
  318.         FULLSCAN AREA  This command  makes  the message  scanning process
  319.         (optional)     ignore user pointers  and always scan all messages
  320.                        in the areas to which it is applied.
  321.  
  322.                        It  is  useful  in  an  area  where  messages  are
  323.                        frequently deleted,  such as your Local Mail area.
  324.                        In such areas, it is not difficult to have an user
  325.                        pointer directed  beyond  the last message,  which
  326.                        means  no messages will be included in the packet,
  327.                        even if there are some unread. With the full scan,
  328.                        you  guarantee  that  all  eligible  messages  are
  329.                        delivered.
  330.  
  331.                        You should  activate  a  maintenance procedure  to
  332.                        periodically erase received messages  in the areas
  333.                        that you full scan, because even received messages
  334.                        keep being included in the user packets.
  335.  
  336.                        Ex:  FULLSCAN  AREA  1
  337.  
  338.         PACKER TEXT
  339.         PACKER COMPRESS
  340.         PACKER UNCOMPRESS
  341.                        These  three  commands  groups  define  the packet
  342.                        compression scheme available for user selection.
  343.  
  344.                        TEXT - description shown to users
  345.                        COMPRESS -  command used to compress QWK packets
  346.                        UNCOMPRESS - command to uncompress REP packets
  347.  
  348.                        You  may define  up to  eight compression methods.
  349.                        The first one defined is used as default.
  350.  
  351.                        Ex:  PACKER  TEXT         Zip 1.10
  352.                             PACKER  COMPRESS     C:\UTIL\PKZIP.EXE -U
  353.                             PACKER  UNCOMPRESS   C:\UTIL\PKUNZIP.EXE
  354.  
  355.         REDIRECT COMPRESSORS
  356.         (optional)     This option allows  the redirection  of compressor
  357.                        output  to  the user,  thus giving visual feedback
  358.                        while their QWK packet is being compressed.
  359.  
  360.                        When defined, it is applied to any capable defined
  361.                        compressor, like PKZIP and LHA.
  362.  
  363.                        It is automatically disabled for Local usage.
  364.  
  365.                        Ex:  REDIRECT  COMPRESSORS
  366.  
  367.  
  368.                                O_QWKer 1.1                         Page 9
  369.  
  370.  
  371.         PROTOCOL TEXT
  372.         PROTOCOL UPLOAD
  373.         PROTOCOL DOWNLOAD
  374.                        These groups of three commands define the transfer
  375.                        options available for user selection.
  376.  
  377.                        TEXT - description shown to users
  378.                        UPLOAD - batch file to upload REP packets
  379.                        DOWNLOAD - batch file to download QWK packets
  380.  
  381.                        You may  define  up to eight protocols.  The first
  382.                        one defined is used as default.
  383.                        Please note  you must use  a  batch file,  so that
  384.                        parameters can be passed to the protocol engine.
  385.  
  386.                        Ex:  PROTOCOL  TEXT       Zmodem (DSZ)
  387.                             PROTOCOL  UPLOAD     C:\OPUS\RZ.BAT
  388.                             PROTOCOL  DOWNLOAD   C:\OPUS\SZ.BAT
  389.  
  390.         NEWLINE        This option defines what character will be used as
  391.         (optional)     CR/LF  in  messages included  in  the packet.  All
  392.                        known off-line readers  expect  the  character "a"
  393.                        (ASCII 227 decimal), so this is the default value.
  394.                        Changing the default implies the need of a special
  395.                        reader, but will give the possibility to work with
  396.                        codepages where char 227 may not be made available
  397.                        for separator functions (e.g. Chinese).
  398.  
  399.                        Ex:  NEWLINE  160
  400.  
  401.         MSGID KLUDGE   If this option is defined, all messages entered on
  402.         (optional)     Echomail areas will include a MSGID kludge.
  403.  
  404.                        Ex:  MSGID  KLUDGE
  405.  
  406.         SHOW KLUDGES   If this option is defined, all messages scanned to
  407.         (optional)     Sysop or AsstSysop will include Kludges, Seen-by's
  408.                        and Path lines.
  409.  
  410.                        Ex:  SHOW  KLUDGES
  411.  
  412.         ALTER TEARLINE
  413.         (optional)     According to FTSC documents  and  Echomail Policy,
  414.                        only  one  tearline  may  appear  on  an  echomail
  415.                        message.  Nevertheless  it is not uncommon to find
  416.                        messages containing 2 or even 3 of those.  O_QWKer
  417.                        avoids deleting lines from  the  received messages
  418.                        but  will substitute  any  candidate occurrence to
  419.                        -*-
  420.  
  421.                        Going further,  there are many echomail processors
  422.                        which  do not  respect the existence of a tearline
  423.                        in the message and add another one, so this option
  424.                        will avoid the normal inclusion of a tearline, and
  425.                        will rather include:
  426.  
  427.                         -*- Opus-CBCS x.xx via O_QWKer vx.xx
  428.  
  429.  
  430.                                O_QWKer 1.1                        Page 10
  431.  
  432.  
  433.                        If you use  the internal  Opus  echomail  scanner,
  434.                        forget about this option,  since you'll never need
  435.                        it.
  436.  
  437.                        Ex: ALTER TEARLINE
  438.  
  439.         HELPPATH       If this option is defined, it states where O_QWKer
  440.         (optional)     will be looking for the on-line help OEC files. By
  441.                        default,  it  is  used  the path to the executable
  442.                        O_QWKer.EXE.
  443.  
  444.                        Ex: HELPPATH  C:\O_QWKer\HELP
  445.  
  446.         Session Group
  447.         -------------
  448.  
  449.         STATUS LINE    When this option  is defined,  a  status line will
  450.         (optional)     appear at the console,  allowing the Sysop to know
  451.                        who is using the mail door, the baudrate,  and the
  452.                        caller's remaining time inside O_QWKer.
  453.  
  454.                        Ex: STATUS  LINE
  455.  
  456.         TIMELIMIT      Maximum allowed time  (in minutes)  for an O_QWKer
  457.         (optional)     session. It defaults to 10 (minutes).
  458.  
  459.                        Ex:  TIMELIMIT  15
  460.  
  461.         IDLETIME       Maximum inactivity time (in minutes) allowed while
  462.         (optional)     inside the mail door. It defaults to 3 (minutes).
  463.  
  464.                        Ex:  IDLETIME  2
  465.  
  466.         REFUND         Percentage of  time used  inside  the door  to  be
  467.         (optional)     refunded to the user.  It defaults to 0%  (no time
  468.                        refunded).
  469.  
  470.                        Ex:  REFUND  50
  471.  
  472.         MAXMSGS        Maximum number  of messages which can  be included
  473.         (optional)     in a single QWK packet.
  474.  
  475.                        If used  with  the  PROPORTIONAL  qualifier,  this
  476.                        command refers  to  the number of messages allowed
  477.                        if the user is connected at 1200 baud, so for 2400
  478.                        it's the double the 1200 baud rate, and so on.  By
  479.                        default it assumes the fixed value of 200.
  480.  
  481.                        When O_QWKer is used  in local mode,  PROPORTIONAL
  482.                        resolves  to  2,147,483,647  so  we may say  it is
  483.                        unlimited.
  484.  
  485.                        Ex:  MAXMSGS  300
  486.                             MAXMSGS  PROPORTIONAL  100
  487.  
  488.  
  489.                               O_QWKer 1.1                         Page 11
  490.  
  491.  
  492.         MAXLINES       Maximum number of lines  for each message included
  493.         (optional)     in the QWK packet. If the message is bigger, it is
  494.                        automatically split  in  chunks  (several messages
  495.                        with the same number at the reader). Default is 60
  496.                        lines.
  497.  
  498.                        Ex:  MAXLINES  100
  499.  
  500.         LOGMODE        Detail level of the log. The options are:
  501.         (optional)
  502.                          LOGMODE  TERSE     (light)
  503.                          LOGMODE  VERBOSE
  504.                          LOGMODE  TRACE     (lots of info)
  505.  
  506.                        It defaults to VERBOSE.
  507.  
  508.                        Ex:  LOGMODE  TERSE
  509.  
  510.         LOGFILE        O_QWKer log  filename.  It defaults to O_QWKer.LOG
  511.         (optional)     in the executable (O_QWKer.EXE) directory.
  512.  
  513.                        For multi-line  Opus installations  you should use
  514.                        one different file for each task.  You can specify
  515.                        it  by using  the standard  Opus wildcard for task
  516.                        number (##).
  517.  
  518.                        Ex:  LOGFILE  C:\LOG\O_QWKer.LOG
  519.                             LOGFILE  C:\O_QWKer\LOG##.LOG
  520.  
  521.         TEMPDIR        Directory used by O_QWKer to process packets.  All
  522.                        files in this directory are erased,  so be sure to
  523.                        define it properly.  The  TEMPDIR  value  can also
  524.                        point to a RAMdisk.
  525.  
  526.                        For multi-line Opus installations you should use a
  527.                        different directory for each task. You may specify
  528.                        it  by using  the standard  Opus wildcard for task
  529.                        number (##).
  530.  
  531.                        For security reasons TEMPDIR  defaults to the name
  532.                        \O_QWKer$.TMP  on  the  executable's  volume,  but
  533.                        please  note  this  isn't  an option  but rather a
  534.                        protection to your system.
  535.  
  536.                        A swap directory is also created inside TEMPDIR.
  537.  
  538.                        Ex:  TEMPDIR  C:\TMPQWK
  539.                             TEMPDIR  E:\QWK##
  540.  
  541.         KEEPTEMP       By default, all temporary files created during the
  542.         (optional)     message scan process are erased upon generation of
  543.                        the QWK packet.  Use this option  to tell  O_QWKer
  544.                        to keep them  (until the Download messages command
  545.                        is selected again).
  546.  
  547.                        Ex: KEEPTEMP
  548.  
  549.  
  550.                               O_QWKer 1.1                         Page 12
  551.  
  552.  
  553.         QWKAREA        Opus  File Area  number  or Pathname  to where QWK
  554.         (optional)     packets are  to  be moved  in case of  a  Download
  555.                        failure,  so that the user is allowed to perform a
  556.                        deferred download after quitting the mail door.
  557.  
  558.                        In your NERF.BAT file you should check if there is
  559.                        any *.QWK file on the corresponding directory  and
  560.                        erase it  after  each user logs out,  to guarantee
  561.                        that  no  one  will  be  able  to  receive packets
  562.                        belonging to another user.
  563.                        If this option is not defined in the configuration
  564.                        file,  O_QWKer  will not try to move the packet to
  565.                        somewhere in case of Download failure.
  566.  
  567.                        Ex:  QWKAREA  10
  568.                             QWKAREA  F:\QWKPKT
  569.  
  570.         BADPATH        DOS path where orphaned messages are stored.  This
  571.         (optional)     option  has precedence  over the BAD_ECHO pathname
  572.                        in BBS.CTL.  If neither  exist  (either BADPATH in
  573.                        .CFG file  or  Opus  BAD_ECHO)  then  the orphaned
  574.                        messages are discarded.
  575.  
  576.                        Ex:  BADPATH  F:\BADQWK
  577.  
  578.         Sysop Local Mode Group
  579.         ----------------------
  580.  
  581.         ASSIGN         This  command  allows  you  to use  O_QWKer across
  582.         (optional)     networks.  Although  it  exists mainly  to support
  583.                        local usage,  it applies to  both local and remote
  584.                        sessions.
  585.  
  586.                        All occurrences of  the path defined  as the first
  587.                        parameter  will be searched in  Opus  system files
  588.                        (SYSMSG.DAT,  SYSFILE.DAT)  and  processed by this
  589.                        door as being the path corresponding to the second
  590.                        parameter, just like DOS Assign command.
  591.  
  592.                        You may declare up to 5 ASSIGN paths.
  593.  
  594.                        Ex:  ASSIGN  C:  O:
  595.                             ASSIGN  X:\OPUS\SYSTEM  C:\OPUS
  596.  
  597.         LOCALQWK       Directory  where  QWK  packets  generated in local
  598.                        mode are stored.  This is useful  to a Sysop using
  599.                        his/her off-line reader across a network.
  600.  
  601.                        Default is \O_QWKer$.LOC  on  the volume where the
  602.                        executable is installed.
  603.  
  604.                        Ex:  LOCALQWK  N:\SLMR\QWK
  605.  
  606.         LOCALREP       Directory  where  REP packets  to  be processed in
  607.                        local mode are stored.  This is useful  to a Sysop
  608.                        using his/her off-line reader across a network.
  609.  
  610.  
  611.                               O_QWKer 1.1                         Page 13
  612.  
  613.  
  614.                        Default is \O_QWKer$.LOC on the binary's volume.
  615.  
  616.                        Ex:  LOCALREP  N:\SLMR\REP
  617.  
  618.         LOCALUSER      Name of the LASTUSxx.DAT file  to be used in local
  619.                        mode.  Be aware that if you want to take advantage
  620.                        of the auto-scan O_QWKer feature  in barefoot Opus
  621.                        installations,  you should use the name of correct
  622.                        LASTUSxx.DAT file for your keyboard mode Opus task.
  623.  
  624.                        Ex:  LOCALUSER  C:\OPUS\LASTUS02.DAT
  625.  
  626.  
  627.                               O_QWKer 1.1                         Page 14
  628.  
  629.  
  630.         ====================
  631.          Installing O_QWKer
  632.         ====================
  633.  
  634.         Installing the Menu Option
  635.         --------------------------
  636.  
  637.         The door installation is quite easy:  you just need  to  put  the
  638.         executable  O_QWKer.EXE inside your chosen directory,  create the
  639.         configuration file as explained above and declare an Outside menu
  640.         option:
  641.  
  642.            ...
  643.            SECURE 2
  644.            ...
  645.            _OUTSIDE Normal "QWK Mail door" = RUN C:\OPUS\O_QWKer.EXE
  646.            ...
  647.  
  648.         In the example,  O_QWKer would be accessible to  all  users  with
  649.         privilege Normal or above,  and would read its configuration from
  650.         the default file O_QWKer.CFG (in the C:\OPUS directory).  If  you
  651.         want to use another CFG filename (e.g.  QWK.CFG)  you must add it
  652.         at the end of the previous command line:
  653.  
  654.            ...
  655.            SECURE 2
  656.            ...
  657.            _OUTSIDE Normal "O_QWKer" = RUN C:\OPUS\O_QWKer.EXE G:\QWK.CFG
  658.            ...
  659.  
  660.         Important Notice: it is clearly stated in section 7.1.1, page 151
  661.         of OTEC_170.TXT that you should  'NOT  use  periods  in  external
  662.         program  command lines!  For example,  "/N:lastus01"  is OK,  but
  663.         "/N:lastus01.dat"  corrupts memory'.  We never came to the memory
  664.         corruption  occurrence  while  going against this recommendation,
  665.         but it's better to be aware that it may cause problems.
  666.  
  667.         If you prefer to have the door placed on a directory of its  own,
  668.         there are at least two ways of having the job done:
  669.  
  670.         i) Using a path in the menu option
  671.  
  672.            ...
  673.            SECURE 2
  674.            ...
  675.            _OUTSIDE Normal "QWK Mail door" = RUN D:\MAILDOOR\O_QWKer.EXE
  676.            ...                                   ------------
  677.  
  678.         ii) Calling the door using a batch file (using DOS outside option)
  679.  
  680.            ...
  681.            SECURE 2
  682.            ...
  683.            _OUTSIDE Normal "QWK Mail door" = DOS C:\OPUS\YOUR.BAT
  684.            ...                               ---
  685.  
  686.  
  687.                               O_QWKer 1.1                         Page 15
  688.  
  689.  
  690.         Inside  your  batch file you must pass command line parameters to
  691.         O_QWKer:
  692.  
  693.           YOUR.BAT
  694.  
  695.              rem
  696.              rem Let's assume home dir is D:\O_QWKer, Opus dir is C:\OPUS
  697.              rem and your are using YOUR.CFG configuration file
  698.              rem
  699.              D:
  700.              CD \O_QWKer
  701.              O_QWKer YOUR.CFG %1 %2 %3 %4 %5 %6
  702.              C:               -----------------
  703.              CD \OPUS
  704.              rem
  705.              rem Returning from outside
  706.              rem
  707.  
  708.         If you are running out of core when shelling to O_QWKer,  you may
  709.         want to try the EXIT approach:
  710.  
  711.            ...
  712.            RELOG 3
  713.            SECURE 2
  714.            ...
  715.            _OUTSIDE Normal "QWK Mail door" = EXIT 77
  716.            ...
  717.  
  718.         Now if your NERF.BAT contains the adequate ERRORLEVEL  trap,  you
  719.         may  run  the  mail  door.   The  EXIT  method  doesn't  pass the
  720.         arguments automatically to the external program,  so you need  to
  721.         provide  them  explicitly  in  the  batch file.  As the door gets
  722.         everything relevant from LASTUSxx.DAT,  it's enough to  pass  the
  723.         task number in the command line.
  724.         Let's see an example for Task 2:
  725.  
  726.             ...
  727.             IF ERRORLEVEL 77 GOTO O_QWKer
  728.             ...
  729.           :O_QWKer
  730.             O_QWKer -t2
  731.             GOTO RELOG
  732.             ...
  733.           :RELOG
  734.             Opus -o
  735.             ...
  736.  
  737.         Please refer to Opus documentation about the  options  RELOG  and
  738.         AFTER RELOG EXIT.
  739.  
  740.  
  741.                               O_QWKer 1.1                         Page 16
  742.  
  743.  
  744.         Multi-Line Setup
  745.         ----------------
  746.  
  747.         If  you  want  to setup O_QWKer for multi-line systems,  you will
  748.         probably prefer to have a slightly different installation in your
  749.         BBS.CTL file:
  750.            ...
  751.            Task $(Task)
  752.            ...
  753.            SECURE 2
  754.            ...
  755.            _OUTSIDE Normal "QWK" = RUN O_QWKer.EXE O_QWKer.C$(Task)
  756.            ...
  757.  
  758.         This way NACL would expand the name  of  the  configuration  file
  759.         according to the defined Task number, and you would get:
  760.  
  761.            Task = 2           CFG filename -> O_QWKer.C2
  762.            Task = 1F          CFG filename -> O_QWKer.C1F
  763.  
  764.         More  on  this  subject  in  page  35  of OSOM_170.TXT operations
  765.         manual.
  766.  
  767.         There is another option,  based on the use of a single .CFG file,
  768.         but  using  the  task  wildcard  ##  in  the commands LOGFILE and
  769.         TEMPDIR.  With this approach you may use a  single  configuration
  770.         file, since you will have different temporary directories and log
  771.         files  to  each Opus Task.  If you define,  for example,  TEMPDIR
  772.         E:\QWK##,  Task 1 will use E:\QWK01  whereas  Task  44  will  use
  773.         E:\QWK2C (44 = 2C hexadecimal).
  774.  
  775.         Using O_QWKer across a Network
  776.         ------------------------------
  777.  
  778.         It  isn't  mandatory  that  O_QWKer  is used from inside Opus.  A
  779.         Sysop with network access to his BBS may want to receive/send his
  780.         echomail without logging-in the system.  Here are some  notes  on
  781.         achieving this.
  782.  
  783.         You  should  create  a  batch  file which runs the door with your
  784.         special .CFG file.  It should be something like the following:
  785.  
  786.             rem
  787.             Echo Using O_QWKer in local mode across the Network
  788.             X:\MAILDOOR\O_QWKer X:\MAILDOOR\NETLOCAL.CFG -k
  789.             rem
  790.  
  791.         This example assumes that  you  have  O_QWKer  installed  in  the
  792.         directory  MAILDOOR on the BBS disk (you see it as drive X),  and
  793.         your special .CFG filename is, in this example, NETLOCAL.CFG.
  794.         This special  configuration  file  must  be  prepared  carefully.
  795.         Don't  forget  to have PRM option pointing to the Network volume,
  796.         to have a different log  file  (LOGFILE)  and  another  temporary
  797.         directory (TEMPDIR), preferably in your workstation local disk.
  798.  
  799.         You  also  will  need  to  use  ASSIGN to have the door correctly
  800.         interpreting data extracted from Opus system files  and  redirect
  801.         the accesses to the correct volumes (e.g.  ASSIGN C: X:).
  802.  
  803.  
  804.                               O_QWKer 1.1                         Page 17
  805.  
  806.  
  807.         Finally  you  may  want  to have a copy of LASTUSxx.DAT with your
  808.         data, and renamed to something else.
  809.  
  810.         Please be aware that currently,  used this way,  O_QWKer  neither
  811.         updates  the user message counters in USER.DAT,  nor triggers the
  812.         echomail scan.
  813.  
  814.         And that's it.  You may create several variations based  on  this
  815.         setup,  but  the  idea  is  built around the ASSIGN configuration
  816.         commands and the -k switch.
  817.  
  818.         Installing Compressors
  819.         ----------------------
  820.  
  821.         You may make available up to 8 different packing schemes to  your
  822.         users,  but  only one is mandatory.  Both QWK and REP packets are
  823.         exchanged as archives, to minimize transfer time.
  824.  
  825.         You define each of them using a group of three .CFG lines.   Take
  826.         ZIP as an example:
  827.  
  828.             PACKER TEXT Zip 2.04g
  829.             PACKER COMPRESS C:\UTIL\PKZIP.EXE -A
  830.             PACKER UNCOMPRESS C:\UTIL\PKUNZIP.EXE
  831.  
  832.         Following   there  is  a  list  of  common  archivers,   and  the
  833.         recommended .CFG syntax to be used.
  834.  
  835.            Type               COMPRESS             UNCOMPRESS
  836.            --------------     ----------------     ----------------
  837.            ARC (V.Buerg)      arca.com             arce.com
  838.            ARC (PKWare)       pkarc.exe -oct a     pkxarc.exe
  839.            PAK                pak.exe a /wa        pak.exe e /wa
  840.            ZOO                zoo.exe -add         zoo.exe xO
  841.            ZIP                pkzip.exe -a         pkunzip.exe
  842.            LHA                lha.exe a /m         lha.exe e /m
  843.            ARJ                arj.exe a -y         arj.exe e -y
  844.  
  845.         Please note that many off-line readers only support  ZIP, LHA and
  846.         ARJ packets, so perhaps it's a wise move to stick with these.
  847.  
  848.         By default, compressor output is shown only on console, so a user
  849.         may think that the program just crashed while he  waits  for  the
  850.         compression  of  a  QWK  packet  containing  many  messages.   To
  851.         overcome this annoying situation, you may redirect the compressor
  852.         output to the COM port,  so it is shown to the user  rather  than
  853.         the Sysop.  This is accomplished by the global CFG option
  854.  
  855.            REDIRECT COMPRESSORS
  856.  
  857.         Nevertheless  there  are  some  compressors that don't send their
  858.         output to stdout,  so they can not be redirected.   This  is  the
  859.         case with ARJ.
  860.  
  861.         When an user uploads  a REP packet compressed  with a method that
  862.         doesn't match his current compressor user option, O_QWKer reports
  863.         him the fact and logs the occurrence.
  864.  
  865.  
  866.                               O_QWKer 1.1                         Page 18
  867.  
  868.  
  869.         Installing Protocols
  870.         --------------------
  871.  
  872.         O_QWKer doesn't have any built-in file transfer protocols, so you
  873.         must install them externally.
  874.  
  875.         O_QWKer  executes  the  command defined in the configuration file
  876.         (see PROTOCOL UPLOAD and PROTOCOL  DOWNLOAD  options  above)  and
  877.         passes the following parameters:
  878.  
  879.              %1   Port (1 - COM1, 2 - COM2, etc.)
  880.              %2   Baudrate
  881.              %3   Filename
  882.  
  883.         Let's see how you can use this together with DSZ (Omen Technology
  884.         Inc.)  (By  the  way,  you  should  use the .EXE version of DSZ).
  885.                                                     -------------------
  886.  
  887.           O_QWKer.CFG
  888.              ...
  889.              PROTOCOL TEXT       Zmodem (DSZ)
  890.              PROTOCOL UPLOAD     RZ.BAT
  891.              PROTOCOL DOWNLOAD   SZ.BAT
  892.              ...
  893.  
  894.           SZ.BAT
  895.              @echo Sending QWK packet
  896.              dsz ha cts port %1 speed %2 sz %3
  897.  
  898.           RZ.BAT
  899.              @echo Receiving REP packet
  900.              dsz ha cts port %1 speed %2 rz
  901.  
  902.         Both SZ.BAT and RZ.BAT are included in the distribution  archive,
  903.         so that you don't need to cut and paste that information.
  904.  
  905.         Scanning Echomail
  906.         -----------------
  907.  
  908.         O_QWKer  searches  your  PRM file for the existence of the option
  909.         LOG ECHOMAIL,  and updates the ECHOTOSS.LOG (or whatever name  is
  910.         defined).   But  it goes beyond that:  in a barefoot installation
  911.         this mail door updates  the  internal  Opus  flags,  so  that  an
  912.         automatic  mail  scan  is triggered if any echomail message areas
  913.         received a message via O_QWKer and your system is  configured  to
  914.         act that way (SCAN ECHOMAIL in your CTL file).
  915.  
  916.         This implies three conditions:
  917.  
  918.           * Outside menu command must use DOS or RUN
  919.           * SECURE must be set to 2
  920.           * you must use LASTUSxx.DAT in your O_QWKer.CFG (in LOCALUSER)
  921.  
  922.         If  you  prefer,  you  may  alternatively  check the existence of
  923.         ECHOTOSS.LOG file upon user exit and perform an Opus run with  -s
  924.         switch or use your preferred Echomail processor.
  925.  
  926.         If ECHOTOSS.LOG is not defined, then no log is generated.
  927.  
  928.  
  929.                               O_QWKer 1.1                         Page 19
  930.  
  931.  
  932.         ================================
  933.          Security and Access Management
  934.         ================================
  935.  
  936.         O_QWKer  relies upon Opus privileges and key features in order to
  937.         achieve an easy  way  to  control  packet  creation  and  message
  938.         upload.   Furthermore,  you  can use the commands FORCE AREAS and
  939.         EXCLUDE AREAS for additional access management.
  940.  
  941.         At this point it is important to present  our  interpretation  of
  942.         the  access  keywords  in  Message Areas definition (in BBS.CTL).
  943.         The first two may be obvious;  ACCESS and PEEK.  The first grants
  944.         reading  access  and  the  second defines the privilege needed to
  945.         read private messages  not  addressed  to  the  reader.   So  the
  946.         question  is between EDIT and UPLOAD:  in our view,  EDIT relates
  947.         only to messages introduced on-line,  whereas UPLOAD relates with
  948.         messages prepared off-line and introduced in the BBS either using
  949.         the  Upload  command  or  an Off-line Reader Door.  Based on this
  950.         interpretation,  O_QWKer doesn't care how the EDIT privilege  and
  951.         keys are set.
  952.         Now,  you may ask "Do I get any advantage setting EDIT and UPLOAD
  953.         priv/keys different?".  Indeed: if you want an area to have short
  954.         messages and not many replies with heavy quoting,  just give EDIT
  955.         access  and  deny  UPLOAD,  so  that users can't prepare off-line
  956.         lengthy messages...  Got the picture?
  957.  
  958.         The best way to introduce you to this issue  is  to  present  the
  959.         sequence  of  actions  taken  by the door during Message Scan and
  960.         Import processes.
  961.  
  962.         Scanning Messages for .QWK Packet
  963.         ---------------------------------
  964.  
  965.         For each existing Message Area
  966.  
  967.         1. Message Area  ACCESS privilege  and keys  are  matched against
  968.            user profile
  969.  
  970.         2. If the Area is declared mandatory  by FORCE AREA configuration
  971.            command skip to 4.
  972.            (you may argue this should be the first test, but this way the
  973.            door  will not grant access  to  a  privileged area  which you
  974.            erroneous have  declared mandatory,  thus giving an additional
  975.            degree of security)
  976.  
  977.         3. Check if this Area is currently toggled on by the user
  978.  
  979.         4. If user's  privilege  is  below  AsstSysop,  check  if Area is
  980.            excluded by the EXCLUDE AREA configuration command
  981.  
  982.         5. If Area is only for Public Messages, skip to 8.
  983.  
  984.         6. Check  PEEK privilege  and keys and if PEEK access is granted,
  985.            ignore 7.
  986.  
  987.         7. Match Username
  988.  
  989.         8. Include message (starting  after  current message  pointer  in
  990.  
  991.  
  992.                               O_QWKer 1.1                         Page 20
  993.  
  994.  
  995.            LREAD.DAT)  and skip (7. or 8.) for next message until no more
  996.            messages in Area.
  997.  
  998.            If private and addressed to current user,  flag it as Received
  999.            If  message has more than MAXLINES lines,  there is a split in
  1000.            smaller messages.
  1001.  
  1002.         9. Update O_QWKer$.PTR (temporary new message pointers) for later
  1003.            update
  1004.  
  1005.         Importing Messages from .REP Packet
  1006.         -----------------------------------
  1007.  
  1008.         1. Match .REP identification,  to ensure  this packet  is to your
  1009.            BBS.  This is one of the reasons you should configure a unique
  1010.            BBSID name
  1011.  
  1012.            For each Message in Packet
  1013.  
  1014.         2. Message Area ACCESS  privilege  and keys  are  matched against
  1015.            user profile
  1016.  
  1017.         3. Check UPLOAD privilege and keys
  1018.  
  1019.         4. If user's  privilege  is  below  AsstSysop,  check  if Area is
  1020.            excluded by the EXCLUDE AREA configuration command
  1021.  
  1022.         5. Check if Area is Read/Only
  1023.  
  1024.         6. Capitalize From: and To: message fields (user names)
  1025.  
  1026.         7. Match Username against From: message field
  1027.  
  1028.         8. Create message,  according to  Area message  allowed types: if
  1029.            Area only accepts Private messages,  Pvt flag is set,  even if
  1030.            the  message  have  been composed  as public; if  the  Area is
  1031.            Public only, Pvt flag is reset.
  1032.  
  1033.         9. If  Area  is  Echomail  and  MSGID KLUDGE  is  defined  in the
  1034.            configuration file, the kludge is inserted in the message
  1035.  
  1036.  
  1037.                               O_QWKer 1.1                         Page 21
  1038.  
  1039.  
  1040.         Message Import Error Codes
  1041.         --------------------------
  1042.  
  1043.         When the import process fails,  the user  gets  an  error  report
  1044.         instead of the area number where the message would be placed (the
  1045.         error is also logged).
  1046.  
  1047.         The error codes are the following:
  1048.  
  1049.           *BAD*    Severe Error. Shouldn't occur. Report to the authors.
  1050.           *R/O*    Message Area is Read-Only
  1051.           *PRV*    Not enough privilege to access Message Area
  1052.           *EXC*    Message Area excluded by Sysop (EXCLUDE AREA option)
  1053.           *N/A*    Message Area not found
  1054.           *USR*    Name in From field doesn't match username
  1055.           *N/X*    Matrix/Netmail not yet supported
  1056.           *NO$*    Not enough Credit to send Matrix message
  1057.           *TO?*    Matrix Address not found
  1058.           *ERR*    QWK command error (ADD, DROP or RESET area)
  1059.  
  1060.                               O_QWKer 1.1                         Page 22
  1061.  
  1062.  
  1063.         ========================
  1064.          Menus and On-line Help
  1065.         ========================
  1066.  
  1067.         Menus
  1068.         -----
  1069.  
  1070.         There  isn't  much  to say about O_QWKer menus,  except that they
  1071.         follow Opus menus as much as possible.  This includes support for
  1072.         NOVICE, REGULAR,  EXPERT and HITECH menus,  plus command stacking
  1073.         and ANSI support.
  1074.  
  1075.         The NOVICE menus are assigned to all new users,  regardless their
  1076.         Opus help level.  Later, an user may decide to have O_QWKer menus
  1077.         to follow the Opus level,  by switching to "NO" the "Help Novice"
  1078.         User Option.
  1079.  
  1080.         The tree includes the following menus:
  1081.  
  1082.             Main -    Grants  access  to   packet  upload  and  download,
  1083.               configuration menu,  and  general  information screen
  1084.  
  1085.             Configuration -  Allows  access  to further  menus for areas,
  1086.               protocols,  compressors  and  user options
  1087.  
  1088.             Areas -  In this  menu it  is  possible  to  toggle areas for
  1089.                inclusion in the  message scan process,  and also to reset
  1090.                the user message pointers for each area.  Please note that
  1091.                all/only  the areas  to which the user has access,  either
  1092.                R/W  or R/O,  are shown  in  the  associated  screen,  and
  1093.                Down/Up  commands  allow  for viewing more  in case a page
  1094.                isn't enough
  1095.  
  1096.             Compressors -  The user is allowed to choose from up to eight
  1097.                programs  you  made  available  in  the configuration file
  1098.                (PACKER... commands)
  1099.  
  1100.             Protocols -  The user is allowed  to choose  from up to eight
  1101.                transfer protocols you made available in the configuration
  1102.                files (PROTOCOL... commands)
  1103.  
  1104.             User Options - Allows to set/reset several user options which
  1105.                control  the  information included in QWK packets  and the
  1106.                help level
  1107.  
  1108.  
  1109.                               O_QWKer 1.1                         Page 23
  1110.  
  1111.  
  1112.         On-line Help
  1113.         ------------
  1114.  
  1115.         Help command (?, just like in Opus)  is  available at all O_QWKer
  1116.         menus.   Each  help  corresponds  to  an  OEC external file.  The
  1117.         recognized names are:
  1118.  
  1119.                Loading O_QWKer    - INITIAL.OEC
  1120.                Main Menu          - MAIN.OEC
  1121.                Configuration Menu - CONFIG.OEC
  1122.                Areas Menu         - AREAS.OEC
  1123.                Compressors Menu   - COMPRESS.OEC
  1124.                Protocols Menu     - PROTOCOL.OEC
  1125.                User Options Menu  - USER.OEC
  1126.                Download           - DOWNLOAD.OEC
  1127.                Download Error     - DLERROR.OEC
  1128.                Upload             - UPLOAD.OEC
  1129.                Upload Error       - ULERROR.OEC
  1130.                Leaving O_QWKer    - FINAL.OEC
  1131.  
  1132.         By default,  these OEC files  have to be placed in the executable
  1133.         directory  (the same as O_QWKer.EXE),  otherwise  they  won't  be
  1134.         shown to the users. You may use the configuration option HELPPATH
  1135.         (please refer to "Configuring O_QWKer",  above in this manual) to
  1136.         override this default.
  1137.         A message is shown to the user if no helpfile is found.
  1138.  
  1139.         The OEC commands correctly evaluated by the help sub-system are:
  1140.  
  1141.            [Enter]     [ClrEol]     [Home]     [Newline]     [Cls]
  1142.            [Blink]     [Colour on Colour]
  1143.  
  1144.         Colour names are:  Black, Blue, Green, Cyan, Red, Magenta, Brown,
  1145.         LightGrey,  Grey,  LightBlue,  LigthGreen,  LightCyan,  LightRed,
  1146.         LightMagenta, Yellow and White.
  1147.  
  1148.         Blink is enforced up to the next colour change.
  1149.  
  1150.  
  1151.                               O_QWKer 1.1                         Page 24
  1152.  
  1153.  
  1154.         ==========
  1155.          Insights
  1156.         ==========
  1157.  
  1158.         Besides the two main files - O_QWKer.EXE and the Config file, the
  1159.         O_QWKer mail door relies upon a file maintained by itself, called
  1160.         O_QWKer.DAT and located again in the same directory.  It contains
  1161.         the  user  options  (selected  areas,  packet options,  protocol,
  1162.         compressor)  indexed with the same key  as  in  Opus's  USER.DAT.
  1163.         Please  note that no particular message pointers are used by this
  1164.         mail door -  it uses and  updates  the  LREAD.DAT  file  on  each
  1165.         message area, including the Sysop pointers.
  1166.  
  1167.         If  the  O_QWKer.DAT  file  is  erased,  all  users  will have to
  1168.         re-select areas,  compressor,  protocol and  options,  so  it  is
  1169.         recommended  that  you  include  this  file  in your daily backup
  1170.         procedures.
  1171.  
  1172.         There are also two  other  files  you  might  also  find  hanging
  1173.         around, although normally erased by the door.
  1174.  
  1175.         The first is a swapfile (with an unique DOS name)  created by the
  1176.         door  inside  O_QWKer$.SWP  directory  (itself   inside   TEMPDIR
  1177.         directory).   Normally  the  door  swaps  to  EMS  or  XMS before
  1178.         executing the archiver or the file transfer program.   If  memory
  1179.         is  not available,  the swapper uses the directory pointed by the
  1180.         TMP or TEMP in the DOS environment (defined with DOS command  SET
  1181.         TMP=C:\XXX).   As  a  last  move,  this O_QWKer$.SWP directory is
  1182.         used.
  1183.  
  1184.         The second is O_QWKer$.PTR,  a temporary holder of user's message
  1185.         pointers,  used  to  restore  them if the .QWK packet download is
  1186.         aborted.
  1187.  
  1188.  
  1189.                               O_QWKer 1.1                         Page 25
  1190.  
  1191.  
  1192.         =========
  1193.          Licence
  1194.         =========
  1195.  
  1196.         All FidoNet Sysops are hereby authorized to use and/or distribute
  1197.         O_QWKer provided only that
  1198.  
  1199.          (1) no money is charged for either its use or distribution
  1200.          (2) it is  distributed together  with all files  included in the
  1201.              original distribution archive  (change of compression method
  1202.              is allowed)
  1203.          (3) the inclusion of O_QWKer software in any kind of compilation
  1204.              or another software package is subject of a previous written
  1205.              authorization from his authors
  1206.          (4) it is used  under the Opus spirit - in a LAWFUL and FRIENDLY
  1207.              manner
  1208.          (5) it is not a version under restricted testing
  1209.  
  1210.  
  1211.         ============
  1212.          Disclaimer
  1213.         ============
  1214.  
  1215.         Please  be  aware  that  programs such as Mail Doors have to deal
  1216.         with Opus at a very low level.  This means accessing  files  like
  1217.         USER.DAT,  SYSMSG.DAT  and  other  critical  points  and possibly
  1218.         updating some of these files.  While every attempt has been  made
  1219.         to  code and test this software,  you should keep current backups
  1220.         of  your  system,   should  any  problems  develop.   You  should
  1221.         carefully  observe all configuration options and install the door
  1222.         as advised in the documentation.
  1223.  
  1224.         Although we tried to incorporate security mechanisms to  overcome
  1225.         your  creative  procedures,  we  obviously  cannot guarantee that
  1226.         O_QWKer will be able to preserve the integrity of your system.
  1227.  
  1228.         O_QWKer is provided on an AS-IS basis.  No  responsibility  shall
  1229.         be taken by its authors in relation to anything happening to your
  1230.         system,   directly   or   indirectly   arising   from   its  use,
  1231.         malfunctioning and/or installation.
  1232.  
  1233.  
  1234.                               O_QWKer 1.1                         Page 26
  1235.  
  1236.  
  1237.         =================
  1238.          Acknowledgements
  1239.         =================
  1240.  
  1241.         Besides everybody  that  kept  Opus alive  all these years,  this
  1242.         project  had  the direct collaboration  of nice people around the
  1243.         WOC  (specially from the Opus Utility Team),  that helped in many
  1244.         ways to shape  what O_QWKer currently is  and  what it will be in
  1245.         the future.
  1246.  
  1247.         Some people involved in the testing cycle  and  technical support
  1248.         deserve a very special reference,  for helping tracing and fixing
  1249.         the problems:
  1250.  
  1251.           Cheryl Buzzell      Erik Likvarn        Trev Roydhouse
  1252.           Mark Shultise       Jon Morby           Stein-Ivar Johnsen
  1253.           Roger Franz         Chinian Wang        John Valentyn
  1254.           Rob Lerman          Todd Savoie         Chris Moran
  1255.           Antonio Vieira      Jeff King           Vasco Santos
  1256.           Patrick Lee         Thomas Wagner       Kay Akagi
  1257.  
  1258.         Thanks a lot, on behalf of all O_QWKer users!
  1259.  
  1260.         QWK format copyright (C) Mark "Sparky" Herring
  1261.  
  1262.         ========================
  1263.          Contacting the Authors
  1264.         ========================
  1265.  
  1266.         O_QWKer is a copyrighted joint work by
  1267.              Bernardo Cardoso    Programming
  1268.              Fausto Carvalho     Design, Verification and Doc's
  1269.  
  1270.         You may contact the O_QWKer  development  team  using  MEADOW
  1271.         or sending Netmail to 2:361/1 or 2:361/7
  1272.