From c48644490f039fb9756b4cd1fedf11fbb1c4a16f Mon Sep 17 00:00:00 2001 From: obscuren <geffobscura@gmail.com> Date: Fri, 30 Jan 2015 13:24:20 +0100 Subject: Fixed whisper pub key bug * Unrecoverable messages would cause segfault when recovering invalid pub key --- whisper/whisper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'whisper') diff --git a/whisper/whisper.go b/whisper/whisper.go index 76cfe34a4..8eab0825b 100644 --- a/whisper/whisper.go +++ b/whisper/whisper.go @@ -197,7 +197,7 @@ func (self *Whisper) add(envelope *Envelope) error { go self.postEvent(envelope) } - wlogger.DebugDetailln("added whisper message") + wlogger.DebugDetailf("added whisper envelope %x\n", envelope) return nil } -- cgit v1.2.3 From 623469cb6c6cdb6ff84dc2cb7d4409e9d7cf3f65 Mon Sep 17 00:00:00 2001 From: obscuren <geffobscura@gmail.com> Date: Tue, 3 Feb 2015 06:56:19 -0800 Subject: Added missing whisper timestamp. Closes #284 --- whisper/message.go | 1 + 1 file changed, 1 insertion(+) (limited to 'whisper') diff --git a/whisper/message.go b/whisper/message.go index bbad8e6a3..fa631b2ef 100644 --- a/whisper/message.go +++ b/whisper/message.go @@ -11,6 +11,7 @@ type Message struct { Flags byte Signature []byte Payload []byte + Sent uint64 } func NewMessage(payload []byte) *Message { -- cgit v1.2.3 From 7bd2fbe2b1445c26190008d21ad52dc5c364765c Mon Sep 17 00:00:00 2001 From: obscuren <geffobscura@gmail.com> Date: Tue, 3 Feb 2015 07:16:05 -0800 Subject: Fixed whisper "to" filtering. Closes #283 --- whisper/message.go | 4 ++-- whisper/whisper.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'whisper') diff --git a/whisper/message.go b/whisper/message.go index fa631b2ef..23b5cfb0e 100644 --- a/whisper/message.go +++ b/whisper/message.go @@ -11,11 +11,11 @@ type Message struct { Flags byte Signature []byte Payload []byte - Sent uint64 + Sent int64 } func NewMessage(payload []byte) *Message { - return &Message{Flags: 0, Payload: payload} + return &Message{Flags: 0, Payload: payload, Sent: time.Now().Unix()} } func (self *Message) hash() []byte { diff --git a/whisper/whisper.go b/whisper/whisper.go index 8eab0825b..cc0348422 100644 --- a/whisper/whisper.go +++ b/whisper/whisper.go @@ -269,7 +269,7 @@ func (self *Whisper) Protocol() p2p.Protocol { func createFilter(message *Message, topics [][]byte, key *ecdsa.PrivateKey) filter.Filter { return filter.Generic{ - Str1: string(crypto.FromECDSA(key)), Str2: string(crypto.FromECDSAPub(message.Recover())), + Str1: string(crypto.FromECDSAPub(&key.PublicKey)), Str2: string(crypto.FromECDSAPub(message.Recover())), Data: bytesToMap(topics), } } -- cgit v1.2.3 From e40c1c62ce0c2d9567066d84ea74fd24b424a81a Mon Sep 17 00:00:00 2001 From: obscuren <geffobscura@gmail.com> Date: Thu, 5 Feb 2015 15:00:59 -0800 Subject: API changed to use Pubkey only. Reflected that change in the rest of the api --- whisper/filter.go | 2 +- whisper/whisper.go | 2 +- whisper/whisper_test.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'whisper') diff --git a/whisper/filter.go b/whisper/filter.go index 4315aa556..b33f2c1a2 100644 --- a/whisper/filter.go +++ b/whisper/filter.go @@ -3,7 +3,7 @@ package whisper import "crypto/ecdsa" type Filter struct { - To *ecdsa.PrivateKey + To *ecdsa.PublicKey From *ecdsa.PublicKey Topics [][]byte Fn func(*Message) diff --git a/whisper/whisper.go b/whisper/whisper.go index cc0348422..57c898303 100644 --- a/whisper/whisper.go +++ b/whisper/whisper.go @@ -118,7 +118,7 @@ func (self *Whisper) GetIdentity(key *ecdsa.PublicKey) *ecdsa.PrivateKey { func (self *Whisper) Watch(opts Filter) int { return self.filters.Install(filter.Generic{ - Str1: string(crypto.FromECDSA(opts.To)), + Str1: string(crypto.FromECDSAPub(opts.To)), Str2: string(crypto.FromECDSAPub(opts.From)), Data: bytesToMap(opts.Topics), Fn: func(data interface{}) { diff --git a/whisper/whisper_test.go b/whisper/whisper_test.go index c5ad73021..3e3945a0a 100644 --- a/whisper/whisper_test.go +++ b/whisper/whisper_test.go @@ -11,7 +11,7 @@ func TestEvent(t *testing.T) { whisper := New() id := whisper.NewIdentity() whisper.Watch(Filter{ - To: id, + To: &id.PublicKey, Fn: func(msg *Message) { res <- msg }, -- cgit v1.2.3 From ddccea75e8f4931689fdf6b57ec7159b65c0d3c5 Mon Sep 17 00:00:00 2001 From: obscuren <geffobscura@gmail.com> Date: Tue, 10 Feb 2015 13:20:06 +0100 Subject: Fixed "to" field --- whisper/message.go | 2 ++ whisper/whisper.go | 2 ++ 2 files changed, 4 insertions(+) (limited to 'whisper') diff --git a/whisper/message.go b/whisper/message.go index 23b5cfb0e..5d9e5b5c1 100644 --- a/whisper/message.go +++ b/whisper/message.go @@ -12,6 +12,8 @@ type Message struct { Signature []byte Payload []byte Sent int64 + + To *ecdsa.PublicKey } func NewMessage(payload []byte) *Message { diff --git a/whisper/whisper.go b/whisper/whisper.go index 57c898303..066f2c4ea 100644 --- a/whisper/whisper.go +++ b/whisper/whisper.go @@ -256,6 +256,8 @@ func (self *Whisper) postEvent(envelope *Envelope) { func (self *Whisper) open(envelope *Envelope) (*Message, *ecdsa.PrivateKey) { for _, key := range self.keys { if message, err := envelope.Open(key); err == nil || (err != nil && err == ecies.ErrInvalidPublicKey) { + message.To = &key.PublicKey + return message, key } } -- cgit v1.2.3