From c1b6811b8aaf9cb38485ff0c8699beece2512e12 Mon Sep 17 00:00:00 2001 From: Paul Saab Date: Sat, 15 Nov 2014 15:48:45 -0800 Subject: [PATCH] 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. --- couchpotato/runner.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/couchpotato/runner.py b/couchpotato/runner.py index b780397..7b83414 100644 --- a/couchpotato/runner.py +++ b/couchpotato/runner.py @@ -244,11 +244,13 @@ def runCouchPotato(options, base_path, args, data_dir = None, log_dir = None, En # Basic config host = Env.setting('host', default = '0.0.0.0') + host6 = Env.setting('host6', default = '::') # app.debug = development config = { 'use_reloader': reloader, 'port': tryInt(Env.setting('port', default = 5050)), '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_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: try: server.listen(config['port'], config['host']) + server.listen(config['port'], config['host6']) loop.start() server.close_all_connections() server.stop()