[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Je crois que j'ai trouvé un bug !



Bonjour,

Je crois que j'ai trouvé un bug dans le programme "spamproxyd" du 
package "spamassassin".

spamproxyd est écrit en perl, lorsque je le lance comme indiqué dans la doc :

serveur:/# spamproxyd 192.168.1.1:1025 127.0.0.1:25 postmaster@intra.net

Il me dit :
syntax: /usr/sbin/spamproxyd [--children=4] [--minperchild=5] [--maxperchild=10]
 [--shared] [--debug] [--recipient_mapping=file]listen.addr:port talk.addr:port
[spamaddr@example.com]

Et si j'enlève "postmaster@intra.net", ça marche !

Voici un extrait du programme :

my $syntax = "syntax: $0 [--children=$children] [--minperchild=$minperchild] ".
             "[--maxperchild=$maxperchild] [--shared] [--debug] [--
recipient_mapping=file]".
             "listen.addr:port talk.addr:port [spamaddr\@example.com]\n";

sub stop{
    my $message=$_;
    print $message;
    die $syntax;
}

GetOptions("children=n" => \$children,
	   "shared" => \$shared,
	   "debug+" => \$debug,
	   "recipient_mapping=s" => \$recipient_mapping,
           "minperchild=n" => \$minperchild,
           "maxperchild=n" => \$maxperchild) or &stop("can't get the options !
\n");

&stop("Numbers of arguments must be at least two !\n") unless @ARGV == 2;

my ($srcaddr, $srcport) = split /:/, $ARGV[0];
my ($dstaddr, $dstport) = split /:/, $ARGV[1];
my $spamaddr;
if(@ARGV == 3) {
  $spamaddr = $ARGV[2];
} else {
  $spamaddr = "recipient";
}


Si je remplace :
&stop("Numbers of arguments must be at least two !\n") unless @ARGV == 2;
par :
&stop("Numbers of arguments must be at least two !\n") unless @ARGV > 1;

Alors je peux lancer spamproxyd par la commande :
spamproxyd 192.168.1.1:1025 127.0.0.1:25 postmaster@intra.net


Alors, est-ce un bug ?

Faut-il le signaler ?

Merci d'avance !



Reply to: