aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--file/file.go33
1 files changed, 16 insertions, 17 deletions
diff --git a/file/file.go b/file/file.go
index 99250b9..b55111f 100644
--- a/file/file.go
+++ b/file/file.go
@@ -12,6 +12,13 @@ import (
"strings"
)
+const (
+ EncMode os.FileMode = 0600
+ PubMode os.FileMode = 0644
+ SigMode os.FileMode = 0644
+ untrusted = "untrusted comment:"
+)
+
var ErrComment = errors.New("expected untrusted comment")
// Block represents a encoded signify key or signature
@@ -26,8 +33,6 @@ type Block struct {
Message []byte // TODO replace with io.Reader
}
-const untrusted = "untrusted comment:"
-
func Encode(w io.Writer, b *Block) error {
fmt.Fprintln(w, untrusted, b.Comment)
fmt.Fprintln(w, base64.StdEncoding.EncodeToString(b.Bytes))
@@ -41,6 +46,15 @@ func EncodeToMemory(b *Block) []byte {
return buf.Bytes()
}
+func EncodeFile(fname string, perm os.FileMode, b *Block) error {
+ fd, err := os.OpenFile(fname, os.O_WRONLY|os.O_CREATE|os.O_EXCL, perm)
+ if err != nil {
+ return err
+ }
+ defer fd.Close()
+ return Encode(fd, b)
+}
+
func Decode(data []byte) (*Block, error) {
r := bytes.NewBuffer(data)
comment, err := r.ReadString('\n')
@@ -76,18 +90,3 @@ func DecodeFile(fname string) (*Block, error) {
}
return Decode(body)
}
-
-const (
- EncMode os.FileMode = 0600
- PubMode os.FileMode = 0644
- SigMode os.FileMode = 0644
-)
-
-func EncodeFile(fname string, perm os.FileMode, b *Block) error {
- fd, err := os.OpenFile(fname, os.O_WRONLY|os.O_CREATE|os.O_EXCL, perm)
- if err != nil {
- return err
- }
- defer fd.Close()
- return Encode(fd, b)
-}