vom: move magicbyte handling into encode/decode.
* move magicbyte handling into encode/decode and change
New{Encoder,Decoder} API to no return error any more.
MultiPart: 2/3
Change-Id: I9ceef311128c4b422494d4cd7929bfc1e420508f
diff --git a/lib/security/serialization/signing_writer.go b/lib/security/serialization/signing_writer.go
index 840f6cb..93245d7 100644
--- a/lib/security/serialization/signing_writer.go
+++ b/lib/security/serialization/signing_writer.go
@@ -17,9 +17,8 @@
)
var (
- errCantBeNilSigner = verror.Register(pkgPath+".errCantBeNilSigner", verror.NoRetry, "{1:}{2:} data:{3} signature:{4} signer:{5} cannot be nil{:_}")
- errCantCreateEncoder = verror.Register(pkgPath+".errCantCreateEncoder", verror.NoRetry, "{1:}{2:} failed to create new encoder{:_}")
- errCantSign = verror.Register(pkgPath+".errCantSign", verror.NoRetry, "{1:}{2:} signing failed{:_}")
+ errCantBeNilSigner = verror.Register(pkgPath+".errCantBeNilSigner", verror.NoRetry, "{1:}{2:} data:{3} signature:{4} signer:{5} cannot be nil{:_}")
+ errCantSign = verror.Register(pkgPath+".errCantSign", verror.NoRetry, "{1:}{2:} signing failed{:_}")
)
const defaultChunkSizeBytes = 1 << 20
@@ -98,10 +97,7 @@
if (data == nil) || (signature == nil) || (s == nil) {
return nil, verror.New(errCantBeNilSigner, nil, data, signature, s)
}
- enc, err := vom.NewEncoder(signature)
- if err != nil {
- return nil, verror.New(errCantCreateEncoder, nil, err)
- }
+ enc := vom.NewEncoder(signature)
w := &signingWriter{data: data, signature: signature, signer: s, signatureHash: sha256.New(), chunkSizeBytes: defaultChunkSizeBytes, sigEnc: enc}
if opts != nil {
diff --git a/lib/security/serialization/verifying_reader.go b/lib/security/serialization/verifying_reader.go
index 28c736a..5427009 100644
--- a/lib/security/serialization/verifying_reader.go
+++ b/lib/security/serialization/verifying_reader.go
@@ -21,7 +21,6 @@
var (
errCantBeNilVerifier = verror.Register(pkgPath+".errCantBeNilVerifier", verror.NoRetry, "{1:}{2:} data:{3} signature:{4} key:{5} cannot be nil{:_}")
errModifiedSinceWritten = verror.Register(pkgPath+".errModifiedSinceWritten", verror.NoRetry, "{1:}{2:} data has been modified since being written{:_}")
- errCantCreateDecoder = verror.Register(pkgPath+".errCantCreateDecoder", verror.NoRetry, "{1:}{2:} failed to create new decoder{:_}")
errCantDecodeHeader = verror.Register(pkgPath+".errCantDecodeHeader", verror.NoRetry, "{1:}{2:} failed to decode header{:_}")
errCantVerifySig = verror.Register(pkgPath+".errCantVerifySig", verror.NoRetry, "{1:}{2:} signature verification failed{:_}")
errBadTypeFromSigReader = verror.Register(pkgPath+".errBadTypeFromSigReader", verror.NoRetry, "{1:}{2:} invalid data of type: {3} read from signature Reader{:_}")
@@ -93,10 +92,7 @@
func (r *verifyingReader) verifySignature(signature io.Reader, key security.PublicKey) error {
signatureHash := sha256.New()
- dec, err := vom.NewDecoder(signature)
- if err != nil {
- return verror.New(errCantCreateDecoder, nil, err)
- }
+ dec := vom.NewDecoder(signature)
var h SignedHeader
if err := dec.Decode(&h); err != nil {
return verror.New(errCantDecodeHeader, nil, err)
diff --git a/lib/security/storage.go b/lib/security/storage.go
index 1690c91..07058f3 100644
--- a/lib/security/storage.go
+++ b/lib/security/storage.go
@@ -25,11 +25,7 @@
if err != nil {
return err
}
- enc, err := vom.NewEncoder(swc)
- if err != nil {
- swc.Close()
- return err
- }
+ enc := vom.NewEncoder(swc)
if err := enc.Encode(obj); err != nil {
swc.Close()
return err
@@ -47,9 +43,6 @@
if err != nil {
return err
}
- dec, err := vom.NewDecoder(vr)
- if err != nil {
- return err
- }
+ dec := vom.NewDecoder(vr)
return dec.Decode(obj)
}