Commit Graph

23 Commits

Author SHA1 Message Date
andri lim 91b2b9d2ed
rlp codec support optional fields (#613)
Instead of patching BlockHeader or BlockBody codec
each time it get additional optional fields,
this PR make the rlp codec automatically handle
optional fields. Thus rlp codec overloading of
EthBlock, BlockHeader, and BlockBody can be removed.
2023-05-30 16:02:02 +03:00
Justin Traglia e7d3de6ebf
Fix some typos (#557) 2022-11-16 17:44:00 +01:00
Kim De Mey 522db295f2
Fix RLP deserialzation for Enum with holes (#554)
RLP Enum deserialization would currently not check if "hole values"
were attempted to be converted to the enum type. Now use
checkedEnumAssign and fail with RlpTypeMismatch on invalid values.

There is at least one occurance of an enum with holes in rlpx p2p:
DisconnectionReason. For this enum the issue could occur.

Also:
- Added enum RLP tests and rlpx p2p disconnect message tests to
test the DisconnectionReason with enum hole value.
- Fixed worse custom DisconnectionReason decoding occurance
in rlpx in waitSingleMsg proc where this issue could occur.
2022-11-14 15:49:37 +01:00
Kim De Mey 2c236f6495
Style fixes according to --styleCheck:usages (#452)
Currently only setting `--styleCheck:hint` as there are some
dependency fixes required and the compiler seems to trip over the
findnode MessageKind, findnode Message field and the findNode
proc. Also over protocol.Protocol usage.
2021-12-20 13:14:50 +01: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
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 e89e59aa59
`enterList` now returns a bool 2020-02-27 20:09:05 +02:00
Ștefan Talpalaru f4712aaf74
rename safeEnterList() to enterList()
in order to avoid unhandled exceptions due to malformed data received
over the network
2020-02-25 16:10:09 +01:00
kdeme 40b96e2d3c
Check range on deserialising enum 2020-02-04 11:15:01 +01:00
Zahary Karadjov 39857d57f0 Fix build issues manifesting in our controlled build environment 2020-01-08 17:22:43 +02:00
Yuriy Glukhov eda6c2906c Discv5 WIP 2020-01-08 17:22:43 +02:00
kdeme 9ee208876d
Fix possible AssertionError in ByteRange due to invalid access 2019-10-10 14:40:40 +02:00
kdeme 903b72a5c8
Fix AssertionError on ByteRange slice with nonexistent position 2019-10-10 13:14:24 +02:00
kdeme 4cf3262902
Fix possible AssertionError in typedranges on rlp reading invalid list 2019-10-09 22:06:00 +02:00
kdeme 21c3c3946d Fix another Assertion + change error pragma to fatal 2019-06-14 16:15:09 +03:00
kdeme dc02a5b28d Fix two AssertionErrors from being raised all the way up 2019-06-14 16:15:09 +03:00
kdeme ee27111e2b actually, lets fix it in readAheadCheck 2019-06-07 16:11:33 +03:00
kdeme f40bf032ba Add remaining bytes check in toBytes 2019-06-07 16:11:33 +03:00
kdeme d2d6d7fc16 Fix overflows and add + activate tests 2019-05-30 22:01:07 +03:00
kdeme dfe7d43d19 Resolve without altering Rlp API 2019-05-28 13:37:08 +03:00
kdeme 6b5af745a2 Add several checks for currently unhandled errors 2019-05-28 13:37:08 +03:00
Ștefan Talpalaru 9146e8e2f0
assert() -> doAssert() 2019-03-13 23:15:26 +01:00
Yuriy Glukhov 32998f0dc1 Moved rlp and trie to eth 2019-02-05 14:01:10 +02:00