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