ZLINK - SuperGroup Processor for WaZoo Mailers Version 1.31 March 19th, 1992 Copyright 1991-1992 by Real World Computer Systems written by Mikel Beck BACKGROUND: It is assumed that the user has a basic working knowledge of basic GroupMail concepts and it's workings, and also High Volume GroupMail procedures ( SEA Technical Memorandum #0304, High Volume GroupMail, also included in this archive ). Recently, I assumed the position of GroupMail Coordinator for Net 107, HUB 200. I was receiving incoming GroupMail from my uplink via STARLINK, and found it to be a much better process than regular delivery. What STARLINK does is this: The remote system requests the name of the SuperGroup archive. The local system runs STARLINK. STARLINK determines which GroupMail archives are required to be sent to the remote system, using the General Delivery files. STARLINK uses the SEAlink protocol to send all of the new GroupMail packets to the remote system, which is received as one large file. SEALINK does not actually create the one large archive, but sends each file individually through SEAlink, although it's received by the remote system as one large archive. This works great if you are running SEAdog. If a WaZoo session is established, and STARLINK is used, it will sit and wait for the remote system to recognize the SEAlink protocol. This will never happen, as WaZoo cannot handle a SEAlink session. So, basically what ZLINK does is almost the same thing as STARLINK, but with two major differences. ZLINK uses the DSZ variant of ZMODEM instead of SEAlink. Also, since Zmodem will notice that the file being received is not the same as the SuperGroup archive, it will receive each file as it's own file, and take the time to stop and log the filename and statistics of each file. So, ZLINK creates the archive before sending it, then deletes it after it is sent. This may take a few seconds longer than STARLINK, but it still is much faster than receiving each GroupMail packet individually. USAGE: ZLINK looks to the current directory for a file called ZLINK.CFG. To edit the ZLINK configuration file, type "ZLINK EDIT" from the DOS command line. A full-screen editor will be invoked, allowing you to make modifications to your ZLINK.CFG file. Packet Name This is the name of the SuperGroup archive to be sent to the remote system. I use "KDR_LINK" because my system is called "King Diamond's Realm", and this is the remote system's link to my system. Compression Command The is the compression program to be used to create the SuperGroup archive. In this case, I'm using ARC. The command string after the ARC command tells ARC to "A" to archive, "S"tore files instead of compressing ( which is very important, otherwise ARC will try to compress files that are already compressed ), and use ARC "5" compression. The "W" tells ARC NOT to wait if it encounters an error. DSZ Path This is the full DOS path to your DSZ.COM program. DSZ Command This is the DSZ command to send the file. Mailer Front Door passes the node number during a Service Request differently from BinkleyTerm. So, I have added the "MAILER" statement to make ZLINK configurable for different mailers. If you are using Front Door, use "1" for Front Door.. If you are using BinkleyTerm, use "2" Log This will log ZLINK's actions to either you Front Door or BinkleyTerm log. It will adapt itself to either Log format. This should be the full DOS path to your log file. Path to Alias File ZLINK will look for an "Alias" file, which contains an address, along with an "AKA" for that address. This is used for systems that have more than one address, and would usually pick up packets for their multiple addresses. Here is a sample Alias file: ; ; ZLINK 1.31 Configuration File ; ZLINK - Copyright 1991-1992 by Real World Computer Systems. ; 1:107/224 13:13/11 1:107/226 85:860/110 13:13/8 1:120/605 85:871/103 13:13/9 13:13/200 1:133/404 13:13/302 85:85/0 85:85/2 85:85/850 85:850/1 85:880/101 1:2604/306 85:862/105 13:13/102 Any line that begins with a semi-colon ( ";" ) is treated as a comment. The semi-colon must be the first character on the line. After the comments, the first entry contains "1:107/224 13:13/11". 1:107/227 is the primary address, which the remote system would be using to connect with. 13:13/11 is the AKA of the remote system. Each address must be listed using 3D statements, as in zone:net/node, or it will be not recognized. Up to 20 AKA's can be defined for any particular node. Primary Zone Primary Net Primary Node Primary Point This is your primary address. Communications Port This is the Communications port used by your mailer. ZLINK will send a "NULL" to the com port every so often during it's pre-processing, which will result in the remote system receiving a request for more time. I was using BinkleyTerm 2.40. In my OKFILE.TXT ( which is the file that defines which files are allowed to be File Requested, it's user-definable on a Front Door system ) I had a line that says: $KDR_LINK.* STAR.BAT %d %d The "$" tells Binkley that KDR_LINK is a function request. When a remote system requests "KDR_LINK" from my system via a GROUP ASK, Binkley will spawn out and run STAR.BAT, and pass the net and node number to the batch file. The STAR.BAT file looks like so: del kdr_link.* zlink %1 %2 del kdr_link.* exit This deletes any old KDR_LINK files that may be laying around, then runs ZLINK and gives it the net and node number of the remote system. ZLINK will create the KDR_LINK archive, and send it using the DSZ command. After it's completed, it will exit back to the mailer ( important, otherwise your system will be sitting in DOS after the function request ). With the release of Front Door 2.01, I happily switched mailers. So, in my ALIAS file for Front Door, I have a line that says: KDR_LINK.* >STAR.BAT kdr_link =A This tells Front Door that a File Request for KDR_LINK should be processed as a function request. The '=A' passes the node number of the remote system. For some reason, Front Door would not pass just the node number, so I added the 'kdr_link' to the command line for the function request, to make Front Door happy. It's not really necessary. My STAR.BAT file looks like so: del kdr_link.* zlink %2 del kdr_link.* exit This deletes any old KDR_LINK files that may be laying around, then runs ZLINK and gives it the net address of the remote system. ZLINK will create the KDR_LINK archive, and send it using the DSZ command. After it's completed, it will exit back to the mailer ( important, otherwise your system will be sitting in DOS after the function request ). REMARKS: I have been using ZLINK over the eight months or so, and am feeding GroupMail to a bunch of Front Door systems with no problems. One of the benefits of ZLINK is that D'Bridge systems will be able to participate in a GroupMail conference without his/her uplink having to force the GroupMail packets to their system using the Normal Delivery method. Since D'Bridge cannot generate an Update Request, it'll have to generate a normal File Request to send to his/her uplink. I have not tested this, but I am positive that it will work. If you have any problems with ZLINK, or have any suggestions for future versions, I can be contacted at the following addresses: Mikel Beck - King Diamond's Realm FIDOnet 1:107/218 FIDOnet 1:107/2001 AAFnet 13:13/0 AAFnet 13:13/1 Although ZLINK is public domain software, I would appreciate it if you use this utility, please send twenty-five U.S. dollars ( $25 ) to Real World Computer Systems. If you do register, you will receive updates directly from my system as they are released. Also, you will receive announcements of new ZLINK and/or Real World Computer Systems products as they are released. Real World Computer Systems 21 Eastwood Road Miller Place, New York, 11764 SOFTWARE LICENSE: No one may modify or patch the ZLINK executable files in any way, including but not limited to decompiling, disassembling, or otherwise reverse engineering the program. A limited license is granted to copy and distribute ZLINK for the use of others, subject to the above limitation, and also the following: ZLINK must be copied in unmodified form, complete with this file containing this license information. The full machine-readable ZLINK documentation must be included with each copy. No fee, change, or other compensation may be requested or accepted by anyone other that Real World Computer Systems, except as authorized below: Operators of electronic bulletin board systems ( SysOps ) may make ZLINK available for downloading only as long as the above conditions are met. An overall or time-dependent charge for the use of the bulletin board system is permitted as long as there is not a specific charge for the download of ZLINK. Non-profit user groups may distribute copies of the ZLINK files to their members, subject to the above conditions, without specific permission. Except as provided above, Real World Computer Systems disclaims all warranties, either express or implied, including, but not limited to implied warranties or mechantability and fitness for a particular purpose, with respect to the product. Should the program prove defective, the user assumes the risk of paying the entire cost of all necessary servicing, repair, or correction and any incidental or consequential damages. In no event will Real World Computer Systems be liable for any damages whatsoever ( including without limitation damages for loss of business profits, business interruption, loss of business information and the like ) arising out of the use or the inability to use this product even if Real World Computer Systems has been advised of the possibility of such damages. Use of this product for any period of time constitutes your acceptance of this agreement and subjects you to it's contents. TRADEMARKS/COPYRIGHTS: GROUP, SEALINK and ARC - System Enhancement Associates, Inc. DSZ - Omen Technologies, Inc. Thanks to Scott Raymond, Larry Warnat, Brett Hager, Joe Beiter, Fabian Gordon, Tom Kane, Paul Maner, Steve Lennemann and Kevin Watkins for help with the testing of ZLINK.