1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-04 02:09:37 +02:00

Sanitize invalid actor description

This commit is contained in:
Chocobozzz 2018-03-19 10:23:42 +01:00
parent f6aec1b0f6
commit f47776e265
No known key found for this signature in database
GPG key ID: 583A612D890159BE
2 changed files with 29 additions and 10 deletions

View file

@ -1,5 +1,6 @@
import * as validator from 'validator'
import { CONSTRAINTS_FIELDS } from '../../../initializers'
import { normalizeActor } from '../../../lib/activitypub'
import { exists } from '../misc'
import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc'
@ -52,6 +53,7 @@ function isActorObjectValid (actor: any) {
isActorPublicKeyObjectValid(actor.publicKey) &&
isActorEndpointsObjectValid(actor.endpoints) &&
setValidAttributedTo(actor) &&
// If this is not an account, it should be attributed to an account
// In PeerTube we use this to attach a video channel to a specific account
(actor.type === 'Person' || actor.attributedTo.length !== 0)
@ -83,6 +85,8 @@ function isActorRejectActivityValid (activity: any) {
}
function isActorUpdateActivityValid (activity: any) {
normalizeActor(activity.object)
return isBaseActivityValid(activity, 'Update') &&
isActorObjectValid(activity.object)
}