From e0e44bd1df2b4a5cf14fda4ee6981b45e0cb4c32 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 27 Oct 2004 09:07:45 +0000
Subject: [PATCH] Uses smb_netaddr_type() to verify user's forwarding address
 is indeed an Internet e-mail address. Only bounces messages back for QWK and
 Internet from_net.types.

---
 src/sbbs3/mailsrvr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 4546f1b349..626079aa33 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -3148,7 +3148,7 @@ static void smtp_thread(void* arg)
 				&& !no_forward
 				&& scfg.sys_misc&SM_FWDTONET 
 				&& (user.misc&NETMAIL || forward)
-				&& tp && strchr(tp,'.') && !strchr(tp,'/') 
+				&& tp!=NULL && smb_netaddr_type(user.netmail)==NET_INTERNET 
 				&& !strstr(tp,scfg.sys_inetaddr)) {
 				lprintf(LOG_INFO,"%04d SMTP Forwarding to: %s"
 					,socket, user.netmail);
@@ -3314,7 +3314,7 @@ BOOL bounce(smb_t* smb, smbmsg_t* msg, char* err, BOOL immediate)
 		sprintf(str,"%u",newmsg.idx.to);
 		smb_hfield_str(&newmsg, RECIPIENTEXT, str);
 	}
-	if(newmsg.from_net.type!=NET_NONE && newmsg.from_net.type!=NET_FIDO
+	if((newmsg.from_net.type==NET_QWK || newmsg.from_net.type==NET_INTERNET)
 		&& newmsg.reverse_path!=NULL) {
 		smb_hfield(&newmsg, RECIPIENTNETTYPE, sizeof(newmsg.from_net.type), &newmsg.from_net.type);
 		smb_hfield_str(&newmsg, RECIPIENTNETADDR, newmsg.reverse_path);
-- 
GitLab