[dovecot/core] fdabb3: imapc: Avoid duplicate FETCH BODY.PEEK[] when mail...

GitHub noreply at github.com
Thu Mar 1 14:36:45 EET 2018


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: fdabb36505e139faf7753f3cf4c6b3cc1d2d8de7
      https://github.com/dovecot/core/commit/fdabb36505e139faf7753f3cf4c6b3cc1d2d8de7
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-02-22 (Thu, 22 Feb 2018)

  Changed paths:
    M src/lib-storage/index/imapc/imapc-mail.c

  Log Message:
  -----------
  imapc: Avoid duplicate FETCH BODY.PEEK[] when mail is already expunged

When the first FETCH (e.g. as part of mail_prefetch()) indicated that the
mail is already expunged, there's no need to do it again.


  Commit: 20856c63a2c0f694f32db4368cea2505937570cb
      https://github.com/dovecot/core/commit/20856c63a2c0f694f32db4368cea2505937570cb
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-02-24 (Sat, 24 Feb 2018)

  Changed paths:
    M src/lib-storage/mailbox-list.c

  Log Message:
  -----------
  lib-storage: Never prevent using '/' in mailbox names with mail_full_filesystem_access=yes

It was already allowed with LAYOUT=fs, but not with e.g. LAYOUT=Maildir++.
Now it's possible to use e.g. SELECT /home/shareduser/Maildir/test.box


  Commit: 655fc45da67a4cfa63d9d12cf106961a1afc12b9
      https://github.com/dovecot/core/commit/655fc45da67a4cfa63d9d12cf106961a1afc12b9
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2018-02-24 (Sat, 24 Feb 2018)

  Changed paths:
    M src/lib-storage/mailbox-list.c
    M src/lib-storage/mailbox-list.h

  Log Message:
  -----------
  lib-storage: Add NO-FS-VALIDATION flag


  Commit: 4a29c50159f61d4d67f5942bd2250185567c8133
      https://github.com/dovecot/core/commit/4a29c50159f61d4d67f5942bd2250185567c8133
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-25 (Sun, 25 Feb 2018)

  Changed paths:
    M src/lib-smtp/smtp-client-transaction.c

  Log Message:
  -----------
  lib-smtp: client: transaction: Use the correct callback for finish timeout.


  Commit: 5bda257196690a95eb659a1a57cd0d1040ec4dc9
      https://github.com/dovecot/core/commit/5bda257196690a95eb659a1a57cd0d1040ec4dc9
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-25 (Sun, 25 Feb 2018)

  Changed paths:
    M src/lib-smtp/smtp-client-transaction.c

  Log Message:
  -----------
  lib-smtp: client: transaction: Properly advance the transaction to the DATA state once the DATA command is to be sent.


  Commit: 85a18b9917057acd6f1f718541adc0c7d149f6ee
      https://github.com/dovecot/core/commit/85a18b9917057acd6f1f718541adc0c7d149f6ee
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-25 (Sun, 25 Feb 2018)

  Changed paths:
    M src/lib-smtp/smtp-client-private.h
    M src/lib-smtp/smtp-client-transaction.c

  Log Message:
  -----------
  lib-smtp: client: transaction: Don't call the DATA callbacks upon failure until the transaction is complete.

The transaction is not complete until smtp_client_transaction_send() is called.


  Commit: b60769f0d2052e69f04138d18e1174bccd5df56a
      https://github.com/dovecot/core/commit/b60769f0d2052e69f04138d18e1174bccd5df56a
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-25 (Sun, 25 Feb 2018)

  Changed paths:
    M src/lib-smtp/smtp-client-transaction.h

  Log Message:
  -----------
  lib-smtp: client: transaction: Better document the failure handling for incomplete transactions.


  Commit: 006a3950c7feb68cef5c3754900c4c43b267b4e6
      https://github.com/dovecot/core/commit/006a3950c7feb68cef5c3754900c4c43b267b4e6
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-25 (Sun, 25 Feb 2018)

  Changed paths:
    M src/lmtp/lmtp-proxy.c

  Log Message:
  -----------
  lmtp: proxy: Do not forward 421 reply (server shutdown) from backend.

