From a2d9bee9a9f0d768f23b5788647c32b8058e1816 Mon Sep 17 00:00:00 2001 From: Gustav Simonsson Date: Sun, 5 Apr 2015 19:31:18 +0200 Subject: [PATCH 1/2] Forward and log EC recover err and remove dup pubkey len check --- message.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/message.go b/message.go index 5d9e5b5..407cfb1 100644 --- a/message.go +++ b/message.go @@ -5,6 +5,7 @@ import ( "time" "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/logger/glog" ) type Message struct { @@ -32,7 +33,12 @@ func (self *Message) sign(key *ecdsa.PrivateKey) (err error) { func (self *Message) Recover() *ecdsa.PublicKey { defer func() { recover() }() // in case of invalid sig - return crypto.SigToPub(self.hash(), self.Signature) + pub, err := crypto.SigToPub(self.hash(), self.Signature) + if err != nil { + glog.V(0).Infof("Could not get pubkey from signature: ", err) + return nil + } + return pub } func (self *Message) Encrypt(to *ecdsa.PublicKey) (err error) { From e9bb24256184102c6853b35b6ced82f6f75bf66a Mon Sep 17 00:00:00 2001 From: Gustav Simonsson Date: Tue, 7 Apr 2015 12:48:13 +0200 Subject: [PATCH 2/2] Use logger.Error instead of 0 with glog --- message.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/message.go b/message.go index 407cfb1..ad6a1bc 100644 --- a/message.go +++ b/message.go @@ -5,6 +5,7 @@ import ( "time" "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger/glog" ) @@ -35,7 +36,7 @@ func (self *Message) Recover() *ecdsa.PublicKey { defer func() { recover() }() // in case of invalid sig pub, err := crypto.SigToPub(self.hash(), self.Signature) if err != nil { - glog.V(0).Infof("Could not get pubkey from signature: ", err) + glog.V(logger.Error).Infof("Could not get pubkey from signature: ", err) return nil } return pub