[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OpenSSL 1.1.0



24.11.2016 в 00:37:01 +0100 Kurt Roeckx написал:
> I've always had the impression that there are or used to be
> probems using using dlopen()/dlsym(). Maybe related to some things
> like RTDL_GLOBAL that causes the symbol lookup to go to the wrong
> library. Do you know of any problems related to that?

Some applications (asterisk) use dlsym without dlopen (with
RTLD_NEXT).  This definitely asks for trouble if there are more than
one libssl loaded.  (All of the functions dlsym'ed by Asterisk were
removed from libssl1.1 though.)

> Note that QT is one of those that uses dlopen()/dlsym() when
> calling openssl functions (for license reasons).

At least RTLD_GLOBAL (ExportExternalSymbolsHint) seems to be in
#ifdef Q_OS_OPENBSD
in qsslsocket_openssl_symbols.cpp.

qsslsocket_openssl_symbols.cpp also tries to load any libssl.* it can
find (in directories gathered from dl_iterate_phdr) when it cannot
find libssl.so.<SHLIB_VERSION_NUMBER>.  This asks for trouble when
libssl1.0.2 is not installed and probably needs to be patched out.
(Or openssl-linked should be used.  Or Breaks: libssl1.0.0, libssl1.1
looks necessary.)


Reply to: