FS#56488 - [pyopenssl][gajim] Doesn't start with latest update of pyopenssl

Attached to Project: Arch Linux
Opened by Lars Becker (lbecker) - Monday, 27 November 2017, 21:46 GMT
Last edited by Antonio Rojas (arojas) - Friday, 01 December 2017, 16:00 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Eric Belanger (Snowman)
Felix Yan (felixonmars)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 7
Private No

Details

Description:

Gajim doesn't start since the latest update of "python2-pyopenssl" (17.4.0-1).

The error message is:

Traceback (most recent call last):
File "gajim.py", line 307, in <module>
OpenSSL.rand.load_file(str(RNG_SEED))
AttributeError: 'module' object has no attribute 'load_file'

Grepping the source it looks like this function was removed.

Additional info:
* Package versions:
* gajim: 0.16.8-2
* python-pyopenssl 17.4.0-1

Steps to reproduce:
* keep archlinux uptodate
* and try to start gajim in a shell


This task depends upon

Closed by  Antonio Rojas (arojas)
Friday, 01 December 2017, 16:00 GMT
Reason for closing:  Fixed
Comment by Genues (Genues) - Tuesday, 28 November 2017, 10:53 GMT
The workaround (patch files) is described here: https://dev.gajim.org/gajim/gajim/issues/8788
Comment by Antonio Rojas (arojas) - Tuesday, 28 November 2017, 11:11 GMT
Please test 0.16.8-3
Comment by Genues (Genues) - Tuesday, 28 November 2017, 11:40 GMT
Now it run, but not connect:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/nbxmpp/idlequeue.py", line 549, in _process_events
return IdleQueue._process_events(self, fd, flags)
File "/usr/lib/python2.7/site-packages/nbxmpp/idlequeue.py", line 409, in _process_events
obj.pollin()
File "/usr/lib/python2.7/site-packages/nbxmpp/transports_nb.py", line 446, in pollin
self._do_receive()
File "/usr/lib/python2.7/site-packages/nbxmpp/transports_nb.py", line 669, in _do_receive
self._on_receive(received)
File "/usr/lib/python2.7/site-packages/nbxmpp/transports_nb.py", line 683, in _on_receive
self.on_receive(data)
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 332, in <lambda>
self.onreceive(lambda _data:self._xmpp_connect_machine(mode, _data))
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 385, in _xmpp_connect_machine
self._xmpp_connect_machine(mode='STREAM_STARTED')
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 388, in _xmpp_connect_machine
self._on_stream_start()
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 424, in _on_stream_start
self._on_connect()
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 461, in _on_connect
self.on_connect(self, self.connected)
File "/usr/lib/python2.7/site-packages/gajim/common/connection.py", line 1428, in _connect_success
return self.connection_accepted(con, con_type)
File "/usr/lib/python2.7/site-packages/gajim/common/connection.py", line 1498, in connection_accepted
hostname) and '100' not in gajim.config.get_per('accounts',
File "/usr/lib/python2.7/site-packages/gajim/common/check_X509.py", line 171, in check_certificate
subject = cert.get_subject()
File "/usr/lib/python2.7/site-packages/OpenSSL/crypto.py", line 1438, in get_subject
self._subject_invalidator.add(name)
AttributeError: 'X509' object has no attribute '_subject_invalidator'
Comment by Genues (Genues) - Tuesday, 28 November 2017, 11:41 GMT
Going back to 17.3.0 solves the problem.
Comment by Antonio Rojas (arojas) - Tuesday, 28 November 2017, 12:04 GMT
As the upstream report says - that last error is in pyopenssl, not gajim. FWIW Google Talk works for me with 0.16.8-3
Comment by Gaelic (gaelic) - Tuesday, 28 November 2017, 13:13 GMT
Can confirms. Now it starts but does not connect (using conversations.im as server).
Comment by heapify man (heapifyman) - Tuesday, 28 November 2017, 13:47 GMT
For me version 0.16.8-3 successfully starts and connects to openfire jabber server
Comment by Inkeso (inkeso) - Tuesday, 28 November 2017, 19:05 GMT
Version 0.16.8-3 runs but can't connect:

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/nbxmpp/idlequeue.py", line 549, in _process_events
return IdleQueue._process_events(self, fd, flags)
File "/usr/lib/python2.7/site-packages/nbxmpp/idlequeue.py", line 409, in _process_events
obj.pollin()
File "/usr/lib/python2.7/site-packages/nbxmpp/transports_nb.py", line 446, in pollin
self._do_receive()
File "/usr/lib/python2.7/site-packages/nbxmpp/transports_nb.py", line 669, in _do_receive
self._on_receive(received)
File "/usr/lib/python2.7/site-packages/nbxmpp/transports_nb.py", line 683, in _on_receive
self.on_receive(data)
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 332, in <lambda>
self.onreceive(lambda _data:self._xmpp_connect_machine(mode, _data))
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 385, in _xmpp_connect_machine
self._xmpp_connect_machine(mode='STREAM_STARTED')
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 388, in _xmpp_connect_machine
self._on_stream_start()
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 424, in _on_stream_start
self._on_connect()
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 461, in _on_connect
self.on_connect(self, self.connected)
File "/usr/lib/python2.7/site-packages/gajim/common/connection.py", line 1428, in _connect_success
return self.connection_accepted(con, con_type)
File "/usr/lib/python2.7/site-packages/gajim/common/connection.py", line 1520, in connection_accepted
resource=self.server_resource, sasl=True, on_auth=self.__on_auth, auth_mechs=auth_mechs)
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 510, in auth
self._on_doc_attrs()
File "/usr/lib/python2.7/site-packages/nbxmpp/client_nb.py", line 541, in _on_doc_attrs
self._auth_mechs).PlugIn(self)
File "/usr/lib/python2.7/site-packages/nbxmpp/plugin.py", line 65, in PlugIn
return self.plugin(owner)
File "/usr/lib/python2.7/site-packages/nbxmpp/auth_nb.py", line 134, in plugin
self._owner.Dispatcher.Stream.features)
File "/usr/lib/python2.7/site-packages/nbxmpp/auth_nb.py", line 208, in FeaturesHandler
self.MechanismHandler()
File "/usr/lib/python2.7/site-packages/nbxmpp/auth_nb.py", line 256, in MechanismHandler
self._owner._caller.get_password(self.set_password, self.mechanism)
File "/usr/lib/python2.7/site-packages/gajim/common/connection.py", line 2945, in get_password
self.set_password(self.password)
File "/usr/lib/python2.7/site-packages/gajim/common/connection.py", line 2959, in set_password
callback(password)
File "/usr/lib/python2.7/site-packages/nbxmpp/auth_nb.py", line 501, in set_password
self.client_nonce = '%x' % rndg.getrandbits(196)
File "/usr/lib/python2.7/site-packages/nbxmpp/rndg.py", line 46, in getrandbits
random_str = OpenSSL.rand.bytes(bytes)
AttributeError: 'module' object has no attribute 'bytes'
Comment by Antonio Rojas (arojas) - Tuesday, 28 November 2017, 19:19 GMT
@inkeso that issue should be fixed in nbxmpp 0.6.0-2
Comment by Inkeso (inkeso) - Tuesday, 28 November 2017, 19:44 GMT
Indeed, it is! Thanks a lot.
Comment by Genues (Genues) - Friday, 01 December 2017, 12:17 GMT
After update pyopenssl up to 17.5.0 and gajim up to 0.16.8-3 this problem resolved for me.
Comment by Lars Becker (lbecker) - Friday, 01 December 2017, 15:31 GMT
Gajim works as expected. Bug resolved. Thanks a lot!

Loading...