Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-nbxmpp for openSUSE:Factory checked in at 2024-09-20 17:12:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-nbxmpp (Old) and /work/SRC/openSUSE:Factory/.python-nbxmpp.new.29891 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbxmpp" Fri Sep 20 17:12:17 2024 rev:52 rq:1202108 version:5.0.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-nbxmpp/python-nbxmpp.changes 2024-09-05 15:48:32.803457443 +0200 +++ /work/SRC/openSUSE:Factory/.python-nbxmpp.new.29891/python-nbxmpp.changes 2024-09-20 17:13:29.751440739 +0200 @@ -1,0 +2,8 @@ +Thu Sep 19 22:51:18 UTC 2024 - Alexei Sorokin <sor.ale...@meowr.ru> + +- Update to version 5.0.4: + * Bookmarks: Store password. + * Hats: Make struct compareable. + * Pubsub: Donât process pubsub events from full jids. + +------------------------------------------------------------------- Old: ---- python-nbxmpp-5.0.3.tar.bz2 New: ---- python-nbxmpp-5.0.4.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-nbxmpp.spec ++++++ --- /var/tmp/diff_new_pack.yBdFzM/_old 2024-09-20 17:13:30.247461400 +0200 +++ /var/tmp/diff_new_pack.yBdFzM/_new 2024-09-20 17:13:30.247461400 +0200 @@ -19,7 +19,7 @@ %{?sle15_python_module_pythons} %define _name nbxmpp Name: python-nbxmpp -Version: 5.0.3 +Version: 5.0.4 Release: 0 Summary: XMPP library by Gajim team License: GPL-3.0-or-later ++++++ python-nbxmpp-5.0.3.tar.bz2 -> python-nbxmpp-5.0.4.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-5.0.3/ChangeLog new/python-nbxmpp-5.0.4/ChangeLog --- old/python-nbxmpp-5.0.3/ChangeLog 2024-07-29 21:09:37.000000000 +0200 +++ new/python-nbxmpp-5.0.4/ChangeLog 2024-09-19 17:04:39.000000000 +0200 @@ -1,3 +1,11 @@ +nbxmpp 5.0.4 (19 Sep 2024) + + Bug Fixes + + * Bookmarks: Store password + * Hats: Make struct compareable + * Pubsub: Donât process pubsub events from full jids (#159) + nbxmpp 5.0.3 (23 Jul 2024) Bug Fixes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-5.0.3/nbxmpp/__init__.py new/python-nbxmpp-5.0.4/nbxmpp/__init__.py --- old/python-nbxmpp-5.0.3/nbxmpp/__init__.py 2024-07-29 21:09:37.000000000 +0200 +++ new/python-nbxmpp-5.0.4/nbxmpp/__init__.py 2024-09-19 17:04:39.000000000 +0200 @@ -4,4 +4,4 @@ from .protocol import * # noqa: F403, E402 -__version__: str = '5.0.3' +__version__: str = '5.0.4' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-5.0.3/nbxmpp/modules/bookmarks/util.py new/python-nbxmpp-5.0.4/nbxmpp/modules/bookmarks/util.py --- old/python-nbxmpp-5.0.3/nbxmpp/modules/bookmarks/util.py 2024-07-29 21:09:37.000000000 +0200 +++ new/python-nbxmpp-5.0.4/nbxmpp/modules/bookmarks/util.py 2024-09-19 17:04:39.000000000 +0200 @@ -134,6 +134,8 @@ conference = Node(tag='conference', attrs=attrs) if bookmark.nick: conference.setTagData('nick', bookmark.nick) + if bookmark.password: + conference.setTagData('password', bookmark.password) if bookmark.extensions is not None: conference.addChild(node=bookmark.extensions) return conference diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-5.0.3/nbxmpp/modules/pubsub.py new/python-nbxmpp-5.0.4/nbxmpp/modules/pubsub.py --- old/python-nbxmpp-5.0.3/nbxmpp/modules/pubsub.py 2024-07-29 21:09:37.000000000 +0200 +++ new/python-nbxmpp-5.0.4/nbxmpp/modules/pubsub.py 2024-09-19 17:04:39.000000000 +0200 @@ -30,6 +30,7 @@ from nbxmpp.protocol import Iq from nbxmpp.protocol import Node from nbxmpp.structs import CommonResult +from nbxmpp.structs import MessageProperties from nbxmpp.structs import PubSubEventData from nbxmpp.structs import StanzaHandler from nbxmpp.task import iq_request_task @@ -47,11 +48,23 @@ priority=15), ] - def _process_pubsub_base(self, _client, stanza, properties): + def _process_pubsub_base( + self, + _client, + stanza, + properties: MessageProperties + ): if properties.type not in (MessageType.HEADLINE, MessageType.NORMAL): return properties.pubsub = True + + assert properties.jid is not None + if properties.jid.is_full: + self._log.warning('PubSub event from full jid %s', properties.jid) + self._log.warning(stanza) + return + event = stanza.getTag('event', namespace=Namespace.PUBSUB_EVENT) delete = event.getTag('delete') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-5.0.3/nbxmpp/structs.py new/python-nbxmpp-5.0.4/nbxmpp/structs.py --- old/python-nbxmpp-5.0.3/nbxmpp/structs.py 2024-07-29 21:09:37.000000000 +0200 +++ new/python-nbxmpp-5.0.4/nbxmpp/structs.py 2024-09-19 17:04:39.000000000 +0200 @@ -1019,6 +1019,14 @@ except KeyError: return self._hat_map.any() + def __eq__(self, other: Any): + if not isinstance(other, HatData): + return False + return self._hat_map == other._hat_map + + def __ne__(self, other: Any): + return not self.__eq__(other) + @dataclass class EncryptionData: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-5.0.3/pyproject.toml new/python-nbxmpp-5.0.4/pyproject.toml --- old/python-nbxmpp-5.0.3/pyproject.toml 2024-07-29 21:09:37.000000000 +0200 +++ new/python-nbxmpp-5.0.4/pyproject.toml 2024-09-19 17:04:39.000000000 +0200 @@ -167,7 +167,6 @@ "S101", # Use of `assert` detected "S110", # `try`-`except`-`pass` detected, consider logging the exception "S112", # try`-`except`-`continue` - "S301", # `pickle` and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue "S303", # Use of insecure MD2, MD4, MD5, or SHA1 hash function "S310", # Audit URL open for permitted schemes "S311", # Standard pseudo-random generators are not suitable for cryptographic purposes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-5.0.3/test/unit/test_jid_parsing.py new/python-nbxmpp-5.0.4/test/unit/test_jid_parsing.py --- old/python-nbxmpp-5.0.3/test/unit/test_jid_parsing.py 2024-07-29 21:09:37.000000000 +0200 +++ new/python-nbxmpp-5.0.4/test/unit/test_jid_parsing.py 2024-09-19 17:04:39.000000000 +0200 @@ -9,6 +9,7 @@ from nbxmpp.protocol import LocalpartNotAllowedChar from nbxmpp.protocol import ResourcepartByteLimit from nbxmpp.protocol import ResourcepartNotAllowedChar +from nbxmpp.protocol import validate_resourcepart class JIDParsing(unittest.TestCase): @@ -68,6 +69,24 @@ del os.environ['NBXMPP_ENFORCE_PRECIS'] + def test_resources(self): + valid_resources = [ + 'resð', + 'resð«', + ] + + for res in valid_resources: + validate_resourcepart(res) + + invalid_resources = [ + ('resðï¸', ResourcepartNotAllowedChar), + ('resð¤ï¸', ResourcepartNotAllowedChar), + ] + + for res, exception in invalid_resources: + with self.assertRaises(exception): + validate_resourcepart(res) + def test_ip_literals(self): tests = [ ('juliet@[2002:4559:1FE2::4559:1FE2]/res'),