Commit Graph

174 Commits

Author SHA1 Message Date
jangko 7afa22cf41
add scrypt kdf to keyfile and implement test for it 2020-07-27 19:34:36 +07:00
Kim De Mey 38bf21b4f7
Update fuzzing readme.md 2020-07-21 10:58:14 +02:00
kdeme f0638eb3f1
Add rlp_decode fuzz test + some corpus generate code 2020-07-20 17:09:15 +02:00
kdeme 4e4836a0fe
Add discv5 fuzzing test targets 2020-07-20 14:17:44 +02:00
kdeme ec260dcfe4
Add & update tests 2020-07-17 22:48:14 +02:00
kdeme 1eae8f93f9
Fix empty ENR list in auth-response properly + potentially request new ENR on revalidation 2020-07-17 16:18:50 +02:00
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
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 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
Kim De Mey 8d2614a1ad
Merge pull request #266 from status-im/enr-update
Enr updating
2020-07-09 17:12:30 +02:00
Kim De Mey 2c5eeded6d
Small fuzzing readme correction [skip ci] 2020-07-09 11:01:35 +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 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
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
kdeme 5ffe6bb8ff
Add more routing table kbucket tests 2020-06-23 17:54:12 +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
Jacek Sieka 61feae0f21
secp: requiresInit updates (#258)
* secp: requiresInit updates

* fixup!

* clean up mapconverts
2020-06-22 18:07:48 +02:00
kdeme 4d0a7a46ba Update fuzzing tests now that the helpers have moved to ntu 2020-06-12 18:58: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
Kim De Mey 1c77cc1d3d
Fix discovery after introduction of ValidIpAddress (#248) 2020-06-09 11:09:35 +02:00
kdeme 6dd820840a
Add simple auth header encode/decode test 2020-06-04 15:03:41 +02: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
kdeme 17586c05d7 Remove waku protocol from the repository 2020-05-07 20:49:00 +03:00
Kim De Mey cea370c4fa
Merge pull request #231 from status-im/discv5-results
Improve error handling in discv5
2020-05-01 23:47:11 +02:00
kdeme 74df90e16d
discv5: further prepping for results error handling 2020-04-30 00:11:03 +02:00
Jacek Sieka 205b57fe71
port kvstore from nim-beacon-chain (#230)
* port kvstore from nim-beacon-chain
* remove old database backends
* use kvstore in trie database
* add sqlite dep
* avoid template param double evaluation
* clean up heterogenous lookup todo
2020-04-27 15:16:11 +02:00
kdeme 3a6d4336bc
Bunch of renames to use same nomenclature as spec 2020-04-27 14:13:00 +02:00
kdeme 5dec5c5a9b discv5 encoding: First steps to move to result based error handling 2020-04-24 15:51:04 +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
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
Jacek Sieka 7c709551a5
secp: use upstream convenience API (#224) 2020-04-17 13:13:08 +02:00
Zahary Karadjov ee5c9619e0
Fix test_discoveryv5 2020-04-15 05:55:08 +03:00
Zahary Karadjov 6513cd9eff
Allow application-supplied ENR fields in discv5 2020-04-15 05:32:52 +03:00
Kim De Mey 99c68d40f7
Fix idAtDistance (#219) 2020-04-14 11:08:08 +02:00
andri lim fb6e27d698 rlp: fix test_object_serialization 2020-04-09 17:08:10 +03:00
Jacek Sieka 0b110f3287
Secp more refactor (#211)
* simplify some modules

* mark several modules with raises
* fix clearing of keys in auth.nim
* fix keyfile case dropping off
* fix keyfile stream storage
* uuid should be output in lowercase

* enode: simplify API
2020-04-06 18:24:15 +02:00
Jacek Sieka ac5bbe4d3d
keys: get rid of deprecated calls (#213) 2020-04-04 18:44:01 +02:00
Jacek Sieka 42b36d1aef
secp: handle invalid keys better (#210)
* secp: handle invalid keys better

we can't guarantee with the type system that invalid keys don't exist,
so we have to introduce error handling for it
2020-04-04 11:40:47 +02:00
Jacek Sieka 02d661503f
refactor secp interface (#203)
* avoid mix of exceptions and return codes
* introduce result
* use deprecated compatibility API to avoid big-bang refactoring
* loosely based on nim-libp2p secp as well as the rust-secp256k1 wrapper
* oh, boy does our secp256k1 wrapper need updating - we're _far_
behind...
2020-04-02 14:40:29 +02:00