summaryrefslogtreecommitdiffstats
path: root/plugins/check_http.c
AgeCommit message (Collapse)AuthorFilesLines
2023-10-16Fixes for compiler warning -WparenthesesRincewindsHat1-1/+1
2023-08-08Fix issue #1872Thoralf Rickert-Wendt1-1/+1
2023-06-28Merge branch 'master' into compiler_warning_part_2waja1-1/+0
2023-04-18Fixes for -Wimplicit-fallthroughRincewindsHat1-0/+1
2023-04-18Remove unused variable from check_httpRincewindsHat1-1/+0
2023-04-14Fix a lot of typos reported by codespellJan Wagner1-2/+2
2023-02-06check_http: Handle chunked encoding without actual content correctlyRincewindsHat1-1/+7
2023-01-30check_http: Add space for ending NULL byte in array for chunked encodingLorenz Kästle1-2/+4
2023-01-30check_http: Fix memory reallocation error in chunk decoding logicLorenz Kästle1-4/+3
This patch should fix an error with the way memory reallocation was used, which resulted in "realloc(): invalid next size". It is not completely clear to me as to what caused this problem, but apparently one can not depend handing a pointer to "realloc(3)" and expect that it still works afterwards, but one should/must use the one returned by the function. Also this patch replaces a variable which was used to remember the position in the array by just computing that from the current values.
2023-01-07Reformat a part to increase readabilityRincewindsHat1-3/+13
2023-01-07Undo clang formattingRincewindsHat1-845/+790
2023-01-07Fix several bug in the implementation of unchunkingRincewindsHat1-6/+12
2023-01-07Fix chunked header detection regexRincewindsHat1-2/+2
2023-01-07Fix type of unchunk_content function declarationRincewindsHat1-1/+1
2023-01-07Undo sorting of header file includes, it breaks the buildRincewindsHat1-1/+3
2023-01-07Implement chunked encoding decodingRincewindsHat1-1/+102
2023-01-07Restructure code a bit to put things where they are actually neededRincewindsHat1-5/+7
2023-01-07Remove legacy comments and add some new onesRincewindsHat1-3/+1
2023-01-07Remove dead codeRincewindsHat1-18/+0
2023-01-07clang formatRincewindsHat1-813/+872
2023-01-07Document process_arguments a little bit betterRincewindsHat1-1/+4
2023-01-07Update copyrightRincewindsHat1-1/+1
2023-01-07Use real booleans instead of intsRincewindsHat1-56/+55
2022-12-22make check_http faster with larger filesDanijel Tasov1-2/+7
The current implementation becomes exponentially slower with growing response size. See also: https://github.com/nagios-plugins/nagios-plugins/blob/release-2.4.2/plugins/check_http.c#L1199-L1204 Test: $ mkdir web $ nohup python3 -m http.server -d web 5080 & $ perl -E 'say "0123456789" for (1..2_000_000)' >| web/file.txt $ ./check_http.orig -t 200 -v -I localhost -p 5080 -u /file.txt > test1.txt real 0m26.893s user 0m12.661s sys 0m14.221s $ time ./check_http -t 200 -v -I localhost -p 5080 -u /file.txt > test2.txt real 0m0.038s user 0m0.011s sys 0m0.027s $ diff -u test[12].txt --- test1.txt 2022-12-21 14:58:28.720260811 +0100 +++ test2.txt 2022-12-21 14:58:42.640008604 +0100 @@ -7,7 +7,7 @@ STATUS: HTTP/1.0 200 OK **** HEADER **** Server: SimpleHTTP/0.6 Python/3.9.2 -Date: Wed, 21 Dec 2022 13:58:01 GMT +Date: Wed, 21 Dec 2022 13:58:42 GMT Content-type: text/plain Content-Length: 22000000 Last-Modified: Wed, 21 Dec 2022 13:57:58 GMT @@ -2000013,4 +2000013,4 @@ 0123456789 0123456789 -HTTP OK: HTTP/1.0 200 OK - 22000191 bytes in 26.860 second response time |time=26.860182s;;;0.000000;200.000000 size=22000191B;;;0; +HTTP OK: HTTP/1.0 200 OK - 22000191 bytes in 0.016 second response time |time=0.016412s;;;0.000000;200.000000 size=22000191B;;;0;
2022-11-05Remove superflous CRLF in HTTP-Requests in check_http (#1798)Lorenz1-3/+2
* Remove superflous CRLF in HTTP-Requests in check_http
2022-09-18check_http: Fix HD6 definitionJan Wagner1-1/+1
2022-09-18I had to make a couple of small changes.John C. Frickson1-5/+5
2022-09-18Remove unused codeEric Wunderlin1-4/+0
2022-09-18Added ability to correctly check redirects with reference format ↵Eric Wunderlin1-0/+18
//test.server.com/folder Referenced redirect of the format //www.server.com/folder would result in check_http trying to contact http://hostname:80//www.server.com/folder instead of http://www.server.com/folder. Referenced redirect of this format is listed in rfc3986 ( https://tools.ietf.org/html/rfc3986 ). It should work as expected now.
2022-04-10check_http: added option --continue-after-certificate (#1761)Andreas Baumann1-5/+19
2022-01-29check_http and check_curl: added --max-redirs=N option (feature #1684)Andreas Baumann1-4/+16
2021-06-24changed 'STATE_CRITICAL' to 'STATE_WARNING' for infinite loopDaniel Uhlmann1-2/+2
2021-04-07Merge pull request #1554 from stblassitude/masterSven Nierlein1-1/+7
Docs check_http: make -C obvious
2021-04-07Merge pull request #1566 from hydrapolic/masterSven Nierlein1-1/+1
plugins: check_http: Increase regexp limit
2020-09-23Merge pull request #1514 from Rasp8e/masterSven Nierlein1-0/+15
Proxy authorization is now kept when using PROXY + CONNECT to HTTPS
2019-02-12Also support the --show-body/-B flag when --expect is usedTobias Wolf1-0/+2
2018-12-05plugins: check_http: Increase regexp limitTomas Mozes1-1/+1
2018-11-09Add new flag --show-body/-B to print bodyTobias Wolf1-1/+11
This should help with figuring out ia problem at a glance when enabled for healthz endpoints on web APIs, for example. The content of the body can point to what the problem is and help with diagnostics. Fixes #1559
2018-11-06Allow user to specify HTTP method after proxy CONNECTMarkus Frosch1-3/+14
Simple format, avoids refactoring the CONNECT feature.
2018-10-10Docs check_http: make -C obviousStefan Bethke1-1/+7
You need to read the docs carefully to realize that check_http has two modes of operation: the regular HTTP checks, and a TLS certificate check. Only one of these can be run in a single invocation. Fixes #1553
2017-10-17Adding Proxy-Authorization and extra headers in the case of connection ↵Rasp8e1-0/+15
through PROXY to HTTPS
2016-12-01Spelling fixes suggested by lintianJan Wagner1-1/+1
2016-11-19Merge pull request #1374 from riskersen/check_http_perfdata_timeoOliver Skibbe1-6/+6
check_http: added timeout to perfdata as max val Resolves #1350
2016-11-13add openssl 1.1 supportvagrant1-2/+2
changes: - CRYPTO_lock detection replaced in configure.ac. We don't use that function anywhere, so just replace it with the suggested one from https://wiki.openssl.org/index.php/Library_Initialization#Autoconf - OPENSSL_NO_SSL2 is no longer defined while ssl2 is not included. Set it ourself using the suggested openssl 1.1 version check from https://wiki.openssl.org/index.php/1.1_API_Changes#Backward_compatibility - openssl 1.1 sends a sigpipe if the connection is still open when calling SSL_shutdown(), so move the close before the shutdown. Signed-off-by: Sven Nierlein <sven@nierlein.de>
2016-11-11Merge pull request #1391 from lausser/patch-1Sven Nierlein1-0/+4
If a web page contains a nul character, check_http reads the complete page but --string does not search beyond this character.
2016-11-11patch to support the concept of virtual portsChristopher Odenbach1-8/+30
2015-11-04Update check_http.cGerhard Lausser1-0/+4
If a web page contains a nul character, check_http reads the complete page but --expect does not search beyond this character.
2015-10-07* check_http: added timeout to perfdata as max valOliver Skibbe1-6/+6
2015-10-06Merge branch 'pr/1373'Holger Weiss1-5/+17
* pr/1373: check_http: Allow for requesting TLSv1.1/TLSv1.2
2015-10-04check_http: Allow for requesting TLSv1.1/TLSv1.2Holger Weiss1-5/+17
check_http's -S/--ssl option now allows for requesting the TLSv1.1 and TLSv1.2 protocols. Apart from that, a '+' suffix can be appended in oder to also accept newer protocols than the specified version. Closes #1338, and closes #1354, and closes #1359.