[dovecot/core] 0ac8ca: lib-smtp: client: Make smtp_client_connection_comm...

GitHub noreply at github.com
Tue Mar 13 07:30:35 EET 2018


  Branch: refs/heads/master-2.3
  Home:   https://github.com/dovecot/core
  Commit: 0ac8caa0e1348517b30ee041e160d9903a7f159e
      https://github.com/dovecot/core/commit/0ac8caa0e1348517b30ee041e160d9903a7f159e
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-13 (Tue, 13 Mar 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-private.h

  Log Message:
  -----------
  lib-smtp: client: Make smtp_client_connection_commands_fail_reply() more reliable by copying the command lists.

Copy the current lists of queued and waiting commands and reference each command before calling smtp_client_command_fail_reply().
Failing one command can cause other dependent commands to be aborted (in a transaction or from submission service), which could have caused trouble in this function.
Problems would likely occur at connection disconnect.


  Commit: 18f762ed72040a2ff0edff1944ffc77cadba2632
      https://github.com/dovecot/core/commit/18f762ed72040a2ff0edff1944ffc77cadba2632
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-13 (Tue, 13 Mar 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-private.h

  Log Message:
  -----------
  lib-smtp: client: Make smtp_client_connection_commands_abort() more reliable by copying the command lists.

Copy the current lists of queued and waiting commands and reference each command before calling smtp_client_command_abort().
Aborting one command can cause other dependent commands to be aborted (in a transaction or from submission service), which could have caused trouble in this function.


  Commit: ee9ceafb202ec66f053b10f7f91cc3b6f27ab132
      https://github.com/dovecot/core/commit/ee9ceafb202ec66f053b10f7f91cc3b6f27ab132
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Fix smtp_client_command_name_equals() to work properly after the command is submitted.

At command submission, CRLF is appended to command data. This messed up the name comparison.
This in turn caused a spurious QUIT command to be sent to the server at connection close.


  Commit: 57d3c493adbed33e34d1bd8e3e466b0f60eab421
      https://github.com/dovecot/core/commit/57d3c493adbed33e34d1bd8e3e466b0f60eab421
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Add assertion to smtp_client_command_write().

Makes sure it is not used after the command is submitted.


  Commit: 34f492adf7937ca881acf3ce53527e4aed4ad7be
      https://github.com/dovecot/core/commit/34f492adf7937ca881acf3ce53527e4aed4ad7be
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Make clear that XCLIENT is not sent if the server has no support.


  Commit: 46cae2d2d7ab55e61a368b6dcf3975029d1c2403
      https://github.com/dovecot/core/commit/46cae2d2d7ab55e61a368b6dcf3975029d1c2403
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M src/lib-smtp/smtp-server-cmd-xclient.c
    M src/lmtp/client.c
    M src/submission-login/client.c

  Log Message:
  -----------
  lib-smtp: server: Only accept XCLIENT command when the XCLIENT capability is active.

Report "502 Unsupported command" otherwise. Before, it would complain about the
client not being trusted, which is confusing.


  Commit: e7482beba487d44501d3ba2e51071fb6c618f3d2
      https://github.com/dovecot/core/commit/e7482beba487d44501d3ba2e51071fb6c618f3d2
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

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

  Log Message:
  -----------
  submission: Limit the set of capabilities to those that are actually supported.

Particularly, the XCLIENT capability was inappropriately enabled when the
backend MTA announced support. XCLIENT is not supported by Dovecot post-login.


Compare: https://github.com/dovecot/core/compare/3d61168a1cff...e7482beba487


More information about the dovecot-cvs mailing list