Hello community,
here is the log from the commit of package python-magic-wormhole-mailbox-server
for openSUSE:Factory checked in at 2019-10-09 15:19:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-magic-wormhole-mailbox-server (Old)
and
/work/SRC/openSUSE:Factory/.python-magic-wormhole-mailbox-server.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-magic-wormhole-mailbox-server"
Wed Oct 9 15:19:10 2019 rev:3 rq:736242 version:0.4.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server.changes
2019-06-03 18:56:10.524410938 +0200
+++
/work/SRC/openSUSE:Factory/.python-magic-wormhole-mailbox-server.new.2352/python-magic-wormhole-mailbox-server.changes
2019-10-09 15:19:12.468536921 +0200
@@ -1,0 +2,9 @@
+Tue Oct 8 14:13:43 UTC 2019 - Marketa Calabkova <[email protected]>
+
+- Update to version 0.4.1
+ * listen on IPv4+IPv6 socket by default
+ * deallocate AppNamespace objects when empty
+ * add client-version-uptake munin plugin
+ * drop support for py3.3 and py3.4
+
+-------------------------------------------------------------------
Old:
----
magic-wormhole-mailbox-server-0.3.1.tar.gz
New:
----
magic-wormhole-mailbox-server-0.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-magic-wormhole-mailbox-server.spec ++++++
--- /var/tmp/diff_new_pack.Xz6gzU/_old 2019-10-09 15:19:13.052535415 +0200
+++ /var/tmp/diff_new_pack.Xz6gzU/_new 2019-10-09 15:19:13.052535415 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-magic-wormhole-mailbox-server
-Version: 0.3.1
+Version: 0.4.1
Release: 0
Summary: Key exchange and control message server for Magic-Wormhole
License: MIT
++++++ magic-wormhole-mailbox-server-0.3.1.tar.gz ->
magic-wormhole-mailbox-server-0.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole-mailbox-server-0.3.1/NEWS.md
new/magic-wormhole-mailbox-server-0.4.1/NEWS.md
--- old/magic-wormhole-mailbox-server-0.3.1/NEWS.md 2018-06-24
04:04:38.000000000 +0200
+++ new/magic-wormhole-mailbox-server-0.4.1/NEWS.md 2019-09-11
09:16:46.000000000 +0200
@@ -1,6 +1,19 @@
User-visible changes in "magic-wormhole-mailbox-server":
+## Release 0.4.1 (11-Sep-2019)
+
+* listen on IPv4+IPv6 properly (#16)
+
+
+## Release 0.4.0 (10-Sep-2019)
+
+* listen on IPv4+IPv6 socket by default (#16)
+* deallocate AppNamespace objects when empty (#12)
+* add client-version-uptake munin plugin
+* drop support for py3.3 and py3.4
+
+
## Release 0.3.1 (23-Jun-2018)
Record 'None' for when client doesn't supply a version, to make the math
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole-mailbox-server-0.3.1/PKG-INFO
new/magic-wormhole-mailbox-server-0.4.1/PKG-INFO
--- old/magic-wormhole-mailbox-server-0.3.1/PKG-INFO 2018-06-24
04:05:26.000000000 +0200
+++ new/magic-wormhole-mailbox-server-0.4.1/PKG-INFO 2019-09-11
09:18:26.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: magic-wormhole-mailbox-server
-Version: 0.3.1
+Version: 0.4.1
Summary: Securely transfer data between computers
Home-page: https://github.com/warner/magic-wormhole-mailbox-server
Author: Brian Warner
@@ -87,8 +87,7 @@
This library is released under the MIT license, see LICENSE for
details.
- This library is compatible with python2.7, 3.4 (non-Windows-only),
3.5, and
- 3.6 .
+ This library is compatible with python2.7, and python3 (3.5 and
higher).
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
@@ -98,3 +97,5 @@
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
+Description-Content-Type: text/markdown
+Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole-mailbox-server-0.3.1/README.md
new/magic-wormhole-mailbox-server-0.4.1/README.md
--- old/magic-wormhole-mailbox-server-0.3.1/README.md 2018-04-03
00:22:54.000000000 +0200
+++ new/magic-wormhole-mailbox-server-0.4.1/README.md 2019-09-11
07:53:40.000000000 +0200
@@ -79,5 +79,4 @@
This library is released under the MIT license, see LICENSE for details.
-This library is compatible with python2.7, 3.4 (non-Windows-only), 3.5, and
-3.6 .
+This library is compatible with python2.7, and python3 (3.5 and higher).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/magic-wormhole-mailbox-server-0.3.1/src/magic_wormhole_mailbox_server.egg-info/PKG-INFO
new/magic-wormhole-mailbox-server-0.4.1/src/magic_wormhole_mailbox_server.egg-info/PKG-INFO
---
old/magic-wormhole-mailbox-server-0.3.1/src/magic_wormhole_mailbox_server.egg-info/PKG-INFO
2018-06-24 04:05:26.000000000 +0200
+++
new/magic-wormhole-mailbox-server-0.4.1/src/magic_wormhole_mailbox_server.egg-info/PKG-INFO
2019-09-11 09:18:26.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: magic-wormhole-mailbox-server
-Version: 0.3.1
+Version: 0.4.1
Summary: Securely transfer data between computers
Home-page: https://github.com/warner/magic-wormhole-mailbox-server
Author: Brian Warner
@@ -87,8 +87,7 @@
This library is released under the MIT license, see LICENSE for
details.
- This library is compatible with python2.7, 3.4 (non-Windows-only),
3.5, and
- 3.6 .
+ This library is compatible with python2.7, and python3 (3.5 and
higher).
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
@@ -98,3 +97,5 @@
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
+Description-Content-Type: text/markdown
+Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/magic-wormhole-mailbox-server-0.3.1/src/magic_wormhole_mailbox_server.egg-info/requires.txt
new/magic-wormhole-mailbox-server-0.4.1/src/magic_wormhole_mailbox_server.egg-info/requires.txt
---
old/magic-wormhole-mailbox-server-0.3.1/src/magic_wormhole_mailbox_server.egg-info/requires.txt
2018-06-24 04:05:26.000000000 +0200
+++
new/magic-wormhole-mailbox-server-0.4.1/src/magic_wormhole_mailbox_server.egg-info/requires.txt
2019-09-11 09:18:26.000000000 +0200
@@ -1,13 +1,13 @@
-attrs >= 16.3.0
-autobahn[twisted] >= 0.14.1
six
-twisted[tls] >= 17.5.0
+attrs>=16.3.0
+twisted[tls]>=17.5.0
+autobahn[twisted]>=0.14.1
[:sys_platform=="win32"]
pywin32
[dev]
mock
-pyflakes
-tox
treq
+tox
+pyflakes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/_version.py
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/_version.py
---
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/_version.py
2018-06-24 04:05:26.000000000 +0200
+++
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/_version.py
2019-09-11 09:18:26.000000000 +0200
@@ -8,11 +8,11 @@
version_json = '''
{
- "date": "2018-06-23T19:04:57-0700",
+ "date": "2019-09-11T00:16:54-0700",
"dirty": false,
"error": null,
- "full-revisionid": "291f977addf52d651183a46b85986462176630a7",
- "version": "0.3.1"
+ "full-revisionid": "b24af3af32ebb4ea0e28d92d956588764b8e47dd",
+ "version": "0.4.1"
}
''' # END VERSION_JSON
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/database.py
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/database.py
---
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/database.py
2018-06-24 03:44:57.000000000 +0200
+++
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/database.py
2019-09-11 07:53:40.000000000 +0200
@@ -15,14 +15,10 @@
def get_upgrader(name, new_version):
try:
- FileNotFoundError # py3
- except NameError:
- FileNotFoundError = EnvironmentError # py2
- try:
schema_bytes = resource_string("wormhole_mailbox_server",
"db-schemas/upgrade-%s-to-v%d.sql" %
(name, new_version))
- except FileNotFoundError:
+ except EnvironmentError: # includes FileNotFoundError on py3
raise ValueError("no upgrader for %d" % new_version)
return schema_bytes.decode("utf-8")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/server.py
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/server.py
---
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/server.py
2018-06-24 03:44:57.000000000 +0200
+++
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/server.py
2019-09-11 07:53:40.000000000 +0200
@@ -183,13 +183,14 @@
server_rx = self._blur_usage * (server_rx // self._blur_usage)
implementation = client_version[0]
version = client_version[1]
- self._usage_db.execute("INSERT INTO `client_versions`"
- " (`app_id`, `side`, `connect_time`,"
- " `implementation`, `version`)"
- " VALUES(?,?,?,?,?)",
- (self._app_id, side, server_rx,
- implementation, version))
- self._usage_db.commit()
+ if self._usage_db:
+ self._usage_db.execute("INSERT INTO `client_versions`"
+ " (`app_id`, `side`, `connect_time`,"
+ " `implementation`, `version`)"
+ " VALUES(?,?,?,?,?)",
+ (self._app_id, side, server_rx,
+ implementation, version))
+ self._usage_db.commit()
def get_nameplate_ids(self):
if not self._allow_list:
@@ -521,14 +522,16 @@
(mailbox_id,))
if self._usage_db:
self._summarize_mailbox_and_store(for_nameplate, side_rows,
- now, pruned=True)
+ now, pruned=True)
modified = True
if modified:
db.commit()
if self._usage_db:
self._usage_db.commit()
- log.msg(" prune complete, modified:", modified)
+ in_use = bool(self._mailboxes)
+ log.msg(" prune complete, modified=%s, in_use=%s" % (modified,
in_use))
+ return in_use
def count_listeners(self):
return sum(mailbox.count_listeners()
@@ -591,7 +594,9 @@
for app_id in sorted(self.get_all_apps()):
log.msg(" app prune checking %r" % (app_id,))
app = self.get_app(app_id)
- app.prune(now, old)
+ in_use = app.prune(now, old)
+ if not in_use:
+ del self._apps[app_id]
log.msg("app prune ends, %d apps" % len(self._apps))
def dump_stats(self, now, rebooted):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/server_tap.py
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/server_tap.py
---
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/server_tap.py
2018-06-24 03:44:57.000000000 +0200
+++
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/server_tap.py
2019-09-11 09:16:19.000000000 +0200
@@ -19,7 +19,7 @@
longdesc = LONGDESC
optParameters = [
- ("port", "p", "tcp:4000", "endpoint to listen on"),
+ ("port", "p", "tcp:4000:interface=\:\:", "endpoint to listen on"),
("blur-usage", None, None, "round logged access times to improve
privacy"),
("log-fd", None, None, "write JSON usage logs to this file
descriptor"),
("channel-db", None, "relay.sqlite", "location for the state
database"),
@@ -90,7 +90,13 @@
def expire():
now = time.time()
old = now - CHANNEL_EXPIRATION_TIME
- server.prune_all_apps(now, old)
+ try:
+ server.prune_all_apps(now, old)
+ except Exception as e:
+ # catch-and-log exceptions during prune, so a single error won't
+ # kill the loop. See #13 for details.
+ log.msg("error during prune_all_apps")
+ log.err(e)
server.dump_stats(now, rebooted=rebooted)
TimerService(EXPIRATION_CHECK_PERIOD, expire).setServiceParent(parent)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/test/test_config.py
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/test/test_config.py
---
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/test/test_config.py
2018-02-18 10:14:32.000000000 +0100
+++
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/test/test_config.py
2019-09-11 09:16:19.000000000 +0200
@@ -3,11 +3,13 @@
from twisted.trial import unittest
from .. import server_tap
+PORT = "tcp:4000:interface=\:\:"
+
class Config(unittest.TestCase):
def test_defaults(self):
o = server_tap.Options()
o.parseOptions([])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": True,
@@ -22,7 +24,7 @@
def test_advertise_version(self):
o = server_tap.Options()
o.parseOptions(["--advertise-version=1.0"])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": True,
@@ -37,7 +39,7 @@
def test_blur(self):
o = server_tap.Options()
o.parseOptions(["--blur-usage=60"])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": True,
@@ -52,7 +54,7 @@
def test_channel_db(self):
o = server_tap.Options()
o.parseOptions(["--channel-db=other.sqlite"])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "other.sqlite",
"disallow-list": 0,
"allow-list": True,
@@ -67,7 +69,7 @@
def test_disallow_list(self):
o = server_tap.Options()
o.parseOptions(["--disallow-list"])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": False,
@@ -82,7 +84,7 @@
def test_log_fd(self):
o = server_tap.Options()
o.parseOptions(["--log-fd=5"])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": True,
@@ -126,7 +128,7 @@
def test_signal_error(self):
o = server_tap.Options()
o.parseOptions(["--signal-error=ohnoes"])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": True,
@@ -141,7 +143,7 @@
def test_usage_db(self):
o = server_tap.Options()
o.parseOptions(["--usage-db=usage.sqlite"])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": True,
@@ -156,7 +158,7 @@
def test_websocket_protocol_option_1(self):
o = server_tap.Options()
o.parseOptions(["--websocket-protocol-option", 'foo="bar"'])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": True,
@@ -173,7 +175,7 @@
o.parseOptions(["--websocket-protocol-option", 'foo="bar"',
"--websocket-protocol-option", 'baz=[1,"buz"]',
])
- self.assertEqual(o, {"port": "tcp:4000",
+ self.assertEqual(o, {"port": PORT,
"channel-db": "relay.sqlite",
"disallow-list": 0,
"allow-list": True,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/test/test_stats.py
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/test/test_stats.py
---
old/magic-wormhole-mailbox-server-0.3.1/src/wormhole_mailbox_server/test/test_stats.py
2018-06-24 03:44:57.000000000 +0200
+++
new/magic-wormhole-mailbox-server-0.4.1/src/wormhole_mailbox_server/test/test_stats.py
2018-10-17 01:12:05.000000000 +0200
@@ -62,6 +62,10 @@
[dict(app_id="appid", connect_time=400, side="side1",
implementation="python", version="1.2.3")])
+ def test_no_usage_db(self):
+ s, db, app = self.make(with_usage_db=False)
+ app.log_client_version(451, "side1", ("python", "1.2.3"))
+
class Nameplate(_Make, unittest.TestCase):
def test_nameplate_happy(self):
s, db, app = self.make()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole-mailbox-server-0.3.1/tox.ini
new/magic-wormhole-mailbox-server-0.4.1/tox.ini
--- old/magic-wormhole-mailbox-server-0.3.1/tox.ini 2018-06-17
00:13:10.000000000 +0200
+++ new/magic-wormhole-mailbox-server-0.4.1/tox.ini 2019-09-11
07:53:40.000000000 +0200
@@ -4,7 +4,7 @@
# and then run "tox" from this directory.
[tox]
-envlist = {py27,py34,py35,py36,pypy}
+envlist = {py27,py35,py36,py37,pypy}
skip_missing_interpreters = True
minversion = 2.4.0