git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Recast more internal string routines to use growable-strings
[exim.git]
/
src
/
src
/
transports
/
smtp.h
diff --git
a/src/src/transports/smtp.h
b/src/src/transports/smtp.h
index a33ef437f7940bf8a143a12d2b6230734f3b7f82..57f87a296c7e5be663f6c89adf6cc30e537b0bae 100644
(file)
--- a/
src/src/transports/smtp.h
+++ b/
src/src/transports/smtp.h
@@
-46,6
+46,9
@@
typedef struct {
uschar *hosts_avoid_tls;
uschar *hosts_verify_avoid_tls;
uschar *hosts_avoid_pipelining;
uschar *hosts_avoid_tls;
uschar *hosts_verify_avoid_tls;
uschar *hosts_avoid_pipelining;
+#ifdef EXPERIMENTAL_PIPE_CONNECT
+ uschar *hosts_pipe_connect;
+#endif
uschar *hosts_avoid_esmtp;
#ifdef SUPPORT_TLS
uschar *hosts_nopass_tls;
uschar *hosts_avoid_esmtp;
#ifdef SUPPORT_TLS
uschar *hosts_nopass_tls;
@@
-88,6
+91,9
@@
typedef struct {
uschar *tls_try_verify_hosts;
uschar *tls_verify_cert_hostnames;
#endif
uschar *tls_try_verify_hosts;
uschar *tls_verify_cert_hostnames;
#endif
+#ifdef SUPPORT_I18N
+ uschar *utf8_downconvert;
+#endif
#ifndef DISABLE_DKIM
struct ob_dkim dkim;
#endif
#ifndef DISABLE_DKIM
struct ob_dkim dkim;
#endif
@@
-96,22
+102,29
@@
typedef struct {
#endif
} smtp_transport_options_block;
#endif
} smtp_transport_options_block;
+#define SOB (smtp_transport_options_block *)
+
+
/* smtp connect context */
typedef struct {
uschar * from_addr;
address_item * addrlist;
/* smtp connect context */
typedef struct {
uschar * from_addr;
address_item * addrlist;
- host_item * host;
-
int host_af
;
+
+
smtp_connect_args conn_args
;
int port;
int port;
- uschar * interface;
BOOL verify:1;
BOOL lmtp:1;
BOOL smtps:1;
BOOL ok:1;
BOOL setting_up:1;
BOOL verify:1;
BOOL lmtp:1;
BOOL smtps:1;
BOOL ok:1;
BOOL setting_up:1;
+#ifdef EXPERIMENTAL_PIPE_CONNECT
+ BOOL early_pipe_ok:1;
+ BOOL early_pipe_active:1;
+#endif
BOOL esmtp:1;
BOOL esmtp_sent:1;
BOOL esmtp:1;
BOOL esmtp_sent:1;
+ BOOL pipelining_used:1;
#ifndef DISABLE_PRDR
BOOL prdr_active:1;
#endif
#ifndef DISABLE_PRDR
BOOL prdr_active:1;
#endif
@@
-122,6
+135,10
@@
typedef struct {
#if defined(SUPPORT_TLS) && defined(SUPPORT_DANE)
BOOL dane:1;
BOOL dane_required:1;
#if defined(SUPPORT_TLS) && defined(SUPPORT_DANE)
BOOL dane:1;
BOOL dane_required:1;
+#endif
+#ifdef EXPERIMENTAL_PIPE_CONNECT
+ BOOL pending_BANNER:1;
+ BOOL pending_EHLO:1;
#endif
BOOL pending_MAIL:1;
BOOL pending_BDAT:1;
#endif
BOOL pending_MAIL:1;
BOOL pending_BDAT:1;
@@
-133,14
+150,17
@@
typedef struct {
int max_rcpt;
int cmd_count;
int max_rcpt;
int cmd_count;
- u
schar
peer_offered;
- u
schar
avoid_option;
+ u
nsigned
peer_offered;
+ u
nsigned
avoid_option;
uschar * igquotstr;
uschar * helo_data;
#ifdef EXPERIMENTAL_DSN_INFO
uschar * smtp_greeting;
uschar * helo_response;
#endif
uschar * igquotstr;
uschar * helo_data;
#ifdef EXPERIMENTAL_DSN_INFO
uschar * smtp_greeting;
uschar * helo_response;
#endif
+#ifdef EXPERIMENTAL_PIPE_CONNECT
+ ehlo_resp_precis ehlo_resp;
+#endif
address_item * first_addr;
address_item * next_addr;
address_item * first_addr;
address_item * next_addr;
@@
-152,13
+172,11
@@
typedef struct {
uschar buffer[DELIVER_BUFFER_SIZE];
uschar inbuffer[4096];
uschar outbuffer[4096];
uschar buffer[DELIVER_BUFFER_SIZE];
uschar inbuffer[4096];
uschar outbuffer[4096];
-
- transport_instance * tblock;
- smtp_transport_options_block * ob;
} smtp_context;
extern int smtp_setup_conn(smtp_context *, BOOL);
extern int smtp_write_mail_and_rcpt_cmds(smtp_context *, int *);
} smtp_context;
extern int smtp_setup_conn(smtp_context *, BOOL);
extern int smtp_write_mail_and_rcpt_cmds(smtp_context *, int *);
+extern int smtp_reap_early_pipe(smtp_context *, int *);
/* Data for reading the private options. */
/* Data for reading the private options. */
@@
-178,9
+196,6
@@
extern void smtp_transport_closedown(transport_instance *);
-extern int smtp_auth(uschar *, unsigned, address_item *, host_item *,
- smtp_transport_options_block *, BOOL,
- smtp_inblock *, smtp_outblock *);
extern BOOL smtp_mail_auth_str(uschar *, unsigned,
address_item *, smtp_transport_options_block *);
extern BOOL smtp_mail_auth_str(uschar *, unsigned,
address_item *, smtp_transport_options_block *);