If the AJP secret contains any special characters, the regex expression at freeipa-healthcheck/src/ipahealthcheck/ipa/proxy.py:89 fails to recognize the secret correctly. If the first character is a special character, it reports no secret is specified.
PROXY_RE = r'\s+ProxyPassMatch ajp://localhost:8009 secret=(\w+)$'
ipa-healthcheck reports like the following, even though the secret exists and is properly configured everywhere:
{ "source": "ipahealthcheck.ipa.proxy", "check": "IPAProxySecretCheck", "result": "CRITICAL", "uuid": "6820b5b3-08a9-4632-a834-a71d1ae0d84b", "when": "20220708144958Z", "duration": "0.000894", "kw": { "key": "proxy_secrets", "proxy_conf": "/etc/httpd/conf.d/ipa-pki-proxy.conf", "msg": "No ProxyPassMatch secrets found in {proxy_conf}" } },
The word match expression for 'secret=(\w+)$' will stop at any special character. If the first character is a special character, it reads as no secret specified. This needs to use a better regex expression since special characters are likely to be in any modern secret.
It should not report any error
freeipa-healthcheck.noarch 0.11-2.fc36 @updates freeipa-healthcheck-core.noarch 0.11-2.fc36 @updates
Can you open this against the freeipa-healthcheck project? https://github.com/freeipa/freeipa-healthcheck/issues
Metadata Update from @rcritten: - Issue close_status updated to: invalid - Issue status updated to: Closed (was: Open)