Protocol.REQUIRES_NAME: check against handle, id

in-reply-to-bridged
Ryan Barrett 2024-05-11 16:47:12 -07:00
rodzic de0af66979
commit 890c7083d3
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 11 dodań i 2 usunięć

Wyświetl plik

@ -363,8 +363,11 @@ class User(StringIdModel, metaclass=ProtocolUserMeta):
if not self.obj or not self.obj.as1:
return None
if ((self.REQUIRES_AVATAR and not self.obj.as1.get('image')) or
(self.REQUIRES_NAME and not self.obj.as1.get('displayName'))):
if self.REQUIRES_AVATAR and not self.obj.as1.get('image'):
return 'blocked'
name = self.obj.as1.get('displayName')
if self.REQUIRES_NAME and (not name or name in (self.handle, self.key.id())):
return 'blocked'
if not as1.is_public(self.obj.as1, unlisted=False):

Wyświetl plik

@ -296,6 +296,12 @@ class UserTest(TestCase):
obj_as1={'image': 'http://pic'})
self.assertEqual('blocked', user.status)
user.obj.our_as1['displayName'] = 'fake:user'
self.assertEqual('blocked', user.status)
user.obj.our_as1['displayName'] = 'fake:handle:user'
self.assertEqual('blocked', user.status)
user.obj.our_as1['displayName'] = 'Alice'
self.assertIsNone(user.status)