| From: | Mark Atwood <mark(at)reviewcommit(dot)com> |
|---|---|
| To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Cc: | Michael Paquier <michael(at)paquier(dot)xyz> |
| Subject: | Re: Fetch channel binding digest explicitly with OpenSSL 3.0 and later |
| Date: | 2026-08-11 20:33:31 |
| Message-ID: | 178648041193.650853.7107077647538167857@reviewcommit.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Correction: my rationale for this patch was wrong.
Implicit digests DO reach providers. evp_md_init_internal() re-fetches an MD
with type->prov == NULL by name, so EVP_sha256() and EVP_get_digestbynid()
end up provider-backed. The probe I cited measured ctx->reqdigest, the MD
passed in, not the one used. Details and a corrected probe are on the
cryptohash thread [1].
So this patch is not a bypass fix. What survives: the internal fetch
hardcodes libctx=NULL and propq="", so a non-default OSSL_LIB_CTX gets no
provider control, and a registered ENGINE bypasses providers outright.
Control and clarity, not bypass.
Michael, you named channel binding as your interest, so you should have that
before spending time on it. The patch behavior is unchanged, and the question
about freeing the EVP_MD on every error path still stands.
Repost on the narrower basis, or withdraw?
[1] https://postgr.es/m/178596055358.1584287.8485463954311014881%40reviewcommit.com
--
Mark
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2026-08-11 20:50:08 | Re: Restructured Shared Buffer Hash Table |
| Previous Message | Mark Atwood | 2026-08-11 20:33:26 | Re: Fetch digests explicitly for cryptohash with OpenSSL 3.0 and later |