27 Commits

Author SHA1 Message Date
Kim De Mey
4b22fcdce4
Proc to func in enr code and style guide related clean-up (#555)
Should not have any functional changes. Clean-up related to
avoiding result usage (also implicit), and other style
guide items.
2022-11-15 10:34:56 +01:00
tersec
92b14b43eb
--styleCheck:error (#520)
* --styleCheck:error

* testcase -> testCase

* more testcase -> testCase

* remove unused imports

* MessageKind enum name consistency in tests

* rest of fuzz_decode_message

* rlpEncodeEIP155 -> rlpEncodeEip155
2022-07-21 08:58:17 +00:00
Kim De Mey
8b7d41f596
Don't use exceptions for enr get call (#453)
The ENR code used to be solely exception based, and these
exceptions where a left-over of that. They are useless as later
calls use Result anyhow.

Additionally, they cause quite the performance loss because they
are used in the "common path" for the toTypedRecord call, e.g.
when reading the fields of ip6, tcp6 and udp6.
2021-12-21 15:09:32 +01:00
Ștefan Talpalaru
2088d7568d
CI: test with multiple Nim version (#429)
* CI: test with multiple Nim version

* clean up the testing tree a little

* replace "unittest" with "unittest2"
2021-12-11 19:12:55 +01:00
Kim De Mey
9a1bb5e125
Make ENR $ call print the IP address prettier (#409) 2021-10-19 14:13:09 +02:00
Kim De Mey
f101c83626
Enr rlp lists (#408)
* Don't fail ENR decoding when value is an RLP list

* Store RLP raw list in the ENR field pair instead

* Add ENR kList FieldKind so lists can be treated differently

Treated differently now when printing out the ENR, mentioning
that it is a raw RLP list
2021-10-19 09:26:14 +02:00
Kim De Mey
1babe38226
Allow for tcp/udp ports to always be configured (#402)
* Allow for tcp/udp ports to always be configured

- Allow for an ENR to be build with tcp and udp ports also when
no IP address is provided
- In the address set-up always provide best efforttcp and udp ports
also when configuration of external ip (and/or ports) fails.
2021-09-29 18:50:23 +02:00
Kim De Mey
762415319c
Add build_dcli target and add it to CI (#344)
* Add build_dcli target and add it to CI

* Fix local imports for dcli

* And use local imports for all other files too

* Use local imports in tests and rlpx protocols
2021-04-06 13:33:24 +02:00
Kim De Mey
207b783253
Nimble file cleanup and group discv5 tests to compile once (#340) 2021-03-29 15:26:34 +02:00
kdeme
bfbad64d83 Add update of ENR on newly discovered address 2021-02-01 20:30:55 +02:00
Kim De Mey
c9caafb2a4
Replace memory db with lrucache for temporary storage of sessions (#292) 2020-09-10 14:49:48 +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
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
kdeme
4f3df3c9b2
Change update back to use var parameter of Record 2020-07-08 14:28:54 +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
1c77cc1d3d
Fix discovery after introduction of ValidIpAddress (#248) 2020-06-09 11:09:35 +02:00
kdeme
74df90e16d
discv5: further prepping for results error handling 2020-04-30 00:11:03 +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
Zahary Karadjov
6513cd9eff
Allow application-supplied ENR fields in discv5 2020-04-15 05:32:52 +03:00
Jacek Sieka
ac5bbe4d3d
keys: get rid of deprecated calls (#213) 2020-04-04 18:44:01 +02:00
kdeme
65bed1ae94 discv5: allow creation of node without external ip 2020-03-30 13:32:15 +02:00
kdeme
713f2e3bff Add getNode and tests for findNode and getNode 2020-03-24 16:45:15 +02:00
Zahary Karadjov
a1a6862c7c More spec compliant ENR
* Don't use signed integers in RLP
* Don't store IP addresses as var-sized ints (use fixed-sized blobs instead)
* Allow constructing ENR from ENode.Address
2020-02-12 11:58:14 +02:00
Yuriy Glukhov
992aeecd29 ENR parsing and serialization 2020-01-08 17:22:43 +02:00