From 15e6c52049bac50ce22187fbfd46340d5e1d701c Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Thu, 2 Mar 2023 13:27:08 +0100 Subject: [PATCH] Update space header validation --- commonspace/spacestorage/spacestorage.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/commonspace/spacestorage/spacestorage.go b/commonspace/spacestorage/spacestorage.go index b19a4768..9b0008fc 100644 --- a/commonspace/spacestorage/spacestorage.go +++ b/commonspace/spacestorage/spacestorage.go @@ -2,6 +2,7 @@ package spacestorage import ( + "bytes" "context" "errors" "github.com/anytypeio/any-sync/app" @@ -70,7 +71,7 @@ func ValidateSpaceStorageCreatePayload(payload SpaceStorageCreatePayload) (err e return nil } -func ValidateSpaceHeader(spaceId string, header []byte) (err error) { +func ValidateSpaceHeader(spaceId string, header, identity []byte) (err error) { split := strings.Split(spaceId, ".") if len(split) != 2 { return ErrIncorrectSpaceHeader @@ -89,6 +90,10 @@ func ValidateSpaceHeader(spaceId string, header []byte) (err error) { if err != nil { return } + if identity != nil && !bytes.Equal(identity, payload.Identity) { + err = ErrIncorrectSpaceHeader + return + } key, err := signingkey.NewSigningEd25519PubKeyFromBytes(payload.Identity) if err != nil { return