Hi, They're macros, defined in SKM_DEFINE_STACK_OF() in safestack.h. If you DEFINE_STACK_OF(Foo), you'll automatically end up with a sk_Foo_num() macro.
Cheers, -Dave > On Nov 13, 2019, at 12:20, Jason Schultz <jetso...@hotmail.com> wrote: > > Hello- > > I am updating my Linux application from using OpenSSL 1.0.2 to 1.1.1 in > preparation for OpenSSL 3.0 (and of course the EOL of 1.0.2). I'm confused > about the function in the subject line as well as other, related sk_X509_* > functions. > > My code has always used these functions, and currently my code compiles and > runs successfully against 1.1.1. I was sort of doing an audit of my code, > evaluating the API calls that have changed vs not changed when I noticed > these functions. I searched for them in the 1.1.1 source. They don't exist, > except where called in x509_lu.c. In the 1.0.2 code base, they are called in > the same file, as well as are defined in a header, > /include/openssl/safestack.h. > > My question is, how are those symbols in my application being resolved since > they are no longer found in the safestack.h header file? > > My system previously had OpenSSL 1.0.2 installed when I installed 1.1.1, but > I don't think I have any old headers around that are being found when I > compile and link. But for some reason this works. They obviously work within > the OpenSSL 1.1.1 code also. > > I'm thinking I could be missing something basic about the compile/link > process that explains this. Any ideas? > > Thanks in advance.
smime.p7s
Description: S/MIME cryptographic signature