diff options
| author | Jeff Carr <[email protected]> | 2025-10-13 01:20:28 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-13 03:29:21 -0500 |
| commit | 03a800ffc149c17cfad5237c6915155a8feeabf7 (patch) | |
| tree | e1e2affeb82340e3325507c46f35d3f8b1accac7 | |
| parent | c48a87214660ab91e97361e3d227c3bcd93da3f9 (diff) | |
generate hashes on init .deb
| -rw-r--r-- | doVerify.go | 13 | ||||
| -rw-r--r-- | makePackagesFile.go | 10 |
2 files changed, 16 insertions, 7 deletions
diff --git a/doVerify.go b/doVerify.go index c742df9..54ebfb1 100644 --- a/doVerify.go +++ b/doVerify.go @@ -26,6 +26,7 @@ func doVerify() (string, error) { var counter int filemap := make(map[string]*zoopb.Package) for p := range me.pb.IterAll() { + // VERIFY FILENME FIRST pdump := log.Sprintf("%v", p) if !shell.Exists(p.Filename) { log.Printf("no file Exists() %-130.130s\n", p.Filename) @@ -49,11 +50,11 @@ func doVerify() (string, error) { continue } if p.Filename == "" { - log.Printf("filename is blank %-130.130s\n", pdump) + log.Printf("%-16.16s %-130.130s\n", "filename is blank", pdump) counter += 1 continue } - // the filename is now valid + // looks for duplicate entries by filename. probably shouldn't deprecate this. fullname := filepath.Join(me.pb.BaseDir, p.Filename) if dupname, ok := filemap[p.Filename]; ok { dupdump := log.Sprintf("%v", dupname) @@ -67,6 +68,8 @@ func doVerify() (string, error) { counter += 1 continue } + // VERIFY FILENME END + // make sure the fields are valid if p.Package == "" { me.pb.Delete(p) @@ -74,6 +77,12 @@ func doVerify() (string, error) { counter += 1 continue } + if (p.DebInfo.SHA256 == "") || (p.DebInfo.MD5SUM == "") { + log.Printf("%-16.16s %-130.130s\n", "missing SHA256", pdump) + me.pb.Delete(p) + counter += 1 + continue + } if p.Architecture == "" { log.Printf("%-16.16s %-130.130s\n", "arch is blank", pdump) counter += 1 diff --git a/makePackagesFile.go b/makePackagesFile.go index 7c05fea..0de9e3c 100644 --- a/makePackagesFile.go +++ b/makePackagesFile.go @@ -3,7 +3,6 @@ package main import ( "bufio" "crypto/md5" - "crypto/sha1" "crypto/sha256" "errors" "fmt" @@ -44,12 +43,13 @@ func populateDebInfo(p *zoopb.Package) error { // SHA256 HASH p.DebInfo = new(zoopb.DebInfo) - hMD5 := md5.New() - hSHA1 := sha1.New() hSHA256 := sha256.New() + hMD5 := md5.New() // probably deprecate, but love md5sum too much + // hSHA1 := sha1.New() // deprecated // TeeReader allows writing to multiple hashers at once - multiWriter := io.MultiWriter(hMD5, hSHA1, hSHA256) + // multiWriter := io.MultiWriter(hMD5, hSHA1, hSHA256) + multiWriter := io.MultiWriter(hSHA256, hMD5) if _, err := io.Copy(multiWriter, filedata); err != nil { return err } @@ -58,7 +58,7 @@ func populateDebInfo(p *zoopb.Package) error { // p.DebInfo.SHA1 = fmt.Sprintf("%x", hSHA1.Sum(nil)) // deprecated // SHA256 HASH END - // PARSE "dpkg -I moon-buggy.deb", then exit as we are done + // PARSE "dpkg -I <p.Filename>", then exit as we are done starting := true all := strings.Join(r.Stdout, "\n") scanner := bufio.NewScanner(strings.NewReader(all)) |
