IX. SEA'S ARC files IX.1 DeArcing Citadel-86 allows users to selectively deARC and download files from ARC-generated files if the Sysop so desires. There are several considerations for the Sysop to keep in mind as s/he decides whether or not to enable these commands, including a) DeARCing files takes valuable system time; b) DeARCing files takes space which the system may not have available; c) Damaged ARC files can sometimes hang a deARCing program; occasionally, they can even damage disk systems (it's happened to me!); d) This ability may be vulnerable to system crashers in unforeseen ways; e) ... Citadel-86 has implemented this ability by executing a deARCing program of the Sysop's choice on the file specified by the user. The files are deARCed into a temporary directory that Citadel-86 creates and deletes as needed. When deARCing and downloading is finished, Citadel-86 will delete all files that were deARCed, thus not taking up any permanent storage on the system. However, the Sysop must keep in mind that if there is not enough temporary storage available, the system could still be hung, depending on what the deARCing program does when it hits a disk out of space limit; further, Citadel-86 does not detect when a failure occurs (except for no files matching the deARC mask). To enable the command, create a normal DOS text file named DEARC.SYS in your #ROOMAREA directory. Citadel-86 expects that the contents of this file will be a single line that will name the program that you wish to use for deARCing. If the program is on your PATH, then you need not specify the path to the program. -27- Citadel-86 makes the assumption that your deARC program's final two arguments will be, respectively, the name of the file to be deARCed (including the path, if any) and the "mask" (i.e., "*.*", "*.doc", etc.). This is the standard format for SEA's ARC, and so I hope that it will remain more or less a standard. During testing, I have noted that pkxarc works just fine, as does unpack Unpack is Borland International's deARC program, which is being distributed with Turbo Pascal 4.0 and Turbo C 2.0. Oh, the Citadel commands to do this sort of thing? (Read the help files.) There is one. .Read Archive Binary-files This will prompt for the name of one ARC file (with or without the ARC extension), and then will prompt for the deARC mask. A Carriage Return for the deARC mask will result in "*.*". The system will then ask the user to wait for a moment, and then (attempt to) deARC the file using the mask. Once finished, it will send all files to the user via ASCII. If the user wishes to use a protocol, they may. For example, YMODEM BATCH could be used this way: .Read Ymodem Archive Binary-files Downloading files this way via YMODEM or XMODEM will be tracked by the Download time limits, if you are using them (or at least so I hope). 'T' and 'F' are synonyms for 'B' in the above. IX.2 ARC Integrity Checks Citadel-86 is also capable of integrity checks on newly uploaded ARC files. In order to enable this capability, the sysop must modify the DEARC.SYS file described in IX.1 by adding a second line. Much like deARCing files, the second line also specifies a command line to be used for performing a file integrity check. However, the sysop MUST specify a program which returns an ERRORLEVEL of 0 when the integrity check succeeds, and non-0 when the check fails, or this feature will fail. Fortunately, ARC V6 does precisely that, so if you choose to use ARC for file integrity checks, you shouldn't have a problem. So, as an example, to use ARC as the file integrity check utility, you'd simply have the line ARC t since 't' is the file test command. Do NOT* specify a BAT file as the file check utility! -28- The integrity check takes place after the upload has been completed. The name of the file is checked, and if the extension is .ARC, your Citadel-86 will, if enabled, ask the user if the upload should be checked. If the user agrees, the check is performed. If it succeeds, the user is prompted for a description. If it fails, the user is asked if the upload should be aborted. If the user assents, the file is deleted; if they wish to continue, they are then prompted for a description. The sysop should bear in mind that some flawed ARC files can cause their computer to hang during a file integrity check if they are using ARC V5. ARC V6's stability in this regard is not known by this author. X. PKWARE's ZIP files X.1 DeZIP Citadel-86 is also capable of handling the ZIP files generated by PKWARE's PKZIP utility. Procedures for handling ZIP files are nearly exactly the same as for SEA's ARC files, as are the warnings. In fact, the only difference is that you must create a new file named DEZIP.SYS, rather than DEARC.SYS, in your #ROOMAREA directory, containing the command to DeZip files. pkunzip -x seems to work just fine, if, of course, you have PKUNZIP.EXE available somewhere. X.2. ZIP Integrity Checks Again, as with SEA ARC files, you may optionally enable integrity checks on uploaded files by modifying DEZIP.SYS with a second line specifying the file check. PKUNZIP -t seems to work just fine. This check, if enabled, will be performed on files uploaded with a .ZIP extension.