[prev in list] [next in list] [prev in thread] [next in thread] 

List:       majordomo-workers
Subject:    Re: rate limiting
From:       Chuq Von Rospach <chuqui () plaidworks ! com>
Date:       1999-01-23 6:27:29
[Download RAW message or body]

At 9:39 AM -0600 1/22/99, Jason L Tibbitts III wrote:

> Note that it's more than just posts; you want to handle the inherent hole
> of having any kind of program that responds blindly to email.

It's a case of different parts of this needing different things 
(sigh. It's never simple).

For the lists themselves, we want to limit number of postings over 
time. IMHO, in the perfect world, this is list-configurable by the 
admin, either to hold-in-queue or return. If you hold-in-queue, you 
send back a message explaining the delay to the poster, because 
otherwise you run the risk of having 20 of them in your queue, each 
on waiting for a timeout before it comes out as a repeat, with 
increasingly frustrated expletives.

(remember, blackholes suck. Any time the list server does something 
that the user can't expect to be the normal operation, tell the user 
you're doing that. That includes forwarding mail to admins for 
approval, holding mail for later processing, whatever.... The worst 
thing you can do to a user is silence....)

For majordomo itself, we're more worried about mail loops and various 
attacks. In these cases, I'd argue that responses to some limit, and 
after that, blackhole. If you've told someone five times and they're 
still blatting, then it's probably safe to assume it's either an 
attack, a mailbot, or someone really not interested in listening to 
you anyway... (and I get a few of those. Ever so often I get these 
HUGE messages to postmaster where the user has gone six or seven 
rounds with majordomo screaming "why aren't you answering my 
questions?????" before they try a different address and simply 
include the whole disaster....)

Speaking of mail loops, I broke a doozy today. I was whacking at my 
server today, and noticed a specific majordomo request in the queue. 
Came back 10 minutes later, and it was still there (which, finally, 
shouldn't happen. Last week was writing scripts to make "unzub *" go 
away, since it was taking 18 CPU minutes on my box. The replacement 
takes about 3 CPU minutes, FWIW).

I went looking, and some braindead server at Intuit was blithely 
blatting at the majordomo account (having returned an error to the 
wrong bloody address, in a form none of my filters had caught), and 
it and my majordomo were happily telling each other that the other 
side had a problem, appending their own error messages in each 
iteration.

The message was, I kid you not, 90 megs. another 10 megs, and my "max 
message size" would have killed it, but god knows how long this has 
been going on (I forgot to look), and it must have been the worlds 
slowest mail loop, given how long it takes majordomo to read 90 megs 
of data, one line at a time, tell me each line isn't a legal command, 
and then return it with the help file attached...

And I caught it by accident. Now I'm curious how many of these are 
wandering around unseen....

--
Chuq Von Rospach (Hockey fan? <http://www.plaidworks.com/hockey/>)
Apple Mail List Gnome (mailto:chuq@apple.com)
Plaidworks Consulting (mailto:chuqui@plaidworks.com) 
<http://www.plaidworks.com/> + <http://www.lists.apple.com/>

Featuring Winslow Leach at the Piano!

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic