php (ssl?) global lock again

Elan Ruusamäe glen at pld-linux.org
Sun Oct 29 16:43:32 CET 2017


On 28.10.2017 18:17, Arkadiusz Miśkiewicz wrote:
> On Saturday 28 of October 2017, Elan Ruusamäe wrote:
>> On 28.10.2017 16:36, Elan Ruusamäe wrote:
>>>> some openssl global lock again?
>>> created reproducer. curl, openssl, mongodb are needed (at least) for
>>> reproducer:
>>>
>>> https://gitlab.com/glensc/php71-mongodb-crash
>>
> Some bug report says that SASL support in mongodb causes that SSL trouble.
link to your claim?

however building without sasl has no effect.
https://github.com/pld-linux/php-pecl-mongodb/commit/bc94cadc0c98cb579dc8c89375bfbbbe0b7cf9b6

the code in mongodb likely doesn't use sasl anymore, but resulting 
mongodb.so still links with sasl, likely via ldap

@@ -87,10 +87,7 @@
  checking configuring libmongoc... ...
  checking for pkg-config... (cached) /usr/bin/pkg-config
  checking for libmongoc... version 1.8.1 found
-checking for Cyrus SASL support... yes
-checking for SASL... found in /usr
-checking for sasl_version in -lsasl2... (cached) yes
-checking for sasl_client_done in -lsasl2... (cached) yes
+checking for Cyrus SASL support... no
  checking if weak symbols are supported... yes
  checking if compiler needs -Werror to reject unknown flags... no
  checking for the pthreads library -lpthreads... no


bash-4.4# objdump -p /usr/lib64/php71/mongodb.so |grep NEEDED
   NEEDED               libmongoc-1.0.so.0
   NEEDED               libbson-1.0.so.0
   NEEDED               libpthread.so.0
   NEEDED               libc.so.6

bash-4.4# ldd /usr/lib64/php71/mongodb.so |grep sasl
         libsasl2.so.3 => /usr/lib64/libsasl2.so.3 (0x00007f6202820000)
bash-4.4#


bash-4.4# rpm --test -e cyrus-sasl-libs-2.1.26-5.x86_64
error: Failed dependencies:
         libsasl2.so.3()(64bit) is needed by (installed) 
openldap-libs-2.4.45-1.x86_64
         libsasl2.so.3()(64bit) is needed by (installed) 
mongo-c-driver-libs-1.8.1-1.x86_64
         cyrus-sasl-libs = 2.1.26 is needed by (installed) 
openldap-libs-2.4.45-1.x86_64
bash-4.4#

bash-4.4# poldek -e cyrus-sasl-libs-2.1.26-5.x86_64 --test
mark cyrus-sasl-libs-2.1.26-5.x86_64
Processing dependencies...
cyrus-sasl-libs-2.1.26-5.x86_64 marks openldap-libs-2.4.45-1.x86_64 (req 
cyrus-sasl-libs = 2.1.26)
   openldap-libs-2.4.45-1.x86_64 marks curl-libs-7.55.1-1.x86_64 (req 
liblber-2.4.so.2()(64bit))
     curl-libs-7.55.1-1.x86_64 marks php71-curl-7.1.9-1.x86_64 (req 
curl-libs >= 7.12.0)
   openldap-libs-2.4.45-1.x86_64 marks pwdutils-3.2.19-4.x86_64 (req 
liblber-2.4.so.2()(64bit))
     pwdutils-3.2.19-4.x86_64 marks libutempter-1.1.6-5.x86_64 (req 
/usr/sbin/groupadd)
       libutempter-1.1.6-5.x86_64 marks rc-scripts-0.4.16-1.x86_64 (req 
libutempter >= 1.1.6-2)
         rc-scripts-0.4.16-1.x86_64 marks chkconfig-1.6-1.x86_64 (req 
rc-scripts)
           chkconfig-1.6-1.x86_64 marks tzdata-2016j-2.noarch (req 
/sbin/chkconfig)
             tzdata-2016j-2.noarch marks php71-common-7.1.9-1.x86_64 
(req tzdata)
               php71-common-7.1.9-1.x86_64 marks 
php71-pcre-7.1.9-1.x86_64 (req php71-common = 4:7.1.9-1)
               php71-common-7.1.9-1.x86_64 marks 
php71-spl-7.1.9-1.x86_64 (req php71-common = 4:7.1.9-1)
               php71-common-7.1.9-1.x86_64 marks 
php71-simplexml-7.1.9-1.x86_64 (req php71-common = 4:7.1.9-1)
               php71-common-7.1.9-1.x86_64 marks 
php71-pecl-mongodb-1.2.11-1.1.x86_64 (req php71(debug) = 0)
               php71-common-7.1.9-1.x86_64 marks 
php71-cli-7.1.9-1.x86_64 (req libphp_common-7.1.9.so()(64bit))
               php71-common-7.1.9-1.x86_64 marks 
php71-json-7.1.9-1.x86_64 (req php71-common = 4:7.1.9-1)
               php71-common-7.1.9-1.x86_64 marks 
php71-openssl-7.1.9-1.x86_64 (req php71-common = 4:7.1.9-1)
     pwdutils-3.2.19-4.x86_64 marks php-dirs-1.7-1.noarch (req 
/usr/sbin/groupadd)
     pwdutils-3.2.19-4.x86_64 marks SysVinit-2.88-19.x86_64 (req 
/usr/sbin/groupadd)
cyrus-sasl-libs-2.1.26-5.x86_64 marks mongo-c-driver-libs-1.8.1-1.x86_64 
(req libsasl2.so.3()(64bit))
There are 20 packages to remove (19 marked by dependencies):
R cyrus-sasl-libs-2.1.26-5.x86_64
D SysVinit-2.88-19.x86_64  chkconfig-1.6-1.x86_64 
curl-libs-7.55.1-1.x86_64  libutempter-1.1.6-5.x86_64
D mongo-c-driver-libs-1.8.1-1.x86_64  openldap-libs-2.4.45-1.x86_64 
php-dirs-1.7-1.noarch  php71-cli-7.1.9-1.x86_64
D php71-common-7.1.9-1.x86_64  php71-curl-7.1.9-1.x86_64 
php71-json-7.1.9-1.x86_64  php71-openssl-7.1.9-1.x86_64
D php71-pcre-7.1.9-1.x86_64  php71-pecl-mongodb-1.2.11-1.1.x86_64 
php71-simplexml-7.1.9-1.x86_64
D php71-spl-7.1.9-1.x86_64  pwdutils-3.2.19-4.x86_64 
rc-scripts-0.4.16-1.x86_64  tzdata-2016j-2.noarch
This operation will free 10.6MB of disk space.
bash-4.4#





-- 

glen



More information about the pld-devel-en mailing list