Re: rblsmtpd patched for multiple lookups

1999-06-21 Thread Anonymous


The patch is now in production use on my mail system and nothing 
has exploded yet.

http://www.spiritone.com/~nabil/multirbls.diff 

nabil writes...
Since I didn't see any in the mailing list archives, here are some diffs
to patch rblsmtpd to support multiple RBL's.  Caveat is that I've only
been using these for speed testing different RBL schemes, but it does seem
to work as intended.  You can test it with something like...


-- 
Aaron Nabil



rblsmtpd patched for multiple lookups

1999-06-14 Thread Anonymous


Since I didn't see any in the mailing list archives, here are some diffs
to patch rblsmtpd to support multiple RBL's.  Caveat is that I've only
been using these for speed testing different RBL schemes, but it does seem
to work as intended.  You can test it with something like...

$ TCPREMOTEIP=127.0.0.2 ./rblsmtpd -rdul.map.vix.com -rrbl.maps.vix.com /bin/id

diff -c -r rblsmtpd-0.70/rblsmtpd.c rblsmtpd-0.70-local//rblsmtpd.c
*** rblsmtpd-0.70/rblsmtpd.cTue Aug 25 08:58:22 1998
--- rblsmtpd-0.70-local//rblsmtpd.c Mon Jun 14 10:26:15 1999
***
*** 10,15 
--- 10,17 
  #include "ip.h"
  #include "env.h"
  
+ #define MAX_RBL_DOMAINS 8
+ 
  #define FATAL "rblsmtpd: fatal: "
  void die_sys() { _exit(111); }
  
***
*** 109,114 
--- 111,119 
  char **argv;
  {
int opt;
+   int rblcnt = 0;
+   int i;
+   char * rbldoms[MAX_RBL_DOMAINS];
  
while ((opt = getopt(argc,argv,"t:r:Rb")) != opteof)
  switch(opt) {
***
*** 115,121 
case 't': scan_uint(optarg,timeout); break;
case 'R': flagrblsafe = 1; break;
case 'b': flagbounce = 1; break;
!   case 'r': rbldomain = optarg; break;
default: usage();
  }
argv += optind;
--- 120,126 
case 't': scan_uint(optarg,timeout); break;
case 'R': flagrblsafe = 1; break;
case 'b': flagbounce = 1; break;
!   case 'r': if (rblcnt  MAX_RBL_DOMAINS) rbldoms[rblcnt++] = optarg; break;
default: usage();
  }
argv += optind;
***
*** 122,128 
if (!*argv) usage();
  
res_init();
!   check();
execvp(*argv,argv);
strerr_die4sys(111,FATAL,"unable to run ",*argv,": ");
  }
--- 127,140 
if (!*argv) usage();
  
res_init();
!   if (rblcnt == 0) {
!   check();
!   } else {
!   for (i=0; irblcnt; i++) {
!   rbldomain = rbldoms[i];
!   check();
!   }
!   }
execvp(*argv,argv);
strerr_die4sys(111,FATAL,"unable to run ",*argv,": ");
  }

-- 
Aaron Nabil