From 4ded6d48a43d6170b176ef0c523c2c06a55faa62 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 13 Feb 2008 07:38:08 +0000
Subject: [PATCH] Created NO_AUTO_EXEMPT option to disable the new automatic
 DNSBL-exempting of recipient mail addresses (for Deuce).

---
 src/sbbs3/mailsrvr.c | 12 +++++++-----
 src/sbbs3/mailsrvr.h |  4 +++-
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index be677b66f8..46f325422b 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -1350,7 +1350,9 @@ static BOOL chk_email_addr(SOCKET socket, char* p, char* host_name, char* host_i
 	return(FALSE);
 }
 
-static void exempt_email_addr(const char* comment, const char* fromaddr, const char* toaddr)
+static void exempt_email_addr(const char* comment
+							  ,const char* fromname, const char* fromaddr
+							  ,const char* toaddr)
 {
 	char	fname[MAX_PATH+1];
 	char	to[128];
@@ -1364,8 +1366,8 @@ static void exempt_email_addr(const char* comment, const char* fromaddr, const c
 			lprintf(LOG_ERR,"0000 !Error opening file: %s", fname);
 		else {
 			lprintf(LOG_INFO,"0000 %s: %s", comment, to);
-			fprintf(fp,"\n;%s from %s on %s\n%s\n"
-				,comment, fromaddr, timestr(&scfg,time(NULL),tmp), to);
+			fprintf(fp,"\n;%s from \"%s\" %s on %s\n%s\n"
+				,comment, fromname, fromaddr, timestr(&scfg,time(NULL),tmp), to);
 			fclose(fp);
 		}
 	}
@@ -4081,8 +4083,8 @@ static void sendmail_thread(void* arg)
 			if(msg.hdr.auxattr&MSG_FILEATTACH)
 				delfattach(&scfg,&msg);
 
-			if(msg.from_agent==AGENT_PERSON)
-				exempt_email_addr("SEND Auto-exempting",fromaddr,toaddr);
+			if(msg.from_agent==AGENT_PERSON && !(startup->options&MAIL_OPT_NO_AUTO_EXEMPT))
+				exempt_email_addr("SEND Auto-exempting",msg.from,fromaddr,toaddr);
 
 			/* QUIT */
 			sockprintf(sock,"QUIT");
diff --git a/src/sbbs3/mailsrvr.h b/src/sbbs3/mailsrvr.h
index eb270f4bc6..c66a6fc603 100644
--- a/src/sbbs3/mailsrvr.h
+++ b/src/sbbs3/mailsrvr.h
@@ -8,7 +8,7 @@
  * @format.tab-size 4		(Plain Text/Source Code File Header)			*
  * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
  *																			*
- * Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html		*
+ * Copyright 2008 Rob Swindell - http://www.synchro.net/copyright.html		*
  *																			*
  * This program is free software; you can redistribute it and/or			*
  * modify it under the terms of the GNU General Public License				*
@@ -144,6 +144,7 @@ static struct init_field mail_init_fields[] = {
 #define MAIL_OPT_RELAY_AUTH_PLAIN		(1<<23)
 #define MAIL_OPT_RELAY_AUTH_LOGIN		(1<<24)
 #define MAIL_OPT_RELAY_AUTH_CRAM_MD5	(1<<25)
+#define MAIL_OPT_NO_AUTO_EXEMPT			(1<<26)	/* Do not auto DNSBL-exempt recipient e-mail addresses */
 #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)
@@ -182,6 +183,7 @@ static ini_bitdesc_t mail_options[] = {
 	{ MAIL_OPT_RELAY_AUTH_PLAIN		,"RELAY_AUTH_PLAIN"		},
 	{ MAIL_OPT_RELAY_AUTH_LOGIN		,"RELAY_AUTH_LOGIN"		},
 	{ MAIL_OPT_RELAY_AUTH_CRAM_MD5	,"RELAY_AUTH_CRAM_MD5"	},
+	{ MAIL_OPT_NO_AUTO_EXEMPT		,"NO_AUTO_EXEMPT"		},
 	{ MAIL_OPT_NO_RECYCLE			,"NO_RECYCLE"			},
 	{ MAIL_OPT_LOCAL_TIMEZONE		,"LOCAL_TIMEZONE"		},
 	{ MAIL_OPT_MUTE					,"MUTE"					},
-- 
GitLab