Squashed commit of PIPE_CONNECT
[exim.git] / src / src / receive.c
index 016a92d6bc1634bc612446aa72d5dccc65dc78fb..a5646811ff8738ce77b2a3e296851d9fd910abeb 100644 (file)
@@ -144,7 +144,7 @@ Returns:        available on-root space, in kilobytes
 All values are -1 if the STATFS functions are not available.
 */
 
-int
+int_eximarith_t
 receive_statvfs(BOOL isspool, int *inodeptr)
 {
 #ifdef HAVE_STATFS
@@ -223,7 +223,7 @@ if (STATVFS(CS path, &statbuf) != 0)
 
 /* Disks are getting huge. Take care with computing the size in kilobytes. */
 
-return (int)(((double)statbuf.F_BAVAIL * (double)statbuf.F_FRSIZE)/1024.0);
+return (int_eximarith_t)(((double)statbuf.F_BAVAIL * (double)statbuf.F_FRSIZE)/1024.0);
 
 #else
 /* Unable to find partition sizes in this environment. */
@@ -258,7 +258,8 @@ Returns:       FALSE if there isn't enough space, or if the information cannot
 BOOL
 receive_check_fs(int msg_size)
 {
-int space, inodes;
+int_eximarith_t space;
+int inodes;
 
 if (check_spool_space > 0 || msg_size > 0 || check_spool_inodes > 0)
   {
@@ -266,7 +267,7 @@ if (check_spool_space > 0 || msg_size > 0 || check_spool_inodes > 0)
 
   DEBUG(D_receive)
     debug_printf("spool directory space = %dK inodes = %d "
-      "check_space = %dK inodes = %d msg_size = %d\n",
+      "check_space = " PR_EXIM_ARITH "K inodes = %d msg_size = %d\n",
       space, inodes, check_spool_space, check_spool_inodes, msg_size);
 
   if ((space >= 0 && space < check_spool_space) ||
@@ -284,7 +285,7 @@ if (check_log_space > 0 || check_log_inodes > 0)
 
   DEBUG(D_receive)
     debug_printf("log directory space = %dK inodes = %d "
-      "check_space = %dK inodes = %d\n",
+      "check_space = " PR_EXIM_ARITH "K inodes = %d\n",
       space, inodes, check_log_space, check_log_inodes);
 
   if ((space >= 0 && space < check_log_space) ||
@@ -1313,7 +1314,7 @@ if (sender_fullhost)
   }
 if (f.tcp_in_fastopen && !f.tcp_in_fastopen_logged)
   {
-  g = string_catn(g, US" TFO", 4);
+  g = string_catn(g, US" TFO*", f.tcp_in_fastopen_data ? 5 : 4);
   f.tcp_in_fastopen_logged = TRUE;
   }
 if (sender_ident)
@@ -1321,7 +1322,17 @@ if (sender_ident)
 if (received_protocol)
   g = string_append(g, 2, US" P=", received_protocol);
 if (LOGGING(pipelining) && f.smtp_in_pipelining_advertised)
-  g = string_catn(g, US" L-", f.smtp_in_pipelining_used ? 2 : 3);
+  {
+  g = string_catn(g, US" L", 2);
+#ifdef EXPERIMENTAL_PIPE_CONNECT
+  if (f.smtp_in_early_pipe_used)
+    g = string_catn(g, US"*", 1);
+  else if (f.smtp_in_early_pipe_advertised)
+    g = string_catn(g, US".", 1);
+#endif
+  if (!f.smtp_in_pipelining_used)
+    g = string_catn(g, US"-", 1);
+  }
 return g;
 }
 
@@ -1764,7 +1775,7 @@ single timeout for the whole message. */
 else if (receive_timeout > 0)
   {
   os_non_restarting_signal(SIGALRM, data_timeout_handler);
-  alarm(receive_timeout);
+  ALARM(receive_timeout);
   }
 
 /* SIGTERM and SIGINT are caught always. */
@@ -3657,9 +3668,9 @@ if (sigsetjmp(local_scan_env, 1) == 0)
 
   had_local_scan_timeout = 0;
   os_non_restarting_signal(SIGALRM, local_scan_timeout_handler);
-  if (local_scan_timeout > 0) alarm(local_scan_timeout);
+  if (local_scan_timeout > 0) ALARM(local_scan_timeout);
   rc = local_scan(data_fd, &local_scan_data);
-  alarm(0);
+  ALARM_CLR(0);
   os_non_restarting_signal(SIGALRM, sigalrm_handler);
 
   f.enable_dollar_recipients = FALSE;