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

Re: fuzzy.tar.gz



> Hello zmailer users,
> 
> attached are files to improve the zmailer.

	Partly yes, but I don't agree with everything..
 
> The changes are:
> 
> - Care for Errors-To header
	NO NO!

	Think about it; You send a message to list A wich has
	a software to rewrite the headers, and it adds this
	header pointing to itself. (the initial mistake)

	One of the recipients at that list is list B, on which
	there is (or was) a subscriber C on system using this
	"See the Errors-To: -header" trick.  For some reason
	the message causes an error to be reported (no such user?),
	and the error goes to the  listowner-A,  now how does
	s/he know, how s/he can get the C off the list-tree ?

	Once Again: "The RFC822 headers HAVE NO RELEVANCE TO
			THE MESSAGE DELIVERY"
	(chant it, it is your Mantra ;) )

> - Handle some hpux oddities
	Perhaps I was able to fix them now in generic way..
	(usually the returned error is -1 a.k.a. EOF)

> - Added Return-Receipt-To handling
	If you run 'mailbox' with '-S' option, this behaviour becomes
	enabled.  -- This is depreciated sendmailism, and one should
	use DSN facilities instead.

> - Fixed YP handling (e.g. no more memory faults)
	Thank you, included.

> - Close /dev/ksyms after reading it will enable more than 10 smtpservers
>   because Solaris-2.x will not allow more than 10 processes opening /dev/ksyms
	Iiinnterresting Slowaris feaature once again :-)

> - Added new channel fuzzy will return an errormail showing possible alternative
>   recipients. Add this channel to scheduler.conf like the error channel.
	Included as is, and apparently it does compile too.
	(At Linux anyway.)

> Greets, Sven
	Some comments to the diff, and why I did not accept
	some of the changes:

> diff -c -r orig/zmailer-2.99.39/router/rfc822.c zmailer-2.99.39/router/rfc822.c
> *** orig/zmailer-2.99.39/router/rfc822.c	Fri Oct 25 18:42:45 1996
> --- zmailer-2.99.39/router/rfc822.c	Tue Oct 29 17:28:04 1996
> ***************
> *** 1536,1542 ****
>   	if (h == NULL) {
> ! /* [Thomas Knott]
> !  * Wenn kein "To:"-Header in der Mail angegeben wurde, dann soll
> !  * einer aus den Informationen in der Enveloppe erzeugt werden
> !  * (#else-Fall).
> !  */
> ! #if 0
>   		dprintf("No 'To:' -header, creating our own\n");
>   		InsertHeader(h, mkToHeader(e,"unlisted-recipients:; (no To-header on input)"));

	You have never seen a message that goes thru a BIG list expansion
	when it arrives without any kind of "To:" header to a ZMailer with
	this feature on ?  ("feature" = "creation of 'To:' header with
	addresses taken from RCPT TO list")

	It is horrible!  An abomination indeed...

	The way the sendmail does it is at FINAL DELIVERY phase to add
	a header "Apparently-To:" with recipient's address, however our
	mailbox does not do such (it could, of course.)
	(Relaying to another SMTP system is not final delivery..)


> diff -c -r orig/zmailer-2.99.39/router/libdb/bind.c zmailer-2.99.39/router/libdb/bind.c
> *** orig/zmailer-2.99.39/router/libdb/bind.c	Thu Aug  8 19:57:47 1996
> --- zmailer-2.99.39/router/libdb/bind.c	Tue Oct 29 17:28:04 1996
> ***************
> *** 420,428 ****
>   	/* discard MX RRs with a value >= that of localdomain */
>   	if (maxpref >= 0) {
>   		for (n = 0; n < nmx; ++n) {
> ! 			if (((int)mx[n].pref >= maxpref) && (mx[n].host != NULL)) {
>   				free((char *)mx[n].host);
>   				mx[n].host = NULL;
>   			}
> --- 424,440 ----
>   	} else if (nmx == 0)
>   		return NULL;
>   	/* discard MX RRs with a value >= that of localdomain */
> + 	/* [Thomas Knott]
> + 	 * Aber den eigenen Rechnernamen nicht!
> + 	 * Wird in der Funktion "deliver" in standard.cf gebraucht, die ent-
> + 	 * scheidet, ob Mail am lokalen Rechner ausgeliefert wird oder nicht.
> + 	 */
>   	if (maxpref >= 0) {
>   		for (n = 0; n < nmx; ++n) {
> ! 			if (((int)mx[n].pref >= maxpref)
> ! 				    && (mx[n].host != NULL)
> ! 				    && (localhost != NULL)
> ! 				    && !(CISTREQ(mx[n].host, localhost))) {
>   				free((char *)mx[n].host);
>   				mx[n].host = NULL;

	Pardon me, but what is this about ?  Similar comparison should happen
	just a few lines above.


/Matti Aarnio <mea@nic.funet.fi> <matti.aarnio@tele.fi>
	(use FUNET address for ZMailer things, please..)