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/common.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/common.go')
-rw-r--r-- | internal/processing/fedi/common.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/internal/processing/fedi/common.go b/internal/processing/fedi/common.go index 38c31ffd2..c41f1e00c 100644 --- a/internal/processing/fedi/common.go +++ b/internal/processing/fedi/common.go @@ -63,6 +63,13 @@ func (p *Processor) authenticate(ctx context.Context, requestedUsername string) return nil, 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, nil, gtserror.NewErrorForbidden(err) + } + // Ensure no block exists between requester + requested. blocked, err := p.state.DB.IsEitherBlocked(ctx, requestedAccount.ID, requestingAccount.ID) if err != nil { @@ -72,7 +79,7 @@ func (p *Processor) authenticate(ctx context.Context, requestedUsername string) if blocked { err = fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID) - return nil, nil, gtserror.NewErrorUnauthorized(err) + return nil, nil, gtserror.NewErrorForbidden(err) } return requestedAccount, requestingAccount, nil |