Commit Graph

76 Commits

Author SHA1 Message Date
Michal Hlavinka
3203a05c7d Fixed crash in auth process when auth-policy was configured and
authentication was aborted/failed without a username set.
- director: If two users had different tags but the same hash,
  the users may have been redirected to the wrong tag's hosts.
- Index files may have been thought incorrectly lost, causing
  "Missing middle file seq=.." to be logged and index rebuild.
  This happened more easily with IMAP hibernation enabled.
- Various fixes to restoring state correctly in un-hibernation.
- dovecot.index files were commonly 4 bytes per email too large. This
  is because 3 bytes per email were being wasted that could have been
  used for IMAP keywords.
- Various fixes to handle dovecot.list.index corruption better.
- lib-fts: Fixed assert-crash in address tokenizer with specific input.
- Fixed assert-crash in HTML to text parsing with specific input
  (e.g. for FTS indexing or snippet generation)
- doveadm sync -1: Fixed handling mailbox GUID conflicts.
- sdbox, mdbox: Perform full index rebuild if corruption is detected
  inside lib-index, which runs index fsck.
- quota: Don't skip quota checks when moving mails between different
  quota roots.
- search: Multiple sequence sets or UID sets in search parameters
  weren't handled correctly. They were incorrectly merged together.
2016-12-05 10:41:59 +01:00
Michal Hlavinka
621a521183 dovecot updated to 2.2.26.0, pigeonhole updated to 0.4.16
- master process's listener socket was leaked to all child processes.
  This might have allowed untrusted processes to capture and prevent
  "doveadm service stop" comands from working.
- login proxy: Fixed crash when outgoing SSL connections were hanging.
- auth: userdb fields weren't passed to auth-workers, so %{userdb:*}
  from previous userdbs didn't work there.
- auth: Fixed auth_bind=yes + sasl_bind=yes to work together
- lmtp: %{userdb:*} variables didn't work in mail_log_prefix
- Fixed writing >2GB to iostream-temp files (used by fs-compress,
  fs-metawrap, doveadm-http)
- fts-solr: Fixed searching multiple mailboxes
- and more...
2016-10-31 16:13:54 +01:00
Michal Hlavinka
4e13d130a0 dovecot updated to 2.2.25
- doveadm backup was sometimes deleting entire mailboxes unnecessarily.
- doveadm: Command -parameters weren't being sent to doveadm-server.
- if dovecot.index read failed e.g. because mmap() reached VSZ limit,
  an empty index could have been opened instead, corrupting the
  mailbox state.
- lazy-expunge: Fixed a crash when copying failed. Various other fixes.
- fts-lucene: Fixed crash on index rescan.
- dict-ldap: Various fixes
- dict-sql: NULL values crashed. Now they're treated as "not found".
2016-07-04 16:16:17 +02:00
Michal Hlavinka
f4c61be70c dovecot updated to 2.2.24
- Huge header lines could have caused Dovecot to use too much memory
- dsync: Detect and handle invalid/stale -s state string better.
- dsync: Fixed crash caused by specific mailbox renames
- auth: Auth cache is now disabled passwd-file.
- fts-tika: Don't crash if it returns 500 error
- dict-redis: Fixed timeout handling
- SEARCH INTHREAD was crashing
- stats: Only a single fifo_listeners was supported, making it impossible to
  use both auth_stats=yes and mail stats plugin.
- SSL errors were logged in separate "Stacked error" log lines instead of as
  part of the disconnection reason.
- MIME body parser didn't handle properly when a child MIME part's --boundary
  had the same prefix as the parent.
- pigeonhole updated to 0.4.14
- extprograms plugin: Fixed epoll() panic caused by closing the output
  FD before the output stream.
- Made sure that the local part of a mail address is encoded properly
  using quoted string syntax when it is not a dot-atom.
2016-04-27 11:27:42 +02:00
Michal Hlavinka
cc37c37fa9 dovecot updated to 2.2.23, pigeonhole updated to 0.4.13
- Various fixes to doveadm. Especially running commands via
  doveadm-server was broken.
