[Mimedefang] stream_by_... and invalid users

John Nemeth jnemeth at victoria.tc.ca
Wed Jan 28 07:58:09 EST 2004


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"



More information about the MIMEDefang mailing list