[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: userful patch -- finally!



> Greetings,
> 
> 	When Matti was here we found a very annoying bug that would
> make smtp client spin if remote smtp server would violate SMTP protocol
> by issueing 220 and 551 consequentally without delay and then immediately
> handup. Here is the fix. Regards,
> 								alexis

	I don't quite agree with the fix, as it turns a possibly temporary
	failure into a permanent one.

(EX_UNAVAILABLE --> error
 EX_PROTOCOL    --> error + abnormality flag
 EX_TEMPFAIL    --> deferred
Thinking in these terms, perhaps EX_PROTOCOL would be entirely
appropriate....  Still I would let it spin there until timeout,
and then just report what ever weird it will be reporting...)


	This case unearthed problems in MX processing, and retrying
	lookups / retrying connections to other MXes.

	I built different test case into a snapshotted stuff I am now
	running at my RedHat 5.0 (glibc 2.0) workstation.  At the same
	time I did some autoconfiguration revisioning for the platform.

	I incorporated Alexis canonicalize() function into the router
	configuration language, but the language has gotten a few changes
	too -- namely IT DOES NOT understand the old original "sift"
	operator, but DEMANDS use of "tsift".  Ergo, the *.cf files
	must be updated (manually! as 'make install' does not do it!)
	If you have your own configuration scripts, you will notice
	the complaints from the router about this quite informative.

	The snapshot alters also ident lookups, which on some platforms
	do not timeout quite as well as one might want.

	Something else has been done there too, but I don't remember
	them now.  Place of snapshot(s) is at my workstation:
		ftp://mea.tmt.tele.fi/zmailer/

/Matti Aarnio