home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / rbbs / bipatch.lzh / BIPATCH.DOC < prev    next >
Text File  |  1989-09-26  |  15KB  |  242 lines

  1.                                        BIPATCH.DOC
  2.                                       -------------
  3.         
  4.         Copyright (c) 1989, Julie M. Covington
  5.         
  6.             STARWEST-bbs co-sysop
  7.             (509)758-6248 (300-1200-2400-bps 8-N-1 First-time access)
  8.             (509)758-6245 (Voice)
  9.             525 15th Street
  10.             Clarkston, Washington, 99403
  11.         
  12.             I,  the  author,  place this archive and its  contents  into  the 
  13.         public-domain,  to  be freely used, copied,  modified,  or  compiled. 
  14.         Distribution under the name BIPATCH should be in un-modified form via 
  15.         electronic  computer bulletin-boards or computer user groups  for  no 
  16.         extra  charge with the exception of a nominal media/duplication  fee. 
  17.         It cannot be sold outright, or combined with other items in a package 
  18.         for sale without the expressed permission of above specified  author. 
  19.         Monetary  donations to the above address will go towards  future  up-
  20.         grades, support, and new items.
  21.         
  22.             I, the author, assume no responsibility for the effects or  side-
  23.         effects of using, copying, modifying, compiling or distributing  this 
  24.         archive and its contents.
  25.         
  26.             In  short, use it, pass it around, customize it, have  fun.
  27.         
  28.         
  29.                            WHAT BIPATCH.EXE ACCOMPLISHES
  30.                           -------------------------------
  31.         
  32.             BIPATCH.EXE in conjunction with some tiny DOS batch-files  allows 
  33.         Bimodem (the simultaneous Upload/Download/Chat) file-transfer  proto-
  34.         col to interface into the RBBS-PC Bulletin-Board-System  environment. 
  35.         Bimodem  batch  file  transfers similar to Zmodem  and  other  modern 
  36.         protocols will work without bypassing security-level,  time-remaining 
  37.         and  other status-checking RBBS-PC performs when processing  a  batch 
  38.         file-transfer request. It is not necessary to run Bimodem on  RBBS-PC 
  39.         from a 'door'.
  40.         
  41.                              THE PROBLEM WITH BIMODEM
  42.                             --------------------------
  43.         
  44.             Bimodem  file-transfer protocol is rather fun and interesting  to 
  45.         use.  It is a little faster than Zmodem for large transfers.  Bimodem 
  46.         seems to be a protocol well suited for computer-to-computer transfers 
  47.         rather than computer-to-BBS transfers. The reason is Bimodem allows a 
  48.         caller  to make up a list of files to transfer before  connecting  to 
  49.         the computer which will serve them up. This allows for wholesale file 
  50.         transfers  without  the serving computer's control  of  the  session. 
  51.         Bimodem uses a file called BIPATH to contain the callers requests. It 
  52.         need  only  be present on the callers end. When the Bimodem  link  is 
  53.         established BIPATH controls which files are sent.
  54.             However, if BIPATH is not specified when configuring Bimodem  for 
  55.         the  BBS end, this ability for the caller to directly  control  which 
  56.         files  are  sent from a BBS is eliminated, and bbs  security  can  be 
  57.         maintained.  Eliminating BIPATH forces the sending computer (the  BBS 
  58.         end)  to specify which files are to be sent. This is normally  how  a 
  59.         BBS-compatible file-transfer protocol works.
  60.  
  61.  
  62.  
  63.             Here comes the problem however. In the absence of BIPATH, Bimodem 
  64.         will only allow a batch file-transfer if the filenames are strung out 
  65.         on  the DOS command line, separated by spaces. RBBS-PC does not  work 
  66.         that  way  for batch-transfers. For a  single-file  transfer  RBBS-PC 
  67.         presents the file-transfer protocol with the name of the file to send 
  68.         on the DOS command-line which invokes the protocol driver, but not in 
  69.         batch-transfer mode (several files to send). Instead RBBS-PC  creates 
  70.         a  file which contains the names of the files to send. It is  usually 
  71.         called  NODE1WRK. RBBS-PC then gives the file-transfer protocol  this 
  72.         name   as   the   file  to  send,  prefixed   with   an   @   symbol. 
  73.         @C:\RBBS\NODE1WRK would be an example.
  74.             The  @  symbol is the modern standard developed to tell  a  file-
  75.         transfer  protocol  that  it should not send this file  it  has  been 
  76.         given, but open it and send the files which are listed inside. Zmodem 
  77.         and most modern protocols work this way, but not Bimodem. Darn...
  78.         
  79.                            BIPATCH.EXE TO THE RESCUE
  80.                           ---------------------------
  81.         
  82.             BIPATCH  in conjunction with some small DOS batch  files,  solves 
  83.         the  Bimodem problem of using only BIPATH or command-line  specifica-
  84.         tions for multiple file transfers (batch transfers). BIPATCH.EXE will 
  85.         take the command line RBBS-PC puts out and parse it. If BIPATCH finds 
  86.         no  @  symbol the command line will be passed intact to a  DOS  batch 
  87.         file which will run Bimodem. However if BIPATCH does find an @ symbol 
  88.         in  the RBBS-PC command-line (the format of which is set up in  RBBS-
  89.         PC's PROTO.DEF file) it will know that a batch-transfer is requested.
  90.             BIPATCH, seeing this batch request symbol (@) will open the  file 
  91.         created by RBBS-PC which contains all the filenames to be sent in the 
  92.         batch-transfer. BIPATCH will then create a DOS batch file  containing 
  93.         a Bimodem command line with these filenames strung out on it separat-
  94.         ed by spaces.
  95.             BIPATCH  and its three tiny associated DOS batch files are  added 
  96.         to the RBBS-PC subdirectory, along with BIMODEM.EXE and BICONFIG.EXE. 
  97.         PROTO.DEF has a line added to install Bimodem as an RBBS-PC available 
  98.         protocol,  and BICONFIG.EXE is run to adjust BIMODEM.EXE's to  a  BBS 
  99.         environment. That is all there is to it.
  100.         
  101.                                 SETTING IT UP
  102.                                ---------------
  103.         
  104.             Un-zip   the   Bimodem  archive.  We  used   bimod112.zip.   Copy 
  105.         BIMODEM.COM  and  BICONFIG.COM into your  default  RBBS-PC  directory 
  106.         (C:\RBBS  or  whatever you use). These are the * ONLY *  two  Bimodem 
  107.         files  to copy in. Now copy into the same RBBS-PC subdirectory  files 
  108.         contained  in  this BIPATCH.ZIP archive. These files should  be:  BI-
  109.         PATCH.EXE, BIUP.BAT, BIDN.BAT, BIFIX.BAT, and BIMODEM.CFG.
  110.             The  BIMODEM.CFG  file is created when you run  BICONFIG.EXE.  We 
  111.         include  ours  to  simplify  installation.  You  will  need  to   run 
  112.         BICONFIG.EXE  now to change the name of subdirectory  for  uploading. 
  113.         You should enter the full drive,path, and filename where your RBBS-PC 
  114.         uploads  from users go. BE CAREFUL not to enter any  drive\path\file-
  115.         names  for the questions, found in BICONFIG's 'Filenames  and  Paths' 
  116.         section,  which  are currently left blank. These  questions  include: 
  117.         'Directory  that aborted files will be renamed into', 'Path  of  file 
  118.         listing directories that determine rejections', 'Directory that files 
  119.         will  be sent from. This can point to a file that contains a C/R  L/F 
  120.         delimited  list  of  directories  to  be  searched',  and  'Path   to 
  121.         UpLoad/Download list file'. Those should be left blank.
  122.  
  123.  
  124.  
  125.             Also, if using BICONFIG 'GENERAL' menu option, WATCHOUT for  some 
  126.         of these settings, like: 'Allow current directory access' and 'Do Not 
  127.         allow source deletion'. When done using BICONFIG.EXE, be sure to  use 
  128.         the menu option 'Write Setup to Disk' which will save your changes.
  129.             Now we must install two new lines into RBBS-PC's PROTO.DEF  file. 
  130.         They are:
  131.         
  132.         "M) Bimodem-batch    (Eriklabs)
  133.         ",0,S,8,,B,2030,,0.95,,1=E,"C:\RBBS\BIUP.BAT BIMODEM.COM /B [BAUD] /U
  134.          [FILE]","C:\RBBS\BIDN.BAT BIMODEM.COM /B [BAUD] /D [FILE]"
  135.         
  136.             You may need to change the 'C:\RBBS\' part of the two path  names 
  137.         for  the .bat files in the above PROTO.DEF line to the path name  you 
  138.         use. Also the 'M' on the first line is the protocol selection charac-
  139.         ter which you may also want to change to suit. Also notice that there 
  140.         are only two lines, the second one is wrapping around on this  print-
  141.         out, and appears as two.
  142.         
  143.                                  HOW IT WORKS
  144.                                 --------------
  145.         
  146.             When RBBS-PC sends a file to a caller using Bimodem, it shells to 
  147.         a  new  DOS  command processor and runs BIUP.BAT which  it  found  in 
  148.         PROTO.DEF.  It  also sends the command-line parameters  it  found  in 
  149.         PROTO.DEF. The first program to run from BIUP.BAT is BIPATCH.EXE.  It 
  150.         takes  those  command-line parameters and decides if it  is  a  batch 
  151.         transfer occuring. If not a batch transfer, BIPATCH creates BIFIX.BAT 
  152.         which  then calls BIMODEM.COM with the original command line  intact. 
  153.         However, if a batch-transfer is occuring BIPATCH.EXE will break  down 
  154.         RBBS-PC's  NODE1WRK file and put those filenames on the command  line 
  155.         in BIFIX.BAT.
  156.             In  either  case, the newly created BIFIX.BAT will  be  the  next 
  157.         program  to run from BIUP.BAT, and it will then run  BIMODEM.COM  and 
  158.         the  caller-BBS Bimodem link-up should be going! After the  transfer, 
  159.         BIMODEM.COM ends, it outputs its logfile which RBBS-PC uses to deter-
  160.         mine if a good transfer occured, and then RBBS-PC starts back up.
  161.         
  162.                                A WORD ABOUT UPLOADS
  163.                               ----------------------
  164.         
  165.             When RBBS-PC is sending a file to a caller, that caller is  DOWN-
  166.         LOADING from the BBS, and the BBS is UPLOADING to that user. Convers-
  167.         ly, when a caller is sending a file to a bbs, that caller is  UPLOAD-
  168.         ING to the BBS, and the BBS is downloading it from the user.
  169.             So  far  we have delt with the BBS sending a file  (or  group  of 
  170.         them)  to the caller. However RBBS-PC can not take a batch  of  files 
  171.         sent  to  it from the caller. The caller must upload  them  one-at-a-
  172.         time,  and  our new BIMODEM setup here takes that into  account,  and 
  173.         does not allow batch UPLOADS from the caller.
  174.         
  175.                                     LIMITATIONS
  176.                                    -------------
  177.         
  178.             The  'best'  way to do this would be to talk the  BIMODEM  people 
  179.         into supporting the @ batch switch character. Then all this  wouldn't 
  180.         have  been  necessary. There is a limitation on the number  of  files 
  181.         that can be transfered in one batch. This is due to the fact that all 
  182.         the  files  to be transfered in one batch must be  specified  on  the 
  183.         BIMODEM  command-line with their full path names, and  command  lines 
  184.  
  185.  
  186.  
  187.         can only hold so many characters. This usually works out to between 5 
  188.         and  10  files in a batch, but it is better than one at  a  time.  If 
  189.         Bimodem  does  not change to the @ switch, another  way  around  this 
  190.         would for BIPATCH to create a BIPATH file which Bimodem would use  to 
  191.         find the files to transfer. A batch could have a VERY large number of 
  192.         files  to transfer then. Also this utility BIPATCH currently  is  for 
  193.         single-node RBBS-PC systems only. I only run a single node, so  test-
  194.         ing  for  me would be difficult. However if there is an  interest  in 
  195.         this utility, those changes could be made. The Turbo-Basic 1.1 source 
  196.         code  is included. It is short, and heavily commented for BBS  opera-
  197.         tors who want to extend or change BIPATCH.EXE's operation.
  198.         
  199.                                    THE TERMINAL END
  200.                                   ------------------
  201.         
  202.             Qmodem  4.0  communications  software was used  in  testing  this 
  203.         Bimodem lashup. There are two short .bat files to plug into  Qmodem's 
  204.         subdirectory, along with BIMODEM.COM and BICONFIG.COM from the  BIMO-
  205.         DEM  archive, and BIMODEM.CFG from this archive. Once  created  there 
  206.         with  an  editor, you must run Qmodem and use  the  <ALT>N  keystroke 
  207.         sequence  to get the configuration screen up. Once there  select  the 
  208.         'Protocols'  option  and enter the names of the two  .bat  files  you 
  209.         created.  The Qmodem download batch-file should be named BDN.BAT  and 
  210.         contain:
  211.          
  212.         @echo off
  213.         BIMODEM /B %1
  214.         
  215.             And  the  Qmodem upload batch-file should be  named  BUP.BAT  and 
  216.         should contain:
  217.         
  218.         @echo off
  219.         BIMODEM /B %1 /U %3
  220.         
  221.             So now you have made BUP.BAT, BDN.BAT, copied BIMODEM.COM, BICON-
  222.         FIG.COM, BIMODEM.CFG into your Qmodem subdirectory. Added the BUP.BAT 
  223.         and BDN.BAT names into Qmodem's protocol section. You now need to run 
  224.         BICONFIG,  and under the 'Filenames and Paths' option, set all  ques-
  225.         tions for drive\path names to point to your Qmodem download  directo-
  226.         ry. C:\COMM\DN\ would be an example.
  227.             Now give it a try!
  228.         
  229.                                WHEN TROUBLE OCCURS
  230.                               ---------------------
  231.         
  232.             Re-reading  these docs, reading the BIPATCH.BAS source-code  com-
  233.         ments,  reading the RBBS-PC manual and the BIMODEM documentation  are 
  234.         good places to start. Also you can make sure your terminal end of the 
  235.         linkup  is working by calling another board running BIMODEM. Here  at 
  236.         STARWEST-bbw we have first-time full-access and are running  BIMODEM. 
  237.         Our  number is (509)758-6248 300-1200-2400 8-N-1 24hr. You  can  test 
  238.         your  terminal Bimodem setup by calling us, and we might be  able  to 
  239.         help  with your RBBS-PC Bimodem setup too. As well as  other  RBBS-PC 
  240.         related problems. J. James is your STARWEST-bbs sysop.
  241.  
  242.