I went ahead and tried modifying chkuser. these two little quick and dirty 
changes seem to make it work. I'm still open to hearing alternatives (if there 
are any).

--- ../chkuser-2.0.8b-release/chkuser.c 2004-12-08 17:10:36.000000000 -0800
+++ chkuser.c   2005-06-30 17:10:44.192650158 -0700
@@ -435,15 +435,10 @@
 #endif
 
 #if defined CHKUSER_RCPT_LIMIT_VARIABLE
-        maxrcpt_string = env_get (CHKUSER_RCPT_LIMIT_VARIABLE);
-        if (maxrcpt_string) {
-                maxrcpt_limit = atoi (maxrcpt_string);
+        maxrcpt_limit = CHKUSER_RCPT_LIMIT_VARIABLE;
                 if (maxrcpt_limit < 1) {
                         maxrcpt_limit = 0;
                 }
-        } else {
-                maxrcpt_string = "";;
-        }
 #endif
 
 #if defined CHKUSER_WRONGRCPT_LIMIT_VARIABLE



--- ../chkuser-2.0.8b-release/chkuser_settings.h        2004-12-08 
17:10:36.000000000 -0800
+++ chkuser_settings.h  2005-06-30 17:01:28.512240856 -0700
@@ -160,7 +160,7 @@
  * The first reached, between CHKUSER_RCPT_LIMIT_VARIABLE and 
CHKUSER_WRONGRCPT_LIMIT_VARIABLE,
  * makes chkuser rejecting everything else
  */
-#define CHKUSER_RCPT_LIMIT_VARIABLE "CHKUSER_RCPTLIMIT"
+#define CHKUSER_RCPT_LIMIT_VARIABLE 25
 
 /*
  * Uncomment to define a variable which contains the max unknown recipients 
number

-- 
Igor


On Thu, Jun 30, 2005 at 04:21:24PM -0700, Igor Grinchenko wrote:
-> Hello everyone,
-> 
-> I have a pop-before-smtp server running vpopmail 5.4.5. That server only 
serves clients that supply a valid login/password pair.
-> Some clients, however, started abusing this system by sending tons of spam 
which gets us blacklisted in various RBL DBs.
-> what I'm trying to do is use CHKUSER_RCPTLIMIT option to at least limit the 
number of emails that gets sent at once.
-> 
-> it seems like for that I need to have the following line in tcp.smtp.cdb for 
every entry: RELAYCLIENT="",RBLSMTPD="",CHKUSER_RCPTLIMIT"<some number>"
-> since vpopmail only creates RELAYCLIENT="",RBLSMTPD="" - it seems like the 
only way is to hack vpopmail.c around line 2526.
-> 
-> another way is to hack chkuser to hardcode some value to 
CHKUSER_RCPT_LIMIT_VARIABLE instead of looking at the env variable from the cdb 
file.
-> 
-> which way should I go? I don't think I'll have a problem modifying either 
source code, since it seems like a pretty straightforward change.
-> 
-> am I missing some other, simplier way?
-> 
-> -- 
-> Igor
-> 
-> 

Reply via email to