Bug#844503: [Pkg-salt-team] Bug#844503: Acknowledgement (salt-call fails with libcrypto.so.1.1: undefined symbol: OPENSSL_no_config)

2016-11-23 Thread Emilio Pozuelo Monfort
Control: tags -1 fixed-upstream

On 23/11/16 18:09, Emilio Pozuelo Monfort wrote:
> On Fri, 18 Nov 2016 15:22:07 +0100 Benjamin Drung
>  wrote:
>> tags 844503 upstream
>> forwarded 844503 https://github.com/saltstack/salt/pull/37772
>> thanks
>>
>> Am Donnerstag, den 17.11.2016, 21:50 +0100 schrieb Sebastian Andrzej
>> Siewior:
>>> control: tags -1 patch
>>>
>>> On 2016-11-16 12:14:43 [+0100], Filip Pytloun wrote:
 To reproduce the issue simply install salt-master and run salt-
 call:

 Â Â Â Â apt-get install salt-master
 Â Â Â Â salt-call

 Following exception will occur:

 Traceback (most recent call last):
 Â  File "/usr/bin/salt-call", line 11, in 
 Â Â Â Â salt_call()
>>>
>>> …
 Â  File "/usr/lib/python2.7/dist-packages/salt/utils/rsax931.py",
 line 63, in _init_libcrypto
 Â Â Â Â libcrypto.OPENSSL_no_config()
 Â  File "/usr/lib/python2.7/ctypes/__init__.py", line 375, in
 __getattr__
 Â Â Â Â func = self.__getitem__(name)
 Â  File "/usr/lib/python2.7/ctypes/__init__.py", line 380, in
 __getitem__
 Â Â Â Â func = self._FuncPtr((name_or_ordinal, self))
 AttributeError: /lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined
 symbol: OPENSSL_no_config
>>>
>>> the problem is that salt/rsax931.py loads the library manually and
>>> expects certain symbols which are no longer available in OpenSSL
>>> 1.1.0.
>>> And it loads the first libcrypto it finds plus has no dependency on
>>> openssl.
>>
>> Instead of forcing salt to use OpenSSL 1.0, let's try to make it work
>> with OpenSSL 1.1. Adjusting the initialization to work with OpenSSL 1.1
>> was quite easy. I forwarded the patch upstream to
>> https://github.com/saltstack/salt/pull/37772 to get it reviewed and
>> accepted.
> 
> Nice.
> 
> Do you want to wait for upstream before uploading this? It is going to block
> openssl 1.1 from entering testing due to the Breaks that it got, which in turn
> is blocking quite a bunch of stuff. So it'd be good to get this fixed soon.

Just realised this is merged upstream.

So, can you upload it asap? :)

Thanks,
Emilio



Bug#844503: [Pkg-salt-team] Bug#844503: Acknowledgement (salt-call fails with libcrypto.so.1.1: undefined symbol: OPENSSL_no_config)

2016-11-23 Thread Emilio Pozuelo Monfort
On Fri, 18 Nov 2016 15:22:07 +0100 Benjamin Drung
 wrote:
> tags 844503 upstream
> forwarded 844503 https://github.com/saltstack/salt/pull/37772
> thanks
> 
> Am Donnerstag, den 17.11.2016, 21:50 +0100 schrieb Sebastian Andrzej
> Siewior:
> > control: tags -1 patch
> > 
> > On 2016-11-16 12:14:43 [+0100], Filip Pytloun wrote:
> > > To reproduce the issue simply install salt-master and run salt-
> > > call:
> > > 
> > > Â Â Â Â apt-get install salt-master
> > > Â Â Â Â salt-call
> > > 
> > > Following exception will occur:
> > > 
> > > Traceback (most recent call last):
> > > Â  File "/usr/bin/salt-call", line 11, in 
> > > Â Â Â Â salt_call()
> > 
> > …
> > > Â  File "/usr/lib/python2.7/dist-packages/salt/utils/rsax931.py",
> > > line 63, in _init_libcrypto
> > > Â Â Â Â libcrypto.OPENSSL_no_config()
> > > Â  File "/usr/lib/python2.7/ctypes/__init__.py", line 375, in
> > > __getattr__
> > > Â Â Â Â func = self.__getitem__(name)
> > > Â  File "/usr/lib/python2.7/ctypes/__init__.py", line 380, in
> > > __getitem__
> > > Â Â Â Â func = self._FuncPtr((name_or_ordinal, self))
> > > AttributeError: /lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined
> > > symbol: OPENSSL_no_config
> > 
> > the problem is that salt/rsax931.py loads the library manually and
> > expects certain symbols which are no longer available in OpenSSL
> > 1.1.0.
> > And it loads the first libcrypto it finds plus has no dependency on
> > openssl.
> 
> Instead of forcing salt to use OpenSSL 1.0, let's try to make it work
> with OpenSSL 1.1. Adjusting the initialization to work with OpenSSL 1.1
> was quite easy. I forwarded the patch upstream to
> https://github.com/saltstack/salt/pull/37772 to get it reviewed and
> accepted.

