/* smtp transport datachunk callback */
+#define tc_reap_prev BIT(0) /* Flags: reap previous SMTP cmd responses */
+#define tc_chunk_last BIT(1) /* annotate chunk SMTP cmd as LAST */
+
struct transport_context;
typedef int (*tpt_chunk_cmd_cb)(int fd, struct transport_context * tctx,
- unsigned len, BOOL last);
+ unsigned len, unsigned flags);
/* Structure for information about a delivery-in-progress */
struct address_item * first_addr;
struct address_item **sync_addr;
BOOL pending_MAIL;
+ BOOL pending_BDAT;
+ BOOL good_RCPT;
BOOL * completed_address;
int cmd_count;
+ uschar * buffer;
} transport_ctx;
#ifndef DISABLE_PRDR
# define af_prdr_used 0x08000000 /* delivery used SMTP PRDR */
#endif
-#define af_force_command 0x10000000 /* force_command in pipe transport */
+#define af_chunking_used 0x10000000 /* delivery used SMTP CHUNKING */
+#define af_force_command 0x20000000 /* force_command in pipe transport */
#ifdef EXPERIMENTAL_DANE
-# define af_dane_verified 0x20000000 /* TLS cert verify done with DANE */
+# define af_dane_verified 0x40000000 /* TLS cert verify done with DANE */
#endif
#ifdef SUPPORT_I18N
-# define af_utf8_downcvt 0x40000000 /* downconvert was done for delivery */
+# define af_utf8_downcvt 0x80000000 /* downconvert was done for delivery */
#endif
/* These flags must be propagated when a child is created */
uschar *dkim_canon;
uschar *dkim_sign_headers;
uschar *dkim_strict;
-} dkim;
+ BOOL dot_stuffed;
+};
/* End of structs.h */