diff options
author | axtloss <axtlos@getcryst.al> | 2024-02-03 16:25:55 +0100 |
---|---|---|
committer | axtloss <axtlos@getcryst.al> | 2024-02-03 16:25:55 +0100 |
commit | b77083448f096f01036d3e53dfddf0aee39bcd8c (patch) | |
tree | 97bcf591bb986369343a89325ae1fe371b1b54ba /cmd | |
parent | 57e3add2f90ad1900be2e9d1cd8019f6aa5ad440 (diff) | |
download | fsverify-b77083448f096f01036d3e53dfddf0aee39bcd8c.tar.gz fsverify-b77083448f096f01036d3e53dfddf0aee39bcd8c.tar.bz2 |
change header signature and add block checksumming
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/verify.go | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/cmd/verify.go b/cmd/verify.go index 9c7947c..dc7a700 100644 --- a/cmd/verify.go +++ b/cmd/verify.go @@ -1,9 +1,11 @@ package cmd import ( + "bufio" "fmt" "github.com/axtloss/fsverify/core" "github.com/spf13/cobra" + "os" ) func NewVerifyCommand() *cobra.Command { @@ -19,20 +21,21 @@ func NewVerifyCommand() *cobra.Command { func ValidateCommand(_ *cobra.Command, args []string) error { - header, err := core.ReadHeader("./part.fsverify") - fmt.Println(header.MagicNumber) - fmt.Println(header.Signature) - fmt.Println(header.FilesystemSize) - fmt.Println(header.TableSize) + header, err := core.ReadHeader("/dev/sda") + fmt.Printf("Magic Number: %d\n", header.MagicNumber) + fmt.Printf("Signature: %s\n" + header.Signature) + fmt.Printf("FsSize: %d\n", header.FilesystemSize) + fmt.Printf("Table Size: %d\n", header.TableSize) + fmt.Printf("Table Size Unit: %d\n", header.TableUnit) if err != nil { return err } - dbfile, err := core.ReadDB("./part.fsverify") + dbfile, err := core.ReadDB("/dev/sda") if err != nil { return err } fmt.Println("DBFILE: ", dbfile) - db, err := core.OpenDB(dbfile) + db, err := core.OpenDB(dbfile, true) if err != nil { return err } @@ -42,5 +45,16 @@ func ValidateCommand(_ *cobra.Command, args []string) error { return err } fmt.Println(getnode) - return nil + + fmt.Println("----") + + disk, err := os.Open("./partition.raw") + reader := bufio.NewReader(disk) + part, err := core.ReadBlock(getnode, reader) + if err != nil { + return err + } + hash, err := core.CalculateBlockHash(part) + fmt.Println(hash) + return err } |