change default port= to listen on both IPv4+IPv6
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
This commit is contained in:
parent
e9f166cb96
commit
273c4d796c
|
@ -19,7 +19,7 @@ class Options(usage.Options):
|
|||
longdesc = LONGDESC
|
||||
|
||||
optParameters = [
|
||||
("port", "p", "tcp:4001", "endpoint to listen on"),
|
||||
("port", "p", "tcp:4001:interface=\:\:1", "endpoint to listen on"),
|
||||
("blur-usage", None, None, "blur timestamps and data sizes in logs"),
|
||||
("log-fd", None, None, "write JSON usage logs to this file descriptor"),
|
||||
("usage-db", None, None, "record usage data (SQLite)"),
|
||||
|
|
|
@ -2,17 +2,19 @@ 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": "tcp:4001"})
|
||||
"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": "tcp:4001"})
|
||||
"usage-db": None, "port": PORT})
|
||||
|
||||
def test_string(self):
|
||||
o = server_tap.Options()
|
||||
|
|
Loading…
Reference in New Issue
Block a user