[ARGUS] Peculiar cross platform argus/ra non-interoperability

Joe Christy joe at eshu.net
Mon Aug 9 17:17:37 EDT 2004


   Vis-a-vis Carter's note of 08/09/2004 01:24 PM:
> Very interesting indeed.  I suspect a compiler error.
> 
> One thing that might confirm this is to put a statement
> in front of the read, like a ArgusDebug() statement, to see
> if the formating somehow fixes the problem.  Copy any
> ARGUS_DEBUG enclosed statement and set the first parameter
> to say 1, and they try it with and without -D1, to see if
> it gets through and/or not.  If this works, then definitely
> a compiler problem (not definitive, but a good test).

	Same mis-behavior (except for the appearance or not of the new debug 
statement's output) regardless of whether the -D option is set or not. 
Works under gdb if there is a breakpoint before line 1750 in 
argus_parse.c, otherwise not gdb or no.

> If it's a compiler error, then switching to a prior version
> of gcc may make a difference?
> ...

	Same behavior (except for the unitialized values for cnt and size) with 
gcc-2.96 and gcc-3.4, so neither down- nor up-grading gcc changes it.

*BUT* here's why I don't think that it's _simply_ a compiler error. The 
ra binary hadn't changed for some time when the problem manifested 
itself. The only thing that changed was the FreeBSD OS upgrade, not even 
the argus binary on the gateway (though I have subsequently recompiled 
several times to turn on debugging on that side as well). The setup had 
been working for many months, through several previous versions of 
FreeBSD and Fedora/RedHat, gcc, and argus/argus-clients.

	Could it be that the FreeBSD upgrade changed the size or latency of the 
packets argus posts to port 561, thereby uncovering a buffer 
over/underflow in ra under linux?

	Joe



More information about the argus mailing list