Commit Graph

261 Commits

Author SHA1 Message Date
kdeme 3bbe757fe3
Add record size check on init + add insertFieldPair call + tests 2020-07-07 17:19:15 +02:00
Jacek Sieka 484fbcab1b
use bearssl rng throughout (#265)
* use bearssl rng throughout

* seeder can fail

* imports and exports

* modules, sigh

* one more try

* move var

* even fewer thread vars

* remove out-of-date genrated files
2020-07-07 10:56:26 +02:00
kdeme ffb7923370
Use different try/except construct to enforce returning on error 2020-06-30 21:58:23 +02:00
kdeme 23aa13b03d
Return on getMessage failure and do address conversion afterwards 2020-06-30 15:33:33 +02:00
Kim De Mey 9a467225fb
Add routing table metrics + tweaks + fixes (#261)
- routing table metrics + option in dcli
- only forward "seen" nodes on a findNode request
- setJustSeen & replace on ping AND findnode
- self lookup only at start
- revalidate 10x more
- use bitsPerHop (b) of 5
- small fix in resolve
- small fix in bucket split
2020-06-30 13:35:15 +02:00
Kim De Mey 0d591c6423
Merge pull request #247 from status-im/routing-table
Routing table work
2020-06-24 22:29:41 +02:00
narimiran ebabd6f76d more fixes 2020-06-24 22:20:50 +02:00
Miran 0424a66aa2
fix deprecated 'rand' (#259) 2020-06-24 16:06:07 +02:00
kdeme e28f3f987c
routing table: resolve some TODOs 2020-06-24 12:29:59 +02:00
kdeme ba19465892
Functional replacement cache 2020-06-23 16:11:58 +02:00
kdeme ceb4a20463 Fix depth calculation for bucket splitting 2020-06-23 09:35:12 +02:00
kdeme 2d7b3440f2 make bitsPerHop configurable + add routing table tests 2020-06-23 09:35:12 +02:00
kdeme 6c85a48b4c Fix bucket ordering and add comments on this 2020-06-23 09:35:12 +02:00
kdeme 7e35b329b4 Add limit to the replacement cache 2020-06-23 09:35:12 +02:00
Jacek Sieka 61feae0f21
secp: requiresInit updates (#258)
* secp: requiresInit updates

* fixup!

* clean up mapconverts
2020-06-22 18:07:48 +02:00
jangko f85c8303ee add goerli bootnodes 2020-06-19 12:15:05 +03:00
Kim De Mey 225a9ad41c
Add predicate filter option for randomNodes (#251)
* Add predicate filter option for randomNodes

* Further ValidIpAddress fixes

* Add gcsafe/noSideEffect and add test case
2020-06-11 21:24:52 +02:00
kdeme 67decc3a85 Clear after aes encrypt/decrypt 2020-06-09 11:10:16 +02:00
kdeme 1e1fd70649 Metrics with labels 2020-06-09 11:10:16 +02:00
Kim De Mey 1c77cc1d3d
Fix discovery after introduction of ValidIpAddress (#248) 2020-06-09 11:09:35 +02:00
Zahary Karadjov 4e31a86533
IpAddress -> ValidIpAddress 2020-06-05 19:35:43 +03:00
kdeme 6dd820840a
Add simple auth header encode/decode test 2020-06-04 15:03:41 +02:00
kdeme 12627b34d3
Don't allow to use HandshareSecrets if auth response is invalid 2020-06-04 13:38:04 +02:00
kdeme 47602e634c
Add node id check and id-nonce-sig verification #204 2020-06-04 12:19:06 +02:00
kdeme 4276e713f4 Add argument pragma for ping and findnode target node 2020-06-03 16:08:15 +03:00
kdeme ff7bed9555 Add discoveryv5 debugging tool: dcli 2020-06-03 16:08:15 +03:00
kdeme d53cebcf5d Quickfix for local node without reachable address 2020-05-29 19:18:49 +03:00
Kim De Mey a110f091af
Discv5 eh2 (#240)
* Discv5: More error handling improvements

- More results usage and raises pragma annotations
- Remove ENode related code and adjust Node object
- Misc.

* Add sendMessage and catch RlpError when decoding WhoAreYou

* Make the receive proc exception free

Except for `Exception` hah...

* Address review comments

* And another bunch of results and raises annotations

* Send Nodes Message also on 0 nodes and remove usage of broken require
2020-05-28 10:19:36 +02:00
Zahary Karadjov ff546d27c3
Remove the last remains of gensym in the p2pProtocol DSL in order to get non-changing codegen 2020-05-25 19:41:20 +03:00
Zahary Karadjov 218192aa09
Allow LibP2P to break the ties with RLPx by allowing more natural RPC syntax
Integrate the Stew macro printer and use to store the generated code for Whisper
2020-05-24 01:10:00 +03:00
Jacek Sieka 9375ccc3a9
cleanup (#238) 2020-05-21 11:58:19 +02:00
Zahary Karadjov 53166fd1ff Allow overriding the request Result/Option type 2020-05-13 11:37:35 +03:00
Zahary Karadjov 631b6d5d15 Adapt to latest FastStreams API 2020-05-13 11:37:35 +03:00
kdeme 17586c05d7 Remove waku protocol from the repository 2020-05-07 20:49:00 +03:00
kdeme 887cbba563
discv5: Address review comments 2020-05-01 22:34:26 +02:00
kdeme 74df90e16d
discv5: further prepping for results error handling 2020-04-30 00:11:03 +02:00
kdeme 3a6d4336bc
Bunch of renames to use same nomenclature as spec 2020-04-27 14:13:00 +02:00
kdeme 09a127ef1b
Pass packet as decoding result 2020-04-24 16:52:41 +02:00
kdeme 5dec5c5a9b discv5 encoding: First steps to move to result based error handling 2020-04-24 15:51:04 +02:00
kdeme 0c6c4b969c Add comment about used routing table and FindNode call [skip ci] 2020-04-21 21:27:32 +02:00
kdeme 59ba3704d6 Add resolve proc + test 2020-04-21 21:27:32 +02:00
kdeme d3c9ccea67 Fix FindNode to return nodes with specific distance + tests 2020-04-21 21:27:32 +02:00
Kim De Mey 5bb6ee6451
Update waku to version 1.0 specification (#228) 2020-04-21 14:03:40 +02:00
Jacek Sieka fd6caa0fdc
Rlp experimental (#227)
* rlp: remove experimental features

* avoid range library

* trie: avoid reference-unsafe bitrange type
2020-04-20 20:14:39 +02:00
Jacek Sieka 1646d78d83
cleanups (#226) 2020-04-18 10:17:59 +02:00
Zahary Karadjov ee5c9619e0
Fix test_discoveryv5 2020-04-15 05:55:08 +03:00
Zahary Karadjov bac6248301
Remove the unnecessary initFuture in the LibP2P p2pProtocol back-end 2020-04-15 05:33:52 +03:00
Zahary Karadjov 6513cd9eff
Allow application-supplied ENR fields in discv5 2020-04-15 05:32:52 +03:00
Zahary Karadjov 8f3bf36054
Adapt to the latest FastStreams API 2020-04-14 19:33:49 +03:00
Kim De Mey 99c68d40f7
Fix idAtDistance (#219) 2020-04-14 11:08:08 +02:00