This closes the LMTP connection implicitly. Instead, translate it into a 451
4.4.0 response, just like all the other connection-related failures.


  Commit: fab1c263d60ee6a08f162af2146ff0ccf6b36061
      https://github.com/dovecot/core/commit/fab1c263d60ee6a08f162af2146ff0ccf6b36061
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/Makefile.am
    M src/lib-http/http-client-private.h
    M src/lib-http/http-client.c
    M src/lib-http/http-client.h
    A src/lib-http/http-common.h
    M src/lib-http/http-server.h

  Log Message:
  -----------
  lib-http: Create http-common.h, which contains global definitions shared by client and server.

Currently contains only the default HTTP port definitions that used to be
private to the client.


  Commit: 777776de3515b6721381d2230c4182b6401cdce1
      https://github.com/dovecot/core/commit/777776de3515b6721381d2230c4182b6401cdce1
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-url.h

  Log Message:
  -----------
  lib-http: url: Add functions that obtain the effective port for the URL.

When no port is set for the URL, it is set to 0. These functions substitute the
applicable default.


  Commit: eb580abe118fbf04431a3b297b4e79d4bf967bea
      https://github.com/dovecot/core/commit/eb580abe118fbf04431a3b297b4e79d4bf967bea
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-client-request.c

  Log Message:
  -----------
  lib-http: client: Use the new  http_url_get_port*() functions.


  Commit: 1eb1b5b429b7d1958fc63e5433aeff5d65404109
      https://github.com/dovecot/core/commit/1eb1b5b429b7d1958fc63e5433aeff5d65404109
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-client-request.c

  Log Message:
  -----------
  lib-http: client: Add "host" and "port" fields to request event.


  Commit: 370753545874ea89be54dbfb52ec77dafb7bad95
      https://github.com/dovecot/core/commit/370753545874ea89be54dbfb52ec77dafb7bad95
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-client-request.c

  Log Message:
  -----------
  lib-http: client: Reset redirect counter when the request is retried.

The absence of this reset caused problems when there was a redirect limit and
the request was retried, in which case the limit is reached too soon.


  Commit: 27521d4fae648249bcf9dbc83cd3b58682989755
      https://github.com/dovecot/core/commit/27521d4fae648249bcf9dbc83cd3b58682989755
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-client-private.h
    M src/lib-http/http-client-request.c

  Log Message:
  -----------
  lib-http: client: Record last status code in the request object.


  Commit: 924b2252e6df602cddc61c3abf61ee5a2a6bdb57
      https://github.com/dovecot/core/commit/924b2252e6df602cddc61c3abf61ee5a2a6bdb57
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-client-request.c

  Log Message:
  -----------
  lib-http: client: Trigger special events when a request is finished, retried or redirected.


  Commit: 8f985b8241246b321db52b9f63d2e6a4a83d4707
      https://github.com/dovecot/core/commit/8f985b8241246b321db52b9f63d2e6a4a83d4707
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-message-parser.h
    M src/lib-http/http-request-parser.c
    M src/lib-http/http-response-parser.c

  Log Message:
  -----------
  lib-http: message parsers: Record beginning of parsed data.


  Commit: be90d5399e65511d3161fa5f2063b048a2ee8264
      https://github.com/dovecot/core/commit/be90d5399e65511d3161fa5f2063b048a2ee8264
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-response-parser.c
    M src/lib-http/http-response-parser.h

  Log Message:
  -----------
  lib-http: response parser: Record input stream offset for the start of the last parsed response.


  Commit: 026b8778de7db026b1d42745114d8bb43c2a5d45
      https://github.com/dovecot/core/commit/026b8778de7db026b1d42745114d8bb43c2a5d45
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/lib-http/http-client-connection.c
    M src/lib-http/http-client-private.h
    M src/lib-http/http-client-request.c

  Log Message:
  -----------
  lib-http: client: Add event fields for the number of bytes sent and received for each request in the last attempt.


  Commit: 60b67403d7fe4d6f44f62d8ec8bb890345245024
      https://github.com/dovecot/core/commit/60b67403d7fe4d6f44f62d8ec8bb890345245024
  Author: codarrenvelvindron <codarren at hackers.mu>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M configure.ac
    A m4/cc_retpoline.m4

  Log Message:
  -----------
  configure: Add spectre variant 2 mitigations

