Fix tor configuration parsing to avoid loading of secrets

This commit is contained in:
Christophe Mehay 2021-02-20 14:34:40 +01:00 committed by Christophe Mehay
parent 3434863f10
commit a37645543f
5 changed files with 408 additions and 410 deletions

View file

@ -113,9 +113,9 @@ class Setup(object):
assert len(key) > 800
self.setup[host]['key'] = key
def _load_keys_in_services(self):
def _load_keys_in_services(self, secret=True):
for service in self.services:
service.load_key()
service.load_key(secret=secret)
def _get_service(self, host, service):
self._add_host(host)
@ -437,7 +437,7 @@ class Onions(Setup):
service.add_ports(service_dict['ports'])
if service not in group.services:
group.add_service(service)
self._load_keys_in_services()
self._load_keys_in_services(secret=False)
if not os.path.exists(self.torrc):
return
@ -489,16 +489,16 @@ def main():
logging.getLogger().setLevel(logging.WARNING)
try:
onions = Onions()
if args.setup:
onions.setup_hosts()
else:
onions.torrc_parser()
if args.vanguards:
onions.run_vanguards()
return
if args.resolve_control_port:
onions.resolve_control_port()
return
if args.setup:
onions.setup_hosts()
else:
onions.torrc_parser()
except BaseException as e:
logging.exception(e)
error_msg = str(e)