Changelog v0.4.17:
- LDA Sieve plugin: Fixed handling of an early explicit keep during
multiscript execution. Action side-effects and the message snapshot
would be lost at the final stage where the implicit keep is
evaluated. This could result in the IMAP flags assigned to the
message to be forgotten or that headers modified by the "editheader"
extension would revert to their original state.
- file script storage: Amended the up-to-date time stamp comparison for
on-disk binaries to include nanoseconds. This will fix problems
occurring when both binary and script are saved within the same
second. This fix is ineffective on older systems that have no support
for nanoseconds in stat() timestamps, which should be pretty rare
nowadays.
- file script storage: Improve saving and listing permission error to
include more details.
- imapsieve plugin: Make sure "INBOX" is upper case in static mailbox
rules. Otherwise, the mailbox name would never match, since matching
is performed case-sensitively and Dovecot only returns the
upper-cased "INBOX".
- imapsieve plugin: Fixed assert failure occurring when used with
virtual mailboxes.
- doveadm sieve plugin: Fixed crash when setting Sieve script via
attribute's string value.
Approved by: adamw
Reviewed by: https://reviews.freebsd.org/D9818
- login_disabled option before starttls for pop3
- fix compiler warnings for GCC5
- Fix IMAP mailbox maintanence
- prevent assertion in p_string_erase
- improve crypt authentication, also don't segfault when spasswd is empty
- simplify log_query_time duration logic
- Disconnect IMAP clients if only few free FDs left
- Add primary key constraint to dbmail_authlog
- Rework temporary connection failures
- Give sensible default for retry 120s
- Add retries for binding and searching
- Bump search timeout to 60s
- Increase ldap timeout to 600s 10 mins
- Refactor deprecated functions
- Get timeout from config
- Remove redundant event_assign
- Remove deprecated non functioning g_mem_profile
- Add definition for authldap_free
- Revert inadvertent event_assign removal
- Reduce failed LDAP connection for search to error
- Update LDAP to non deprecated search
- Clear the ldap connection
- Update ldap deprecated unbind
- Fix typo
- Update to ldap_unbind_ext_s and remove redundant sigaction
- Rebalance commit rollback
- Ensure mailbox2dbmail is using Python 2
- Tidy mailbox2dbmail man page
- Update description of pid file location in server man page
- Boundaries fixups ordering of parts do not add newline on
- Prepend headers during delivery
- Allow for systems that don't use proc
PR: 210274
Submitted by: fluffy
* director: "doveadm director move" to same host now refreshes user's
timeout. This allows keeping user constantly in the same backend by
just periodically moving the user there.
* When new mailbox is created, use initially INBOX's
dovecot.index.cache caching decisions.
* Expunging mails writes GUID to dovecot.index.log now only if the
GUID is quickly available from index/cache.
* pop3c: Increase timeout for PASS command to 5 minutes.
* Mail access errors are no longer ignored when searching or sorting.
With IMAP the untagged SEARCH/SORT reply is still sent the same as
before, but NO reply is returned instead of OK.
+ Make dovecot.list.index's filename configurable. This is needed when
there are multiple namespaces pointing to the same mail root
(e.g. lazy_expunge namespace for mdbox).
+ Add size.virtual to dovecot.index when folder vsizes are accessed
(e.g. quota=count). This is mainly a workaround to avoid slow quota
recalculation performance when message sizes get lost from
dovecot.index.cache due to corruption or some other reason.
+ auth: Support OAUTHBEARER and XOAUTH2 mechanisms. Also support them
in lib-dsasl for client side.
+ auth: Support filtering by SASL mechanism: passdb { mechanisms }
+ Shrink the mail processes' memory usage by not storing settings
duplicated unnecessarily many times.
+ imap: Add imap_fetch_failure setting to control what happens when
FETCH fails for some mails (see example-config).
+ imap: Include info about last command in disconnection log line.
+ imap: Created new SEARCH=X-MIMEPART extension. It's currently not
advertised by default, since it's not fully implemented.
+ fts-solr: Add support for basic authentication.
+ Cassandra: Support automatically retrying failed queries if
execution_retry_interval and execution_retry_times are set.
+ doveadm: Added "mailbox path" command.
+ mail_log plugin: If plugin { mail_log_cached_only=yes }, log the
wanted fields only if it doesn't require opening the email.
+ mail_vsize_bg_after_count setting added (see example-config).
+ mail_sort_max_read_count setting added (see example-config).
+ pop3c: Added pop3c_features=no-pipelining setting to prevent using
PIPELINING extension even though it's advertised.
- Index files: day_first_uid wasn't updated correctly since v2.2.26.
This caused dovecot.index.cache to be non-optimal.
- imap: SEARCH/SORT may have assert-crashed in
client_check_command_hangs
- imap: FETCH X-MAILBOX may have assert-crashed in virtual mailboxes.
- imap: Running time in tagged command reply was often wrongly 0.
- search: Using NOT n:* or NOT UID n:* wasn't handled correctly
- director: doveadm director kick was broken
- director: Fix crash when using director_flush_socket
- director: Fix some bugs when moving users between backends
- imapc: Various error handling fixes and improvements
- master: doveadm process status output had a lot of duplicates.
- autoexpunge: If mailbox's rename timestamp is newer than mail's
save-timestamp, use it instead. This is useful when autoexpunging
e.g. Trash/* and an entire mailbox is deleted by renaming it under
Trash to prevent it from being autoexpunged too early.
- autoexpunge: Multiple processes may have been trying to expunge the
same mails simultaneously. This was problematic especially with
lazy_expunge plugin.
- auth: %{passdb:*} was empty in auth-worker processes
- auth-policy: hashed_password was always sent empty.
- dict-sql: Merge multiple UPDATEs to a single statement if possible.
- fts-solr: Escape {} chars when sending queries
- fts: fts_autoindex_exclude = \Special-use caused crashes
- doveadm-server: Fix leaks and other problems when process is reused
for multiple requests (service_count != 1)
- sdbox: Fix assert-crash on mailbox create race
- lda/lmtp: deliver_log_format values weren't entirely correct if Sieve
was used. especially %{storage_id} was broken.
- lmtp_user_concurrency_limit didn't work if userdb changed username
SECURITY FIX: don't allow to delete protected aliases
(CVE-2017-5930, PR#23).
Following non-security bugs were fixed:
- Fix VacationHandler for PostgreSQL
- AliasHandler: restrict mailbox subquery to allowed and specified domains to improve performance on setups with
+lots of mailboxes
- Allow switching between dovecot: password schemes while still accepting passwords hashed using the previous dov
+ecot: scheme
- FetchmailHandler: use a valid date as default for 'date'
- Fix date formatting in non-english languages when using PostgreSQL
PR: 216932
Submitted by: lukasz@wasikowski.net
Approved by: maintainer, mat (mentor)
Differential Revision: https://reviews.freebsd.org/D9521
This port has failed in a multijob environment a couple of times already.
This latest time, the race failure was:
mu4e-proc.el:26:1:Error: Opening pty: No such file or directory
gmake[2]: *** [Makefile:583: mu4e-proc.elc] Error 1
This package branch is no more developed/supported upstream since about 2011.
There is devel/py-turbogears2 (current stable and supported branch) in ports
tree. Since there are no ports, depending on that, mark them deprecated and
set to expire at 2017-03-03
Discussed with: nivit, wen (maintainers, by mail)
gcc49 -Wall -O2 -I/usr/local/include -DPREFIX=\"/usr/local\" -c getline.c
In file included from getline.c:38:0:
getline.h:74:5: error: conflicting types for 'getline'
int getline(int fd, struct linebuf * l);
^
In file included from getline.c:30:0:
/usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd12.0/4.9.4/include-fixed/stdio.h:375:10: note: previous declaration of 'getline' was here
ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict);
^
getline.c:67:5: error: conflicting types for 'getline'
int getline(int fd, struct linebuf * l){
^
In file included from getline.c:30:0:
/usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd12.0/4.9.4/include-fixed/stdio.h:375:10: note: previous declaration of 'getline' was here
ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict);
^
Reported by: pkg-fallout