Hello community, here is the log from the commit of package python-rpyc for openSUSE:Factory checked in at 2020-05-15 23:52:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-rpyc (Old) and /work/SRC/openSUSE:Factory/.python-rpyc.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rpyc" Fri May 15 23:52:33 2020 rev:8 rq:805821 version:4.1.5 Changes: -------- --- /work/SRC/openSUSE:Factory/python-rpyc/python-rpyc.changes 2020-03-19 19:54:13.904277536 +0100 +++ /work/SRC/openSUSE:Factory/.python-rpyc.new.2738/python-rpyc.changes 2020-05-15 23:52:34.613574237 +0200 @@ -1,0 +2,8 @@ +Fri May 15 11:29:23 UTC 2020 - Tomáš Chvátal <[email protected]> + +- Update to 4.1.5: + * Fixed mutable object used as kwarg for Server ctor + * Corrections to teleport example + * Lowered GIL-lock acquires for <64kb within channel sends to address slowness + +------------------------------------------------------------------- @@ -12 +20 @@ - - Fixed `CVE-2019-16328`_ which was caused by a missing protocol security check + - Fixed bsc#1152987 `CVE-2019-16328`_ which was caused by a missing protocol security check Old: ---- 4.1.4.tar.gz New: ---- 4.1.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-rpyc.spec ++++++ --- /var/tmp/diff_new_pack.k7IMbQ/_old 2020-05-15 23:52:35.325575608 +0200 +++ /var/tmp/diff_new_pack.k7IMbQ/_new 2020-05-15 23:52:35.329575616 +0200 @@ -26,7 +26,7 @@ %bcond_with test %endif Name: python-rpyc%{psuffix} -Version: 4.1.4 +Version: 4.1.5 Release: 0 Summary: Remote Python Call (RPyC), a RPC library License: MIT ++++++ 4.1.4.tar.gz -> 4.1.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpyc-4.1.4/CHANGELOG.rst new/rpyc-4.1.5/CHANGELOG.rst --- old/rpyc-4.1.4/CHANGELOG.rst 2020-01-30 07:26:06.000000000 +0100 +++ new/rpyc-4.1.5/CHANGELOG.rst 2020-04-25 07:24:22.000000000 +0200 @@ -1,3 +1,14 @@ +4.1.5 +----- +Date: 4.25.2020 +- Fixed mutable object used as kwarg for Server ctor `#376`_ +- Corrections to teleport example `#374`_ +- Lowered GIL-lock acquires for <64kb within channel sends to address slowness `#280`_ + +.. _#376: https://github.com/tomerfiliba/rpyc/pull/376 +.. _#374: https://github.com/tomerfiliba/rpyc/pull/374 +.. _#280: https://github.com/tomerfiliba/rpyc/issues/280 + 4.1.4 ----- Date: 1.30.2020 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpyc-4.1.4/docs/tutorial/tut1.rst new/rpyc-4.1.5/docs/tutorial/tut1.rst --- old/rpyc-4.1.4/docs/tutorial/tut1.rst 2020-01-30 07:26:06.000000000 +0100 +++ new/rpyc-4.1.5/docs/tutorial/tut1.rst 2020-04-25 07:24:22.000000000 +0200 @@ -135,8 +135,9 @@ And the teleported code can also access the namespace:: - >>> con.execute('import sys') - >>> conn.teleport(lambda: print(sys.version_info)) + >>> conn.execute('import sys') + >>> version = conn.teleport(lambda: print(sys.version_info)) + >>> version() prints the version on the remote terminal. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpyc-4.1.4/rpyc/core/channel.py new/rpyc-4.1.5/rpyc/core/channel.py --- old/rpyc-4.1.4/rpyc/core/channel.py 2020-01-30 07:26:06.000000000 +0100 +++ new/rpyc-4.1.5/rpyc/core/channel.py 2020-04-25 07:24:22.000000000 +0200 @@ -70,6 +70,15 @@ data = zlib.compress(data, self.COMPRESSION_LEVEL) else: compressed = 0 - self.stream.write(self.FRAME_HEADER.pack(len(data), compressed)) - self.stream.write(data) - self.stream.write(self.FLUSHER) + data_size = len(data) + header = self.FRAME_HEADER.pack(data_size, compressed) + flush_size = len(self.FLUSHER) + if self.FRAME_HEADER.size + data_size + flush_size <= self.stream.MAX_IO_CHUNK: + # avoid overhead from socket writes requiring GIL to be held + self.stream.write(header + data + self.FLUSHER) + else: + # Data larger than 64KB, the extra writes are negligible + part1 = self.stream.MAX_IO_CHUNK - self.FRAME_HEADER.size + self.stream.write(header + data[:part1]) + self.stream.write(data[part1:]) + self.stream.write(self.FLUSHER) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpyc-4.1.4/rpyc/utils/server.py new/rpyc-4.1.5/rpyc/utils/server.py --- old/rpyc-4.1.4/rpyc/utils/server.py 2020-01-30 07:26:06.000000000 +0100 +++ new/rpyc-4.1.5/rpyc/utils/server.py 2020-04-25 07:24:22.000000000 +0200 @@ -49,7 +49,7 @@ def __init__(self, service, hostname="", ipv6=False, port=0, backlog=socket.SOMAXCONN, reuse_addr=True, authenticator=None, registrar=None, - auto_register=None, protocol_config={}, logger=None, listener_timeout=0.5, + auto_register=None, protocol_config=None, logger=None, listener_timeout=0.5, socket_path=None): self.active = False self._closed = False @@ -60,6 +60,10 @@ self.auto_register = bool(registrar) else: self.auto_register = auto_register + + if protocol_config is None: + protocol_config = {} + self.protocol_config = protocol_config self.clients = set() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpyc-4.1.4/rpyc/version.py new/rpyc-4.1.5/rpyc/version.py --- old/rpyc-4.1.4/rpyc/version.py 2020-01-30 07:26:06.000000000 +0100 +++ new/rpyc-4.1.5/rpyc/version.py 2020-04-25 07:24:22.000000000 +0200 @@ -1,3 +1,3 @@ -version = (4, 1, 4) +version = (4, 1, 5) version_string = ".".join(map(str, version)) -release_date = "2020.1.30" +release_date = "2020.4.25"
