Eugene Kabanov
4cd9e27c09
Enable chronos dualstack with new constructor. ( #681 )
...
* Add constructor which will use latest chronos feature.
* Add ability to send to IPv4 addresses via dualstack socket.
* Fix decoding IPv4 mapped addresses.
* Use `*` instead of IPv6 address `::`.
* Removing debugging log statements.
* Address review comments.
* Remove debugging statements.
* Eliminate unnecessary variables.
2024-04-24 14:38:52 +03:00
Kim De Mey
21f3014f54
Remove usage of stew/shim/net ( #670 )
...
* Remove usage of stew/shim/net and replace with std/net where needed
* Remove chronosStrictException compile flag
2024-01-24 09:09:11 +01:00
Kim De Mey
496bcdab74
Fix chronos related deprecated warnings in discv5 and uTP ( #667 )
...
* Fix chronos related deprecated warnings in discv5
* Fix chronos related deprecated warnings in uTP code
* Improve discv5 closeWait order of events and add noCancel
2024-01-22 17:08:08 +01:00
Kim De Mey
cbcd1fd307
Fix for uTP issues with latest chronos ( #655 )
...
* Fix for uTP issues with latest chronos
* Fix for discv5 issue with latest chronos
* Increase amount of data send in uTP and uTP over discv5 tests
2024-01-12 17:35:44 +01:00
Kim De Mey
11049fb87d
Fix a bunch of compiler hints and warnings in uTP and discv5 ( #652 )
...
* Fix a bunch of compiler hints and warnings in uTP and discv5
* Leave in the cancel() for now
2024-01-12 09:49:06 +01:00
tersec
ca4898e24a
switch NAT module from ValidIpAddress to IpAddress ( #647 )
...
* switch NAT module from ValidIpAddress to IpAddress
* fix dcli build
* switch discv5 from ValidIpAddress to IpAddress
* fix fuzzers build
* mostly finish nim-eth to IpAddress transition
2023-11-10 09:28:21 +03:00
Kim De Mey
700360fde2
Rename routing_table_nodes metric for discv4 routing table ( #646 )
2023-10-31 18:28:21 +01:00
Kim De Mey
0d7e7448c4
Allow passing along the handshake ENR through talkresp handler ( #634 )
...
This allows for protocols build on top of discv5 to use the ENR
provided in the handshake directly, instead of having to rely
on requesting it from the discv5 routing table.
2023-08-30 17:44:05 +02:00
Etan Kissling
946ffe0a4a
arc/orc lacks `shallowCopy` --> use `move` ( #630 )
...
`shallowCopy` is not available in `--mm:arc/orc`, but our usage can be
replaced with `move`.
2023-08-15 14:48:41 +02:00
tersec
d217d309eb
revert some func back to proc; unused by nim-eth tests ( #629 )
2023-08-02 23:00:49 +00:00
tersec
01ae82fd70
specify exceptions of callback called by exception-free function ( #628 )
2023-08-01 06:05:22 +00:00
Kim De Mey
26ae539598
Use results Opt for discv5 getNode and resolve ( #625 )
2023-06-26 11:30:33 +02:00
Kim De Mey
c5dd5e4115
Enable tests with also json sink and fix failures ( #624 )
...
And a few minor cleanups
2023-06-22 16:13:16 +00:00
jangko
6dacb2ca5c
fixes related to stint breaking changes
2023-06-21 17:55:00 +07:00
Kim De Mey
d57a1094b1
Remove all Defect raises to avoid unnecessary warnings ( #607 )
...
As this module dropped support for Nim versions < 1.6, all Defect
raises can be removed to avoid unnecessary warnings
2023-05-10 15:50:04 +02:00
jangko
917888356e
no more wild constants and rename ecdhSecret to ecdhSharedSecret
2023-04-21 16:08:57 +07:00
jangko
9bf2e1786b
remove ecdhRaw usage and replace it with ecdh+custom hash function
2023-04-20 15:45:23 +07:00
Kim De Mey
d2a3727c4c
Use chronos isGlobal to verify public IPs for net/nat and discv5 ( #588 )
2023-02-21 09:34:26 +01:00
Kim De Mey
4d55bfc9e8
Move dcli tool to a tools folder ( #584 )
2023-01-27 18:40:40 +01:00
Lorenzo Delgado
5c46220e72
add eth topic to all the logs scope ( #568 )
2022-12-06 14:54:03 +01:00
Lorenzo Delgado
833818e9c7
Make discv5 `protocol-id` configurable at compile time
...
Co-authored-by: ksr <kaiserd@users.noreply.github.com>
2022-11-30 12:59:41 +01:00
Mikel Cortes
f4ef9181c7
persist discovered ENRs from the discv5 into CSV ( #560 )
...
* persist ENRs (parsed) from the discovery5 protocol
* filter fork_digest from eth2 data
* Update eth/p2p/discoveryv5/dcli.nim
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
* apply reviewer's suggestions
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2022-11-23 23:48:44 +01:00
Justin Traglia
e7d3de6ebf
Fix some typos ( #557 )
2022-11-16 17:44:00 +01:00
Justin Traglia
ff0b1a330a
Allow distance of 256 in lookupDistances ( #556 )
2022-11-15 12:36:16 +01:00
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
Kim De Mey
9b0f054b04
Tackle some Nim warnings new since Nim 1.4 & 1.6 ( #553 )
2022-11-10 16:32:57 +01:00
Kim De Mey
70b83a4efb
Improve the discv5 initialization logs ( #552 )
...
- Unify the debug log and info log into one. Removing the
redundant information
- Log the custom ENR fields more pretty
- Make the JSON format logging more pretty for several types
2022-11-10 10:52:24 +01:00
Kim De Mey
86b37bf72e
Default compile all tests and binaries with TRACE log level ( #549 )
...
In order to avoid unused warning and more importantly to make
sure all log statements work.
2022-11-10 09:01:58 +01:00
andri lim
10870d8b15
Revert #544 "Fix related to nim devel branch" ( #551 )
...
This reverts commit:
5d13052dd9
e1bdf1741a
d238693571
2022-11-09 18:57:04 +01:00
jangko
5d13052dd9
refactor: compile with nim-devel
2022-11-08 11:08:25 +07:00
jangko
d238693571
refactor: replace shallowCopy with something else
2022-11-08 09:41:35 +07:00
Kim De Mey
bd8d9c65a3
Seperate discv5 protocol message encoding from packet encoding ( #539 )
...
And some additional clean-ups
2022-10-10 12:13:20 +02:00
Kim De Mey
ceac50c62f
Log the IP-address + Port when a discv5 send fails ( #542 )
...
This is specifically useful for when the failure is caused by an
"Operation not permitted", as then we can see for which specific
port(s) a firewall might be blocking outgoing traffic.
2022-10-10 10:33:40 +02:00
Kim De Mey
4c821c5eae
Remove async_utils/traceAsyncErrors usage from discv5 ( #541 )
2022-10-07 18:20:03 +03:00
Jacek Sieka
5e4123fda8
tighter nimcrypto imports ( #532 )
2022-09-05 11:09:38 +02:00
KonradStaniec
883825aad7
Make discv5 timeouts configurable ( #523 )
2022-08-05 15:19:16 +02:00
Jacek Sieka
1b516682bd
bearssl: use split api ( #510 )
2022-06-17 22:45:37 +02:00
Kim De Mey
4463a28fd6
Add discv5 max packet size limit ( #505 )
2022-05-02 16:49:19 +02:00
Kim De Mey
ea3bb0836d
Update discv5 implementation explainer comment ( #504 )
...
And some line char limit adjustments.
2022-04-22 16:46:47 +02:00
Ștefan Talpalaru
5a78e2fe23
disc: updateExternalIp() ( #495 )
...
* disc: updateExternalIp()
New public proc that can be used to inform the discovery subsystem about
a changed external IP (as reported by UPnP/NAT-PMP in some other module).
2022-03-30 12:52:45 +02:00
Zahary Karadjov
f947827c70
Debug logs providing info for the initial discoveryv5 configuration
2022-02-18 17:42:37 +02:00
Kim De Mey
05ef9a8e00
More --styleCheck fixes for discoveryv5 and eth/common ( #473 )
2022-02-03 15:51:08 +01:00
Kim De Mey
41edd4a3f2
Add DiscoveryConfig to tune routing table ip limits and bitPerHops ( #471 )
2022-02-02 15:29:45 +01:00
KonradStaniec
9a7b1afe9b
Add custom talkreq implementation ( #464 )
...
* Add custom talkreq implementation to utp over discv5
2022-01-24 11:58:35 +01:00
Kim De Mey
42e257796f
Add discoveryv5 session metrics ( #454 )
2021-12-21 15:09:46 +01: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
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
Etan Kissling
5655bd035c
Merge pull request #450 from etan-status/reject-whoareyou-len
...
reject WHOAREYOU packets with non-empty message
2021-12-14 16:22:25 +01:00
Etan Kissling
45387ad4d2
reject WHOAREYOU packets with non-empty message
...
This changes the `discv5` parser to reject malformed WHOAREYOU packets
that have a non-0 message length. The extra data used to be ignored.
The `message` part of WHOAREYOU packets is always empty.
See https://github.com/ethereum/devp2p/blob/master/discv5/discv5-wire.md
2021-12-11 15:55:14 +01:00
Etan Kissling
fb7ea69eb4
Merge pull request #449 from etan-status/encryptgcm-type
...
more specific type check in `encryptGCM`
2021-12-11 14:50:35 +01:00