home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 887.PRMDOC.98T / PRMBS98.DOC < prev    next >
Text File  |  1988-02-12  |  163KB  |  3,265 lines

  1.  
  2.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 1      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 1
  3.  
  4.  
  5.  
  6.               Document Reflects Features through PRMBS version 0.98S              Document Reflects Features through PRMBS version 0.98S              Document Reflects Features through PRMBS version 0.98S
  7.  
  8.            Packet  Radio MailBox System (PRMBS) is a program to run on  an                                         PRMBS
  9.          IBM-PC  or  clone under PC(MS)-DOS 3.xx. It interfaces  into  the
  10.          current  American/Canadian amateur packet radio networks and  may
  11.          send and receive mail via the W0RLI mail forwarding protocol.
  12.  
  13.            PRMBS  is  written  in C and is primarily  compiled  under  the           PRMBS
  14.          MicroSoft C Compiler Version 4.0. The code is the exclusive  work
  15.          of  KA2BQE and NN2Z, with some contributions from others as  will
  16.          be  noted. The starting point of the code was an early  (Sept-Oct
  17.          '86)  pre-release of the W0RLI/VE3GYQ C BBS code.   Through  pre-
  18.          release  version 0.60 of PRMBS the code in essence  followed  the                                  PRMBS
  19.          structure  of  the C BBS. At that point radical  alterations  were
  20.          made  to  the  point  that there is  little  resemblance  to  its
  21.          forbears.
  22.  
  23.            The  current  code retains a few routines from the C  BBS  from
  24.          W0RLI/VE3GYQ  mixed with  some MSDOS directory routines  from  B.
  25.          Garbee from KA9Q's NET.EXE suite, and a number of adaptations  of
  26.          generic command parsing routines from UNIX and other sources.
  27.  
  28.          *** NOTE ***        A complete revised up to date doc for release         *** NOTE ***         *** NOTE ***
  29.          1.0  is in the works. It just takes time - please bear  with  the
  30.          disorganized  nature of what is here.
  31.  
  32.  
  33.            Brian B. Riley , KA2BQE
  34.            c/o Stormylea Ltd.
  35.            86 Burnt House Road
  36.            Indian Mills, New Jersey
  37.            08088 (USA)
  38.  
  39.  
  40.            CIS: 71420,3543
  41.  
  42.            Phone:  (609) 268-9497 - voice and tape answering machine
  43.                    (609) 268-9597 - data BBS 300/1200/18n - 24 hours
  44.                                     Xmodem, Xmodem batch, Ymodem batch
  45.                                     supported for downloads
  46.                                     (temporarily unavailable)
  47.                    (609) 859-1910 - W2XQ RBBS system  3/12/2400 baud 1/8/n
  48.                                     supports Xmodem, Ymodem, Kermit, MNP
  49.                                     will be kept up with latest code
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 2      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 2
  67.  
  68.  
  69.          *****************************************************************         *****************************************************************         *****************************************************************
  70.            PRMBS  will not forward any mail off of its system  to  another           PRMBS
  71.          system  unless the message @BBS field has been  specified.  While
  72.          this  stance  has  been  criticized by  some  and  remains  quite
  73.          controversial,  that  feature  is hard coded and  will  stay.  No
  74.          Electronic Mail System anywhere permits mail onto network without
  75.          such  addressing and PRMBS is no different. It leaves mail  which                              PRMBS
  76.          could  be a problem on the system where it originated.  There,  it
  77.          has the greatest chance of being 'corrected'.
  78.  
  79.            Sooner  or  later  this stance will be  proven  or  trashed.  I
  80.          believe  I am right, but time will tell. I feel its only  correct
  81.          to  bring  this point forward now, before  you,  the  prospective
  82.          SYSOP  invest  too much time into setting up the system  only  to
  83.          discover this and take exception.
  84.  
  85.            I  have  coded a change in REV N that permits NTS traffic  to  be
  86.          forwarded by copying a numeric TO field Zipcode, to the @ field  to
  87.          provide at @BBS on which to forward. This temporarily eliminates the
  88.          problem while the matter continues under discussion.
  89.  
  90.             73 de brian riley
  91.          *****************************************************************         *****************************************************************         *****************************************************************
  92.  
  93.          *** NOTE ***          if you are running any type of TNC other than         *** NOTE ***         *** NOTE ***
  94.       a TNC1 (or clone) or KPC1, the question in the CONFIG file  concerning
  95.       TNC2  is to be answered yes. The DCD is to be answered yes. The  cable
  96.       from  TNC to computer must have pin 8 wired to pin 8  end-to-end.  The
  97.       TNC  must have the internal jumper which determines the action of  the
  98.       RS232   pin   8  set  so  that  DCD   as   asserted/not_asserted   for
  99.       CONNECTED/DISCONNECTED condition.
  100.  
  101.            (ON  a TNC2 or clone this is JMP1. On a PK-87 this is JMP6. In  a
  102.       brand  new TNC2 or PK-87 these are set so that DCD is asserted  always
  103.       so  t must be changed. The symptom of the set wrong is easy  to  spot,
  104.       PRMBS falsely decides it has a connectee each time it gets a monitored      PRMBS
  105.       packet.)
  106.  
  107.            I cannot say strongly enough that a sound knowledge of MSDOS  and
  108.       packet  operations  in general is required to begin to  undertake  the
  109.       setting up of a PRMBS system. It is a sophisticated piece of  software                      PRMBS
  110.       that  is,  to be quite honest, pushing the hell out of MSDOS  3.x  and
  111.       DoubleDOS.  There is little margin for error and damned little in  the
  112.       way of safeguards. I made the system with extreme power for the  sysop
  113.       and  significantly  enhanced powers to the remote users. If  you,  the
  114.       sysop,  ask  the  system to do something stupid, by God  it  will  say
  115.       "yassuh" and merrily shoot itself in the foot.
  116.  
  117.            This  not to say that the system is unstable or flaky. There  are
  118.       many  safeguards against the normal errors, but I did not cripple  the
  119.       sysop from being able to do just about anything he wants from the  DOS
  120.       escape. The SYSOP can schedule any mailbox command from the LOCAL  and
  121.       SYSOP  list in the scheduler. It would be stupid to do a 'dir'  as  it
  122.       proves  nothing,  but it would be disastrous to schedule  any  command
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 3      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 3
  131.  
  132.  
  133.       which wants interactive input, the system will be hung at 0330 in  the
  134.       morning waiting for you to figure out that you screwed up.
  135.  
  136.  
  137.                                   BRINGING UP PRMBS                                  BRINGING UP PRMBS                                  BRINGING UP PRMBS
  138.  
  139.            The  files needed to bring up the version 0.98P of PRMBS  are  as                                                              PRMBS
  140.       follows:
  141.  
  142.            MB.EXE           MB.EXE           MB.EXE
  143.            CONFIG.MB    - the default config file, for  multi-user  see           CONFIG.MB           CONFIG.MB
  144.                           other docs
  145.            EVENT.MB       the event script file           EVENT.MB           EVENT.MB
  146.            R_EVENT.MB     reverse event script file           R_EVENT.MB           R_EVENT.MB
  147.            HELP.MB           HELP.MB           HELP.MB
  148.            MENU.MB           MENU.MB           MENU.MB
  149.            INFO.MB           INFO.MB           INFO.MB
  150.            TRANSLAT.MB  - optional @BBS translation tables           TRANSLAT.MB           TRANSLAT.MB
  151.            PASSWORD.MB  - optional Remote Sysop password file           PASSWORD.MB           PASSWORD.MB
  152.            REMOTREQ.MB  - optional Remote request permission file           REMOTREQ.MB           REMOTREQ.MB
  153.            RMAIL.MB     - optional RMAIL permission file           RMAIL.MB           RMAIL.MB
  154.       and sub-directories
  155.  
  156.            MAIL\           MAIL\           MAIL\
  157.            FILES\           FILES\           FILES\
  158.            FWD\           FWD\           FWD\
  159.  
  160.         and  in the FWD\ sub-directory there will be the .FWD  files.  These
  161.       files and directories should be in the default bbs directory.
  162.  
  163.         ***  If  you have been running any version 0.98N or later  you  need
  164.          change only the first line of the CONFIG to read:
  165.  
  166.                                     098s 02/06/88                                    098s 02/06/88                                    098s 02/06/88
  167.  
  168.           If you were running prior versions it is suggested that the CONFIG
  169.          files  from  the  SUPPORT  Archive  be  used  and  edited  to  your
  170.          parameters.
  171.  
  172.            The program can executed with a few different options;
  173.  
  174.                      C:\BBS> MB <cr>                     C:\BBS> MB <cr>                     C:\BBS> MB <cr>
  175.                      C:\BBS> MB -M <cr>                     C:\BBS> MB -M <cr>                     C:\BBS> MB -M <cr>
  176.                      C:\BBS> MB -C CONFIG.A <cr>                     C:\BBS> MB -C CONFIG.A <cr>                     C:\BBS> MB -C CONFIG.A <cr>
  177.                      C:\BBS> MB -M -C CONFIG>B <cr>                     C:\BBS> MB -M -C CONFIG>B <cr>                     C:\BBS> MB -M -C CONFIG>B <cr>
  178.  
  179.  
  180.         The  first  is plain vanilla. CONFIG.MB is looked for  in  the  \BBS
  181.       directory. The second tells PRMBS that DoubleDOS is present and to use
  182.       multi-user  coding. The program does check for the actual presence  of
  183.       DoubleDOS  and  its not there it simply ignores the  "-M".  The  third
  184.       simply directs PRMBS to use an alternate configuration file whose name
  185.       is given by the next argument. The fourth is simply a combination  of
  186.       the two.
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 4      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 4
  195.  
  196.  
  197.  
  198.  
  199.       1. *** NOTE *** as with all prior versions of PRMBS, immediately  upon         *** NOTE ***                               PRMBS         *** NOTE ***                               PRMBS
  200.       bringing  up for the first time, the operator should initiate  the  GM
  201.       (untangle mail) and GU (untangle user) commands. We use the GM and  GU
  202.       commands to update Mail file and user file structure changes. They are
  203.       coded, within PRMBS to recognize both 'old' and 'new' file formats and                    PRMBS
  204.       convert them. There are indicators in the first record of each file of
  205.       the  revision level of the file and when appropriate  conversions  are
  206.       made.
  207.  
  208.       2. This is the multi-user version, tuned for DoubleDOS use, permitting
  209.       simultaneous  copies running on both sides of DoubleDOS with a  shared
  210.       message file and user file.
  211.  
  212.            Use  of each side is totally independent from the opposite  side.
  213.       The  only  indication  of  a  user  on  'the  other  side'  would   be
  214.       simultaneous  disk  accessing  for  large  files,  there  will  be  an
  215.       occasional 'pause' that actually would only be seen by the sysop since
  216.       the  'delays' in RF protocolled transmissions would tend  to  'smooth'
  217.       the anomaly.
  218.  
  219.            To  bring the system up you would have two BAT files and mods  to
  220.       AUTOEXEC.BAT.  I  have also included, at the end of this  document,  a
  221.       copy  of my DDCONFIG.SYS. In the AUTOEXEC.BAT, you would have  as  the
  222.       last two lines;
  223.  
  224.                      ....
  225.                      ....                     ....                     ....
  226.                      DOUBLEDO                     DOUBLEDO                     DOUBLEDO
  227.  
  228.            Then you make up two BAT files called BBSA.BAT and BBSB.BAT
  229.  
  230.       BBSA.BAT:
  231.              com1bios             com1bios             com1bios
  232.              mb -m -c config.a             mb -m -c config.a             mb -m -c config.a
  233.  
  234.       BBSB.BAT:
  235.              com2bios             com2bios             com2bios
  236.              mb -m -c config.b             mb -m -c config.b             mb -m -c config.b
  237.  
  238.            In  the respective CONFIG files for A and B, be sure to name  the
  239.       FWD and MON and LOG files as  LOG.A, FWD.A, MON.A and LOG.B ... etc.
  240.  
  241.            If  you are running crossed services, i.e. MARS/Ham, be  sure  to
  242.       remember  which side is which when you want to send out a message.  So
  243.       that  the right 'from call' gets placed onto the message. One  way  to
  244.       help  remember is to alter the LOCAL Console prompt in the  CONFIG.???
  245.       file  from  "$Tz, $N msgs>$H" to "$T, $N msgs[A]>$H" or maybe "$T,  $N
  246.       msgs[HAM]>$H" and "$T, $N msgs[MARS]>$H" .
  247.  
  248.       2. DOS Environmental Changes
  249.  
  250.            You  will  need to enter two DOS environment parameters,  TZ  and
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 5      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 5
  259.  
  260.  
  261.       EDITOR, into you AUTOEXEC.BAT;
  262.  
  263.                 SET TZ=EST5                SET TZ=EST5                SET TZ=EST5
  264.                 SET EDITOR=your_editor                SET EDITOR=your_editor                SET EDITOR=your_editor
  265.  
  266.        ** if you want to run GMT on your RTC, then set TZ=UTC0
  267.  
  268.            The first, TZ, is used to allow you to run your RTC at local time
  269.       and  still have the BBS at Zulu time. The EDT is your time zone.  PST,
  270.       CDT  whatever. The number is the offset from your time to  Zulu  time.
  271.       The messages entered will be time stamped in the text with local  time
  272.       with  an appropriate indicator for time zone, and the  message  record
  273.       keeping and forwarding hours etc. will be done in Zulu time. The  date
  274.       is  correctly  computed  if the local time is close to  2400  and  the
  275.       offset puts it over.
  276.  
  277.            The EDITOR variable is to tell PRMBS what your editor is, so that                                          PRMBS
  278.       you  can,  from  within message entry from the console,  or  from  the
  279.       message  sweeper  you may drop into your editor to do a clean  job  on
  280.       editing.
  281.  
  282.            *** Note - since the function in effect does a call
  283.  
  284.                                  EDITOR filename                                 EDITOR filename                                 EDITOR filename
  285.  
  286.            If you are using Wordstar as your editor, install it that default
  287.       mode  is 'Non-document' mode, so you don't wind up with  high-bit  set
  288.       characters in the file.
  289.  
  290.            In so much as Wordstar or any full blown Word Processor is a disk
  291.       and  RAM  pig, floppy disk versions should use EDLIN  or  NED  (norton
  292.       Editor) which is quite adequate and very conservative on disk space.
  293.  
  294.  
  295.       3.  Speaking of headers #1 - the format of the forwarding  header  has
  296.       been partially 'fixed' in the format
  297.  
  298.                R:870101/1223z 7656@KA2BQE [Indian_Mills,NJ] optional strings               R:870101/1223z 7656@KA2BQE [Indian_Mills,NJ]               R:870101/1223z 7656@KA2BQE [Indian_Mills,NJ]
  299.  
  300.            Jeff Jacobsen (WA7MBL) and I have agreed to fix the format of our
  301.       headers  to  what is shown above. the QTH is placed  into  the  square
  302.       brackets by the program you do not need to enter them yourself.
  303.  
  304.            The  [optional strings] are configurable in the file in the  same
  305.       spot as the rest of it would have been placed. The time/date string is
  306.       as  before the message ID and qth, uniquely identify the  message  and
  307.       source location.
  308.  
  309.            Header recognition is done along two requirements
  310.  
  311.                 - that the line begin with 'R:', 'r:', 'I:', or 'i:'
  312.                 - that the line contain '@', '@ ', or '@:' prefixing the
  313.                   originating BBS.
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 6      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 6
  323.  
  324.  
  325.        ...  nothing else matters, the 'R:' et al is recognition and the  '@'
  326.       is for 'finding' the BBS.
  327.  
  328.       4. Speaking of headers, #2 - I no longer place the 'from' call in  the
  329.       header,as  with any message originating here it is already in the  new
  330.       RFC 822 style internal header so there is little point in repeating it
  331.       ad  nauseam,  this  saves about 8 bytes per header. It  does  run  the
  332.       chance of losing something if the name isn't in other messages  coming
  333.       in,  but  as the newer systems progress this  danger  is  diminishing.
  334.       Further,  the  logging  done by PRMBS is  sufficient  to  recover  the                                      PRMBS
  335.       TO/FROM/AT of any message received from elsewhere.
  336.  
  337.       5. Speaking of headers - a reminder - if you get someone using the old
  338.       W2JUP  'all-slashes' header or some creative soul who gets so  carried
  339.       away  he  forgets the '@' symbol, the 'is_header' test  ends  at  that
  340.       header  and the 'return address' or non-verbose (R)ead command  starts
  341.       there.  So impress on your various connecting BBSes the importance  of
  342.       following the minimal guideline
  343.  
  344.       6. headers makes me think of routing - auto-re-addressing is here
  345.  
  346.            Any  message entered into the system from console or remotely  is
  347.       subject to scrutiny of the @BBS field. If it matches your BBS call  it
  348.       is  left  blank - this is not new, but before we save the  message  we
  349.       take one look at result, if it is blank we check our user file and  if
  350.       that  user has as his home BBS something other than blank or your  BBS
  351.       it  will  get his home BBS filled in so it will automatically  be  re-
  352.       routed to him.
  353.  
  354.            The  commands  for handling HomeBBS are 'H' to see what  the  BBS
  355.       thinks  is your home BBS and 'H yourcall' to actually place your  call
  356.       into the homeBBS field.
  357.  
  358.            In 098L we have added the TRANSLAT.MB file which, if present will
  359.       allow  a greater range of flexibility in call translation. In  essence
  360.       what happens is that just before the 'blank check' and run through the
  361.       USER.DAT file, the BBS checks to se if the @BBS field is blank and  if
  362.       the TRANSLAT.MB file is present in the default directory. If it is the
  363.       file is read and a match with the @BBS field is looked for. If   match
  364.       is  found and no second call is on that line of the file, the call  is
  365.       blanked. If there is a second call, the second call is substituted for
  366.       the first.
  367.  
  368.            Some examples. Look below at the following sample TRANSLAT.MB.
  369.  
  370.                 NTSNJ KB1BD                NTSNJ KB1BD                NTSNJ KB1BD
  371.                 NTSSNJ KB1BD                NTSSNJ KB1BD                NTSSNJ KB1BD
  372.                 NTSCNJ KB1BD                NTSCNJ KB1BD                NTSCNJ KB1BD
  373.                 NTSNNJ KD6TH                NTSNNJ KD6TH                NTSNNJ KD6TH
  374.                 080* WB2MNF                080* WB2MNF                080* WB2MNF
  375.                 081* WB2MNF                081* WB2MNF                081* WB2MNF
  376.                 082* WB2MNF                082* WB2MNF                082* WB2MNF
  377.                 083* WB2MNF                083* WB2MNF                083* WB2MNF
  378.                 084* WB2MNF                084* WB2MNF                084* WB2MNF
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 7      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 7
  387.  
  388.  
  389.                 085* N2EVW                085* N2EVW                085* N2EVW
  390.  
  391.            If someone wanted to send mail to me, even though they know who I
  392.       am and am a BBS, many stations along the way may not know who I am  or
  393.       which way to send it. It might be sent to  KA2BQE @ 08088 . Now AS  it
  394.       worked  its way here using wildcards at most stations that  sends  08*
  395.       and  07*  to NJ in general. It will arrive somewhere in NJ  from  some
  396.       direction.  It will sooner or later get to a station for whom 080  has
  397.       meaning and sooner or later it will arrive at WB2RVX who will look  at
  398.       080  and say that's WB2MNF. At WB2MNF it will get the  WB2MNF  blanked,
  399.       and it will look up KA2BQE the user and see that HOMEBBS is KA2BQE and
  400.       re-address  it  that way and it will make it here. Sometimes  it  will
  401.       come straight to me other times it will come back via RVX, a seemingly
  402.       wasted  trip,  BUT  the point is it is untouched by  hands  and  never
  403.       stalls awaiting Sysop intervention.
  404.  
  405.       7. File uploads - sysops life made easier
  406.  
  407.            When  a  user uploads a file he is prompted to enter a  one  line
  408.       description of the file. Further a message is composed and sent to the
  409.       sysop describing the file sent and who sent it.
  410.  
  411.            Further  it  is possible to make all uploads invisible  to  other
  412.       users  until  'checked'  by SYSOP. If you create  a  directory  called
  413.       'UPLOAD' or whatever you specify in the CONFIG file at that point. Any
  414.       uploaded  file will go there, unavailable to users. If  the  directory
  415.       specified   doesn't  exists  it  may  be  uploaded  anywhere  and   be
  416.       immediately  available as before, subject to the same rules as  before
  417.       (i.e. it goes in a directory under 'FILES' as specific by user)
  418.  
  419.            In file upload a '/ABORT' will do that , terminate input  routine
  420.       and delete the temporary file., saving the trouble of asking sysop  to
  421.       delete  a partial. very handy with unexpected DISCONNECT in middle  of
  422.       upload,  and  you are not sure what got through, you  can  /ABORT  and
  423.       start again w/o leaving a file fragment.
  424.  
  425.       8. Increased Remote sysop security
  426.          -  remote  sysop  password - an 80 char string is  coded  into  the
  427.          MB.EXE  file,  it is used to generate 6 2 digit numbers  which  are
  428.          displayed  back  to  user. To log in and toggle  the  remote  sysop
  429.          condition the user must;
  430.  
  431.                 1 - have remote sysop privilege bit set
  432.                 2 - type back the 6 letter from the string whose positions
  433.                     apply to the numbers displayed, counting the first
  434.                     position as zero ( 0 ), programmer style.
  435.  
  436.          If  the user fails he is simply dumped back into the Mailbox  as  a
  437.          plain vanilla user.
  438.  
  439.          - remote sysops see nothing special and can do nothing special when
  440.          they  log  in initially, but after invoking the '@'  and  correctly
  441.          entering  the password, they now have all the commands they had  in
  442.          normal  REMOTE mode plus several others. They now directly look  at
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 8      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 8
  451.  
  452.  
  453.          the  BBS  root directory instead of 'files\', and  can  see  and/or
  454.          erase any message. They still do not have the privilege to view the
  455.          sysop's private mail.
  456.  
  457.          - remote sysop password is contained in a file containing a  single
  458.          line  of  text. The file is called PASSWORD.MB and must be  in  the
  459.          PRMBS  default  directory.  If it is not present,  no  password  is         PRMBS
  460.          assumed  and simply having a call with the correct  user  privilege
  461.          bits  set  is  all  that is needed to get in.  The  PRMBS  code  is                                                             PRMBS
  462.          'doctored'  to ignore any attempts by a remote user to  access  the
  463.          file PASSWORD.MB . The layout of the file is this
  464.  
  465.                      <single digit number> <sp> <string>                     <single digit number> <sp> <string>                     <single digit number> <sp> <string>
  466.  
  467.            For example;
  468.  
  469.                 6 ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890!@#$%^&*()_+|                6 ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890!@#$%^&*()_+|                6 ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890!@#$%^&*()_+|
  470.  
  471.            If a user logs in and accesses remote sysop with an '@' symbol he
  472.          will  be  presented with , in this case, 6 (first char of  file  is
  473.          number of digits to be presented) two digit numbers like so;
  474.  
  475.                           05 25 12 10 13 07                          05 25 12 10 13 07                          05 25 12 10 13 07
  476.  
  477.          which he should reply;
  478.  
  479.                                EYLJMG                               EYLJMG                               EYLJMG
  480.  
  481.          The  password  string may be up to 80 characters long and  you  may
  482.          select from 0 to 9 digits for response. 6 is a good number, but 4-6
  483.          is good. Spaces may be included in the string and must be sent back
  484.          - the raw input line is read for this so the spaces are  preserved.
  485.          If you edit the file remember to erase the backup file.
  486.  
  487.       9. Scripted forwarding - NETROM, gateways, N2WX switches
  488.            The system supports scripted connections for NETROM, COSI, FO-12,
  489.       UNIX systems, whatever your heart desires. The formats are as follows;
  490.  
  491.  
  492.          1)  In  the  first example login to a BBS via  an  N2WX  switch  is
  493.          achieved as follows. The '@' establishes initial level 2 connection
  494.          to  the first 'node', 'via' strings are supported. The '+'  is  the
  495.          'make  string' and all that follows on that line as the string  for
  496.          comparison  to check for 'connect achieved'. the '?' is the  'break
  497.          string'   whose receipt means failure. The '!' sets the  number  of
  498.          seconds to wait before declaring a TIME-OUT. the '.' is the  string
  499.          to  then  be  sent  out, in this case a  connect  from  the  switch
  500.          directly  to  the  BBS.  '*** EOF'  signifies  end  of  script,  if
  501.          successful to that point then start forwarding from the list below.
  502.  
  503.                       >1 KB1BD                      >1 KB1BD                      >1 KB1BD
  504.                       @KA2VLP-3 v K3DSM                      @KA2VLP-3 v K3DSM                      @KA2VLP-3 v K3DSM
  505.                       +reset                      +reset                      +reset
  506.                       ?clear                      ?clear                      ?clear
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 9      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 9
  515.  
  516.  
  517.                       !180                      !180                      !180
  518.                       .C KB1BD-4                      .C KB1BD-4                      .C KB1BD-4
  519.                       *** EOF                      *** EOF                      *** EOF
  520.  
  521.          2)  The  second  example is the same as the first,  but  this  time
  522.          through  two switches notice that after connecting to  the  N2DSY-3
  523.          switch I changed the time-out to 120 seconds since KD6TH should  be
  524.          solid  to  DSY switch though DSY to VLP might not be so  sure.  The
  525.          '\d's  in the '.' string are 'delays' each one is a 2 second  wait.
  526.          These were included to allow certain vagaries of the N@WX switch to
  527.          'settle down' before going onto the next step. (also available  '\r
  528.          to send multiple returns)
  529.  
  530.                       >1 KD6TH                      >1 KD6TH                      >1 KD6TH
  531.                       @KA2VLP-3 v K3DSM                      @KA2VLP-3 v K3DSM                      @KA2VLP-3 v K3DSM
  532.                       +reset                      +reset                      +reset
  533.                       ?clear                      ?clear                      ?clear
  534.                       !240                      !240                      !240
  535.                       .\d\d\dC N2DSY-3                      .\d\d\dC N2DSY-3                      .\d\d\dC N2DSY-3
  536.                        !120                       !120                       !120
  537.                       .\dC KD6TH-4                      .\dC KD6TH-4                      .\dC KD6TH-4
  538.                       *** EOF                      *** EOF                      *** EOF
  539.  
  540.          3)  In  the next case we have NETROM forwarding,  showing  multiple
  541.          connection  paths - One could connect directly to the far end,  but
  542.          with   the  congestion  on  NETROM  145.01  these  days,   stepwise
  543.          progression  is advisable, also use calls not 'ID;'s to  make  sure
  544.          you  can get through just in case they aren't in the table but  can
  545.          hear you. Notice the strings carry through, the 'make', 'fail'  and
  546.          'time-out's stay what they were unless changed.
  547.  
  548.                       >1 W3IWI                      >1 W3IWI                      >1 W3IWI
  549.                       @WB2DRD-1                      @WB2DRD-1                      @WB2DRD-1
  550.                       +to                      +to                      +to
  551.                       ?*                      ?*                      ?*
  552.                       !150                      !150                      !150
  553.                       .C WB4APR-6                      .C WB4APR-6                      .C WB4APR-6
  554.                       !200                      !200                      !200
  555.                       .C UMD                      .C UMD                      .C UMD
  556.                       !120                      !120                      !120
  557.                       .C WB6FFV-6                      .C WB6FFV-6                      .C WB6FFV-6
  558.                       .C SFO                      .C SFO                      .C SFO
  559.                       .C W0RLI                      .C W0RLI                      .C W0RLI
  560.                       *** EOF                      *** EOF                      *** EOF
  561.  
  562.  
  563.          ***  NOTE  ***  NETROM  has one  deficiency  from  an  applications         ***  NOTE  ***         ***  NOTE  ***
  564.          programmers standpoint. It while it has only one way of telling you
  565.          that it has 'made' its connection, it has multiple ways of  telling
  566.          you it didn't make it ("bsy fm", "failure with", "invalid callsign"
  567.          (if  you  use  IDs in script and that station  isn't  in  table  at
  568.          moment), and of course it can just disconnect from you also)
  569.  
  570.          4. A simple connect thru a digi or direct connect is down as
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 10      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 10
  579.  
  580.  
  581.          shown below, also note the alternate selection. The first is
  582.          selected  "FWD B WB2RVX", the second "FWD B2 WB2RVX"
  583.  
  584.                       >1 WB2RVX                      >1 WB2RVX                      >1 WB2RVX
  585.                       @ WB2RVX                      @ WB2RVX                      @ WB2RVX
  586.                       *** EOF                      *** EOF                      *** EOF
  587.                       >2 WB2RVX                      >2 WB2RVX                      >2 WB2RVX
  588.                       @WB2RVX v WB2DRD-1                      @WB2RVX v WB2DRD-1                      @WB2RVX v WB2DRD-1
  589.                       *** EOF                      *** EOF                      *** EOF
  590.  
  591.          '%O filename' - in 'scripted forward' will open a capture file
  592.          '%C' - will close a file (as will any subsequent open statement)
  593.          '&###' - will eat ### lines without checking against 'fail' or
  594.                        'ok' strings
  595.  
  596.  
  597.          The whole script is subject to the following limitations;
  598.  
  599.                 - 16 lines of script
  600.                 - 512 total bytes of script regardless of number of lines.
  601.  
  602.          The  script  buffer is 'cleaned' at the start  of  each  forwarding
  603.          unit.
  604.  
  605.       10. Port attributes
  606.            The  CONFIG file port configuration has a line that looks like  the
  607.       following:
  608.  
  609.            ATH 6 15 4800           ATH 6 15 4800           ATH 6 15 4800
  610.  
  611.            This  line  defines the characteristics fo the  port.  The  first
  612.       letter  is  the  port designation. The letter  is  not  'optional'  it
  613.       corresponds  (in  the DOS environment) to the COM port location   A  =
  614.       COM1,  B=COM2 ..... D=COM4 , etc. Its good up to COM6 (COM3-6  can  be
  615.       accessed  with  the MS-400 board, COM3 and COM4 can  be  gotten  with
  616.       simple addon serial cards). 'L' is used for the Local Console port ID.
  617.  
  618.            The  suggested baudrate is 4800 a rate which is  supported  quite
  619.       well by most TNCs. I recommend that the highest baudrate that your TNC
  620.       reliably works at will allow maximum performance by the  PRMBS/COMBIOS
  621.       combination. The TNC2's generally are not reliable at 9600 due to  the
  622.       slew rates of the LM324 op amps used as RS232 drivers. If you  replace
  623.       hem with  TIL084's you may e able to use 9600 on a TNC2. I run my  PK-
  624.       87's at 9600 and several newer TNCs support 19.2 Kbd. The rational  is
  625.       simple, the less time it takes to send to the TNC and get from the TNC
  626.       the more time there si for processing!
  627.  
  628.            The letters after the first describe the attributes of the  port.
  629.       They decode as follows:
  630.  
  631.  
  632.               /*  Port type bits. */
  633.           B    P_BBS          /* BBS only */
  634.           C    P_CONSOLE      /* The local machine console */
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 11      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 11
  643.  
  644.  
  645.           E    P_ECHO         /* Need to echo input */
  646.           F    P_FILE         /* File transfers ok (NOT IMPLEMENTED)*/
  647.           H    P_ILCAL        /* Illegal call allowed */
  648.           M    P_MDM          /* Serial connected thru landline modem */
  649.           R    P_REG          /* Port is for registered users only */
  650.           S    P_SERIAL       /* Is a "raw" serial device */
  651.           T    P_TNC          /* Is a tnc, TAPR commands */
  652.  
  653.            The  '6' is the number of minutes of no input before  the  system
  654.       'times out' and puts it self back on line. This number needs to be a 6
  655.       or more for NETROM connections. This works even for the Local Console,
  656.       so no more forgetting to go back on line.
  657.  
  658.            The  '15'  is the number of lines reserved for reporting  in  the
  659.       'heard' list.
  660.  
  661.            The  '4800'  is  the baud rate of the port (set by  BBS  when  it
  662.       starts up. If you have a TNC with AUTO-BAUD (like, PK-232, PK-87, TNC-
  663.       220). please be sure you use a terminal program to get it setup BEFORE
  664.       you bring up the PRMBS.                       PRMBS
  665.  
  666.            Among  the  'port  descriptors'  are  two  which  may  need  some
  667.       additional explanation;
  668.  
  669.            The 'R' descriptor is 'registered users only' basically it  means
  670.       that any user not already in the USER.DAT file will be rejected.  This
  671.       permits  operation  of  a  'closed'  system  if  such  is   considered
  672.       important.  It saves the overkill of making the system a BBS  only  on
  673.       that port and making all the users BBSes, which poses other problems.
  674.  
  675.            While 'H' for ham calls only may seem simple, we do not recognize
  676.       MARS calls as Ham calls
  677.  
  678.            *** NOTE *** - experienced users of other BBS systems may  notice           *** NOTE ***           *** NOTE ***
  679.       a  lack of a 'max digi' parameter for the port descriptors.  With  the
  680.       advance  of level 3 routing in COSI and NETROM, the use of many  digis
  681.       is minimal and I have discarded the code related to this which amounts
  682.       oo several hundred bytes of code.
  683.  
  684.       11. Message Editor sweeper operations
  685.            The message editor sweeper is quite similar to many 'file  sweep'
  686.       type programs that are out in the public domain. It provides all users
  687.       withthe  ability  to simply operate on messages. The remote  user  has
  688.       less  options  available to him than the remote sysops and  the  local
  689.       console. The local console operates in 'single keystroke' (i.e. no  CR
  690.       required  ) mode while the remote user and remote sysop must send  the
  691.       CR.
  692.  
  693.            The  'message to file' options will prompt for a file  the  first
  694.       time  they  are invoked and that filename will be retained  such  that
  695.       subsequent  invocations  of the 'F' and 'A' will display  the  current
  696.       filename whichcan be accepted by simply hitting a CR, or converselycan
  697.       be change by simply entering a new file name.
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 12      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 12
  707.  
  708.  
  709.            To  print a message you can 'file' the message to a  file  called
  710.       "prn"  . This is an MSDOS reserved name for the system  printer  port.
  711.       And its operation is the same as simple 'file' to an actual disk file.
  712.       The filename remains in effect til it is changed.
  713.  
  714.            If  you specify a bad path in the message to file, it  no  longer
  715.       kills the message anyway!!! If you do an A or F by error, simply  type
  716.       '/' and you are out, the filename is saved from a prior A or F even if
  717.       you '/' out!
  718.  
  719.            Options are now  A,C,E,F,K,Q,R,S,T,V,?
  720.  
  721.            A - archive - message to file and kill message
  722.            C - change direction toggle (toggles reverse or forward)
  723.            E - header edit
  724.            F - message to file
  725.            K - kill message
  726.            Q - quit loop
  727.            R - short read (does not show forward headers)
  728.            S - send reply to message correctly parse return BBS
  729.            T - edit the message text via EDITOR
  730.            V - verbose read
  731.            ? - help
  732.            [space] and [cr] will advance to next message
  733.  
  734.  
  735.  
  736.  
  737.       12. Hints on USER.DAT
  738.  
  739.            -  if you set the BBS flag for a user, his HomeBBS  automatically
  740.       gets filled in with his own call, you will need to edit it back if  it
  741.       is different for some reason
  742.  
  743.            - the LOCAL flag being set is now independent of a user declaring
  744.       you as 'Home' . As before the LOCAL flag being set lets a user in on a
  745.       BBS only port, but this way you can let just certain users in on a BBS
  746.       only  port  without  making them BBSes and/or remote  sysops  and  not
  747.       having  to let just anyone who declares you as home into the BBS  only
  748.       port.
  749.  
  750.            - it was never clear before so I will explain how to 'get rid of'
  751.       a  user. You enter the USER sweeper with  EU and you indicate  'K'  to
  752.       kill  the users you want removed. Then you execute the  untangle  user
  753.       command  GU and 'voila' - all the 'deleteds' is gone!!
  754.  
  755.            - there is a new program called SORTUSER. It is executed with
  756.  
  757.                 SORTUSER  infile outfile                SORTUSER  infile outfile                SORTUSER  infile outfile
  758.  
  759.            what this will do is sort your user file so that the most  recent
  760.       user  is  at the top of the file down to the least  recent  user.  The
  761.       reason  for  this is that because of multi-user  capabilities,  we  no
  762.       longer  keep  all user names in a memory table, the file  is  searched
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 13      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 13
  771.  
  772.  
  773.       brute  force each time. This way we have the regular users found  more
  774.       quickly
  775.  
  776.            -  the user 'high message read' is now exactly that. I  place  in
  777.       the user record the highest message number he has read and use it  for
  778.       the  'L'  command  - I compare the number there  with  number  of  the
  779.       current message he has asked to read and replace it if it is greater.
  780.  
  781.            If the user logs in a lot and doesn't read his 'L' list will  get
  782.       huge, so he must occasionally read the highest message number to clear
  783.       it  if thats what he wants. On the flip side, no longer will  his  'L'
  784.       list be lost if he gets timed out, or whatever.
  785.  
  786.       13. The MBFIX program has been enhanced greatly and will recover  just
  787.       about  the most trashed of mail files. Invoke MBFIX with no  arguments
  788.       and it will give you a short menu and explanation.
  789.  
  790.       14. More generic compatibility with 'other than TAPR' TNCs
  791.  
  792.        - The code has many small mods made to accommodate the  PK-87/PK-
  793.       232 minor variations in user interface.
  794.  
  795.        - changes were made to facilitate the "; v2" message  tacked onto the
  796.       end  of the ham call in a "Link state is" message in an  AEA  PK87/232
  797.       when  an  AX25  Version  2 connection  is  achieved.  There   distinct
  798.       advantages  to  running  in  AX25 ON mode but  there  have  also  been
  799.       disadvantages also.
  800.  
  801.        -  KAM  and  KPC-4s  can  be used in  single  port  fashion.  It   is
  802.       important to note that KAM users must be sure to  reset  the  STREAMSW
  803.       parameter  the default is 2 chars $40 and $7C.  We  are  quite   aware
  804.       of the problems $7C('|'), but can you imagine the  troubles  that  are
  805.       caused in forwarding by $40 ('@') !!!!!!  Nuff sed!!!!!!!!!!!
  806.  
  807.        - Also a kluge not to send '@BBS' when you are forwarding to a system
  808.       and the TO, @ and the system being connected to all match - this keeps
  809.       the KANTRONICs TNC-BBS much happier.
  810.  
  811.  
  812.       15. SYSOP mail. Incoming messages to SYSOP at that BBS will be  stored
  813.       with  SYSOP  replaced with SYSOP's call. messages to  SYSOP  @BBS  and
  814.       '@BBS  is not that BBS will be stored as received, however any message
  815.       bearing  SYSOP as the receiver will be shown if the SYSOP does a  MAIL
  816.       command.
  817.  
  818.       16.  Full  wildcard  pattern matching - in forward  file,  along  with
  819.       exception  processing. It works (well sorta works, see note below)  as
  820.       follows:
  821.  
  822.                 !N4HY                !N4HY                !N4HY
  823.                 !KB1BD                !KB1BD                !KB1BD
  824.                 !K3GYS                !K3GYS                !K3GYS
  825.                 !K3DSM                !K3DSM                !K3DSM
  826.                 ?1*                ?1*                ?1*
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 14      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 14
  835.  
  836.  
  837.                 ?3*                ?3*                ?3*
  838.                 ?4*                ?4*                ?4*
  839.                 ??1*                ??1*                ??1*
  840.                 .... and so on                .... and so on                .... and so on
  841.  
  842.            You  are  limited  to 32 exceptions and they  must  be  specified
  843.       before   the calls to be in effect. If a 33rd exception is read it  is
  844.       ignored.   However,  the 32 limit is not really  constricting  because
  845.       there  is  an  additional command ' !RESET '. If this is read  in  the
  846.       exception buffer  is reset to zero and may be re-filled. For example
  847.  
  848.                 !KB1BD                !KB1BD                !KB1BD
  849.                 !K3GYS                !K3GYS                !K3GYS
  850.                 ..... a total of 32 exception calls                ..... a total of 32 exception calls                ..... a total of 32 exception calls
  851.                 !K3DSM                !K3DSM                !K3DSM
  852.                 ?1*                ?1*                ?1*
  853.                 ??1*                ??1*                ??1*
  854.                 ??6*                ??6*                ??6*
  855.                 ?16                ?16                ?16
  856.                 !RESET                !RESET                !RESET
  857.                 !N4HY                !N4HY                !N4HY
  858.                 ?4*                ?4*                ?4*
  859.                 ??4*                ??4*                ??4*
  860.                 .... and so on                .... and so on                .... and so on
  861.  
  862.  
  863.       17.  TNC2 support has been enhanced with the addition  of TRANSparent
  864.       mode  during  user  or bbs login. In that fashion the  '***  con  req'
  865.       messages  will no longer contaminate the input. We are using break  to
  866.       exit  TRANSarent  mode,  so COMBIOS or MBBIOS  date  version  1.6  or
  867.       higher, generally bearing a date of 31 Dec 86 or later is required.
  868.  
  869.       18.  Speaking of TNC1, we found that the method of 'blasting'  command
  870.       strings at it was occasionally dropping a string. So if the TNC2  flag
  871.       is  NO TNC1 and its ilk are assumed. In such case a 2 second pause  to
  872.       enter  CONV  mode  is observed at login, and  during  the  sending  of
  873.       command  strings each command is sent and 'cmd:' is polled  for  after
  874.       each command instead of after the whole string.
  875.  
  876.       19.  I have removed console support of YAPP. In multi-user mode  there
  877.       is  simply no room for it. It saves several hundred object  bytes.  If
  878.       you  are  running  single died PRMBS, you can bring up  YAPPB  in  DOS                                     PRMBS
  879.       escape  and  it will access the COM ports just fine and not  mess  any
  880.       vectors set by PRMBS.                     PRMBS
  881.  
  882.       20. As in the past parsing of the initial connection line for PRMBS is                                                                    PRMBS
  883.       being done - this gives us disk space size and remote version  number.
  884.       I have altered the testing to include 'general recognition of a 'smart
  885.       bbs  system'  prompt. I used to look for MBL only but now I do  it  by
  886.       checking simply for '[xxxx]' and assume reverse forward capability.
  887.  
  888.            Among the systems out there know to have reverse forwarding as of
  889.       this writing there is, in addition to PRMBS, WA7MBL and N3ET  AmigaBBS                                            PRMBS
  890.       which issue the following;
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 15      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 15
  899.  
  900.  
  901.  
  902.            [MBL320] - or other version number
  903.            [AmigaBBS]
  904.  
  905.       21. Odds and ends
  906.  
  907.        -  when  the sysop makes a boo-boo, i.e. enters a  bad  command,  the
  908.       system simply just returns to the next prompt, instead of sending  him
  909.       a 'huh',  seems a waste of screen space.
  910.  
  911.        - DOS escape functions have been modified slightly into one  coherent
  912.       procedure, saving space and providing more multi-user file security.
  913.  
  914.          One   ramification   of this change is that DOS   escapes   are   a
  915.       little   slower,  so as to be a little 'safer'. The  bottom  line   is
  916.       that   where   before it was not much of a deal if you  had   two   or
  917.       three lines that looked like this:
  918.  
  919.                 D 0100 TIMER/S                D 0100 TIMER/S                D 0100 TIMER/S
  920.                 D 0100 ERASE MAIL\*.BAK                D 0100 ERASE MAIL\*.BAK                D 0100 ERASE MAIL\*.BAK
  921.                 D 0100 ERASE MAIL\*.~*                D 0100 ERASE MAIL\*.~*                D 0100 ERASE MAIL\*.~*
  922.  
  923.       For 'speed' sake it should be more like:
  924.  
  925.                 D 0100 FOOBAR                D 0100 FOOBAR                D 0100 FOOBAR
  926.  
  927.       with the file FOOBAR.BAT looking like
  928.  
  929.                 TIMER/S                TIMER/S                TIMER/S
  930.                 ERASE MAIL\*.BAK                ERASE MAIL\*.BAK                ERASE MAIL\*.BAK
  931.                 ERASE MAIL\*.~*                ERASE MAIL\*.~*                ERASE MAIL\*.~*
  932.  
  933.        -  local  console read messages are done with  'paging',  i.e.  pause
  934.       after  each 23 lines.
  935.  
  936.        -  for  normal  'REMOTE'  users  (i.e.  non  remote-sysops)  Messages
  937.       addressed   '@  BBS  and not 'forwarding type' messages  will  not  be
  938.       displayed  to the  user. This saves him seeing a list of 20 copies  of
  939.       the  same  messages  going 20 places. LOCAL console and  remote  sysop
  940.       will see all messages as  they are entitled.
  941.  
  942.        -  all  replies  to messages and KT's  will  automatically  scan  the
  943.       headers   of the replied messages and compose a 'path' to go into  the
  944.       reply  in the  form "path: call!call!call....." in the header  of  the
  945.       message.  For now  it will aid sysops in routing cranky messages,  but
  946.       within  the next  couple weeks we will have code that will,  when  all
  947.       other efforts fail  look to the 'path' to find the 'next step'.
  948.  
  949.        -  for  systems  running as personal BBSes, there is a  line  in  the
  950.       config   where  they may specify a 'reply-to'  address.  For  example,
  951.       KB7UV  is  a  personal BBS adjacent to and receiving mail  from  N2MH,
  952.       instead  of  depending on everyone knowing where he is he simply  sets
  953.       his  'reply-to'   line to 'kb7uv@n2mh.ny.us.ampr' and the  PRMBS  code                                                                 PRMBS
  954.       used to generate a  reply will use the 'reply-to line' as the @BBS  in
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 16      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 16
  963.  
  964.  
  965.       the return addressing.  overriding the '@kb7uv.ny.us.ampr'.
  966.  
  967.        -  the 'edit [msgno]' command is available to REMOTE users to  permit
  968.       any   user to edit the header of as message to or from them, so as  to
  969.       re- establish its 'unread', re-direct the message, etc.
  970.  
  971.        - 'stream' forwarding made available. there is a CONFIG line which is
  972.       YES/NO  for 'stream forwarding' this is in essence simply not  waiting
  973.       for   the  two CRs which represent the 'send title'  and  'send  text'
  974.       lines from  most BBSes and are just two CRs in PRMBS-PRMBS  exchanges.
  975.       The  two  CRs or  CR-terminated lines will still be sent  out  by  the
  976.       system  on the other  end, and will still be received, just they  will
  977.       be 'eaten' at the end  while looking for the '>' BBS prompt line. This
  978.       will  save  as much as 2  minutes per message  in  forwarding  through
  979.       several NETROMs.
  980.  
  981.        - the sysops CALL sign is derived from his domain name. PLEASE  place
  982.       this  in in all LOWER CASE, and DO NOT put in SSID's, we are   working
  983.       on a scheme to handle multiple BBSes under same call sign.
  984.  
  985.            I  am  still  getting varied reports from  sysops  about  strange
  986.       happenings when they try to print stuff from the BBS. It seems to vary
  987.       from  BIOS to BIOS. I can say nothing more than I am using MSDOS  3.21
  988.       (R)   and PCDOS 3.21(r) on 3 different machines with  three  different
  989.       BIOSes  (Yangtech, ERSO/DTK, and Zenith(Z-183) ) Each of these permits
  990.       me to hit   ctrl-PrtSc and copy all to printer w/o any problem. Yet  I
  991.       know of three  different Ops with the same hardware but different BIOS
  992.       ROMs  who get the  machine sent on a free trip to Cairo when they  try
  993.       it.  All  I can say is,  please let me know the  exact  hardware,  the
  994.       exact BIOS(manufacturer,  date, and version) as well as the exact  DOS
  995.       type and version.
  996.  
  997.  
  998.       22.  The  'going into terminal mode' string has been added  for  those
  999.       running  block  mode  on a TNC2 or equivalent.  They  return  the  BBS
  1000.       withoutchnagingthe LINE mode paramters. These changes should be in the
  1001.       'going back on line' strings. This permits you to leave the TNC in  or
  1002.       out  of  "cmd:" mode and send files to set up thetNC or  send  a  file
  1003.       through  the  TNC  to a friend while connected.  The  'coming  out  of
  1004.       terminal mode ' string is sent at the end of a chat session only.
  1005.  
  1006.  
  1007.       23. Automated Mail Archiving - "OLDMAIL" archiving. It works like this;
  1008.  
  1009.          -   in  the  config  file  there  is  filename  that   reads   like
  1010.       "OLDMAIL.KLD"  (the name is meaningless, its your choice, but this  is
  1011.       in the sample CONFIG accompanying the system release).
  1012.  
  1013.          - there is a question which asks if you want to archive killed mail
  1014.       (Y/N). If you answer no, no saving of killed messages is done and  the
  1015.       following question is ignored.
  1016.  
  1017.          -  next  there  is a question (YES/NO) which asks if  you  want  to
  1018.       archive  Traffic only. If you answer YES it means only  messages  type
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 17      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 17
  1027.  
  1028.  
  1029.       "T"  will  be  saved when killed, and if you answer NO  it  means  all
  1030.       messages  will  be  saved when killed. If  the  first  question  about
  1031.       general archiving is answered NO, this question is meaningless and  it
  1032.       matter not what you answer.
  1033.  
  1034.               The OLDMAIL file is one large file and each message is appended
  1035.       into the file with a separator line that looks like this:
  1036.  
  1037.          ----- message #12345 filed by KA2XXX, at 01234z on 871016 -----
  1038.  
  1039.            That  the  message  was killed is recorded in  the  LOGfile.  Its
  1040.       recorded presence in OLDMAIL also attests to its 'death'.
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 18      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 18
  1091.  
  1092.  
  1093.                             A Conceptual Discussion of
  1094.           MAIL TRANSFER / FORWARDING / EVENT SCHEDULING and SMART BBSes          MAIL TRANSFER / FORWARDING / EVENT SCHEDULING     SMART BBSes          MAIL TRANSFER / FORWARDING / EVENT SCHEDULING     SMART BBSes
  1095.                           (Under PRMBS in 0.98C and Later)                                 PRMBS
  1096.  
  1097.            The term 'smart BBSes' may throw you. But eh PRMBS code  pioneered
  1098.       the concept of the system IDing itself at connection time and  passing
  1099.       information  relative  to  its  status to  the  connecting  system.  A
  1100.       protocol has been arrived at and it is as follows.
  1101.  
  1102.            A connecting system upon being greeted by a 'smart system' ID (in
  1103.       the form [......] "..." indicating some variable information plu s the
  1104.       usual  BBS  prompt,  will respond with  its  corresponding  ID  string
  1105.       ("[....]"),  a system being connected too upon recieving  this  prompt
  1106.       where it expects a command, will simply 'eat' the ID string, parse its
  1107.       contents  and do what it will based on that information, then  respond
  1108.       with a BBS prompt. The second prompt IS REQUIRED!
  1109.  
  1110.            PRMBS  sends  an  ID string in the  form  [PRMBS-1234-098p],  the           PRMBS                                     [PRMBS-1234-098p]           PRMBS                                     [PRMBS-1234-098p]
  1111.       middle  number  is the amount of disk space in  KBytes  available  for
  1112.       messages,  and  the 098p is the revision level of  the  software.  The
  1113.       'final'  format of the ID string will be as discussed in  Appendix  B,
  1114.       a preliminary spec agreed upon by WA7MBL and myself. This form will be
  1115.       used in the 0.99 Beta test release and, of course, 1.00 .
  1116.  
  1117.            The setup and use of the new event structure seems overly complex
  1118.       to many because it is so radically different from what was before.
  1119.  
  1120.            In  the past you had to have sometimes three and four  copies  of
  1121.       the  same  list  of calls in place for each BBS that  could  take  say
  1122.       'southbound'  mail. Then if one of those calls moved from Virginia  to
  1123.       Boston,  in every place you referred it and change it. Then if all  of
  1124.       those stations became unavailable for whatever reason, and you  wished
  1125.       to  hump the mail up to an alternate, you had to make yet a 5th  copy.
  1126.       In the new PRMBS structure it could be done in the following manner;                 PRMBS
  1127.  
  1128.          Lets look at my position here in Indian Mills, I have the following
  1129.       'generic directions of mail flow'
  1130.  
  1131.            SOUTH  NORTH  NWEST  WORMHOLE WB2MNF K3DSM WB2DRD           SOUTH  NORTH  NWEST  WORMHOLE WB2MNF K3DSM WB2DRD           SOUTH  NORTH  NWEST  WORMHOLE WB2MNF K3DSM WB2DRD
  1132.  
  1133.            each  of these may translate (I will explain my use of 'may'  to
  1134.       qualify  this statement in a moment) into a file  called    xxxxx.FWD.
  1135.       Using those filenames I build my EVENT file;
  1136.  
  1137.             M 0100 FWD B W3IWI SOUTH WORM            M 0100 FWD B W3IWI SOUTH WORM            M 0100 FWD B W3IWI SOUTH WORM
  1138.             M 0100 FWD B N4QQ  SOUTH WORM            M 0100 FWD B N4QQ  SOUTH WORM            M 0100 FWD B N4QQ  SOUTH WORM
  1139.             M 0100 FWD B WB3FFV SOUTH WORM            M 0100 FWD B WB3FFV SOUTH WORM            M 0100 FWD B WB3FFV SOUTH WORM
  1140.             M 0100 FWD B WB2DRD            M 0100 FWD B WB2DRD            M 0100 FWD B WB2DRD
  1141.             M 0100 FWD B KB3UD NWEST            M 0100 FWD B KB3UD NWEST            M 0100 FWD B KB3UD NWEST
  1142.             M 0100 FWD B WB2MNF            M 0100 FWD B WB2MNF            M 0100 FWD B WB2MNF
  1143.             M 0100 FWD B N2EVW NORTH            M 0100 FWD B N2EVW NORTH            M 0100 FWD B N2EVW NORTH
  1144.             M 0100 FWD B K3DSM            M 0100 FWD B K3DSM            M 0100 FWD B K3DSM
  1145.             M 0100 FWD B WB2YZS            M 0100 FWD B WB2YZS            M 0100 FWD B WB2YZS
  1146.             M 0100 FWD B K3GYS            M 0100 FWD B K3GYS            M 0100 FWD B K3GYS
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 19      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 19
  1155.  
  1156.  
  1157.             M 0100 FWD B -P WB2RVX NORTH NWEST SOUTH WORM WB2MNF K3DSM            M 0100 FWD B -P WB2RVX NORTH NWEST SOUTH WORM WB2MNF K3DSM            M 0100 FWD B -P WB2RVX NORTH NWEST SOUTH WORM WB2MNF K3DSM
  1158.             M 0100 FWD B2 -P WB2RVX NORTH NWEST SOUTH WORM WB2MNF K3DSM            M 0100 FWD B2 -P WB2RVX NORTH NWEST SOUTH WORM WB2MNF K3DSM            M 0100 FWD B2 -P WB2RVX NORTH NWEST SOUTH WORM WB2MNF K3DSM
  1159.  
  1160.            Upon  getting a FWD command the system takes the  first  argument
  1161.       after   the  port  (or  optional  command  arguments   '-')  as   the
  1162.       destination BBS and the @BBS address to be searched. So first it looks
  1163.       through  at the name W3IWI and builds a filename  "FWD\W3IWI.FWD"  and
  1164.       checks  for  its existence, if it does exists it opens  the  file  and
  1165.       starts  reading  possible @BBSes and comparing to the  MAIL.DAT  if  a
  1166.       match  is  found  and no RF connection has  been  started,  a  Connect
  1167.       sequence  is initiated. A failed Connect sequence will cause this  FWD
  1168.       to abort and go to next one. If the connect is made, the mail is  then
  1169.       forwarded, each entry of the FWD file is read and appropriate mail  is
  1170.       forwarded.  If the FWD file did not exist, the MAIL.DAT  would  simply
  1171.       have  been checked for @W3IWI. A similar sequence continues  for  each
  1172.       subsequent argument on the FWD command line. Each subsequent  argument
  1173.       is additionally is checked for the presence of a '*' or '?'  wildcard,
  1174.       in which case it is assumed not to be a filename. AS with before if no
  1175.       RF  connection has been established, once a 'match' is found  it  will
  1176.       be.
  1177.  
  1178.            The state of the RF connection is checked from the start, so,  if
  1179.       you  have connected to a station via terminal mode and then decide  to
  1180.       move some mail to him you can simply type something like;
  1181.  
  1182.                                  FWD B W3IWI WB9XXX                                 FWD B W3IWI WB9XXX                                 FWD B W3IWI WB9XXX
  1183.  
  1184.            The system will sense that the connection has been made and  will
  1185.       forward the mail as soon as it finds it.
  1186.  
  1187.  
  1188.            Since no file is needed to simply forward mail that is @BBS, I am
  1189.       able to use a mere 5 files (WEST, NWEST, SOUTH, NORTH, WWORM) to serve
  1190.       13 BBSes.
  1191.  
  1192.            But  wait, there's more! Lets say that for whatever reason  I  am
  1193.       unable to move things the way I want to and need to get the mail  out.
  1194.       Like  maybe  my radio goes down, or the DRD netroms get  hosed,  these
  1195.       simple files can be used from the console in the following manners:
  1196.  
  1197.               to simply move my mail to a disk file to be imported into and
  1198.       MBL or PRMBS system with the SERVER function;             PRMBS
  1199.  
  1200.                          EXPORT mail.out NORTH NWEST SOUTH                         EXPORT mail.out NORTH NWEST SOUTH                         EXPORT mail.out NORTH NWEST SOUTH
  1201.  
  1202.            the  EXPORT function of the SERVER capability works  exactly  the
  1203.       same as the FWD, only the first argument a file name. The same code is
  1204.       used as in the FWD function, just two internal flags divert output  to
  1205.       disk  and prevent RF connections from being established. No new  files
  1206.       need be created, no files need be edited.
  1207.  
  1208.            If on the other hand you are running OK and you are the  recipient
  1209.       of some of this mail, you do the opposite action;
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 20      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 20
  1219.  
  1220.  
  1221.                                  IMPORT mail.out                                 IMPORT mail.out                                 IMPORT mail.out
  1222.  
  1223.            all of the messages exported in the action above are now read and
  1224.       placed  into your message system. the file is not deleted or  altered,
  1225.       so  you must be careful about its subsequent disposition, or its  DUPE
  1226.       city!
  1227.  
  1228.           Say  N4JS'  HF  transceiver  goes  down  and  Jon  (WB2MNF)  calls
  1229.       Joe(KC2TN) and gets him to put his HF gear back up for a few hours and
  1230.       move some mail for him Jon's normal entry in EVENT.MB was:
  1231.  
  1232.                                 M 1010 FWD A N4JS HF                                M 1010 FWD A N4JS HF                                M 1010 FWD A N4JS HF
  1233.  
  1234.         now he would have Joe come up and need do no more than type
  1235.  
  1236.                                    FWD A KC2TN HF                                   FWD A KC2TN HF                                   FWD A KC2TN HF
  1237.  
  1238.         or when WA3DSP-5 was down for several days and mail for K3DSM (which
  1239.       includes N3BBF and one other PBBS) got backed up, I was able to do a
  1240.  
  1241.                                  FWD B WA2VXT K3DSM                                 FWD B WA2VXT K3DSM                                 FWD B WA2VXT K3DSM
  1242.  
  1243.         and move it to Harry who moved it on 145.07 to Gene.
  1244.  
  1245.          The  reverse  forward file is no big deal,  anyone  connecting  and
  1246.       sending he F> will get mail addressed  @BBS for him. Then if there  is
  1247.       an  entry in R_EVENT file he gets anything specified in there.  I  can
  1248.       set my R_EVENT file now to handle all sorts of contingencies
  1249.  
  1250.             M 0100 FWD B -r WA2SNA NORTH            M 0100 FWD B -r WA2SNA NORTH            M 0100 FWD B -r WA2SNA NORTH
  1251.             M 0100 FWD B -r N3ET NWEST            M 0100 FWD B -r N3ET NWEST            M 0100 FWD B -r N3ET NWEST
  1252.             M 0100 FWD B -r N2EVW NORTH            M 0100 FWD B -r N2EVW NORTH            M 0100 FWD B -r N2EVW NORTH
  1253.             M 0100 FWD B -r WB2RVX NWEST NORTH SOUTH WORM            M 0100 FWD B -r WB2RVX NWEST NORTH SOUTH WORM            M 0100 FWD B -r WB2RVX NWEST NORTH SOUTH WORM
  1254.  
  1255.             ..... and so on
  1256.  
  1257.          So  now  we see that the 5 files I keep for me can  actually  cover
  1258.       many many functions and forward sequences. It means that a new station
  1259.       showing  up  in  the  scheme  of things  needs  very  little  work  to
  1260.       integrate; he must be in one direction or another so you pick one file
  1261.       and  place him in and thats the end. When W0RLI moved from  Boston  to
  1262.       California this would have been done my simply taking his call out  of
  1263.       the NORTH file and putting it into the WORM file. Under the old system
  1264.       you  might have had to find his call in anywhere from 4 to  20  places
  1265.       and move it to another 4 to 20 places!!!.
  1266.  
  1267.          Beyond the flexibility and what , I at least, see as simplification
  1268.       of the forwarding scheme, the new structure provides more control over
  1269.       the BBS by giving you batch file capabilities;
  1270.  
  1271.  
  1272.            ***  NOTE  *** One thing to be extremely careful  about;  in  the           ***  NOTE  ***                 extremely           ***  NOTE  ***                 extremely
  1273.       xxxx.FWD  files that contain your lists of BBSes to be  forwarded  in
  1274.       the  general  batch,  be  careful that you do not  have  any  ***  EOF                                                 do not             ***  EOF                                                 do not             ***  EOF
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 21      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 21
  1283.  
  1284.  
  1285.       strings.  These  no longer are needed and will be  interpretted  as  a
  1286.       wildcard  to  forward  the world to that connection.  It  is  an  easy
  1287.       mistake  to  make if you are converting from MBL CBBS  or  an  earlier
  1288.       version of PRMBS.
  1289.  
  1290.            Say you have a sort of regular distribution list of guys who you
  1291.       want  to  send  'mail'  type messages  to  (i.e.  messages  where  all
  1292.       addressees  are listed on the TO line. You could place that line in  a
  1293.       single line (or multi-line for that matter if there's a bunch of these
  1294.       messages to do at once) alternate event file;
  1295.  
  1296.       SNJLAN1:
  1297.  
  1298.         mail wb2mnf k3gys wb2drd wb2rvx kc2tn n2evw kb1bd wb2ena n4hy@kb1bd        mail wb2mnf k3gys wb2drd wb2rvx kc2tn n2evw kb1bd wb2ena n4hy@kb1bd        mail wb2mnf k3gys wb2drd wb2rvx kc2tn n2evw kb1bd wb2ena n4hy@kb1bd
  1299.  
  1300.        Then all you need to do to execute this file is:
  1301.  
  1302.                                  EVENT -f SNJLAN1                                 EVENT -f SNJLAN1                                 EVENT -f SNJLAN1
  1303.  
  1304.         the  net  effect is to come up and ask for title and text  and  when
  1305.       done make the messages and return to mailbox prompt.
  1306.  
  1307.  
  1308.            There  possibilities are really limitless. Under this  system,  a
  1309.       section of your EVENT file could have the following;
  1310.  
  1311.            M 0100 EXPORT mail.out KA9Q N4HY WB6RQN WA7MBL           M 0100 EXPORT mail.out KA9Q N4HY WB6RQN WA7MBL           M 0100 EXPORT mail.out KA9Q N4HY WB6RQN WA7MBL
  1312.            D 0100 TO_SMTP mail.out           D 0100 TO_SMTP mail.out           D 0100 TO_SMTP mail.out
  1313.            D 0100 ERASE mail.out           D 0100 ERASE mail.out           D 0100 ERASE mail.out
  1314.            D 0100 FM_SMTP mail.in           D 0100 FM_SMTP mail.in           D 0100 FM_SMTP mail.in
  1315.            M 0100 IMPORT mail.in           M 0100 IMPORT mail.in           M 0100 IMPORT mail.in
  1316.            D 0100 ERASE mail.in           D 0100 ERASE mail.in           D 0100 ERASE mail.in
  1317.  
  1318.            this  sequence would take mail from the system addressed  at  the
  1319.       above  calls and transfer them to a disk file for input via some  SMTP
  1320.       transfer  program, such as the one written (I believe, by  WA3PXX)  in
  1321.       the Maryland area, then ERASE the file (confusion factor,  remember!),
  1322.       Then  run the opposite program to get mail for PRMBS and import it  to                                                     PRMBS
  1323.       the  system,  followed by an ERASE of the input file. By  erasing  the
  1324.       files each time, dupes are avoided, if there is no mail, the files are
  1325.       either empty or non-existent and nothing happens.
  1326.  
  1327.            One user has been running PRMBS on a set of networked PCs. He has
  1328.       been  using export/import to move mail between systems. I suggest  the
  1329.       following  scheme  to make sure there are no  hitches  in  file/record
  1330.       locking contention.
  1331.  
  1332.          on system A exporting mail to system B, EVENT.A looks like;
  1333.  
  1334.  
  1335.            M 0100 IMPORT mail.ba           M 0100 IMPORT mail.ba           M 0100 IMPORT mail.ba
  1336.            M 0100 EXPORT mail.abx KA9Q N4HY WB6RQN WA7MBL           M 0100 EXPORT mail.abx KA9Q N4HY WB6RQN WA7MBL           M 0100 EXPORT mail.abx KA9Q N4HY WB6RQN WA7MBL
  1337.            D 0100 REN mail.abx mail.ab           D 0100 REN mail.abx mail.ab           D 0100 REN mail.abx mail.ab
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 22      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 22
  1347.  
  1348.  
  1349.          on system B exporting mail to system A, EVENT.B looks like;
  1350.  
  1351.            M 0100 IMPORT mail.ab           M 0100 IMPORT mail.ab           M 0100 IMPORT mail.ab
  1352.            M 0100 EXPORT mail.bax N1ABC N2XXX N3*           M 0100 EXPORT mail.bax N1ABC N2XXX N3*           M 0100 EXPORT mail.bax N1ABC N2XXX N3*
  1353.            D 0100 REN mail.bax mail.ba           D 0100 REN mail.bax mail.ba           D 0100 REN mail.bax mail.ba
  1354.  
  1355.            Since  the  EXPORT action is an action  of  significant  duration
  1356.       compared  to  the DOS Rename function doing the export to  a  filename
  1357.       other than the desired import keeps the other computer from hanging up
  1358.       or  going  south over the export output file being  open  for  several
  1359.       minutes.
  1360.  
  1361.            The  transfer  need not be SMTP. Since an  intermediate  'bridge'
  1362.       program is run, it could just as easily be a FIDO, CITADEL, PCBOARD or
  1363.       whatever format, the sky is the limit.
  1364.  
  1365.                                NTS and ZIP Routing                               NTS and ZIP Routing                               NTS and ZIP Routing
  1366.  
  1367.           There has been some recent scuffling over some NTS, Zip-code  based
  1368.       forwarding  with no @BBS fields. AS you know this won't fly  in  PRMBS
  1369.       and  so  to  keep  some semblance of  continuity.  I  have  added  the
  1370.       following 'feature' (editorial comment: read 'feature' as 'kludge'  as
  1371.       in 'sloppy patchwork!')
  1372.  
  1373.            IF  the  message is type 'T' (TRAFFIC) and IF the @BBS  field  is
  1374.       blanked,  and IF the first character in the TO field is a DIGIT or  IF
  1375.       the  first three characters of the TO field match "NTS" ,  PRMBS  will
  1376.       duplicate  the  TO  field  into the @BBS field.  This  is,  to  me,  a
  1377.       temporary  measure while I hope saner heads have a chance to  prevail,
  1378.       but meanwhile "the mails must go through!"
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 23      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 23
  1411.  
  1412.  
  1413.                              Message Expiration Dates                             Message Expiration Dates                             Message Expiration Dates
  1414.  
  1415.            Starting  in an earlier version of PRMBS, a command  was  entered
  1416.       that  permitted the sysop to search messages for a line of  code  that
  1417.       read  "Expires: yymmdd", and compare it to the current date and if  it
  1418.       is less, select the message for killing.
  1419.  
  1420.          The  facilities  now exists to automatically enter  the  expiration
  1421.       date.  There are two configuration parameters that allow the sysop  to
  1422.       enter  the  'default'  expiration period for 'P'  messages  and  non-P
  1423.       messages.  It takes the current date and adds the specified number  of
  1424.       days  and sets it as a default expiration date, that will get  written
  1425.       into  the  text  of the message as the first line after  the  RFC  822
  1426.       header  (one  blank line after actually). The ways  to  override  this
  1427.       'default' are as follows:
  1428.  
  1429.          -  on the 'S' line it may be specified as the last  parameter,  for
  1430.          example
  1431.                            SP ALL @ KX1XXX < W3ZZZ X880112                           SP ALL @ KX1XXX < W3ZZZ X880112                           SP ALL @ KX1XXX < W3ZZZ X880112
  1432.  
  1433.          -  it may be actually present in the text of the message already in
  1434.          which case the value overrides the default.
  1435.  
  1436.            These  expiration dates are not absolutes. The sysop is  free  to
  1437.       'exploit' them as he sees fit, which is as it should be. There are two
  1438.       commands  which  aide this 'kx' and 'ex'. They are explained  in  more
  1439.       detail below in the command summaries, but suffice it to say that  the
  1440.       messages are examined strating with the most recent and working  back,
  1441.       looking  into the text body for the "Expires: yymmdd" and  determining
  1442.       whether to display it to the sysop for killing and/or editing.
  1443.  
  1444.            The  command  'kx  -x #14000' could be scheduled  in  the  event
  1445.       scheduler and it would blanket kill each and every expire message back
  1446.       to # 14000 on every forward pass, or once a day, whatever. IF this  is
  1447.       done, I suggest that archiving of killed message be done.
  1448.  
  1449.            ON the other hand most sysops will undoubtedly do it by hand. The
  1450.       "ex"  command allows the expired messages to be IDed quickly  and  the
  1451.       killing  can be done manually, or the message reread,  filed,  replied
  1452.       to, or whatever. The big point is that we now have an automated system
  1453.       of Identifying 'old' messages.
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 24      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 24
  1475.  
  1476.  
  1477.            A QUICK START to Getting PRMBS Up and Running           A QUICK START to Getting PRMBS Up and Running           A QUICK START to Getting PRMBS Up and Running
  1478.  
  1479.  
  1480.            A  quick  start to getting PRMBS up to play with  it.  This  will                                      PRMBS
  1481.       bring it up for Port A == COM1 with one port only.
  1482.  
  1483.         All systems:
  1484.  
  1485.            1 - edit AUTOEXEC.BAT for your TZ and EDITOR Strings
  1486.                 SET TZ=EDT4
  1487.                 SET EDITOR=EDLIN               (or NED or WS or ...)
  1488.  
  1489.            2  - check CONFIG.SYS for files at least 25 and  buffers  at
  1490.                 least 35
  1491.  
  1492.            3  - unless you want UTC time , set your RTC clock to local
  1493.                 time and let the TZ conversion bring the BBS to Zulu time.
  1494.  
  1495.       FLOPPY:
  1496.  
  1497.            1 - copy CONFIG.A to floppy for A drive as CONFIG.MB
  1498.                 edit names and calls and TNC2/DCD questions only
  1499.            2 - copy MBBIOS1.COM and MB.EXE to same floppy
  1500.            3 - copy HELP, INFO, MENU files to same floppy
  1501.            4 - copy FWD.MB to floppy as FWD.A and edit appropriately
  1502.            5 - create subdirectories on that floppy named MAIL and FILES
  1503.                as sub-directories under root
  1504.  
  1505.                      A:\> MD MAIL                     A:\> MD MAIL                     A:\> MD MAIL
  1506.                      A:\> MD FILES                     A:\> MD FILES                     A:\> MD FILES
  1507.                      A:\> MD FWD                     A:\> MD FWD                     A:\> MD FWD
  1508.  
  1509.            6 - connect TNC to COM1 serial connector via fully wired
  1510.                cable (i.e. pinss 1,2,3,4,5,6,7,8,20 wired straight thru)
  1511.  
  1512.            7 - bring up some kind of modem program and verify
  1513.                operation. Check baudrates. and alter TNC for the follwing
  1514.                conditions;
  1515.  
  1516.                 AUTOLF OFF                AUTOLF OFF                AUTOLF OFF
  1517.                 ECHO OFF                ECHO OFF                ECHO OFF
  1518.                 PARITY 0                PARITY 0                PARITY 0
  1519.                 AWLEN 8                AWLEN 8                AWLEN 8
  1520.                 FLOW ON                FLOW ON                FLOW ON
  1521.                 TXFLOW OFF                TXFLOW OFF                TXFLOW OFF
  1522.                 TRFLOW OFF                TRFLOW OFF                TRFLOW OFF
  1523.                 XFLOW OFF                XFLOW OFF                XFLOW OFF
  1524.                 STREAMSW $00                STREAMSW $00                STREAMSW $00
  1525.                 XON $0                XON $0                XON $0
  1526.                 XOFF $0                XOFF $0                XOFF $0
  1527.                 START $0                START $0                START $0
  1528.                 STOP $0                STOP $0                STOP $0
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 25      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 25
  1539.  
  1540.  
  1541.            8 - lets run it
  1542.  
  1543.                      A:\> MBBIOS1                     A:\> MBBIOS1                     A:\> MBBIOS1
  1544.                      A:\> MB                     A:\> MB                     A:\> MB
  1545.  
  1546.       HARD DISK: (same as above, except)
  1547.  
  1548.            1 - make a BBS sub-directory
  1549.  
  1550.                 C:\> MD BBS
  1551.                 C:\> CD BBS
  1552.                 C:\BBS>
  1553.  
  1554.            2  - go to step one above and think HD instead of  floppy,  using
  1555.       'C:' instead of 'A:' where appropriate.
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 26      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 26
  1603.  
  1604.  
  1605.  
  1606.             Memory Utilization with DoubleDOS and PRMBS            Memory Utilization with DoubleDOS and PRMBS            Memory Utilization with DoubleDOS and PRMBS
  1607.  
  1608.             /-------------------------\            /-------------------------\            /-------------------------\
  1609.             |      MSDOS / PCDOS      |   Operating System from boot-up            |                         |            |                         |
  1610.             |-------------------------|            |-------------------------|            |-------------------------|
  1611.             |       COMMAND.COM       |   Initial load of command processor            |                         |            |                         |
  1612.             |-------------------------|            |-------------------------|            |-------------------------|
  1613.             |        DOUBLEDOS        |   Multi-tasking Operating program            |                         |            |                         |
  1614.             |-------------------------|            |-------------------------|            |-------------------------|
  1615.             | COMMAND.COM| COMMAND.COM|   Individual command processor for each            |            |            |            |            |            |
  1616.             |-------------------------|            |------------|------------|            |-------------------------|                         |                         -                         |
  1617.             | COMM BIOS  | COMM BIOS  |   Communications BIOS programs for each            |            |            |            |            |            |
  1618.             |-------------------------|            |------------|------------|            |-------------------------|                         |                         -                         |
  1619.             | OPT. TSRs  | OPT. TSRs  |   Optional TSRs (Superkey, SK, etc)            |            |            |            |            |            |
  1620.             |-------------------------|            |------------|------------|            |-------------------------|                         |                         -                         |
  1621.             |    PRMBS   |   PRMBS    |   MailBox program            |            |            |            |            |            |
  1622.             |-------------------------|            |------------|------------|            |-------------------------|                         |                         -                         |
  1623.             |            |            |   Additional copies of COMMAND.COM as            |            |            |            |            |            |
  1624.             | DOS ESCAPE | DOS ESCAPE |   required to sub-run programs under            |            |            |            |            |            |
  1625.             |            |            |   PRMBS            |            |            |            |            |            |
  1626.             \-------------------------/            \-------------------------/            \-------------------------/
  1627.  
  1628.             There are/can be many problems associated with DoubleDOS but the
  1629.       the most important considerations are as follows:
  1630.  
  1631.            1  - COMBIOS/MBBIOS - these Communications BIOS programs  must  be
  1632.       run  from 'under' DoubleDOS rather than before DoubleDOS. If  you  are
  1633.       running  QuadBIOS and splitting ports to either side of DoubleDOS  you
  1634.       have no choice but to run the BIOS before DoubleDOS. The problem  here
  1635.       results when a port is undr hardware flowcontrol and stuck within  the
  1636.       BIOS porgram and the user tries to switch sides. I will be honest  and
  1637.       say I am unsure of the exact mechnaism here but let it suffice to  say
  1638.       some pretty 'hard' lockups have occurred or even crashes.
  1639.  
  1640.            2  - DISK SPACE. The first time you do a DIR when you boot up  or
  1641.       any  program  does a DIR or Diskspace DOS call, the real  amountas  is
  1642.       computed  by an actual check of space available. From that  point  on,
  1643.       unless a CHKDSK is done diskspace determination is done in COMMAND.COM
  1644.       by  'dead reackoning', that is to say COMMAND.COM keeps track  of  the
  1645.       number  of Kbytes of 'erases' and 'cretaes and using the  base  number
  1646.       arrives at the number of bytes free. Since the COMMAND.COM of the root
  1647.       process  (initial process) creates two 'sons' when the partitions  are
  1648.       spawned,  each side is given the number from 'daddy' and each goes  of
  1649.       on  its own merry way. It takes but a few hours til 'sapce  available'
  1650.       on  one side will not matc the other. The two numbers often  will  not
  1651.       have any basis in reality. Recently KD6TH found his system  'crashed',
  1652.       out  of  disk space after about a month of unattended but  very  heavy
  1653.       operation.  Yet when the system was rebooted it had 1.6  megabytes  of
  1654.       free  space. There is no solution except possibly running  a  software
  1655.       REBOOT  program in your event file, scheduled to kick off at say  1000
  1656.       local time which is traditionally a 'slack' period (here in the NE  US
  1657.       the night time is the busiest with NETROM-aided forwarding going  full
  1658.       bore til 0500 local at least.
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 27      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 27
  1667.  
  1668.  
  1669.                              PROCESS CONTROL Commands                             PROCESS CONTROL Commands                             PROCESS CONTROL Commands
  1670.  
  1671.            The following keys allow fine control over various happenings  of
  1672.       the BBS. Since there is a constant poll for these keys, during certain
  1673.       processes 9described below) MSDOS type-ahead is effectively  defeated.
  1674.       With time you will get the feel for when you can 'type-ahead' and when
  1675.       you cannot.
  1676.  
  1677.            ctrl-D (^D)           ctrl-D (^D)           ctrl-D (^D)
  1678.  
  1679.            This  key is used to interrupt from console to chat with a  user,
  1680.       to enter into char when the user has requested it, and to return  from
  1681.       terminal mode to mailbox prompt, or from chat mode to back on-line.
  1682.  
  1683.            ctrl-E (^E)           ctrl-E (^E)           ctrl-E (^E)
  1684.  
  1685.            this  command  is used to bring the mailbox out of  'waiting  for
  1686.       connect' or 'auto-answer' mode to local console command
  1687.  
  1688.            ctrl-F (^F)           ctrl-F (^F)           ctrl-F (^F)
  1689.  
  1690.            this is the 'twit key' or 'time-out' key. When ever the BBS is in
  1691.       its  routine 'getting a line of data from the port' 9which is most  of
  1692.       the time!) this key being pressed trips the time-out timer  regardless
  1693.       of  how  long or short it has been since the last valid line  of  data
  1694.       from  the user. In effect then he is twitted by a false  induction  of
  1695.       the  time-out  and the BBs code just handles it like he  quietly  went
  1696.       away.
  1697.  
  1698.            ctrl-K (^K)           ctrl-K (^K)           ctrl-K (^K)
  1699.  
  1700.            This is the 'text stopper'. All routine which read and list  mail
  1701.       headers,  files, etc, check for this key being pressed while  you  are
  1702.       doing  your displays and if so stops the display right in its  tracks.
  1703.       It does not abort it exactly but rather simply ends it and reports all
  1704.       is done. This allows you to stop a twit incessantly re-reading a  long
  1705.       message or getting his jollies do an L 1 on a 400 message system!
  1706.  
  1707.            ctrl-W (^W)           ctrl-W (^W)           ctrl-W (^W)
  1708.  
  1709.            This  is the 'who' key. In the middle of a long download you  can
  1710.       strike  ctrl-W and it will dump the local console status display  line
  1711.       that  you normally get before each BBS prompt is sent to the user.  It
  1712.       does  not interrupt his session, but lets ya know who is there and  if
  1713.       you have any mail.
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 28      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 28
  1731.  
  1732.  
  1733.                        PRMBS - Packet Radio MailBox System                       PRMBS - Packet Radio MailBox System                       PRMBS - Packet Radio MailBox System
  1734.                        Preliminary Release Command Summary                       Preliminary Release Command Summary                       Preliminary Release Command Summary
  1735.  
  1736.               This  is a summary of the commands for the  major  revision
  1737.          0.98  of  the Packet Radio Mailbox System. It is  aimed  at  the
  1738.          sysops so that they may better understand the general manner  in
  1739.          which  the  MailBox functions internally so that they  may  best
  1740.          utilize the powers this system gives them.
  1741.  
  1742.             All  commands  are started with a line beginning  ">>",  the
  1743.          command itself, as parsed by the command dispatch table is given,
  1744.          followed  by the name of the procedure in the C source code  that
  1745.          is  called,  this  is given in case you want to  follow  how  the
  1746.          system works.
  1747.  
  1748.         - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1749.  
  1750.  
  1751.       USER Commands - available to all users, LOCAL, REMOTE and REMOTE SYSOP      USER Commands - available to all users, LOCAL, REMOTE and REMOTE SYSOP      USER Commands - available to all users, LOCAL, REMOTE and REMOTE SYSOP
  1752.  
  1753.       >>   Menu/Help  Request:   "?"     (do_help)           Menu/Help  Request           Menu/Help  Request
  1754.                                  "h"     (do_help)
  1755.                                  "help"  (do_help)
  1756.  
  1757.                 X - menu/help summary
  1758.                 X ALL -  entire menu/help list
  1759.                 X xxx - menu/help explanation for 'xxx'
  1760.  
  1761.            * where 'X' is '?', 'h', or 'help'
  1762.  
  1763.            Menu is short one line descriptions, help is length  descriptions
  1764.       with  syntax  explanations.  File called MENU.MB or  HELP.MB,  set  up
  1765.       with  leading  '#' as entry delimiters. Entry  requires  only  minimum
  1766.       letters to get match. Must watch it though  '? S' will get SEND  every
  1767.       time , though the commands exist as S (send) , and SM (send multiple)
  1768.  
  1769.       >>   Go back on-line:   "b"   (bye_bye)           Go back on-line           Go back on-line
  1770.                               "bye" (bye_bye)
  1771.  
  1772.            Simply  place  MailBox  back on-line  awaiting  remote  or  local
  1773.       connections.   Mail, user, and Log files are closed,  system  monitors
  1774.       TNC type ports.
  1775.  
  1776.       >>   Remote user request to:    "chat"  (utalk)           Remote user request to           Remote user request to
  1777.  
  1778.            User makes request, if local chat flag is disabled he immediately
  1779.       gets  a 'Sorry he is not here. please leave a message' type  response.
  1780.       If  the  local flag is enabled, the system gives a  sickening  set  of
  1781.       beeps  every  6 seconds for one minute, if the sysop  hears  them  and
  1782.       wants  to respond, he simply types a ^D (ctrl-D character) and  he  is
  1783.       placed  on line with the user. The 'going into terminal mode'  strings
  1784.       are sent to the TNC and the sysop then has to place himself into CONV.
  1785.       When done the sysop types another ^D and 'coming out of terminal mode'
  1786.       strings  are  sent,  TNC connect status checked and  BBS  is  returned
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 29      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 29
  1795.  
  1796.  
  1797.       either  to REMOTE status or on-line awaiting connect if the user  went
  1798.       away during the chat. If the sysop doesn't hear the beeping after  one
  1799.       minute  it  sends the 'sorry, leave message' response  and  goes  back
  1800.       looking for another command.
  1801.  
  1802.       >>   List of commands:  "cmds"     (cmdlist)           List of commands           List of commands
  1803.  
  1804.            This simply goes through the command dispatch table and dumps the
  1805.       strings  containing the commands available on the system,  in  tabular
  1806.       form  8 to a line. system. If you are at Local console it dumps  three
  1807.       lists,  LOCAL, SYSOP, REMOTE. If you are a remote SYSOP and  in  R/Sys
  1808.       mode  you  get REMOTE and SYSOP, if you are a mere user  you  get  the
  1809.       REMOTE list.
  1810.  
  1811.       >>   Download a file:   "d"   (dnload)           Download a file           Download a file
  1812.                               "d filename  ###"
  1813.                               "d filename -###"
  1814.                               "d filename  ###-###"
  1815.  
  1816.            You may simply download a file using the command plus a filename.
  1817.       From  the  local console this gets the file in 'paged' form.  You  may
  1818.       also  download a file by asking for only the first #### bytes  of  the
  1819.       file  (i.e.  D FOOBAR.TXT 400 ) or download asking to skip  the  first
  1820.       #### bytes of the file  (i.e. D FOOBAR.TXT -400), or you may ask for a
  1821.       'middle piece' of the file (i.e. D FOOBAR.TXT 3000 6000). These  extra
  1822.       options  allow  a  file to be 'sampled' , or if a  long  download  got
  1823.       trashed, you may come back and get the tail end of it, or simply  read
  1824.       a long file in pieces.
  1825.  
  1826.            Downloads  on  the air are also subject to a  sysop  configurable
  1827.       limit  in length during some 'window'. For example you might say  that
  1828.       from  1800  to 2300 local time no file greater than 6 K bytes  may  be
  1829.       downloaded. The download limit is computed against what was requested,
  1830.       i.e.  for  simple download, the entire file size, for  the  other  the
  1831.       arithmetic is done and then permission is determined.
  1832.  
  1833.            The system is 'kludged' to prohibit the accessing of any file  or
  1834.       file-path  string containing the string "PASSWORD.MB". It  refuses  to
  1835.       acknowledge the existence of the file.
  1836.  
  1837.       >>   Directory Request: "dir"   (mbDir)           Directory Request           Directory Request
  1838.                               "dir [path]\[file-spec]"
  1839.  
  1840.            Simple  listing  in directory order of the files in  the  "FILES"
  1841.       area  or  some  sub-directory. There is the  same  'ignoring'  of  the
  1842.       existence  of the file "PASSWORD.MB" as there is in download.  If  the
  1843.       user types forward slashes '/' instead of the backslashes '\' required
  1844.       by MSDOS, they are translated to back slashes.
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 30      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 30
  1859.  
  1860.  
  1861.       >>   Edit message header:     "edit"    (e1msg)           Edit message header           Edit message header
  1862.                                     "edit msg#"
  1863.  
  1864.            This  command  allows  the header from the MAIL.DAT  file  to  be
  1865.       edited.  The fields available are the FROM, TO, @BBS,  title,  message
  1866.       type, message status, forwarding priority (allows type to be  retained
  1867.       in 'forwarding type' messages between PRMBS systems  (i.e.  SAF DXINFO                                            PRMBS
  1868.       @ WB2MNF ))
  1869.  
  1870.            For  remote  users  w/o  SYSOP privileges,  they  may  edit  only
  1871.       messages  TO/FROM  themselves,  while R/Sys and  Local  can  edit  any
  1872.       message.
  1873.  
  1874.       >>   Scan headers for text:   "ft" (scan_hdr)           Scan headers for text           Scan headers for text
  1875.                                     "ft text_string"
  1876.                                     "ft text_string msgno"
  1877.  
  1878.            This will do a case-insensitive search of the TO/FROM/@ fields as
  1879.       well  as  the message subject/title for a text-string.  If  found  the
  1880.       header  is  listed and the search continues. Upon  completion  of  the
  1881.       listing,  the first message is displayed with the query "view  message
  1882.       (y/n/x)"  and the user can chose to read it. If the message number  is
  1883.       included, the search will start at that number.
  1884.  
  1885.       >>   Remote file request commands: "get"     (make_req)           Remote file request commands           Remote file request commands
  1886.                                          "get file host"
  1887.  
  1888.                                          "getdir"      (make_req)
  1889.                                          "getdir dir host"
  1890.  
  1891.                                          "getmsg"      (make_req)
  1892.                                          "getmsg ### host"
  1893.  
  1894.            Any  user,  Local  or remote may use these  commands  to  quickly
  1895.       compose a file or directory request to another system. This saves them
  1896.       the often complex setup of the file request message;
  1897.  
  1898.             "SP REQFIL @ WB2MNF \n FOOBAR\SNAFU\ORSNATZ.DOC @ K3PGB"            "SP REQFIL @ WB2MNF \n FOOBAR\SNAFU\ORSNATZ.DOC @ K3PGB"            "SP REQFIL @ WB2MNF \n FOOBAR\SNAFU\ORSNATZ.DOC @ K3PGB"
  1899.  
  1900.            These  messages  generated will be sent to another  system.  Upon
  1901.       arrival  at  that system, instead of being saved in their  form  as  a
  1902.       normal  message,  they  generate  a  return  message  containing   the
  1903.       directory, file, or message requested, or an appropriate error message
  1904.       and  then  are saved. the outgoing message is the only record  of  the
  1905.       incoming message.
  1906.  
  1907.            Provision has been made to 'control the access to these features.
  1908.       If  you  do  not create an permission file,  the  features  have  open
  1909.       access. If the permission file is created (REMOTREQ.MB, and it must be
  1910.       in the default directory) then the originator of the message must meet
  1911.       a wildcard match criterion. here are some examples;
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 31      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 31
  1923.  
  1924.  
  1925.       file REMOTREQ.MB contains:
  1926.  
  1927.                           N1AA                          N1AA                          N1AA
  1928.                           N2BB                          N2BB                          N2BB
  1929.                           N3CC                          N3CC                          N3CC
  1930.                           W4XXX                          W4XXX                          W4XXX
  1931.  
  1932.            this means that only those calls listed will be permitted the  use
  1933.       of  the Remote Request features. Now to make an 'open system'  with  a
  1934.       few exclusions you would set up the file like;
  1935.  
  1936.                           !N3XXX                          !N3XXX                          !N3XXX
  1937.                           !N4YYY                          !N4YYY                          !N4YYY
  1938.                           !N5ZZZ                          !N5ZZZ                          !N5ZZZ
  1939.                           *                          *                          *
  1940.  
  1941.       the first calls are specifically denied REQ command permissions,  all
  1942.       other calls will drope through them and match the '*'
  1943.  
  1944.            The  same  mechnaism is used to 'control' RMAIL access.  See  the
  1945.       entry for RMAIL.
  1946.  
  1947.       >>   Monitor list and connect log: "heard"   (prthrd)           Monitor list and connect log           Monitor list and connect log
  1948.  
  1949.            The familiar 'J'-list command from RLI/MBL systems, it lists  the
  1950.       most recently heard systems and most recently connected stations.  The
  1951.       number  of  entries  is  determined  n  the  configuration  file.  The
  1952.       information  is  preserved in the MON.MB file between power  down  and
  1953.       power up of system.
  1954.  
  1955.       >>   Query/Enter User's Home BBS: "home"     (home)           Query/Enter User's Home BBS           Query/Enter User's Home BBS
  1956.                                         "home call"
  1957.  
  1958.            The user may query what the system thinks is his home bbs and may
  1959.       enter  that information into the system or alter existing value.  this
  1960.       is  important because PRMBS makes use of the home bbs field. (i.e.  if                            PRMBS
  1961.       say,  on WB2MNF has a user, W1XXX and he lists his home BBS as  K2ZZZ.
  1962.       if  mail  comes  in addressed to W1XXX @ WB2MNF, the  WB2MNF  will  be
  1963.       stripped off since it matches the name of the bbs , BUT before  saving
  1964.       the  message a check is made to see if W1XXX is a user on the  system.
  1965.       That being found his HOMEBBS field is checked, it is filled in and the
  1966.       call is NOT WB2MNF, so the @BBS field is readdressed to W1XXX)
  1967.  
  1968.       >>   Sysop's "Brag File":       "info"  (show_info)           Sysop's "Brag File"           Sysop's "Brag File"
  1969.  
  1970.            Simple  call  to file download, dumping the file  INFO.MB,  which
  1971.       contains  info about PRMBS and the sysops own  station  configuration,                           PRMBS
  1972.       and  may also, actually should also contain a brief statement  of  the
  1973.       policies concerning the operations of that station.
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 32      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 32
  1987.  
  1988.  
  1989.       >>   Kill messages: "k"  (multi_msg)           Kill messages           Kill messages
  1990.                           "k # # # # # ... #"
  1991.                           "k #-# #-# .... #-#"
  1992.                           "k # #-# #-# # # ... #-# #"
  1993.  
  1994.            Messages  may  be  killed  by number or  range  of  numbers.  The
  1995.       individual numbers or ranges may mixed on the same command line.  When
  1996.       a  range  of messages is specified each message in the range  has  its
  1997.       header line presented and the user is prompted for a "Kill Msg  #12345
  1998.       Y/N".
  1999.  
  2000.       >>   Kill my messages:  "km"    (klmsgm)           Kill my messages           Kill my messages
  2001.                               "km -x"
  2002.                               "km filename"
  2003.                               "km -x filename"
  2004.  
  2005.            Kills  all 'read' (status = 'Y') messages addressed to the  user.
  2006.       As  with any 'range of messages'  kill, the headers are presented  and
  2007.       the  the user is prompted for a "Y/N". However, if the option "-x"  is
  2008.       specified,  it  simply  goes ahead and kills the  messages  one  after
  2009.       another  and only tells you it has been killed as it kills it (I  call
  2010.       this  the  "RAMBO" option!) It is a dangerous option in that  once  it
  2011.       starts its too late for a remote user. The sysop may stop the cycle by
  2012.       hitting a ctrl-K from the local console.
  2013.  
  2014.            The optional 'filename' may be used by Sysop and remote sysop  to
  2015.       archive  the kills to one file. Each message is appended and it  works
  2016.       with or without the 'Rambo' flag.
  2017.  
  2018.       >>   Kill traffic:  "kt" (kill_trfc)           Kill traffic           Kill traffic
  2019.                           "kt # # # # ... #"
  2020.  
  2021.            This  is  just  another KILL but it  also  generates  a  "service
  2022.       message"  to  the  packet  originator  of  the  message  telling   him
  2023.       who,when,where  his  message was 'taken from' the packet  system.  The
  2024.       forwarding  headers  of the incoming message are parsed and  a  return
  2025.       path is specified as well as the correct return address. There are  no
  2026.       ranges permitted here only a 'list of messages'
  2027.  
  2028.            There are two configuration parameters that effect KT. The  first
  2029.       is  one  which  you answer YES or NO concerning  the  service  message
  2030.       generation. A YES means that a service message will be generated, a NO
  2031.       that  it  will  not.  The  other  parameter  is  the  default  message
  2032.       expiration date for the service message.
  2033.       >>   User Mail Service:  "mail"    (mail)           User Mail Service           User Mail Service
  2034.                                "mail"
  2035.                                "mail -n"
  2036.                                "mail addr [addr .. addr]"
  2037.                                     addr =  call or  call@bbs
  2038.  
  2039.            This  is  a new feature aimed to take the place of  the  multiply
  2040.       clumsy  R,  reply,  Kill commands requiring  message  numbers.  Simply
  2041.       typing  'mail' with no arguments presents the user with a list of  all
  2042.       messages  with  his  call in the TO field. Also if  it  is  the  Sysop
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 33      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 33
  2051.  
  2052.  
  2053.       himself all messages with "SYSOP" in the TO field. It then presents  a
  2054.       limited  sweeper that allows the simple REMOTE user to   Edit  header,
  2055.       Kill,  Reply  To, Read/View the message. It was chose  to  default  to
  2056.       listing all, read and unread to encourage the user to keep his mailbox
  2057.       clean.  Since  the old LM and RM didn't show read messages he  had  no
  2058.       idea of the extent of his 'mailbox'. Now sysops will have lots of read
  2059.       mail,  so the '-n' (newonly) flag is there, and will generally  to  be
  2060.       downplayed to the regular user.
  2061.  
  2062.            Next  is  'mail' with multiple arguments. This  is  the  primary
  2063.       message  entry vehicle. It supplants the "S" commands which have  been
  2064.       kept  only  for  RLI forwarding  compatibility.  This  single  command
  2065.       permits  the  creation of a message text which may be sent to  one  or
  2066.       more individuals. The "call@bbs" form must be entered on the line with
  2067.       no  spaces. The @BBS does not need to be filled in if the person is  a      no  spaces      no  spaces
  2068.       local  user  on your system or is a distant user and has  his  HOMEBBS
  2069.       specified, in which case the @BBS will be automatically filled in.
  2070.  
  2071.            The  second prompt from the system will be for the  title/subject
  2072.       of  the  message, and the the text for the message  is  gathered.  The
  2073.       message is simply typed in line by line. The ctrl-Z or "/EX" will  end
  2074.       the message as before, but a simple "." on a line by itself will  also
  2075.       end the message. there are a new set of commands available to the user
  2076.       they are the "~" (tilde) escapes and are as follows:
  2077.  
  2078.          ~e  - active from local console only. this takes the temporary work
  2079.          file  you  are  using  and throws  it  into  your  favorite  editor
  2080.          (specified  by a DOS environment variable EDITOR) allows you to  do
  2081.          your editing and returns you to message input mode again.
  2082.  
  2083.          ~m  ####  -  will append the entire text of  message  ####  to  the
  2084.          message currently being composed.
  2085.  
  2086.          ~p  - simply re-display the text of the message so far
  2087.  
  2088.          ~q - quit or abort the message being entered without saving.
  2089.  
  2090.          ~r  filename - will append the contents of the file  "filename"  to
  2091.          the message currently being composed.
  2092.  
  2093.          ~tx  - x being a message type, the default type is 'P', but it  may
  2094.          be altered
  2095.  
  2096.          The command "/ABORT" works the same as the "~q".
  2097.  
  2098.            The  tilde  commands are a little controversial because  not  all
  2099.       systems  seem  to have the tilde (ASCII 126($7E)) key. On  the  TRS-80
  2100.       Model 100 its available using the GRPH key, check the users manual. On
  2101.       the  PK-64A you are out of luck, there is supposed to be  a  Commodore
  2102.       Key sequence to do this but its 'trapped' by the firmware. If you  are
  2103.       running  the  WB4APR  C-64 BBS its a simple  fix  to  the  translation
  2104.       tables,  then  use  the terminal mode of the BBS  to  access  a  PRMBS                                                                       PRMBS
  2105.       system.  It  would only be a problem if the user of the PK-64  were  a
  2106.       remote  sysop,  then he would be hampered, but  otherwise  the  PK-64A
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 34      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 34
  2115.  
  2116.  
  2117.       won't lose anything, he just won't gain any new powers.
  2118.  
  2119.       >>   Remote user mail service:"rmail"   (mail)           Remote user mail service           Remote user mail service
  2120.                                         "rmail @bbs addr ..... addr"
  2121.  
  2122.            This feature allows a user to snd a message to several recipients
  2123.       with only a single copyof the message traveling alongthe route to some
  2124.       point  common  to all messages, where it is then 'exploded'  into  the
  2125.       appropriate number of messages to reside there or be forwarded on.  It
  2126.       is exactly what its name implies, a 'remote' mail command.
  2127.  
  2128.            RMAIL @KD6TH N2DSY N1CUI@N1CUI KB7UV@N2MH W2VY@KD6TH
  2129.            (here it will be prompted for title)
  2130.            COSI Code design review
  2131.            (here it will prompt for text)
  2132.            The meeting will be .....
  2133.            .....
  2134.            .....
  2135.            /EX
  2136.  
  2137.          One message will be generated, it will be addressed to RMAIL@KD6TH
  2138.          and it will have on the "To: " line in the RFC 822 internal header;
  2139.  
  2140.             To: rmail@kd6th n2dsy n1cui@n1cui kb7uv@n2mh w2vy@kd6th
  2141.  
  2142.          This message will travel through all system (PRMBS 0.98P or not)
  2143.          innocuously as a simple message UNTIL it hits KD6TH where the 'RMAIL'
  2144.          with KD6TH stripped out will be decoded. The message will now
  2145.          'explode' into 4 copies, individually addressed to N2DSY, N1CUI,
  2146.          KB7UV and W2VY.  I should not need to explain the benefits of
  2147.          eliminating 3 of the 4 copies of the message for transmission to the
  2148.          point of divergence on their respective paths.
  2149.  
  2150.               The feature also supports remote alteration of message types  in
  2151.          the following manner;
  2152.  
  2153.            RMAIL @KD6TH -TB N2DSY N1CUI@N1CUI KB7UV@N2MH W2VY@KD6TH
  2154.  
  2155.          The "-TB" says make all the messages following type 'B'. Now you  can
  2156.          mix types with the 'type change' command being in effect until its is
  2157.          superseded by an additional type chnage command.
  2158.  
  2159.            RMAIL @KD6TH -TB N2DSY N1CUI@N1CUI -TF KB7UV@N2MH W2VY@KD6TH
  2160.  
  2161.          This  will make the first two messages as type B and the last two  as
  2162.          type F.
  2163.  
  2164.            The  use of this feature may be controlled by the sysops who  are
  2165.       the  recipeinets of the messages to be exploded. They may have a  file
  2166.       called  RMAIL.MB  and it functions in the same manner as  the  control              RMAIL.MB              RMAIL.MB
  2167.       file for the REQ commands. (See the explanations under GETDIR etc.)
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 35      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 35
  2179.  
  2180.  
  2181.       >>   Enter the user name:     "name"    (mkname)           Enter the user name           Enter the user name
  2182.                                     "name firstname"
  2183.                                     "name firstname lastname"
  2184.  
  2185.            The is permitted to query the system as to what it thinks his/her
  2186.       name  is and to enter that name into the system. You may enter  up  to
  2187.       two  strings to be printed as a first and last name. The limit  is  20
  2188.       characters.
  2189.  
  2190.       >>   Read message(s):    "r"  (multi_msg)           Read message(s)           Read message(s)
  2191.                                "r # #-# ..... #"
  2192.                                "v # #-# ..... #"
  2193.  
  2194.            The same range of variations as the 'K' command. <R>ead will read
  2195.       a message, messages, or range of messages displaying only the  message
  2196.       body,  including  its  RFC822 header if present.  the  <V>erbose  read
  2197.       command  will  display  the entire body of the  message  as  received,
  2198.       including the forwarding headers. There <R>ead command may be 'fooled'
  2199.       if someone along the way has a forwarding header that does not conform
  2200.       to the minimum standard of containing an "R:" at the beginning and  an
  2201.       '@' sign prefixing its @BBS.
  2202.  
  2203.       >>   Reply to a message: "reply"   (snd_reply)           Reply to a message           Reply to a message
  2204.                                "reply msg#"
  2205.  
  2206.            This simple command allows the user to reply to a message sent to
  2207.       him or a bulletin. It reads the message being replied to and takes the
  2208.       FROM field and copies as the TO field of the reply. It takes the title
  2209.       of  the old message and prefixes it with  "Re: " (only if it does  not
  2210.       already have such a prefix, as with a repeated exchange of ideas on  a
  2211.       subject)  and  makes it the title/subject. It reads the  text  of  the
  2212.       messages  and parses the forwarding headers and determines the  source
  2213.       BBS  of the message and makes that the @BBS address for the reply.  AS
  2214.       mentioned  elsewhere, if any header in the string does not conform  to
  2215.       the minimum standard, the @BBS field will be in error. If there is any
  2216.       question  as to the accuracy of that, user should exercise the  "edit"
  2217.       command to correct the addressing.
  2218.  
  2219.       >>   Set users highest message read:    "setmsg"  (setmsg)           Set users highest message read           Set users highest message read
  2220.                                               "setmsg [ top | msg#]"
  2221.  
  2222.            User  may query or set the highest message the system  thinks  he
  2223.       has read. The code is set up so that it does not bump the user  record
  2224.       for messages read just because he connect s and disconnects. But if  a
  2225.       user logs in and lists and the decides not to read anything, it  means
  2226.       the next time he logs in all the 'new' messages from his time will  be
  2227.       displayed as well as the 'real' (relative to last logon) new messages.
  2228.       So  when done he may simply type "setmsg top", or if maybe there is  a
  2229.       message  he  wants to come back to which is, say, message #  1234,  he
  2230.       might  enter the command as  "setmsg 1233", guaranteeing he  inclusion
  2231.       of #1234 in his next 'new messages list'
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 36      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 36
  2243.  
  2244.  
  2245.       >>   Upload a file to the system:  "u"   (upload)           Upload a file to the system           Upload a file to the system
  2246.                                          "u filename"
  2247.  
  2248.            User  may upload a file to the system. It prompts him for  a  one
  2249.       line  description  of the file, which is entered as a message  to  the
  2250.       sysop, telling him there has been an upload. The file will be uploaded
  2251.       to  the  "upload  directory" specified in the  CONFIG  file.  If  that
  2252.       directory  is  the  same as the "files  directory"  uploads  then  are
  2253.       immediately  visible to subsequent users, if it is not, then they  are
  2254.       'safe' until the sysop has time to review the file and decide where to
  2255.       place it.
  2256.  
  2257.       >>   User information retrieval:   "user"    (chk_usr)           User information retrieval           User information retrieval
  2258.                                          "user call"
  2259.  
  2260.            Any  user  typing simply "user" will get a display  of  his  user
  2261.       statistics about himself, i.e. name, home bbs, high message read, etc.
  2262.       If he enters "user call' he gets the same info for the user with  that
  2263.       call, or he gets a message the person is not a registered user on this
  2264.       system.
  2265.  
  2266.       >>   What version of the software is this: "ver"  (d_vers)           What version of the software is this           What version of the software is this
  2267.  
  2268.            The displays the version level of the PRMBS software.                                                 PRMBS
  2269.  
  2270.       >>   Toggle remote sysop mode:     "@"  (mksys)           Toggle remote sysop mode           Toggle remote sysop mode
  2271.                                          "@"  (mkrem)
  2272.  
  2273.            This  command toggles the system state between REMOTE  and  SYSOP
  2274.       (implied remote sysop, as opposed to LOCAL which is the sysop at home,
  2275.       which  has  even  more  power than remote sysop).  If  a  file  called
  2276.       PASSWORD.MB is not present it will simply check the users' user record
  2277.       and  see if his call is flagged to remote sysop powers, if it  is  the
  2278.       system  flips over to R/Sys mode and the prompt alters to "next?".  The
  2279.       difference  between LOCAL and Rsys is dramatic for the user with  such
  2280.       power.  Before as a simple logged in user, when he did a list he  only
  2281.       saw messages to/from him, and non-private and non-traffic message that
  2282.       had no @BBS filled in and all '$' and 'F' messages. Now as an R/Sys  he
  2283.       sees  EVERYTHING.  he may kill anything and he has some  new  commands
  2284.       open. All commands that were valid from REMOTE are valid in R/Sys, plus
  2285.       he  now  may  delete files make files out  of  messages,  and  others.
  2286.       Specified in the R/Sys commands below.
  2287.  
  2288.            If  the PASSWORD.MB file is present the user file is checked  for
  2289.       the  users  SYSOP flag is set and then is presented  with  a  password
  2290.       string  to  which  he  must reply. The  exact  mechanism  of  this  is
  2291.       described elsewhere. If it fails the user is returned to normal REMOTE
  2292.       mode.
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 37      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 37
  2307.  
  2308.  
  2309.       REMOTE SYSOP Commands: available to LOCAL Console and R/Sys      REMOTE SYSOP Commands: available to LOCAL Console and R/Sys      REMOTE SYSOP Commands: available to LOCAL Console and R/Sys
  2310.  
  2311.       >>   Delete a file: "del"     (delfiles)           Delete a file           Delete a file
  2312.                           "del [path]\filename"
  2313.  
  2314.            Simple  delete  a file. Unambiguous file name required  (i.e.  no
  2315.       wildcards!).  MUltiple files may be deleted on the same command  line,
  2316.       just specify additional file names separated by a space.
  2317.  
  2318.       >>   Delete a user from user file: "deluser" (deluser)           Delete a user from user file           Delete a user from user file
  2319.                                          "deluser call"
  2320.  
  2321.            When  you delete the user, the call stays in the file except  the
  2322.       first  character  of the call is replace with a '*'  and  the  'delete
  2323.       flag'  is set in his record. The call will stay until a  'GU'  command
  2324.       (untangle  user file) at which point it will not be copied to the  new
  2325.       user file.
  2326.  
  2327.       >>   Display user(s):    "du" (duser)           Display user(s)           Display user(s)
  2328.                                "du usercall"
  2329.                                "du [ b | e | l | s]"
  2330.  
  2331.            This command will display a user list (paged on LOCAL console) in
  2332.       its entirety, or by saying "du usercall" it will give just the  record
  2333.       for  that  user. It also allows selected lists by  using  the  options
  2334.       shown above:
  2335.                 b - displays only calls flagged as BBSes
  2336.                 e - displays only calls flagged as excluded
  2337.                 l - displays only calls flagged as local users (this
  2338.                     privilege allows user access on a BBS only port.
  2339.                 s - displays only users flagged as R/Sys
  2340.  
  2341.       >>   Edit a user record: "eu" (eduser)           Edit a user record           Edit a user record
  2342.                                "eu usercall"
  2343.  
  2344.            The  "eu usercall" permits editing a user record, Name,  Homebbs,
  2345.       local  user  sysop,  bbs,  landline modem  use  permitted,  and  modem
  2346.       password if the modem use is set. The simple 'EU' command enters  into
  2347.       a  'sweeper' which presents all of the calls in the system one by  one
  2348.       which  may be selected for deletion or editing. If you are  ion  LOCAL
  2349.       console the command is a 'single-key stroke' entry not requiring a  CR
  2350.       to move from call to call.
  2351.  
  2352.       >>   File a message:     "file"   (file)           File a message           File a message
  2353.                                "file msg# file"
  2354.  
  2355.            A  quick way to make a file from a message without having  to  go
  2356.       into the 'message sweeper'.
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 38      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 38
  2371.  
  2372.  
  2373.       >>   Message forwarding:  "fwd"     (dofwd)           Message forwarding           Message forwarding
  2374.                                 "fwd portscr [-bnpro] call file ... file"
  2375.  
  2376.  
  2377.            See the earlier discussion for the more conceptual explanation of
  2378.       the forward command. This will just discuss syntax and fine details.
  2379.  
  2380.            The first argument after the Port-ID and the optional  parameters
  2381.       must be a valid ham call that exists in your CALLDIR.MB. The remaining
  2382.       arguements  may  be  any  up to 8 char filename or  ham  call.  If  he
  2383.       argument  contains a '*' or '?' or the argument does exist as  a  file
  2384.       with  the name 'argument.FWD', the argument is fed to  the  forwarding
  2385.       process  as  a  call selected. Thus a whole forward  stream  could  be
  2386.       fabricated without any '.FWD' files at all if the requirements of  the
  2387.       station could be met in that fashion.
  2388.  
  2389.            FWD B WB2RVX NTS* NORTH ?6* ?7* ??7*           FWD B WB2RVX NTS* NORTH ?6* ?7* ??7*           FWD B WB2RVX NTS* NORTH ?6* ?7* ??7*
  2390.            FWD B WA2VXT KE2M           FWD B WA2VXT KE2M           FWD B WA2VXT KE2M
  2391.  
  2392.        and so on .....
  2393.            A  station completing forwarding will be sending the F> will  get
  2394.       mail  addressed   @BBS for him. Then if there is an entry  in  R_EVENT
  2395.       file  he gets anything specified in there. I can set my  R_EVENT  file
  2396.       now to handle all sorts of contingencies
  2397.  
  2398.             M 0100 FWD B -r WA2SNA NORTH            M 0100 FWD B -r WA2SNA NORTH            M 0100 FWD B -r WA2SNA NORTH
  2399.             M 0100 FWD B -r N3ET NWEST            M 0100 FWD B -r N3ET NWEST            M 0100 FWD B -r N3ET NWEST
  2400.             M 0100 FWD B -r N2EVW NORTH            M 0100 FWD B -r N2EVW NORTH            M 0100 FWD B -r N2EVW NORTH
  2401.             M 0100 FWD B -r WB2RVX NWEST NORTH SOUTH WORM            M 0100 FWD B -r WB2RVX NWEST NORTH SOUTH WORM            M 0100 FWD B -r WB2RVX NWEST NORTH SOUTH WORM
  2402.  
  2403.             ..... and so on
  2404.  
  2405.            The 'portscr' designation is the port letter (A,B,C ...) and  the
  2406.       'script  number'.  There is a file called  CALLDIR.MB  which  contains
  2407.       references  to connect scripts for stations. A sample of the  file  is
  2408.       shown below;
  2409.  
  2410.               >1 K3DSM              >1 K3DSM              >1 K3DSM
  2411.               @K3DSM              @K3DSM              @K3DSM
  2412.               *** EOF              *** EOF              *** EOF
  2413.               >2 K3DSM              >2 K3DSM              >2 K3DSM
  2414.               @WB2DRD-3 v WB2DRD-1              @WB2DRD-3 v WB2DRD-1              @WB2DRD-3 v WB2DRD-1
  2415.               +to              +to              +to
  2416.               ?*              ?*              ?*
  2417.               !80              !80              !80
  2418.               .C WA3DSP-5              .C WA3DSP-5              .C WA3DSP-5
  2419.               !120              !120              !120
  2420.               .C K3DSM-1              .C K3DSM-1              .C K3DSM-1
  2421.               *** EOF              *** EOF              *** EOF
  2422.               >1 WB2RVX              >1 WB2RVX              >1 WB2RVX
  2423.               @WB2RVX              @WB2RVX              @WB2RVX
  2424.               *** EOF              *** EOF              *** EOF
  2425.               >2 WB2RVX              >2 WB2RVX              >2 WB2RVX
  2426.               @WB2DRD-3 v WB2DRD-1              @WB2DRD-3 v WB2DRD-1              @WB2DRD-3 v WB2DRD-1
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 39      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 39
  2435.  
  2436.  
  2437.               +to              +to              +to
  2438.               ?*              ?*              ?*
  2439.               !90              !90              !90
  2440.               .C WB2RVX              .C WB2RVX              .C WB2RVX
  2441.               *** EOF              *** EOF              *** EOF
  2442.  
  2443.            The  number next to the '>' is the 'script number'.  This  allows
  2444.       you to specify how to get to the BBS. You could have several lines  in
  2445.       a row which make several tries to forward to the same BBS by different
  2446.       paths. If no script number is specified, '1' is assumed.
  2447.  
  2448.            The  '@'  line  is the line which gives the  call  and  path  (if
  2449.       needed)  to  establish  the initial level 2  RF/TNC  connection.  This
  2450.       connection  is detected by the  DCD (Data Carrier Detect line - pin  8
  2451.       from  TNC  for  those TNCs with that feature  to  indicate  CONN/DISC,
  2452.       generally  TNC2s, TNC2 clones and derivations, and modified TNC1s)  or
  2453.       *** CONNECTED to messages.      *** CONNECTED to      *** CONNECTED to
  2454.  
  2455.             If you look above and see the first script for WB2RVX and notice
  2456.       it is only an '@' line you will see how to make simple direct connects
  2457.       or 1 or more digi hops.
  2458.  
  2459.            Beyond  this  the  level 3 connections through  NETROMS  or  COSI
  2460.       swithces  are determined by parsing strings. The NETROM has only  one
  2461.       way  to tell you it is connected and that is a string with the  phrase
  2462.       "connected  to" in it. So the 'make' string is defined as "+to"  (case
  2463.       IS  important!). NETROM, unfortunately has a number of ways of  saying
  2464.       'sorry Charlie' so we say, anything BUT the make string is a  failure,
  2465.       the  'break'  string  in this case is "?*"  the  '*'  indicating  that
  2466.       'anything'  received that doesn't compare to the 'make' string will  be
  2467.       taken as a failure. The timeout period can be set , in seconds, by the
  2468.       "!180", which means if no connect is perceived in 180 seconds at  each
  2469.       step, you consider it a failure. Timeout and failure exit identically.
  2470.  
  2471.            The script processor assumes that if no additional "+?!" commands
  2472.       are recived that the strings/valuse remain for the whole script, or as
  2473.       in  the case of the second K3DSM script, the timeout is lengthened  as
  2474.       we get farther down the script.
  2475.  
  2476.            Speaking  of  timeouts,  once the script is  completed  with  the
  2477.       connect  to the final deisred station, the timeout period  reverts  to
  2478.       the 'port-timout' period specified in the configuration.
  2479.  
  2480.            Concerning  the  options  for the FWD command; the  "b"  and  'p'
  2481.       options  indicate that regardless of outbound mail status that  system
  2482.       will be connected to and polled for mail ('p') and bulletins ('b').
  2483.  
  2484.            The  'n'  option overrides the 'b' and 'p'  polling  options  and
  2485.       essentially guarantees that regardless of the mail status, the  system
  2486.       being forwarded to, etc, no "F>" mail polling command will be sent.
  2487.  
  2488.            The 'o' option permits sysop to forward to a station and go  back
  2489.       online awaiting remote caller without waiting for timeout. The same as
  2490.       the  'o'  option in 'event' command. Sysop can start action  and  walk
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 40      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 40
  2499.  
  2500.  
  2501.       away.
  2502.  
  2503.            The  'r'  option is used only in the r_event file  and  indictaes
  2504.       that  a reverse forward is taking place eliminating certain calls  for
  2505.       disconnect.
  2506.  
  2507.            One point, the FWD command, tests to see if it is connected  whne
  2508.       it  comes  in, so if it is, the connect sequence is not  issued.  This
  2509.       permits you to connect to a station using the (T)erminal or  (C)onnect
  2510.       commands  and then ater doing whatver, decide to forward mail to  that
  2511.       system.  You no longer need to DISC and then let the FWD  command  re-
  2512.       establish the connection.
  2513.       >>   Untangle Message file:   "gm" (untmsg)           Untangle Message file           Untangle Message file
  2514.  
  2515.            This  takes the MAIL.DAT message header file and copies  it  over
  2516.       retaining only the active messages sectors. The 'free sector' chain is
  2517.       left  off, thereby effectively shrinking the file. After a long  heavy
  2518.       forwarding session with lots of messages coming in at once then  being
  2519.       forwarded  out, the file will expand considerably more than if  its  a
  2520.       matter  of  get some, forward some the get more  forward  more  (since
  2521.       'free sectors' are used before allocating new ones)
  2522.  
  2523.            This can be critical on systems which are major mail  forwarders,
  2524.       the  larger  the  mail  file  is,  the  longer  it  takes  to  process
  2525.       forwarding.  It  has  happened  at one Beta  site  which  is  a  heavy
  2526.       forwarder,  that  he had a 30K plus MAIL.DAT (@128 bytes  per  message
  2527.       that's over 240 message sectors) with but 40 active messages.
  2528.  
  2529.            The 'GM' can be run from the event scheduler, since it will  exit
  2530.       gracefully  if it detects a user on the opposite side in a  multi-user
  2531.       configuration.
  2532.  
  2533.       >>   Untangle user File: "gu" (untusr)           Untangle user File           Untangle user File
  2534.  
  2535.            This  cleans out deleted users. It too may be run from the  event
  2536.       scheduler and will also bow out quietly if a user is on the other side
  2537.       of multi-user configuration.
  2538.  
  2539.       >>   Advanced message kill commands:           Advanced message kill commands           Advanced message kill commands
  2540.  
  2541.            kill by date:       "kd"      (kdmsg)           kill by date           kill by date
  2542.                                "kd [-x] yymmdd"
  2543.                                "kd filename"
  2544.                                "kd -x filename"
  2545.  
  2546.            kill expired:       "kx"      (kdmsg)           kill expired           kill expired
  2547.                                "kx [-x]"
  2548.                                "kx filename"
  2549.                                "kx -x filename"
  2550.                                "kx [-x] [#msgno]"
  2551.                                "kx filename [#msgno]"
  2552.                                "kx -x filename [#msgno]"
  2553.  
  2554.            Kill  by  date will kill any message whose date is prior  to  the
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 41      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 41
  2563.  
  2564.  
  2565.       date  shown. It will present the messages and headers one by  one  and
  2566.       ask 'Y/N' to kill.
  2567.  
  2568.            Kill  forwarded  will call all messages marked  status  'F'  that
  2569.       aren't  type  'F',  these  only occur when you do  not  set  'kill  on
  2570.       forward', but it presents them one by one as above in "kd"
  2571.  
  2572.            Kill  expired - reads the text of every message starting  at  the
  2573.       lowest in the system and searches for the string "Expires: yymmdd" and
  2574.       parses  the  date out and compares it to the current date,  if  it  is
  2575.       prior to the current date it is presented for killing. The string must
  2576.       be left justified on the line to be valid.
  2577.  
  2578.            Since once you have gone through your 'old messages' it is costly
  2579.       in  time to re-examine them over and over. You may optionally  specify
  2580.       the  message  at which to start checking (i.e. you may  type    kx  -x
  2581.       #14000,  which  says  examine messages starting at  number  14000  and
  2582.       delete automatically ('-x') any message which has expired.
  2583.  
  2584.            All of these cyclic search kill commands are subject to the ctrl-
  2585.       K  console abort. The kill expired then can be started with  the  '-x'
  2586.       option and then stopped once you get back into areas you have searched
  2587.       before,  the  '#msgno' option above can be used to cut time  when  the
  2588.       'kx' command is used in the event file.
  2589.  
  2590.            All  of  the  above 'kill' commands have the  '-x'  RAMBO  option
  2591.       available  in which case it rips through and gives you the body  count
  2592.       later.  Likewise they all have the 'archive to a file'  options  using
  2593.       the 'filename' as detailed in the 'km' command above.
  2594.  
  2595.       >>   Advanced edit commands:   "ed"      (kdmsgs)           Advanced edit commands           Advanced edit commands
  2596.                                          "ed yymmdd"
  2597.                                          "ex"      (kdmsgs)
  2598.  
  2599.            These  commands allows the message base to be masked by the  same
  2600.       criteria used above in the 'kill' commands and presented for  editing.
  2601.       There is only one direction in this and that is reverse order, so  the
  2602.       'c' key doesn't produce any change in direction.
  2603.  
  2604.       >>   Send a file to a port:   "port"    (port_dump)           Send a file to a port           Send a file to a port
  2605.                                     "port ID filename"
  2606.  
  2607.            This command allows a file to be dumped to a port. It is  usually
  2608.       used  to  send a setup file to a TNC when first bringing  it  back  up
  2609.       after a non-BBS use of the TNC.
  2610.  
  2611.       >>   Import/eXport messages:  "import"  (import_msgs)           Import/eXport messages           Import/eXport messages
  2612.                                     "import infile"
  2613.                                     "export"  (dofwd)
  2614.                                     "export opfile ptr [ptr .... ptr]"
  2615.  
  2616.            This allows a disk file to be used as the medium of exchange, the
  2617.       concept was originally built by WA7MBL as a means to go back and forth
  2618.       to  the  TCP/IP smtp mail system. It was  conceived  independently  on
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 42      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 42
  2627.  
  2628.  
  2629.       PRMBS as a generalized mail transfer system. The MBL and PRMBS formats      PRMBS                                                    PRMBS
  2630.       are identical and interchangeable. It might permit a large  collection
  2631.       of  interesting  bulletins  to be sent by diskette  and  US  Snail  to
  2632.       another  part  of  the country without overly  burdening  the  current
  2633.       system.  Or  it  could be used to easily transplant  the  entire  mail
  2634.       system  from one BBS to another, say when one site needed to  be  shut
  2635.       down.
  2636.  
  2637.       >>   Send multiple messages:  "sm" (dist_lst)           Send multiple messages           Send multiple messages
  2638.                                     "sm distlist textfile"
  2639.  
  2640.            This permits you to send a single message to a predetermined list
  2641.       of recipients. The distfile is in the form:
  2642.  
  2643.            SP W1XXX @ W2YYY           SP W1XXX @ W2YYY           SP W1XXX @ W2YYY
  2644.            S  W3QQQ @ W4ZZZ           S  W3QQQ @ W4ZZZ           S  W3QQQ @ W4ZZZ
  2645.            S  W4RRR @ W6UUU           S  W4RRR @ W6UUU           S  W4RRR @ W6UUU
  2646.  
  2647.            ... and so on
  2648.  
  2649.            This  makes individual messages to each and only that  person  is
  2650.       shown on the TO line. As opposed to the 'mail' command which show  all
  2651.       recipients of the message on the TO line.
  2652.  
  2653.       >>   Connect out to a station:     "c"  (lterm)           Connect out to a station           Connect out to a station
  2654.                                          "c portscr call [capfile]"
  2655.                                          "c port call v path [capfile]"
  2656.  
  2657.            This  is a console command line connection routine. the  'portscr'
  2658.       is the same script get as for Bulletins and forward, the 'capfile'  is
  2659.       an optional capture file name. After the connect is issued the  system
  2660.       simply drops to terminal mode.
  2661.  
  2662.            The  'capfile' will be appended to and will be closed  each  time
  2663.       you exit the terminal mode, so if you exit quickly to check something,
  2664.       when you return you must use the 'T' command with a file specifier  to
  2665.       keep it the capture alive.
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 43      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 43
  2691.  
  2692.  
  2693.       LOCAL Commands available only from local console      LOCAL Commands available only from local console      LOCAL Commands available only from local console
  2694.  
  2695.       >>   Sysop enable/disable chat:   "chat"    (chat)           Sysop enable/disable chat           Sysop enable/disable chat
  2696.                                          "chat [ on | off ]"
  2697.  
  2698.            When  chat  is 'off', the user simply gets  the  'leave  message'
  2699.       routine  immediately  as opposed to the sysop being 'beeped'  for  one
  2700.       when it is 'on'
  2701.  
  2702.       >>   Cleanup killed messages: "clean"   (cleankilled)           Cleanup killed messages           Cleanup killed messages
  2703.  
  2704.            Messages are never 'killed' when a user is on the other side in a
  2705.       multi-user  configuration. They are simply 'marked for killing'.  This
  2706.       routine which can be scheduled in the event scheduler does the killing
  2707.       for those messages that are marked as such.
  2708.  
  2709.       >>   Get out of program to DOS:    "x"  (done)           Get out of program to DOS           Get out of program to DOS
  2710.  
  2711.            Sayonara,  we are done. This command can also be  scheduled  from
  2712.       the event scheduler. If employed with a BAT file having a 'goto' loop,
  2713.       it  may be used to leave the PBBS and do some other things  that  need
  2714.       more memory than is available in a simple DOS escape, and then  return
  2715.       to the PBBS.
  2716.  
  2717.       >>   Enter terminal mode:     "t"  (lterm)           Enter terminal mode           Enter terminal mode
  2718.                                     "t port [filename]"
  2719.  
  2720.            Adequately  described above in the Connect command, no  'portscr'
  2721.       needed, just a port spec. For remote sysop, if this were a  multi-port
  2722.       (not multi-user single port!) configuration, he could 'gateway' out to
  2723.       the other port.
  2724.  
  2725.       >>   Event scheduler:         "event"   (event)           Event scheduler           Event scheduler
  2726.                                     "event -i"
  2727.                                     "event -f eventfile"
  2728.                                     "event -r call"
  2729.                                     "event -ifr eventfile call"
  2730.                                     "event -irf call eventfile"
  2731.                                     "event -o"
  2732.  
  2733.            This procedure allows execution of a script of commands that  may
  2734.       be direct port access commands to the serial lines to the TNCs, modems
  2735.       or  other  computers,  DOS escape commands, and  any  SYSOP  or  LOCAL
  2736.       command.  The  format of the file is shown below;
  2737.  
  2738.            X H1H2C xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx           X H1H2C xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx           X H1H2C xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  2739.  
  2740.            X  - is the event type D (DOS command), M (Mailbox commands),
  2741.                 P (port commands)
  2742.  
  2743.            H1 - start hour of the permitted period of the event
  2744.  
  2745.            H2 - end hour of the permitted period of the event
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 44      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 44
  2755.  
  2756.  
  2757.            C  - cycle - may be E (even hours only), O (Odd hours only), A or
  2758.                 <space>  (All hours), 3,4,6,8 (on hours evenly divisible  by
  2759.                 that number)
  2760.            xxx..xxx - the arguements or commands for the event.
  2761.  
  2762.         I have included below sample of my own event file, below;
  2763.  
  2764.           D 0100 FWD_DOS1          D 0100 FWD_DOS1          D 0100 FWD_DOS1
  2765.           P 0100 A          P 0100 A          P 0100 A
  2766.           TXD 26          TXD 26          TXD 26
  2767.           BT [ BBS Forwarding Mail ]          BT [ BBS Forwarding Mail ]          BT [ BBS Forwarding Mail ]
  2768.           B E 90          B E 90          B E 90
  2769.           MAXFRAME 2          MAXFRAME 2          MAXFRAME 2
  2770.           RETRY 12          RETRY 12          RETRY 12
  2771.           *** EOF          *** EOF          *** EOF
  2772.           M 0100 clean          M 0100 clean          M 0100 clean
  2773.           M 0100 fwd A2 K3DSM          M 0100 fwd A2 K3DSM          M 0100 fwd A2 K3DSM
  2774.           M 0100 fwd A N2EVW NORTH          M 0100 fwd A N2EVW NORTH          M 0100 fwd A N2EVW NORTH
  2775.           M 0100 fwd A2 N2EVW NORTH          M 0100 fwd A2 N2EVW NORTH          M 0100 fwd A2 N2EVW NORTH
  2776.           M 0100 fwd A N3ET          M 0100 fwd A N3ET          M 0100 fwd A N3ET
  2777.           M 0100 fwd A W3IWI SOUTH WORM          M 0100 fwd A W3IWI SOUTH WORM          M 0100 fwd A W3IWI SOUTH WORM
  2778.           M 0100 fwd A N4QQ SOUTH WORM          M 0100 fwd A N4QQ SOUTH WORM          M 0100 fwd A N4QQ SOUTH WORM
  2779.           M 0100 fwd A WB3FFV SOUTH WORM          M 0100 fwd A WB3FFV SOUTH WORM          M 0100 fwd A WB3FFV SOUTH WORM
  2780.           M 0100 fwd A WB2MNF          M 0100 fwd A WB2MNF          M 0100 fwd A WB2MNF
  2781.           M 0707 fwd A KB3UD NWEST          M 0707 fwd A KB3UD NWEST          M 0707 fwd A KB3UD NWEST
  2782.           M 0100 fwd A WB2YZS          M 0100 fwd A WB2YZS          M 0100 fwd A WB2YZS
  2783.           M 0100 fwd A -P WB2RVX WEST NWEST SOUTH WORM NORTH          M 0100 fwd A -P WB2RVX WEST NWEST SOUTH WORM NORTH          M 0100 fwd A -P WB2RVX WEST NWEST SOUTH WORM NORTH
  2784.           M 0100 fwd A2 -P WB2RVX WEST NWEST SOUTH WORM NORTH          M 0100 fwd A2 -P WB2RVX WEST NWEST SOUTH WORM NORTH          M 0100 fwd A2 -P WB2RVX WEST NWEST SOUTH WORM NORTH
  2785.           *** EOF          *** EOF          *** EOF
  2786.           M 2306 chat on          M 2306 chat on          M 2306 chat on
  2787.           M 0722 chat off          M 0722 chat off          M 0722 chat off
  2788.           M 0100 clean          M 0100 clean          M 0100 clean
  2789.           P 0100 A          P 0100 A          P 0100 A
  2790.           D          D          D
  2791.           D          D          D
  2792.           TXDELAY 26          TXDELAY 26          TXDELAY 26
  2793.           *** EOF          *** EOF          *** EOF
  2794.           D 0202 COPY MAIL.DAT MAIL02.DAT          D 0202 COPY MAIL.DAT MAIL02.DAT          D 0202 COPY MAIL.DAT MAIL02.DAT
  2795.           D 1010 COPY MAIL.DAT MAIL10.DAT          D 1010 COPY MAIL.DAT MAIL10.DAT          D 1010 COPY MAIL.DAT MAIL10.DAT
  2796.           D 1818 COPY MAIL.DAT MAIL18.DAT          D 1818 COPY MAIL.DAT MAIL18.DAT          D 1818 COPY MAIL.DAT MAIL18.DAT
  2797.           D 0202 COPY USER.DAT USER02.DAT          D 0202 COPY USER.DAT USER02.DAT          D 0202 COPY USER.DAT USER02.DAT
  2798.           D 1010 COPY USER.DAT USER10.DAT          D 1010 COPY USER.DAT USER10.DAT          D 1010 COPY USER.DAT USER10.DAT
  2799.           D 1818 COPY USER.DAT USER18.DAT          D 1818 COPY USER.DAT USER18.DAT          D 1818 COPY USER.DAT USER18.DAT
  2800.  
  2801.            The   FWD_DOS1 is a .BAT file which reads my RTC and erase  stray
  2802.       editor backup files that can accumulate whilst editing messages.
  2803.  
  2804.            "Event"  is also 'scheduled'; itself. In the  configuration  file
  2805.       you specify the length of the event cycle, i.e. How often you wish  to
  2806.       run the cycle. Traditionally it is 60 minutes, but now maybe  anything
  2807.       from  1 to 1440 minutes. 60 minutes is normal and should generally  be
  2808.       used.  As  this will dovetail best with non-PRMBS systems.  But  where                                                  PRMBS
  2809.       arrangements have been made and you are a dedicated mail system  skeds
  2810.       of 20 and 30 minutes can be done, or if its a portable station using a
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 45      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 45
  2819.  
  2820.  
  2821.       laptop  MSDOS  machine  in an emergency environment you  could  go  to
  2822.       either  1440  (in  essence  no cycle) and be  polled  from  a  central
  2823.       station),  or  to 5 or 10 minutes to be forwarding  nearly  constantly
  2824.       (probably  entering  messages from the other side of  doubleDOS  in  a
  2825.       multi-user-user config). A personal BBS or a multi-user  configuration
  2826.       on the user LAN side might only wish to sked once every 2 hours so 120
  2827.       or even 180 minutes would suffice.
  2828.  
  2829.            You are asked for the minute to forward on, this is relative to 0
  2830.       minutes  of  the start of the cycle. You are also asked  an  'offset'.
  2831.       This  is the 'grace period' allowed to start the cycle. lets say  that
  2832.       you  have a start of the 3rd minute of a 60 minute cycle, and that  03
  2833.       has  come and a user is on. For an offset of 5, If he logs off  before
  2834.       08  the  event  sked will still go off. For  shorter  than  60  minute
  2835.       cycles, a shorter offset should be used. If you miss it this time, the
  2836.       next time will be around soon. Likewise if you only kick off every 2-3
  2837.       hours,  you  want  to make sure you get it done so you  might  use  an
  2838.       offset of 15-30 minutes.
  2839.  
  2840.            The  timing computation is done with an absolute  calculation  of
  2841.       the  number of minutes since midnight. This number is divided  by  the
  2842.       cycle  length  and the remainder tells us the time  relative  to  this
  2843.       cycle.
  2844.  
  2845.            I  must caution to take real care in selection of non  60  minute
  2846.       cycle  time,  care  must  be given to consider  all  of  the  stations
  2847.       forwarding characteristics on that same channel.
  2848.  
  2849.            The time window may be ignored by the option 'i'. The event  file
  2850.       may  be altered by specifying and 'f' option, with the  next  argument
  2851.       being  the  filename. Reverse forward events are scheduled by  an  'r'
  2852.       option  with the next available argument being the call. When 'f'  and
  2853.       'r'  are both specified, the followon strings are in order  the  flags
  2854.       are set (see last two examples above)
  2855.  
  2856.            The reverse events scans the 'call' position of a forward  string
  2857.       and  looks for the call, that way any fwd event line  containing  that
  2858.       call as the destination will be executed.
  2859.  
  2860.            The 'o' option is the 'on-line' option. By specifying this option,
  2861.       the  flag  that  gets  set falsifies  a  'time-out'  immediately  upon
  2862.       completion of the event script and returns the system online  awaiting
  2863.       caller. This saves waiting around to put it back online after  kicking
  2864.       off  the forwarding and saves waiting for the console time-out  to  do
  2865.       it.
  2866.  
  2867.            The  reverse event file is the same as an event file except  that
  2868.       the  FWD command should all have the 'r' option set. Having this  file
  2869.       means  that  you can restrict what hours these reverse  forward  polls
  2870.       will  work.  If  you do not use the 'i' ignore time  option  the  time
  2871.       windows will return an immediate 'DONE' if they come in off time.
  2872.  
  2873.            We  have  a command and function called CLEAN. Its  function  and                                                   CLEAN                                                   CLEAN
  2874.       purpose are discussed elsewhere under its own command explanation.  It
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 46      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 46
  2883.  
  2884.  
  2885.       should be included as a 'scheduled' Mailbox command at the end of your
  2886.       forwarding  commands  in the event file. It can be  scheduled  several
  2887.       times  in the event file, there is no reason why not, but likewise  it
  2888.       does  not gain you much. I might suggest that it be placed in  at  the
  2889.       front  and  he back of the mail file to 'clean' house  in  advance  if
  2890.       possible.
  2891.  
  2892.            You may also want to schedule the 'exit to DOS' command X in  the                                                                   X                                                                   X
  2893.       event file. IT may be used to exit out of PRMBS and do something  else                                                PRMBS                                                PRMBS
  2894.       in DOS that requires more memory than can be shared with PRMBS. To  do                                                               PRMBS                                                               PRMBS
  2895.       this you would have a line that read;
  2896.  
  2897.            M 01008 X           M 01008 X           M 01008 X
  2898.  
  2899.            This command say that over the expanse of the entire 24 hour day,
  2900.       (  i.e.  01 - 00) on the hours divisible by 8  (0,8,16),  execute  the
  2901.       command to exit to DOS. The companion piece to this would be to  alter
  2902.       the BATch file you use to bring up the BBS to have a loop;
  2903.  
  2904.            :LOOP           :LOOP           :LOOP
  2905.            COMBxBIOS           COMBxBIOS           COMBxBIOS
  2906.            MB        ( or MB -M -C CONFIG.A)           MB        ( or MB -M -C CONFIG.A)           MB        ( or MB -M -C CONFIG.A)
  2907.            SOM_PROG           SOM_PROG           SOM_PROG
  2908.            GOTO LOOP           GOTO LOOP           GOTO LOOP
  2909.  
  2910.            What  happens is that when the MB program is exited the BAT  file
  2911.       excutes  SOM_PROG  and  then loops back and starts  by  trying  reload
  2912.       COMxBIOS (which automatically senses if it has been loaded before  and
  2913.       exits early ) and brings up MB again.
  2914.  
  2915.            Think  of  'EVENT' as a BATch processor. You can  have  'scripts'
  2916.       (think  BAT file) of mailbox commands which can be executed  from  the
  2917.       command line by using the '-f filename' option. Say you are K2ADJ. Now
  2918.       Rod has taken the task for himself of distributing the ARRL Bulletins.
  2919.       he  could make the process easier by creating a file called  ARRLBULS.
  2920.       In this file he would have the following:
  2921.  
  2922.             sm arrl.dst DX            sm arrl.dst DX            sm arrl.dst DX
  2923.             sm arrl.dst PROPO            sm arrl.dst PROPO            sm arrl.dst PROPO
  2924.             sm arrl.dst QST            sm arrl.dst QST            sm arrl.dst QST
  2925.             fwd B WB2MNF            fwd B WB2MNF            fwd B WB2MNF
  2926.  
  2927.           Assumption  here  is  that he got the latest  bulletins  from  his
  2928.       source  and placed them, into files with the generic names  DX,  PROPO
  2929.       and  QST for the DX Info, Propagatiom, and general bulletins. Then  he
  2930.       would type;
  2931.  
  2932.                        EVENT -OF ARRLBULS                       EVENT -OF ARRLBULS                       EVENT -OF ARRLBULS
  2933.  
  2934.        and the system would ask him for the title for each group of messages
  2935.       and  would  create  all  three groups  of  messages.  Then  drop  into
  2936.       forwarding.  The  -O option says he can go to to bed then, cause  when
  2937.       EVENT  is done running the forwarding, it will set itself back online.
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 47      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 47
  2947.  
  2948.  
  2949.            The only limit to what this can do for you is your imagination.
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.  
  2981.  
  2982.  
  2983.  
  2984.  
  2985.  
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 48      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 48
  3011.  
  3012.  
  3013.                            AUXILIARY PROGRAMS for PRMBS                           AUXILIARY PROGRAMS for PRMBS                           AUXILIARY PROGRAMS for PRMBS
  3014.  
  3015.            A number of prgrams may be used with and/or have been created for
  3016.       use with the PRMBS programs.                   PRMBS
  3017.  
  3018.          DoubleDOS (c) (Soft Logic) - a multi-tasking executive for the IBM-         DoubleDOS (c) (Soft Logic)         DoubleDOS (c) (Soft Logic)
  3019.          PC and its clones which permits running two separate copies of  DOS
  3020.          simultaneously in the RAM space. PRMBS has specificially been coded                                          PRMBS
  3021.          to  permit  two  entirely  separate  copies  of  the  BBS  to   run
  3022.          simultaneously sharing one mail file and one user file. The  multi-
  3023.          user  flags internally yeild the CPU during 'waste-time loops'  and
  3024.          help  optimize  the  performance. True  multi-user  capacbility  is
  3025.          achieved for up to one user on each of two ports.
  3026.  
  3027.          SWATCH.BAT (WB2DRD, later mods by WB2YZS) - a simple BAT file which         SWATCH.BAT (WB2DRD, later mods by WB2YZS)         SWATCH.BAT (WB2DRD, later mods by WB2YZS)
  3028.          displays color 'swatches' along with the appropriate ANSI sequences
  3029.          to reproduce it, so a SYSOP can select his color sequences for  the
  3030.          BBS.
  3031.  
  3032.          MBFIX.EXE  (NN2Z  and  a  little KA2BQE) -  a  program  to  read  a         MBFIX.EXE  (NN2Z  and  a  little KA2BQE)         MBFIX.EXE  (NN2Z  and  a  little KA2BQE)
  3033.          destroyed  MAIL>DAT file and attempt to recover it. In the  current
  3034.          state of the BBS it is rarely needed, but if a power outgae were to
  3035.          occur  in  the  middle  of a kill message  sequence  a  forward  or
  3036.          backward  link can be broken. MBFIX will repair it. MBFIX can  also
  3037.          be used to renumber your mail file and its associated message  text
  3038.          files starting at 00001 . This is suggested for those systems  that
  3039.          are not happy with 5 digit message numbers or even 4 digit  message
  3040.          numbers  and can logically be done at the first of any  given  year
  3041.          which  should generally keep the message numbers down to 4  digigts
  3042.          for  most  of the year, with a few very busy systems going  into  5
  3043.          digits  towards  the latter part of the year. I also  suggest  year
  3044.          start  for this renumbering for accountability reasons the  message
  3045.          ID 1234@KA2BQE in 1988 explicitly defines the message to which  you
  3046.          refer.  It is extremely unlikely that any system would  exceed  the
  3047.          65535  message number limit (at that point, the number 'rolls  over
  3048.          to 0, i.e. 65536 == 0 , and on up again)
  3049.  
  3050.          SORTUSER.EXE  (NN2Z)  - takes the USER.DAT and will  sort  it  into         SORTUSER.EXE  (NN2Z)         SORTUSER.EXE  (NN2Z)
  3051.          descending  order by the most recent login date, or  alphabetically
  3052.          by  call.  Since  to provide USER.DAT file security  that  file  is
  3053.          searched  brute  force  from  front to back,  by  sorting  it  into
  3054.          descending  login  date order you place the calls that  login  most
  3055.          recently to the front and therefore most likely to login again.  If
  3056.          someone  hasn't  logged  in for 2 months  he  doesn't  need  prompt
  3057.          service.(though the difference is but 20 seconds even for 400 users)
  3058.  
  3059.          LFAP-02A.EXE (WB2ENA) - A modification to the WA7DCH LFA (Log  File         LFAP-02A.EXE (WB2ENA)         LFAP-02A.EXE (WB2ENA)
  3060.          Analyzer) specifically for PRMBS. Prints monthly summaries to disk.                                    PRMBS
  3061.  
  3062.          TRANSLOG.COM (WB2ENA)P - program created by WB2ENA to take a  large         TRANSLOG.COM (WB2ENA)P         TRANSLOG.COM (WB2ENA)P
  3063.          PRMBS log file and separate it into monthly files. Can be run  from         PRMBS
  3064.          DOS Escape in PRMBS Event scheduler and will clean out the log file                       PRMBS
  3065.          up to the current day.
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 49      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 49
  3075.  
  3076.  
  3077.          MBBIOS/COMBIOS (AA4RE) - a COMmunications BIOS replacement, which         MBBIOS/COMBIOS (AA4RE)         MBBIOS/COMBIOS (AA4RE)
  3078.          installs  in memory prior to executing the PRMBS program. It is  in                                                    PRMBS
  3079.          various  forms  and versions as eithe COMBIOS or MBBIOS.  The  only
  3080.          requirement  is that the version of MUST support the BREAK  command
  3081.          being  sent  for TRANSparent mode. The current  version  is  MBBIOS
  3082.          version  2.6,  which supports all the requriements of  the  current
  3083.          PRMBS. Generally versions of COMBIOS/MBBIOS 1.6 and later will work         PRMBS
  3084.          with PRMBS.              PRMBS
  3085.  
  3086.          ATOB-PC.EXE/BTOA-PC.EXE  (KA2BQE)  - a suite of  programs  and  BAT         ATOB-PC.EXE/BTOA-PC.EXE  (KA2BQE)         ATOB-PC.EXE/BTOA-PC.EXE  (KA2BQE)
  3087.          files  based on the Unix AtoB algorith and adapted by me to  packet
  3088.          Radio  use.  Te  BAT files conveniently allow  you  to  specify  an
  3089.          ARChive file name and a collection of files and will invoke  ARC (c)
  3090.          or PKARC (c) to compress the files into a single ARC file and  then
  3091.          pass  it through the BTOA process producing an all ASCII  file  for
  3092.          transmission.  Checksums  are  included so  that  validity  can  be
  3093.          checked at re-assembly time, plus the checksumming done in the  ARC
  3094.          processes.
  3095.  
  3096.          MBPWD.EXE (KA2BQE) - simple program that reads the PASSWORD.MB file         MBPWD.EXE (KA2BQE)         MBPWD.EXE (KA2BQE)
  3097.          if  the  SYSOP  choses to have one and  displays  the  string  with
  3098.          positions  numbers  in tabular form for easy use by  Remote  Sysops
  3099.          when responding to R/Sys password prompts.
  3100.  
  3101.          MBGETQTH.EXE (KA2BQE) - this program will read the text of all  the         MBGETQTH.EXE (KA2BQE)         MBGETQTH.EXE (KA2BQE)
  3102.          messages  and extracts the call and QTH of each BBS that  forwarded
  3103.          mail into a file in the form of:
  3104.  
  3105.                           "call","qth of bbs"
  3106.  
  3107.          Output  will  need be processed as it will contain  many  dupes  of
  3108.          nearby BBSes that forward to you.
  3109.  
  3110.          MBGETFWD.EXE (KA2BQE) - this program also will read the text of the         MBGETFWD.EXE (KA2BQE)         MBGETFWD.EXE (KA2BQE)
  3111.          message  files and produce a file with call pairs in it  that  take
  3112.          the station that forwarded the message to you and make its call  he
  3113.          first of the pair and then write one pair for each BBS that handled
  3114.          the message on its way to you. These pairs indicate who you forward
  3115.          to  to  send mail to the second call in the pair. This  also  needs
  3116.          subsequent  processing  as dupes will be heavy. The result  can  be
  3117.          used to update the forwarding files.
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 50      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 50
  3139.  
  3140.  
  3141.  
  3142.         APPENDIX A
  3143.  
  3144.                       PRMBS Config Token Reference Table                      PRMBS Config Token Reference Table                      PRMBS Config Token Reference Table
  3145.  
  3146.          This  is  a list of the definitions of the '$' tokens used  in  the
  3147.       config  file  to reference system variables when doing  sysop  defined
  3148.       output strings:
  3149.  
  3150.          $A  : Message - @BBS field
  3151.          $B  : Message - type
  3152.          $C  : Message header - next available number
  3153.          $D  : System - Current date
  3154.          $E  : System - Name for that port (i.e. 145.07 MHz)
  3155.          $F  : System - sysop QTH
  3156.          $G  : Message - TO field
  3157.          $H  : skips CR/LF - so input type on line with prompt
  3158.          $I  : User - name
  3159.          $J  : Message - date entered this system
  3160.          $K  : Message - time entered this system
  3161.          $L  : Message header - highest numbered message on this system
  3162.          $M  : Message - number this message (zero filled 5 digits)
  3163.          $N  : Message header - number messages active on this system
  3164.          $O  : System - sysop call sign
  3165.          $P  : Message - FROM field
  3166.          $Q  : System - disk space available
  3167.          $R  : System - version number
  3168.          $S  : Message - forwarding priority
  3169.          $T  : System - current time
  3170.          $U  : User - call sign
  3171.          $V  : System - string ' *** '
  3172.          $W  : System - sysop's name
  3173.          $X  : User - most recent date of connect
  3174.          $Y  : User - most recent time of connect
  3175.          $Z  : User - highest message read
  3176.          $$  : System - ouput a '$'
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.       Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 51      Preliminary - 02/04/88 - PRMBS Documentation - Beta ver 0.98  Page - 51
  3203.  
  3204.  
  3205.            APPENDIX B
  3206.  
  3207.                    Preliminary Spec for Standard Smart BBS ID String                   Preliminary Spec for Standard Smart BBS ID String                   Preliminary Spec for Standard Smart BBS ID String
  3208.  
  3209.          From: WA7MBL
  3210.          To: KA2BQE
  3211.          cc: W0RLI
  3212.  
  3213.           We  have  agreed on using characters to indicate  features  rather
  3214.          than a numeric value.  I understand that W0RLI and supposedly  some
  3215.          of the other West Coast coders support the idea, and thought we had
  3216.          the following proposed ground rules:
  3217.  
  3218.         1 - The BBSid will be contained in brackets followed by a <C/R>.
  3219.  
  3220.         2 - The initial field(s) may be used to identify the coder, the
  3221.             version, and any other information the coder desires to add.
  3222.             These fields should be kept brief, and are optional.
  3223.  
  3224.         3 - The final field following the last '-' and preceeding the ']'
  3225.             is used to indicate available features.  A character (or
  3226.             character followed by a numeric value) is used indicate features
  3227.             as follows:
  3228.               '$' - BID (OK/NO) forwardin available
  3229.               'W' - WP Server
  3230.               'Y' - (WA7MBL requests this letter be reserved for YAPPmail)
  3231.  
  3232.             The final field is the only required field.  If NO features are
  3233.             available, the field may contain a single "0", thus [0] would be
  3234.             a valid BBSid (and is equivalent to sending no BBSid at all).
  3235.  
  3236.         4 - An optional (but encouraged) field may preceed the final field.
  3237.             If used it will indicate the amount of message space (in K) that
  3238.             is available.  The presence of this field is indicated by use of
  3239.             a final 'K'.
  3240.  
  3241.         Some examples:
  3242.  
  3243.           [XXX-1.3-10K-$]   Version 1.3 of the XXX BBS.  10K available for
  3244.                             messages.  BIDs supported.
  3245.  
  3246.           [MBL-$]           WA7MBL BBS  BID supported.
  3247.  
  3248.           [C64-8K-0]        A C64 BBS.  8K.  No features.
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.