[Nagiosplug-devel] [ nagiosplug-Bugs-3571331 ] check_http converts semicolon to newline in -k

SourceForge.net noreply at sourceforge.net
Tue Aug 20 21:40:55 UTC 2013


Bugs item #3571331, was opened at 2012-09-24 14:14
Message generated for change (Comment added) made by hweiss
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=3571331&group_id=29880

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Argument proccessing
Group: release-1.4.15
>Status: Closed
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: RudolfPotucekSmart (rpsmart)
Assigned to: Holger Weiss (hweiss)
Summary: check_http converts semicolon to newline in -k 

Initial Comment:
When trying to pass Accept: headers, which are supposed to contain semicolons, using the -k option then the semicolon is converted to a newline (verified using snapshot version 1.4.16-38-g4cdd on RHEL 6.3 and recording request using tcpdump:

call:

./nagios-plugins-1.4.16-38-g4cdd/plugins/check_http -I obfuscated -H obfuscated -k 'Accept: application/json;charset=UTF-8' -u obfuscated

tcpdump / wireshark:

GET ofuscated HTTP/1.1
User-Agent: check_http/v1.4.16-38-g4cdd (nagios-plugins 1.4.16)
Connection: close
Host: obfuscated
Accept: application/json
charset=UTF-8

----------------------------------------------------------------------

Comment By: Holger Weiss (hweiss)
Date: 2013-08-20 14:40

Message:
This problem is now fixed in Git. Thank you for your report.

----------------------------------------------------------------------

Comment By: Richard Leitner (g0hl1n)
Date: 2013-05-29 13:53

Message:
Hi,
multiple -k options are already implemented in the current check_http.
Using them you can define multiple HTTP header fields.

Until now check_http wasn't able to handle semicolons (;) in an header
field, due to the fact it split them up into multiple header fields.
So after my patch the mentioned use of check_http
(./nagios-plugins-1.4.16-38-g4cdd/plugins/check_http -I obfuscated -H
obfuscated -k 'Accept: application/json;charset=UTF-8' -u obfuscated) will
work (I've testes it, I swear^^), but you wouldn't be able to specify
multiple Header fields in one -k option.

Hope this describes it well.
Otherwise just check the sources at
https://github.com/nagios-plugins/nagios-plugins/pull/52/files or the help
text of check_http.

br,
Richard


----------------------------------------------------------------------

Comment By: RudolfPotucekSmart (rpsmart)
Date: 2013-05-29 09:36

Message:
I think multiple -k options don't help because there is only ONE header
called "Accept:" with a value of "application/json;charset=UTF-8"

----------------------------------------------------------------------

Comment By: Richard Leitner (g0hl1n)
Date: 2013-05-29 06:06

Message:
Hi,
btw: I've opened a pull request for the removal of the semicolon input
delimiter from the -k argument.

br,
Richard

----------------------------------------------------------------------

Comment By: Richard Leitner (g0hl1n)
Date: 2013-05-29 05:32

Message:
Hi,
as far as I see in the check_http source the semicolon is used as delimiter
for multiple header fields.
So as the semicolon is a valid character in header fields this should be
changed.

Due to the fact multiple -k arguments could be passed I think such a
delimiter isn't needed at all.
Is there an other reason for this delimiter?

br,
Richard

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=3571331&group_id=29880




More information about the Nagiosplugin-devel mailing list