On Jan 29, 9:09pm, "David F. Skoll" wrote: } On Tue, 14 Oct 2003, John Nemeth wrote: } } > PERL isn't one of my strong suits, but C is... "Sendmail, you're } > going to have a chat with Mr. Vi, and then you're going to have a chat } > with Mr. GCC," said I... I will report back after it is fully tested } > and/or I get some input from the sendmail people.
I don't know if I ever did report back. Anyways, in three months I haven't seen any undesirable side effects, so here is a patch against 8.12.10's sendmail/srvrsmtp.c. It basically just moves a small chunk of code. I only got one comment from the sendmail people. It pointed out that with this change people would get responses letting them know when they hit an invalid address, thus allowing dictionary scans, and asking if I really wanted to do that. Given that this was what happened before I implemented MIMEDefang, and the alternative was 1000+ double bounces in my inbox every day, the answer is a most emphatic, "Yes!" Fine tuning can come later; flooding my inbox was something that had to stop immediately. } There's a thread in comp.mail.sendmail: } } http://groups.google.com/groups?hl=en&lr=lang_en&ie=UTF-8&safe=off&threadm=3F8ACE4D.3080205%40ensmp.fr&rnum=1&prev=/groups%3Fq%3Dmilter%2Blocal%2B-unverified%2Bgroup:comp.mail.sendmail%26hl%3Den%26lr%3Dlang_en%26ie%3DUTF-8%26safe%3Doff%26scoring%3Dd%26selm%3D3F8ACE4D.3080205%2540ensmp.fr%26rnum%3D1 } } I posted a suggestion there. I saw it and I like your suggestion. I'm keeping it in mind for a future revision when I have some time. *** srvrsmtp.c.orig Tue Jul 1 10:30:01 2003 --- srvrsmtp.c Tue Oct 14 13:44:15 2003 *************** *** 2509,2514 **** --- 2509,2519 ---- if (bitset(EF_DISCARD, e->e_flags)) a->q_state = QS_VERIFIED; + /* save in recipient list after ESMTP mods */ + a = recipient(a, &e->e_sendqueue, 0, e); + if (Errors > 0) + goto rcpt_done; + #if MILTER if (smtp.sm_milterlist && smtp.sm_milterize && !bitset(EF_DISCARD, e->e_flags)) *************** *** 2531,2541 **** macid("{dsn_notify}"), NULL); if (Errors > 0) goto rcpt_done; - - /* save in recipient list after ESMTP mods */ - a = recipient(a, &e->e_sendqueue, 0, e); - if (Errors > 0) - goto rcpt_done; /* no errors during parsing, but might be a duplicate */ e->e_to = a->q_paddr; --- 2536,2541 ---- }-- End of excerpt from "David F. Skoll" _______________________________________________ Visit http://www.mimedefang.org and http://www.canit.ca MIMEDefang mailing list [EMAIL PROTECTED] http://lists.roaringpenguin.com/mailman/listinfo/mimedefang