- director: Fixed user weakness getting stuck in some situations
- director: Fixed a situation where directors keep re-sending
  different states to each others and never becoming synced.
- director: Fixed assert-crash related to a slow "user killed" reply
- Fixed assert-crash related to istream-concat, which could have
  been triggered at least by a Sieve script.
2016-03-31 17:23:11 +02:00
Michal Hlavinka
8c9abbf261 dovecot updated to 2.2.22
- auth: Auth caching was done too aggressively when %variables were
  used in default_fields, override_fields or LDAP pass/user_attrs.
  userdb result_* were also ignored when user was found from cache.
- imap: Fixed various assert-crashes caused v2.2.20+. Some of them
  caught actual hangs or otherwise unwanted behavior towards IMAP
  clients.
- Expunges were forgotten in some situations, for example when
  pipelining multiple IMAP MOVE commands.
- quota: Per-namespaces quota were broken for dict and count backends
  in v2.2.20+
- fts-solr: Search queries were using OR instead of AND as the
  separator for multi-token search queries in v2.2.20+.
- Single instance storage support wasn't really working in v2.2.16+
- dbox: POP3 message ordering wasn't working correctly.
- virtual plugin: Fixed crashes related to backend mailbox deletions.
2016-03-16 13:58:24 +01:00
Michal Hlavinka
6c7ce94860 pigeonhole updated to 0.4.12
- multiscript: Fixed bug in handling of (implicit) keep; final keep action was
  always executed as though there was a failure.
- managesieve-login: Fixed proxy to allow SASL mechanisms other than PLAIN.
- ldap storage: Prevent segfault occurring when assigning certain (global)
  configuration options.
2016-02-08 16:46:41 +01:00
Michal Hlavinka
27efdc43f0 pigeonhole updated to 0.4.11
- Sieve mime extension: Fixed the header :mime :anychild test to work properly
  outside a foreverypart loop.
- Fixed assert failure occurring when text extraction is attempted on a
  empty or broken text part.
- Fixed assert failure in handling of body parts that are converted to text.
- Fixed header unfolding for (mime) headers parsed from any mime part.
- Fixed trimming for (mime) headers parsed from any mime part.
- Fixed erroneous changes to the message part tree structure performed when
  re-parsing the message.
- LDA Sieve plugin: Fixed bug in error handling of script storage initialization
- Fixed duplication of discard actions in the script result.
- Made sure that quota errors never get logged as errors in syslog.
2016-01-28 11:50:38 +01:00
Michal Hlavinka
dc5e809093 dovecot updated to 2.2.21
- doveadm mailbox list (and some others) were broken in v2.2.20
- director: Fixed making backend changes when running with only a
  single director server.
- virtual plugin: Fixed crash when trying to open nonexistent
  autocreated backend mailbox.
- pigeonhole updated to 0.4.10
- implemented the Sieve mime and foreverypart extensions (RFC 5703).
+ sieve body extension: Properly implemented the `:text' body
  transform. It now extracts text for HTML message parts.
- variables extension: Fixed handling of empty string by the `:length'
  set modifier. An empty string yielded an empty string rather than "0".
- Fixed memory leak in the Sieve script byte code dumping facility.
  Extension contexts were never actually freed.
- doveadm sieve plugin: Fixed crashes caused by incorrect context
  allocation in the sieve command implementations.
2015-12-16 13:27:15 +01:00
Michal Hlavinka
7fbbaf9773 dovecot updated to 2.2.20
- director: Backend tags weren't working correctly.
- ldap: tls_* settings weren't used for ldaps URIs.
- ldap, mysql: Fixed setting connect timeout.
- auth: userdb lookups via auth-worker couldn't change username
- dsync: Fixed handling deleted directories. Make sure we don't go to
  infinite mailbox renaming loop.
- imap: Fixed crash in NOTIFY when there were watched namespaces that
  didn't support NOTIFY.
- imap: After SETMETADATA was used, various commands (especially FETCH)
  could have started hanging when their output was large.
- stats: Idle sessions weren't refreshed often enough, causing stats
  process to forget them and log errors about unknown sessions when
  they were updated later.
