Jacob_Palme_QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA (02/17/86)
Do mailing lists in Arpanet, Csnet, UUCP etc. usually contain loop control, and if so which kind of loop control. The most common methods for loop control are: (1) Do not send a message to a member of the mailing list, if that member is already in the TO, CC or BCC fields of the incoming message, or possibly also some other field like SENDER, FROM? (2) Save at least the Message-ID-s of the message passing the list, and do not allow a message with the same ID to pass the list twice. (3) Organize the lists and sublists so that no loop occurs in the structure. (4) Expand all lists and sublists at one time at the original sending of the message. QZCOM at present uses method (1) and (2). I know that UUCP/USENET uses method (2). A problem with method (1) is that the name of the same recipient can be given in many alias forms, and this will make it difficult to understand that the name in the list and the name in the message is the same. A problem with method (2) is that all messages do not have any Message-ID-s. Because of this, QZCOM always adds Message-ID-s to messages sent to us and forwarded again from us to the nets. At present we construct these Message-ID-s as <...@QZCOM>, but a neater way would be to construct them from a checksum of the from, date and contents, and then present them as <...@CHECKSUM> as I have proposed in a message about a year ago. I would be very interested to know which methods of loop controls other mailing lists apply, and their experience with them.
gillies.osbunorth@xerox.ARPA (02/17/86)
another method of loop control used by some of our mail gateways: (5) Each host physically appends a [post]mark to the message that identifies it as "A message already acted on here". Refuse to process [kill] the message if it shows up later at the same host with one of your [post]marks still in tact. This is a good way for a gateway to prevent looping. However, it won't work if you're sending mail through a dumb gateway that strips off this information to accomplish format conversion. Don Gillies
PKARP@SRI-IU.ARPA (Peter Karp) (02/17/86)
I believe that Unix Sendmail counts "Received:" lines in message headers, assuming that it has detected a mail loop if this number gets past some threshold. Simple but effective... Peter -------
Jacob_Palme_QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA (02/18/86)
Your solution of appending a postmark on the message is a variant of my method (2). This method should have been formulated in more general terms, to append some kind of trace information on the message. I prefer to put the postmark in the TO field for the following reasons: (a) What you want to stop is not the same message looping back to the same host. This, in fact, can be perfectly legal in some cases. What you want to stop is the message looping back to the same mailing list. (b) The TO: field is one of the safest field from being munged by header-munging systems. Best of course would be to have an additional, special field in the headers intended for this kind of trace information - provided that all systems accept and are willing to handle this trace field in the proper manner.
ucl.ac.uk@BRL.ARPA> (02/19/86)
Counting received lines is simple, and STUPID. How many hops do you think your message took to reach me here in Wales ? Well, perhaps it didn't take quite that many, but I certainly wouldn't like to rely on that !
mcb@styx.UUCP (Michael C. Berch) (02/20/86)
Speaking of loop control, we have received FOUR copies of this message and several others gatewayed to net.mail.headers: Second of four copies: > From lognet2!seismo!brl-smoke!smoke!Jacob_Palme_QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA Thu Feb 20 10:12:38 PST 1986 > Relay-Version: version B 2.10.2 8/21/84; site styx.UUCP > Path: styx!lognet2!seismo!brl-smoke!smoke!Jacob_Palme_QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA > >From: Jacob_Palme_QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA > Newsgroups: net.mail.headers > Subject: Re: Subject: Loop control mechanisms in mailing lists > Message-ID: <1024@brl-smoke.ARPA> > Date: 18 Feb 86 01:52:46 GMT > Date-Received: 19 Feb 86 19:52:10 GMT > Sender: news@brl-smoke.ARPA > Lines: 18 > > Your solution of appending a postmark on the message is a variant > of my method (2). This method should have been formulated in > more general terms, to append some kind of trace information > on the message. I prefer to put the postmark in the TO field > for the following reasons: > > [remainder deleted...] Fourth of four copies: > From lognet2!seismo!brl-smoke!smoke!Jacob_Palme_QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA Thu Feb 20 10:05:45 PST 1986 > Relay-Version: version B 2.10.2 8/21/84; site styx.UUCP > Path: styx!lognet2!seismo!brl-smoke!smoke!Jacob_Palme_QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA > >From: Jacob_Palme_QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA > Newsgroups: net.mail.headers > Subject: Re: Subject: Loop control mechanisms in mailing lists > Message-ID: <1026@brl-smoke.ARPA> > Date: 18 Feb 86 02:34:08 GMT > Date-Received: 19 Feb 86 19:52:13 GMT > Sender: news@brl-smoke.ARPA > Lines: 18 > > Your solution of appending a postmark on the message is a variant > of my method (2). This method should have been formulated in > more general terms, to append some kind of trace information > on the message. I prefer to put the postmark in the TO field > for the following reasons: > > [remainder deleted...] Note that these have different message-IDs from brl-smoke. Since this has occurred before, I assume we can rule out the possibility of duplicate messages being sent over from the Internet. Would whomever is doing the gatewaying please look into this? Michael C. Berch ARPA: mcb@lll-tis-b.ARPA UUCP: {akgua,allegra,cbosgd,decwrl,dual,ihnp4,sun}!idi!styx!mcb