mirror of https://gitlab.com/bashrc2/epicyon
Test for invalid nicknames in search requests
parent
8e6431fac5
commit
8810501a97
|
|
@ -21,6 +21,7 @@ from utils import get_domain_from_actor
|
||||||
from utils import get_full_domain
|
from utils import get_full_domain
|
||||||
from utils import local_actor_url
|
from utils import local_actor_url
|
||||||
from utils import remove_eol
|
from utils import remove_eol
|
||||||
|
from utils import valid_nickname
|
||||||
from webapp_utils import get_avatar_image_url
|
from webapp_utils import get_avatar_image_url
|
||||||
from webapp_search import html_hashtag_search
|
from webapp_search import html_hashtag_search
|
||||||
from webapp_search import html_skills_search
|
from webapp_search import html_skills_search
|
||||||
|
|
@ -493,8 +494,15 @@ def _receive_search_handle(self, search_str: str,
|
||||||
# are we already following or followed by the searched
|
# are we already following or followed by the searched
|
||||||
# for handle?
|
# for handle?
|
||||||
search_nickname = get_nickname_from_actor(search_str)
|
search_nickname = get_nickname_from_actor(search_str)
|
||||||
|
# check that nickname is valid, otherwise DNS resolution can fail
|
||||||
search_domain, search_port = \
|
search_domain, search_port = \
|
||||||
get_domain_from_actor(search_str)
|
get_domain_from_actor(search_str)
|
||||||
|
if search_nickname and search_domain:
|
||||||
|
if not valid_nickname(search_domain, search_nickname):
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return True
|
||||||
search_follower = \
|
search_follower = \
|
||||||
is_follower_of_person(base_dir, nickname, domain,
|
is_follower_of_person(base_dir, nickname, domain,
|
||||||
search_nickname, search_domain)
|
search_nickname, search_domain)
|
||||||
|
|
|
||||||
4
tests.py
4
tests.py
|
|
@ -5205,6 +5205,10 @@ def _test_valid_nick():
|
||||||
nickname = 'my invalid nick?'
|
nickname = 'my invalid nick?'
|
||||||
assert not valid_nickname(domain, nickname)
|
assert not valid_nickname(domain, nickname)
|
||||||
|
|
||||||
|
# causes http signature check failures
|
||||||
|
nickname = '你好'
|
||||||
|
assert not valid_nickname(domain, nickname)
|
||||||
|
|
||||||
|
|
||||||
def _test_guess_tag_category() -> None:
|
def _test_guess_tag_category() -> None:
|
||||||
print('test_guess_hashtag_category')
|
print('test_guess_hashtag_category')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue