[dovecot/core] 3fe59d: submission: RCPT command: Move starting the backen...

GitHub noreply at github.com
Tue Oct 16 16:00:06 EEST 2018


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: 3fe59d1a83459cfd3ef91a326b1d6d650b8c3b48
      https://github.com/dovecot/core/commit/3fe59d1a83459cfd3ef91a326b1d6d650b8c3b48
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-14 (Sun, 14 Oct 2018)

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

  Log Message:
  -----------
  submission: RCPT command: Move starting the backend transaction from submission-commands.c to submission-backend.c.

This way, the transaction is only started from RCPT when the backend needs it at this point.


  Commit: 28d03080688ee50799d2fed5fdb6267983d9ff03
      https://github.com/dovecot/core/commit/28d03080688ee50799d2fed5fdb6267983d9ff03
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-14 (Sun, 14 Oct 2018)

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

  Log Message:
  -----------
  submission: relay backend: Set the immediate for the client transaction no matter where it is created.

Forgot a few instances.


  Commit: a357af3d502a4c825286e3791b2d450c703104bf
      https://github.com/dovecot/core/commit/a357af3d502a4c825286e3791b2d450c703104bf
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-15 (Mon, 15 Oct 2018)

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

  Log Message:
  -----------
  submission: relay backend: Properly manage the trans_started flag.

Sometimes it was not set at all. This didn't lead to problems in most cases, but
this was at least confusing while debugging. Also, the flag is set before the
client transaction is actually started, making sure (future) recursive problems
will not occur.


  Commit: 624907b56495fc94d9687738730d33a6e0092760
      https://github.com/dovecot/core/commit/624907b56495fc94d9687738730d33a6e0092760
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-15 (Mon, 15 Oct 2018)

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

  Log Message:
  -----------
  submission: Fix starting secondary backends created before the server-side transaction is fully created.

Record an array of those backends and start them once the transaction is
created. Before, this was implemented using the array of approved recipients
(which each point to their backend). However, this does not work, since there
can be no approved recipients when there is no server-side transaction yet.


  Commit: 9d4e58e6800197903b2b8401089dacc36cfa23ef
      https://github.com/dovecot/core/commit/9d4e58e6800197903b2b8401089dacc36cfa23ef
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-15 (Mon, 15 Oct 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Remove unused "failed" field from struct smtp_client_transaction_mail.


  Commit: 0f739330cf68d50100a4ec76cdb06efd2477a42b
      https://github.com/dovecot/core/commit/0f739330cf68d50100a4ec76cdb06efd2477a42b
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-15 (Mon, 15 Oct 2018)

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

  Log Message:
  -----------
  lib-smtp: client: transaction: Fix and amend a few comments in the header.


  Commit: b61c969cfa497f86285133fa23ec5fb5db85d7cb
      https://github.com/dovecot/core/commit/b61c969cfa497f86285133fa23ec5fb5db85d7cb
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

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

  Log Message:
  -----------
  lib-smtp: client: transaction: Add alternative function for adding a recipient on an application-provided pool.

This allows modifying the recipient object beyond approval. Before, it was
always moved to the transaction pool, thereby invalidating the original returned
pointer. This way, the data_calback and context can be set at a later time,
e.g. when the DATA command is being processed. This makes a choice between
LMTP-style and SMTP-style replies to the DATA command a bit easier to handle.
Also, the recipient is entirely allocated on a single pool between the client
and server side, which should improve memory consumption a little. As a bonus,
this removes the need to have dummy DATA callbacks.


  Commit: 9c54d83ba3c0de4fc249fcd9acae6979f07110d6
      https://github.com/dovecot/core/commit/9c54d83ba3c0de4fc249fcd9acae6979f07110d6
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

  Changed paths:
    M src/lmtp/lmtp-proxy.c

  Log Message:
  -----------
  lmtp: proxy: Allocate recipients for the client transaction on the server recipient pool.


  Commit: 7a07f3bd52ce8163ff4dfef3b2be33d7d1826817
      https://github.com/dovecot/core/commit/7a07f3bd52ce8163ff4dfef3b2be33d7d1826817
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

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

  Log Message:
  -----------
  submission: Allocate recipients for the client transaction on the server recipient pool.


  Commit: f6ee5f89022cfc23d5c146a605492791b8375a72
      https://github.com/dovecot/core/commit/f6ee5f89022cfc23d5c146a605492791b8375a72
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Make smtp_client_transaction_destroy(NULL) a no-op.


  Commit: a08babe0ecac4bff99d110bf6ed2e5887c381ee5
      https://github.com/dovecot/core/commit/a08babe0ecac4bff99d110bf6ed2e5887c381ee5
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

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

  Log Message:
  -----------
  lib-smtp: client: Make smtp_client_transaction_unref(NULL) a no-op.


  Commit: cb3e468add3cd19fd8c95b7e3f22b04166d3fd8c
      https://github.com/dovecot/core/commit/cb3e468add3cd19fd8c95b7e3f22b04166d3fd8c
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

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

  Log Message:
  -----------
  lib-smtp: server: Add smtp_server_command_get_reply_count().

Returns the number of replies expected to the command.


  Commit: 3cda72f2c2a4041a4a561416d52db03f685b1800
      https://github.com/dovecot/core/commit/3cda72f2c2a4041a4a561416d52db03f685b1800
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

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

  Log Message:
  -----------
  submission: relay backend: Use smtp_reply_is_success() to evaluate reply form relay.

Before, it evaluated the reply status directly.


  Commit: 3a804e7bc0792e69ab5ed8286dfa6341f598c12b
      https://github.com/dovecot/core/commit/3a804e7bc0792e69ab5ed8286dfa6341f598c12b
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

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

  Log Message:
  -----------
  submission: relay backend: Use (potentially) modified reply after backend_relay_handle_relay_reply().

Before, it sometimes still referred to the original reply struct from the client
callback.


  Commit: 2387195f7cd4e06ec18f1340b220396a1f872d74
      https://github.com/dovecot/core/commit/2387195f7cd4e06ec18f1340b220396a1f872d74
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

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

  Log Message:
  -----------
  submission: relay backend: Do not close the client connection for failure in a non-default backend.

Adjusts the backend API to remember the failure until the present transaction is
reset. In the mean time, any commands issued to the backend are failed
immediately. In contrast, failure on the default backend will cause the client
connection to be closed, like before.


Compare: https://github.com/dovecot/core/compare/69e8b91d0ac8...2387195f7cd4
      **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