From 1e67fcb61af1ea0278aa7a992edbe906af78439f Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Wed, 16 Dec 2015 22:51:49 -0500 Subject: [PATCH] tor: After enabling hidden service, wait for info --- actions/tor | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/actions/tor b/actions/tor index c17b84fd2..c0d7155a2 100755 --- a/actions/tor +++ b/actions/tor @@ -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(): """ 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')