On Sat, Dec 16, 2000 at 06:26:45PM -0500, Chris Hardie wrote:
> 
> Greetings.  I'm seeking clarification on use of the "-r" option of
> rblsmtpd, described here:
> 
>   http://cr.yp.to/ucspi-tcp/rblsmtpd.html
> 
> The issue at hand is whether or not you can specify multiple blackhole
> lists with one call, or if you have to chain calls to rblsmtpd.

You can, at least with the latest rblsmtpd. You don't mention which
version of ucspi-tcp you're using... The latest is 0.88. The page you
reference above is for the rblsmtpd in the 0.88 distribution.

> I've had some reports that you can use multiple -r's, e.g.
> 
>   rblsmtpd -rrelays.orbs.org -rrbl.maps.vix.com

This is, in fact, the correct syntax.

> However, user Mike Silbersack had a different experience and did some
> further research into the issue and sent me this:

[snip partial main() listing...]

> I think this would indicate that repeating use of -r wouldn't work as
> expected.

The code you showed only allows one -r switch. However, that is not the
code from ucspi-tcp 0.88. The following is the relevant piece of main()
from 0.88:

main(int argc,char **argv,char **envp)
{
  int flagwantdefaultrbl = 1;
  char *x;
  int opt;

  ip_init();

  x = env_get("RBLSMTPD");
  if (x) {
    if (!*x)
      decision = 1;
    else if (*x == '-') {
      if (!stralloc_copys(&text,x + 1)) nomem();
      decision = 3;
    }
    else {
      if (!stralloc_copys(&text,x)) nomem();
      decision = 2;
    }
  }

  while ((opt = getopt(argc,argv,"bBcCt:r:a:")) != opteof)
    switch(opt) {
      case 'b': flagrblbounce = 1; break;
      case 'B': flagrblbounce = 0; break;
      case 'c': flagfailclosed = 1; break;
      case 'C': flagfailclosed = 0; break;
      case 't': scan_ulong(optarg,&timeout); break;
      case 'r': rbl(optarg); flagwantdefaultrbl = 0; break;
      case 'a': antirbl(optarg); break;
      default: usage();
    }

  argv += optind;
  if (!*argv) usage();

  if (flagwantdefaultrbl) rbl("rbl.maps.vix.com");
  if (decision >= 2) rblsmtpd();
  ...
}

> Can anyone clarify what's really supposed to happen, what really
> does happen, and what it all means in a larger existential context?

Hopefully I've addressed the first two questions, anyhow.... :)

> Thanks,
> Chris

-thl

Reply via email to