[openssl-users] What to do with deprecation errors

Skip Carter skip at taygeta.com
Fri Oct 19 23:54:24 UTC 2018


On Fri, 2018-10-19 at 22:54 +0100, Matt Caswell wrote:
> 
> 
> It looks like its not picking up the definition of the
> DEPRECATEDIN_1_2_0 macro for some reason.
> 
> That macro should be defined in opensslconf.h (which is included from
> ec.h), and looks like this:
> 
> /*
>  * Do not deprecate things to be deprecated in version 1.2.0 before
> the
>  * OpenSSL version number matches.
>  */
> #if OPENSSL_VERSION_NUMBER < 0x10200000L
> # define DEPRECATEDIN_1_2_0(f)   f;
> #elif OPENSSL_API_COMPAT < 0x10200000L
> # define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
> #else
> # define DEPRECATEDIN_1_2_0(f)
> #endif

> 
> And where OPENSSL_VERSION_NUMBER is declared in opensslv.h (which is
> included from opensslconf.h). Since 1.1.1 is less than 1.2.0, the
> first
> definition of DEPRECATEDIN_1_2_0 should apply, i.e. this macro should
> effectively be ignored and the parameter should be processed just
> like
> any other function declaration.
> 
> So do you have an opensslconf.h? And does it have that macro defined
> in
> it? My theory is that somehow or other you are picking up an old
> version
> of that header (maybe the system version) which doesn't have the
> macro
> defined.
> 
> Matt
> 

I found:

opensslv.h:# define OPENSSL_VERSION_NUMBER  0x1010100fL

Also to be sure my compilation environment isn't doing anything funky:

#include <stdio.h>

#include <openssl/opensslv.h>

int main(void)
{
  
  printf("OPENSSL_VERSION_NUMBER %lx\n",OPENSSL_VERSION_NUMBER);
  
  return 0;
}

gave me the same thing.



-- 
Skip Carter
Taygeta Scientific Inc.


More information about the openssl-users mailing list