X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/e924c08b7d031b712013a7a897e2d430b302fe6c..1ccd5f670a432f98e94b384dd169a1a760dced9a:/src/src/deliver.c diff --git a/src/src/deliver.c b/src/src/deliver.c index 73921980e..648c63d69 100644 --- a/src/src/deliver.c +++ b/src/src/deliver.c @@ -3535,7 +3535,8 @@ while (!done) break; case 'T': - setflag(addr, af_tcp_fastopen); + setflag(addr, af_tcp_fastopen_conn); + if (*subid > '0') setflag(addr, af_tcp_fastopen); break; case 'D': @@ -4837,8 +4838,9 @@ all pipes, so I do not see a reason to use non-blocking IO here if (testflag(addr, af_chunking_used)) rmt_dlv_checked_write(fd, 'K', '0', NULL, 0); - if (testflag(addr, af_tcp_fastopen)) - rmt_dlv_checked_write(fd, 'T', '0', NULL, 0); + if (testflag(addr, af_tcp_fastopen_conn)) + rmt_dlv_checked_write(fd, 'T', + testflag(addr, af_tcp_fastopen) ? '1' : '0', NULL, 0); memcpy(big_buffer, &addr->dsn_aware, sizeof(addr->dsn_aware)); rmt_dlv_checked_write(fd, 'D', '0', big_buffer, sizeof(addr->dsn_aware));