diff options
author | 2023-11-10 17:16:58 +0100 | |
---|---|---|
committer | 2023-11-10 17:16:58 +0100 | |
commit | 7ce3a1e6f3e9da43cd0a28f3018b8526decab698 (patch) | |
tree | 1b7b10513651d13b37ef188a50e3e9f9dc2c2030 /internal/processing/fedi/user.go | |
parent | [bugfix/docs] Poll api fixups + swagger docs (#2345) (diff) | |
download | gotosocial-7ce3a1e6f3e9da43cd0a28f3018b8526decab698.tar.xz |
[bugfix] Don't try to update suspended accounts (#2348)
* [bugfix] Don't try to update suspended accounts
* bail early if requesting account suspended
Diffstat (limited to 'internal/processing/fedi/user.go')
-rw-r--r-- | internal/processing/fedi/user.go | 9 |
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) |