From 296a1f89fb3bbc2751f55a9eab9ec492bee3adba Mon Sep 17 00:00:00 2001 From: axtloss Date: Sat, 17 Feb 2024 19:41:01 +0100 Subject: Fix fsverify block verification --- cmd/verify.go | 47 ++++++--------------------------------------- verifysetup/cmd/setup.go | 2 +- verifysetup/core/storage.go | 4 ++-- 3 files changed, 9 insertions(+), 44 deletions(-) diff --git a/cmd/verify.go b/cmd/verify.go index 0cafe5b..b4066b6 100644 --- a/cmd/verify.go +++ b/cmd/verify.go @@ -53,21 +53,22 @@ func validateThread(blockStart int, blockEnd int, bundleSize int, diskBytes []by errChan <- err } + var nodeSum string for int64(totalReadBlocks) < int64(blockCount) { if validateFailed { return } + prevNodeSum := nodeSum nodeSum, err := node.GetHash() if err != nil { fmt.Println("Using node ", nodeSum) errChan <- err } - node, err := core.GetNode(nodeSum, db) + node, err = core.GetNode(nodeSum, db) if err != nil { + fmt.Println("Failed to get next node") errChan <- err } - fmt.Println("----") - fmt.Println(node) part, i, err := core.ReadBlock(node, reader, totalReadBlocks) totalReadBlocks = i if err != nil { @@ -106,11 +107,6 @@ func ValidateCommand(_ *cobra.Command, args []string) error { return err } fmt.Println("DBFILE: ", dbfile) - /* db, err := core.OpenDB(dbfile, true) - if err != nil { - return err - }*/ - key, err := core.ReadKey() if err != nil { return err @@ -120,8 +116,8 @@ func ValidateCommand(_ *cobra.Command, args []string) error { if err != nil { return err } else if !verified { - //return fmt.Errorf("Signature verification failed\n") - fmt.Println("Signature verification failedw") + return fmt.Errorf("Signature verification failed\n") + //fmt.Println("Signature verification failedw") } else { fmt.Println("Signature verification success!") } @@ -139,8 +135,6 @@ func ValidateCommand(_ *cobra.Command, args []string) error { diskSize := diskInfo.Size() bundleSize := math.Floor(float64(diskSize / int64(config.ProcCount))) - // blockCount := math.Ceil(float64(bundleSize / 2000)) - // lastBlockSize := int(diskSize) - int(diskSize)*config.ProcCount diskBytes := make([]byte, diskSize) _, err = disk.Read(diskBytes) if err != nil { @@ -171,34 +165,5 @@ func ValidateCommand(_ *cobra.Command, args []string) error { } } - /*for int64(core.TotalReadBlocks) < diskInfo.Size() { - nodeSum, err := node.GetHash() - if err != nil { - return err - } - node, err := core.GetNode(nodeSum, db) - if err != nil { - return err - } - fmt.Println("----") - fmt.Println(node) - part, err := core.ReadBlock(node, reader) - if err != nil { - return err - } - hash, err := core.CalculateBlockHash(part) - fmt.Println(hash) - if err != nil { - return err - } - err = core.VerifyBlock(part, node) - if err != nil { - fmt.Println("fail") - return err - } - fmt.Printf("Block '%s' ranging from %d to %d matches!\n", node.PrevNodeSum, node.BlockStart, node.BlockEnd) - - }*/ - return nil } diff --git a/verifysetup/cmd/setup.go b/verifysetup/cmd/setup.go index 81c4dff..9db095e 100644 --- a/verifysetup/cmd/setup.go +++ b/verifysetup/cmd/setup.go @@ -40,7 +40,7 @@ func checksumBlock(blockStart int, blockEnd int, bundleSize int, diskBytes []byt fmt.Printf("%d:: %d attempted reading from %d to %d. Error %s\n", blockStart, i, i*2000, (i*2000)+2000, err) return } - node, err = core.CreateNode(blockStart+i*2000, blockStart+(i*2000)+2000, block, &node, strconv.Itoa(n)) + node, err = core.CreateNode(i*2000, (i*2000)+2000, block, &node, strconv.Itoa(n)) if err != nil { fmt.Printf("%d:: 2 Error %s\n", blockStart, err) return diff --git a/verifysetup/core/storage.go b/verifysetup/core/storage.go index 48a31d9..ddc70b3 100644 --- a/verifysetup/core/storage.go +++ b/verifysetup/core/storage.go @@ -63,8 +63,8 @@ func AddNode(node verify.Node, tx *bolt.Tx) error { } return nil } - +/* func CreateHeader(unsignedHash string, signedHash string, diskSize int, tableSize int) ([]byte, error) { header := make([]byte, 200) -} +}*/ -- cgit v1.2.3