In message <9406182046.AA23910@saimiri.primate.wisc.edu>, Software
Development writes:
>> [rouilj said]
>> Well, since there was a dupliate message ID in the body of the
>> message, maybe it would suffice to scan the entire message for:
>>
>> /^Message-ID:\s+(.*)\s*$/
>>
>> and check all messages id's thus found against the database of sent
>> message-id's. Most software that I know of just quotes the message ID,
>> but clobbers the header line for the message-id, so loops that
>> preserve the form of the message ID header should be easily
>> detectible. This would catch pure mail loops, as well as
>> mail->news->mail loops like the one that started this.
>
>If this is done, I wouldn't anchor the match to the beginning of the line.
>If the message gets quoted by >'s and sent in a loop, the match will fail.
Actually I wanted quoted message-id's to be passed through. I have
seen lots of mail loops, and I have never seen one that quoted the
message internally. Quoted message-id's are usually the result of
somebody forwarding the message, and not editing out the message-id
header. Including the message id header in a forwarded message is not
an unreasonable thing to do.
>Re: keeping a database of message id's: It's extra work. I run a list
>for which I add an "X-ListName-Id: yy:mm:dd hh:mm:ss" header to each message.
>Incoming messages are scanned for /X-ListName-Id/ only and sent to me if
>they're found. I think this is simpler than a message id database.
Yes, but sadly some mail software strips all except a select few
headers (I have emperical evidence that from and message-id were kept,
but sender and X-* got dropped). Hence the idea of targeting it on the
message-id. Also, the message-id and resend info need to be recorded
for stats purposes anyway, the only overhead would be in scanning for
the ID, and even then it wouldn't be that bad.
>nauseum -- but it also gets triggered by people on the list that just
>include an entire message in their replies without editing out the
>extraneous stuff (fie, fie on them). I find that valuable too because
>I can bounce it back to them and tell them they were naughty.
Yes, with the extra header, you can do that. Maybe both message id's
and an X-majordomo-resent: mm/dd/yyyy hh:mm:ss should be
provided. That way the loop stands a good chance of being detected
even if the message-id is quoted.
>If I were going to include a mechanism for this kind of thing in majordomo
>I'd probably want to write it so a param in the configure file would allow
>messages detected as possibly looping to be (i) dropped; (ii) bounced to
>the sender (possibly dangerous?); (iii) sent to the list owner in such
>a way that approve could be used to post them to the list without further
>ado. I really like majordomo's approve mechanism, and if I could use it
>to process possibly-looping messages, that'd be great.
Personally, I belive that 3 is the only alternative that should be
supported, unless we have an absolutely foolproof heuristic for
detecting looped messages (would need to do received line analysis I
guess). Agreed, approve should be used to send the message.
>I don't really yet understand the addin business projected for the
>2.0 release, but it occurs to me that adding the X-ListName-Id and
>detecting same might be candidate for addin types of things. (Or is
>this way off?)
Well the addins only apply to the majordomo program. Resend, digest
etc don't have a structure (yet??) that makes addins work for them.
-- John
John Rouillard
Senior Systems Consultant (SERL Project) University of Massachusetts at Boston
rouilj@cs.umb.edu (preferred) Boston, MA, (617) 287-6480
==============================================================================
My employers don't acknowledge my existence much less my opinions.
Follow-Ups:
References:
|
|