Skip to content

Several OCSP_REQ_CTX-related functions impossible to use from C++ in 3.0.0 #12234

@jwalch

Description

@jwalch

Sometime in 3.0.0 development, several functions (eg, OCSP_REQ_CTX_free) were moved outside of the ifdef __cplusplus / extern "C" business.

There is a comment in ocsp.h saying that these "functions are used only internally" that I find a bit perplexing. How can one possibly say that for certain? Those functions were in a public header (ocsp.h), many (if not all) are documented in the man pages (even in current master), and many (if not all) appear in libcrypto.num and are as a consequence exposed symbols from the library perspective.

The upshot of them now being outside of the extern block is that C clients code can continue to use these symbols / functions as they always had while C++ clients will fail at link time.

It's unclear what exactly the intent was here, but surely a different API for C v/s C++ clients was not the desired outcome. I would also note that if the symbols are to ultimately be removed, I would expect some intermediate deprecation step, as they were formally exposed (and still are, for C code).

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions