Skip to content
Snippets Groups Projects
Verified Commit 4811f35e authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Linting

parent d63f8f2e
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,7 @@ import cryptography ...@@ -2,7 +2,7 @@ import cryptography
import logging import logging
from django.contrib.auth.models import AnonymousUser from django.contrib.auth.models import AnonymousUser
from rest_framework import authentication, exceptions from rest_framework import authentication, exceptions as rest_exceptions
from funkwhale_api.moderation import models as moderation_models from funkwhale_api.moderation import models as moderation_models
from . import actors, exceptions, keys, signing, utils from . import actors, exceptions, keys, signing, utils
...@@ -20,12 +20,12 @@ class SignatureAuthentication(authentication.BaseAuthentication): ...@@ -20,12 +20,12 @@ class SignatureAuthentication(authentication.BaseAuthentication):
except KeyError: except KeyError:
return return
except ValueError as e: except ValueError as e:
raise exceptions.AuthenticationFailed(str(e)) raise rest_exceptions.AuthenticationFailed(str(e))
try: try:
actor_url = key_id.split("#")[0] actor_url = key_id.split("#")[0]
except (TypeError, IndexError, AttributeError): except (TypeError, IndexError, AttributeError):
raise exceptions.AuthenticationFailed("Invalid key id") raise rest_exceptions.AuthenticationFailed("Invalid key id")
policies = ( policies = (
moderation_models.InstancePolicy.objects.active() moderation_models.InstancePolicy.objects.active()
...@@ -41,15 +41,15 @@ class SignatureAuthentication(authentication.BaseAuthentication): ...@@ -41,15 +41,15 @@ class SignatureAuthentication(authentication.BaseAuthentication):
logger.info( logger.info(
"Discarding HTTP request from blocked actor/domain %s", actor_url "Discarding HTTP request from blocked actor/domain %s", actor_url
) )
raise exceptions.AuthenticationFailed(str(e)) raise rest_exceptions.AuthenticationFailed(str(e))
if not actor.public_key: if not actor.public_key:
raise exceptions.AuthenticationFailed("No public key found") raise rest_exceptions.AuthenticationFailed("No public key found")
try: try:
signing.verify_django(request, actor.public_key.encode("utf-8")) signing.verify_django(request, actor.public_key.encode("utf-8"))
except cryptography.exceptions.InvalidSignature: except cryptography.exceptions.InvalidSignature:
raise exceptions.AuthenticationFailed("Invalid signature") raise rest_exceptions.AuthenticationFailed("Invalid signature")
return actor return actor
......
from rest_framework import authentication, exceptions
from rest_framework import exceptions from rest_framework import exceptions
......
import unicodedata import unicodedata
import re import re
from django.conf import settings from django.conf import settings
from django.db.models import Q
from funkwhale_api.common import session from funkwhale_api.common import session
from funkwhale_api.moderation import models as moderation_models from funkwhale_api.moderation import models as moderation_models
...@@ -64,7 +63,7 @@ def slugify_username(username): ...@@ -64,7 +63,7 @@ def slugify_username(username):
def retrieve_ap_object( def retrieve_ap_object(
fid, actor=None, serializer_class=None, queryset=None, apply_instance_policies=True fid, actor=None, serializer_class=None, queryset=None, apply_instance_policies=True
): ):
from . import activity, serializers from . import activity
policies = moderation_models.InstancePolicy.objects.active().filter(block_all=True) policies = moderation_models.InstancePolicy.objects.active().filter(block_all=True)
if apply_instance_policies and policies.matching_url(fid): if apply_instance_policies and policies.matching_url(fid):
......
...@@ -79,7 +79,7 @@ def test_retrieve_ap_object_honor_instance_policy_different_url_and_id( ...@@ -79,7 +79,7 @@ def test_retrieve_ap_object_honor_instance_policy_different_url_and_id(
block_all=True, for_domain=True block_all=True, for_domain=True
).target_domain ).target_domain
fid = "https://ok/test" fid = "https://ok/test"
m = r_mock.get(fid, json={"id": "http://{}/test".format(domain.name)}) r_mock.get(fid, json={"id": "http://{}/test".format(domain.name)})
with pytest.raises(exceptions.BlockedActorOrDomain): with pytest.raises(exceptions.BlockedActorOrDomain):
utils.retrieve_ap_object(fid) utils.retrieve_ap_object(fid)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment