277 Commits

Author SHA1 Message Date
kdeme
84fd39a8f8
Update enrs in buckets and replacement caches and fix empty ENR list in AuthResponse 2020-07-17 11:14:08 +02:00
kdeme
c7ac9f54b3
Refactor the findNode code + add tests 2020-07-15 15:27:22 +02:00
kdeme
33f72e77bc
Add duplicate and distance checks in Nodes message 2020-07-15 11:15:50 +02:00
Kim De Mey
7febbec673
Use brHmacDrbgGenerate for all random operations in discovery (#272) 2020-07-13 14:34:53 +02:00
Kim De Mey
f3de959261
Discv5 readme (#278)
* Add discovery v5 readme + test_discv5 task

* Move hkdf tests to test file and add to nimble task
2020-07-12 23:53:27 +02:00
Kim De Mey
0888667ac0
Comments and cleanup (#276)
* Fix dcli + add more comments

* Fix pong enr sequence number + varia cleanup

* Send randomData in case no handshake was done yet. Fix #277
2020-07-12 17:25:18 +02:00
Kim De Mey
28a8d52308
Fix enr deserialization crash + more tests + fuzz test (#274)
* Fix enr deserialization crash + more tests + fuzz test

* CI: Install depsOnly
2020-07-11 01:28:53 +02:00
Eugene Kabanov
e64efc5dbb
Fix LSWAP problem. (#275) 2020-07-10 23:30:34 +02:00
Kim De Mey
7f77ba2308
Fix formatFloat issue (#273) 2020-07-10 14:17:06 +02:00
kdeme
eeb958e834
Add comments [skip ci] 2020-07-08 14:56:56 +02:00
kdeme
4f3df3c9b2
Change update back to use var parameter of Record 2020-07-08 14:28:54 +02:00
kdeme
d3db83fa0a
Extra test on newProtocol 2020-07-08 13:16:07 +02:00
kdeme
95a09fdf7f
Get rid of some duplicate code 2020-07-08 12:14:00 +02:00
kdeme
0fb21e72d7
Add updateEnr and allow for table constructor usage in newProtocol 2020-07-08 11:45:58 +02:00
kdeme
72420d7f17
Allow for passing in previous enr at discovery protocol creation 2020-07-07 23:39:32 +02:00
kdeme
57302fcf52
Allow for multiple enr fields to be inserted + enr update proc 2020-07-07 22:48:26 +02:00
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