Up to [cvs.NetBSD.org] / pkgsrc / mail / p5-Mail-IMAPClient
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
mail: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes The following distfiles were unfetchable (possibly fetched conditionally?): ./mail/qmail/distinfo netqmail-1.05-TAI-leapsecs.patch
mail: Remove SHA1 hashes for distfiles
Update to 3.43 Upstream changes: version 3.43: Tue Feb 16 16:53:26 UTC 2021 - admin: update copyright, move from rt.cpan.org (retired) to github - rt.cpan.org#132720: compress: Readmethod: avoid false-positive EOF [Eric Wong] - rt.cpan.org#129920: Parsing headers fails under special condition [Jens Berthold] - rt.cpan.org#132654: avoid cyclic reference on ->compress [Eric Wong] - rt.cpan.org#132380: append_string can fail to match APPENDUID in response [RadomÃr Polách] - rt.cpan.org#133496: allow for undocumented BODYSTRUCTURE extensions [Rhesa Rozendaal]
p5-Mail-IMAPClient: update to 3.42. version 3.42: Sun Feb 24 00:43:29 UTC 2019 - rt.cpan.org#12859: has_capability() changes in 3.41 broke imap4rev1() [Gilles Lamiral and Gábor Leszlauer] - updated http:// to https:// URLs for referenced resources - updated copyright for 2019 version 3.41: Thu Feb 21 01:47:42 UTC 2019 - rt.cpan.org#128220: unseen(), messages() and related POD cleanup [Dan Jacobson] - rt.cpan.org#128264: parse_message() minor code/POD cleanup [Dan Jacobson] - rt.cpan.org#128215: verb missing in messages() POD [Gilles Lamiral and Dan Jacobson] - rt.cpan.org#127271: simplify capability handling via has_capability enhancements +* has_capability() success returns(true) with server response data, not always '1' + enhanced t/capability.t test cases + updated POD for capability() and has_capability() [Gilles Lamiral and Mark Overmeer] - rt.cpan.org#122373: use of IO::Socket::IP led to connect(empty args) regression [Gilles Lamiral] - rt.cpan.org#128127: fix minor POD typo for search() [Gregor Herrmann] - folders()/subscribed() remove mailboxes with \Noselect attribute [Ashley Willis] - fetch_hash() remove quotes around header names (seen w/outlook.com) [Ashley Willis] - use first over grep for minor efficiency gains - other minor POD cleanup
Update to 3.40 Upstream changes: version 3.40: Thu Dec 6 01:44:16 UTC 2018 - rt.cpan.org#122373 support IPv6 by using IO::Socket::IP over IO::Socket::INET [Gilles Lamiral and Mark Overmeer] - rt.cpan.org#127103 flags() undef value as an ARRAY reference on a bogus message [Gilles Lamiral] - rt.cpan.org#124523 update examples/populate_mailbox.pl timegm usage [Bernhard M. W.] - t/capability.t: added first set of tests - t/quota.t: minor fix when tests skipped
p5-Mail-IMAPClient: update to 3.39. version 3.39: Fri Feb 3 00:43:00 UTC 2017 - rt.cpan.org#115726: uninitialized value via fetch_hash [Malte Stretz] - rt.cpan.org#119523: better error reporting on failed TLS connections [Matthew Horsfall] - rt.cpan.org#114904: document noop() [Glenn Golden] - rt.cpan.org#97718: (redux) never retry DONE [Laurence Darby] - _imap_command() new doretry => 0|1 option to suppress/allow retry - updated copyright for 2017
Update to 3.38 Upstream changes: version 3.38: Tue Feb 9 02:48:21 UTC 2016 - rt.cpan.org#107592: redact credentials via debug if !Showcredentials [Gilles Lamiral] - rt.cpan.org#110273: failure to quote password values (regression introduced in 3.36 via fix for rt.cpan.org#100601) [Gilles Lamiral] - rt.cpan.org#107593: allow getquota("") - *Quote() now returns qq("") for defined but empty values - rt.cpan.org#107011: fix folders_hash() docs and usage in is_parent() [Gilles Lamiral] - rt.cpan.org#106500: split UID EXPUNGE with a large sequence set - added t/quota.t and t/lib/MyTest.pm for testing - updated copyright for 2016 version 3.37: Fri Aug 14 11:04:53 EDT 2015 - regex fix in rt.cpan.org#96575 required Perl 5.10 updated regex to be backwards compatible with Perl 5.8 [Paul Howarth] version 3.36: Fri Aug 14 01:40:50 UTC 2015 - rt.cpan.org#96575: parsing fixes for fetch_hash and bodystructure + better handling of data containing escaped characters [Ken Neighbors] - rt.cpan.org#97718: hang waiting for tag if DONE sent outside of IDLE [Laurence Darby] - rt.cpan.org#100683: failed literal commands hang waiting for '+' [Matthias Pitzl] - rt.cpan.org#100601: login() fails if username requires use of literals [Andy Lyttle] - *rt.cpan.org#103823: is_parent() should return undef on \NoInferiors [Gilles Lamiral] - rt.cpan.org#105456: fetch_hash fails if sequence number contains '*' + *no longer removing unrequested data (except UID) in returned hashes [Gilles Lamiral] - rt.cpan.org#91912: selectable broke in 3.29 due to \b around \NoSelect [Justin Vallon, Gilles Lamiral] - some documentation, test cleanup and new tests version 3.35: Fri, Nov 22, 2013 2:18:41 PM - *use Quote() over Massage() to avoid stripping double quotes from arg + removed constant NonFolderArg + may deprecate Massage() in a future release - _list_or_lsub failed to handle folder names with double quotes + cleanup Escaped_results() + new methods: Escaped_history() _escaped_trans_data() + removed method: _list_response_preprocess() [Gilles Lamiral, Victor Lé–‰ - rt.cpan.org#90315: getacl on a folder returned as literal failed + _read_line could remove extra space when literal data was received [Carl Karcher] - rt.cpan.org#89040: typo fixes [David Steinbrunner] version 3.34: Fri, Sep 27, 2013 12:50:17 AM - make Makefile.PL use non-interactive and document test.txt usage - new attribute: Socketargs => [ (IO::Socket::.. args) ] + cleanup connect() to more flexible with IO::Socket::* args - untagged server data during send literal may cause client to hang [Arthur Wolfe, Josh Hillman] + _send_line() needs '+' only to know it is OK to send LITERAL data + created _response_code_sub() to simplify _get_response() - remove internal "Folders" cache - Allow for RFC 6154 "IMAP LIST Extension for Special-Use Mailboxes" [Mathias Reitinger] + new method: folders_hash() + deprecate: xlist_folders(), xlist()
Add SHA512 digests for distfiles for mail category Problems found locating distfiles: Package mutt: missing distfile patch-1.5.24.rr.compressed.gz Package p5-Email-Valid: missing distfile Email-Valid-1.198.tar.gz Package pine: missing distfile fancy.patch.gz Package postgrey: missing distfile targrey-0.31-postgrey-1.34.patch Package qmail: missing distfile badrcptto.patch Package qmail: missing distfile outgoingip.patch Package qmail: missing distfile qmail-1.03-realrcptto-2006.12.10.patch Package qmail: missing distfile qmail-smtpd-viruscan-1.3.patch Package thunderbird24: missing distfile enigmail-1.7.2.tar.gz Package thunderbird31: missing distfile enigmail-1.7.2.tar.gz Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
Updated mail/p5-Mail-IMAPClient to 3.33 version 3.33: Tue, May 14, 2013 10:12:43 AM - more cleanup on use of $@ and $! - cleanup get_bodystructure / get_envelope - allow Ssl arg as an arrayref to pass args to IO::Socket::SSL [Ramana V Mokkapati] - no need to Massage() the folder name in uidnext() - rt.cpan.org#84028: get_envelope() fails when subject ends w/backslash [Andy Lyttle] - rt.cpan.org#79476: move()/copy() with sequence causes numeric warning [Oleg G] - *move()/copy() no longer sort message(s) provided by caller pkgsrc-changes: Set MultiHomed => 1 in call to IO::Socket::INET to allow fallback to IPv4 when server has both IPv4 and IPv6 addresses and no reliable IPv6 route
Update to 3.32 Upstream changes: version 3.32: Fri, Aug 10, 2012 4:43:24 PM - document RFC2087 quota related calls [Mathias Reitinger] documentation request - rt.cpan.org#78474: idle/idle_data documentation error [Dima Kogan] - Quote()/Massage() now uses literals for non ascii data [Mathias Reitinger] reported issues with utf8 data in password - use Quote()/Massage() consistently now in: login() proxyauth() deleteacl() setacl() listrights() rename() - documented deleteacl() and other minor pod cleanup - ran Mail::IMAPClient::BodyStructure through perltidy - update year in README/pod to 2012 - rt.cpan.org#74733: Fails with Parse::RecDescent >= 1.966_002 rt.cpan.org#74593: Recent changes break Module::ExtractUse and ... [ANDK, TEAM, SREZIC, NBEBOUT at CPAN and nine from detonation] - Makefile.PL avoid buggy Parse::RecDescent 1.966_002 until 1.967_009 - rt.cpan.org#76989: Mail::IMAPClient::BodyStructure usage/docs [Pierluigi Frullani] - fix incorrect documentation on new() - lots of doc verbiage updates
Update to 3.31 version 3.31: Mon, Mar 19, 2012 11:11:11 AM - rt.cpan.org#74799: Support for partial data responses in fetch_hash [Philip Garrett] + bonus: cleaner handling of BODY.PEEK responses - properly handle ALL|FULL|FAST fetch macros in fetch_hash
Update p5-Mail-IMAPClient to 3.30. Changes from previous: version 3.30: Fri Nov 11 09:37:00 EST 2011 - rt.cpan.org#72347: Starttls array ref argument dereferenced twice [Jonathan Buhacoff] - during connect(): Port now defaults 143 or 993 if $self->Ssl [Kodi Arfer] - stop reconnect deep recursion if server disconnects on login [Luca Ferrario] - reconnect() now returns 1 on success; on error undef or 0=recursive - handle EBADF from syswrite in _send_bytes - rt.cpan.org#67263: add RFC4978 IMAP COMPRESS Extension support [SDIZ] + new method: compress() + new attributes: Compress Readmoremethod - general code cleanup: + new() now always returns $self or undef (never $sock any more) + Socket() now always return a socket or undef + login() now always return $self or undef + _read_more() will now use Readmoremethod if set - missing second arg '' for encode_base64 causing AUTHENTICATE PLAIN to fail on lines longer than 76 characters [Yoshiho Yoshida] version 3.29: Tue Aug 9 00:33:52 EDT 2011 - rt.cpan.org#69876: ENVELOPE as part of fetch_hash convenience method [Chris Huttman] + added Mail::IMAPClient::BodyStructure::Envelope->parse_string($str) convenience method for handling ENVELOPE data from fetch_hash - rt.cpan.org#68310: folders() should not call exists()/STATUS [Gilles Lamiral] - affects folders() and subscribed() methods + use selectable() instead of exists() in call - consider removing extra call to folders()/subscribed() + ensure separator is set properly in folders() + selectable now properly checks for \Noselect flag + update folders() POD to match implementation behavior - rt.cpan.org#68648: [patch]: CAPABILITY after authenticate [Stef Simoens] + delete cache after State set to Authenticate - State() is no longer an auto-generated method - rt.cpan.org#68755: provided socket loses blocking in 3.19-3.28 [Martin Schmitt] version 3.28: Fri Mar 4 00:17:38 EST 2011 - rt.cpan.org#66004: internaldate() return undef if no internaldate in reply [Jason Long] - rt.cpan.org#66367: fetch_hash uses Escaped_results() in 3.26/3.27 (redo) rt.cpan.org#63524: fetch_hash() parse errors [Mathias Reitinger] + fetch_hash: only Escape() data in parenthesized list + update fetch_hash test and add a new test - do not touch CRLF in Escape()/Unescape() - added Escape() method - rt.cpan.org#66287: flags results truncated due to Maxcommandlength [Erik Colson] - rt.cpan.org#65694: SASL PLAIN: bad order of login data [Willi Mann] version 3.27: Sun Feb 13 14:37:27 EST 2011 - rt.cpan.org#65694: migrate fails [Erik Colson] - rt.cpan.org#65470: uninitialized warning in message_to_file [Gilles Lamiral, Mark Hedges] - rt.cpan.org#61835: (DOC) in LIST context undef may be returned [Stefan Völkel] + warn/highlight behavior in docs Errors section - updated documentation + migrate() documentation fixed + moved Custom Authentication Mechanisms toward end + recommended use of scalar context due to historical API behavior version 3.26: Mon Jan 31 22:15:04 EST 2011 - *require Perl 5.8.1 as constant use is invalid on 5.6 - rt.cpan.org#63524: fetch_hash() parse errors [Brian Kroth] + fixed handling of LITERAL values in response + fixed handling of field names with a dash (e.g. X-SAVEDATE) + fetch_hash now uses Escaped_results() method - *fixed Escaped_results() to properly join LITERAL data with the data that comes before and after it - *rt.cpan.org#60945: append_file() does not interpret $date as expected [Jason Long] $date should now be 1 (to use the file mtime) or a valid RFC3501 date - *rt.cpan.org#61292: memory consumption with message_string()/append() rt.cpan.org#61806: Major problem with one function in IMAPClient [Gilles Lamiral, Casey Duquette] + use @_ / $_[<num>] in critical places to avoid pass by value memory overhead + use in memory files in a few critical places as that code path in Mail::IMAPClient is significantly more efficient with internal memory usage + *new (undocumented/do-not-use-without-good-reason) attribute Maxappendstringlength used by append() and append_string() holds the size (in bytes, default 1 MiB) that triggers when message SCALAR(s) passed to these methods will be treated as an in memory file. This attribute will likely be removed in a future version. + *append() and append_string() now call append_file() and use an im memory file when length($message) is greater than Maxappendstringlength; other minor code cleanup + *message_string() now calls message_to_file() and uses an in memory file + refactor message_to_file() to use internal _imap_uid_command() + update _read_line() to be more efficient w/CPU in critical section by pulling isa() checks out of main loop also conserve memory by not storing an extra copy of LITERAL data if the data was put into a filehandle from the caller + Memory/working set (KB) comparison (Perl 5.10 cygwin Win7): - test: message_string on 6.1M msg and then append 6.1M msg version | start | after message_string | after append --------+-------+----------------------+------------- 2.2.9 | 7624 | 74404 | 131896 3.25 | 7716 | 74408 | 156532 3.26 | 7684 | 33372 | 42608 - minor arg cleanup of noop() and tag_and_run() - rt.cpan.org#63444: relax get_envelope(), allow empty reply-to [Nikolay Kravchenko] - rt.cpan.org#61068: append_string can invalidate a good $date - rt.cpan.org#60045: Logout error if delay between BYE and tagged OK [Armin Wolfermann] no longer set an error when this happens - rt.cpan.org#61062: migrate() errors [Johan Ekenberg] + rewrote migrate() to be functional and simple - Update README and cleanup several old or out of date files version 3.25: Fri May 28 00:07:40 EDT 2010 - fix body_string parsing bug and added tests in t/body_string.t [Heiko Schlittermann] - rt.cpan.org#57661: uninitialized value warning in IMAPClient::thread [Max Bowsher] - rt.cpan.org#57337: Correctly handle multiparts in BodyStructure.pm [Robert Norris] fixes in Mail::IMAPClient::BodyStructure::bodystructure for bugs still in release 3.24 - rt.cpan.org#57659: install fails when using cPanel GUI [Ken Parisi] hack Makefile.PL to use alarm() and timeout prompt() gracefully - relax t/basic.t logout() error check (allow 'BYE' instead of 'OK') - left examples/idle.pl out of MANIFEST for 3.24 version 3.24: Fri May 7 17:02:35 EDT 2010 - rt.cpan.org#48912: wrong part numbers in multipart messages [Dmitry Bigunyak, Gabor Leszlauer] - fix Mail::IMAPClient::BodyStructure::bodystructure to properly assign parts for messages using multipart and also include .TEXT parts as well (still not including top level HEADER and TEXT though - bug?) - allow _load_module() to set $@ and LastError if module load fails - rt.cpan.org#55527: [no] disconnect during DESTROY [Stefan Seifert] - updated logout documentation to correctly state that DESTROY is not used to force an automatic logout on DESTROY despite documentation that indicated otherwise - update append* documentation to match current implementation - rt.cpan.org#55898: append_file can send too many bytes [Jeremy Robst] - avoid append_file corner cases operating on lines instead of buffers - use binmode on filehandle in append_file - add tests to t/basic.t for append_file - rt.cpan.org#57048: _quote_search() using $_ in loop instead of $v [Matthaus Kiem] - added examples/idle.pl program showing use of idle and idle_data - idle_data() should not read/block after server returns data [Marc Thielemann] - idle_data() _get_response regexp updated to not match errors - idle_data() now uses a timeout of 0 by default as documented - _get_response() now checks for defined($code) to allow $code==0
Update to 3.23, provided by Wen Heping in PR 42739. version 3.23: Fri Jan 29 00:39:27 EST 2010 - new beta idle_data() method to retrieve untagged messages during idle similar to method suggested by Daniel Richard G - added/updated documentation for idle, idle_data, and done - rt.cpan.org#53998: fix NTLM auth: call ntlm with challenge string [Dragoslav Mlakar] - report the return value from select/_read_more on errors - logout() again returns the success/failure of the LOGOUT command - set/return error when $response->() returns undef in authenticate() - new internal method _load_module() centralizing some 'require' calls - localize use $@ in several places to avoid stomping on global val - refactor code calling _read_more() to centralize error handling version 3.22: Thu Jan 21 15:25:54 EST 2010 - rt.cpan.org#52313: Getting read errors if Fast_io is set to 1 [Jukka Huhta] - updated Maxttemperrors docs related to EAGAIN handling - new starttls() method and Starttls attribute to support STARTTLS - update parse_headers to try harder to find UID in fetch response version 3.21: Tue Sep 22 19:45:13 EDT 2009 - rt.cpan.org#49691: rewrite of fetch_hash to resolve several issues [Robert Norris] includes new tests via t/fetch_hash.t - rt.cpan.org#48980: (enhancement) add support for XLIST extension [Robert Norris] - rt.cpan.org#49024: NIL personal name returned by *_addresses methods [Dmitry Bigunyak] - rt.cpan.org#49401: IMAPClient expunge fails (unless folder arg used) [Gary Baluha] - update/clarify close and expunge documentation a little version 3.20: Fri Aug 21 17:40:40 EDT 2009 - added file/tests in t/simple.t - added methods Rfc3501_date/Rfc3501_datetime used by deprecated methods Rfc2060_date/Rfc2060_datetime rt.cpan.org#48510: Rfc3501_date/Rfc3501_datetime methods do not exist [sedmonds] - login() hack to quote an empty password rt.cpan.org#48107: Cannot LOGIN with empty password [skunk]
Updated mail/p5-Mail-IMAPClient to 3.19 version 3.19: Fri Jun 19 14:59:15 EDT 2009 - *search() backwards compat: caller must quote single arg properly rt.cpan.org#47044: $imap->search does not return [ekuemmer] - cleanup regexp in _send_line() - reduce extra newlines injected by _debug() version 3.19_02: Tue Jun 9 00:47:52 EDT 2009 - _list_or_lsub() now calls _list_response_preprocess so consumers of this method no longer need to deal with how LITERAL data is represented in the returned data - update _list_or_lsub_response_parse handling of folder names that came back as literal data - update comments related to _list_response_preprocess version 3.19_01: Fri Jun 5 15:45:05 EDT 2009 - make parse_headers more robust to errors/non-header data version 3.18: Wed Jun 3 23:07:12 EDT 2009 - enhance fetch_hash to enable caller to specify list of messages suggestion by [Eugene Mamaev] - better handling of untagged BYE response version 3.18_02: Wed May 27 10:02:24 EDT 2009 - *new attribute Ssl, when true causes IO::Socket::SSL to be used instead of IO::Socket::INET. This change allows Reconnectretry logic to work on SSL connections too. - have LastError cluck() if setting error to NO not connected - handle errors from imap4rev1() in multiple places - Reconnectretry/_imap_command enhancements/fixes + only run command if IsConnected + keep a temporary history of LastError(s) + sets LastError to NO not connected if ! IsConnected + retry =~ timeout|socket closed|* BYE| NO not connected - _imap_command_do reduce data logged when using APPEND - fetch() now handles messages() errors - thread(), has_capability(), capability() better error checking - authenticate() now uses _imap_command for retry mechanism - size() now sets LastError when no RFC822.SIZE is found version 3.18_01: Fri May 22 17:08:00 EDT 2009 - *update several methods to use common _get_response() method - refactor most code handling imap responses - new internal method _get_response() to reduce code duplication - more regex cleanup $CR/$LF (not \r\n) per perlport/IMAP spec - major cleanup/fix of append_file for rt.cpan.org#42434
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]
Updated from version 3.12 to 3.14. Pkgsrc changes: o Adjust dependencies to match new requirements. Upstream changes: version 3.14: Mon Feb 16 14:18:09 CET 2009 Fixes: - isparent() when list() returns nothing. rt.cpan.org#42932 [Phil Lobbes] - Quote more characters in Massage(): add CTL, [, ], % and * rt.cpan.org#42932 [Phil Lobbes] - message_string() will only complain about a difference between reported message size and actually received size; it will not try to correct it anymore. rt.cpan.org#42987 [Phil Lobbes] - No error when empty text in append_string() rt.cpan.org#42987 [Phil Lobbes] - login() should not try authenticate() if auth is empty or undef rt.cpan.org#43277 [Phil Lobbes] version 3.13: Thu Jan 15 10:29:04 CET 2009 Fixes: - "othermessage" in bodystructure parser should expect an MD5, not bodyparams. Fix and test(!) by [Michael Stok] Improvement: - minor simplifications in code of run() and _imap_command() - get_bodystructure trace message fix [Michael Stok] - add Domain option for NTLM authentication.
Update from version 3.11 to 3.12. Upstream changes: version 3.12: Mon Nov 24 15:34:58 CET 2008 Improvement: - major performance improvement in append_message(), avoiding reading the whole file in memory as the docs promised but the code didn't do. [David Podolsky]
Update from version 3.08nb1 to 3.11. Pkgsrc changes: o Canonicalize HOMEPAGE Upstream changes: version 3.11: Wed Oct 8 10:57:31 CEST 2008 Fixes: - some SSL connections process more bytes then needed, which made the select() timeout. Nice fix by [David Sansome] rt.cpan.org#39776 Improvements: - improved example imap_to_mbox by [Ralph Sobek] version 3.10: Sun Aug 24 21:26:27 CEST 2008 Fixes: - INET socket scope error, introduced by 3.09 rt.cpan.org#38689 [Matt Moen] version 3.09: Fri Aug 22 16:38:25 CEST 2008 Fixes: - return status of append_message reversed. rt.cpan.org#36726 [Jakob Hirsch] - no line-breaks in base64 encoded strings when logging-in rt.cpan.org#36879 [David Jonas] - fix MD5 authentication. rt.cpan.org#38654 [Thomas Jarosch] Improvements: - extensions and clean-ups in examples/imap_to_mbox.pl by [Ralph Sobek] - an absolute path as Server setting will open a local ::UNIX socket, not an ::INET rt.cpan.org#38655 [Thomas Jarosch]
- updated to 3.08 Changelog: version 3.08: Tue Jun 3 09:36:24 CEST 2008 Fixes: - message_to_file used wrong command. rt.cpan.org#36184 [Parse Int] - oops, distribution released with OODoc/oodist, not make dist. [Randy Harmon] - fix parsing of body-structure information for multi-parts rt.cpan.org#36279 [Doug Claar] Improvements: - Updated README and TODO (Was 'Todo') version 3.07: Mon Apr 28 09:17:30 CEST 2008 Fixes: - expunge with no folder specified produced "use of undef" error. Fixed by [André Warnier] - additional arguments for create [Michael Bacon] - accepts LIST answer with multiple lines [Michael Bacon] - ::BodyStructure::_address() should be _addresses() Fixed by rt.cpan.org#35471 [Brian Kelly]
Update to 3.06: version 3.06: Mon Apr 14 23:44:03 CEST 2008 Fixes: - expunge without argument must use selected folder. [John W] - expunge with folder does not select it. [John W] - the documentation still spoke about "autogenerated methods", but they were removed with 2.99 [John W] - append_string needs LF -> CRLF translations, for some servers. rt.cpan.org #35031 [Jonathan Kamens] - append_string needs LF -> CRLF translations, for some servers. rt.cpan.org #35032 [Jonathan Kamens] Improvements: - added ::setquota(), thanks to [Jappe Reuling] version 3.05: Wed Feb 20 08:59:37 CET 2008 Fixes: - match ENVELOPE and BODYSTRUCTURE more strict in the grammar, to avoid confusion. [Zach Levow] - get_envelope and get_bodystructure failed for servers which did not return the whole answer in one piece. [Zach Levow] - do not produce parser errors when get_envelope does not return an envelope. [Zach Levow] - PLAIN login response possibly solely a '+' [Zach] and [Nick] version 3.04: Fri Jan 25 09:25:51 CET 2008 Fixes: - read_header fix for UID on Windows Server 2003. rt.cpan.org#32398 [Michiel Stelman] Improvements: - doc update on authentication, by [Thomas Jarosch] version 3.03: Wed Jan 9 22:11:36 CET 2008 Fixes: - LIST (f.i. used by folders()) did not return anything when the passed argument had a trailing separator. [Gunther Heintze] - Rfc2060_datetime() must include a zone. rt.cpan.org#31971 [David Golden] - folders() uses LIST, and then calls a STATUS on each of the names found. This is superfluous, and will cause problems when the STATUS fails... for instance because of ACL limitations on the sub-folder. rt.cpan.org#31962 [Thomas Jarosch] - fixed a zillion of problems in the BodyStructure parser. The original author did not understand parsing, nor Perl. - part numbering wrong when nested messages contained multiparts Improvements: - implementation of DIGEST-MD5 authentication [Thomas Jarosch] - removed call for status() in Massage(), which hopefully speeds-up things without destroying anything. It removed a possible deep recursion, which no-one reported (so should be ok to remove it) - simplified folders() algorithm. - merged folder commands, like subscribe into one. - added unsubscribe() rt.cpan.org#31268 [G Miller] - lazy-load Digest::HMAC_MD5 version 3.02: Wed Dec 5 21:33:17 CET 2007 Fixes: - Another attempt to get get FETCH UID right. Patch by [David Golden] version 3.01: Wed Dec 5 09:55:43 CET 2007 Changes: - removed version number from ::BodyStructure Fixes: - quote password at login. rt.cpan.org#31035 [Andy Harriston] - empty return of flags command should be empty list, not undef. rt.cpan.org#31195 [David Golden] - UID command does not work with folder management commands rt.cpan.org#31182 [Robbert Norris] - _read_line simplifications avoids timeouts. rt.cpan.org#31221 [Robbert Norris] - FETCH did not detect the UID of a message anymore. [David Golden] Improvements: - proxyauth for SUN/iPlanet/NetScape IMAP servers. patch by rt.cpan.org#31152 [Robbert Norris] - use grep in stead of map in one occasion in MessageSet.pm [Yves Orton] version 3.00: Wed Nov 28 09:56:54 CET 2007 Fixes: - "${peek}[]" should be "$peek\[]" for perl 5.6.1 rt.cpan.org#30900 [Gerald Richter] version 2.99_07: Wed Nov 14 09:54:46 CET 2007 Fixes: - forgot to update the translate grammar. version 2.99_06: Mon Nov 12 23:21:58 CET 2007 Fixes: - body structure can have any number of optional parameters. Patch by [Gerald Richter]. - get_bodystructure did not take the output correctly [Gerald Richter] - parser of body-structure did not handle optional body parameters Patch by [Gerald Richter], rt.cpan.org#4479 [Geoffrey D. Bennet] version 2.99_05: Mon Nov 12 00:17:42 CET 2007 Fixes: - pod error in MessageSet.pm - folders() without argument failed. [Gerald Richter] Improvements: - better use of format syntax in date formatting. - Rfc2060_datetime also contains the time. - append_file() now has options to pass flags and time of file in one go. [Thomas Jarosch] version 2.99_04: Sat Nov 10 20:55:18 CET 2007 Changes: - Simplified initiation of IMAP object with own Socket with a new option: RawSocket [Flavio Poletti] Fixes: - fixed read_line [Flavio Poletti] - fixed test-run in t/basic.t [Flavio Poletti] version 2.99_03: Thu Nov 1 12:36:44 CET 2007 Fixes: - Remove note about optional Parse::RecDescent by Makefile.PL; it is not optional anymore Improvements: - When syswrite() returns 0, that might be caused by an error as well. Take the timeout/maxtemperrors track. rt.cpan.org#4701 [C Meyer] - add NTLM support for logging-in, cleanly intergrated. Requires the user to install Authen::NTLM. version 2.99_02: Fri Oct 26 11:47:35 CEST 2007 The whole Mail::IMAPClient was rewritten, hopefully without breaking the interface. Nearly no line was untouched. The following things happened: - use warnings, use strict everywhere - removed many lines which were commented out, over the years - $self->_debug if $self->Debug checked debug flag twice - $self->LogError calls where quite inconsequent wrt $@ and carp - consequent layout, changed sporadic tabs in blanks - consequent calling convensions - \0x0d\0x0a is always \r\n - zillions of minor syntactical improvements - a few major algorithmic rewrites to simplify the code, still many oppotunities for improvements. - expanded "smart" accessor methods, search abbreviations, and autoloaded methods into separate subs. In total much shorter, and certainly better understandable! - fixed many potential bugs. - labeled some weird things with #???? Over 1000 lines (30%!) and 25kB smaller in size Needs to be tested!!!! Volunteers? Fixes: - Exchange 2007 only works with new parameter: IgnoreSizeErrors rt.cpan.org#28933 [Dregan], #5297 [Kevin P. Fleming] - Passed socket did not get selected. debian bug #401144, rt.cpan.org# [Alexander Zanger], #8480 [Karl Gaissmaier], #8481 [Karl Gaissmaier], #7298 [Herbert Engelmann] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=401144 - Seperator not correctly extracted from list command. rt.cpan.org#9236 [Eugene Koontz], #4662 [Rasjid] - migrate() Massage'd foldername twice rt.cpan.org#20703 [Peter J. Holzer] - migrate() could loop because error in regexp. rt.cpan.org#20703 [Peter J. Holzer] - migrate() append_string result not tested. rt.cpan.org#8577 [guest] - Failing fetch() returned undef, not empty list. rt.cpan.org#18361 [Robert Terzi] - Fix "use of uninitialised" warning when expunge is called rt.cpan.org#15002 [Matt Jackson] - Fix count subfolders in is_parent, regexp did not take care of regex special characters in foldername and seperator. rt.cpan.org#12883 [Mike Porter] - In fetch_hash(), the capturing of UID was too complicated (and simply wrong) rt.cpan.org#9341 [Gilles Lamiral] - overload in MessageSet treated the 3rd arg (reverse) as message-set. - do not send the password on a different line as the username in LOGIN. Suggested by many people, amongst them rt.cpan.org#4449 [Lars Uffmann] - select() with $timeout==0 (no timeout) returns immediately. Should be 'undef' as 4th select parameter. rt.cpan.org#5962 [Colin Robertson] and [Jules Agee] - examine() remembers Massage()d folder name, not the unescaped version. rt.cpan.org#7859 [guest] Improvements: - PREAUTH support by rt.cpan.org#17693 [Danny Siu] - Option "SupportedFlags", useful when the source supports different flags than the peer in migrate(). Requested by rt.cpan.org#12961 [Don Christensen] - Fast_io did not clear $@ on unimportant errors. rt.cpan.org#9835 [guest] and #11220 [Brian Helterline] - Digest::HMAC_MD5 and MIME::Base64 are now prerequisits. rt.cpan.org#6391 [David Greaves] - PLAIN (SASL) authentication added, option Proxy rt.cpan.org#5706 [Carl Provencher] - removed Bodystructure.grammar and IMAPClient.cleanup from dist. - reworked Bodystructure and MessageSet as well. - EnableServerResponseInLiteral now autodetect (hence ignored) version 2.99_01: After 4 years of silence, Mark Overmeer took maintenance. David Kernen could not be reached. Please let him contact the new maintainer. A considerable clean-up took place, fixing bug and adapting the distribution to current best practices. - use "prompt" in Makefile.PL, to please CPAN-testers - removed old Parse::RecDescent grammars - include Artistic and Copying (GPL) into COPYRIGHT file - remove INSTALL_perl5.80 - removed all the seperate Makefile.PLs and test directories - removed the hard-copy of all involved RFCs: there are better sources for those. - converted tests to use "Test::More" - Authmechanism eq 'LOGIN' understood. - test for CRAM-MD5 removed, because conflicts with test params from Makefile.PL - test for fast-io removed, it is Perl core functionality - require IO::Socket::INET 1.26 to avoid Port number work-around. - Parse::RecDescent is required, and the grammars are pre-parsed in the distribution. This makes the whole installation process a lot easier. - Update Todo, and many other texts. - added pod tester in t/pod.t - cleaned-up the rt.cpan.org bug-list from spam. The next release will contain fixes for the real reports.
Add RMD160 digests.
Update p5-Mail-IMAPClient to 2.2.9. Numerous feature additions and bug fixes, since the pkg was 4 years old.
Move to sha1 digests, and add distfile sizes.
+ move the distfile digest/checksum value from files/md5 to distinfo + move the patch digest/checksum values from files/patch-sum to distinfo