Nice.

Do you want to wait for upstream before uploading this? It is going to block
openssl 1.1 from entering testing due to the Breaks that it got, which in turn
is blocking quite a bunch of stuff. So it'd be good to get this fixed soon.

Thanks,
Emilio



Bug#844503: [Pkg-salt-team] Bug#844503: Acknowledgement (salt-call fails with libcrypto.so.1.1: undefined symbol: OPENSSL_no_config)

2016-11-18 Thread Sebastian Andrzej Siewior
On 2016-11-18 15:22:07 [+0100], Benjamin Drung wrote:
> Instead of forcing salt to use OpenSSL 1.0, let's try to make it work
> with OpenSSL 1.1. Adjusting the initialization to work with OpenSSL 1.1
> was quite easy. I forwarded the patch upstream to
> https://github.com/saltstack/salt/pull/37772 to get it reviewed and
> accepted.

so it is just two calls? I was a little afraid once I all those rsa ops
and so on. But if nothing else breaks - good.
A little note: OPENSSL_INIT_ADD_ALL_CIPHERS & friends could change on
the next so.bump. Probably they won't but they could.
A "Depend: libssl-1.0.2 || libssl-1.1.0" would avoid further breakage if
ABI changes.

Sebastian



Bug#844503: [Pkg-salt-team] Bug#844503: Acknowledgement (salt-call fails with libcrypto.so.1.1: undefined symbol: OPENSSL_no_config)

2016-11-18 Thread Benjamin Drung
tags 844503 upstream
forwarded 844503 https://github.com/saltstack/salt/pull/37772
thanks

Am Donnerstag, den 17.11.2016, 21:50 +0100 schrieb Sebastian Andrzej
Siewior:
> control: tags -1 patch
> 
> On 2016-11-16 12:14:43 [+0100], Filip Pytloun wrote:
> > To reproduce the issue simply install salt-master and run salt-
> > call:
> > 
> > apt-get install salt-master
> > salt-call
> > 
> > Following exception will occur:
> > 
> > Traceback (most recent call last):
> >   File "/usr/bin/salt-call", line 11, in 
> > salt_call()
> 
> …
> >   File "/usr/lib/python2.7/dist-packages/salt/utils/rsax931.py",
> > line 63, in _init_libcrypto
> > libcrypto.OPENSSL_no_config()
> >   File "/usr/lib/python2.7/ctypes/__init__.py", line 375, in
> > __getattr__
> > func = self.__getitem__(name)
> >   File "/usr/lib/python2.7/ctypes/__init__.py", line 380, in
> > __getitem__
> > func = self._FuncPtr((name_or_ordinal, self))
> > AttributeError: /lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined
> > symbol: OPENSSL_no_config
> 
> the problem is that salt/rsax931.py loads the library manually and
> expects certain symbols which are no longer available in OpenSSL
> 1.1.0.
> And it loads the first libcrypto it finds plus has no dependency on
> openssl.

Instead of forcing salt to use OpenSSL 1.0, let's try to make it work
with OpenSSL 1.1. Adjusting the initialization to work with OpenSSL 1.1
was quite easy. I forwarded the patch upstream to
https://github.com/saltstack/salt/pull/37772 to get it reviewed and
accepted.

-- 
Benjamin Drung
System Developer
Debian & Ubuntu Developer

ProfitBricks GmbH
Greifswalder Str. 207
D - 10405 Berlin

Email: benjamin.dr...@profitbricks.com
URL: https://www.profitbricks.de

Sitz der Gesellschaft: Berlin
Registergericht: Amtsgericht Charlottenburg, HRB 125506 B
Geschäftsführer: Achim Weiss