]> git.netwichtig.de Git - user/henk/code/exim.git/blobdiff - src/src/deliver.c
Merge branch 'master' into 4.next
[user/henk/code/exim.git] / src / src / deliver.c
index c91f26e8163f6176e17ddc66774b27d2f0243706..648c63d691d6e977ceac9705a93dcbf619cb6d99 100644 (file)
@@ -3326,7 +3326,7 @@ while (!done)
   ssize_t got;
 
   DEBUG(D_deliver) debug_printf(
-    "expect %lu bytes (pipeheader) from tpt process %d\n", (ulong)required, pid);
+    "expect %lu bytes (pipeheader) from tpt process %d\n", (u_long)required, pid);
 
   /* We require(!) all the PIPE_HEADER_SIZE bytes here, as we know,
   they're written in a timely manner, so waiting for the write shouldn't hurt a lot.
@@ -3365,7 +3365,7 @@ while (!done)
 
   DEBUG(D_deliver)
     debug_printf("expect %lu bytes (pipedata) from transport process %d\n",
-      (ulong)required, pid);
+      (u_long)required, pid);
 
   /* Same as above, the transport process will write the bytes announced
   in a timely manner, so we can just wait for the bytes, getting less than expected
@@ -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));