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