Commit Graph

218 Commits

Author SHA1 Message Date
gluk256 11539030cd whisper: expiry refactoring (#3706) 2017-02-23 18:46:32 +01:00
Péter Szilágyi 1ca20a2697
cmd, whisper/mailserver: revert to utils.Fatalf 2017-02-23 12:16:46 +02:00
Péter Szilágyi d4fd06c3dc
all: blidly swap out glog to our log15, logs need rework 2017-02-23 12:16:44 +02:00
gluk256 29fac7de44 Whisper API fixed (#3687)
* whisper: wnode updated for tests with geth

* whisper: updated processing of incoming messages

* whisper: symmetric encryption updated

* whisper: filter id type changed to enhance security

* whisper: allow filter without topic for asymmetric encryption

* whisper: POW updated

* whisper: logging updated

* whisper: spellchecker update

* whisper: error handling changed

* whisper: JSON field names fixed
2017-02-23 09:41:47 +01:00
Felix Lange 9b0af51386 crypto: add btcec fallback for sign/recover without cgo (#3680)
* vendor: add github.com/btcsuite/btcd/btcec

* crypto: add btcec fallback for sign/recover without cgo

This commit adds a non-cgo fallback implementation of secp256k1
operations.

* crypto, core/vm: remove wrappers for sha256, ripemd160
2017-02-18 09:24:12 +01:00
gluk256 15a609d5d6 whisper: interface changed to simplify the transition to v5
* whisper: mailserver test introduced, refactoring

* whisper: validation test updated

* whisper: max number of peers fixed

* whisper: verification bug fixed

* whisper: esthetic fix

* whisper: interface changed to simplify the transition to v5

* whisper: preparation for version switch
2017-02-14 16:44:47 +02:00
gluk256 65ed6a9def whisper: add tests for mailserver (#3631) 2017-02-13 13:15:20 +01:00
gluk256 690f6ea1d7 cmd/wnode, whisper: add whisper CLI tool and mail server (#3580) 2017-01-31 11:16:20 +01:00
Felix Lange b9b3efb09f all: fix ineffectual assignments and remove uses of crypto.Sha3
go get github.com/gordonklaus/ineffassign
ineffassign .
2017-01-09 16:24:42 +01:00
Péter Szilágyi 18c77744ff
all: fix spelling errors 2017-01-06 19:44:35 +02:00
Felix Lange f2da6581ba all: fix issues reported by honnef.co/go/simple/cmd/gosimple 2017-01-06 18:18:07 +01:00
Felix Lange 35a7dcb162 all: gofmt -w -s 2017-01-06 15:52:03 +01:00
Felix Lange cf71f5cd60 rpc: remove HexNumber, replace all uses with hexutil types
This change couldn't be automated because HexNumber was used for numbers
of all sizes.
2016-12-20 14:41:58 +01:00
Felix Lange adab2e16bd rpc: remove HexBytes, replace all uses with hexutil.Bytes 2016-12-20 14:35:26 +01:00
gluk256 ba996f5e27 whisper: refactoring (#3411)
* whisper: refactored message processing
* whisper: final polishing
* whisper: logging updated
* whisper: moved the check, changed the default PoW
* whisper: refactoring of message queuing
* whisper: refactored parameters
2016-12-20 00:58:01 +01:00
gluk256 2dcf75a722 whisper/shhapi, whisper/whisperv5: refactoring (#3364)
* Filter refactoring
* API tests added + bugfix
* fixed the error logs
* FilterID fixed
* test cases fixed
* key generation updated
* POW updated
* got rid of redundant stuff
2016-12-01 20:09:22 +01:00
gluk256 79789af2e7 whisper: project restructured, version 5 introduced (#3022)
whisper: project restructured, version 5 introduced

This commits adds a draft version of the new shh v5 protocol.
The new version is not on by default, --shh still selects version 2.
2016-10-29 14:11:37 +02:00
Felix Lange 6197fbf8d7 Merge pull request #2458 from fjl/go-vet
all: fix go vet warnings
2016-04-15 13:45:15 +02:00
Felix Lange 3a5bdef962 whisper: deflake Test*MessageExpiration
These tests have become a common annoyance on CI. Fix them by allowing
messages with expiration == now into the cache and delaying the check
for expired message handling slightly.
2016-04-15 13:28:46 +02:00
Felix Lange 6fdd0893c3 all: fix go vet warnings 2016-04-15 11:17:27 +02:00
Felix Lange d04a2e7557 all: update license information 2016-04-15 09:48:05 +02:00
Bas van Kervel aa9fff3e68 rpc: various fixes/enhancements
rpc: be less restrictive on the request id
rpc: improved documentation
console: upgrade web3.js to version 0.16.0
rpc: cache http connections
rpc: rename wsDomains parameter to wsOrigins
2016-04-12 11:02:39 +02:00
Ricardo Catalinas Jiménez 436fc8d76a all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()
As we aren't really using the standarized SHA-3
2016-02-21 22:34:34 +00:00
Bas van Kervel 19b2640e89 rpc: migrated the RPC insterface to a new reflection based RPC layer 2016-01-26 13:51:50 +01:00
Felix Lange fa187a366d Merge pull request #2035 from bas-vk/rcp-v2-rebase
rpc: new RPC implementation with pub/sub support
2015-12-14 17:38:10 +01:00
Bas van Kervel eae81465c1 rpc: new RPC implementation with pub/sub support 2015-12-14 16:34:05 +01:00
Gustav Simonsson c8ad64f33c crypto, crypto/ecies, crypto/secp256k1: libsecp256k1 scalar mult
thanks to Felix Lange (fjl) for help with design & impl
2015-11-30 13:43:32 +01:00
Péter Szilágyi 1e806c4c77 cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacks 2015-11-27 11:06:12 +02:00
Jeffrey Wilcke 5f0a4416db whisper: fixed broadcast race
Whisper's expire and broadcast loops happen in two separate go routines.
Whenever an envelope is being expired it's removed from the set of
envelopes and it looses all information about the envelope, including
the "known hash". After the envelope has been removed it can be
re-accepted by a broadcasting peer putting back the envelope in the set
of envelopes. Since the envelope broadcast loop is separate of the
expire loop expired messages may be broadcast to other peer, resulting
in messages **never** being dropped.

This PR includes an expire check before adding new messages to the set
of envelopes.
2015-11-25 12:10:47 +01:00
Péter Szilágyi 60e0abb595 whisper: fix datarace in expiration test 2015-11-05 13:36:25 +02:00
Felix Lange bfbcfbe4a9 all: fix license headers one more time
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange 3f047be5aa all: update license headers to distiguish GPL/LGPL
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange ea54283b30 all: update license information 2015-07-07 14:12:44 +02:00
Felix Lange 6a2fec5309 p2p, whisper: use glog for peer-level logging 2015-05-06 23:19:14 +02:00
Péter Szilágyi 2b9fd6b40a whisper: add full filter test suite 2015-04-28 10:49:05 +03:00
Péter Szilágyi 406e74e2af whisper: fix a small data race duirng peer connection 2015-04-28 10:49:05 +03:00
Péter Szilágyi db615a85ec ui/qt/qwhisper, whisper, xeth: polish topic filter, fix wildcards 2015-04-28 10:49:04 +03:00
Péter Szilágyi ae4bfc3cfb rpc, ui/qt/qwhisper, whisper, xeth: introduce complex topic filters 2015-04-28 10:49:04 +03:00
Péter Szilágyi 15586368e5 whisper: fix spurious From identity with untargeted messages 2015-04-28 10:49:04 +03:00
Péter Szilágyi 87447f9f3f whisper: fix payload loss in case of plaintext decrypt 2015-04-28 10:49:04 +03:00
Péter Szilágyi 7f48eb8737 whisper, xeth/whisper: surface TTL and hash to the API 2015-04-28 10:49:04 +03:00
Péter Szilágyi 7948cc0029 rpc, whisper, xeth: fix RPC message retrieval data race 2015-04-28 10:47:35 +03:00
Péter Szilágyi 5aa523e32b whisper: fix send timestamp omission during envelope opening 2015-04-28 10:47:35 +03:00
Péter Szilágyi 3563c59b12 rpc, whisper, xeth: polish whisper RPC interface 2015-04-28 10:47:35 +03:00
Felix Lange 509d0a8d78 whisper: fix comment for rlpenv 2015-04-17 14:45:09 +02:00
Felix Lange 56a48101dc cmd/rlpdump, cmd/utils, eth, p2p, whisper: use rlp input limit 2015-04-17 14:45:09 +02:00
Péter Szilágyi 4afc22ba6e whisper: cleanup lefover scoping 2015-04-17 14:11:46 +03:00
Péter Szilágyi bd14bd6c5b whisper: hide some internal types 2015-04-17 13:25:18 +03:00
Péter Szilágyi e5a03eb066 whisper: don't issue signature warning if none present 2015-04-16 18:24:39 +03:00
Péter Szilágyi e5e91e9eb3 whisper: track active peers, add peer cache expiry test 2015-04-16 13:05:35 +03:00
Péter Szilágyi ee6531c5ff whisper: remove dead code, rename a few constants 2015-04-16 11:20:01 +03:00
Péter Szilágyi 6ceb253f74 whisper: use async handshakes to handle blocking peers 2015-04-15 13:01:22 +03:00
Péter Szilágyi 46ea193a49 whisper: remove some unneeded testing complexity 2015-04-15 12:50:10 +03:00
Péter Szilágyi bcf41797ca whisper: global message expiration tests, polishes 2015-04-15 10:50:31 +03:00
Péter Szilágyi 4fb7ab5d09 whisper: mock tests to use simulated peers 2015-04-14 19:00:57 +03:00
Péter Szilágyi 86372b20c0 whisper: add basic tests for the whiper peers 2015-04-14 18:21:56 +03:00
Péter Szilágyi f6efdd8aad whisper: shorten constants to TTL and PoW 2015-04-14 15:16:02 +03:00
Péter Szilágyi 1a4cfc173e whisper, xeth/whisper, ui/qt/qwhispe: fix API polish breakages 2015-04-14 15:02:31 +03:00
Péter Szilágyi e2b7498c9d whisper: add known message expiration to peers, cleanup 2015-04-14 14:28:59 +03:00
Péter Szilágyi 59bff46505 whisper: general cleanups, documentation 2015-04-14 13:24:43 +03:00
Péter Szilágyi 5205b2f19b whisper: fix anonymous broadcast drop, add broadcast tests 2015-04-14 12:12:47 +03:00
Péter Szilágyi 4af7743663 whisper: add utility functions for creating topics 2015-04-14 11:12:09 +03:00
Péter Szilágyi cb707ba50c whisper: push work in progress for bug report 2015-04-13 16:19:34 +03:00
Péter Szilágyi 89358d25a4 whisper: start adding integration tests 2015-04-13 13:15:01 +03:00
Péter Szilágyi 9a53390f49 whisper: clean up and integrate topics 2015-04-13 12:16:51 +03:00
Péter Szilágyi 7b501906db whisper: separate out magic number from the code 2015-04-13 11:31:51 +03:00
Péter Szilágyi 5467e7b312 whisper: fix comment entity capitalizations 2015-04-12 14:34:53 +03:00
Péter Szilágyi 0e4f21fc37 whisper: polish the Envelope a bit, prep for tests. 2015-04-10 16:52:01 +03:00
Péter Szilágyi 7d8ce53eca whisper: polish the messages, fix some bugs, tests
Bugs fixed:
  - Use randomly generated flags as the spec required.
  - During envelope opening check the first bit only for signature.
2015-04-10 15:53:21 +03:00
Péter Szilágyi 7e54a9c07f whisper: rename test file according to Go style 2015-04-10 13:46:08 +03:00
Péter Szilágyi a4c8e947b0 whisper: make the test app runnable & do something inside 2015-04-10 13:42:49 +03:00
Jeffrey Wilcke 758205b187 Merge pull request #648 from Gustav-Simonsson/forward_ecrecover_err_and_remove_dup_checks
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 20:48:56 +02:00
obscuren 688d118c7e Updated logging 2015-04-07 14:57:04 +02:00
Gustav Simonsson 2591883a18 Use logger.Error instead of 0 with glog 2015-04-07 12:48:19 +02:00
Gustav Simonsson 3f306f63d4 Forward and log EC recover err and remove dup pubkey len check 2015-04-07 12:48:19 +02:00
obscuren 1889727144 Moved logging to logger.Core 2015-04-04 13:24:01 +02:00
Taylor Gerring c956bcb13c Move version to const and expose via Version() 2015-03-25 12:08:48 +01:00
Felix Lange 069c87b960 whisper: use common.Hash 2015-03-21 00:57:18 +01:00
Felix Lange 483d43a15a whisper: use package rlp 2015-03-21 00:49:58 +01:00
Felix Lange e80dda6051 eth, whisper: adapt for RLP encoder switch in package p2p
I have rewritten the protocol test to use p2p.MsgPipe because
p2p.NewMsg is gone.
2015-03-19 15:18:31 +01:00
Taylor Gerring fe819f3b9f Comment out whisper remove identity stubs 2015-03-17 09:11:01 -04:00
Taylor Gerring 03ac0f18ae Initial support to remove Whisper identities per #491 2015-03-16 14:46:46 -04:00
obscuren b523441361 Moved ethutil => common 2015-03-16 11:27:38 +01:00
obscuren eba4f389a6 don't log whisper start ups 2015-03-10 22:43:07 +01:00
Felix Lange 6e7e5d5fd5 eth, whisper: fix msg.Payload reads 2015-03-04 13:25:01 +01:00
obscuren b2a225a52e Properly uninstall filters. Mining issue fixed #closes #365
* Added an additional tx state which is used to get the current nonce
* Refresh transient state each time a new canonical block is found
* Properly uninstall filters. Fixes a possible crash in RPC
2015-02-23 15:43:41 +01:00
obscuren 84f7c966f7 Moved ECIES to repo & added secondary title for webview
* ECIES moved from obscuren to ethereum
* Added html META[name=badge] to reflect menuItem.secondaryTitle
2015-02-14 00:25:47 +01:00
obscuren ddccea75e8 Fixed "to" field 2015-02-10 13:20:06 +01:00
obscuren e40c1c62ce API changed to use Pubkey only. Reflected that change in the rest of the api 2015-02-05 15:00:59 -08:00
obscuren 7bd2fbe2b1 Fixed whisper "to" filtering. Closes #283 2015-02-03 07:16:05 -08:00
obscuren 623469cb6c Added missing whisper timestamp. Closes #284 2015-02-03 06:56:19 -08:00
obscuren c48644490f Fixed whisper pub key bug
* Unrecoverable messages would cause segfault when recovering invalid
  pub key
2015-01-30 13:24:20 +01:00
obscuren b777d6aa3f UI Updates
* Browser now has tabs
* Fixed a callback issue
2015-01-22 12:35:31 +01:00
obscuren 67f9783e6a Moved `obscuren` secp256k1-go 2015-01-22 00:35:00 +01:00
obscuren 87f50659db fixed url bug in browser 2015-01-20 18:42:29 +01:00
obscuren 62e0e18030 Changed public whisper api not to reveal temporary private keys 2015-01-14 18:12:18 +01:00
obscuren e3cad04dec Fixed whisper messages
* Whisper protocol wasn't properly suppling envelope slices
* Message history wasn't properly propagated
* Added 'Messages' method, filtering any current envelope with the
  supplied filter.
2015-01-13 13:36:44 +01:00
obscuren 34689cb3f3 Added manual triggering of filters 2015-01-12 20:36:45 +01:00
obscuren c9f566269b merged 2015-01-09 13:28:48 +01:00
obscuren c8a4c04b36 err 2015-01-08 23:15:46 +01:00
obscuren 26f066f0c7 just enable by default 2015-01-08 22:18:23 +01:00
obscuren 4a0ade4788 Fixed some whisper issues 2015-01-08 21:41:32 +01:00
obscuren e2d1d832ef added nil check 2015-01-02 13:00:25 +01:00
obscuren 4051c0333f Added whisper js api 2014-12-22 13:23:11 +01:00
obscuren 52b54631a4 Whisper watches fixes 2014-12-16 19:55:57 +01:00
obscuren 93edae280d doc desc 2014-12-15 22:50:38 +01:00
obscuren b55fabc7be Removed debug message 2014-12-15 22:18:58 +01:00
obscuren 54605d8c8e During env open check for pub error which indicated unencrypted payload. 2014-12-15 21:55:00 +01:00
obscuren 01a6db9324 Added whisper debug interface + whisper fixes 2014-12-15 17:14:02 +01:00
obscuren db89c3e1a3 Merge branch 'develop' into poc8 2014-12-15 16:13:08 +01:00
obscuren ef4135eabe Added topic utility functions to whisper 2014-12-15 16:12:34 +01:00
obscuren afc8b887ab added whisper 2014-12-15 12:01:55 +01:00
obscuren a17a1f9208 Implemented watching using filter package
* Added filters / watches
* Removed event dep
2014-12-12 22:23:42 +01:00
obscuren dda778eda7 Updated whisper messages to new crypto api + added tests 2014-12-10 14:17:32 +01:00
obscuren 984c7e6689 Added encryption for messages better API for sealing messages 2014-12-10 00:03:50 +01:00
obscuren 76842b0df8 Additional checks and debug output 2014-12-08 14:25:52 +01:00
obscuren e3a8412df3 Proper start/stoping wpeers 2014-12-08 13:16:50 +01:00
obscuren ebe2d9d872 First draft of Whisper messages relaying 2014-12-08 12:43:33 +01:00