[dovecot/core] 05e721: lib-http: client: Fixed race condition between DNS...

GitHub noreply at github.com
Fri May 26 09:30:12 EEST 2017


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: 05e721c729fa857deb188d5d04f2200c7dcf4983
      https://github.com/dovecot/core/commit/05e721c729fa857deb188d5d04f2200c7dcf4983
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

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

  Log Message:
  -----------
  lib-http: client: Fixed race condition between DNS refresh lookup and a soft connection timeout.

The refreshing DNS lookup cleared all the IPs, but the soft connection timeout (and maybe other code) still relied on them.
Adding tests everywhere for host->ips_count == 0 is annoying, so I changed the DNS lookup code such that the stale IPs remain present while the DNS lookup is being performed.
The pending lookup prevents new connections through http_client_host_refresh(), so this will not create potentially useless connections.


  Commit: 046da899ea94a7e5fcbf24f936c485ca7dd4cbba
      https://github.com/dovecot/core/commit/046da899ea94a7e5fcbf24f936c485ca7dd4cbba
  Author: Josef 'Jeff' Sipek <jeff.sipek at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M src/imap/main.c

  Log Message:
  -----------
  imap: login reply should be sent sooner


  Commit: 8bfa9cb19dc8784566778c575972073f73614942
      https://github.com/dovecot/core/commit/8bfa9cb19dc8784566778c575972073f73614942
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

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

  Log Message:
  -----------
  lib-storage: Fix mailbox list index notifications when modseqs aren't enabled.

No notifications were sent if highest_modseqs weren't updated in mailbox
list index.


  Commit: 9dbd45d67a46283029edf8bf1a5a2cdc304459d0
      https://github.com/dovecot/core/commit/9dbd45d67a46283029edf8bf1a5a2cdc304459d0
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

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

  Log Message:
  -----------
  lib-storage: Always update highestmodseq in mailbox list index

This is required for mailbox-list-notify API to work correctly. For
example IMAP NOTIFY session with CONDSTORE enabled could be listening for
FlagChanges, but another session without CONDSTORE enabled could be updating
flags in a mailbox that has never been opened with CONDSTORE enabled.
NOTIFY wouldn't see this change, unless it was always written to
dovecot.list.index.


  Commit: 63aca9f0dd903f63eb524baf6aa4905f8c036beb
      https://github.com/dovecot/core/commit/63aca9f0dd903f63eb524baf6aa4905f8c036beb
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M src/lib-storage/index/imapc/imapc-list.c
    M src/lib-storage/index/shared/shared-list.c
    M src/lib-storage/list/mailbox-list-fs.c
    M src/lib-storage/list/mailbox-list-index-backend.c
    M src/lib-storage/list/mailbox-list-maildir.c
    M src/lib-storage/list/mailbox-list-none.c

  Log Message:
  -----------
  lib-storage: Explicitly name function pointers in mailbox lists

This allows adding more fields to struct mailbox_list_vfuncs without
compiler warnings.


  Commit: 1d9ac066530453b40f9838f0de620d06aa1902b1
      https://github.com/dovecot/core/commit/1d9ac066530453b40f9838f0de620d06aa1902b1
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

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

  Log Message:
  -----------
  lib-storage: Implement mailbox_list_notify_flush()

This flushes any pending notifications. For now it only checks if there's
a pending notification waiting for a timeout. It could also stat() the
files to make sure, but that's probably unnecessary.


  Commit: 575f81ed8b06991d87917208ca7846e80eb736c5
      https://github.com/dovecot/core/commit/575f81ed8b06991d87917208ca7846e80eb736c5
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M src/imap/cmd-noop.c
    M src/imap/imap-notify.c
    M src/imap/imap-notify.h

  Log Message:
  -----------
  imap NOTIFY: Flush any pending notifications on NOOP

This is mainly to allow testing NOTIFY easily with imaptest scripts.
This is cheap anyway, because mailbox_list_notify_flush() doesn't do any
syscalls when there's no work.


  Commit: f328c5f1eea91ce1d7b080ea5ee8ba43827e0ab0
      https://github.com/dovecot/core/commit/f328c5f1eea91ce1d7b080ea5ee8ba43827e0ab0
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M src/imap/imap-master-client.c

  Log Message:
  -----------
  imap: Fix unhibernation after earlier change


  Commit: 4cb79ce30dfee00db302e3636d1bf1dee072d9e1
      https://github.com/dovecot/core/commit/4cb79ce30dfee00db302e3636d1bf1dee072d9e1
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

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

  Log Message:
  -----------
  lib-storage: Fix mail_storage_last_error_push/pop() to work with internal errors


  Commit: e4c8ed20946f682ed32b1281b61eca0622086af9
      https://github.com/dovecot/core/commit/e4c8ed20946f682ed32b1281b61eca0622086af9
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

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

  Log Message:
  -----------
  lib-storage: Fix mail_storage_set_critical() when input parameter is an old internal error

This could have caused garbage in the error string.


  Commit: 216ad31fa6ed0eaf0fa0a6322f77bff078bb3cc0
      https://github.com/dovecot/core/commit/216ad31fa6ed0eaf0fa0a6322f77bff078bb3cc0
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

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

  Log Message:
  -----------
  lib-storage: Add unit test for set/get/push/pop storage error operations


  Commit: dccb984465ba274aea8c14dfddaa9a13a83a0603
      https://github.com/dovecot/core/commit/dccb984465ba274aea8c14dfddaa9a13a83a0603
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-26 (Fri, 26 May 2017)

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

  Log Message:
  -----------
  lib-storage: Fix memory leak in test-mail-storage


Compare: https://github.com/dovecot/core/compare/f0802d0abbd7...dccb984465ba


More information about the dovecot-cvs mailing list