Hello community, here is the log from the commit of package python-nbxmpp for openSUSE:Factory checked in at 2018-11-19 23:34:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-nbxmpp (Old) and /work/SRC/openSUSE:Factory/.python-nbxmpp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbxmpp" Mon Nov 19 23:34:11 2018 rev:20 rq:650203 version:0.6.8 Changes: -------- --- /work/SRC/openSUSE:Factory/python-nbxmpp/python-nbxmpp.changes 2018-05-29 16:49:35.777731895 +0200 +++ /work/SRC/openSUSE:Factory/.python-nbxmpp.new/python-nbxmpp.changes 2018-11-19 23:34:16.627032369 +0100 @@ -1,0 +2,12 @@ +Mon Nov 19 12:42:07 UTC 2018 - [email protected] + +- Update to version 0.6.8 (changes since 0.6.6): + * Raise default TLS version to 1.2. + * Remove DIGEST-MD5 from the default auth mechs. + * Add STANZA RECEIVED Event (some servers send more than one + stanza in one packet). + * Add alternative locations to load TLS certs from. + * Reset SM counter after receiving <enabled>. + * Issue event when SM resume fails. + +------------------------------------------------------------------- Old: ---- nbxmpp-0.6.6.tar.gz New: ---- nbxmpp-0.6.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-nbxmpp.spec ++++++ --- /var/tmp/diff_new_pack.0P7eTy/_old 2018-11-19 23:34:17.271031625 +0100 +++ /var/tmp/diff_new_pack.0P7eTy/_new 2018-11-19 23:34:17.271031625 +0100 @@ -12,19 +12,19 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define _name nbxmpp Name: python-nbxmpp -Version: 0.6.6 +Version: 0.6.8 Release: 0 Summary: XMPP library by Gajim team License: GPL-3.0-or-later Group: Development/Languages/Python -URL: https://python-nbxmpp.gajim.org/ +URL: https://dev.gajim.org/gajim/python-nbxmpp Source: https://files.pythonhosted.org/packages/source/n/%{_name}/%{_name}-%{version}.tar.gz BuildRequires: %{python_module setuptools} BuildRequires: fdupes @@ -33,8 +33,9 @@ %description Python-nbxmpp is a Python library that provides a way for Python -applications to use Jabber/XMPP networks in a non-blocking way. This -library is initialy a fork of xmpppy one, but using non-blocking sockets. +applications to use Jabber/XMPP networks in a non-blocking way. +This library is initialy a fork of xmpppy one, but using +non-blocking sockets. %python_subpackages ++++++ nbxmpp-0.6.6.tar.gz -> nbxmpp-0.6.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/ChangeLog new/nbxmpp-0.6.8/ChangeLog --- old/nbxmpp-0.6.6/ChangeLog 2018-05-19 20:52:45.000000000 +0200 +++ new/nbxmpp-0.6.8/ChangeLog 2018-10-07 11:50:04.000000000 +0200 @@ -1,3 +1,15 @@ +python-nbxmpp 0.6.8 (07 October 2018) + + * Reset SM counter after receiving <enabled> + * Issue event when SM resume fails + +python-nbxmpp 0.6.7 (19 August 2018) + + * Raise default TLS version to 1.2 + * Remove DIGEST-MD5 from the default auth mechs + * Add STANZA RECEIVED Event (Some servers send more than one stanza in one packet) + * Add alternative locations to load TLS certs from + python-nbxmpp 0.6.6 (20 May 2018) * Record all SSL errors instead of only the first diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/PKG-INFO new/nbxmpp-0.6.8/PKG-INFO --- old/nbxmpp-0.6.6/PKG-INFO 2018-05-19 20:56:31.000000000 +0200 +++ new/nbxmpp-0.6.8/PKG-INFO 2018-10-07 13:11:01.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: nbxmpp -Version: 0.6.6 +Version: 0.6.8 Summary: Non blocking Jabber/XMPP module Home-page: http://dev.gajim.org/gajim/python-nbxmpp Author: Yann Leboulanger diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/nbxmpp/__init__.py new/nbxmpp-0.6.8/nbxmpp/__init__.py --- old/nbxmpp-0.6.6/nbxmpp/__init__.py 2018-05-19 20:52:45.000000000 +0200 +++ new/nbxmpp-0.6.8/nbxmpp/__init__.py 2018-10-07 11:50:04.000000000 +0200 @@ -17,4 +17,4 @@ from .plugin import PlugIn from .smacks import Smacks -__version__ = "0.6.6" +__version__ = "0.6.8" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/nbxmpp/auth_nb.py new/nbxmpp-0.6.8/nbxmpp/auth_nb.py --- old/nbxmpp-0.6.6/nbxmpp/auth_nb.py 2018-03-17 17:37:47.000000000 +0100 +++ new/nbxmpp-0.6.8/nbxmpp/auth_nb.py 2018-08-18 14:11:55.000000000 +0200 @@ -96,7 +96,7 @@ SASL_AUTHENTICATION_MECHANISMS = \ set(['ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', - 'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2']) + 'PLAIN', 'X-MESSENGER-OAUTH2']) class SASL(PlugIn): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/nbxmpp/dispatcher_nb.py new/nbxmpp-0.6.8/nbxmpp/dispatcher_nb.py --- old/nbxmpp-0.6.6/nbxmpp/dispatcher_nb.py 2018-01-27 21:32:42.000000000 +0100 +++ new/nbxmpp-0.6.8/nbxmpp/dispatcher_nb.py 2018-08-18 14:11:55.000000000 +0200 @@ -417,6 +417,9 @@ #log.info('dispatch called: stanza = %s, session = %s, direct= %s' # % (stanza, session, direct)) + + self.Event('', 'STANZA RECEIVED', stanza) + if not session: session = self session.Stream._mini_dom = None @@ -434,21 +437,21 @@ # log.info('in dispatch, getting ns for %s, and the ns is %s' # % (stanza, xmlns)) if xmlns not in self.handlers: - log.warning("Unknown namespace: " + xmlns) + log.warning('Unknown namespace: %s', xmlns) xmlns = 'unknown' # features stanza has been handled before if name not in self.handlers[xmlns]: - if name != 'features': - log.warning("Unknown stanza: " + name) + if name not in ('features', 'stream'): + log.warning('Unknown stanza: %s', stanza) else: - log.debug("Got %s/%s stanza" % (xmlns, name)) - name='unknown' + log.debug('Got %s/%s stanza' % (xmlns, name)) + name = 'unknown' else: - log.debug("Got %s/%s stanza" % (xmlns, name)) + log.debug('Got %s/%s stanza' % (xmlns, name)) if stanza.__class__.__name__ == 'Node': # FIXME: this cannot work - stanza=self.handlers[xmlns][name][type](node=stanza) + stanza = self.handlers[xmlns][name][type](node=stanza) typ = stanza.getType() if not typ: @@ -456,6 +459,8 @@ stanza.props = stanza.getProperties() ID = stanza.getID() + log.debug('type: %s, properties: %s', typ, stanza.props) + # If server supports stream management if self.sm and self.sm.enabled and (stanza.getName() != 'r' and stanza.getName() != 'a' and stanza.getName() != 'enabled' and @@ -495,6 +500,7 @@ for handler in chain: if user or handler['system']: try: + log.debug('Call handler: %s', handler['func']) handler['func'](session, stanza) except Exception as typ: if typ.__class__.__name__ != 'NodeProcessed': diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/nbxmpp/protocol.py new/nbxmpp-0.6.8/nbxmpp/protocol.py --- old/nbxmpp-0.6.6/nbxmpp/protocol.py 2018-04-30 13:46:12.000000000 +0200 +++ new/nbxmpp-0.6.8/nbxmpp/protocol.py 2018-08-18 14:11:55.000000000 +0200 @@ -43,6 +43,8 @@ NS_ATTENTION = 'urn:xmpp:attention:0' # XEP-0224 NS_AUTH = 'jabber:iq:auth' NS_AVATAR = 'http://www.xmpp.org/extensions/xep-0084.html#ns-metadata' +NS_AVATAR_METADATA = 'urn:xmpp:avatar:metadata' # XEP-0084 +NS_AVATAR_DATA = 'urn:xmpp:avatar:data' # XEP-0084 NS_BIND = 'urn:ietf:params:xml:ns:xmpp-bind' NS_BLOCKING = 'urn:xmpp:blocking' # XEP-0191 NS_BOB = 'urn:xmpp:bob' # XEP-0231 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/nbxmpp/simplexml.py new/nbxmpp-0.6.8/nbxmpp/simplexml.py --- old/nbxmpp-0.6.6/nbxmpp/simplexml.py 2017-08-05 21:17:49.000000000 +0200 +++ new/nbxmpp-0.6.8/nbxmpp/simplexml.py 2018-08-18 14:11:55.000000000 +0200 @@ -634,6 +634,9 @@ self._document_attrs[attr] = val ns = self._document_nsp.get(nsp, 'http://www.gajim.org/xmlns/undeclared-root') try: + header = Node(tag=tag, attrs=attrs, + nsp=self._document_nsp, node_built=True) + self.dispatch(header) self.stream_header_received(ns, name, attrs) except ValueError as e: self._document_attrs = None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/nbxmpp/smacks.py new/nbxmpp-0.6.8/nbxmpp/smacks.py --- old/nbxmpp-0.6.6/nbxmpp/smacks.py 2018-01-27 21:32:42.000000000 +0100 +++ new/nbxmpp-0.6.8/nbxmpp/smacks.py 2018-10-07 11:50:04.000000000 +0200 @@ -50,6 +50,8 @@ def _neg_response(self, disp, stanza): r = stanza.getAttr('resume') + # When we receive enabled from the server, reset the IN count + self.in_h = 0 log.info("Session resumption: %s" % r) if r == 'true' or r == 'True' or r == '1': self.resumption = True @@ -189,6 +191,7 @@ self.enabled = False # we need to bind a resource self._owner.NonBlockingBind.resuming = False + self._owner.Dispatcher.Event(NS_STREAM_MGMT, 'RESUME FAILED', None) self._owner._on_auth_bind(None) self.failed_resume = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/nbxmpp/tls_nb.py new/nbxmpp-0.6.8/nbxmpp/tls_nb.py --- old/nbxmpp-0.6.6/nbxmpp/tls_nb.py 2018-05-02 13:56:23.000000000 +0200 +++ new/nbxmpp-0.6.8/nbxmpp/tls_nb.py 2018-08-18 14:11:55.000000000 +0200 @@ -269,11 +269,11 @@ self.cacerts = cacerts self.mycerts = mycerts if cipher_list is None: - self.cipher_list = b'HIGH:!aNULL:RC4-SHA' + self.cipher_list = b'HIGH:!aNULL' else: self.cipher_list = cipher_list.encode('ascii') if tls_version is None: - self.tls_version = '1.0' + self.tls_version = '1.2' else: self.tls_version = tls_version self.alpn = alpn @@ -342,11 +342,12 @@ f = open(cert_path, encoding='utf-8') else: f = io.open(cert_path, encoding='utf-8') + lines = f.readlines() except (IOError, UnicodeError) as e: log.warning('Unable to open certificate file %s: %s' % \ (cert_path, str(e))) return - lines = f.readlines() + i = 0 begin = -1 for line in lines: @@ -447,12 +448,15 @@ store = tcpsock._sslContext.get_cert_store() self._load_cert_file(self.cacerts, store) self._load_cert_file(self.mycerts, store) - if os.path.isdir('/etc/ssl/certs'): - for f in os.listdir('/etc/ssl/certs'): - # We don't logg because there is a lot a duplicated certs in this - # folder - self._load_cert_file(os.path.join('/etc/ssl/certs', f), store, - logg=False) + paths = ['/etc/ssl/certs', + '/etc/ssl'] # FreeBSD uses this + for path in paths: + if not os.path.isdir(path): + continue + for f in os.listdir(path): + # We don't logg because there is a lot a duplicated certs + # in this folder + self._load_cert_file(os.path.join(path, f), store, logg=False) tcpsock._sslObj = OpenSSL.SSL.Connection(tcpsock._sslContext, tcpsock._sock) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbxmpp-0.6.6/setup.py new/nbxmpp-0.6.8/setup.py --- old/nbxmpp-0.6.6/setup.py 2018-05-19 20:52:45.000000000 +0200 +++ new/nbxmpp-0.6.8/setup.py 2018-10-07 11:50:04.000000000 +0200 @@ -3,7 +3,7 @@ from distutils.core import setup setup(name='nbxmpp', - version='0.6.6', + version='0.6.8', description='Non blocking Jabber/XMPP module', author='Yann Leboulanger', author_email='[email protected]',
