EMACS_MODES: !lnumb !fill ------------------------------ BOILER PLATE ----------------------------------- Copyright(c) 1991 - Andrew Gaunt DISCLAIMER: These programs are provided as is. Without any warranty, express or implied. If you use them then you consent that the author is not responsible for whatever happens as a result of their use. They're strictly for hobbiest purposes. Have fun. --------------------------------- OVERVIEW ----------------------------------- These programs are allow WWIVnet SysOps to send/receive files through WWIVnet between their respective BBS's. They use the EXTERNAL.NET features of WWIVnet and there is no limit on file size, that I know of. Four programs are employed to provide a user interface and send/receive files. For sending, FMENU will search a prescribed list of directories and make a file available to the another program, FSEND. When a file is found, FMENU can invoke FSEND immediately or queue it for later processing. FRECV, the third program, extracts a received file from the EXTERNAL.NET file. FREMOTE is for processing file requests from remote systems. ____ __ _ | 0|___||. (_)uantum WWIVnet: 1@6300 1@5804 mv1m1c!quantum@attsb.att.com _| _| : : } ` Internet: awg@attsb.com -(O)-==-o\ 73's KA1YLG UUCP: ...att!attsb!awg ==Info=Rail== P.O. Box 132 Newton-Junction, NH 03859 (603)382-3966 USR HST WWIVnet node @6300, 24 hours ----------------------------- INSTALLATION ---------------------------------- There are four main programs: FMENU.EXE - The user interface Usage: fmenu ChainFile FSEND.EXE - The program create a p?.net file Usage: fsend ToNode FromNode MinorType FilePath DataDir MailTo N FRECV.EXE - To extract file from EXTERNAL.NET Usage: frecv MinorType Source Destination WorkArea FREMOTE.EXE - For sending files requested by another BBS Usage: fremote ChainFile Five batch files: The batch files are called by fmenu and fremote when it is necessary to send or receive a file. Working samples are provided; SysOps may be inclined to customise them for their own environments. Batch File When used ---------- --------- F_SEND.BAT Whenever a file is sent through FMENU or FREMOTE F_RECV.BAT Whenever a file is received via FMENU or FREMOTE F_DIR.BAT Directory of the workarea chosen in FMENU F_LNET.BAT The LNET option is chosen in FMENU F_FV.BAT Archive listing selected from FMENU Two Data Files: FMENU.MSG This is where the menu text for FMENU is stored. It can be easily modified with any text editor. Put this file in the GFILES directory. FMENU.CFG This file contains the configuration data specific to a particular BBS's environment. It's a plain ASCII text file and be changed with any ordinary test editor. Refer to the comments in this file for futher indstructions on how to tailor it to your BBS's environment. This file belongs in the main BBS directory. *Note* The EXTERNAL.NET file is created by the WWIVnet network programs when your BBS receives a file. It is _not_ a part of this archive. Put the four main programs and the five batch files in the main BBS directory. The two auxilliary programs, LSS.EXE and FV.COM can also be in the main directory if they're to be used. Review the configuration file provided and follow the instructions within it. There must be a file in your DATA directory named EXT_LIST.NET. If it doesn't exist, create it. In it put the minor types for files and requests as you have specified in your FMENU.CFG file. The minor types 6300 and 16300 will work, if you know what you're doing feel free to change them. If not, you may as well leave them as 6300 and 16300. Make sure the FMENU.MSG file is in the BBS's GFILES directory, where the other menu files are. Create a chain, use DOS interrupts, shrink out optional, Ansi optional. FMENU %1 That's it for the basic installation. this will allow you to send files to another BBS (if the other BBS has WWFNET installed too.) If you want to be able to send queued files or process remote file requests, then you'll need to do some more. When using FMENU, the user interface, and you don't want to send a file "immediately", you can answer 'N'o when fmenu asks to "Send file now ?". By answering 'N'o, you are creating a list of files queued to be sent later. Fmenu will append to two files in the work area. SENDQUE.BAT and QUE.DAT. These files contain similar information about each file queued. SENDQUE.BAT is a simple batch file that can be run from the BBS's nightly event. When it is executed, the files will be sent. See the sample NIGHTLY.BAT below. QUE.DAT contains data about files queued and can be read by another program, should someone desire to write one. The format is: Full_Pathname_for_FileUser_numberNodeTime_Stamp From the source: printf("%s%s\t%5s\t%5d\t%lu\n",dirlist[i],filename,usernum,node,T); Another feature is remote file requesting. With this, a SysOp (or user) of one BBS can send a "file request" to another BBS. e.g. If one SysOp knows about a specific file on another BBS, and would like to have it sent to her BBS. She can use the [G]et file menu option to send a request to the other BBS. If this other BBS has the WWFNET fully installed, it will receive the request, process it and send the file (if it finds it) to the requesting BBS. Both BBS's must have WWFNET installed and their respective node numbers must be in each others FMENU.CFG file. Requests can be sent immediately, however, the nightly event is when the file requests are processed and sent to the requesting system. Your WWIV BBS docs should explain how a nightly event is run, I presume that you can figure this out if you don't already have one. If not, feel free to ask me for further clarification. ---------------------------------------------------------------------------- Two additional programs are included with this archive, LSS.EXE and FV.COM. LSS provides a concise listing of a directory's files. It is called by the F_DIR.BAT batch. If you prefer a MSDOS syle of file list, change the LSS in F_DIR.BAT to DIR. FV shows the contents of several types of archives, like ZIP, ZOO, ARC etc., it is called by F_FV.BAT. LSS.EXE and FV.COM are provided by different authors. The author of LSS.EXE is unknown to me. FV was written by Vernon D. Buerg, the same guy who wrote the famous LIST utility. ---------------------------------------------------------------------------- REM Sample F_RECV.BAT ECHO OFF REM Make the previous line @ECHO OFF if you're running DOS 3.3 or higher IF EXIST %2 GOTO RCV ECHO Nothing to receive EXIT :RCV REM This will make backup copy of your external.net, if you don't want REM one then put a REM in front of it. COPY %2 EXTERNAL.BAK FRECV %1 %2 %3 %4 %5 %6 %7 %8 REM FRECV doesn't modify the original external.net. The one in the temp REM directory will have any other messages, those that are not files to REM be extracted in it. REM REM The next line removes the original EXTERNAL.NET IF EXIST %2 DEL %2 REM Check to see if there's a new EXTERNAL.NET. If true, copy it REM to where the original one was. then delete the new one. IF EXIST %3 COPY %3 %2 DEL %3 EXIT Comments on above: FRECV reads the external.net file, and creates new copy of it in the temp directory. The new copy should no longer have the messages with matching minor type it, however, messages with other minor types should be left intact. FRECV does not copy the new EXTERNAL.NET over the original EXTERNAL.NET. This is done in the F_RECV.BAT. ** Caveat If two files of the same name are sent, they will be extracted into the same file. They may still be salvagable though. The files received are always appended to. -[NIGHTLY.BAT]----------------------------------------------------------------- REM Sample Batch File for NIGHTLY event REM REM Send any files queued during the day IF EXIST C:\WWIV\DLOADS\WWFNET\SENDQUE.BAT COMMAND /C C:\WWIV\DLOADS\WWFNET\SENDQUE.BAT DEL C:\WWIV\DLOADS\WWFNET\SENDQUE.BAT DEL C:\WWIV\DLOADS\WWFNET\QUE.DAT REM REM Process and remote requests from other BBS's FREMOTE CHAIN.TXT Comments on above: You'll need to specify your own BBS's pathnames. I hope the example above will give you enough clues as to what paths you'll need to put where. But just in case, here's some brief explanations: C:\WWIV\DLOADS\FILE2NET <- This is the Work Area I've specified in FMENU.CFG Notice that's its in the DLOADS area, it is also one of the BBS's transfer areas. C:\WWIV\DLOADS\FILE2NET\SENDQUE.BAT <- This batch file is created by FMENU when someone answers 'N'o to the "Send file now ?" question. C:\WWIV\DLOADS\FILE2NET\QUE.DAT <- This data file is also created by FMENU when someone answers 'N'o to the "Send file now ?" question. FREMOTE is a program that will invoke F_RECV.BAT to receive files sent with the remote minor_type specified in FMENU.CFG. It will then look for file requests sent from each node specified in FMENU.CFG. For example, if my BBS (@6300) sends a request, and my node number is in your FMENU.CFG, FREMOTE will receive and look for a file named 6300.req. It will read this file (that contains the name of the file requested) and look for the requested file. If it finds the file, it will use F_SEND.BAT to send it to my BBS. FREMOTE will not send any files if no requests have come in from other BBS's. Request files can be created manually for FREMOTE to process. The format of a request file is: XXXXFILENAME.EXT XXXXFILENAME.EXT .... .... .... XXXXFILENAME.EXT Where XXXX is the node number to send a file to, is an actual tab character, and FILENAME.EXT is the file to send; not a full pathname, FREMOTE will search the directories specified in FMENU.CFG. The request file must be named "XXXX.REQ" where XXXX is the requesting node number. FREMOTE will look for any request files sent from all the nodes in the node list specified in FMENU.CFG. Note that the XXXX in the filename is usually the same number as the XXXX within the request file. ******************************SAMPLE FILES********************************* --[F_SEND.BAT]--------------------------------------------------------------- FSEND %1 %2 %3 %4 %5 %6 %7 --[F_FV.BAT]----------------------------------------------------------------- FV %1 --[F_DIR.BAT]---------------------------------------------------------------- LSS %1 %2 --[FMENU.MSG]---------------------------------------------------------------- `00 1. [S]end a file 2. [R]eceive a file 3. [F]ile list 4. [D]elete a file 5. [Q]ueued files 6. [L]net a file 7. [A]rchive listing 8. [V]iew filenames 9. [N]ode list 0. [G]et a file from another BBS [E]xit this program `01 o [E]xit returns you to the BBS. o [S]ending a file to send a file to another WWIVnet BBS. The destination BBS must be able to receive the file, otherwise it will be for not. o [R]eceive a file will check this BBS for any files that may have been sent to it. If it finds any waiting to be extracted, it will extract them. o [F]ile list shows what files are in the work area. * [D]elete can be used to delete a specific file in the work area. o [Q]ueue shows a list of files that are queued to be sent in the future. * [L]net can be used to examine a WWIVnet packet file o [A]rchive listing shows the contents of an archive in work area o [V]iew shows a list of all files that may be sent. o [N]odes list shows what other BBS's files can be sent to. o [G]et a file, request a file from another BBS. Pressing 'P' will pause output and will abort a process. * denotes restricted commands `09 Welcome - this is the introduction, you can put whatever you like here. `99 ---------------------------------------------------------------------------- That's it. I hope these instructions are clear enough. If you have any questions, feel free to email me. These executables may shared among WWIV SysOps freely. Please distribute the entire archive to as many other SysOps as you can. If you use it please contribute a few dollars. I'm only asking a measly $10, to help buy pizza, beer, and software utilities. If you contribute, I'll send you email notifying you of any updates etc. If you have authored shareware program, perhaps we can trade. If you decide to contribute, please send the following for my records: I'm not asking for this information for any other reason other than to be able to notify you of new stuff. I'm not a beaurucrat type, and generally mind my own business. I'm not very greedy either, so if you too poor to contribute, I'll still talk to you and answer questions. Name:_____________________________________________ Mailing address: _________________________________ _________________________________ _________________________________ _________________________________ WWIVnet address:_________________________________ BBS's name:_______________________________________ My mailing address is: Andrew Gaunt P.O. Box 13 Newton-Junction, NH 03859-0013 ---------------------------------------------------------------------------- Acknowledgements to Beta Test Sites: Malbee, #1@6301 ==Salem=Station== (New Hampshire) Virus, #1@9813 Paradise City [MoD] (New Jersy)