From dc1a3c74c008ab55cd93946009b6ed0a0ad192fd Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sun, 7 Dec 2003 09:33:22 +0000
Subject: [PATCH] Added advanced mail server option to over-ride "in-transit"
 message attribute on outgoing mail (send anyway).

---
 src/sbbs3/mailsrvr.c | 2 +-
 src/sbbs3/mailsrvr.h | 1 +
 src/sbbs3/sbbs_ini.c | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 704ccf2213..267beb64a7 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -3339,7 +3339,7 @@ static void sendmail_thread(void* arg)
 				smb_unlockmsghdr(&smb,&msg);
 				continue;
 			}
-			if(msg.hdr.netattr&MSG_INTRANSIT) {
+			if(!(startup->options&MAIL_OPT_SEND_INTRANSIT) && msg.hdr.netattr&MSG_INTRANSIT) {
 				smb_unlockmsghdr(&smb,&msg);
 				lprintf(LOG_ERR,"0000 SEND Message #%lu from %s to %s - in transit"
 					,msg.hdr.number, msg.from, msg.to_net.addr);
diff --git a/src/sbbs3/mailsrvr.h b/src/sbbs3/mailsrvr.h
index 529b64e435..0288bae787 100644
--- a/src/sbbs3/mailsrvr.h
+++ b/src/sbbs3/mailsrvr.h
@@ -113,6 +113,7 @@ typedef struct {
 #define MAIL_OPT_DNSBL_CHKRECVHDRS	(1<<18)	/* Check all Recieved: from addresses */
 #define MAIL_OPT_DNSBL_DEBUG		(1<<20) /* Debug DNSBL activity */
 #define MAIL_OPT_SMTP_AUTH_VIA_IP	(1<<21)	/* Allow SMTP authentication via IP */
+#define MAIL_OPT_SEND_INTRANSIT		(1<<22)	/* Send mail, even if already "in transit" */
 #define MAIL_OPT_NO_RECYCLE			(1<<27)	/* Disable recycling of server		*/
 #define MAIL_OPT_LOCAL_TIMEZONE		(1<<30)	/* Don't force UTC/GMT */
 #define MAIL_OPT_MUTE				(1<<31)
diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c
index e9a82d61a5..ef6de72b73 100644
--- a/src/sbbs3/sbbs_ini.c
+++ b/src/sbbs3/sbbs_ini.c
@@ -123,6 +123,7 @@ static ini_bitdesc_t mail_options[] = {
 	{ MAIL_OPT_DNSBL_BADUSER		,"DNSBL_BADUSER"		},
 	{ MAIL_OPT_DNSBL_DEBUG			,"DNSBL_DEBUG"			},
 	{ MAIL_OPT_DNSBL_CHKRECVHDRS	,"DNSBL_CHKRECVHDRS"	},
+	{ MAIL_OPT_SEND_INTRANSIT		,"SEND_INTRANSIT"		},
 	{ MAIL_OPT_NO_RECYCLE			,"NO_RECYCLE"			},
 	{ MAIL_OPT_LOCAL_TIMEZONE		,"LOCAL_TIMEZONE"		},
 	{ MAIL_OPT_MUTE					,"MUTE"					},
-- 
GitLab