Limiting the number of emails on the list
Hi, A few of my members are asking for daily per-person message limits. I am pretty sure that doing this is quite difficult so I am not even going to try it. However, I am interested in figuring out if I can limit the total number of messages per day on the list. I have a general idea of how to do this (increment a file-based counter for each message; check the value against the limit; if less, pass the message to the next stage; if threshold exceeded, replace the accept file with a file with only my address in it) but am not sure how feasible this is. Has anyone tried something like this? Thanks, Harshal ===== http://www.mumbai-central.com : Where Mumbaikars meet __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com
At 1:30 PM -0400 6/20/02, Harshal is rumored to have typed:
if threshold exceeded, replace the accept file with a file with only my address in it) but am not sure how feasible this is.
Yuck; that seems kinda ugly. I'd probably set up a reject routine that included the failed message and sent back to the poster, and carbon myself. That way, there's feedback to the poster that their post is rejected, and you get a copy of it so you can see what they are going to gripe about. Your way, the messages are delivered to you, but the original poster gets no feedback other than not seeing his post enter the liststream. I admit I haven't tried such a thing, but it should be trivial to write, I would think. The problem is, it's a disaster waiting to happen; if this is a discussion list (if it ain't, you need to throttle _yourself_), it is _guaranteed_ to tick off everyone who is arbitrarily prohibited from posting, will wreak havok with the threads, and generally make life for the listmaster about as miserable as it possibly could be. If the listmembers cannot voluntarily throttle themselves, you throttling them is going to put you in a _really_ perilous position which will rapidly cascade into list failure. Rather you than me. Let us know how it works out. Charlie
On Thu, Jun 20, 2002 at 04:47:31PM -0400, Charlie Summers wrote:
The problem is, it's a disaster waiting to happen; if this is a discussion list (if it ain't, you need to throttle _yourself_), it is _guaranteed_ to tick off everyone who is arbitrarily prohibited from posting, will wreak havok with the threads, and generally make life for the listmaster about as miserable as it possibly could be.
I'm on (as a member, not an admin) one list of about 500 which limits its members to four posts per calendar day; it's relatively low-traffic, about 15-20 messages per day total, so this is rarely a problem. It's more of a gentle reminder not to bounce all over the list than a serious restriction. So this _can_ work; which isn't to say it's necessarily a good idea... Roger
At 7:18 PM -0400 6/20/02, Roger Burton West is rumored to have typed:
I'm on (as a member, not an admin) one list of about 500 which limits its members to four posts per calendar day
But that's not what he talked about doing, though; he was refering to limiting, "TOTAL number of messages PER DAY on the list" (emphasis mine). This implies that, for example with an arbitrary limit of 50 messages per day, one guy could send 49 replies to the first message locking _everyone_ else out for the rest of the day. The inevitable result, it seems to me, is that the "squeaky wheels" would grab the lion's share of the "quota," leaving other subscribers out in the dust, ticked off and unsubscribing in droves. Practically, a per-subscriber limit makes a little more sense (but, I think, would be more complex to write using SmartList as the list manager). A limit on _total_ postings per day would be (IMHO) an unmitigated disaster, albiet relatively trivial to hack together. Charlie
Hmm.. The original question did want limiting per sender, but that option was dismissed as being 'probably impossible' or some such... Anyhow, I suspect that passing the From address to an external prog which returns a useful code, depending on recent history wouldn't be that difficult, I shouldn't think. -ph On Thu, 20 Jun 2002, Charlie Summers wrote:
At 7:18 PM -0400 6/20/02, Roger Burton West is rumored to have typed:
I'm on (as a member, not an admin) one list of about 500 which limits its members to four posts per calendar day
But that's not what he talked about doing, though; he was refering to limiting, "TOTAL number of messages PER DAY on the list" (emphasis mine). This implies that, for example with an arbitrary limit of 50 messages per day, one guy could send 49 replies to the first message locking _everyone_ else out for the rest of the day. The inevitable result, it seems to me, is that the "squeaky wheels" would grab the lion's share of the "quota," leaving other subscribers out in the dust, ticked off and unsubscribing in droves.
Practically, a per-subscriber limit makes a little more sense (but, I think, would be more complex to write using SmartList as the list manager). A limit on _total_ postings per day would be (IMHO) an unmitigated disaster, albiet relatively trivial to hack together.
Charlie
_______________________________________________ Smartlist mailing list Smartlist@lists.RWTH-Aachen.DE http://MailMan.RWTH-Aachen.DE/mailman/listinfo/smartlist
At 7:11 AM -0400 6/21/02, Peter Hartzler is rumored to have typed:
Anyhow, I suspect that passing the From address to an external prog which returns a useful code, depending on recent history wouldn't be that difficult, I shouldn't think.
Ideally, if you're going to impliment a per-subscriber limit, I'd assume it would be faster/less intensive to maintain a database of posters/numbers on-the-fly instead of scanning archived messages each time a message came in...since you already have all the information you need gathered up in variables, sending the sender address off to an external to enter into a database (text file, flat, relational, whatever) wuld make more sense to me. I'm not suggesting it's impossible by any stretch, but _would_ be more difficult than a single inc'ed number for total posts per day. (Not to mention you'd have to handle the program's exitcode within SmartList, use a shell script or procmail recipe to generate the "bounce," handle logging in such a way as to make it useful for flagging "problem children," etc., etc.) Truth is, I wouldn't use either. If (more accurately, when ;) someone seems to be abusing the right to post on any of my lists, I take that person aside and suggest they cool off a little. _Any_ arbitrary limit will, it seems to me, come around and bite one in the rear eventually, since there will come some important situation which _requires_ heavy traffic on the list. Even on a list dealing with Old-Time Radio, lawsuits filed can generate a _huge_ justifiable spike in posting traffic...imagine the things that could happen on a "real" list. ;) But _that_ is outside the discussion of SmartList and gets into list management issues, so I'll shut up on the topic now. Charlie
Peter Hartzler wrote, | The original question did want limiting per sender, but that option was | dismissed as being 'probably impossible' or some such... Anyhow, I | suspect that passing the From address to an external prog which returns a | useful code, depending on recent history wouldn't be that difficult, I | shouldn't think. But it would be such an invitation to forgery. Suppose, Peter, that you and I get into a quarrel on a list. I wait until you're asleep or commuting, and I fire off a bunch of posts forged to appear as if from you, that make your position look totally ridiculous, supporting it with obvious falsehoods or laughably bad logic, and I pepper them with childish insults against me (with a lot of profanity if the list doesn't have a content filter) to embarrass you further. Then in the last one that uses up your quota for the day, Fake Pete posts an effusive apology with a complete retraction and a full agreement with my own position. Meanwhile, I'm also firing off intelligent, cogent posts (at least in my own opinion) under my own name besides the posts as Fake Pete, wasting my own quota, using my last allowed post of the day to accept (or maybe refuse) Fake Pete's apology and recantantion. You get back to your email, you see what I've pulled, and you are hopping mad. But until midnight in the listowner's time zone or manual action by the listowner clears your quota, you can't post any defense of your position; you can't post to expose me as the forger of those posts; and you can't retaliate by forging posts under my name because I've used up my own quota as well as yours. Will it catch up with me? Of course: the listowner will kick me off, ban me, and post an explanation to the membership of what really went on with an apology to them all, especially you, for setting up a system with such a big hole in it. But look at the mess in the meanwhile. Software is too easy to fool. Only a human moderator can administer a posting quota.
<$.02> For what it's worth, I completely agree that throttling messages automatically is rotten, for all the reasons mentioned -- the issues of forgery/DoS, new-account workarounds, and the general icky territory of babysitting listers. I believe my previous post was too narrow in it's scope; only considering the mechanical aspects of the issue, not the larger world of whether it'd even be a Good Thing(tm). Charlie -- (To continue looking at the gearhead side of the question ;-) Yeah, I was imagining a database approach. A simple berkely db file would work ok for this. (FWIW, an interesting spin-off of this idea might be a package which generated a set of list/poster statistics.) And IMHO the topic is not entirely outside the charter if this list; it speaks to the reasoning behind not creating such a feature. With a little luck, this WON'T become a faq. %-/ David -- The idea of forgery did come immediately to mind, and it's good you brought it up, if only to help convince folks to put this idea to rest. I joined this thread mainly because it seemed like an possibly interesting hack, and by no means impossible. </$.02> If anyone *does* still think this is a good idea, then this is their next stop: http://www.hartzler.net/smartlist/SmartList-FAQ.html#Section_4.4 Regards, Pete. [massive snippage ahead] On Fri, 21 Jun 2002, Charlie Summers wrote:
... it would be faster/less intensive to maintain a database of posters/numbers ... I take that person aside and suggest they cool off a little. ... But _that_ is outside the discussion of SmartList ...
On Fri, 21 Jun 2002, David W. Tamkin wrote:
... But it would be such an invitation to forgery. ... Software is too easy to fool. Only a human moderator can administer a posting quota.
In article <v03130308b93815efa070@[192.168.123.10]>, Charlie Summers <charlie@lofcom.com> wrote:
At 7:18 PM -0400 6/20/02, Roger Burton West is rumored to have typed:
I'm on (as a member, not an admin) one list of about 500 which limits its members to four posts per calendar day
But that's not what he talked about doing, though; he was refering to limiting, "TOTAL number of messages PER DAY on the list" (emphasis mine).
It certainly is what he talked about doing: | A few of my members are asking for daily per-person message limits. I | am pretty sure that doing this is quite difficult so I am not even | going to try it. I don't think it would be that tricky. You could write a program which: * pulls the poster's address from the "From" header; * stores it in a database with the current time; * expires any entries more than 24 hours old; * compares the number of entries for that address with the daily limit, returning an error code if the limit has been exceeded Then call it from rc.local.s10 or some such: :0 c | ratelimit :0 e | (formail -i"From: $listreq" -rtA"X-Loop: $listaddr"; cat overquota.txt) \ | $SENDMAIL $sendmailOPT -t
participants (6)
-
Charlie Summers
-
David W. Tamkin
-
Harshal
-
Peter Hartzler
-
Roger Burton West
-
Tim Pierce