13 Commits

Author SHA1 Message Date
Dmitry Shulyak
3a4601b568
Receiver notifies sender with reasons for discarding envelopes (#23)
* Receiver notifies sender with reasons for discarding envelopes

On a sender side we want to know if some messages were discarded. For this
purpose new message type was added - messagesResponse. This message type is versioned,
in order to make it easier transition to new message response, if we will want to extend it in near
future.

The response itself is formed from hash of envelopes received in a single batch, and errors
during processing of envelopes. Each error has a code and description, the reason for adding a code
is to provide some kind of user-friendly description to a client explaining why certain envelopes
were not yet delivered. Description will be simply logged on a sender side.

The followup for this change will be an extention on status-go side that will send particular envelope
errors to a client (e.g. status-react).

* Store errors as array and cover new changes with tests
2019-03-26 10:15:16 +02:00
Adam Babik
27e2442271
add request validation for mail sync (#14) 2018-12-11 09:22:16 +01:00
Adam Babik
6e5af097a1
add opcodes to sync messages (#13)
Two opcodes were introduced p2pSyncRequestCode and p2pSyncResponseCode. MailServer interface got extended with SyncMail(*Peer, SyncMailRequest) error.

There are no breaking changes.
2018-12-06 09:33:58 +01:00
Dmitry
76c2447643 Extend whisper protocol with confirmations and add necessary events 2018-11-26 09:32:41 +02:00
Dmitry
07151c8376 Apply mail server completion response 2018-10-01 11:10:11 +03:00
b00ris
e28f4af720 whisper: remove unused error (#17315) 2018-08-07 15:16:56 +02:00
Vlad
31f7f7af81 whisper: topics replaced by bloom filters 2018-03-01 16:04:09 +01:00
gluk256
05ab15d98c whisper: change the whisper message format so as to add the payload size (#15870)
* whisper: message format changed

* whisper: tests fixed

* whisper: style fixes

* whisper: fixed names, fixed failing tests

* whisper: fix merge issue in #15870

Occured while using the github online merge tool. Lesson learned.

* whisper: fix a gofmt error for #15870
2018-01-30 10:55:08 +02:00
Guillaume Ballet
188304c519 whisper: remove linter warnings (#15972)
* whisper: fixes warnings from the code linter

* whisper: more non-API-breaking changes

The remaining lint errors are because of auto-generated
files and one is because an exported function has a non-
exported return type. Changing this would break the API,
and will be part of another commit for easier reversal.

* whisper: un-export NewSentMessage to please the linter

This is an API change, which is why it's in its own commit.
This change was initiated after the linter complained that
the returned type wasn't exported. I chose to un-export
the function instead of exporting the type, because that
type is an implementation detail that I would like to
change in the near future to make the code more
readable and with an increased coverage.

* whisper: update gencodec output after upgrading it to new lint standards
2018-01-26 13:45:10 +02:00
gluk256
b45285c479 whisper/whisperv6: implement pow/bloom exchange protocol (#15802)
This is the main feature of v6.
2018-01-12 12:11:22 +01:00
gluk256
78926a3c9a whisper/whisperv6: PoW requirement (#15701)
New Whisper-level message introduced (PoW requirement),
corresponding logic added, plus some tests.
2017-12-21 15:17:27 +01:00
Guillaume Ballet
06253f58e8 whisper/whisperv6: remove aesnonce (#15578)
As per EIP-627, the salt for symmetric encryption is now
part of the payload. This commit does that.
2017-12-08 11:40:59 +01:00
gluk256
5772f810f7 whisper/whisperv6: initial commit (clone of v5) (#15324) 2017-11-03 21:29:49 +01:00