home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
rbbs
/
bipatch.lzh
/
BIPATCH.DOC
< prev
next >
Wrap
Text File
|
1989-09-26
|
15KB
|
242 lines
BIPATCH.DOC
-------------
Copyright (c) 1989, Julie M. Covington
STARWEST-bbs co-sysop
(509)758-6248 (300-1200-2400-bps 8-N-1 First-time access)
(509)758-6245 (Voice)
525 15th Street
Clarkston, Washington, 99403
I, the author, place this archive and its contents into the
public-domain, to be freely used, copied, modified, or compiled.
Distribution under the name BIPATCH should be in un-modified form via
electronic computer bulletin-boards or computer user groups for no
extra charge with the exception of a nominal media/duplication fee.
It cannot be sold outright, or combined with other items in a package
for sale without the expressed permission of above specified author.
Monetary donations to the above address will go towards future up-
grades, support, and new items.
I, the author, assume no responsibility for the effects or side-
effects of using, copying, modifying, compiling or distributing this
archive and its contents.
In short, use it, pass it around, customize it, have fun.
WHAT BIPATCH.EXE ACCOMPLISHES
-------------------------------
BIPATCH.EXE in conjunction with some tiny DOS batch-files allows
Bimodem (the simultaneous Upload/Download/Chat) file-transfer proto-
col to interface into the RBBS-PC Bulletin-Board-System environment.
Bimodem batch file transfers similar to Zmodem and other modern
protocols will work without bypassing security-level, time-remaining
and other status-checking RBBS-PC performs when processing a batch
file-transfer request. It is not necessary to run Bimodem on RBBS-PC
from a 'door'.
THE PROBLEM WITH BIMODEM
--------------------------
Bimodem file-transfer protocol is rather fun and interesting to
use. It is a little faster than Zmodem for large transfers. Bimodem
seems to be a protocol well suited for computer-to-computer transfers
rather than computer-to-BBS transfers. The reason is Bimodem allows a
caller to make up a list of files to transfer before connecting to
the computer which will serve them up. This allows for wholesale file
transfers without the serving computer's control of the session.
Bimodem uses a file called BIPATH to contain the callers requests. It
need only be present on the callers end. When the Bimodem link is
established BIPATH controls which files are sent.
However, if BIPATH is not specified when configuring Bimodem for
the BBS end, this ability for the caller to directly control which
files are sent from a BBS is eliminated, and bbs security can be
maintained. Eliminating BIPATH forces the sending computer (the BBS
end) to specify which files are to be sent. This is normally how a
BBS-compatible file-transfer protocol works.
Here comes the problem however. In the absence of BIPATH, Bimodem
will only allow a batch file-transfer if the filenames are strung out
on the DOS command line, separated by spaces. RBBS-PC does not work
that way for batch-transfers. For a single-file transfer RBBS-PC
presents the file-transfer protocol with the name of the file to send
on the DOS command-line which invokes the protocol driver, but not in
batch-transfer mode (several files to send). Instead RBBS-PC creates
a file which contains the names of the files to send. It is usually
called NODE1WRK. RBBS-PC then gives the file-transfer protocol this
name as the file to send, prefixed with an @ symbol.
@C:\RBBS\NODE1WRK would be an example.
The @ symbol is the modern standard developed to tell a file-
transfer protocol that it should not send this file it has been
given, but open it and send the files which are listed inside. Zmodem
and most modern protocols work this way, but not Bimodem. Darn...
BIPATCH.EXE TO THE RESCUE
---------------------------
BIPATCH in conjunction with some small DOS batch files, solves
the Bimodem problem of using only BIPATH or command-line specifica-
tions for multiple file transfers (batch transfers). BIPATCH.EXE will
take the command line RBBS-PC puts out and parse it. If BIPATCH finds
no @ symbol the command line will be passed intact to a DOS batch
file which will run Bimodem. However if BIPATCH does find an @ symbol
in the RBBS-PC command-line (the format of which is set up in RBBS-
PC's PROTO.DEF file) it will know that a batch-transfer is requested.
BIPATCH, seeing this batch request symbol (@) will open the file
created by RBBS-PC which contains all the filenames to be sent in the
batch-transfer. BIPATCH will then create a DOS batch file containing
a Bimodem command line with these filenames strung out on it separat-
ed by spaces.
BIPATCH and its three tiny associated DOS batch files are added
to the RBBS-PC subdirectory, along with BIMODEM.EXE and BICONFIG.EXE.
PROTO.DEF has a line added to install Bimodem as an RBBS-PC available
protocol, and BICONFIG.EXE is run to adjust BIMODEM.EXE's to a BBS
environment. That is all there is to it.
SETTING IT UP
---------------
Un-zip the Bimodem archive. We used bimod112.zip. Copy
BIMODEM.COM and BICONFIG.COM into your default RBBS-PC directory
(C:\RBBS or whatever you use). These are the * ONLY * two Bimodem
files to copy in. Now copy into the same RBBS-PC subdirectory files
contained in this BIPATCH.ZIP archive. These files should be: BI-
PATCH.EXE, BIUP.BAT, BIDN.BAT, BIFIX.BAT, and BIMODEM.CFG.
The BIMODEM.CFG file is created when you run BICONFIG.EXE. We
include ours to simplify installation. You will need to run
BICONFIG.EXE now to change the name of subdirectory for uploading.
You should enter the full drive,path, and filename where your RBBS-PC
uploads from users go. BE CAREFUL not to enter any drive\path\file-
names for the questions, found in BICONFIG's 'Filenames and Paths'
section, which are currently left blank. These questions include:
'Directory that aborted files will be renamed into', 'Path of file
listing directories that determine rejections', 'Directory that files
will be sent from. This can point to a file that contains a C/R L/F
delimited list of directories to be searched', and 'Path to
UpLoad/Download list file'. Those should be left blank.
Also, if using BICONFIG 'GENERAL' menu option, WATCHOUT for some
of these settings, like: 'Allow current directory access' and 'Do Not
allow source deletion'. When done using BICONFIG.EXE, be sure to use
the menu option 'Write Setup to Disk' which will save your changes.
Now we must install two new lines into RBBS-PC's PROTO.DEF file.
They are:
"M) Bimodem-batch (Eriklabs)
",0,S,8,,B,2030,,0.95,,1=E,"C:\RBBS\BIUP.BAT BIMODEM.COM /B [BAUD] /U
[FILE]","C:\RBBS\BIDN.BAT BIMODEM.COM /B [BAUD] /D [FILE]"
You may need to change the 'C:\RBBS\' part of the two path names
for the .bat files in the above PROTO.DEF line to the path name you
use. Also the 'M' on the first line is the protocol selection charac-
ter which you may also want to change to suit. Also notice that there
are only two lines, the second one is wrapping around on this print-
out, and appears as two.
HOW IT WORKS
--------------
When RBBS-PC sends a file to a caller using Bimodem, it shells to
a new DOS command processor and runs BIUP.BAT which it found in
PROTO.DEF. It also sends the command-line parameters it found in
PROTO.DEF. The first program to run from BIUP.BAT is BIPATCH.EXE. It
takes those command-line parameters and decides if it is a batch
transfer occuring. If not a batch transfer, BIPATCH creates BIFIX.BAT
which then calls BIMODEM.COM with the original command line intact.
However, if a batch-transfer is occuring BIPATCH.EXE will break down
RBBS-PC's NODE1WRK file and put those filenames on the command line
in BIFIX.BAT.
In either case, the newly created BIFIX.BAT will be the next
program to run from BIUP.BAT, and it will then run BIMODEM.COM and
the caller-BBS Bimodem link-up should be going! After the transfer,
BIMODEM.COM ends, it outputs its logfile which RBBS-PC uses to deter-
mine if a good transfer occured, and then RBBS-PC starts back up.
A WORD ABOUT UPLOADS
----------------------
When RBBS-PC is sending a file to a caller, that caller is DOWN-
LOADING from the BBS, and the BBS is UPLOADING to that user. Convers-
ly, when a caller is sending a file to a bbs, that caller is UPLOAD-
ING to the BBS, and the BBS is downloading it from the user.
So far we have delt with the BBS sending a file (or group of
them) to the caller. However RBBS-PC can not take a batch of files
sent to it from the caller. The caller must upload them one-at-a-
time, and our new BIMODEM setup here takes that into account, and
does not allow batch UPLOADS from the caller.
LIMITATIONS
-------------
The 'best' way to do this would be to talk the BIMODEM people
into supporting the @ batch switch character. Then all this wouldn't
have been necessary. There is a limitation on the number of files
that can be transfered in one batch. This is due to the fact that all
the files to be transfered in one batch must be specified on the
BIMODEM command-line with their full path names, and command lines
can only hold so many characters. This usually works out to between 5
and 10 files in a batch, but it is better than one at a time. If
Bimodem does not change to the @ switch, another way around this
would for BIPATCH to create a BIPATH file which Bimodem would use to
find the files to transfer. A batch could have a VERY large number of
files to transfer then. Also this utility BIPATCH currently is for
single-node RBBS-PC systems only. I only run a single node, so test-
ing for me would be difficult. However if there is an interest in
this utility, those changes could be made. The Turbo-Basic 1.1 source
code is included. It is short, and heavily commented for BBS opera-
tors who want to extend or change BIPATCH.EXE's operation.
THE TERMINAL END
------------------
Qmodem 4.0 communications software was used in testing this
Bimodem lashup. There are two short .bat files to plug into Qmodem's
subdirectory, along with BIMODEM.COM and BICONFIG.COM from the BIMO-
DEM archive, and BIMODEM.CFG from this archive. Once created there
with an editor, you must run Qmodem and use the <ALT>N keystroke
sequence to get the configuration screen up. Once there select the
'Protocols' option and enter the names of the two .bat files you
created. The Qmodem download batch-file should be named BDN.BAT and
contain:
@echo off
BIMODEM /B %1
And the Qmodem upload batch-file should be named BUP.BAT and
should contain:
@echo off
BIMODEM /B %1 /U %3
So now you have made BUP.BAT, BDN.BAT, copied BIMODEM.COM, BICON-
FIG.COM, BIMODEM.CFG into your Qmodem subdirectory. Added the BUP.BAT
and BDN.BAT names into Qmodem's protocol section. You now need to run
BICONFIG, and under the 'Filenames and Paths' option, set all ques-
tions for drive\path names to point to your Qmodem download directo-
ry. C:\COMM\DN\ would be an example.
Now give it a try!
WHEN TROUBLE OCCURS
---------------------
Re-reading these docs, reading the BIPATCH.BAS source-code com-
ments, reading the RBBS-PC manual and the BIMODEM documentation are
good places to start. Also you can make sure your terminal end of the
linkup is working by calling another board running BIMODEM. Here at
STARWEST-bbw we have first-time full-access and are running BIMODEM.
Our number is (509)758-6248 300-1200-2400 8-N-1 24hr. You can test
your terminal Bimodem setup by calling us, and we might be able to
help with your RBBS-PC Bimodem setup too. As well as other RBBS-PC
related problems. J. James is your STARWEST-bbs sysop.