- add an explicit expunge when closing an IMAP mailbox, for servers that
incorrectly do not do this when the mailbox is closed. Thanks: Nicolas
Pomarède.
- fix incorrect section reference for `mailboxes` parameter in documentation.
Thanks: Ross Boylan.
- fix getmail_fetch broken in 4.21.0. Thanks: Chris Donoghue.
Module Name: pkgsrc
Committed By: sbd
Date: Wed Dec 7 20:39:19 UTC 2011
Modified Files:
pkgsrc/mail/cyrus-imapd: Makefile
pkgsrc/mail/cyrus-imapd23: Makefile
pkgsrc/mail/cyrus-imapd24: Makefile
Log Message:
If a package Makefile is going to try and detect a builtin libraray it
should honor the PREFER* variables.
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
thing happens from time to time with python27 as with python26.
Whatever's going on apparently strikes randomly, so changing something
and rebuilding successfully doesn't prove that you've fixed it.
* Introduce scripts option to install optional scripts.
Changelog:
Version 1.4.26:
- A new version of the msmtpq script fixes serious bugs. To update to the new
version of the script, you need to remove the old msmtpQ symlink, change
msmtpQ to msmtpq in your MUA config, and use msmtp-queue for queue management.
Changes from previous:
2011-10-26 Hatuka*nezumi - IKEDA Soji <hatuka@nezumi.nu>
* Release 1.012.4.
* Chg: encode_mimewords(): 'B' was advantageous over 'Q' by 4/3 byte
on average...
* Updated address of FSF.
2011-06-05 Hatuka*nezumi - IKEDA Soji <hatuka@nezumi.nu>
* Release 1.012.3.
* Fix: encode_mimewords(): inproper handling of Encoding => 'S'.
* Imp: decode_mimewords(): Broken "Q" encoding also warned: "=" not
leading two hexdigits (raw " " and "\t" are allowed).
* Imp: encode_mimewords(): negative MaxLineLen allows unlimited length
of line.
* Encode::MIME::EncWords: Rewritten. 0.03.
- Any newlines not forming folding white space are preserved.
cf. CPAN RT #68582 for standard encodings.
- Error handling.
* Doc: typos etc.
2011-06-01 Hatuka*nezumi - IKEDA Soji <hatuka@nezumi.nu>
* Release 1.012.2.
* Chg: encode_mimewords(): By 'A' or 'S' encodings, 'Q' will be used
more often: When number of bytes to be encoded exceeds 6th of
entire bytes, words may be encoded by 'B'. In other words,
``S encoding'' is to choose shorter one of 'B' or 'Q' according to
length of maximally-encoded result.
* Fix: encode_mimewords(): Pure ASCII words containing unsafe sequence
ignored Encoding option; encoded by header_encoding() of its charset.
* Updated Encode::MIME::EncWords.
* Added test #03 & #04. Added UTF-8 cases to #02.
2011-05-29 Hatuka*nezumi - IKEDA Soji <hatuka@nezumi.nu>
* Release 1.012.1.
* Unicode/multibyte support on Perl 5.7.3 (experimental).
* New: Encode::MIME::EncWords [alpha release] - Encode module for
"MIME-EncWords", "MIME-EncWords-B", "MIME-EncWords-Q" and
"MIME-EncWords-ISO_2022_JP".
* Requires MIME::Charset >= 1.008.2.
+ Sieve vacation extension: made discard message for implicit
delivery more verbose
- The sieve-test tool: mixed up original and final envelope recipient
in implementation of command line arguments.
- Sieve vacation extension: resolved FIXME regarding the use of
variables in the :handle argument. Variables are now handled
correctly.
- Sieve body extension: fixed handling of :content "message/rfc822".
This now yields the headers of the embedded message as required by
the specification. Handling of :content "multipart" remains to be
fixed.
- LDA Sieve plugin: fixed problem with recipient_delimiter
configuration. Now it falls back to global recipient_delimiter
setting if plugin/recipient_delimiter is not set.
Changes from previous:
0.185 2011-08-11
do not die in t/valid.t when testing for working DNS
(address RT #70157, thanks, Alexey Tourbin)
avoid a pointless warning (mentioned in RT #68312)
check TLD validity before MX records
(address RT #32237, thanks, meyerdigital)
reject addresses with non-ASCII characters
(address RT #50230, thanks, ferreira)
* VSZ limits weren't being enforced for any processes. On server with
large mailboxes you may now see errors about it if the limits aren't
high enough. To fix them, either increase individual service {
vsz_limit } values or simply increase the default_vsz_limit setting.
* Proxying: If using ssl=yes or starttls=yes with a hostname (not IP)
as proxy destination, require that the certificate matches the given
hostname.
* LMTP: Changed default client_limit to 1. This should improve LMTP
throughput with default settings.
* dsync: Quota is no longer enforced (i.e. dsync can't fail because
user is over quota).
+ Added "auto" mail storage driver, which can be used to autodetect
mailbox location and format. This behavior is already the default
for empty mail_location setting, so this change is mainly useful for
shared namespace's location setting.
+ checkpassword: Export all auth %variables to AUTH_* environment.
A bug fix release of 1.8.0.
Now, manager.event_loop_backend and manager.n_workers aren't
experimental!
=== milter manager
==== Improvements
* [applicable-condition][sendmail] clear DNS cache for each 100 IP
addresses.
==== Fixes
* detach IO for launcher on daemon mode.
use milter_client_is_run_as_daemon() to get whether daemonize or
not. [Reported by OBATA Akio]
* add a workaround for Ruby cleanup.
If environment variable
MILTER_MANAGER_RUBY_STOP_TIMER_THREAD_BEFORE_CLEANUP=yes,
skip timer thread before cleanup.
* use rb_fork() as fork implementation.
This will fix --daemon doesn't work on *BSD.
[Reported by OBATA Akio]
* use INCLUDES to use configured libev include path rather than
CPPFLAGS. [Reported by moto kawasaki]
=== milter-core
==== Fixes
* fix missing null FD close by inverted condition.
[Reported by OBATA Akio]
=== milter-client
==== Improvements
* use higher priority for accepting connection.
==== Fixes
* fix a bug that workers don't shutdown on master shutdown. It's
GLib evnet loop backend specific problem.
=== milter-server
==== Improvements
* add more information to error message.
* [server] unify unknown name logging.
==== Fixes
* fix a bug that all milters can't find on 2nd RCPT in the same
session.
=== Ruby milter
==== Improvements
* add Milter::Client::Configuration::MilterConfiguration#name.
==== Fixes
* fix event_loop_created hook can't get event loop.
* do not raise error if process raw shift_jis mail file. Ruby 1.9.
* udpate bundled test-unit file list. [Reported by Hirohisa Yamaguchi]
* [ruby][glib2] fix a SEGV bug on Solaris10.
=== milter-test-server
==== Fixes
* fix quoted charset detection. [Reported by nobu]
* fix multiline header parsing.
* --mail-file keeps new line type of the original mail.
=== Document
==== Improvements
* add log list to HTML.
* fix typos. [Pull requested by Norio Suzuki]
=== Admin
==== Improvements
* use locale "en" if Accept-Language is not "ja".
[Reported by Larry G. Wapnitsky]
8.0 changes:
Thunderbird is based on the new Mozilla Gecko 8 engine
Add-ons installed by third party programs are now disabled by default
New Search and Find Shortcuts
Improved accessibility of the attachment list
Folder switching pane widget has been removed, can be added back with the
Folder Pane View Switcher Add-on
Numerous platform fixes to stability
Fixed several security issues
7.0 changes:
Thunderbird is based on the new Mozilla Gecko 7 engine
Several user interface fixes and improvements
Several fixes to attachment handling
Ability to print a summary of selected email messages
Platform improvements to Address Book
Fixed several security issues
Numerous platform fixes that improve speed, performance and stability
Changes from previous:
0.110001 2011-04-03 16:32:15 America/New_York
prevent Test::MinimumVersion test from causing a requirement on T::MV
and, thus, PPI! Thanks for the report, Matt S. Trout!
0.110000 2011-03-17 21:40:36 America/New_York
provide a much clearer and more fatal error when SASL authentication
has failed because Authen::SASL or MIME::Base64 is not available
Change from previous:
3.004 2011-02-18
If present, MIME::Entity must be v5.501; v5.500 had a regression (or
a bug fix, depending how you look at it) that broke header-reading.
While technically older versions that are not 5.500 would work, it is
much simpler to just require the newest version, rather than to
support a version range with a hole in it.
Postfix stable release 2.8.7 is available. This contains a workaround
for a problem that is fixed in Postfix 2.9.
* The postscreen daemon, which is not enabled by default, sent
non-compliant SMTP responses (220- followed by 421) when it
could not give a connection to a real smtpd process. These
responses caused some remote SMTP clients to return mail as
undeliverable.
The workaround is to hang up after sending 220- without sending
the 421 "sorry" reply; this is harmless.
The complete fix involves too much change for a stable release:
send the 220 greeting, wait for the EHLO command, then send
the 421 "sorry" reply and hang up.
Changes from previous:
1.910 2011-09-12
document the header_str arg to ->create more thoroughly (i.e., at all)
1.909 2011-09-08
dial the perl prereq back to 5.8.1 by popular demand... actually
1.908 2011-06-01
dial the perl prereq back to 5.8.1 by popular demand
1.907 2011-02-02
require 5.8.5 for sane encoding
be more lenient with Content-Tranfser-Encoding values; stop at
semicolons