server: only advertise the CLI version if requested

with --advertise-version=

refs #179
This commit is contained in:
Brian Warner 2017-06-26 13:49:24 +01:00
parent 572f6e3c16
commit 2f4232a0e7
3 changed files with 7 additions and 11 deletions

View File

@ -7,7 +7,6 @@ from twisted.internet import reactor, endpoints
from twisted.application import service, internet from twisted.application import service, internet
from twisted.web import server, static, resource from twisted.web import server, static, resource
from autobahn.twisted.resource import WebSocketResource from autobahn.twisted.resource import WebSocketResource
from .. import __version__
from .database import get_db from .database import get_db
from .rendezvous import Rendezvous from .rendezvous import Rendezvous
from .rendezvous_websocket import WebSocketRendezvousFactory from .rendezvous_websocket import WebSocketRendezvousFactory
@ -42,12 +41,6 @@ class RelayServer(service.MultiService):
db = get_db(db_url) db = get_db(db_url)
welcome = { welcome = {
# The primary (python CLI) implementation will emit a message if
# its version does not match this key. If/when we have
# distributions which include older version, but we still expect
# them to be compatible, stop sending this key.
"current_cli_version": __version__,
# adding .motd will cause all clients to display the message, # adding .motd will cause all clients to display the message,
# then keep running normally # then keep running normally
#"motd": "Welcome to the public relay.\nPlease enjoy this service.", #"motd": "Welcome to the public relay.\nPlease enjoy this service.",
@ -55,7 +48,12 @@ class RelayServer(service.MultiService):
# adding .error will cause all clients to fail, with this message # adding .error will cause all clients to fail, with this message
#"error": "This server has been disabled, see URL for details.", #"error": "This server has been disabled, see URL for details.",
} }
if advertise_version: if advertise_version:
# The primary (python CLI) implementation will emit a message if
# its version does not match this key. If/when we have
# distributions which include older version, but we still expect
# them to be compatible, stop sending this key.
welcome["current_cli_version"] = advertise_version welcome["current_cli_version"] = advertise_version
if signal_error: if signal_error:
welcome["error"] = signal_error welcome["error"] = signal_error

View File

@ -7,7 +7,6 @@ import mock
from ..cli import cli from ..cli import cli
from ..transit import allocate_tcp_port from ..transit import allocate_tcp_port
from ..server.server import RelayServer from ..server.server import RelayServer
from .. import __version__
class ServerBase: class ServerBase:
def setUp(self): def setUp(self):
@ -22,7 +21,7 @@ class ServerBase:
# endpoints.serverFromString # endpoints.serverFromString
s = RelayServer("tcp:%d:interface=127.0.0.1" % self.relayport, s = RelayServer("tcp:%d:interface=127.0.0.1" % self.relayport,
"tcp:%s:interface=127.0.0.1" % self.transitport, "tcp:%s:interface=127.0.0.1" % self.transitport,
advertise_version=__version__, advertise_version="advertised.version",
signal_error=error) signal_error=error)
s.setServiceParent(self.sp) s.setServiceParent(self.sp)
self._relay_server = s self._relay_server = s

View File

@ -6,7 +6,6 @@ from twisted.python import log
from twisted.internet import reactor, defer from twisted.internet import reactor, defer
from twisted.internet.defer import inlineCallbacks, returnValue from twisted.internet.defer import inlineCallbacks, returnValue
from autobahn.twisted import websocket from autobahn.twisted import websocket
from .. import __version__
from .common import ServerBase from .common import ServerBase
from ..server import server, rendezvous from ..server import server, rendezvous
from ..server.rendezvous import Usage, SidedMessage from ..server.rendezvous import Usage, SidedMessage
@ -625,7 +624,7 @@ class WebSocketAPI(_Util, ServerBase, unittest.TestCase):
def check_welcome(self, data): def check_welcome(self, data):
self.failUnlessIn("welcome", data) self.failUnlessIn("welcome", data)
self.failUnlessEqual(data["welcome"], self.failUnlessEqual(data["welcome"],
{"current_cli_version": __version__}) {"current_cli_version": "advertised.version"})
@inlineCallbacks @inlineCallbacks
def test_welcome(self): def test_welcome(self):