home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / comm / news / DWdecode.lha / dwdecode / DWdecode.ReadMe < prev    next >
Text File  |  1997-01-02  |  11KB  |  251 lines

  1. ################################################################################
  2. #                                                                              #
  3. #                                   DWDecode                                   #
  4. #                                                                              #
  5. #                                  Readme File                                 #
  6. #                                                                              #
  7. #                       Copyright ©1996 by Dick Whiting                        #
  8. #                                                                              #
  9. #------------------------------------------------------------------------------#
  10. # This is the LONG version of the ReadMe. Sorry, if it is not LONG enough.     #
  11. # I will happily answer questions via Email and may eventually do a FAQ, if    #
  12. # there appears to be a need.                                                  #
  13. #                                                                              #
  14. # Also, make sure you read DWDECODE.DEFAULTS.DOC file for a complete           #
  15. # description of all of the options available.                                 #
  16. #                                                                              #
  17. # Standard Disclaimer: I wrote it, it works for me, I don't guarantee          #
  18. # that it will do anything productive for anyone else, etc. etc. ;-)           #
  19. #                                                                              #
  20. # HOWEVER, if you do find a use for it: I homeschool my kids and they would    #
  21. # love a postcard from where EVER you live. Instant Geography Lesson;)         #
  22. #                                                                              #
  23. # POSTCARDS:    Dick Whiting                                                   #
  24. #               28590 S. Beavercreek Rd.                                       #
  25. #               Mulino, Oregon 97042                                           #
  26. #               USA                                                            #
  27. #                                                                              #
  28. #                                                                              #
  29. #------------------------------------------------------------------------------#
  30. #                                                                              #
  31. #                      Dick Whiting <dwhiting@europa.com>                      #
  32. #                               01 December 1996                               #
  33. #                                                                              #
  34. ################################################################################
  35.  
  36. REQUIREMENTS: 
  37. -------------
  38.  
  39. You will need several programs/libraries from Aminet:
  40.  
  41.    RexxArpLib by Willy Langeveld  - util/rexx/ral3p3.lha
  42.  
  43.    FlashFind  by Frank Würkner    - util/cli/FlashFind1.2.lha
  44.  
  45.    A UUdecoder
  46.      e.g. UUout by Nicolas Dade   - util/arc/uuOut114.lha
  47.      
  48.    A Base64 decoder 
  49.      e.g. Base64coders by Edmund Vermeulen - comm/mail/Base64coders.lha
  50.  
  51.    And, of course, some Use Net files with encoded binaries;)
  52.  
  53. FILES INCLUDED IN THIS ARCHIVE:
  54.  
  55.    DWdecode               - the REAL program.
  56.    DWdecode.Base64.Types  - means of identifying Base64 first lines
  57.    DWdecode.Binary.Types  - means of identifying filenames in subject
  58.    DWdecode.Defaults.doc  - documents ALL options & internal defaults
  59.    DWdecode.Encode.Types  - MIME encoding types
  60.    DWdecode.Prefs         - a starter preference file
  61.    DWdecode.ReadMe        - this file
  62.    DWdecode.Section.Types - describes Section lines of UUencoded files
  63.    DWdecode.Skip.Froms    - allows for filtering based on From: lines
  64.    DWdecode.Skip.Subjects - allows for filtering based on Subject: lines 
  65.    Samples/....           - subdirectory with a few example scripts, etc.
  66.  
  67.    arexxqsort.lha         - handles sorting of stem variables.
  68.        by Willy Langeveld - originally found on Aminet 
  69.  
  70.  
  71. BASICS: 
  72. -------
  73.  
  74. This program does MASS decoding of Use Net files. It decodes ALL binaries
  75. that it is able to recognize, which is most;) from the source directory
  76. and optionally from ALL subdirectories as well.
  77.  
  78.  
  79. WHAT IT DOES:
  80. -------------
  81.  
  82. It uses information from MIME content lines, section lines, begin lines
  83. and (if it must) the subject line to determine what kind of encoding is
  84. used and which parts go together. It reports on files that have missing
  85. parts and on ones that it is unable to obtain complete information for.   
  86.  
  87. It handles either single directories or can handle COMPLETE directory trees.
  88.  
  89. It handles files with SINGLE & MULTIPLE UUencoded OR Base64 binaries 
  90. within them and Multipart UUencoded or Base64 files.
  91.  
  92. It handles files with APPLE/DOUBLE format. My logic uses the LAST file 
  93. of a given name within a SINGLE input file. This forces the APPLE portion
  94. to be considered a duplicate and not processed.
  95.  
  96. It allows you to filenote the decoded binaries with a variety of
  97. substitution values as well as literals. 
  98.  
  99. It is quite 'smart' and generally can figure out most files.
  100.  
  101. It is highly configurable and using external files can 'learn'.
  102.  
  103. It should work with almost ANY Base64 and UU decoder.
  104. See WARNING below about pathname removal.
  105.  
  106. It allows for filtering based on From: and/or Subject: lines.
  107.  
  108. It allows for deleting input files after decoding, deleting duplicates, 
  109. deleting input files based on From: &/or Subject: lines, deleting files
  110. that have ONLY text in them, and deleting files based on their age.    
  111.  
  112. Reporting can be tailored by setting/unsetting a variety of switches on the
  113. command line or in the prefs file.
  114.  
  115. Probably other things ... but this IS enough. 
  116.  
  117. WARNING!!:
  118.  
  119. I strip ALL pathing off of encoded filenames prior to envoking the Decoders. 
  120. I thought about making this an option, but decided not to. It would be TOO
  121. easy for someone to overlay one of your system files.
  122.  
  123. For Base64 (using Base64Decode) the stripped filename is created in DEST 
  124. directory. 
  125.  
  126. UUout uses WHATEVER it finds on the begin line and I can't override
  127. it. For UUdecoding, assuming you use UUout, specify USEBASENAME as an option.
  128. This will prevent an encoded file of S:Startup-Sequence (for example) 
  129. overlaying YOURS! I do not suggest using a decoder that does not have this
  130. option!
  131.  
  132.  
  133. LIMITATIONS: 
  134. ------------
  135.  
  136.  1) If someone REALLY tries to mislead this program; he CAN. I do alot of 
  137.     matching logic to locate parts xx/yy and associate them with the correct
  138.     part 1/yy, but nothing is certain. 
  139.  
  140.     EXAMPLE OF HOW TO CONFUSE DWDECODE:
  141.  
  142.        1) Multipart file with part 1 subject totally different from others
  143.        2) Multipart file with wrong xx/yy information, or swapped xx/yy
  144.        3) BASE64 file that has bad numbers in the subject. SOME people 
  145.           use 1/2 to mean 'I sent TWO files and here is the FIRST one'. This
  146.           WILL show on the error report and you can hand edit the subject.
  147.        
  148.     Just as a minor point, these would be ALMOST impossible to figure out
  149.     using your brain instead of a program. You would have to ASSUME too many
  150.     things to even have a chance of being able to assemble the parts,
  151.     or you could just try all of the combinations until one worked;)
  152.  
  153.  2) Very few error conditions are returned from UUOUT or BASE64, so I am
  154.     able to catch very few. Generally I have found that even if I CAN detect
  155.     an error, there is really no way to fix it -- generally the input file
  156.     is corrupt. The only REAL exception is that UUOUT demands an 'end '
  157.     statement and you can go in and add one or fix the existing one (note
  158.     that 'end ' should have a blank after the 'd'). 
  159.  
  160.  3) It DOES NOT handle:
  161.  
  162.     a) Files that include both UUencoded AND Base64 encoded pieces within
  163.        the SAME file. (I have NEVER seen one, but you never know ...)
  164.  
  165.     b) MultiPart files that include portions of more than 1 encoded binary.
  166.        (I know that wasn't clear, but ...) For example: You encoded 3
  167.        pictures and spread them across 6 files with no 1 file containing a
  168.        complete piece. Again, I haven't seen this, but ...
  169.     
  170.     c) It will probably have problems with joining files with dozens of
  171.        parts because of the length of the command that is constructed. 
  172.        This has never been a problem for me since I NEVER have gotten ALL
  173.        the necessary parts when I needed more than 4;) Actually, I SELDOM
  174.        end up with all 3 of a 3/3 file. 
  175.  
  176.  
  177. HOW TO GET STARTED:
  178. -------------------
  179.  
  180. Unload the archive to somewhere (make sure the 'S' protection bit is set for
  181. the program - DWdecode to make it easier to envoke)
  182.  
  183. Get any required programs from Aminet and install according to their
  184. documentation. If you put them ALL in the SAME directory as DWdecode, then
  185. you do not HAVE to modify the prefs file to get started.
  186.  
  187. Modify DWdecode.prefs to use YOUR decoding programs, etc.
  188.  
  189. See DWdecode.Defaults.doc for a complete description of all the possible 
  190. options, variables, etc. and how to specify them. Also look at the other
  191. included files so that you will know how to add to them if necessary.
  192.  
  193. Run from a CLI or directory utility specifying a source directory and a
  194. destination directory.   
  195.  
  196. IF YOU INSTALL DIFFERENT PROGRAMS or LOCATE THEM ELSEWHERE:
  197.  
  198. change these in YOUR prefs file as necessary (these are MY values):
  199.  
  200. Base64cmd='AmiTCP:bin/Base64Decode %sf %df USEMINLEN > nil:'
  201. B64cmdFail=20             #Return Code of 'DISK FULL' for Base64Decode
  202.  
  203. ScanProg='Utils:FlashFind'
  204.  
  205. UUcmd='AmiTCP:bin/UUout %sf BUFSIZE=150 IGNORETERMINATION USEBASENAME > nil:'
  206. UUcmdFail=10              #Return Code of 'DISK FULL' for UUOUT
  207.  
  208.  
  209. MISCELLANEOUS NOTES:
  210. --------------------
  211.  
  212. I filenote all of the files in the SOURCE= directory(s). The filenote is in
  213. the following format:
  214.  
  215. xyy SUBJET-LINE-FOUND-IN-THIS-FILE 
  216.     where  x='S' means the file was skipped due to a match on SKIPSUBJECT
  217.            x='F' means the file was skipped due to a match on SKIPFROM
  218.            x='O' means the file is older than the value for KEEPDAYS   
  219.            x=' ' for all others.
  220.  
  221.     where yy='  ' for text files
  222.           yy='UU' for UU encoded files
  223.           yy='64' for Base64 encoded files
  224.         
  225. This makes it fairly easy to check if files have been properly identified. I
  226. suggest using Dopus (or another), sorting the files by comment and examining
  227. them. This makes it easy to ensure that all 'text' files are really text. I
  228. look for high byte counts and then check them. Usually I find that someone
  229. has quoted the first 400 lines of an encoded file;) Doing this also makes it
  230. easy to look at the subject lines and see if parts were properly put
  231. together. 
  232.  
  233. Needless to say, if you specify some of the DELETExxxx options, there will
  234. be nothing to examine;)
  235.  
  236.  
  237. BUGS:
  238. -----
  239.  
  240. As of the date of uploading this program, I have stopped being able to break
  241. it. This does not mean it is bug free. If you find any, please email me so
  242. that I can correct it for others. Also, when you find NEW Section lines or
  243. MIME encoding types, I would appreciate you emailing them on to me and I
  244. will add them to future updates, changes, etc. 
  245.  
  246. Thanks.  
  247.  
  248.  
  249. Dick Whiting
  250. December 31, 1996
  251.