home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume36 / unpost / part00 next >
Encoding:
Text File  |  1993-04-18  |  7.2 KB  |  170 lines

  1. Newsgroups: comp.sources.misc,alt.binaries.pictures.utilities
  2. From: jstevens@teal.csn.org (John W.M. Stevens)
  3. Subject: v36i113:  unpost - Smart multi-part uudecoder v2.1.2, Part00/07
  4. Message-ID: <csm-v36i113=unpost.001556@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: 687ba8356663ae94c969c211616c69b9
  6. Date: Mon, 19 Apr 1993 05:18:22 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: jstevens@teal.csn.org (John W.M. Stevens)
  10. Posting-number: Volume 36, Issue 113
  11. Archive-name: unpost/part00
  12. Environment: UNIX, MS-DOS, OS/2, Windows, MacIntosh, Amiga, Vax/VMS
  13.  
  14. UNPOST Version 2.1.2
  15.  
  16. More bug fixes, documentation updates, a new configuration file, etc.
  17.  
  18. UNPOST is a "smart" uudecoder that is designed to extract binaries from
  19. multi-part USENET or email uuencoded binaries.
  20.  
  21. Features:
  22.  
  23. 1)  PORTABILITY!  UNPOST has been compiled and sucessfully run on
  24.     MS-DOS, OS/2, Windows, Unix workstations, MacIntoshes, Amiga's
  25.     and VAX/VMS systems.
  26.  
  27.     The code is written to be pure ANSI C, within reasonable limits.
  28.     (some ANSI C capabilities are not used where they would be
  29.     appropriate due to lagging compliance in most compilers.  Hey,
  30.     Unix types!  MS-DOS (Borland C++ 3.1) is a MUCH better compiler
  31.     than anything I've seen on a Unix workstation!  And their debugger
  32.     is the best I've used, as well).  Unfortunately, there are still
  33.     a lot of Unix boxes that have only a K&R compiler, so it may
  34.     not port well to those.  I personally check to make sure that it
  35.     will compile and run on an MS-DOS box running MS-DOS 5 and Windows
  36.     3.1, using the Borland 3.1 C++ compiler, as well as a Sun (running
  37.     SunOs 4.1.1 sun4c) using the gcc compiler (version 2.1).  I know
  38.     for a fact that the Sun cc compiler will NOT compile UNPOST
  39.     succesfully.
  40.  
  41.     K&R compatibility is being considered, but it is a low priority
  42.     feature.
  43.  
  44. 2)  CONFIGURABILITY!  UNPOST comes with a default set of rules for
  45.     detecting and parsing a VERY wide range of possible Subject:
  46.     line formats, but no configuration can be correct for every
  47.     situation.
  48.  
  49.     With that in mind, UNPOST can be configured by the user by creating
  50.     a text file that contains the regular expressions, etc. that
  51.     UNPOST uses to recognize, parse, etc.  WARNING!  UNPOST depends
  52.     almost ENTIRELY on the contents of it's configuration file for
  53.     correct operation.
  54.  
  55.     Regular expressions are complex, and writing one that works the
  56.     way you expect it to takes care and, most importantly,
  57.     experimentation.
  58.  
  59.     To this end, the standard UNPOST installation creates both the
  60.     UNPOST executable and a regular expression test program called
  61.     RETEST.  RETEST is like grep, feed it a regular expression and
  62.     a file, and RETEST will tell you what it matched and the sub
  63.     strings that it extracted.
  64.  
  65. 3)  INTELLIGENCE!  UNPOST uses every trick in the book to try to
  66.     guess what the poster/sender REALLY meant.
  67.  
  68.     Also, UNPOST is not limited to finding all of it's information
  69.     on a single line, or even in the header of a posting/letter.
  70.  
  71.     UNPOST has succesfully extracted binaries from postings that had,
  72.     as a subject line,
  73.  
  74.     Subject: aaaa
  75.  
  76.     because UNPOST recognized the signature placed into the body of
  77.     the article by a uuencode/split program.
  78.  
  79. 4)  FLEXIBILITY!  UNPOST has switches that allow it to be configured
  80.     to do different things for different tastes.  For instance, UNPOST
  81.     will intelligently sort out articles into four different classes:
  82.  
  83.     1)  Articles that are part of a complete and correct binary in
  84.         the input file.  These are sorted, concatenated, uudecoded
  85.         and written out to a file name that is the same as that
  86.         on the uuencode begin line.
  87.  
  88.         Depending on the setting of the file name switch, the file
  89.         name of the binary may be modified.  See below.
  90.  
  91.     2)  Articles that are pure text (no uuencoded data in them).
  92.  
  93.         If the -t switch and a file name are specified, these
  94.         articles will be written out to the file for reading.
  95.  
  96.         Obviously, these articles should NEVER be encountered in
  97.         a binaries news group, but not a single day has ever gone
  98.         by that I did not see non-binary postings to binary news
  99.         groups.
  100.  
  101.     3)  Articles that are part of incomplete postings (four parts,
  102.         but only three have shown up so far), or that comprise
  103.         a complete binary, but one that had an error in uudecoding,
  104.         interpretation, etc.
  105.  
  106.         If the -i flag and a file name are specified, these articles
  107.         will be written out to the file.  If the -b switch is
  108.         on, incompletes will be written to separate files.  If
  109.         both are on, those incompletes that can be guessed at
  110.         as having a file name will be written to a separate file,
  111.         all else will be written to the file named by the -i
  112.         switch.
  113.  
  114.         In my experience, two types of articles end up in an
  115.         incompletes file, those that have missing parts, and
  116.         those that have been misinterpreted by UNPOST as belonging
  117.         to a different binary than they really do.
  118.  
  119.     4)  Articles that are pure text that describe a posting
  120.         (these are usually found only in the pictures groups).
  121.  
  122.         If the -d flag is set, and the binary to which they
  123.         belong is correct and complete, this article, as well as
  124.         the header and body up to the uuencode begin line of the
  125.         first article, will be written to a file that has the same
  126.         base name as the binary, but with the extension .inf.
  127.  
  128.     UNPOST automatically mungles binary file names to be MS-DOS
  129.     compatible (the lowest common denominator).  This is switch
  130.     controllable, and can be turned on or off (depending on the
  131.     default setting selected by the person who compiled UNPOST).
  132.  
  133.     UNPOST also has two lesser modes, sorted mode and uudecode mode.
  134.  
  135.     In sorted mode, UNPOST assumes that the articles still have
  136.     headers, and that there may be un-uuencoded lines in the middle
  137.     of a uuencoded file that have to be filtered out, but it assumes
  138.     that all parts are present, and that they are in order.  Header
  139.     information, however, is ignored.
  140.  
  141.     If you use the incompletes file capability of UNPOST, you will
  142.     notice that it writes out the segments that it did interpret
  143.     correctly in sorted order.
  144.  
  145.     In uudecode mode, UNPOST acts like a simple uudecoder.  UUencoded
  146.     files must be complete, with a begin and end line, and no
  147.     un-uuencoded lines can appear between the begin and end lines.
  148.  
  149.     However, uudecode mode is the ONLY mode where UNPOST will accept
  150.     a short line (one that was space terminated, but had the spaces
  151.     chopped off) as a legal uuencoded line and properly decode it.
  152.  
  153. 5)  INFORMATIVE!  UNPOST is a very talkative program.  It detects
  154.     and reports many kinds of problems, tells you what it thinks
  155.     is going on, and tells you what it is doing.  All this information
  156.     is written to standard error, or if the -e switch and a file
  157.     name are specified, written to that file.
  158.  
  159.  Changes for UNPOST Version 2.1.2
  160.  --------------------------------
  161.  
  162. 1)  Bug fix.  I screwed up the regular expression compilation for the
  163.     -r switch.  Fixed.  See note 5 for version 2.1.1 in the changes.doc
  164.     file for information on how to select one of four sources for your
  165.     news.
  166.  
  167. jstevens@csn.org
  168.  
  169. exit 0 # Just in case...
  170.