<div dir="ltr"><div><div><div>Good day!<br><br></div>I'm trying to upgrade a driver/engine for an old hardware to OpenSSL 1.1.0.f. However, I am encountering below compilation error.<br></div><div><br></div><div>Need some advise if do I really need to set the struct rsa_st parameter declared as const in my function. I noticed that the RSA *rsa parameter on other RSA_meth_set functions was not declared as const.<br></div><div><br>hw_cavium.c:3688:35: warning: passing argument 2 of ‘RSA_meth_set_sign’ from incompatible pointer type [-Wincompatible-pointer-types]<br>     RSA_meth_set_sign(cavium_rsa, cav_rsa_sign);<br>                                   ^~~~~~~~~~~~<br>In file included from /usr/local/Cavium_Networks/NITROX-SDK/apps/Turbo_SSL/openssl-1.1.0f/include/openssl/engine.h:24:0,<br>                 from hw_cavium.c:59:<br>/usr/local/Cavium_Networks/NITROX-SDK/apps/Turbo_SSL/openssl-1.1.0f/include/openssl/rsa.h:433:5: note: expected ‘int (*)(int,  const unsigned char *, unsigned int,  unsigned char *, unsigned int *, const RSA *) {aka int (*)(int,  const unsigned char *, unsigned int,  unsigned char *, unsigned int *, const struct rsa_st *)}’ but argument is of type ‘int (*)(int,  const unsigned char *, unsigned int,  unsigned char *, unsigned int *, RSA *) {aka int (*)(int,  const unsigned char *, unsigned int,  unsigned char *, unsigned int *, struct rsa_st *)}’<br> int RSA_meth_set_sign(RSA_METHOD *rsa,<br>     ^~~~~~~~~~~~~~~~~<br>hw_cavium.c:3689:37: warning: passing argument 2 of ‘RSA_meth_set_verify’ from incompatible pointer type [-Wincompatible-pointer-types]<br>     RSA_meth_set_verify(cavium_rsa, cav_rsa_verify);<br>                                     ^~~~~~~~~~~~~~<br>In file included from /usr/local/Cavium_Networks/NITROX-SDK/apps/Turbo_SSL/openssl-1.1.0f/include/openssl/engine.h:24:0,<br>                 from hw_cavium.c:59:<br>/usr/local/Cavium_Networks/NITROX-SDK/apps/Turbo_SSL/openssl-1.1.0f/include/openssl/rsa.h:442:5: note: expected ‘int (*)(int,  const unsigned char *, unsigned int,  const unsigned char *, unsigned int,  const RSA *) {aka int (*)(int,  const unsigned char *, unsigned int,  const unsigned char *, unsigned int,  const struct rsa_st *)}’ but argument is of type ‘int (*)(int,  const unsigned char *, unsigned int,  unsigned char *, size_t *, const unsigned char *, size_t,  RSA *) {aka int (*)(int,  const unsigned char *, unsigned int,  unsigned char *, long unsigned int *, const unsigned char *, long unsigned int,  struct rsa_st *)}’<br> int RSA_meth_set_verify(RSA_METHOD *rsa,<br>     ^~~~~~~~~~~~~~~~~~~<br></div><div><br></div><div><br></div>Thanks and best regards,<br></div>Bertlee<br><br></div>