The default was "tcp:4001", which happens to expand into "tcp:4001:interface=127.0.0.1", which limits the listening socket to IPv4 connections only. Changing it to "tcp:4001:interface=\:\:1" means "listen on ::1", which is the IPv6 name for the loopback interface, and gets us a socket that accepts both IPv4 and IPv6 connections. Note: this might cause incompatibilities with IPv4-only hosts, if they don't accept the "::1" name. For these systems, run the server as `twist transitrelay --port=tcp:4001" to revert to the old behavior. closes #12
26 lines
885 B
Python
26 lines
885 B
Python
from __future__ import unicode_literals, print_function
|
|
from twisted.trial import unittest
|
|
from .. import server_tap
|
|
|
|
PORT = "tcp:4001:interface=\:\:1"
|
|
|
|
class Config(unittest.TestCase):
|
|
def test_defaults(self):
|
|
o = server_tap.Options()
|
|
o.parseOptions([])
|
|
self.assertEqual(o, {"blur-usage": None, "log-fd": None,
|
|
"usage-db": None, "port": PORT})
|
|
def test_blur(self):
|
|
o = server_tap.Options()
|
|
o.parseOptions(["--blur-usage=60"])
|
|
self.assertEqual(o, {"blur-usage": 60, "log-fd": None,
|
|
"usage-db": None, "port": PORT})
|
|
|
|
def test_string(self):
|
|
o = server_tap.Options()
|
|
s = str(o)
|
|
self.assertIn("This plugin sets up a 'Transit Relay'", s)
|
|
self.assertIn("--blur-usage=", s)
|
|
self.assertIn("blur timestamps and data sizes in logs", s)
|
|
|