Subject: CVS commit: pkgsrc/mail/p5-Mail-IMAPClient
From: Jens Rehsack
Date: 2009-05-21 20:14:39
Message id: 20090521181439.8AE48175D0@cvs.netbsd.org

Log Message:
pkgsrc changes:
  - Updating package for p5 module Mail::IMAPClient from 3.14 to 3.16
  - Splitting dependencies into "real depends" part and a recommended part
  - Add Authen::SASL as recommended dependency
  - Set gnu-gpl-v2 as license

Upstream changes:
version 3.17: Thu May 21 01:40:08 EDT 2009
	- ran all test code and lib/Mail/IMAPClient.pm through Perl::Tidy
	- plan on using perltidy to standardize format going forward
	- added 13 tests to t/basic.t to cover more methods
	- fix some broken tests
	- update Makefile.PL to provide info about optional modules

version 3.17_05: Tue May 19 11:04:28 EDT 2009
	Potential compatibility issues highlighted with '*':
	- *reset LastError for every call to _imap_command_do()
	- *run() - use _imap_command_do(), return arrayref in scalar context
	- *tag_and_run() - return arrayref in scalar context
	- *done() - use _imap_command_do(), return arrayref in scalar context
	- *search() now returns empty arrayref not undef if no matches found
	- _imap_command_do() made more flexible to avoid code duplication
	- _list_response_parse renamed _list_or_lsub_response_parse
	- updated POD with new/updated behavior
	- append_string() now uses _imap_command_do() for Reconnectretry
	- internally use defined return values instead of only LastError()
	- run() updated to use same/similar code to _imap_command_do()
	- make several return statements more consistent
	- delete() now unsets current Folder attribute on success

version 3.17_04: Fri May 15 17:18:52 EDT 2009
	- updated POD with new reconnect() method and Reconnectretry attr
	- *new _imap_command() after renaming old one to _imap_command_do
	  support retrying commands X times EPIPE/ECONNRESET errors
	- *added Reconnectretry attr to control number of retry
	  attempts (default is 0 - no reconnect/retry)
	- *added reconnect() method to support Reconnectretry attr
	  reconnect and updated _imap_command() method
	- *_imap_command_do will return undef if command given has no TAG
	- fixed message_string() logic/errors for failed size() calls
	- local-ize $! anywhere we use Carp routines as older versions
	  of Carp could cause $! to be reset
	- several 'BUG?' comments -- raising red flag for future work
	- minor cleanup of sort() logic
	- reduce duplicate code, hopefully improved error handling:
	  new _list_or_lsub() for list() and lsub()
	  new _folders_or_subscribed() for folders() and subscribed()
	  + new _list_response_preprocess() keeping old code/logic in
	    for now, but may remove in the future (for buggy servers?)
	- some updates for migrate() but this method needs much work
	- body_string() now handles fetch() errors
	- tag_and_run now handles _imap_command() errors
	- changed non-timeout CORE::select() timeout from 0.001 to 0.025
	- minor cleanup of _read_line() error handling/debug output
	- get_bodystructure() handle more fetch() errors
	- expunge() handle select() errors
	- restore_message() handle store() errors
	- uidvalidity() handle status() errors
	- uidnext() handle status() errors
	- is_parent() use _list_response_preprocess() for parsing
	- move() send delete_message() errors to stderr
	- simplify size() method

version 3.17_03: Fri May  8 16:37:08 EDT 2009
	- *added uidexpunge() for UID EXPUNGE UIDPLUS support
	- *search() now DWIM: auto-escapes args, SCALAR refs not escaped
	  rt.cpan.org#44936 [cjhenck]
	- _quote_search() provides auto-escape capability for search()
	- many POD updates as well as some major reformatting (incomplete)
	- login now fails if passwd and user are not defined
	- _sysread(): $self was in args to 'Readmethod' twice
	- authenticate() return undef on scheme eq "" or LOGIN
	- "require" instead "use" Digest::HMAC_MD5 for CRAM-MD5 support

