#9203 ipahealthcheck.ipa.proxy test fails when secret contains non-alphanumeric characters
Closed: invalid by rcritten. Opened by eashleyfl.

Issue

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+)$'

Actual behavior

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.

Expected behavior

It should not report any error

Version/Release/Distribution

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)

Metadata