Menu

#166 OpenSSL 1.1.0

Patch
closed-accepted
None
5
2017-06-06
2016-09-09
No

Hi!
OpenSSL 1.1.0 was recently released, and gsoap does not compile against it.
The attached patch allows compiling against the openssl 1.1.0 provided by the openssl package in Debian experimental. There are still plenty of warnings about using obsoleted functions, but with this patch it compiles.

1 Attachments

Discussion

  • Robert van Engelen

    Appreciate your feedback. But not sure why the patch introduces deprecated EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free functions that are obsolete parts of the API. Will check the OpenSSL API changes and update the code base on our side.

     
  • Mattias Ellert

    Mattias Ellert - 2016-09-16

    I am not sure why you say EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free are obsolete. Looking in the openssl/evp.h header:

    # if OPENSSL_API_COMPAT < 0x10100000L
    #  define EVP_CIPHER_CTX_init(c)      EVP_CIPHER_CTX_reset(c)
    #  define EVP_CIPHER_CTX_cleanup(c)   EVP_CIPHER_CTX_reset(c)
    # endif
    EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
    int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
    void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *c);
    

    the EVP_CIPHER_CTX_init and EVP_CIPHER_CTX_cleanup are obsolete, not the EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free. The EVP_CIPHER_CTX struct is opaque, which means its size is not known. I.e. calling malloc or SOAP_MALLOC with sizeof(EVP_CIPHER_CTX) as an argument is not possible. As far as I can tell calling EVP_CIPHER_CTX_new is the only way to get a EVP_CIPHER_CTX.

     
  • Robert van Engelen

    • status: open --> closed-accepted
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.