The symbol presence test fails for NO_DEPRECATED
builds if you use modern CPP practices for definitions.
This is the result of my accepting that doing so will be as PTSD
inducing as walking into my parents bedroom at an inopportune
time, and fixing it. Better me who has less time left to live
with the mental trauma than a younger developer.
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Fri May 1 11:01:46 2026
(Merged from https://github.com/openssl/openssl/pull/31016)
X509_REQ_print_ex 4685 4_0_0 EXIST::FUNCTION:
X509_REQ_print 4686 4_0_0 EXIST::FUNCTION:
X509_NAME_entry_count 4687 4_0_0 EXIST::FUNCTION:
-X509_NAME_get_text_by_NID 4688 4_0_0 EXIST::FUNCTION:DEPRECATED_4_0
-X509_NAME_get_text_by_OBJ 4689 4_0_0 EXIST::FUNCTION:DEPRECATED_4_0
+X509_NAME_get_text_by_NID 4688 4_0_0 EXIST::FUNCTION:DEPRECATEDIN_4_0
+X509_NAME_get_text_by_OBJ 4689 4_0_0 EXIST::FUNCTION:DEPRECATEDIN_4_0
X509_NAME_get_index_by_NID 4690 4_0_0 EXIST::FUNCTION:
X509_NAME_get_index_by_OBJ 4691 4_0_0 EXIST::FUNCTION:
X509_NAME_get_entry 4692 4_0_0 EXIST::FUNCTION:
massager => sub {
return (<<"EOF");
#if$1 OPENSSL_NO_DEPRECATEDIN_$2
+EOF
+ }
+ },
+ # Do the same for modern CPP definition tests.
+ { regexp => qr/#if (\!defined).*OPENSSL_NO_DEPRECATED_(\d+_\d+(?:_\d+)?).*$/,
+ massager => sub {
+ return (<<"EOF");
+#ifndef OPENSSL_NO_DEPRECATEDIN_$2
+EOF
+ }
+ },
+ # Do the same for modern CPP definition tests.
+ { regexp => qr/#if (defined).*OPENSSL_NO_DEPRECATED_(\d+_\d+(?:_\d+)?).*$/,
+ massager => sub {
+ return (<<"EOF");
+#ifdef OPENSSL_NO_DEPRECATEDIN_$2
EOF
}
}