GIFtest CRC Info As requested by a number of people, here is a little file that exaplains the duplication checking process of GIFtest and some problems associated with it. GIFtest uses a public domain 32 bit CRC routine which is compatible with the CRC routine used by PKWARE in their PKZIP product and Robert Jung in his ARJ product. Assembler source code is freely available upon request to anyone who calls The Bard's Lair BBS as CRC-32.ZIP. GIFtest's way of duplication checking is extremely simple. Each time a GIF is tested, a CRC is computed and logged to a file (generally called GIFLOG). After the CRC is computed, GIFtest sequentially searches the text file for a matching CRC, if found the file is flagged as a duplicate in the log file and the appropriate errorlevel is returned. However, there are two major problems with this.. First, it would be easy for a user to download a rather large GIF from your system, use a program called GIFLITE to compress it (leaving it in GIF form for viewing) and reuploading it. GIFtest would not catch it as a duplicate because the file contents have changed. To combat this I have added detection of GIFLITE'd GIFs to GIFtest so that if you so desire, you can reject GIFs that have been GIFLITE'd. But GIFLITE is a wonderful product and can save you a LOT of hard drive space. So, in order to resolve this problem, I contacted the author of GIFLITE, Tsung Hu, and asked him to calculate a 32 bit CRC for the GIF and place it in the GIFLITE header of each GIF. I could then read that CRC from the GIF instead of calculating a new one which would be wrong and use it for duplication checking. His response was that he saw no need for it (obviously he isn't a sysop himself who constantly wages the duplication and hard drive space wars) and didn't want to waste time on doing it. I even offered to provide him with the CRC source code to make it easy for him. But no such luck. After arguing about it for a couple of weeks I did get him to promise to make the necessary change if enough sysops asked for it. So, if you are having a problem with duplicates on your BBS (remember, when the contents of a file change, so does the CRC so no program will catch it as a duplicate), I would either contact the author of GIFLITE via the Telemate Conference of RIME (he is also the author of Telemate), through one of his support BBS's (listed in his documentation), or via mail, and ask him to add that CRC to the header of GIFLITE'd GIFs. Second major problem, another author has come to the beck and call of sysops and released a fantastic program called GIF2JPG. This is like a PKZIP utility, only it's for GIFs. It compresses your GIFs by as much as 50%. However, you need to uncompress them in order to view them. While GIFtest does not yet check JPG files, the next version will (the author has graciously provided me with the file formats for both the public domain and his own private version of the JPG format). And once again, there is a duplication problem. A number of BBS's are accepting GIFs in both GIF and JPG format. Which means that a user can download a GIF, compress it to a JPG and reupload it. Of course you can combat this by only allowing one format of the other and not both, but that can be inconvenient most of the time. So once again, if you accept JPG files on your system, please contact the author of GIF2JPG and ask him to include a 32bit CRC in the header of JPG files for duplication checking purposes. Remember, there are several different ways of computing 32 bit CRC's, so it's very important that the authors use the method which is outlined by the PKWARE file format documentation. There is Assembler source code available for PowerBASIC, QuickBASIC, C, and Pascal which conforms to this method and it's all public domain. So adding a CRC is not a difficult thing to do. Tsung Hu author of GIFLITE can be contacted at: P.O. Box 938, Unit 105 St Catherine, Ontario L2R 624 Canada And as "Winfred Hu" at the following BBS's: User to User, Dallas Texas (214) 492-6565 PC-Connect, Ontario Canada (416) 733-9052 The authors of GIF2JPG may be contacted at: Handmade Software, Inc. 15951 Los Gatos Blvd., Suite 7 Los Gatos, CA 95032 (408) 356-4143 fax (408) 358-1292 voice uucp: apple!netcom!hsi internet: hsi@netcom.com compuserve: 71330,3136