[asterisk-bugs] [JIRA] (ASTERISK-29684) configure.ac doesn't handle the check for OPENSSL_BIO_METHOD correctly

George Joseph (JIRA) noreply at issues.asterisk.org
Mon Oct 11 11:51:49 CDT 2021


     [ https://issues.asterisk.org/jira/browse/ASTERISK-29684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

George Joseph updated ASTERISK-29684:
-------------------------------------

    Description: 
If you use the {{\--with-ssl}} option to point ./configure to an alternate openssl implementation, the check for OPENSSL_BIO_METHOD uses the system openssl shared libraries instead of the ones from the path supplied to {{\--with-ssl}}.  If the system version is older than the alternate version, HAVE_OPENSSL_BIO_METHOD can get set to 0 instead of 1 which will actually cause compile issues in res_rtp_asterisk.

Oddly enough, the check for OPENSSL itself _does_ use the alternate library.

{code}
configure:31038: gcc -o conftest -I/usr/include/openssl11    conftest.c -lssl -L/usr/lib64/openssl11 -lcrypto -lm  >&5
configure:31038: $? = 0
configure:31047: result: yes

configure:31109: checking for BIO_meth_new in -lssl
configure:31134: gcc -o conftest -I/usr/include/openssl11    conftest.c -lssl  -lcrypto -lm  >&5
/tmp/ccBgModS.o: In function `main':
conftest.c:(.text+0xa): undefined reference to `BIO_meth_new'
collect2: error: ld returned 1 exit status
{code}



  was:
If you use the {{--with-ssl}} option to point ./configure to an alternate openssl implementation, the check for OPENSSL_BIO_METHOD uses the system openssl shared libraries instead of the ones from the path supplied to {{--with-ssl}}.  If the system version is older than the alternate version, HAVE_OPENSSL_BIO_METHOD can get set to 0 instead of 1 which will actually cause compile issues in res_rtp_asterisk.

Oddly enough, the check for OPENSSL itself _does_ use the alternate library.

{code}
configure:31038: gcc -o conftest -I/usr/include/openssl11    conftest.c -lssl -L/usr/lib64/openssl11 -lcrypto -lm  >&5
configure:31038: $? = 0
configure:31047: result: yes

configure:31109: checking for BIO_meth_new in -lssl
configure:31134: gcc -o conftest -I/usr/include/openssl11    conftest.c -lssl  -lcrypto -lm  >&5
/tmp/ccBgModS.o: In function `main':
conftest.c:(.text+0xa): undefined reference to `BIO_meth_new'
collect2: error: ld returned 1 exit status
{code}




> configure.ac doesn't handle the check for OPENSSL_BIO_METHOD correctly
> ----------------------------------------------------------------------
>
>                 Key: ASTERISK-29684
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29684
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/BuildSystem
>    Affects Versions: 16.21.0, 18.7.0, 19.0.0
>         Environment: CentOS 7 with openssl11 from EPEL
>            Reporter: George Joseph
>
> If you use the {{\--with-ssl}} option to point ./configure to an alternate openssl implementation, the check for OPENSSL_BIO_METHOD uses the system openssl shared libraries instead of the ones from the path supplied to {{\--with-ssl}}.  If the system version is older than the alternate version, HAVE_OPENSSL_BIO_METHOD can get set to 0 instead of 1 which will actually cause compile issues in res_rtp_asterisk.
> Oddly enough, the check for OPENSSL itself _does_ use the alternate library.
> {code}
> configure:31038: gcc -o conftest -I/usr/include/openssl11    conftest.c -lssl -L/usr/lib64/openssl11 -lcrypto -lm  >&5
> configure:31038: $? = 0
> configure:31047: result: yes
> configure:31109: checking for BIO_meth_new in -lssl
> configure:31134: gcc -o conftest -I/usr/include/openssl11    conftest.c -lssl  -lcrypto -lm  >&5
> /tmp/ccBgModS.o: In function `main':
> conftest.c:(.text+0xa): undefined reference to `BIO_meth_new'
> collect2: error: ld returned 1 exit status
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list