[xymon] parsing bug in hobbit-clients.cfg

Elmar Heeb heeb at phys.ethz.ch
Fri Nov 19 17:40:46 CET 2010


On 11/19/2010 12:53 PM, Elmar Heeb wrote:
> Suppose you have the following entry in hobbit-clients.cfg:
>
> HOST=blog.example.com,example.com
> PROC apache
>
> then the PROC test will be ignored for example.com. If the two hosts are
> reversed, i.e.
>
> HOST=example.com,blog.example.com
> PROC apache
>
> then the PROC test will be done for both hosts. I tried with a few
> variations on this and it appears that any later string in the comma
> separated list will be ignored if it is a substring of a string that
> appeared earlier. The same goes for EXHOSTS and probably most other
> selectors.
>
> This bug is present in at least versions 4.3.0 beta2 (from Debian
> lenny-backports) and 4.2.0 (from Debian lenny).

I have narrowed down the bug to the namematch subroutine in 
lib/matching.c and attached a patch.

The old code (which is the same in 4.2.0 and the svn trunk version) 
indeed explains the wrong behaviour.  Lacking a preceeding comma as a 
guard character essentially made any non-comma character a negating 
match and not just an '!'.  The patch explicitly tests for ",%s," and 
",!%s," and thus makes sure that a partial match cannot prevent a later 
full match.

      -- Elmar


-- 
Dr. Elmar S. Heeb <heeb at phys.ethz.ch>   support: +41 44 633 26 68
IT Services Group, HPT D 19               voice: +41 44 633 25 91
Department of Physics, ETH Zurich        mobile: +41 79 628 75 24
CH-8093 Zurich, Switzerland              http://nic.phys.ethz.ch/
-----------------------------------------------------------------
Please consider the environment before printing this e-mail
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xymon-namematch.patch
Type: text/x-patch
Size: 1672 bytes
Desc: not available
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20101119/c85daa52/attachment.bin>


More information about the Xymon mailing list