summaryrefslogtreecommitdiff
path: root/onionshare
diff options
context:
space:
mode:
authorMiguel Jacq <mig@mig5.net>2018-02-09 18:43:57 +1100
committerMiguel Jacq <mig@mig5.net>2018-02-09 18:43:57 +1100
commit39954c6ee8435c1762a2679b1325e66be248bebd (patch)
tree105f664e58bcdc45e5f2e6e7cc48449570b81539 /onionshare
parentaf1b56e6593f4b58477de2f291f3f1dbc809a6c4 (diff)
downloadonionshare-39954c6ee8435c1762a2679b1325e66be248bebd.tar.gz
onionshare-39954c6ee8435c1762a2679b1325e66be248bebd.zip
Allow the user to cancel a share that is still starting up
Diffstat (limited to 'onionshare')
-rw-r--r--onionshare/onion.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/onionshare/onion.py b/onionshare/onion.py
index 28f03f2d..5b4ae1bb 100644
--- a/onionshare/onion.py
+++ b/onionshare/onion.py
@@ -472,8 +472,8 @@ class Onion(object):
auth_cookie = list(res.client_auth.values())[0]
self.auth_string = 'HidServAuth {} {}'.format(onion_host, auth_cookie)
- self.settings.save()
if onion_host is not None:
+ self.settings.save()
return onion_host
else:
raise TorErrorProtocolError(strings._('error_tor_protocol_error'))
@@ -484,13 +484,17 @@ class Onion(object):
"""
common.log('Onion', 'cleanup')
- # Cleanup the ephemeral onion service
- if self.service_id:
- try:
- self.c.remove_ephemeral_hidden_service(self.service_id)
- except:
- pass
- self.service_id = None
+ # Cleanup the ephemeral onion services, if we have any
+ try:
+ onions = self.c.list_ephemeral_hidden_services()
+ for onion in onions:
+ try:
+ self.c.delete_ephemeral_hidden_service(service_id)
+ except:
+ pass
+ except:
+ pass
+ self.service_id = None
if stop_tor:
# Stop tor process