--enable-hardening adds -mfunction-return=thunk and -mindirect-branch=thunk
compiler options if supported.


  Commit: 5441373137620aa8094ceafd9e698d430f5ed0d0
      https://github.com/dovecot/core/commit/5441373137620aa8094ceafd9e698d430f5ed0d0
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M src/plugins/notify/notify-plugin.c

  Log Message:
  -----------
  notify: Ignore flag and keywords update during saving

They are part of the saving event


  Commit: eaf49d968f5cbda1de3ccd45ce4d764d4bed2352
      https://github.com/dovecot/core/commit/eaf49d968f5cbda1de3ccd45ce4d764d4bed2352
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-27 (Tue, 27 Feb 2018)

  Changed paths:
    M src/lib-http/http-client-private.h
    M src/lib-http/http-client-request.c
    M src/lib-http/http-client.h

  Log Message:
  -----------
  lib-http: client: Fix request statistics text to properly report send attempts.

If the request was first sent in the same ioloop cycle in which the text is
generated, the text would claim it was not sent at all yet.

With this commit the text now explicitly makes the distinction between request
attempts and actual send attempts. The number of attempts is increased at each
retry, while the send attempts are increased each time the request is actually
being sent to a server.


  Commit: d4d69bc7603dc65fac4f7eed755f8ed5e7fd0788
      https://github.com/dovecot/core/commit/d4d69bc7603dc65fac4f7eed755f8ed5e7fd0788
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-02-27 (Tue, 27 Feb 2018)

  Changed paths:
    M src/lib-storage/index/imapc/imapc-mailbox.c

  Log Message:
  -----------
  imapc: Fix crash when untagged FETCH reply doesn't have key-value pairs

The last key with the missing value is just silently ignored.


  Commit: 54c6a8135c0ded324f7ae7d0cdf1ef177004ee2d
      https://github.com/dovecot/core/commit/54c6a8135c0ded324f7ae7d0cdf1ef177004ee2d
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-27 (Tue, 27 Feb 2018)

  Changed paths:
    M src/lib/connection.c
    M src/lib/connection.h

  Log Message:
  -----------
  lib: connection: Added support for connecting from an explicit source IP.


  Commit: b136a381ac64c99b7341830ae664ae70c726c08f
      https://github.com/dovecot/core/commit/b136a381ac64c99b7341830ae664ae70c726c08f
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-27 (Tue, 27 Feb 2018)

  Changed paths:
    M src/lib-smtp/smtp-client-connection.c
    M src/lib-smtp/smtp-client.c
    M src/lib-smtp/smtp-client.h

  Log Message:
  -----------
  lib-smtp: client: Add support for connecting from an explicit source IP.


  Commit: 418c3da5eacf9a3ef3163c02d565e7ecd54c209d
      https://github.com/dovecot/core/commit/418c3da5eacf9a3ef3163c02d565e7ecd54c209d
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-27 (Tue, 27 Feb 2018)

  Changed paths:
    M src/lmtp/lmtp-proxy.c

  Log Message:
  -----------
  lmtp: proxy: Use per-connection SMTP client settings.

This is needed for setting source IP in later change. The peer_trusted setting
must me moved, since this setting is overriden by per-connection settings,
rather than merged.


  Commit: 4bec789c788a6a3829620bf06b431effd3ec157d
      https://github.com/dovecot/core/commit/4bec789c788a6a3829620bf06b431effd3ec157d
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-02-27 (Tue, 27 Feb 2018)

  Changed paths:
    M src/lmtp/lmtp-proxy.c

  Log Message:
  -----------
  lmtp: proxy: Use source_ip proxy field if it is returned from passdb.

Before, it was ignored. Now, it is used as the source IP for the outgoing LMTP
client connection.


  Commit: 7e86d6308f3f4226c3ed42052cbeb11749821bc2
      https://github.com/dovecot/core/commit/7e86d6308f3f4226c3ed42052cbeb11749821bc2
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2018-02-28 (Wed, 28 Feb 2018)

  Changed paths:
    M m4/cc_fortify.m4
    M m4/cc_pie.m4
    M m4/cc_stack_protector.m4

  Log Message:
  -----------
  m4: Remove pthread from tests


  Commit: bc2c2ef8fc5bd1124a794b0de612b1f12321374b
      https://github.com/dovecot/core/commit/bc2c2ef8fc5bd1124a794b0de612b1f12321374b
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2018-02-28 (Wed, 28 Feb 2018)

  Changed paths:
    M m4/cc_fortify.m4

  Log Message:
  -----------
  m4: Use -U and -D in cc_fortify

Not just -D. This is to test the same thing
that gets used.


  Commit: 24cc64c148da0297352c5ee58b74962795809c42
      https://github.com/dovecot/core/commit/24cc64c148da0297352c5ee58b74962795809c42
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-02-28 (Wed, 28 Feb 2018)

  Changed paths:
    M src/lib-storage/index/imapc/imapc-sync.c

  Log Message:
  -----------
  imapc: Fix assert-crash after detecting that multiple expunged mail reappear

The first imapc_mailbox_set_corrupted() call started a reconnect. The second
call crashed with:

Panic: file imapc-client.c: line 414 (imapc_client_mailbox_reconnect): assertion failed: (!box->reconnecting)


  Commit: b658fd6c2b7ffbc0a3abf98d825cfb4fa9658e92
      https://github.com/dovecot/core/commit/b658fd6c2b7ffbc0a3abf98d825cfb4fa9658e92
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-02-28 (Wed, 28 Feb 2018)

  Changed paths:
    M doc/example-config/conf.d/10-mail.conf

  Log Message:
  -----------
  example-config: Add mail_attachment_detection_options


  Commit: d27fd02d50643362e6299bdc2fdafcaa8539ff04
      https://github.com/dovecot/core/commit/d27fd02d50643362e6299bdc2fdafcaa8539ff04
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/mail-storage.c

  Log Message:
  -----------
  lib-storage: mailbox_verify_name() - Add comments for separator checks


  Commit: 90c2995737cc1f3fe042993beb7b0b32e5375795
      https://github.com/dovecot/core/commit/90c2995737cc1f3fe042993beb7b0b32e5375795
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/mail-storage.c

  Log Message:
  -----------
  lib-storage: mailbox_verify_name() - Move prefix check to its own function

No functional changes.


  Commit: a3bab1712f660c3bbfa1a213d0f206f9b9aed3a5
      https://github.com/dovecot/core/commit/a3bab1712f660c3bbfa1a213d0f206f9b9aed3a5
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/mail-storage.c

  Log Message:
  -----------
  lib-storage: mailbox_verify_name() - Deduplicate error handling


  Commit: 2a86a88fb41f4777a937dec3b2d54dedd47ed6cc
      https://github.com/dovecot/core/commit/2a86a88fb41f4777a937dec3b2d54dedd47ed6cc
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/list/mailbox-list-maildir.c
    M src/lib-storage/mailbox-list.c
    M src/lib-storage/mailbox-list.h

  Log Message:
  -----------
  lib-storage: Add and use MAILBOX_LIST_PROP_NO_INTERNAL_NAMES

