[dovecot/core] 380bf2: doveconf: Don't read freed memory.

GitHub noreply at github.com
Tue Jan 24 10:00:14 UTC 2017


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: 380bf2ab0ecf0ca0e9e67ab2780ecf810f8a8116
      https://github.com/dovecot/core/commit/380bf2ab0ecf0ca0e9e67ab2780ecf810f8a8116
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/config/doveconf.c

  Log Message:
  -----------
  doveconf: Don't read freed memory.

Giving -c parameter frees the returned orig_config_path.


  Commit: 63bdb77c9079a4b4950c387bae1e36b4e74c7483
      https://github.com/dovecot/core/commit/63bdb77c9079a4b4950c387bae1e36b4e74c7483
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/doveadm/doveadm-director.c

  Log Message:
  -----------
  doveadm direcor add: Fix checking number as hostname.

521c0460fe705f32ea6899c8b1f101043fe0898c was completely broken.


  Commit: 875efb0134a751f3bf640c417bccb8199f0b00d3
      https://github.com/dovecot/core/commit/875efb0134a751f3bf640c417bccb8199f0b00d3
  Author: Josef 'Jeff' Sipek <jeff.sipek at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

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

  Log Message:
  -----------
  index: don't try to unlink in-memory cache file

Avoid these errors:

Error: unlink((in-memory index).cache) failed: No such file or directory (in mail-cache.c:29)


  Commit: 94c6000f87596125e3bf12ec0d35a2cf407ca6d3
      https://github.com/dovecot/core/commit/94c6000f87596125e3bf12ec0d35a2cf407ca6d3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/master/service-monitor.c

  Log Message:
  -----------
  master: Remove unnecessary service listener start

The listening was already started later on in the same function. Also
in some cases it would have been started unnecessarily, like when service
was stopped or more processes were created immediately.


  Commit: 44ecba558ba0806dfe1e8ad1113bd9e29bfe6fcc
      https://github.com/dovecot/core/commit/44ecba558ba0806dfe1e8ad1113bd9e29bfe6fcc
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

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

  Log Message:
  -----------
  lib-http: client: Keep connection reference throughout http_client_connection_return_response().

Before, it was held in two intervals.
Next commit requires this change, but it also simplifies this function significantly.


  Commit: 372b2fab6c494c1b93428121991a3ec6e38f38dd
      https://github.com/dovecot/core/commit/372b2fab6c494c1b93428121991a3ec6e38f38dd
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

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

  Log Message:
  -----------
  lib-http: client: Make sure req->conn is only not NULL when that connection holds a reference to that request.

This consolidates the management of req->conn to one place, thereby preventing mishaps.
It makes sure req->conn is always properly assigned, making it more reliable.
This fixes a problem that emerged in the http-proxy.


  Commit: affc86a757f72f8f01f04dc579721cb35feb62dc
      https://github.com/dovecot/core/commit/affc86a757f72f8f01f04dc579721cb35feb62dc
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

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

  Log Message:
  -----------
  lib-storage: Fix mailbox's vsize header check for mailboxes not in dovecot.list.index

If mailbox wasn't yet in the dovecot.list.index, mailbox_list_index_status()
for it returns FALSE and doesn't initialize the status. In some situations this
may have caused a non-empty mailbox's vsize to be returned as 0.


  Commit: 349ad03e4941819f53778f3406165fdab1b2d36c
      https://github.com/dovecot/core/commit/349ad03e4941819f53778f3406165fdab1b2d36c
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/lib-index/mail-cache-fields.c
    M src/lib-index/mail-cache.h

  Log Message:
  -----------
  lib-index: Unconstify mail_cache_register_get_list

This way the result is usable as input for
mail_cache_register_fields.


  Commit: 21149ee1f7494c774d91d71477f046bba3a968ea
      https://github.com/dovecot/core/commit/21149ee1f7494c774d91d71477f046bba3a968ea
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/lib-index/mail-cache-decisions.c
    M src/lib-index/mail-cache.h

  Log Message:
  -----------
  lib-index: Add mail_cache_decisions_copy

This allows priming cache decisions for a folder.


  Commit: 722cfd377d0f475896495b3a122d04b3e1533b41
      https://github.com/dovecot/core/commit/722cfd377d0f475896495b3a122d04b3e1533b41
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

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

  Log Message:
  -----------
  lib-storage: Copy cache decisions from inbox on create

