Continuing in the tradition of bug reports...

Carter Bullard carter at qosient.com
Tue Apr 14 11:07:06 EDT 2009


Hey Dan,
The "-M ........" set of options are a bit of a programming problem.   
There
are options that apply to all ra* commands, which the ./common libraries
process, and there are those that apply only to specific commands,  
which the
user of the libraries has to process.  We did this because we ran out  
of letters,
and it was tough giving 'argv' and 'argc' to user supplied routines so  
they
could pick out their options, so we came up with the "-M ...."   
strategy.

The main code can't verify all the options that a new client program
may have invented, and the clients, can't seem to figure out  
consistently
what all the options the main libraries support.  So there really isn't
any single routine that can do the tests you need.

I'll add your description of the "-M " mode silently eating illegal  
modes
in the ra.1 man page.

As CS Lee pointed out, the argus() convention is to precede the filter
with a lone "-", to forcibly indicate that we're giving you a filter  
now.
And that is explicit in the ra.1 man page.

I know, pretty lame, but that's how we've gotten to this point.

Carter


On Apr 13, 2009, at 10:15 PM, Daniel V. Klein wrote:

> Here's a bug that is possibly a documentation issue, but also should  
> generate a runtime error...  The command
>
> 	ra -M xml -S ns.ibp.com port 80
>
> correctly prints only flows for port 80 in XML format, however
>
> 	ra -S ns.ibp.com -M xml port 80
>
> prints ALL flows (TCP, UDP, regardless of port number).  The  
> documentation fails to mention that an arbitrarily long list of mode  
> operators may follow -M, and that both "port" and "80" are silently  
> eaten as illegal modes.  I'd argue that they should be flagged as  
> unrecognized, but another way around the bug is to say
>
> 	ra -S ns.ibp.com -M xml - port 80
>
> -Dan
>








More information about the argus mailing list