Re: [Mailman-Developers] [Greg Stark gsstark@mit.edu] Re: Bounce removal parameters default values

2004-06-23 Thread Greg Stark
J C Lawrence [EMAIL PROTECTED] writes:

 On 17 Jun 2004 14:36:39 -0400 
 Greg Stark [EMAIL PROTECTED] wrote:
 
 In the absence of VERP this is far more difficult than it at first
 seems.  The simple question becomes, even in the presence of a
 customised test message, how do you recognise a bounce for that
 particular message vs others?

Well of course that's what VERP was invented for after all.

-- 
greg


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org


Re: [Mailman-Developers] [Greg Stark gsstark@mit.edu] Re: Bounce removal parameters default values

2004-06-21 Thread Greg Stark

Brad Knowles [EMAIL PROTECTED] writes:

 At 2:36 PM -0400 2004-06-17, Greg Stark wrote:
 
   Virus scans are only one type of bounce that could cause someone to be
   unsubscribed spuriously. For example, most mail servers have a maximum
  message
   size for example. Consider the security implications: all I have to do to
  mass
   unsubscribe many people--even everyone--on a list is send a message over 50k.
   Everyone using old versions of sendmail will be unsubscribed. A larger
  message
   will unsubscribe anyone using most modern MTAs. Nor do the tests that require
   multiple bounces protect anything; I just have to send my attack a few times
   quickly.

That's one whacky line-wrap algorithm your MUA uses.

   50k?!?  Where are you getting this number?  Maximum message size on
 most MTAs is usually a default of something like 1-10MB, or even unlimited.  In
 more than ten years of specializing in running mail systems, I don't think I
 have *once* seen an MTA that was default configured to a maximum message size
 of just 50k.

Well I said what I meant, old version of sendmail. 50k was indeed the
standard maximum size for sendmail installs prior to MIME attachments and
html-mail and all these new-fangled gadgets. 

I'm subscribed to plenty of mailing lists where attachments and html mail are
severely discouraged so even today it wouldn't be out of place to refuse mail
from these lists over 50k.

   This is basically what Mailman is now doing.  From the
 Mailman-2.1.5/NEWS file:
 
  - The bounce processor has been redesigned so that now when an address's
bounce score reaches the threshold, that address will be sent a probe
message.  Only if the probe bounces will the address be disabled.  The
score is reset to zero when the probe is sent.  Also, bounce events are
now kept in an event file instead of in memory.  This should help
contain the bloat of the BounceRunner.

Hum. Well, then, uh, great! :) Thanks.

Now I just have to figure out why I'm still being dropped. 
I guess some of these mailing lists are old versions of mailman.

This is version skew issue is going to be a big issue going forward. Users of
mailing lists and ultimately any network service are at the mercy of the
admins of every list they're on to upgrade.

-- 
greg


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org


[Mailman-Developers] [Greg Stark gsstark@mit.edu] Re: Bounce removal parameters default values

2004-06-17 Thread Greg Stark

So the problem I described last January and again mentioned last September is
still happening to me, and now to a lot more people. It will only become more
and more prevalent as viruses become more common and sites that filter them
become more common.

Perhaps I should restate the problem more simply. Mailman is committing the
basic sin of network security -- receiving data from the network and trusting
it for purposes other than as opaque data.

It is using messages posted to the list -- the content and format of which it
does not control -- to detect bouncing email addresses. Because of this it
cannot tell if the bounces it's receiving are caused by a broken email address
or caused by some particularity of the posted message.

Virus scans are only one type of bounce that could cause someone to be
unsubscribed spuriously. For example, most mail servers have a maximum message
size for example. Consider the security implications: all I have to do to mass
unsubscribe many people--even everyone--on a list is send a message over 50k.
Everyone using old versions of sendmail will be unsubscribed. A larger message
will unsubscribe anyone using most modern MTAs. Nor do the tests that require
multiple bounces protect anything; I just have to send my attack a few times
quickly.

Really Mailman should simply not trust outside data for any purpose. It should
treat the bounces received from mailing list messages purely as hints. It
should then send its *own* message with content not subject to any control
from outside to the user. Only if that known inoffensive message bounces
should it consider removing the user.

This is really a DOS security issue, though the worst case attack is
unsubscribing many users of a list. That it gets triggered normally even when
not specifically under attack only makes the problem apparent.

---BeginMessage---

The problem I described in January is still happening. I find the current
bounce processing of mailman to be inadequate. Something more like the bounce
processing of ezmlm is needed.

I should not be removed from a mailing list purely on the basis of bounces of
uncontrolled messages. The messages that bounced could have been spam or
outlook worms or whatever.

Before removing a subscriber mailman should send a message with known content
testing the address. Only if such a message bounces should a user be dropped.

As it is I'm being removed from mailing lists whenever a new Outlook worm
appears and sends multiple messages in a row. Or a new spammer discovers a
list I'm on and sends multiple messages in a row to the list.

It's especially bad on low-volume lists where it's quite possible for spam or
Outlook worm messages to be the only messages for days.

Greg Stark [EMAIL PROTECTED] writes:

 I find I am being removed from mailman mailing lists left and right. I believe
 the default values for the bounce removal should be reconsidered. It's
 possible that you haven't had many users in my situation and so haven't really
 had a chance to tune these parameters on the low end yet. But they clearly
 aren't working for me at a few sites.
 
 My particular situation is that my site has seen fit to filter viruses by
 refusing delivery. This causes a bounce from the remote MTA every time someone
 sends me an Outlook virus. Why my site administrators felt this was necessary
 is a question for another day, it's not like I use Outlook or like my spam
 filters wouldn't have thrown these messages away anyways, but whatever.
 
 The net result is that some small fraction of messages to me bounce and list
 management software notices this. The only reason I became aware of the
 problem was because ezmlm also does this type of processing but it sends a
 warning message before removing users. It only removes you if the warning
 message itself bounces. In fact it sends two such warning messages and only
 removes the user if *both* bounce. This provides the user with a chance to
 react to the first message and fix the problem -- if they ever see the
 message.
 
 I could beg for a similar feature in mailman, but I'm not sure it's necessary.
 But I am sure it's necessary to tune the bounce processing parameters. The
 relatively few bounces I'm generating shouldn't be causing me to get removed
 when all the real messages are being delivered fine.
 
 It seems the legitimate messages that are correctly delivered should reset the
 count of bounces to 0. Reading the source it seems it has to see
 DEFAULT_MAX_POSTS_BETWEEN_BOUNCES such legitimate posts between messages. I'm
 fairly convinced this parameter should always be 0. If any successful delivery
 occurs the user should never be removed due to bounces.
 
 What I don't understand is how DEFAULT_MAX_POSTS_BETWEEN_BOUNCES relates to
 the parameters I see in the admin. None of the parameters in the admin
 corresponds to this. How is it calculated?
 
 -- 
 greg
 
 
 ___
 Mailman-Developers mailing list
 [EMAIL

[Mailman-Developers] Happy Mailman Reminder Day

2004-04-02 Thread Greg Stark

I forgot to wish all a happy Mailman Reminder Day yesterday.

Do these reminders not bother everyone else? Getting a few dozen of these once
a month used to really piss me off. I long since sent them to my spam folder
but just on principle whoever decided these should be enabled by default ought
to be first against the wall when the revolution comes.

Subject: Topics

Topics:
   lists.linux.it mailing list memberships reminder
   lists.vipul.net mailing list memberships reminder
   mail.kde.org mailing list memberships reminder
   lists.berlios.de mailing list memberships reminder
   gnucash.org mailing list memberships reminder
   lists.bestpractical.com mailing list memberships reminder
   python.org mailing list memberships reminder
   www-124.ibm.com mailing list memberships reminder
   redhat.com mailing list memberships reminder
   lists.gnucash.org mailing list memberships reminder
   ethereal.com mailing list memberships reminder
   postgis.refractions.net mailing list memberships reminder

---BeginMessage---
This is a reminder, sent out once a month, about your lists.linux.it
mailing list memberships.  It includes your subscription info and how
to use it to change it or unsubscribe from a list.

You can visit the URLs to change your membership status or
configuration, including unsubscribing, setting digest-style delivery
or disabling delivery altogether (e.g., for a vacation), and so on.

In addition to the URL interfaces, you can also use email to make such
changes.  For more info, send a message to the '-request' address of
the list (for example, [EMAIL PROTECTED]) containing just
the word 'help' in the message body, and an email message will be sent
to you with instructions.

If you have questions, problems, comments, etc, send them to
[EMAIL PROTECTED]  Thanks!

Passwords for [EMAIL PROTECTED]:

List Password // URL
   
[EMAIL PROTECTED]   [EMAIL PROTECTED]
http://lists.linux.it/options/barcode/gsstark%40mit.edu


---End Message---
---BeginMessage---
This is a reminder, sent out once a month, about your lists.vipul.net
mailing list memberships.  It includes your subscription info and how
to use it to change it or unsubscribe from a list.

You can visit the URLs to change your membership status or
configuration, including unsubscribing, setting digest-style delivery
or disabling delivery altogether (e.g., for a vacation), and so on.

In addition to the URL interfaces, you can also use email to make such
changes.  For more info, send a message to the '-request' address of
the list (for example, [EMAIL PROTECTED])
containing just the word 'help' in the message body, and an email
message will be sent to you with instructions.

If you have questions, problems, comments, etc, send them to
[EMAIL PROTECTED]  Thanks!

Passwords for [EMAIL PROTECTED]:

List Password // URL
   
[EMAIL PROTECTED]   izicir
http://lists.vipul.net/mailman/options/ricochet-devel/gsstark%40mit.edu


---End Message---
---BeginMessage---
This is a reminder, sent out once a month, about your mail.kde.org
mailing list memberships.  It includes your subscription info and how
to use it to change it or unsubscribe from a list.

You can visit the URLs to change your membership status or
configuration, including unsubscribing, setting digest-style delivery
or disabling delivery altogether (e.g., for a vacation), and so on.

In addition to the URL interfaces, you can also use email to make such
changes.  For more info, send a message to the '-request' address of
the list (for example, [EMAIL PROTECTED]) containing just
the word 'help' in the message body, and an email message will be sent
to you with instructions.

If you have questions, problems, comments, etc, send them to
[EMAIL PROTECTED]  Thanks!

Passwords for [EMAIL PROTECTED]:

List Password // URL
   
[EMAIL PROTECTED]   password  
https://mail.kde.org/mailman/options/kde-devel/gsstark%40mit.edu


---End Message---
---BeginMessage---
This is a reminder, sent out once a month, about your lists.berlios.de
mailing list memberships.  It includes your subscription info and how
to use it to change it or unsubscribe from a list.

You can visit the URLs to change your membership status or
configuration, including unsubscribing, setting digest-style delivery
or disabling delivery altogether (e.g., for a vacation), and so on.

In addition to the URL interfaces, you can also use email to make such
changes.  For more info, send a message to the '-request' address of
the list (for example, [EMAIL PROTECTED]) containing
just the word 'help' in the message body, and an email message will be
sent to you with instructions.

If you have questions, problems, comments, etc, send them to
[EMAIL 

[Mailman-Developers] [java-help@gcc.gnu.org] ezmlm warning

2003-09-30 Thread Greg Stark

As an example of what I mean this is the notice that ezmlm sends. 

It's really helpful too, it explains that the messages have been bouncing,
provides an example of the bounce so the user can make a guess *why* they're
bouncing, and provides a link to the archives (actually instructions on
retrieving them by e-mail).

It also explains that in order to drop you from the list the bounce
notification message has to itself bounce. In fact it goes a step further and
sends a followup message. It will only remove you if that message bounces too.

I think mailman really needs something like this. I haven't been removed from
any ezmlm lists even though I periodically get these notifications from lots
of them.

In fact I wouldn't even know *why* I was being dropped from mailman lists
regularly if it weren't for these ezmlm notifications. That's really bad.
Mailman drops people without any warning or notification of what it's doing or
why.


---BeginMessage---
Hi! This is the ezmlm program. I'm managing the
[EMAIL PROTECTED] mailing list.


Messages to you from the java mailing list seem to
have been bouncing. I've attached a copy of the first bounce
message I received.

If this message bounces too, I will send you a probe. If the probe bounces,
I will remove your address from the java mailing list,
without further notice.


I've kept a list of which messages from the java mailing list have 
bounced from your address.

Copies of these messages may be in the archive.
To retrieve a set of messages 123-145 (a maximum of 100 per request),
send an empty message to:
   [EMAIL PROTECTED]

To receive a subject and author list for the last 100 or so messages,
send an empty message to:
   [EMAIL PROTECTED]

Here are the message numbers:

   15761
   15819
   16007

--- Enclosed is a copy of the bounce message I received.

Return-Path: 
Received: (qmail 8053 invoked for bounce); 18 Sep 2003 10:04:12 -
Date: 18 Sep 2003 10:04:12 -
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=1063263222sources.redhat.com1345767
Subject: failure notice

Hi. This is the qmail-send program at sources.redhat.com.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

[EMAIL PROTECTED]:
18.7.21.83 failed after I sent the message.
Remote host said: 550 5.0.0 Possible virus (badname)


---End Message---


-- 
greg
___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers


[Mailman-Developers] Re: Bounce removal parameters default values

2003-09-26 Thread Greg Stark
Harald Meland [EMAIL PROTECTED] writes:

 [Greg Stark]
 
  Before removing a subscriber mailman should send a message with
  known content testing the address. Only if such a message bounces
  should a user be dropped.
 
 Uhm... what parts of such a known content message do you think can
 safely be assumed to still be discernible when Mailman receives the
 bounce message?

You've misunderstood me. I'm not suggesting it should expect the bounce
message to have known content.

What I'm suggesting is that Mailman should *send* a message with known content
itself, and only if that message bounces should it decide the address is
invalid.

This is what ezmlm does. As much as I dislike ezmlm and qmail for other
reasons and like Mailman for other reasons, this is one thing it gets right
and Mailman gets wrong.

Deciding an address is invalid on the basis of messages posted to the list is
bogus. Mailman can't know whether the message posted to the list bounced
because the address was invalid, or merely because the content of that
particular message triggered a content-based filter.

-- 
greg


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers


Re: [Mailman-Developers] Re: Bounce removal parameters default values

2003-09-26 Thread Greg Stark

Barry Warsaw [EMAIL PROTECTED] writes:

 On Fri, 2003-09-26 at 11:41, Greg Stark wrote:
 
  What I'm suggesting is that Mailman should *send* a message with known content
  itself, and only if that message bounces should it decide the address is
  invalid.
 
 It seems difficult to test a negative (what? it doesn't bounce after 10
 days?  I guess it'll never bounce).  I prefer Mailman's positive test
 approach of sending several notices and requiring an explicit
 confirmation for reinstatement.

That sounds great, except I'm subscribed to 183 lists, mostly low volume.
Periodically I get interested in some project I put aside long ago, check my
mail folder for it and discover I've stopped receiving messages months ago.
That sucks.

I don't see why using a message with known content is any more of a negative
test than basing the decision on list messages with unknown content. If you
get a bounce from a probe you disable the recipient. That's as much a positive
test as looking for bounces.

  Deciding an address is invalid on the basis of messages posted to the list is
  bogus. Mailman can't know whether the message posted to the list bounced
  because the address was invalid, or merely because the content of that
  particular message triggered a content-based filter.
 
 Bounce messages triggered by content-based filters are evil and must be
 eradicated.  

As it turns out in this case the mail server isn't directly generating a
bounce, it's returning an SMTP 5xx error. So the previous SMTP server in the
chain generates a proper bounce to the envelope address. 

I've discussed this with the mail admins and their position is that the
filters aren't perfect and have caught valid mail in the past. They're worried
that simply bitbucketing the mail will cause valid mail to be lost.

Causing valid bounces to be sent to the envelope sender means the innocent
victim in the forged From header isn't harassed with bounce messages. Instead
the list that resent the message gets the bounce and processes it as a failed
message -- which in fact is exactly what happened. It just shouldn't
extrapolate from those messages to assuming the mailbox itself is down.

 When SoBig.F came out, we had effective filters in place within a day or so
 for the specific viruses themselves. What absolutely killed us was all the
 helpful bounces that the zillions of content filters send when they block
 such a message. And even if you think /that's/ okay, not putting limits on
 those block messages is still evil.

Most of this only applies to the stupid filters that incorrectly send bounce
messages to the From header, and often do it with a valid envelope sender
themselves so they're just asking for mail loops.

-- 
greg


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers


Re: [Mailman-Developers] Re: Bounce removal parameters default values

2003-09-26 Thread Greg Stark

Barry Warsaw [EMAIL PROTECTED] writes:

 - We probe your address for a while, and if we get a bounce, then we
 disable you and do the normal notifications for reinstatement.

I don't understand this one. Why would you have to poll to check for bounces.
You handle the bounce as it comes in.

 - If we /don't/ get a bounce from you for, what? X number of days, what

If you don't get a bounce you don't do anything. 
Do you normally do things when nothing happens?

 I don't necessarily trust that we can send only one, but OTOH I don't want
 to fill up your inbox with probe messages.

Why would you keep sending probes? You only send probes when the conditions
are met which are the current conditions for disabling a user.

So what I'm suggesting is:

. When you get a bounce from a list message you record it and see if the
  limits have been reached. If N consecutive previous list messages to the
  address have bounced covering the minimum time period etc then you send a
  probe.

. When you get a bounce from a probe you always disable the address.

  You could add a check to see if the probe was within the last few days and
  check whether any list messages have gotten through since the probe was
  sent, but all of that is just for paranoia's sake, in case someone flushes
  an old mail spool after fixing a mailbox.

Actually ezmlm takes that one step further. If a probe bounces then it waits
some time period and sends another probe. If the second probe bounces then
you're dropped. 

-- 
greg


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers


Re: [Mailman-Developers] Re: Bounce removal parameters default values

2003-09-26 Thread Greg Stark

   My principled side says that an alarming number of sites actually do
   use content filters and that they are a reality of email life and we
   should properly handle reality.

Content filters are not necessarily evil. 
It's bouncing to the From header that's evil.

If it makes you feel better consider the case of somebody who has their MTA
configured to refuse messages over a certain size, like all old installations
of sendmail for example.

So if for a few days only large kernel patches are send to the mailing list
and mailman sees every message to that user bounce. It doesn't mean the
address is any worse off than usual, it's just those messages that were
refused.

-- 
greg


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers


[Mailman-Developers] Re: Bounce removal parameters default values

2003-09-24 Thread Greg Stark

The problem I described in January is still happening. I find the current
bounce processing of mailman to be inadequate. Something more like the bounce
processing of ezmlm is needed.

I should not be removed from a mailing list purely on the basis of bounces of
uncontrolled messages. The messages that bounced could have been spam or
outlook worms or whatever.

Before removing a subscriber mailman should send a message with known content
testing the address. Only if such a message bounces should a user be dropped.

As it is I'm being removed from mailing lists whenever a new Outlook worm
appears and sends multiple messages in a row. Or a new spammer discovers a
list I'm on and sends multiple messages in a row to the list.

It's especially bad on low-volume lists where it's quite possible for spam or
Outlook worm messages to be the only messages for days.

Greg Stark [EMAIL PROTECTED] writes:

 I find I am being removed from mailman mailing lists left and right. I believe
 the default values for the bounce removal should be reconsidered. It's
 possible that you haven't had many users in my situation and so haven't really
 had a chance to tune these parameters on the low end yet. But they clearly
 aren't working for me at a few sites.
 
 My particular situation is that my site has seen fit to filter viruses by
 refusing delivery. This causes a bounce from the remote MTA every time someone
 sends me an Outlook virus. Why my site administrators felt this was necessary
 is a question for another day, it's not like I use Outlook or like my spam
 filters wouldn't have thrown these messages away anyways, but whatever.
 
 The net result is that some small fraction of messages to me bounce and list
 management software notices this. The only reason I became aware of the
 problem was because ezmlm also does this type of processing but it sends a
 warning message before removing users. It only removes you if the warning
 message itself bounces. In fact it sends two such warning messages and only
 removes the user if *both* bounce. This provides the user with a chance to
 react to the first message and fix the problem -- if they ever see the
 message.
 
 I could beg for a similar feature in mailman, but I'm not sure it's necessary.
 But I am sure it's necessary to tune the bounce processing parameters. The
 relatively few bounces I'm generating shouldn't be causing me to get removed
 when all the real messages are being delivered fine.
 
 It seems the legitimate messages that are correctly delivered should reset the
 count of bounces to 0. Reading the source it seems it has to see
 DEFAULT_MAX_POSTS_BETWEEN_BOUNCES such legitimate posts between messages. I'm
 fairly convinced this parameter should always be 0. If any successful delivery
 occurs the user should never be removed due to bounces.
 
 What I don't understand is how DEFAULT_MAX_POSTS_BETWEEN_BOUNCES relates to
 the parameters I see in the admin. None of the parameters in the admin
 corresponds to this. How is it calculated?
 
 -- 
 greg
 
 
 ___
 Mailman-Developers mailing list
 [EMAIL PROTECTED]
 http://mail.python.org/mailman/listinfo/mailman-developers
 
 

-- 
greg


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers


[Mailman-Developers] Bounce removal parameters default values

2003-02-06 Thread Greg Stark

I find I am being removed from mailman mailing lists left and right. I believe
the default values for the bounce removal should be reconsidered. It's
possible that you haven't had many users in my situation and so haven't really
had a chance to tune these parameters on the low end yet. But they clearly
aren't working for me at a few sites.

My particular situation is that my site has seen fit to filter viruses by
refusing delivery. This causes a bounce from the remote MTA every time someone
sends me an Outlook virus. Why my site administrators felt this was necessary
is a question for another day, it's not like I use Outlook or like my spam
filters wouldn't have thrown these messages away anyways, but whatever.

The net result is that some small fraction of messages to me bounce and list
management software notices this. The only reason I became aware of the
problem was because ezmlm also does this type of processing but it sends a
warning message before removing users. It only removes you if the warning
message itself bounces. In fact it sends two such warning messages and only
removes the user if *both* bounce. This provides the user with a chance to
react to the first message and fix the problem -- if they ever see the
message.

I could beg for a similar feature in mailman, but I'm not sure it's necessary.
But I am sure it's necessary to tune the bounce processing parameters. The
relatively few bounces I'm generating shouldn't be causing me to get removed
when all the real messages are being delivered fine.

It seems the legitimate messages that are correctly delivered should reset the
count of bounces to 0. Reading the source it seems it has to see
DEFAULT_MAX_POSTS_BETWEEN_BOUNCES such legitimate posts between messages. I'm
fairly convinced this parameter should always be 0. If any successful delivery
occurs the user should never be removed due to bounces.

What I don't understand is how DEFAULT_MAX_POSTS_BETWEEN_BOUNCES relates to
the parameters I see in the admin. None of the parameters in the admin
corresponds to this. How is it calculated?

-- 
greg


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers