FreeBSD: packet coalescing
authorJeremy Harris <jgh146exb@wizmail.org>
Fri, 1 Jan 2021 14:43:04 +0000 (14:43 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Fri, 1 Jan 2021 14:43:04 +0000 (14:43 +0000)
src/src/exim.h
src/src/malware.c
src/src/smtp_in.c
src/src/transports/smtp.c

index f27ed5cd8519ccbcb86e3868772767ab67c45f78..bb8e4f6e24f8d7b3df4d0fc652c182f40f96357c 100644 (file)
@@ -606,5 +606,13 @@ default to EDQUOT if it exists, otherwise ENOSPC. */
 # define EXIM_GROUPLIST_SIZE NGROUPS_MAX
 #endif
 
+/* Linux has TCP_CORK, FreeBSD has TCP_NOPUSH; they do pretty much the same */
+
+#ifdef TCP_CORK
+# define EXIM_TCP_CORK TCP_CORK
+#elif defined(TCP_NOPUSH)
+# define EXIM_TCP_CORK TCP_NOPUSH
+#endif
+
 #endif
 /* End of exim.h */
index a42e39a57e0bc92a4a1b4261fbdaf54c9497c40e..b581a87524bd66bf36e01945f4cd600e99d6d68b 100644 (file)
@@ -132,12 +132,6 @@ static const uschar * malware_regex_default = US ".+";
 static const pcre * malware_default_re = NULL;
 
 
-#ifdef TCP_CORK
-# define EXIM_TCP_CORK TCP_CORK
-#elif defined(TCP_NOPUSH)
-# define EXIM_TCP_CORK TCP_NOPUSH
-#endif
-
 #ifndef DISABLE_MAL_CLAM
 /* The maximum number of clamd servers that are supported in the configuration */
 # define MAX_CLAMD_SERVERS 32
index 29f656834cd53bc3d17df73d5bcdc6592a91775a..13cba2ec21bd1c9ae2187a1daa09695e15d53ddd 100644 (file)
@@ -3819,8 +3819,8 @@ if (  acl_smtp_quit
     log_write(0, LOG_MAIN|LOG_PANIC, "ACL for QUIT returned ERROR: %s",
       *log_msgp);
 
-#ifdef TCP_CORK
-(void) setsockopt(fileno(smtp_out), IPPROTO_TCP, TCP_CORK, US &on, sizeof(on));
+#ifdef EXIM_TCP_CORK
+(void) setsockopt(fileno(smtp_out), IPPROTO_TCP, EXIM_TCP_CORK, US &on, sizeof(on));
 #endif
 
 if (*user_msgp)
index a8ae606d197ddec39655a14afd2aab14f9e56192..8f42871bf177ac5197971deb12f92087325860a6 100644 (file)
@@ -4393,8 +4393,8 @@ This change is being made on 31-Jul-98. After over a year of trouble-free
 operation, the old commented-out code was removed on 17-Sep-99. */
 
 SEND_QUIT:
-#ifdef TCP_CORK
-(void) setsockopt(sx->cctx.sock, IPPROTO_TCP, TCP_CORK, US &on, sizeof(on));
+#ifdef EXIM_TCP_CORK
+(void) setsockopt(sx->cctx.sock, IPPROTO_TCP, EXIM_TCP_CORK, US &on, sizeof(on));
 #endif
 if (sx->send_quit) (void)smtp_write_command(sx, SCMD_FLUSH, "QUIT\r\n");