# ifdef TCP_FASTOPEN_CONNECT
else
{ /* expecting client data */
- debug_printf(" set up lazy-connect\n");
+ DEBUG(D_transport|D_acl|D_v) debug_printf(" set up lazy-connect\n");
setsockopt(sock, IPPROTO_TCP, TCP_FASTOPEN_CONNECT, US &on, sizeof(on));
/* fastopen_blob = NULL; lazy TFO, triggered by data write */
}
uschar *retry_message_key = NULL;
uschar *serialize_key = NULL;
+ /* Deal slightly better with a possible Linux kernel bug that results
+ in intermittent TFO-conn fails deep into the TCP flow. Bug 2907 tracks.
+ Hack: Clear TFO option for any further hosts on this tpt run. */
+
+ if (total_hosts_tried > 0)
+ {
+ DEBUG(D_transport|D_acl|D_v)
+ debug_printf("Clearing TFO as not first host for message\n");
+ ob->hosts_try_fastopen = US"";
+ }
+
/* Default next host is next host. :-) But this can vary if the
hosts_max_try limit is hit (see below). It may also be reset if a host
address is looked up here (in case the host was multihomed). */
address match test: subject=*@127.0.0.1 pattern=*
127.0.0.1 in "*"? yes (matched "*")
*@127.0.0.1 in "*"? yes (matched "*")
+Clearing TFO as not first host for message
checking status of V4NET.0.0.0
locking TESTSUITE/spool/db/retry.lockfile
locked TESTSUITE/spool/db/retry.lockfile
H=127.0.0.1 [127.0.0.1] Connection refused
added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
temporary delivery error(s) override hosts_max_try (message older than host's retry time)
+Clearing TFO as not first host for message
getting address for 127.0.0.1
checking status of 127.0.0.1
no message retry record
H=127.0.0.1 [127.0.0.1] Connection refused
added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
temporary delivery error(s) override hosts_max_try (message older than host's retry time)
+Clearing TFO as not first host for message
getting address for 127.0.0.1
checking status of 127.0.0.1
no message retry record
H=127.0.0.1 [127.0.0.1] Connection refused
added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
temporary delivery error(s) override hosts_max_try (message older than host's retry time)
+Clearing TFO as not first host for message
getting address for 127.0.0.1
checking status of 127.0.0.1
no message retry record
H=127.0.0.1 [127.0.0.1] Connection refused
added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
temporary delivery error(s) override hosts_max_try (message older than host's retry time)
+Clearing TFO as not first host for message
getting address for 127.0.0.1
checking status of 127.0.0.1
no message retry record