- stats: Fixed "Duplicate session ID" errors when LMTP delivered to
  multiple recipients and fts_autoindex=yes.
- zlib plugin: Fixed copying causing cache corruption when zlib_save
  wasn't set, but the source message was compressed.
- fts-solr: Fixed escaping Solr query parameters.
- lmtp: quota_full_tempfail=yes was ignored with
  lmtp_rcpt_check_quota=yes
2015-12-08 09:38:42 +01:00
Michal Hlavinka
7e0f121e5e dovecot updated to 2.2.19
- mdbox: Rebuilding could have caused message's reference count to
  overflow the 16bit number in some situations, causing problems when
  trying to expunge the duplicates.
- Various search fixes (fts, solr, tika, lib-charset, indexer)
- Various virtual plugin fixes
- Various fixes and optimizations to dsync, imapc and pop3-migration
- imap: Various RFC compliancy and crash fixes to NOTIFY
- pigeonhole updated to 0.4.9
- ManageSieve: Fixed an assert failure occurring when a client
  disconnects during the GETSCRIPT command.
- doveadm sieve plugin: Fixed incorrect initialization (mem leaks) of mail user.
- sieve-filter command line tool: Fixed handling of failure-related
  implicit keep when there is an explicit default destination folder.
- lib-sieve: Fixed bug in RFC5322 header folding.
2015-10-05 13:02:53 +02:00
Michal Hlavinka
00c784df4e update pigeonhole to 0.4.8
- Fixed problem in address test: erroneously decoded mime-encoded words in
  address headers.
- extprograms plugin: Fixed failure occurring when connecting to script
  service without the need to read back the output from the external program.
- Fixed bug in script storage path normalization occurring with relative
  symbolic links below root.
2015-05-18 10:26:58 +02:00
Michal Hlavinka
407352a4eb director: Login UNIX sockets were normally detected as doveadm or
director ring sockets, causing it to break in existing installations.
- sdbox: When copying a mail in alt storage, place the destination to
  alt storage as well.
2015-05-15 15:19:40 +02:00
Michal Hlavinka
c4ef51f5aa dovecot updated to 2.2.16
- auth: Don't crash if master user login is attempted without
  any configured master=yes passdbs
- Parsing UTF-8 text for mails could have caused broken results
  sometimes if buffering was split in the middle of a UTF-8 character.
  This affected at least searching messages.
- String sanitization for some logged output wasn't done properly:
  UTF-8 text could have been truncated wrongly or the truncation may
  not have happened at all.
- fts-lucene: Lookups from virtual mailbox consisting of over 32
  physical mailboxes could have caused crashes.
