From 48f0830db9c9534fee53dd5b43641ddb807b4e1d Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 12 Apr 2024 11:19:56 +0100 Subject: [PATCH] Tidying --- daemon_get.py | 10 +++- daemon_get_webfinger.py | 100 +++++++++++++++++----------------------- 2 files changed, 51 insertions(+), 59 deletions(-) diff --git a/daemon_get.py b/daemon_get.py index 2c7f4cdf1..cead93adf 100644 --- a/daemon_get.py +++ b/daemon_get.py @@ -2628,7 +2628,15 @@ def daemon_http_get(self) -> None: return # get webfinger endpoint for a person - if get_webfinger(self, calling_domain, referer_domain, cookie): + if get_webfinger(self, calling_domain, referer_domain, cookie, + self.path, self.server.debug, + self.server.onion_domain, + self.server.i2p_domain, + self.server.http_prefix, + self.server.domain, + self.server.domain_full, + self.server.base_dir, + self.server.port): fitness_performance(getreq_start_time, self.server.fitness, '_GET', 'webfinger called', self.server.debug) diff --git a/daemon_get_webfinger.py b/daemon_get_webfinger.py index fc3313d34..c515ef3d2 100644 --- a/daemon_get_webfinger.py +++ b/daemon_get_webfinger.py @@ -22,27 +22,29 @@ from daemon_utils import has_accept def get_webfinger(self, calling_domain: str, referer_domain: str, - cookie: str) -> bool: - if not self.path.startswith('/.well-known'): + cookie: str, path: str, debug: bool, + onion_domain: str, i2p_domain: str, + http_prefix: str, domain: str, domain_full: str, + base_dir: str, port: int) -> bool: + if not path.startswith('/.well-known'): return False - if self.server.debug: + if debug: print('DEBUG: WEBFINGER well-known') - if self.server.debug: + if debug: print('DEBUG: WEBFINGER host-meta') - if self.path.startswith('/.well-known/host-meta'): + if path.startswith('/.well-known/host-meta'): if calling_domain.endswith('.onion') and \ - self.server.onion_domain: + onion_domain: wf_result = \ - webfinger_meta('http', self.server.onion_domain) + webfinger_meta('http', onion_domain) elif (calling_domain.endswith('.i2p') and - self.server.i2p_domain): + i2p_domain): wf_result = \ - webfinger_meta('http', self.server.i2p_domain) + webfinger_meta('http', i2p_domain) else: wf_result = \ - webfinger_meta(self.server.http_prefix, - self.server.domain_full) + webfinger_meta(http_prefix, domain_full) if wf_result: msg = wf_result.encode('utf-8') msglen = len(msg) @@ -52,28 +54,24 @@ def get_webfinger(self, calling_domain: str, referer_domain: str, return True http_404(self, 6) return True - if self.path.startswith('/api/statusnet') or \ - self.path.startswith('/api/gnusocial') or \ - self.path.startswith('/siteinfo') or \ - self.path.startswith('/poco') or \ - self.path.startswith('/friendi'): + if path.startswith('/api/statusnet') or \ + path.startswith('/api/gnusocial') or \ + path.startswith('/siteinfo') or \ + path.startswith('/poco') or \ + path.startswith('/friendi'): http_404(self, 7) return True # protocol handler. See https://fedi-to.github.io/protocol-handler.html - if self.path.startswith('/.well-known/protocol-handler'): + if path.startswith('/.well-known/protocol-handler'): if calling_domain.endswith('.onion'): protocol_url, _ = \ - wellknown_protocol_handler(self.path, 'http', - self.server.onion_domain) + wellknown_protocol_handler(path, 'http', onion_domain) elif calling_domain.endswith('.i2p'): protocol_url, _ = \ - wellknown_protocol_handler(self.path, - 'http', self.server.i2p_domain) + wellknown_protocol_handler(path, 'http', i2p_domain) else: protocol_url, _ = \ - wellknown_protocol_handler(self.path, - self.server.http_prefix, - self.server.domain_full) + wellknown_protocol_handler(path, http_prefix, domain_full) if protocol_url: redirect_headers(self, protocol_url, cookie, calling_domain, 308) @@ -81,29 +79,22 @@ def get_webfinger(self, calling_domain: str, referer_domain: str, http_404(self, 8) return True # nodeinfo - if self.path.startswith('/.well-known/nodeinfo') or \ - self.path.startswith('/.well-known/x-nodeinfo'): - if calling_domain.endswith('.onion') and \ - self.server.onion_domain: + if path.startswith('/.well-known/nodeinfo') or \ + path.startswith('/.well-known/x-nodeinfo'): + if calling_domain.endswith('.onion') and onion_domain: wf_result = \ - webfinger_node_info('http', self.server.onion_domain) - elif (calling_domain.endswith('.i2p') and - self.server.i2p_domain): + webfinger_node_info('http', onion_domain) + elif (calling_domain.endswith('.i2p') and i2p_domain): wf_result = \ - webfinger_node_info('http', self.server.i2p_domain) + webfinger_node_info('http', i2p_domain) else: wf_result = \ - webfinger_node_info(self.server.http_prefix, - self.server.domain_full) + webfinger_node_info(http_prefix, domain_full) if wf_result: msg_str = json.dumps(wf_result) - msg_str = convert_domains(calling_domain, - referer_domain, - msg_str, - self.server.http_prefix, - self.server.domain, - self.server.onion_domain, - self.server.i2p_domain) + msg_str = convert_domains(calling_domain, referer_domain, + msg_str, http_prefix, domain, + onion_domain, i2p_domain) msg = msg_str.encode('utf-8') msglen = len(msg) if has_accept(self, calling_domain): @@ -120,31 +111,24 @@ def get_webfinger(self, calling_domain: str, referer_domain: str, http_404(self, 9) return True - if self.server.debug: - print('DEBUG: WEBFINGER lookup ' + self.path + ' ' + - str(self.server.base_dir)) + if debug: + print('DEBUG: WEBFINGER lookup ' + path + ' ' + str(base_dir)) wf_result = \ - webfinger_lookup(self.path, self.server.base_dir, - self.server.domain, - self.server.onion_domain, - self.server.i2p_domain, - self.server.port, self.server.debug) + webfinger_lookup(path, base_dir, + domain, onion_domain, + i2p_domain, port, debug) if wf_result: msg_str = json.dumps(wf_result) - msg_str = convert_domains(calling_domain, - referer_domain, - msg_str, - self.server.http_prefix, - self.server.domain, - self.server.onion_domain, - self.server.i2p_domain) + msg_str = convert_domains(calling_domain, referer_domain, + msg_str, http_prefix, domain, + onion_domain, i2p_domain) msg = msg_str.encode('utf-8') msglen = len(msg) set_headers(self, 'application/jrd+json', msglen, None, calling_domain, True) write2(self, msg) else: - if self.server.debug: - print('DEBUG: WEBFINGER lookup 404 ' + self.path) + if debug: + print('DEBUG: WEBFINGER lookup 404 ' + path) http_404(self, 10) return True