i_assert(data_cmd != NULL);
i_stream_unref(&data_cmd->chunk_input);
+ i_assert(conn->state.trans != NULL);
+ smtp_server_transaction_finished(conn->state.trans);
+
/* reset state */
smtp_server_connection_reset_state(conn);
}
void smtp_server_transaction_last_data(struct smtp_server_transaction *trans,
struct smtp_server_cmd_ctx *cmd);
+void smtp_server_transaction_reset(struct smtp_server_transaction *trans);
+void smtp_server_transaction_finished(struct smtp_server_transaction *trans);
+
/*
* Server
*/
smtp_server_recipient_last_data(*rcptp, cmd);
}
+void smtp_server_transaction_reset(struct smtp_server_transaction *trans)
+{
+ i_assert(!trans->finished);
+ trans->finished = TRUE;
+}
+
+void smtp_server_transaction_finished(struct smtp_server_transaction *trans)
+{
+ i_assert(!trans->finished);
+ trans->finished = TRUE;
+}
+
void smtp_server_transaction_fail_data(struct smtp_server_transaction *trans,
struct smtp_server_cmd_ctx *data_cmd,
unsigned int status, const char *enh_code,