2015-03-16 12:42:18 +01:00
Michal Hlavinka
36260035e4 fix crash related to logging BYE notifications (#1176282)
- update pigeonhole to 0.4.6
2015-01-05 09:36:54 +01:00
Michal Hlavinka
a0c43f9f3e dovecot updated to 2.2.15
- various race condition fixes to LAYOUT=index
- v2.2.14 virtual plugin crashed in some situations
2014-10-30 14:03:27 +01:00
Michal Hlavinka
4beaca435e dovecot updated to 2.2.14, pigeonhole updated to 0.4.3
- fixed several race conditions with dovecot.index.cache handling that
  may have caused unnecessary "cache is corrupted" errors.
- auth: If auth client listed userdb and disconnected before finishing,
  the auth worker process got stuck
- imap-login, pop3-login: Fixed potential crashes when client
  disconnected unexpectedly.
- imap proxy: The connection was hanging in some usage patterns.
2014-10-17 15:36:50 +02:00
Michal Hlavinka
b0e24df588 dovecot updated to 2.2.13
- fixes CVE-2014-3430: denial of service through maxxing out SSL connections
- pop3 server was still crashing in v2.2.12
- maildir: Various fixes and improvements to handling compressed mails
- fts-lucene, fts-solr: Fixed crash on search when the index contained
  duplicate entries.
- mail_attachment_dir: Attachments with the last base64-encoded line
  longer than the rest wasn't handled correctly.
- IMAP: SEARCH/SORT PARTIAL was handled completely wrong in v2.2.11+
- acl: Global ACL file handling was broken when multiple entries
  matched the mailbox name
2014-05-12 17:59:47 +02:00
Michal Hlavinka
ccd0cf09e4 dovecot updated to 2.2.12
- fixes pop3 crash
2014-02-14 12:30:11 +01:00
Michal Hlavinka
7ac1e9ea66 dovecot updated to 2.2.11 2014-02-13 10:10:59 +01:00
Michal Hlavinka
1753244ff8 dovecot updated to 2.2.10
- quota-status: quota_grace was ignored
- ldap: Fixed memory leak with auth_bind=yes and without
  auth_bind_userdn.
- imap: Don't send HIGHESTMODSEQ anymore on SELECT/EXAMINE when
  CONDSTORE/QRESYNC has never before been enabled for the mailbox.
- imap: Fixes to handling mailboxes without permanent modseqs.
  (When [NOMODSEQ] is returned by SELECT, mainly with in-memory
  indexes.)
- imap: Various fixes to METADATA support.
- stats plugin: Processes that only temporarily dropped privileges
  (e.g. indexer-worker) may have been logging errors about not being
  able to open /proc/self/io.
2014-01-02 17:37:29 +01:00
Michal Hlavinka
0c5c743ea0 improved cache file handling exposed several old bugs related to fetching
mail headers.
- iostream handling changes were causing some connections to be disconnected
  before flushing their output
2013-11-25 10:58:30 +01:00
Michal Hlavinka
680863f7be Fixed infinite loop in message parsing if message ends with
"--boundary" and CR (without LF). Messages saved via SMTP/LMTP can't
  trigger this, because messages must end with an "LF.". A user could
  trigger this for him/herself though.
- lmtp: Client was sometimes disconnected before all the output was
  sent to it.
- replicator: Database wasn't being exported to disk every 15 minutes
  as it should have. Instead it was being imported, causing "doveadm
  replicator remove" commands to not work very well.
2013-11-20 17:12:58 +01:00
Michal Hlavinka
7a3fe1431f dovecot updated to 2.2.7
- master process was doing a hostname.domain lookup for each created
  process, which may have caused a lot of unnecessary DNS lookups.
- dsync: Syncing over 100 messages at once caused problems in some
  situations, causing messages to get new UIDs.
- fts-solr: Different Solr hosts for different users didn't work.
2013-11-04 17:08:31 +01:00
Michal Hlavinka
ddae93e1d0 dovecot updated to 2.2.6, pigeonhole updated to 0.4.2
- director: v2.2.5 changes caused "SYNC lost" errors
- dsync: Many fixes and error handling improvements
- doveadm -A: Don't waste CPU by doing a separate config lookup
  for each user
- Long-running ssl-params process no longer prevents Dovecot restart
- mbox: Fixed mailbox_list_index=yes to work correctly
2013-10-01 18:55:23 +02:00
Michal Hlavinka
5716e092b0 dovecot updated to 2.2.5
- added some missing man pages (by Pascal Volk)
- director: Users near expiration could have been redirected to
  different servers at the same time.
- pop3: Avoid assert-crash if client disconnects during LIST.
- mdbox: Corrupted index header still wasn't automatically fixed.
- dsync: Various fixes to work better with imapc and pop3c storages.
- ldap: sasl_bind=yes caused crashes, because Dovecot's lib-sasl
  symbols conflicted with Cyrus SASL library.
2013-08-07 12:01:43 +02:00
Michal Hlavinka
fd319c32d0 dovecot pigeonhole updated to 0.4.1 2013-07-30 16:17:10 +02:00
Michal Hlavinka
62233275a1 dovecot updated to 2.2.4
- imap/pop3 proxy: Master user logins were broken in v2.2.3
- sdbox/mdbox: A corrupted index header with wrong size was never
  automatically fixed in v2.2.3.
- mbox: Fixed assert-crashes related to locking.
2013-06-25 12:33:26 +02:00
Michal Hlavinka
b88813508d dovecot updated to 2.2.3
- IMAP: If subject contained only whitespace, Dovecot returned an
  ENVELOPE reply with a huge literal value, effectively causing the
  IMAP client to wait for more data forever.
- IMAP: Various URLAUTH fixes.
- imapc: Various bugfixes and improvements
- pop3c: Various fixes to make it work in dsync (without imapc)
- dsync: Fixes to syncing subscriptions. Fixes to syncing mailbox
  renames.
2013-06-17 13:32:47 +02:00
Michal Hlavinka
8afd89fbd1 dovecot updated to 2.2.2
- IMAP: Various URLAUTH fixes.
- IMAP: Fixed a hang with invalid APPEND parameters.
- IMAP LIST-EXTENDED: INBOX was never listed with \Subscribed flag.
- mailbox_list_index=yes still caused crashes.
- maildir: Fixed a crash after dovecot-keywords file was re-read.
- maildir: If files had reappeared unexpectedly to a Maildir, they
  were ignored until index files were deleted.
- Maildir: Fixed handling over 26 keywords in a mailbox.
- imap/pop3-login proxying: Fixed a crash if TCP connection succeeded,
  but the remote login timed out.
2013-05-20 15:50:35 +02:00
Michal Hlavinka
9d7b6ac353 upload new source file 2013-05-16 11:59:56 +02:00
Michal Hlavinka
1b545d9d4d dovecot updated to 2.2.1
- mailbox_list_index=yes was broken.
- LAYOUT=index didn't list subscriptions.
- auth: Multiple master passdbs didn't work.
- Message parsing (e.g. during search) crashed when multipart message
  didn't actually contain any parts.
- dovecot updated to 2.2.1
2013-04-19 13:55:40 +02:00
Michal Hlavinka
4cab58b13d dovecot updated to 2.2.0
- Mailbox list indexes weren't using proper file permissions based
  on the root directory.
- replicator: doveadm commands and user list export may have skipped
  some users.
- Various fixes to mailbox_list_index=yes
2013-04-15 13:14:22 +02:00
Michal Hlavinka
0b71efd9d6 dovecot updated to 2.2 RC4
- various bugfixes to LDAP changes in rc3
2013-04-05 15:46:47 +02:00
Michal Hlavinka
4b438bfe16 dovecot updated to 2.2 RC3
- Fixed a crash when decoding quoted-printable content.
- dsync: Various bugfixes
2013-03-27 16:05:31 +01:00
Michal Hlavinka
ad771a9d2a major update to dovecot 2.2 RC2 2013-02-27 13:06:12 +01:00
Michal Hlavinka
fc84e28b36 dovecot updated to 2.1.15
- v2.1.14's dovecot.index.cache fixes caused Dovecot to use more disk I/O
  and memory than was necessary.
2013-02-11 17:34:58 +01:00
Michal Hlavinka
eb14d4821d dovecot updated to 2.1.14
- v2.1.11+ had a race condition where it sometimes overwrote data in
  dovecot.index.cache file. This could have caused Dovecot to return
  the same cached data to two different messages.
- mdbox: Fixes to handling duplicate GUIDs during index rebuild
2013-01-31 10:21:40 +01:00
Michal Hlavinka
073781ea2a dovecot updated to 2.1.13
- Some fixes to cache file changes in v2.1.11.
- virtual storage: Sorting mailbox by from/to/cc/bcc didn't work.
2013-01-15 17:56:02 +01:00
Michal Hlavinka
3f11383314 dovecot updated to 2.1.12
- lmtp proxy: Fixed hanging if remote server was down.
- doveadm: Various fixes to handling doveadm-server connections.
- auth: passdb imap was broken in v2.1.10.
2012-12-03 10:58:58 +01:00
Michal Hlavinka
03b4bb7134 dovecot updated to 2.1.10, pigeonhole updated to 0.3.3
- director: In some conditions director may have disconnected from
  another director (without logging about it), thinking it was sending
  invalid data.
- imap: Various fixes to listing mailboxes.
- login processes crashed if there were a lot of local {} or remote {}
  settings blocks.
2012-09-19 12:08:01 +02:00
Michal Hlavinka
a86ae9ba56 dovecot updated to 2.1.9
- Full text search indexing might have failed for some messages,
  always causing indexer-worker process to run out of memory.
- fts-lucene: Fixed handling SEARCH HEADER FROM/TO/SUBJECT/CC/BCC when
  the header wasn't lowercased.
- fts-squat: Fixed crash when searching a virtual mailbox.
- pop3: Fixed assert crash when doing UIDL on empty mailbox on some
  setups.
- auth: GSSAPI RFC compliancy and error handling fixes.
- Various fixes related to handling shared namespaces
2012-08-02 10:26:08 +02:00
Michal Hlavinka
f83b71388b pigeonhole updated to 0.3.1
- Fixed several small issues, including a few potential segfault bugs, based
  on static source code analysis.
2012-07-03 10:35:02 +02:00
Michal Hlavinka
5a0b2d4236 dovecot updated to 2.1.8
- imap: Mailbox names were accidentally sent as UTF-8 instead of mUTF-7
  in previous v2.1.x releases for STATUS, MYRIGHTS and GETQUOTAROOT commands.
- lmtp proxy: Don't timeout connections too early when mail has a lot of RCPT TOs.
- director: Don't crash if the director is working alone.
- shared mailboxes: Avoid doing "@domain" userdb lookups.
- doveadm: Fixed crash with proxying some commands.
- fts-squat: Fixed handling multiple SEARCH parameters.
- imapc: Fixed a crash when message had more than 8 keywords.
- imapc: Don't crash on APPEND/COPY if server doesn't support UIDPLUS.
2012-07-03 09:29:44 +02:00
Michal Hlavinka
8176def266 updated to 2.1.7
- v2.1.5: Using "~/" as mail_location or elsewhere failed to actually
  expand it to home directory.
- dbox: Fixed potential assert-crash when reading dbox files.
- trash plugin: Fixed behavior when quota is already over limit.
- mail_log plugin: Logging "copy" event didn't work.
- Proxying to backend server with SSL: Verifying server certificate
  name always failed, because it was compared to an IP address.
2012-05-30 10:18:47 +02:00
Michal Hlavinka
04f6a1d889 v2.1.5: Using "~/" as mail_location or elsewhere failed to actually
expand it to home directory.
- dbox: Fixed potential assert-crash when reading dbox files.
- trash plugin: Fixed behavior when quota is already over limit.
- Proxying to backend server with SSL: Verifying server certificate
  name always failed, because it was compared to an IP address.
2012-05-09 10:26:49 +02:00
Michal Hlavinka
c9cc177990 IMAP: Several fixes related to mailbox listing in some configs
- director: A lot of fixes and performance improvements
- mbox: Deleting a mailbox didn't delete its index files.
- pop3c: TOP command was sent incorrectly
- trash plugin didn't work properly
- LMTP: Don't add a duplicate Return-Path: header when proxying.
- listescape: Don't unescape namespace prefixes.
2012-04-24 13:14:53 +02:00
Michal Hlavinka
43bd98bb09 dovecot updated to 2.1.4
- Proxying SSL connections crashed in v2.1.[23]
- fts-solr: Indexing mail bodies was broken.
- director: Several changes to significantly improve error handling
- doveadm import didn't import messages' flags
- mail_full_filesystem_access=yes was broken
- Make sure IMAP clients can't create directories when accessing
  nonexistent users' mailboxes via shared namespace.
- Dovecot auth clients authenticating via TCP socket could have failed
  with bogus "PID already in use" errors.
2012-04-10 11:14:25 +02:00
Michal Hlavinka
eec7b76ed0 dovecot updated to 2.1.3
- multi-dbox format in dovecot 2.1.2 was broken
- temporarily disable check phase until bug #798968 is fixed
2012-03-19 11:52:25 +01:00
Michal Hlavinka
b8a9b34979 dovecot updated to 2.1.2
- doveadm sync: If mailbox was expunged empty, messages may have
  become back instead of also being expunged in the other side.
- imap_id_* settings were ignored before login.
- Several fixes to mailbox_list_index=yes
- Previous v2.1.x didn't log all messages at shutdown.
2012-03-16 16:26:11 +01:00