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
Support REQUIRETLS
[exim.git]
/
src
/
src
/
transports
/
smtp.h
diff --git
a/src/src/transports/smtp.h
b/src/src/transports/smtp.h
index e12c0ab946f7572d59636e6b11942ee310e09783..34c49d930a782bd68fddf645ce485cfa93610aa4 100644
(file)
--- a/
src/src/transports/smtp.h
+++ b/
src/src/transports/smtp.h
@@
-2,7
+2,7
@@
* Exim - an Internet mail transport agent *
*************************************************/
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 201
5
*/
+/* Copyright (c) University of Cambridge 1995 - 201
8
*/
/* See the file NOTICE for conditions of use and distribution. */
#define DELIVER_BUFFER_SIZE 4096
/* See the file NOTICE for conditions of use and distribution. */
#define DELIVER_BUFFER_SIZE 4096
@@
-29,9
+29,10
@@
typedef struct {
uschar *hosts_try_auth;
uschar *hosts_require_auth;
uschar *hosts_try_chunking;
uschar *hosts_try_auth;
uschar *hosts_require_auth;
uschar *hosts_try_chunking;
-#ifdef
EXPERIMENTAL
_DANE
+#ifdef
SUPPORT
_DANE
uschar *hosts_try_dane;
uschar *hosts_require_dane;
uschar *hosts_try_dane;
uschar *hosts_require_dane;
+ uschar *dane_require_tls_ciphers;
#endif
uschar *hosts_try_fastopen;
#ifndef DISABLE_PRDR
#endif
uschar *hosts_try_fastopen;
#ifndef DISABLE_PRDR
@@
-46,7
+47,10
@@
typedef struct {
uschar *hosts_verify_avoid_tls;
uschar *hosts_avoid_pipelining;
uschar *hosts_avoid_esmtp;
uschar *hosts_verify_avoid_tls;
uschar *hosts_avoid_pipelining;
uschar *hosts_avoid_esmtp;
+#ifdef SUPPORT_TLS
uschar *hosts_nopass_tls;
uschar *hosts_nopass_tls;
+ uschar *hosts_noproxy_tls;
+#endif
int command_timeout;
int connect_timeout;
int data_timeout;
int command_timeout;
int connect_timeout;
int data_timeout;
@@
-87,25
+91,27
@@
typedef struct {
#ifndef DISABLE_DKIM
struct ob_dkim dkim;
#endif
#ifndef DISABLE_DKIM
struct ob_dkim dkim;
#endif
+#ifdef EXPERIMENTAL_ARC
+ uschar *arc_sign;
+#endif
} smtp_transport_options_block;
/* smtp connect context */
typedef struct {
} smtp_transport_options_block;
/* smtp connect context */
typedef struct {
+ uschar * from_addr;
address_item * addrlist;
host_item * host;
int host_af;
int port;
uschar * interface;
address_item * addrlist;
host_item * host;
int host_af;
int port;
uschar * interface;
+ BOOL verify:1;
BOOL lmtp:1;
BOOL smtps:1;
BOOL ok:1;
BOOL lmtp:1;
BOOL smtps:1;
BOOL ok:1;
- BOOL send_rset:1;
- BOOL send_quit:1;
BOOL setting_up:1;
BOOL esmtp:1;
BOOL esmtp_sent:1;
BOOL setting_up:1;
BOOL esmtp:1;
BOOL esmtp_sent:1;
- BOOL pending_MAIL:1;
#ifndef DISABLE_PRDR
BOOL prdr_active:1;
#endif
#ifndef DISABLE_PRDR
BOOL prdr_active:1;
#endif
@@
-113,14
+119,22
@@
typedef struct {
BOOL utf8_needed:1;
#endif
BOOL dsn_all_lasthop:1;
BOOL utf8_needed:1;
#endif
BOOL dsn_all_lasthop:1;
-#if defined(SUPPORT_TLS) && defined(
EXPERIMENTAL
_DANE)
+#if defined(SUPPORT_TLS) && defined(
SUPPORT
_DANE)
BOOL dane:1;
BOOL dane_required:1;
#endif
BOOL dane:1;
BOOL dane_required:1;
#endif
+ BOOL pending_MAIL:1;
+ BOOL pending_BDAT:1;
+ BOOL good_RCPT:1;
+ BOOL completed_addr:1;
+ BOOL send_rset:1;
+ BOOL send_quit:1;
int max_rcpt;
int max_rcpt;
+ int cmd_count;
- uschar peer_offered;
+ unsigned peer_offered;
+ unsigned avoid_option;
uschar * igquotstr;
uschar * helo_data;
#ifdef EXPERIMENTAL_DSN_INFO
uschar * igquotstr;
uschar * helo_data;
#ifdef EXPERIMENTAL_DSN_INFO
@@
-128,8
+142,13
@@
typedef struct {
uschar * helo_response;
#endif
uschar * helo_response;
#endif
- smtp_inblock inblock;
- smtp_outblock outblock;
+ address_item * first_addr;
+ address_item * next_addr;
+ address_item * sync_addr;
+
+ client_conn_ctx cctx;
+ smtp_inblock inblock;
+ smtp_outblock outblock;
uschar buffer[DELIVER_BUFFER_SIZE];
uschar inbuffer[4096];
uschar outbuffer[4096];
uschar buffer[DELIVER_BUFFER_SIZE];
uschar inbuffer[4096];
uschar outbuffer[4096];
@@
-138,7
+157,8
@@
typedef struct {
smtp_transport_options_block * ob;
} smtp_context;
smtp_transport_options_block * ob;
} smtp_context;
-extern int smtp_setup_conn(smtp_context *, BOOL, BOOL);
+extern int smtp_setup_conn(smtp_context *, BOOL);
+extern int smtp_write_mail_and_rcpt_cmds(smtp_context *, int *);
/* Data for reading the private options. */
/* Data for reading the private options. */