aboutsummaryrefslogtreecommitdiff
path: root/zhead/header.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-07-17 14:42:08 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-07-17 14:42:08 +0200
commita6ed0b51c8a04fbbc0bbf0aec4b0fdb20e52760d (patch)
tree7f02340f6629b575273fd4f02690792fe61810c2 /zhead/header.go
parent631d34ea85961e1b7a6eaa864ee2d91476cbe922 (diff)
Move
Diffstat (limited to 'zhead/header.go')
-rw-r--r--zhead/header.go71
1 files changed, 0 insertions, 71 deletions
diff --git a/zhead/header.go b/zhead/header.go
deleted file mode 100644
index c330b59..0000000
--- a/zhead/header.go
+++ /dev/null
@@ -1,71 +0,0 @@
-package zhead
-
-import (
- "bufio"
- "encoding/hex"
- "fmt"
- "io"
- "strconv"
- "strings"
- "time"
-)
-
-type Header struct {
- Date time.Time
- KeyFile string
- Alg string
- BlockSize int
- Sums [][]byte
-}
-
-const (
- DefaultAlg = "SHA512/256"
- DefaultBlockSize = 65536
-)
-
-func (h Header) Print(w io.Writer) error {
- fmt.Fprintf(w, "date=%v\n", h.Date.Format(time.RFC3339))
- fmt.Fprintf(w, "key=%v\n", h.KeyFile)
- fmt.Fprintf(w, "algorithm=%v\n", h.Alg)
- fmt.Fprintf(w, "blocksize=%v\n\n", h.BlockSize)
- for _, sum := range h.Sums {
- fmt.Fprintf(w, "%x\n", sum)
- }
- return nil
-}
-
-func Parse(r io.Reader) (Header, error) {
- var h Header
- s := bufio.NewScanner(r)
- for s.Scan() {
- line := s.Text()
- switch {
- case strings.HasPrefix(line, "date="):
- t, err := time.Parse(time.RFC3339, line[5:])
- if err != nil {
- return Header{}, err
- }
- h.Date = t
- case strings.HasPrefix(line, "key="):
- h.KeyFile = line[4:]
- case strings.HasPrefix(line, "algorithm="):
- h.Alg = line[10:]
- case strings.HasPrefix(line, "blocksize="):
- i, err := strconv.Atoi(line[10:])
- if err != nil {
- return Header{}, err
- }
- h.BlockSize = i
- case line == "":
- for s.Scan() {
- line = s.Text()
- sum, err := hex.DecodeString(line)
- if err != nil {
- return Header{}, err
- }
- h.Sums = append(h.Sums, sum)
- }
- }
- }
- return h, s.Err()
-}