summaryrefslogtreecommitdiff
path: root/internal/processing/fedi/user.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/fedi/user.go')
-rw-r--r--internal/processing/fedi/user.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/internal/processing/fedi/user.go b/internal/processing/fedi/user.go
index 67f137f25..17663a8f4 100644
--- a/internal/processing/fedi/user.go
+++ b/internal/processing/fedi/user.go
@@ -106,6 +106,13 @@ func (p *Processor) UserGet(ctx context.Context, requestedUsername string, reque
return nil, gtserror.NewErrorUnauthorized(err)
}
+ if !requestingAccount.SuspendedAt.IsZero() {
+ // Account was marked as suspended by a
+ // local admin action. Stop request early.
+ err = fmt.Errorf("account %s marked as suspended", requestingAccount.ID)
+ return nil, gtserror.NewErrorForbidden(err)
+ }
+
blocked, err := p.state.DB.IsBlocked(ctx, requestedAccount.ID, requestingAccount.ID)
if err != nil {
err := gtserror.Newf("error checking block from account %s to account %s: %w", requestedAccount.ID, requestingAccount.ID, err)
@@ -114,7 +121,7 @@ func (p *Processor) UserGet(ctx context.Context, requestedUsername string, reque
if blocked {
err := fmt.Errorf("account %s blocks account %s", requestedAccount.ID, requestingAccount.ID)
- return nil, gtserror.NewErrorUnauthorized(err)
+ return nil, gtserror.NewErrorForbidden(err)
}
return data(person)