Commit graph

76 commits

Author SHA1 Message Date
inqrphl
b9cd60ec3a
add proxy argument and improve dns cache usage (#2209)
* add proxy argument and improve dns cache usage

add proxy argument that useing the -x and --proxy argument. add it to
the static curl config struct, command usage and help outputs of the
cli.

parse these argument together with the environment variables like
http_proxy before setting the CURLOPT_PROXY in the curl configuration
option. this is required, as there is no easy way to ascertain/get what
the CURLOPT_PROXY that libcurl will use. by the point it is set by
libcurl, we have no control over it anymore, and need it for the other
steps in the configuration.

if the CURLOPT_PROXY is set, skip the DNS cache population which would
set the CURLOPT_RESOLVE. this is currently not perfect however. if a
proxy is set with socks4 or socks5 scheme, the host should be resolving
the hostname.

* codespell, clang-format and hints fixes

* add curl version and ssl enabelement macro checks

might fix rocky linux 8 compilation issues.

* add proxy_resolves_hostname, determined by proxy scheme

leave the functions that print out an curl_easyoption, but dont use it. organize the code slightly, print out the final CURLOPT_PROXY and proxy_resolves_hostname flag on verbose mode, add comments

* remove unused handle_curl_easyoption and format_curl_easyoption functions

* fix typo in the proxy argument

* fix typo with proxy scheme socks5a->socks5h

* improve proxy environment parsing

add another argument: --no-proxy , which is used when setting
CURL_NOPROXY

additionally parse all_proxy, ALL_PROXY, no_proxy and NO_PROXY
environment variables in the correct order.

set the curlopt_proxy and curlopt_noproxy of libcurl, and additionally
save them in check_curl_working_state.

add function determine_hostname_resolver, uses the working state and
static config. it can tokenize the no_proxy variable and check for exact
matches, but cannot determine subnet matches for ip addresses yet.

* document proxy cli arguments

clarify and add more examples of proxy environment variables and their
behavior when multiple are specified, overriden etc.

add single wildcard '*' checking for no_proxy to
determine_hostname_resolver, special case per curlopt_noproxy
documentation

* check curlopt_noproxy before accessing it

* switch argument from --no-proxy to --noproxy like curl cli

* check if host name is a subdomain of an noproxy item

* use strdup where destination working_state.curlopt_proxy may be NULL

* add disclaimer about uppercase HTTP_PROXY

* add subdomain checks for each item in the no_proxy, if the target host is a subdomain proxy wont resolve it

add function ip_addr_inside_cidr, use it for checking possible cidr ranges  given in the no_proxy

* wip tests that work on local perl http/https server

* wip tests that work on the live debian image

* fix subnet definition

* make apache2 listen on [::1] for ipv6 tests

* remove squid certificate

* rewrite ip_addr_inside_cidr, split ipv4 and ipv6 parsing path and copy them to a shared buffer later on for prefix check

* Adapt tests for the squid sever, disable checking return code for socks 4/5 proxies. Squid does not support it, and we do not install a capable proxy for these schemes.

* specify localhost acl and allow it through the proxy. used in check_curl tests

* typo in comment

* move function comments to header

* fix failing tests

* handle case where proxy is set as empty string

* removed duplicate tests, corrected wrong comments

* corrected some annotations

* move docker apache subdomain setup files to /tools/subdomain1

* add a newline before dying in handle_curl_option_return_code

* fix the -ssl better, now does not segfault on empty --ssl argument as well.


---------

Co-authored-by: Ahmet Oeztuerk <Ahmet.Oeztuerk@consol.de>
2026-03-13 15:54:23 +01:00
Lorenz Kästle
3f62439e75 Fake changelog in spec file since the rpm build seems to fail 2025-12-29 11:58:18 +01:00
Lorenz Kästle
c735cf4234
Remove check_ntp (#2194)
check_ntp was marked as deprecated for forever (SVN times).
In the spirit of cleaning up and removing the dead bodies, this
commit removes check_ntp and all its connections.
2025-12-04 13:23:50 +01:00
Lorenz Kästle
30a9908d8d
Remove check_nt (#2195)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Spellcheck / codespell (push) Waiting to run
Tests / Running unit and integrationt tests (push) Waiting to run
Tests / Running rpm build test on almalinux:9 (push) Waiting to run
Tests / Running rpm build test on fedora:latest (push) Waiting to run
Tests / Running rpm build test on rockylinux:8 (push) Waiting to run
check_nt was used to connect NSclient++ on windows, both the method
and the target are pretty much dead.
Therefor check_nt gets removed.
2025-12-03 22:39:19 +01:00
dependabot[bot]
f807e65347
build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 04:07:31 +00:00
dependabot[bot]
33bd81b2b8
build(deps): bump github/codeql-action from 3 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 04:05:59 +00:00
Lorenz Kästle
615fec347c
Merge pull request #2144 from RincewindsHat/refactor/check_snmp
Refactor check snmp:
 - Switch from executing `snmpget`/`snmpgetnext` to linking directly agains net-snmp
 - Refactor to use test abstraction -> allows for JSON output
2025-09-09 01:57:25 +02:00
Lorenz Kästle
76e1a1fa8c Activate mib parsing in Debian CI pipeline 2025-09-09 01:18:21 +02:00
Lorenz Kästle
d3e1c0314d Fix Specfile requires 2025-08-27 19:29:56 +02:00
Lorenz Kästle
334c7e3e13 Add libsnmp-dev dependency to codeql gh action 2025-08-27 19:27:07 +02:00
Lorenz Kästle
776c51a66f Add netsnmp lib to specfile 2025-08-27 19:18:15 +02:00
Lorenz Kästle
7ff0e518e4 Add libsnmp-dev to github action dependencies 2025-08-27 19:14:51 +02:00
dependabot[bot]
fc0f176f0d
build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 11:29:24 +00:00
Jan Wagner
278954117c
(Re)construct PLATFORM_ID as it's droped since Fedora 43
See https://fedoraproject.org/wiki/Changes/Drop_PLATFORM_ID?#Drop_PLATFORM_ID
2025-08-01 21:38:45 +02:00
Jan Wagner
61a68da144 Adding tmate optional to manual dispatch 2025-07-24 10:28:03 +02:00
Jan Wagner
d2bea1d288 CI: Adding workflow_dispatch 2025-07-23 15:22:45 +02:00
Lorenz Kästle
236188e92f Do not explicitely disable IPv6 in the CI 2025-05-08 09:04:20 +02:00
Jan Wagner
73b42dd08b CI: Install gawk on fedora > 41 2025-04-21 00:44:41 +02:00
Lorenz Kästle
37c543e2b2 Remove check_nwstat
check_nwstat is a plugin which was used to determine the health
of things on Novel machines.

Since Novel is quite dead (even more so the product, this can be
removed and this commit does just that to reduce ressource usage.
2025-03-12 13:50:39 +01:00
Lorenz Kästle
56ad762bd3 Remove check_overcr
This commit removes the plugin check_overcr and all
related files and parts of files.

OverCR seems to be dead and I have never seen a mention of
an active usage anywhere.
The website still does exist, but the activity seems to be
limited.
Carrying check_overcr forward seems to be a burden without a
purpose and more of an opportunity to remove some code.
2025-03-12 11:16:04 +01:00
Lorenz Kästle
9e1c72ac15
Merge pull request #2068 from RincewindsHat/check_mysql_replica_check
Check mysql replica check
2025-03-07 17:02:55 +01:00
Lorenz Kästle
3ed6b7cd3e check_mysql tests: Also exchange slave for replica 2025-02-24 20:55:18 +01:00
Lorenz Kästle
c08e2bc656 Add libmysqlclient-dev to dependencies 2025-02-24 20:28:05 +01:00
Lorenz Kästle
7d37894967 Install libjson-perl in test runner 2025-02-19 17:32:56 +01:00
Lorenz Kästle
908c2e7b24 Fix breakage in rpm build test due to changes in mock 2024-12-29 19:34:17 +01:00
Lorenz Kästle
e5a825de74 Fix RPM build tests 2024-11-08 13:46:35 +01:00
RincewindsHat
54162dbaf6 mock.sh: remove some quotting to allow pathname expansion again 2024-10-25 12:52:32 +02:00
RincewindsHat
78246e904d prepare_debian.sh: Fix typo 2024-10-25 12:30:19 +02:00
RincewindsHat
d996f65600 github/mock.sh: Improve readability and generel shellcheck stuff 2024-10-25 12:21:16 +02:00
RincewindsHat
903773eb9c Add sanity options to test prepare scripts 2024-10-25 12:02:14 +02:00
Sven Nierlein
2558e488f3 add manual workflow trigger 2024-10-02 20:59:31 +02:00
Sven Nierlein
d7579e4249 add new github test workflow for debian:testing and fedora:rawhide
this workflow runs scheduled once a week, so it does not prevent
PRs from being merged but still allows us to notice if anything
will go wrong with the next release.
Remove rawhide test from the mandatory tests like we did with
debian testing already.
2024-10-02 11:42:22 +02:00
Sven Nierlein
ea104fa400 tests: always remove ipv6 entry from hosts file 2024-07-23 21:08:57 +02:00
waja
0c01f2946e
CI specfile (#1894)
* Adding spec file and github pipeline for testing
* Restructure github pipelines for more clarity
* Add build tests for several RPM based distributions


---------

Co-authored-by: Lorenz Kästle <12514511+RincewindsHat@users.noreply.github.com>
2024-02-23 14:25:44 +01:00
RincewindsHat
158555c1a9 Use debian stable for main tests again 2023-12-22 11:41:41 +01:00
dependabot[bot]
574ad29da8
build(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 04:50:41 +00:00
Jan Wagner
6db7d10428 CI: Switch back to testing 2023-11-13 08:26:59 +01:00
Jan Wagner
e6a2c045ec CI: Remove translation checks 2023-10-31 02:17:38 +01:00
Sven Nierlein
01137cd8f6 extend github action tests
add some more steps to the test pipeline:

    - make dist
    - builds from the tarball above

this test should fail until #1943 is fixed.
2023-10-18 11:02:16 +02:00
Jan Wagner
f7417490cc Prevent THANKS.in from beeing codespelled 2023-10-17 17:56:06 +02:00
RincewindsHat
f5074ac7f0 Fix spelling stuff 2023-10-13 01:29:31 +02:00
RincewindsHat
e1e1291b72 Fix some more typos 2023-10-03 22:22:51 +02:00
datamuc
9c1c3fce43
run tests with debian:stable
debian:testing is broken
2023-09-25 21:30:32 +02:00
dependabot[bot]
743d41da0e
Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 04:33:25 +00:00
Franz Schwartau
add465800b Use codespell-project/actions-codespell@v2
The current master version seems to introduce an issue, e. g.

codespell
Can't use 'tar -xzf' extract archive file: /home/runner/work/_actions/_temp_301f7ff6-2829-439a-bb1e-e3787b7d0b37/0567173d-ce48-4e72-bccb-2a410baeb2a3.tar.gz. return code: 2.

https://github.com/monitoring-plugins/monitoring-plugins/actions/runs/6074675443
2023-09-04 16:43:03 +02:00
Franz Schwartau
06ebad8399 check_smtp: add tests for --ssl 2023-08-30 15:04:32 +02:00
Franz Schwartau
3a69b8c16a enable NP_HOST_TCP_SMTP_STARTTLS 2023-08-30 15:04:32 +02:00
Franz Schwartau
8fa9370a0c Rename test variables for upcoming new variables with the same name 2023-08-30 15:04:32 +02:00
Lorenz Kästle
70d0457562 Remove dead code from test machine prepare script 2023-08-28 13:05:44 +02:00
RincewindsHat
c57b7157da Try to not delete random MIBs to avoid compiling errors 2023-08-27 23:51:40 +02:00