Otherwise the decisions are definitely wrong, since
they are nonexistent. Copying from INBOX would make sense.


  Commit: 30d3f03eb199e19f4a0c78d0dc2c9c225f121e38
      https://github.com/dovecot/core/commit/30d3f03eb199e19f4a0c78d0dc2c9c225f121e38
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/director/director.c

  Log Message:
  -----------
  director: Add assert to make sure USER-MOVE doesn't change tag


  Commit: 8f4bd3b5e48a95842b1fd4bda285c81809a48431
      https://github.com/dovecot/core/commit/8f4bd3b5e48a95842b1fd4bda285c81809a48431
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/director/director.c

  Log Message:
  -----------
  director: Make sure USER-KILLED isn't sent before USER-MOVE

If USER-MOVE was for a user that didn't exist, killing sent USER-KILLED
immediately before the forwarding USER-MOVE. This caused the move to get
stuck, giving errors like:

director: Error: Finishing user 3224731354 move timed out, its state may now be inconsistent (state=waiting-for-everyone)


  Commit: e6b3e477e52a4bdcae9544220f72c169c8f7eeee
      https://github.com/dovecot/core/commit/e6b3e477e52a4bdcae9544220f72c169c8f7eeee
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/director/doveadm-connection.c

  Log Message:
  -----------
  director: Ignore doveadm user move if host is already the same.


  Commit: 956c62ec66e4465a4b8a53a536048de940f1e935
      https://github.com/dovecot/core/commit/956c62ec66e4465a4b8a53a536048de940f1e935
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/director/director.c

  Log Message:
  -----------
  director: Fix USER-MOVE getting stuck if a director already uses the correct host


  Commit: 9f6e40058fbe674c49642f9cde71d7977fce6731
      https://github.com/dovecot/core/commit/9f6e40058fbe674c49642f9cde71d7977fce6731
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/director/director.c

  Log Message:
  -----------
  director: Add more debug logging for moving & killing users


  Commit: 5c2dc4a4d8999bae90fabbc159d82dc44e9490ed
      https://github.com/dovecot/core/commit/5c2dc4a4d8999bae90fabbc159d82dc44e9490ed
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

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

  Log Message:
  -----------
  imapc: Fix assert-crash on some connect failures

imapc_storage_has_modseqs() causes imapc_client_get_capabilities() to be
called, which assert-crashes if there isn't a valid connection:

Panic: file imapc-client.c: line 438 (imapc_client_get_capabilities): assertion failed: (conn != NULL)


  Commit: 5328a2e7bfa8390de61aaf30e9718237cddfb49f
      https://github.com/dovecot/core/commit/5328a2e7bfa8390de61aaf30e9718237cddfb49f
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/lib-sasl/dsasl-client-private.h
    M src/lib-sasl/dsasl-client.c
    M src/lib-sasl/dsasl-client.h

  Log Message:
  -----------
  lib-sasl: Add API for setting and getting extra values

This allows setting extra parameters for authentication
and recovering extended result information from
mechanism.


  Commit: f9cc83c76aab5701243bbc961d54394063915313
      https://github.com/dovecot/core/commit/f9cc83c76aab5701243bbc961d54394063915313
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M src/lib-sasl/Makefile.am
    M src/lib-sasl/dsasl-client-private.h
    M src/lib-sasl/dsasl-client.c
    A src/lib-sasl/mech-oauthbearer.c

  Log Message:
  -----------
  lib-sasl: Add OAUTHBEARER and XOAUTH2 mechanism


  Commit: fa940ae81a1147ae9aba25dc69929ba7f8e63863
      https://github.com/dovecot/core/commit/fa940ae81a1147ae9aba25dc69929ba7f8e63863
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

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

  Log Message:
  -----------
  lib-http: client: Fixed handling of errors occurring for unsubmitted requests during http_client_request_send_payload().

When http_client_request_send_payload() is executed for the first time, the request is submitted.
Errors occurring during submission don't trigger a callback immediately.
Instead, these are queued in the client and will trigger a callback when an ioloop is run with the client.
However, in http_client_request_send_payload() the ioloop is never executed when the request fails that way, meaning that
the callback was never called. Since for example SOLR assumes the callback is always called for an error in
http_client_request_send_payload(), this causes all kinds of problems.

Fixed by manually handling the delayed request errors in http_client_request_send_payload() explicitly.


Compare: https://github.com/dovecot/core/compare/a9ed8ae48614...fa940ae81a11


More information about the dovecot-cvs mailing list