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

GitHub noreply at github.com
Sun Dec 24 11:30:09 EET 2017


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: bd06411e6f2ffc9e0122824ba4edb774bb40c26f
      https://github.com/dovecot/core/commit/bd06411e6f2ffc9e0122824ba4edb774bb40c26f
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-12-23 (Sat, 23 Dec 2017)

  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: 2dd20833b86743fe1e45c5af06d9c5f2549126e3
      https://github.com/dovecot/core/commit/2dd20833b86743fe1e45c5af06d9c5f2549126e3
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-12-23 (Sat, 23 Dec 2017)

  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: f2217546e5d72083977812c42a951ecad1757ac5
      https://github.com/dovecot/core/commit/f2217546e5d72083977812c42a951ecad1757ac5
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-12-23 (Sat, 23 Dec 2017)

  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: c37c4cc56b5dd50335208c03014a71dd0edf5513
      https://github.com/dovecot/core/commit/c37c4cc56b5dd50335208c03014a71dd0edf5513
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-12-23 (Sat, 23 Dec 2017)

  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.


Compare: https://github.com/dovecot/core/compare/df957821a4b2...c37c4cc56b5d


More information about the dovecot-cvs mailing list