[dovecot/core] fb297d: virtual plugin: Minor cleanup/fix - find the names...

GitHub noreply at github.com
Wed Jan 13 12:43:07 UTC 2016


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: fb297df915b623e8d83632abcd42182cbd86174a
      https://github.com/dovecot/core/commit/fb297df915b623e8d83632abcd42182cbd86174a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-01-13 (Wed, 13 Jan 2016)

  Changed paths:
    M src/plugins/virtual/virtual-config.c

  Log Message:
  -----------
  virtual plugin: Minor cleanup/fix - find the namespace after we have processed special prefixes.

We already skipped over them earlier, but the logic wasn't exactly the same
as when they were actually being processed, so there could have been some
unexpected mismatches.


  Commit: 77a2367051db01c6fc8cc575242d8a7f5b2c1d42
      https://github.com/dovecot/core/commit/77a2367051db01c6fc8cc575242d8a7f5b2c1d42
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-01-13 (Wed, 13 Jan 2016)

  Changed paths:
    M src/plugins/virtual/virtual-config.c
    M src/plugins/virtual/virtual-storage.h

  Log Message:
  -----------
  virtual plugin: Don't treat "+-box" as a negative entry.

This was already documented by wiki to work as a mailbox named "-box",
although it didn't actually work that way. There wasn't any practical
difference between "+-box" and "-box", so this change is unlikely to break
anyone's config. It was mainly done as code cleanup.


  Commit: 28d6a9ec6b055ad6141f0961fe971543f781d4a6
      https://github.com/dovecot/core/commit/28d6a9ec6b055ad6141f0961fe971543f781d4a6
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-01-13 (Wed, 13 Jan 2016)

  Changed paths:
    M src/plugins/virtual/virtual-config.c

  Log Message:
  -----------
  virtual plugin: Cleaned up behavior of '!' prefix with '+' and '-'

It makes a bit more sense now. Mainly the difference is that "!foo*" means
to save mails to a mailbox called "foo*", instead of including mailboxes
matching "!foo*" pattern to the virtual mailbox. It's unlikely anyone was
relying on this behavior.


  Commit: bffa23c1beaa139d63ae033f9c1da5de05281565
      https://github.com/dovecot/core/commit/bffa23c1beaa139d63ae033f9c1da5de05281565
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-01-13 (Wed, 13 Jan 2016)

  Changed paths:
    M src/lib-imap-storage/imap-metadata.c

  Log Message:
  -----------
  lib-imap-storage: imap_metadata_get*() returned 1 also when value wasn't found.


  Commit: 27f174f3b836b18cb81cd1e6534031f1f3355348
      https://github.com/dovecot/core/commit/27f174f3b836b18cb81cd1e6534031f1f3355348
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-01-13 (Wed, 13 Jan 2016)

  Changed paths:
    M src/plugins/virtual/Makefile.am
    M src/plugins/virtual/virtual-config.c
    M src/plugins/virtual/virtual-storage.h

  Log Message:
  -----------
  virtual plugin: Added support for filtering mailboxes by METADATA entries.

Usage:

<mailbox patterns as usual>
[-]/<metadata-entry-name>:<value-wildcard>

There can be multiple metadata entries. All the entries must match.

For example:

*
/private/vendor/vendor.dovecot/virtual:*
-/private/vendor/vendor.dovecot/virtual:ignore

This matches all mailboxes, which contain a virtual METADATA entry that has
any value except "ignore".

Note that the current implementation requires still opening all the mailboxes
before matching the METADATA entries. This could be avoided in v2.3 with some
lib-storage API changes.


Compare: https://github.com/dovecot/core/compare/02c335c23bf5...27f174f3b836


More information about the dovecot-cvs mailing list