Menu

#37 openssl 1.1 support

2.10.3
open
None
5
2020-04-01
2016-11-07
No

The attached patch builds and tests pass with both openssl 1.0.2 and openssl 1.1.0. At least Debian and Fedora are in the middle of trying to switch to openssl 1.1.0.

1 Attachments

Discussion

  • Murray S. Kucherawy

    • assigned_to: Murray S. Kucherawy
     
  • Murray S. Kucherawy

    Applied for next release.

     
  • Fury

    Fury - 2020-03-03

    OpenDkim still shows error while configuring before make.
    OpenSSL used was 1.1.1d
    I have made the changes as given in openssl_1.1.0_compat.patch
    The output in the terminal screen shows the error after executing configure

    ./configure  --without-milter --disable-filter --enable-shared --prefix=/home/test/opendkim --with-openssl=/usr
    

    The error shown was:

    checking openssl/ssl.h usability... yes
    checking openssl/ssl.h presence... yes
    checking for openssl/ssl.h... yes
    checking for library containing ERR_peek_error... none required
    checking for library containing SSL_library_init... no
    configure: error: Cannot build shared opendkim
    against static openssl libraries.
    Configure with --disable-shared
    to get this working or obtain a
    shared libssl library for
    opendkim to use.

     

    Last edit: Fury 2020-03-03
  • Fury

    Fury - 2020-04-01

    The above compile issue worked with the following

    ./configure --without-milter --disable-filter --enable-shared --prefix=/home/test/opendkim --with-openssl=/opt/openssl/lib
    instead of
    ./configure --without-milter --disable-filter --enable-shared --prefix=/home/test/opendkim --with-openssl=/opt/openssl

    Now, I have made libopendkim.so. But, while compiling with my program, linker shows the below error (ignore the warning):

    /usr/bin/ld: warning: libssl.so.10, needed by libopendkim.so, may conflict with libssl.so.1.1
    /usr/bin/ld: warning: libcrypto.so.10, needed by libopendkim.so, may conflict with libcrypto.so.1.1
    libopendkim.so: undefined reference to `SHA1_Update@libcrypto.so.10'
    libopendkim.so: undefined reference to `BIO_new_mem_buf@libcrypto.so.10'
    libopendkim.so: undefined reference to `ERR_error_string_n@libcrypto.so.10'
    libopendkim.so: undefined reference to `BIO_new@libcrypto.so.10'
    libopendkim.so: undefined reference to `EVP_cleanup@libcrypto.so.10'
    libopendkim.so: undefined reference to `OPENSSL_add_all_algorithms_noconf@libcrypto.so.10'
    libopendkim.so: undefined reference to `EVP_PKEY_free@libcrypto.so.10'
    libopendkim.so: undefined reference to `BIO_free@libcrypto.so.10'
    libopendkim.so: undefined reference to `BIO_number_written@libcrypto.so.10'
    libopendkim.so: undefined reference to `RSA_free@libcrypto.so.10'
    libopendkim.so: undefined reference to `d2i_PrivateKey_bio@libcrypto.so.10'
    libopendkim.so: undefined reference to `SHA1_Final@libcrypto.so.10'
    libopendkim.so: undefined reference to `EVP_PKEY_get1_RSA@libcrypto.so.10'
    libopendkim.so: undefined reference to `RSA_verify@libcrypto.so.10'
    libopendkim.so: undefined reference to `d2i_PUBKEY_bio@libcrypto.so.10'
    libopendkim.so: undefined reference to `ERR_get_error@libcrypto.so.10'
    libopendkim.so: undefined reference to `RSA_sign@libcrypto.so.10'
    libopendkim.so: undefined reference to `BIO_new_fd@libcrypto.so.10'
    libopendkim.so: undefined reference to `ERR_peek_error@libcrypto.so.10'
    libopendkim.so: undefined reference to `BIO_ctrl@libcrypto.so.10'
    libopendkim.so: undefined reference to `PEM_read_bio_PrivateKey@libcrypto.so.10'
    libopendkim.so: undefined reference to `SHA1_Init@libcrypto.so.10'
    libopendkim.so: undefined reference to `RSA_size@libcrypto.so.10'
    libopendkim.so: undefined reference to `i2d_RSA_PUBKEY_bio@libcrypto.so.10'
    libopendkim.so: undefined reference to `BIO_s_mem@libcrypto.so.10'
    libopendkim.so: undefined reference to `BIO_write@libcrypto.so.10'
    collect2: error: ld returned 1 exit status
    

    I have made symlink file like following, but it did not work:

    ln -s libcrypto.so.1.1 libcrypto.so.1.0.0
    ln -s libcrypto.so.1.1 libcrypto.so.10
    

    While compiling lookup of openssl include files was not proper. It took the header files of older openssl version.

     

    Last edit: Fury 2020-04-07

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.