Whisper watches fixes

This commit is contained in:
obscuren
2014-12-16 19:55:57 +01:00
parent 93edae280d
commit 52b54631a4
6 changed files with 56 additions and 16 deletions

View File

@ -74,11 +74,13 @@ func (self *Envelope) Open(prv *ecdsa.PrivateKey) (msg *Message, err error) {
message.Flags = data[0]
message.Signature = data[1:66]
}
message.Payload = data[dataStart:]
payload := data[dataStart:]
if prv != nil {
message.Payload, err = crypto.Decrypt(prv, message.Payload)
message.Payload, err = crypto.Decrypt(prv, payload)
switch err {
case ecies.ErrInvalidPublicKey: // Payload isn't encrypted
message.Payload = payload
return &message, err
default:
return nil, fmt.Errorf("unable to open envelope. Decrypt failed: %v", err)