[dovecot/core] abac9d: login-proxy: Fix potential crash for delayed disco...

GitHub noreply at github.com
Tue Dec 4 11:30:07 EET 2018


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: abac9d7ea6ba9c8f046afaf2ee8ef00ebcb0313c
      https://github.com/dovecot/core/commit/abac9d7ea6ba9c8f046afaf2ee8ef00ebcb0313c
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

  Changed paths:
    M src/login-common/login-proxy.c

  Log Message:
  -----------
  login-proxy: Fix potential crash for delayed disconnects

This happens only with login_proxy_max_disconnect_delay.

Fixes:
Panic: file ioloop.c: line 86 (io_add): assertion failed: (fd >= 0)


  Commit: fe373da41012546c2c6bdfa2c25e416c5a4b9067
      https://github.com/dovecot/core/commit/fe373da41012546c2c6bdfa2c25e416c5a4b9067
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

  Changed paths:
    M src/lib-smtp/smtp-syntax.c

  Log Message:
  -----------
  lib-smtp: syntax: Fix smtp_ehlo_line_parse() to also record the last parameter.


  Commit: 5404be8a0f79ef85020daeeb4d1d79c87578feaf
      https://github.com/dovecot/core/commit/5404be8a0f79ef85020daeeb4d1d79c87578feaf
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: connection: Fix copying of PROTO XCLIENT field in proxy data.


  Commit: 594e077b3bf5fb2bfd977dab0db1e111dc35226e
      https://github.com/dovecot/core/commit/594e077b3bf5fb2bfd977dab0db1e111dc35226e
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Drop smtp_client_command_mail_submit_after().

It is not used.


  Commit: 58ca3ee034571b0c4fb86a6f00e1575a7b9095c7
      https://github.com/dovecot/core/commit/58ca3ee034571b0c4fb86a6f00e1575a7b9095c7
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: common: Add smtp_proxy_data_merge().


  Commit: 858d8f4dc7833a09e6e96e54b2d189d43e059c48
      https://github.com/dovecot/core/commit/858d8f4dc7833a09e6e96e54b2d189d43e059c48
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Copy proxy data from settings using the new smtp_proxy_data_merge() functioṅ.


  Commit: e7a60cad16c8b4750e1bfa10e7d6b04b8508eb19
      https://github.com/dovecot/core/commit/e7a60cad16c8b4750e1bfa10e7d6b04b8508eb19
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Make smtp_client_connection_send_xclient() return void.


  Commit: c110513d6b106aaa1a0e8c67a957bfba8c8dcfea
      https://github.com/dovecot/core/commit/c110513d6b106aaa1a0e8c67a957bfba8c8dcfea
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Add smtp_client_connection_update_proxy_data().

Allows updating the proxy data after creation of the connection.


  Commit: a5eac2f4134657278b413313921c9314016339df
      https://github.com/dovecot/core/commit/a5eac2f4134657278b413313921c9314016339df
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Remove proxy_data parameter from smtp_client_connection_send_xclient().

Use smtp_client_connection_update_proxy_data() to change fields in the proxy
data recorded in the client.


  Commit: 5d5b6122463fb2d3d65afe7d3db252af3824f29e
      https://github.com/dovecot/core/commit/5d5b6122463fb2d3d65afe7d3db252af3824f29e
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

  Changed paths:
    M src/lib-smtp/smtp-server-cmd-mail.c
    M src/lib-smtp/smtp-server-connection.c
    M src/lib-smtp/smtp-server-private.h

  Log Message:
  -----------
  lib-smtp: server: Use the HELO domain provided to smtp_server_connection_login() immediately.

Before, it was only used when no new HELO/EHLO command was issued before MAIL.


  Commit: 33a95aaf231bd84ede4a79b490e181a206af8098
      https://github.com/dovecot/core/commit/33a95aaf231bd84ede4a79b490e181a206af8098
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

  Changed paths:
    M src/submission/submission-backend-relay.c

  Log Message:
  -----------
  submission: relay backend: Provide data for the HELO and PROTO XCLIENT fields to the relay connection.


  Commit: f685420582a42ee0871330dabb9c3b4a3450ea06
      https://github.com/dovecot/core/commit/f685420582a42ee0871330dabb9c3b4a3450ea06
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Move smtp_client_connection_send_xclient() before smtp_client_connection_authenticate().

Keeps ordering of functions logical for next changes.


  Commit: 10078949df40eae7e0e3624a0e08771a1a296341
      https://github.com/dovecot/core/commit/10078949df40eae7e0e3624a0e08771a1a296341
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Merge smtp_client_connection_init_xclient() into smtp_client_connection_authenticate().


  Commit: 82c56a704706f50d6bcb51ab12b50dd8fb5f5063
      https://github.com/dovecot/core/commit/82c56a704706f50d6bcb51ab12b50dd8fb5f5063
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Allow deferring sending the XCLIENT command until authentication or first mail transaction.

This allows updating the proxy data until the XCLIENT command actually needs to
be sent. For submission, this means that later EHLO domain changes can still be
accounted for. This change makes the simplifications in subsequent changes
easier.


  Commit: 17463f26da4c378b4c44e35bdb934dfde713c639
      https://github.com/dovecot/core/commit/17463f26da4c378b4c44e35bdb934dfde713c639
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

  Changed paths:
    M src/submission/submission-client.c

  Log Message:
  -----------
  submission: Move client_create_backend_default() after smtp_server_connection_login() in client_create().

This way, the created default backend can use the HELO data provided to smtp_server_connection_login().


  Commit: 2fc2330e61aadfcb3b3de49ebee97832db8a72ba
      https://github.com/dovecot/core/commit/2fc2330e61aadfcb3b3de49ebee97832db8a72ba
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

  Changed paths:
    M src/submission/submission-backend-relay.c

  Log Message:
  -----------
  submission: relay backend: Don't bother updating the protocol in proxy data.

Old SMTP clients cannot use the submission service, since these cannot perform
the required authentication.


  Commit: b65b580e2ab15d8bfab789cef108eae5164ce3f6
      https://github.com/dovecot/core/commit/b65b580e2ab15d8bfab789cef108eae5164ce3f6
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-12-04 (Tue, 04 Dec 2018)

  Changed paths:
    M src/lib-smtp/smtp-client-connection.c
    M src/lib-smtp/smtp-client-connection.h
    M src/lib-smtp/smtp-client-private.h
    M src/submission/submission-backend-relay.c

  Log Message:
  -----------
  lib-smtp: client: Make sending the XCLIENT command(s) always implicit and do it only once.

For most servers, XCLIENT changes the ip:port identity of the client, causing it
to lose privileges to send more XCLIENT commands. For long XCLIENT commands
split in a series of XCLIENT commands, the ip:port parameters were sent last
already, so that did not cause problems even before this change. However, the
old code assumed it could update XCLIENT fields later on, which is often not
possible.


Compare: https://github.com/dovecot/core/compare/a732b78fa343...b65b580e2ab1
      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the dovecot-cvs mailing list