Use it to replace Maildir++ check to see if mailbox_list.is_internal_name()
is wanted to be used.


  Commit: bfaf911d4e0003f2679b1f5d36fd2f2674989ff8
      https://github.com/dovecot/core/commit/bfaf911d4e0003f2679b1f5d36fd2f2674989ff8
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/list/mailbox-list-index-backend.c

  Log Message:
  -----------
  LAYOUT=index: Don't prevent using internal mailbox names

For example with Maildir it wasn't possible to create mailboxes named "new",
"cur" or "tmp".


  Commit: f2646a16aa86104b243866d285d0c6cace50306b
      https://github.com/dovecot/core/commit/f2646a16aa86104b243866d285d0c6cace50306b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/index/mbox/mbox-storage.c

  Log Message:
  -----------
  mbox: Enable .imap/ index directories with all layouts

LAYOUT=fs isn't any special here. The mboxes are created as files just the same
for LAYOUT=Maildir++ and for LAYOUT=index and it's not possible to create index
files under them.


  Commit: 0c53ce6cb7afde3ddee2b3f8eb297ab2c7b03482
      https://github.com/dovecot/core/commit/0c53ce6cb7afde3ddee2b3f8eb297ab2c7b03482
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/list/mailbox-list-index-backend.c

  Log Message:
  -----------
  LAYOUT=index: Don't mkdir index root directory at init

It's not really needed, since anything that needs it will automatically
mkdir it later as well. This also breaks using LAYOUT=index with mbox,
because the mbox code hasn't yet had a chance to override the index root
path so it was mkdired without the .imap/ suffix.


  Commit: c85316993ddcdaf55a5dec74013a7dc05b795d5a
      https://github.com/dovecot/core/commit/c85316993ddcdaf55a5dec74013a7dc05b795d5a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/index/mbox/mbox-storage.c

  Log Message:
  -----------
  mbox: Default INBOX=<root path>/inbox only with LAYOUT=fs

It's likely not a valid path with other layouts.


  Commit: 53a5b5d2283d33561253f5ccf5dae0e9be0fb103
      https://github.com/dovecot/core/commit/53a5b5d2283d33561253f5ccf5dae0e9be0fb103
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/index/mbox/mbox-sync.c

  Log Message:
  -----------
  mbox: Fix creating mailbox when mailbox_update struct is given without uidvalidity

This especially fixes a crash when creating mboxes with LAYOUT=index:

Panic: file mbox-sync.c: line 1241 (mbox_write_pseudo): assertion failed: (uid_validity != 0)


  Commit: 4b7cc6ef2e9d848f275965789165939649b6a4de
      https://github.com/dovecot/core/commit/4b7cc6ef2e9d848f275965789165939649b6a4de
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/index/cydir/cydir-storage.c

  Log Message:
  -----------
  cydir: Fix crash when using mailbox_get_metadata()


  Commit: e3fd3e1a6aac7cba78b147bcdd06eedb34039f3d
      https://github.com/dovecot/core/commit/e3fd3e1a6aac7cba78b147bcdd06eedb34039f3d
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/test-mail-storage.c

  Log Message:
  -----------
  lib-storage: test-mail-storage - Add framework for doing storage tests


  Commit: 66fa646212a2c1cfd3ec45f97488b6a8ae41cdc0
      https://github.com/dovecot/core/commit/66fa646212a2c1cfd3ec45f97488b6a8ae41cdc0
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2018-03-01 (Thu, 01 Mar 2018)

  Changed paths:
    M src/lib-storage/mail-storage-private.h
    M src/lib-storage/mail-storage.c
    M src/lib-storage/test-mail-storage.c

  Log Message:
  -----------
  lib-storage: Add tests for mailbox_verify_name


Compare: https://github.com/dovecot/core/compare/cc2b3aefaa55...66fa646212a2


More information about the dovecot-cvs mailing list