version 3.17_02: Fri May  1 16:44:21 EDT 2009
	- cleanup of use/imported data
	- use Socket $CRLF in many cases not \r\n per perlport/IMAP spec
	- new Keepalive attr for use with new()/Socket() enables SO_KEEPALIVE
	- LastError now uses Carp::confess for stack trace if Debug is true
	- Maxcommandlength now defaults to 1000 per RFC2683 section 3.2.1.5
	- added noop() to support IMAP NOOP
	- _imap_command now sets LastError if a OK/$good response is not seen
	- fixed fetch_hash() to return FLAGS as "" not () when no FLAGS set

version 3.17_01: Fri Apr 24 18:36:45 EDT 2009
	- *new attribute Maxcommandlength used by fetch() to limit
	  length of commands sent to a server.  This should removes
	  need for utilities like imapsync to create their own split()
	  functions and instead allows Mail::IMAPClient to hopefully
	  "do the right thing"
	- remove extra 'use' calls for Carp and Data::Dumper
	- _read_more() improperly initialized vector causing select
	  errors, thus timeouts were not working properly (now they
	  work...)
	- *change default timeout 30s => 600s: 30s seems too short in
	   practice
	- *explicit import of encode_base64 and decode_base64 from
	  MIME::Base64 note the code forces a disconnect from the
	  server on timeout as we can not easily recover from this
	  situation right now in the code
	- *numerous changes of error messages, removing superfluous
	  text and now relying on LastError instead of $! or $@ when
	  appropriate
	- separator():
	  + now return undef if an error occured for NAMESPACE or LIST calls
	  + *no longer defaults to '/' if NAMESPACE call does not succeed
	- new internal _list_response_parse() method for parsing LIST
	  responses
	- handle ECONNRESET errors on syswrite and mark connection as
	  Unconnected
	  + error "Connection lost" changed to "Write failed"
	- previously untrapped syswrite error now generate "Write
	  failed" errors
	- fix in _imap_command where LastError would be erroneously
	  set on LOGOUT
	- _record() no longer tries to infer errors based on data
	  being "recorded"
	- _send_line()
	  + cleanup in watching for: +|NO|BAD|BYE
	  + now sets LastError when an unexpected response is seen
	- _read_line()
	  + handle select errors instead of ignoring them
	  + forcefully _disconnect() on timeouts as this breaks app logic
	  + reduced duplication of code on error handling
	- added _disconnect() method to brute force drop connections
	  on timeout
	- added _list_response_parse() to reduce duplicate code for
	  LIST parsing
	- added _split_sequence() to support new Maxcommandlength argument
	- fetch()
	  + use new Maxcommandlength to split a request into multiple
	    subrequests then aggregate results before passing them
	    back to the caller
	- fetch_hash(): added checks for failed IMAP commands
	- parse_headers()
	  + properly check if fetch fails
	  + handle cases where $header and/or $field are not defined
	- size():
	  + return undef if LastError is set
	  + fix case where SIZE is not found and return undef as expected

version 3.16: Mon Apr  6 12:03:41 CEST 2009
	Fixes:
	- set LastError when the imap_command receives an unexpected 'BYE' answer.
	  rt.cpan.org#44762 [Phil Lobbes]
	- handle SIGPIPE cleanly.
	  rt.cpan.org#43414 [Phil Lobbes]
	- improve handling of quotes in folder names
	  rt.cpan.org#43445 [Phil Lobbes]
	- do not use $socket->eof(), because IO::Socket::SSL does not support it.
	  rt.cpan.org#43415 [Phil Lobbes]
	- remove excessive reconfiguration of fastio in _read_line()
	  rt.cpan.org#43413 [Phil Lobbes]

	Improvements:
	- remove experied docs about automatically created calls, which
	  do not exist since 3.00
	- remove verbose explanation about reporting bugs.

version 3.15: Fri Mar 20 13:20:39 CET 2009
	Fixes:
	- manual-page was using POD syntax incorrectly, which caused many
	  broken links on search.cpan.org
	  rt.cpan.org #44212 [R Hubbell]

Files:
RevisionActionfile
1.25modifypkgsrc/mail/p5-Mail-IMAPClient/Makefile
1.10modifypkgsrc/mail/p5-Mail-IMAPClient/distinfo