tor: After enabling hidden service, wait for info

This commit is contained in:
James Valleroy 2015-12-16 22:51:49 -05:00 committed by Sunil Mohan Adapa
parent 07130b6007
commit 1e67fcb61a
No known key found for this signature in database
GPG Key ID: 36C361440C9BC971

View File

@ -229,6 +229,14 @@ def _enable_hs(restart=True):
if is_enabled() and is_running():
action_utils.service_restart('tor')
# wait until hidden service information is available
tries = 0
while get_hidden_service() in ('', 'error'):
tries += 1
if tries >= 12:
return
time.sleep(10)
def _disable_hs(restart=True):
"""Disable Tor hidden service"""
@ -326,8 +334,11 @@ def _update_ports():
</service>
"""
for name, number in ports.items():
with open(SERVICE_FILE.format(name), 'w') as service_file:
service_file.writelines(lines.format(name, number))
try:
with open(SERVICE_FILE.format(name), 'w') as service_file:
service_file.writelines(lines.format(name, number))
except FileNotFoundError:
return
action_utils.service_restart('firewalld')