[dovecot/core | refs/heads/master] 2cb65102: lib-smtp: command: Move main loop from sub-function to smtp_client_command_send_more() itself.

noreply at dovecot.org noreply at dovecot.org
Tue Jan 22 17:00:07 EET 2019


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: 2cb65102f5ba988a5722c4072c56ea37b1496091
      https://github.com/dovecot/core/commit/2cb65102f5ba988a5722c4072c56ea37b1496091
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2019-01-22 (Tue, 22 Jan 2019)

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

  Log Message:
  -----------
  lib-smtp: command: Move main loop from sub-function to smtp_client_command_send_more() itself.

This reduces code indent in smtp_client_command_do_send_more() (the
sub-function) and it turns the inifite for loop into a nice conditional
while loop.

  Commit: 243d85c0f6a65ebd49dcf607a97aff694b738ab3
      https://github.com/dovecot/core/commit/243d85c0f6a65ebd49dcf607a97aff694b738ab3
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2019-01-22 (Tue, 22 Jan 2019)

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

  Log Message:
  -----------
  lib-smtp: test-smtp-client-errors: Test early DATA command success and error replies.

Early success for the DATA command is treated as a protocol error, while early
failure is allowed. Both situations are tested in a new scenario for the
test-smtp-client-errors unit test.

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

  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: Fix handling of non-blocking command payload stream.

By inference, this fixes the handling of non-blocking transaction payload as
well. No io was created when the payload stream returned no data.

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

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

  Log Message:
  -----------
  lib-smtp: test-smtp-client-errors: Add test scenario for premature success replies.

Such replies are sent immediately along with the reply of the previous command.
So, the reply is sent before the corresponding command is even submitted. This
tests whether the client handles this erroneous situation correctly.

  Commit: 9f1614cb7129fe297702329e89aeea9621d6c7f2
      https://github.com/dovecot/core/commit/9f1614cb7129fe297702329e89aeea9621d6c7f2
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2019-01-22 (Tue, 22 Jan 2019)

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

  Log Message:
  -----------
  lib-smtp: test-smtp-payload: Add option to test payload exchange with small socket buffers.

This is not part of the normal `make check` procedure, since using small socket
buffers makes the test extremely slow.

  Commit: 4f5f68c6c4d53c6c8d0e4b1e36f5d8a2f4e21913
      https://github.com/dovecot/core/commit/4f5f68c6c4d53c6c8d0e4b1e36f5d8a2f4e21913
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2019-01-22 (Tue, 22 Jan 2019)

  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: Allow receiving replies before command data stream is sent completely.

This avoids unnecessary problems with servers that reply somewhat early to DATA
and BDAT commands. For one, early failure replies are now handled properly.
Also, race conditions at the client between sending the closing CRLF.CRLF and
receiving the DATA reply are no longer causing problems.

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

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

  Log Message:
  -----------
  lib-smtp: client: Put moving a command from the queue to the wait list in a separate function.

  Commit: 7bec82a70eef0edb8d76c599b445b48f2a4dc74b
      https://github.com/dovecot/core/commit/7bec82a70eef0edb8d76c599b445b48f2a4dc74b
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2019-01-22 (Tue, 22 Jan 2019)

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

  Log Message:
  -----------
  lib-smtp: client: Put determining the status of the command pipeline in a separate function.

  Commit: 29bfd8ef4bb14a60863a671a72066b406c9dd2f6
      https://github.com/dovecot/core/commit/29bfd8ef4bb14a60863a671a72066b406c9dd2f6
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2019-01-22 (Tue, 22 Jan 2019)

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

  Log Message:
  -----------
  lib-smtp: client: Put sending the command line in a separate function.

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

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

  Log Message:
  -----------
  lib-smtp: client: Don't put connection in TRANSACTION state unless there's a transaction.

Fixes hang occurring when connection is ready before transaction is started.

  Patch: https://github.com/dovecot/core/compare/9f9107763cbf...2cb65102f5ba.patch


More information about the dovecot-cvs mailing list