Xymon Mailing List Archive search

Is there a reason why the httpstatus test is case sensitive?

list Japheth Cleaver
Thu, 9 Apr 2015 23:05:47 -0700
Message-Id: <user-c52be77ff279@xymon.invalid>


On Wed, April 1, 2015 10:58 am, John Thurston wrote:
On 4/1/2015 9:47 AM, J.C. Cleaver wrote:

On Wed, April 1, 2015 10:07 am, John Thurston wrote:
Yesterday, I crashed xymonnet by doing a copy/paste into an httpstatus
test. I eventually figured out what was wrong.

This syntax is good:
    0.0.0.0  foo.com   # httpstatus;http://foo.com/index.html;401
This syntax is bad:
    0.0.0.0  foo.com   # httpstatus;HTTP://foo.com/index.html;401

The man page for hosts.cfg doesn't say anything about required or
supported casing. Is there some reason why xymonnet shouldn't be able
to
handle mixed-case protocol names in the URLs provided?
John,


Can't think of any... Case preservation should be done for the path, but
the protocol is irrelevant there. https://www.ietf.org/rfc/rfc1738.txt
calls it out as a 'should', so it seems like a bug (I believe
parse_url()
in lib/url.c). I'll roll this in.

Curious, did you get any sort of error log output before it went down?
Aside from case-insensitive matching, it's an indication we're not doing
sufficient error checking later on somewhere.
Yes. I received:
  2015-03-31 14:39:34 Unknown URL scheme 'HTTP' in URL
'HTTP://foo.com:9080'

which looks like it comes from lib/url.c following a case-sensitive
match of startp against a list of possible types.

Thanks for your quick attention.

This is fixed in 4.3.20.


Regards,

-jc