For example, consider this snippet:
# ifndef OPENSSL_NO_DEPRECATED_3_0 OSSL_DEPRECATEDIN_3_0 size_t HMAC_size(const HMAC_CTX *e); OSSL_DEPRECATEDIN_3_0 HMAC_CTX *HMAC_CTX_new(void); OSSL_DEPRECATEDIN_3_0 int HMAC_CTX_reset(HMAC_CTX *ctx); OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx); # endif I want to understand what exactly OPENSSL_NO_DEPRECATED_3_0 means, the wordplay is confusing to me, is it not deprecated or is it deprecated?
21 Answer
From the OpenSSL page:
1
OPENSSL_NO_DEPRECATED— If this macro is defined, all deprecated public symbols in all OpenSSL versions up to and including the version given byOPENSSL_API_COMPAT(or the default value given above, whenOPENSSL_API_COMPATisn't defined) will be hidden.