diff options
| author | Jakob Unterwurzacher | 2017-05-25 14:18:44 +0200 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2017-05-25 14:18:44 +0200 | 
| commit | c0e411f81d01607fa59338365933232231738581 (patch) | |
| tree | 2669ce4f9a5323119860e501c97eaf11f35f6e83 /internal/contentenc | |
| parent | 70c16fde4c908414f6af53c3193a89fa296ef732 (diff) | |
contentenc: better error reporting in ParseHeader
Log the message ourselves and return EINVAL.
Before:
	gocryptfs[26962]: go-fuse: can't convert error type: ParseHeader: invalid version: got 0, want 2
After:
	gocryptfs[617]: ParseHeader: invalid version: want 2, got 0. Returning EINVAL.
Diffstat (limited to 'internal/contentenc')
| -rw-r--r-- | internal/contentenc/file_header.go | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/internal/contentenc/file_header.go b/internal/contentenc/file_header.go index 5c05818..8a08ef0 100644 --- a/internal/contentenc/file_header.go +++ b/internal/contentenc/file_header.go @@ -6,10 +6,11 @@ package contentenc  import (  	"encoding/binary" -	"fmt"  	"log" +	"syscall"  	"github.com/rfjakob/gocryptfs/internal/cryptocore" +	"github.com/rfjakob/gocryptfs/internal/tlog"  )  const ( @@ -43,12 +44,14 @@ func (h *FileHeader) Pack() []byte {  // ParseHeader - parse "buf" into fileHeader object  func ParseHeader(buf []byte) (*FileHeader, error) {  	if len(buf) != HeaderLen { -		return nil, fmt.Errorf("ParseHeader: invalid length: got %d, want %d", len(buf), HeaderLen) +		tlog.Warn.Printf("ParseHeader: invalid length: want %d bytes, got %d. Returning EINVAL.", HeaderLen, len(buf)) +		return nil, syscall.EINVAL  	}  	var h FileHeader  	h.Version = binary.BigEndian.Uint16(buf[0:headerVersionLen])  	if h.Version != CurrentVersion { -		return nil, fmt.Errorf("ParseHeader: invalid version: got %d, want %d", h.Version, CurrentVersion) +		tlog.Warn.Printf("ParseHeader: invalid version: want %d, got %d. Returning EINVAL.", CurrentVersion, h.Version) +		return nil, syscall.EINVAL  	}  	h.ID = buf[headerVersionLen:]  	return &h, nil | 
