Subject: CVS commit: pkgsrc
To: None <pkgsrc-changes@netbsd.org>
From: Jason Beegan <jtb@netbsd.org>
List: pkgsrc-changes
Date: 05/17/2001 03:44:48
Module Name:	pkgsrc
Committed By:	jtb
Date:		Thu May 17 00:44:48 UTC 2001

Modified Files:
	pkgsrc/mail/p5-MIME-tools: Makefile distinfo

Log Message:
Update of p5-MIME-tools to 5.410.  Added HOMEPAGE.

Update provided by Nathan Ahlstrom <nrahlstr@winternet.com> in
PR pkg/12897.

   Version 5.410 (2000/11/23)
          Better  detection of evil filenames. Now we check for filenames
          which are suspiciously long, and a new
          MIME::Filer::exorcise_filename()  method  is  used  to  try and
          remove the evil. Thanks to Jason Haar for the suggestion.

   Version 5.409 (2000/11/12)
          Added functionality to MIME::WordDecoder, including support for
          plain US-ASCII.

          MIME::Tools::tmpopen() made more flexible. You can now override
          the tmpfile-opening behavior.

   Version 5.408 (2000/11/10)
          Added  new  Beta  unmime() mechanism. See MIME::WordDecoder
          for  full  details.  Also  see Understand how international
          characters are represented.

   Version 5.405 (2000/11/05)
          Added  a  purge() that does what people want it to. Now, when a
          parse  finishes  and  you  want  to  delete everything that was
          created  by  it,  you can invoke purge() on the parser's filer.
          All  files/directories  created  during  the  last parse should
          vanish.    Thanks    to    everyone    who   complained   about
          MIME::Entity::purge.

   Version 5.404 (2000/11/04)
          Added  new automatic MIME-decoding of attachment filenames with
          encoded  (non-ASCII)  characters.  Hopefully  this will do more
          good  than  harm. The use of MIME::Parser::decode_headers() and
          MIME::Head::decode()  has  been  deprecated in favor of the new
          MIME::Words "unmime" mechanism. Please see unmime.

          Added  tolerance  for unquoted =?...?= in param values. This is
          in violation of the RFCs, but then, so are some MUAs. Thanks to
          desti for bringing this to my attention.

          Fixed  supposedly-bad  B-encoding.  Thanks  to  Otto  Frost for
          bringing this to my attention.

   Version 5.316 (2000/09/21)
          Increased tolerance in MIME::Parser. Now will ignore bogus POP3
          "+OK" line before header, as well as bogus mailbox "From " line
          (both  with  warnings).  Thanks to Antony OSullivan (ajos1) for
          suggesting this feature.

          Fixed small epilogue-related bug in MIME::Entity::print_body().
          Now  it  only  outputs a final newline if the epilogue does not
          end  in one already. Support for checking the preamble/epilogue
          in  regression tests was also added. Thanks to Lars Hecking for
          bringing this issue up.

          Updated  documentation.  All  module  manual  pages  should now
          direct readers to the main MIME-tools manual page.

   Version 5.314 (2000/09/06)
          Fixed  Makefile.PL  to  have  less-restrictive  requirement for
          File::Spec (0.6).

   Version 5.313 (2000/09/05)
          Fixed  nasty  bug  with  evil filenames. Certain evil filenames
          were  getting  replaced by internally-generated filenames which
          were just as evil... ouch! If your parser occasionally throws a
          fatal  exception  with  a  "write-open" error message, then you
          have  this  bug.  Thanks  to  Julian Field and Antony OSullivan
          (ajos1) for delivering the evidence!

       Beware the doctor
          who cures seasonal head cold
       by killing patient

          Improved  naming  of extracted files. If a filename is regarded
          as  evil,  we  guess  that  it  might  just  be because of part
          information,  and  attempt  to  find  and  use  the  final path
          element.

          Simplified  message  logging  and  made it more consistent. For
          details, see Message-logging.

   Version 5.312 (2000/09/03)
          Fixed  a  Perl  5.7 select() incompatibility which caused "make
          test" to fail. Thanks to Nick Ing-Simmons for the patch.

   Version 5.311 (2000/08/16)
          Blind  fix for Win32 uudecoding bug. A missing binmode seems to
          be  the  culprit  here;  let's  see if this fixes it. Thanks to
          ajos1 for finding the culprit!

       The carriage return
          thumbs its nose at me, laughing:
       DOS I/O *still* sucks

   Version 5.310 (2000/08/15)
          Fixed  a  bug  in  the  back-compat  output_prefix()  method of
          MIME::Parser.  Basically,  output  prefixes  were not being set
          through this mechanism. Thanks to ajos1 for the alert.

        shift @_,                               ### "shift at-underscore"
           or @_ will have
        bogus "self" object

          Added  some  backcompat  methods,  like parse_FH(). Thanks (and
          apologies) to Alain Kotoujansky.

          Added   filenames-with-spaces   support  to  MIME::Decoder::UU.
          Thanks to Richard Pun for the suggestion.

   Version 5.305 (2000/07/20)
          Added  MIME::Entity::parts_DFS  as  convenient  way to "get all
          parts". Thanks to Xavier Armengou for suggesting this method.

          Removed  the  Alpha  notice. Still a few features to tweak, but
          those will be minor.

   Version 5.303 (2000/07/07)
          Fixed output bugs in new Filers. Scads of them: bad handling of
          filename  collisions, bad implementation of output_under(), bad
          linking  to  results, POD errors, you name it. If this had gone
          to CPAN, I'd have issued a factory recall. :-(

       Errors, like beetles,
          Multiply ferociously
       In the small hours

   Version 5.301 (2000/07/06)
          READ    ME    BEFORE    UPGRADING    PAST   THIS   POINT!   New
          MIME::Parser::Filer class -- not fully backwards-compatible. In
          response   to   demand   for   more-comprehensive   file-output
          strategies,  I  have  decided  that  the best thing to do is to
          split     all    the    file-output    logic    (output_path(),
          evil_filename(),  etc.) into its own separate class, inheriting
          from  the  new  MIME::Parser::Filer class. If you override
          any  of the following in a MIME::Parser subclass, you will need
          to change your code accordingly:

        evil_filename
        output_dir
        output_filename
        output_path
        output_prefix
        output_under

          My sincere apologies for any inconvenience this will cause, but
          it's  ultimately  for  the  best,  and is quite likely the last
          structural  change  to 5.x. Thanks to Tyson Ackland for all the
          ideas.  Incidentally,  the  new  code  also  fixes  a bug where
          identically-named  files in the same message could clobber each
          other.

       A message arrives:
           "Here are three files, all named 'Foo'"
       Only one survives.  :-(

          Fixed  bug in MIME::Words header decoding. Underscores were not
          being  handled  properly.  Thanks  to  Dominique Unruh and Doru
          Petrescu,  who  independently  submitted  the same fix within 2
          hours  of  each  other,  after  this  bug  has lain dormant for
          months:

       Two users, same bug,
          same patch -- mere hours apart:
       Truly, life is odd.

          Removed   escaping  of  underscore  in  regexps.  Escaping  the
          underscore  (\_)  in  regexps  was  sloppy  and  wrong (escaped
          metacharacters  may  include  anything  in  \w), and the newest
          Perls  warn about it. Thanks to David Dyck for bringing this to
          my attention.

       What, then, is a word?
          Some letters, digits, and, yes:
       Underscores as well

          Added  Force option to MIME::Entity's make_multipart. Thanks to
          Bob Glickstein for suggesting this.

          Numerous  fixlets  to example code. Thanks to Doru Petrescu for
          these.

          Added  REQUIREMENTS  section  in  docs. Long-overdue. Thanks to
          Ingo Schmiegel for motivating this.

   Version 5.211 (2000/06/24)
          Fixed  auto-uudecode bug. Parser was failing with "part did not
          end  with  expected boundary" error when uuencoded entity was a
          singlepart  message  (ironically, uuencoded parts of multiparts
          worked  fine).  Thanks  to Michael Mohlere for testing uudecode
          and finding this.

       The hurrying bee
          Flies far for nectar, missing
       The nearest flowers

       Say ten thousand times:
          Complex cases may succeed
       Where simple ones fail

          Parse  errors  now  generate  warnings. Parser errors now cause
          warn()s  to  be  generated  if  they  are not turned into fatal
          exceptions.  This  might  be a little redundant, seeing as they
          are  available  in  the  "results", but parser-warnings already
          cause  warn()s.  I can always put in a "quiet" switch if people
          complain.

          Miscellaneous  cleanup.  Documentation of MIME::Parser improved
          slightly, and a redundant warning was removed.

   Version 5.210 (2000/06/20)
          Change  in  "evil"  filename. Made MIME::Parser's evil_filename
          stricter  by having it reject "path" characters: any of '/' '\'
          ':' '[' ']'.

       Just as with beauty
          The eye of the beholder
       Is where "evil" lives.

          Documentation fixes. Corrected a number of docs in MIME::Entity
          which  were obsoleted in the transition from 4.x to 5.x. Thanks
          to  Michael  Fischer  for  pointing  these out. For this one, a
          special 5-5-5-5 Haiku of anagrams:

       Documentation
          in mutant code, O!
       Edit -- no, CUT! [moan]
          I meant to un-doc...

          IO::Lines  usage  bug  fixed.  MIME::Entity  was missing a "use
          IO::Lines", which caused an exception when you tried to use the
          body()  method  of  MIME::Entity.  Thanks  to  Hideyo Imazu and
          Michael Fischer for pointing this out.

       Bareword looks fine, but
          Perl cries: "Whoa there... IO::Lines?
       Never heard of it."

   Version 5.209 (2000/06/10)
          Autodetection  of uuencode. You can now tell the parser to hunt
          for   uuencode   inside   what   should   be  text  parts.  See
          extract_uuencode()  for  full  details.  Beware:  this  is
          largely  untested  at  the  moment.  Special  thanks to Michael
          Mohlere   at   ADJE   Webmail,   who   was  the  first  --  and
          most-insistent -- user to request this feature.

          Faster parsing. Sped up the MIME::Decoder::NBit decoder quite a
          bit  by  using  a  variant  of  the  chunking  trick I used for
          MIME::Decoder::Base64. I suspect that the same trick (reading a
          big chunk plus the next line to get a big block of lines) would
          work with MIME::Decoder::QuotedPrint, but I don't have the time
          or  resources  to  check  that  right now (tested contributions
          would  be  welcome).  NBit  encoding  is more-conveniently done
          line-by-line  for  now, because individual line lengths must be
          checked.

          Better  use  of  core.  MIME::Body::InCore is now used when you
          build()   an   entity  with  the  Data  parameter,  instead  of
          MIME::Body::Scalar.

          More documentation on toolkit configuration.

   Version 5.207 (2000/06/09)
          Fixed  whine()  bug  in MIME::Parser where the "warning" method
          whine()  was  called as a static function instead of invoked as
          an  instance  method.  Thanks to Todd A. Bradfute for reporting
          this.

       A simple warning
          Invokes method as function:
       "Warning" makes us die

   Version 5.206 (2000/06/08)
          Ahem. Cough cough:

       Way too many bugs
          Thus, a self-imposed penance:
       Write haiku for each

          Fixed  bug in MIME::Parser: the reader was not handling the odd
          (but  legal)  case  where  a  multipart boundary is followed by
          linear  whitespace. Thanks to Jon Agnew for reporting this with
          the RFC citation.

       Legal message fails
          And 'round the globe, thousands cry:
       READ THE RFC

          Empty  preambles  are now handled properly by MIME::Entity when
          printing:  there  is now no space between the header-terminator
          and  the  initial  boundary.  Thanks to "sen_ml" for suggesting
          this.

       Nature hates vacuum
          But please refrain from tossing
       Newlines in the void

          Started using Benchmark for benchmarking.

   Version 5.205 (2000/06/06)
          Added  terminating  newline  to  all parser messages, and fixed
          small  parser  bug that was dropping parts when errors occurred
          in certain places.

   Version 5.203 (2000/06/05)
          Brand  new  parser  based on new (private) MIME::Parser::Reader
          and  (public)  MIME::Parser::Results.  Fast  and yet simple and
          very tolerant of bad MIME when desired. Message reporting needs
          some muzzling.

          MIME::Parser now has ignore_errors() set true by default.

   Version 5.116 (2000/05/26)
          Removed  Tmpfile.t  test,  which was causing a bogus failure in
          "make  test".  Now we require 5.004 for MIME::Parser anyway, so
          we don't need it. Thanks to Jonathan Cohn for reporting this.

   Version 5.115 (2000/05/24)
          Fixed  Ref.t  bug,  and  documented  how to remove parts from a
          MIME::Entity.

   Version 5.114 (2000/05/23)
          Entity now uses MIME::Lite-style default suggested encoding.

          More  regression  test have been added, and the "Size" tests in
          Ref.t  are  skipped  for text document (due to CRLF differences
          between platforms).

   Version 5.113 (2000/05/21)
          Major  speed  and structural improvements to the parser. Major,
          MAJOR  thanks  to  Noel  Burton-Krahn, Jeremy Gilbert, and Doru
          Petrescu for all the patches, benchmarking, and Beta-testing!

          Convenient new one-directory-per-message parsing mechanism. Now
          through  MIME::Parser  method  output_under(), you can tell the
          parser  that  you want it to create a unique directory for each
          message parsed, to hold the resulting parts.

          Elimination  of  $',  $` and $&. Wow... I still can't believe I
          missed  this.  D'OH!  Thanks  to  Noel Burton-Krahn for all his
          patches.

          Parser   is  more  tolerant  of  weird  EOL  termination.  Some
          mailagents  are  can  terminate lines with "\r\r\n". We're okay
          with  that  now  when  we  extract  the  header. Thanks to Joao
          Fonseca for pointing this out.

          Parser  is  tolerant  of  "From  "  lines in headers. Thanks to
          Joachim  Wieland,  Anthony Hinsinger, Marius Stan, and numerous
          others.

          Parser  catches  syntax errors in headers. Thanks to Russell P.
          Sutherland for catching this.

          Parser  no  longer  warns  when subtype is undefined. Thanks to
          Eric-Olivier Le Bigot for his fix.

          Better integration with Mail::Internet. For example, smtpsend()
          should  work fine. Thanks to Michael Fischer and others for the
          patch.

          Miscellaneous   cleanup.   Thanks   to   Marcus  Brinkmann  for
          additional  helpful input. Thanks to Klaus Seidenfaden for good
          feedback on 5.x Alpha!


To generate a diff of this commit:
cvs rdiff -r1.3 -r1.4 pkgsrc/mail/p5-MIME-tools/Makefile
cvs rdiff -r1.2 -r1.3 pkgsrc/mail/p5-MIME-tools/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.