Merge branch 'main' of gitlab.com:bashrc2/epicyon

merge-requests/30/head
Bob Mottram 2022-01-31 20:08:10 +00:00
commit 38b2423e15
2 changed files with 16 additions and 7 deletions

View File

@ -1153,7 +1153,7 @@ class PubServer(BaseHTTPRequestHandler):
self._400()
return True
if self.server.nodeinfo_is_active:
print('nodeinfo is busy')
print('nodeinfo is busy during request from ' + referer_domain)
self._503()
return True
self.server.nodeinfo_is_active = True
@ -1175,10 +1175,19 @@ class PubServer(BaseHTTPRequestHandler):
self._400()
self.server.nodeinfo_is_active = False
return True
if not site_is_active(httpPrefix + '://' + referer_domain,
calling_site_timeout):
print('nodeinfo referer domain is not active ' +
referer_domain)
referer_url = httpPrefix + '://' + referer_domain
if referer_domain + '/' in ua_str:
referer_url = referer_url + ua_str.split(referer_domain)[1]
if ' ' in referer_url:
referer_url = referer_url.split(' ')[0]
if ';' in referer_url:
referer_url = referer_url.split(';')[0]
if ')' in referer_url:
referer_url = referer_url.split(')')[0]
if not site_is_active(referer_url, calling_site_timeout):
print('nodeinfo referer url is not active ' +
referer_url)
self._400()
self.server.nodeinfo_is_active = False
return True

View File

@ -2891,9 +2891,9 @@ def user_agent_domain(user_agent: str, debug: bool) -> str:
"""If the User-Agent string contains a domain
then return it
"""
if '+http' not in user_agent:
if 'http' not in user_agent:
return None
agent_domain = user_agent.split('+http')[1].strip()
agent_domain = user_agent.split('http')[1].strip()
if '://' in agent_domain:
agent_domain = agent_domain.split('://')[1]
if '/' in agent_domain: