Skip to content

Commit

Permalink
ref(relay): Only update internal state when it changed
Browse files Browse the repository at this point in the history
  • Loading branch information
Dav1dde committed Aug 27, 2024
1 parent d836df0 commit e31fa49
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
6 changes: 4 additions & 2 deletions src/sentry/api/authentication.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,6 @@ def relay_from_id(request: Request, relay_id: str) -> tuple[Relay | None, bool]:
else:
try:
relay = Relay.objects.get(relay_id=relay_id)
relay.is_internal = is_internal_relay(request, relay.public_key)
return relay, False # a Relay from the database
except Relay.DoesNotExist:
return None, False # no Relay found
Expand Down Expand Up @@ -218,11 +217,14 @@ def authenticate_credentials(
if request is None:
raise AuthenticationFailed("missing request")

relay, static = relay_from_id(request, relay_id)
relay, _ = relay_from_id(request, relay_id)

if relay is None:
raise AuthenticationFailed("Unknown relay")

if relay.is_internal is None:
relay.is_internal = is_internal_relay(request, relay.public_key)

try:
data = relay.public_key_object.unpack(request.body, relay_sig, max_age=60 * 5)
request.relay = relay
Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/endpoints/relay/register_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ def post(self, request: Request) -> Response:
relay = Relay.objects.create(
relay_id=relay_id, public_key=public_key, is_internal=is_internal
)
else:
elif not relay.is_internal == is_internal:
# update the internal flag in case it is changed
relay.is_internal = is_internal
relay.save()
Expand Down

0 comments on commit e31fa49

Please sign in to comment.