Tornado requires two sockets to support IPv6
Tornado sets setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 1) to force IPv6 sockets to only be used for IPv6 connections. create a separate socket to allow for CouchPotato to be used over IPv6.
This commit is contained in:
@@ -244,11 +244,13 @@ def runCouchPotato(options, base_path, args, data_dir = None, log_dir = None, En
|
|||||||
|
|
||||||
# Basic config
|
# Basic config
|
||||||
host = Env.setting('host', default = '0.0.0.0')
|
host = Env.setting('host', default = '0.0.0.0')
|
||||||
|
host6 = Env.setting('host6', default = '::')
|
||||||
# app.debug = development
|
# app.debug = development
|
||||||
config = {
|
config = {
|
||||||
'use_reloader': reloader,
|
'use_reloader': reloader,
|
||||||
'port': tryInt(Env.setting('port', default = 5050)),
|
'port': tryInt(Env.setting('port', default = 5050)),
|
||||||
'host': host if host and len(host) > 0 else '0.0.0.0',
|
'host': host if host and len(host) > 0 else '0.0.0.0',
|
||||||
|
'host6': host6 if host6 and len(host6) > 0 else '::',
|
||||||
'ssl_cert': Env.setting('ssl_cert', default = None),
|
'ssl_cert': Env.setting('ssl_cert', default = None),
|
||||||
'ssl_key': Env.setting('ssl_key', default = None),
|
'ssl_key': Env.setting('ssl_key', default = None),
|
||||||
}
|
}
|
||||||
@@ -331,6 +333,7 @@ def runCouchPotato(options, base_path, args, data_dir = None, log_dir = None, En
|
|||||||
while try_restart:
|
while try_restart:
|
||||||
try:
|
try:
|
||||||
server.listen(config['port'], config['host'])
|
server.listen(config['port'], config['host'])
|
||||||
|
server.listen(config['port'], config['host6'])
|
||||||
loop.start()
|
loop.start()
|
||||||
server.close_all_connections()
|
server.close_all_connections()
|
||||||
server.stop()
|
server.stop()
|
||||||
|
|||||||
Reference in New Issue
Block a user