diff --git a/src/sbbs3/qwk.cpp b/src/sbbs3/qwk.cpp index 5e4770d0f9bbbab29aa672a0b7cedc7c7d3f07ce..a70eaeb844b09788733ddecf38c495b66c90877b 100644 --- a/src/sbbs3/qwk.cpp +++ b/src/sbbs3/qwk.cpp @@ -1204,5 +1204,17 @@ bool sbbs_t::qwk_msg_filtered(smbmsg_t* msg, str_list_t ip_can, str_list_t host_ ,msg->to); return true; } + + if(msg->from_net.type != NET_NONE) { + char fidoaddr[64]; + char str[128]; + SAFEPRINTF2(str, "%s@%s", msg->from, smb_netaddrstr(&msg->from_net, fidoaddr)); + if(findstr_in_list(str, twit_list)) { + lprintf(LOG_NOTICE,"!Filtering QWK message from '%s' to '%s'" + ,str + ,msg->to); + return true; + } + } return false; } diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index 12c32710c09572c90f63d25943ba708fc84a8831..9856bc8eb385e7516850364b02cb0cffcd95d6c6 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -3514,6 +3514,14 @@ int fmsgtosmsg(char* fbuf, fmsghdr_t* hdr, uint usernumber, uint subnum) return IMPORT_FILTERED_EMPTY; } + SAFEPRINTF2(str, "%s@%s", hdr->from, smb_faddrtoa(&origaddr, NULL)); + if(findstr_in_list(str, twit_list)) { + lprintf(LOG_INFO,"Filtering message from %s to %s", str, hdr->to); + smb_freemsgmem(&msg); + free(sbody); + return IMPORT_FILTERED_TWIT; + } + if(!origaddr.zone && subnum==INVALID_SUB) net=NET_NONE; /* Message from SBBSecho */ else