[dovecot/core] fcb388: lib-http: client: Merge max_idle_time_msecs settin...

GitHub noreply at github.com
Thu Jan 4 14:00:13 EET 2018


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: fcb3882db19a56a4421174576e4c5103de3490a5
      https://github.com/dovecot/core/commit/fcb3882db19a56a4421174576e4c5103de3490a5
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: client: Merge max_idle_time_msecs setting with setting from shared context.

While using the default global context, per-client max_idle_time_msecs setting was ignored.


  Commit: a00f5a4cf1d47cbdca0a86c34ea57902e0e24492
      https://github.com/dovecot/core/commit/a00f5a4cf1d47cbdca0a86c34ea57902e0e24492
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: client: Merge socket buffer size settings with settings from shared context.

While using the default global context, per-client socket buffer size settings were ignored.


  Commit: fda72a49ea41acd0bd085ec2e63813e01f156fdf
      https://github.com/dovecot/core/commit/fda72a49ea41acd0bd085ec2e63813e01f156fdf
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: client: Set req->client to NULL once the request is destroyed.

The http_client_request_destroy() function does not free the request
immediately, as long as it is still referenced. It can still be referenced by a
connection that has sent it and is waiting for a reply (payload). In the mean
time the actual client can be gone, so we want to make sure nothing is pointing
to that anymore.

This change adds a few extra assertions to make sure nothing tries to use a
NULL client later on. Some direct references to req->client are replaced with a
local client variable if there is one.


  Commit: ac58ae8fb539021189941651b33246b749c35297
      https://github.com/dovecot/core/commit/ac58ae8fb539021189941651b33246b749c35297
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: client: Call switching ioloop for shared peer from shared client context.

Before, it was called from the client peer.


  Commit: 4977156a495d44a5876be598b561bf1d9579e52e
      https://github.com/dovecot/core/commit/4977156a495d44a5876be598b561bf1d9579e52e
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: client: Register client objects in the associated client shared context.


  Commit: 473f30e2d1ce3a2320aeae03b32b766437ef0a13
      https://github.com/dovecot/core/commit/473f30e2d1ce3a2320aeae03b32b766437ef0a13
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: client: Base forcing shared context debug logging on the settings of the context itself and each associated client.


  Commit: ee90a96c4f47ff9c1e56451201386ca8a0b48124
      https://github.com/dovecot/core/commit/ee90a96c4f47ff9c1e56451201386ca8a0b48124
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: client: Use merged DNS settings from all clients connected to a shared context for DNS lookups.


  Commit: e0990933b4c3428f3de18cbeb5844217cb029611
      https://github.com/dovecot/core/commit/e0990933b4c3428f3de18cbeb5844217cb029611
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: client: Implicitly switch ioloop for global shared client context.

If the new ioloop is NULL, close the shared client context. In that case all
shared hosts, peers and idle connetions are closed and destroyed. The context
just remains as a container for settings and shared context. This is only
allowed when there are no clients left.


  Commit: 47baf5f9fe9a0bc50cdd74ab13c34489cc15a557
      https://github.com/dovecot/core/commit/47baf5f9fe9a0bc50cdd74ab13c34489cc15a557
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

  Changed paths:
    M src/lib-http/test-http-payload.c

  Log Message:
  -----------
  lib-http: test-http-payload: Added test with clients using shared global context.


  Commit: b0fb6815ceac8e1188d6105a7cb5a01149997b38
      https://github.com/dovecot/core/commit/b0fb6815ceac8e1188d6105a7cb5a01149997b38
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  lib-http: test-http-client: Free the ssl_iostream_context cache.


  Commit: bf5315c55718a62516e331e2696354976b4211e9
      https://github.com/dovecot/core/commit/bf5315c55718a62516e331e2696354976b4211e9
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

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

  Log Message:
  -----------
  auth: client protocol: Record minor version for authentication client connection.


  Commit: 8de6351e4f658b1100f0c19ea1af84ef2fe38753
      https://github.com/dovecot/core/commit/8de6351e4f658b1100f0c19ea1af84ef2fe38753
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

  Changed paths:
    M src/auth/auth-request-handler.c

  Log Message:
  -----------
  auth: client protocol: Recognize empty initial response field as an absent initial response for older clients.

Particularly, Exim sends an empty initial response field in the AUTH request for
an authentication command that has no initial response. Originally, Dovecot
allowed this, but this was recently changed so that the EXTERNAL SASL mechanism
works properly from ManageSieve. This commit makes it allowed again for older
authentication clients to send an empty initial response field for an
authentication command that has no initial response part. Sending '=' for an
empty initial response is still allowed in general.


Compare: https://github.com/dovecot/core/compare/9bf221d642eb...8de6351e4f65


More information about the dovecot-cvs mailing list