diff --git a/CHANGELOG.md b/CHANGELOG.md index b3e0592d3..27af5836c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,8 @@ All notable changes to this project will be documented in this file. - frontpage: Make app icons larger. - frontpage: Center shortcut text under icons. - frontpage: Move info to bottom and center. +- firewall: Only show services that have completed setup. +- firewall: Collapse port lists so they are hidden by default. ## [0.11.0] - 2016-09-21 ### Added diff --git a/plinth/modules/tor/__init__.py b/plinth/modules/tor/__init__.py index 502eaa3cb..ebb57ee79 100644 --- a/plinth/modules/tor/__init__.py +++ b/plinth/modules/tor/__init__.py @@ -59,38 +59,42 @@ def init(): menu = cfg.main_menu.get('apps:index') menu.add_urlname(title, 'glyphicon-eye-close', 'tor:index') - global socks_service - socks_service = service_module.Service( - 'tor-socks', _('Tor Anonymity Network'), ports=['tor-socks'], - is_external=False, is_enabled=utils.is_enabled, - is_running=utils.is_running) + setup_helper = globals()['setup_helper'] + needs_setup = setup_helper.get_state() == 'needs-setup' - global bridge_service - bridge_service = service_module.Service( - 'tor-bridge', _('Tor Bridge Relay'), - ports=['tor-orport', 'tor-obfs3', 'tor-obfs4'], - is_external=True, is_enabled=utils.is_enabled, - is_running=utils.is_running) + if not needs_setup: + global socks_service + socks_service = service_module.Service( + 'tor-socks', _('Tor Anonymity Network'), ports=['tor-socks'], + is_external=False, is_enabled=utils.is_enabled, + is_running=utils.is_running) - # Register hidden service name with Name Services module. - status = utils.get_status() - hostname = status['hs_hostname'] - hs_virtports = [port['virtport'] for port in status['hs_ports']] + global bridge_service + bridge_service = service_module.Service( + 'tor-bridge', _('Tor Bridge Relay'), + ports=['tor-orport', 'tor-obfs3', 'tor-obfs4'], + is_external=True, is_enabled=utils.is_enabled, + is_running=utils.is_running) - if status['enabled'] and status['is_running'] and \ - status['hs_enabled'] and status['hs_hostname']: - hs_services = [] - for service_type in SERVICES: - if str(service_type[2]) in hs_virtports: - hs_services.append(service_type[0]) - else: - hostname = None - hs_services = None + # Register hidden service name with Name Services module. + status = utils.get_status() + hostname = status['hs_hostname'] + hs_virtports = [port['virtport'] for port in status['hs_ports']] - domain_added.send_robust( - sender='tor', domain_type='hiddenservice', - name=hostname, description=_('Tor Hidden Service'), - services=hs_services) + if status['enabled'] and status['is_running'] and \ + status['hs_enabled'] and status['hs_hostname']: + hs_services = [] + for service_type in SERVICES: + if str(service_type[2]) in hs_virtports: + hs_services.append(service_type[0]) + else: + hostname = None + hs_services = None + + domain_added.send_robust( + sender='tor', domain_type='hiddenservice', + name=hostname, description=_('Tor Hidden Service'), + services=hs_services) def setup(helper, old_version=None):