Short: (v1.04) SMART mass decoder of USENET binaries Author: dwhiting@europa.com (Dick Whiting) Uploader: dwhiting europa com (Dick Whiting) Type: comm/news Version: V1.04 Minor fix Replaces: comm/news/DWdecode* Architecture: m68k-amigaos REQUIREMENTS: ------------- You will need several programs/libraries from Aminet: RexxArpLib by Willy Langeveld - util/rexx/ral3p3.lha FlashFind by Frank Würkner - util/cli/FlashFind1.2.lha A UUdecoder e.g. UUout by Nicolas Dade - util/arc/uuOut114.lha A Base64 decoder e.g. Base64coders by Edmund Vermeulen - comm/mail/Base64coders.lha A BinHex decoder e.g. binhex374 by Nik Soggia - util/arc/binhex374.lha And, of course, some Use Net files with encoded binaries;) FILES INCLUDED IN THIS ARCHIVE: DWdecode - the REAL program. DWdecode.Base64.Types - means of identifying Base64 first lines DWdecode.Binary.Types - means of identifying filenames in subject DWdecode.Doc - text format of documentation DWdecode.Encode.Types - MIME encoding types DWdecode.Guide - Amiga guide documentation DWdecode.Guide.info - info file for guide DWdecode.Prefs - a starter preference file DWdecode.Readme - copy of the Aminet readme file DWdecode.Section.Types - describes Section lines of UUencoded files DWdecode.Skip.Froms - allows for filtering based on From: lines DWdecode.Skip.Subjects - allows for filtering based on Subject: lines Samples/.... - subdirectory with example script(s) arexxqsort.lha - handles sorting of stem variables. by Willy Langeveld - originally found on Aminet BASICS: ------- This program does MASS decoding of Use Net files. It decodes ALL binaries that it is able to recognize, which is most;) from the source directory and optionally from ALL subdirectories as well. WHAT IT DOES: ------------- It uses information from MIME content lines, section lines, begin lines and (if it must) the subject line to determine what kind of encoding is used and which parts go together. It reports on files that have missing parts and on ones that it is unable to obtain complete information for. It handles either single directories or can handle COMPLETE directory trees. It handles files with SINGLE & MULTIPLE UUencoded OR Base64 binaries within them and Multipart UUencoded or Base64 files. It handles files with APPLE/DOUBLE format. My logic uses the LAST file of a given name within a SINGLE input file. This forces the APPLE portion to be considered a duplicate and not processed. It allows you to filenote the decoded binaries with a variety of substitution values as well as literals. It is quite 'smart' and generally can figure out most files. It is highly configurable and using external files can 'learn'. It should work with almost ANY Base64 and UU decoder. See WARNING below about pathname removal. It allows for filtering based on From: and/or Subject: lines. It allows for deleting input files after decoding, deleting duplicates, deleting input files based on From: &/or Subject: lines, deleting files that have ONLY text in them, and deleting files based on their age. Reporting can be tailored by setting/unsetting a variety of switches on the command line or in the prefs file. ------------------------------------------------------------------ v1.04 Fixes: Bug fix for errors introduced in handling files with spaces in their names. v1.03 Changes: Changed to handle input files with spaces in their names. Added XMAIL option. Set this to YES to prevent filenoting input files. It also overrides the DELETETEXT option. This is useful for handling YAM (© Marcel Beck) directories, which use the file comment area. Fixed to handle Date: headers with EST style GMT offsets. Found some mail Date: headers have TABS in them. Fixed. This should allow for running against mail directories properly. v1.02 Fixes: Finally, I HOPE, have fixed adding libraries during init. Several people told me I hadn't... must have been some other program;) v1.01 Fixes/Changes: Discovered that RexxTricks.Library uses the SAME function name as QuickSort, BUT in a different format. Added code to test if RexxTricks is present and to call QSORT in that format if necessary instead of W.L's. The SORTS are faster if RexxTricks.Library is NOT present, so try to do decoding prior to anything that might add it. Can NOW place in directory named DWDECODE and have it WORK!! Really stupid error - thanks to Paul Copsey for finding this one. Now correctly deletes parts greater than 1 of multipart input files when DeleteDups is specified. If DWdecode MUST resort to using just Subject: line information will now consider the SAME partname appearing multiple times in the subject, IFF it is the only name present, as THE name to use. Added support for BinHex files (only 1/1 type files). New variables w/defaults: BinHexCmd='BHD data=%DF %SF' BinCmdFail=20 Removed unused variable DumpB64Files from preferences/help. Now handles PC type lines with Ctrl-M's Now filenotes output files containing parens in their names Now writes FileNote errors to log/console as requested Made maximum filename length on report = 30 characters. Added message referring user to logfile for errors. Added Guide format of 'documentation'. v1.0 Initial Release ------------------------------------------------------------------ I homeschool my kids and they would love a postcard from where EVER you live. Instant Geography Lesson;) POSTCARDS: Dick Whiting 28590 S. Beavercreek Rd. Mulino, Oregon 97042 USA Bug Reports, etc: Dick Whiting August 04, 1997 ------------------------------------------------------------------