On 02/16/2014 10:20 AM, Wicus Roets wrote:
In favour of myself and some else referring to this mail list in future,
would you mind elaborating on qmail-remote throttling? (until the
"offending/spamming user" feature gets implemented)
Presently, qmail-remote has no throttle other than the concurrencyremote
setting, which simply limits the number of external connections that can
happen at once.
In the event that a spammer (or perhaps even a legitimate user) submits
a boatload of messages, qmail-remote dutifully processes messages as
quickly as it possibly can (given the concurrencyremote constraint). I
think everyone would agree that qmail-remote is not well behaved when
this occurs.
The idea of a throttle for qmail-remote came to me from gmane.org, the
list to news gateway (which I use and highly recommend).
http://gmane.org/post.php says:
4. No more than one message is sent per user per five minutes. If you
post more than one message per five minutes, the messages are spooled
and sent out later. No action is required from you.
IMO, this is brilliant. While it doesn't block spam entirely, it
prohibits a spam flood, while providing the ability to automatically
detect an "event" and take corrective action.
The qmail-remote throttle I have written a spec for would simply have a
rate limit, being the number of seconds required to elapse between
sending out messages from the same account. qmail-remote would keep
track of the when the last message was sent for each account, and would
only send the next message from each account after the rate limit has
been reached (as gmane.org presently does). The rate limit would be
specified by host, domain, and/or user account. It could also be
unlimited (as things are now).
Once the qmail-remote throttle is in place, it'd be a relatively simple
matter (for some of us) to write a script which would detect an event,
block the account, and clean up the queue. The key (and more
complicated) part of all this is the patch for qmail-remote though,
which would need to be written in C. I could do this, but it would take
some doing (it's been a while since I've written much C code).
So there you have it. Questions?
--
-Eric 'shubes'
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]