Commit Graph

1080 Commits

Author SHA1 Message Date
Etan Kissling 275d649287
move `header.length` check in `yamux` to original location (#1069) 2024-03-20 13:35:44 +01:00
Jacek Sieka 467b5b4f0c
avoid cancelling send future (#1075) 2024-03-20 10:54:32 +00:00
Ivan FB fdf53d18cd
libp2p/dialer.nim: tiny log change to make it clearer a connection upgrade (#1071) 2024-03-18 11:38:23 +01:00
Etan Kissling 48a3ac06ff
`{.async: (raises).}` for `MultistreamSelect` (#1066) 2024-03-12 21:05:53 +01:00
Etan Kissling 49a92e5641
avoid pointless exception raising in `dcutr/server` (#1063) 2024-03-12 18:29:01 +01:00
Etan Kissling 08a48faf41
`{.async: (raises).}` annotations for `protocols/secure` (#1059) 2024-03-07 11:22:22 +00:00
Etan Kissling 61b299e411
`{.async: (raises).}` for `relay/utils.nim` (#1058) 2024-03-07 10:45:25 +01:00
Etan Kissling ca01ee06a8
clean up triple lookup and avoid `KeyError` when adding muxer (#1057) 2024-03-06 06:49:45 +01:00
Etan Kissling 6c43ab3fce
default `MultiAddress` param for `newStandardSwitch` does not raise (#1056) 2024-03-06 06:48:13 +01:00
Jacek Sieka ae13a0d583
Send priority with queue fix (#1051)
Co-authored-by: Diego <diego@status.im>
2024-03-05 15:05:21 +00:00
Etan Kissling 28609597d1
add `{.async: (raises).}` to `libp2p/stream` modules (#1050)
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
Co-authored-by: Jacek Sieka <jacek@status.im>
2024-03-05 07:06:27 +00:00
Etan Kissling 8294d5b9df
document known `--mm:orc` crash (#1039) 2024-03-04 19:34:09 +01:00
Etan Kissling 78e83889ee
define proper parent error type for `YamuxError` (#1040) 2024-03-04 19:26:27 +01:00
Etan Kissling 7603b8de5e
catch `WebSocketError` in `wstransport` (#1049) 2024-03-04 00:27:35 +01:00
Etan Kissling 8cccd54125
avoid triple lookup in `m.flushed` yamux table (#1045) 2024-03-04 00:27:13 +01:00
Etan Kissling 18e00a741b
avoid `KeyError` in edge case of yamux handler (#1044) 2024-03-04 00:24:18 +01:00
Etan Kissling ee264fdf11
in yamux, do not write `{Rst}` packet to stream that's in use (#1041) 2024-03-04 00:23:42 +01:00
Etan Kissling 9059a8aced
use `race` instead of `or` to avoid lockup (#1042) 2024-03-04 00:06:32 +01:00
Etan Kissling 0b753e7cf2
don't forget closing the stream when final `{Fin}` fails in yamux (#1043) 2024-03-04 00:05:59 +01:00
Etan Kissling d43c5feab0
do not log yamux buffers without sanitization (trace log level) (#1046) 2024-03-04 00:04:37 +01:00
Etan Kissling 1609fd7197
change `SecioError` and `NoiseError` to descendants of `LPStreamError` (#1047) 2024-03-04 00:04:25 +01:00
Etan Kissling 42cd78e95b
remove unused `LPStreamError` types (#1048) 2024-03-04 00:03:44 +01:00
Etan Kissling 44cada9c55
use new Chronos `trackCounter` APIs for leaks checks in tests (#1038) 2024-03-03 18:13:37 +01:00
Etan Kissling 6c873481ac
move `allFutureThrowing` helper to tests (#1037)
Co-authored-by: Jacek Sieka <jacek@status.im>
2024-03-01 18:06:26 +01:00
Etan Kissling d08ce17144
remove unused `MultiBase.encode(..., Cid)` function (#1036) 2024-03-01 14:07:52 +01:00
Etan Kissling 53e3825e07
fix typo in `ProtoMessage.toString()` (#1033) 2024-02-29 15:56:47 +01:00
Eugene Kabanov fec632d28d
Fix empty path crash issue for MultiAddresses `unix`, `ip6zone`, `dns***`. (#1025)
This issue was discovered by @0xTylerHolmes . Thank you!
2024-02-22 15:57:11 +01:00
Ludovic Chenut 349496e40f
feat: Yamux timeout (#1029) 2024-02-22 10:21:34 +01:00
diegomrsantos 7faa0fac23
fix: allFuturesThrowing compilation issue on daily (#1026) 2024-02-19 19:46:34 +01:00
Diego c5e4f8e12d
Revert "feat: message prioritization with immediate peer-published dispatch and queuing for other msgs (#1015)"
This reverts commit fe4ff79885.
2024-02-19 13:47:37 +01:00
diegomrsantos fe4ff79885
feat: message prioritization with immediate peer-published dispatch and queuing for other msgs (#1015) 2024-02-16 10:54:16 +01:00
Ludovic Chenut c1dfd58772
fix: yamux metrics (#1022) 2024-02-08 12:36:58 +01:00
Ludovic Chenut eb0890cd6f
docs: add comments and improve yamux readability (#1006) 2024-02-02 15:14:02 +01:00
diegomrsantos 5594bcb33e
fix: more metrics issues when libp2p_expensive_metrics is enabled (#1016) 2024-01-30 16:55:55 +01:00
diegomrsantos d46bcdb6ac
fix: compilation issue when `libp2p_expensive_metrics` is enabled. (#1014) 2024-01-29 11:31:11 +01:00
diegomrsantos 2725be64ba
fix: use a temp var in withValue (#1010) 2024-01-18 16:25:56 +01:00
Ludovic Chenut d2c98bd87d
improvement(yamux): make the window size configurable (#987)
Co-authored-by: Diego <diego@status.im>
2023-12-15 16:30:50 +01:00
Ivan FB 3011ba4326
libp2p/multiaddress.nim: use of IpAddress instead of ValidIpAddress (#1001) 2023-12-12 12:53:36 +01:00
Etan Kissling c6566707fa
include connection info when logging identify message (#991) 2023-12-05 18:44:16 +01:00
Jacek Sieka 2ede0fa40c
remove redundant gcsafe annotations (#999) 2023-12-05 08:05:32 +01:00
diegomrsantos deb72c8580
fix(dcutr): update the DCUtR initiator transport direction to Inbound (#994) 2023-11-29 17:38:47 +01:00
diegomrsantos ce0685c272
fix(identify): do not add p2p and relayed addrs to observed addr manager (#990) 2023-11-21 18:24:35 +01:00
diegomrsantos 1f4b090227
fix(yamux): doesn't work in a Relayv2 connection (#979)
Co-authored-by: Ludovic Chenut <ludovic@status.im>
2023-11-21 16:03:29 +01:00
diegomrsantos fb05f5ae22
fix(dcutr): handle tcp/p2p addresses (#989) 2023-11-20 17:06:17 +01:00
diegomrsantos e12f65f193
fix(multiaddress): add quic-v1 multiaddress support (#988) 2023-11-20 11:09:56 +01:00
diegomrsantos 4b3bc4f819
Make ObservedAddrManager injectable (#970) 2023-11-20 11:06:02 +01:00
diegomrsantos 6791f5e7bb
fix(dcutr): make the dcutr client inbound and the server outbound (#983) 2023-11-17 10:46:35 +01:00
Jacek Sieka 4e7eaba67a
fix chronos v4 compat (#982) 2023-11-16 16:54:34 +01:00
diegomrsantos ebef85c9d7
Rate limit fixes (#965) 2023-11-09 14:20:28 +01:00
diegomrsantos 3fc1236659
Revert "Prevent concurrent IWANT of the same message (#943)" (#977) 2023-11-03 15:24:27 +01:00
Ludovic Chenut fc4e9a8bb8
Fix WS transport when the connection aborts (#967) 2023-10-23 17:12:20 +02:00
Tanguy 60f953629d
Remove ConnManager from Upgrade (#959) 2023-10-13 12:08:17 +00:00
diegomrsantos 459f6851e7
Add a flag if a peer should be disconnected when above rate limit (#954) 2023-10-05 14:51:27 +02:00
diegomrsantos 75871817ee
Split msgs in iwant response if bigger than limit (#944) 2023-10-02 11:39:28 +02:00
diegomrsantos 61929aed6c
Improve rdv advertise (#951)
Co-authored-by: Ludovic Chenut <ludovic@status.im>
2023-09-27 15:52:22 +02:00
diegomrsantos 56599f5b9d
GossipSub Traffic scoring (#920) 2023-09-22 16:45:08 +02:00
Tanguy b2eac7ecbd
GS: Relay messages to direct peers (#949) 2023-09-15 17:22:02 +02:00
Tanguy ff77d52851
IDontWant metrics (#946) 2023-09-06 16:05:59 +00:00
Jacek Sieka b76bac752f
avoid importing `ecnist` when not needed (#942) 2023-08-30 11:39:48 +02:00
diegomrsantos c6aa085e98
Prevent concurrent IWANT of the same message (#943) 2023-08-21 16:34:24 +02:00
Ludovic Chenut e03547ea3e
Perf protocol (#925) 2023-08-14 17:25:55 +02:00
diegomrsantos f80ce3133c
Bandwidth estimate as a parameter (#941) 2023-08-14 17:03:46 +02:00
Tanguy d6263bf751
nim-websock new version compatibility (#939) 2023-08-02 17:10:31 +02:00
Tanguy 7a369dd1bf
GossipSub: Limit flood publishing (#911)
Co-authored-by: Diego <diego@status.im>
2023-07-31 11:13:51 +02:00
Tanguy b784167805
GossipSub: IDontWant (#934) 2023-07-28 10:58:05 +02:00
Tanguy 440461b24b
GS: improve handleIHave (#922) 2023-07-11 12:17:50 +02:00
Jacek Sieka fab1340020
avoid a few zeroMem (#932) 2023-07-11 12:17:28 +02:00
Tanguy 1721f078c7
Fix crash on empty write (#930) 2023-07-10 13:52:08 +00:00
Ivan Folgueira Bande 74c402ed9d
wstransport.nim: avoid re-raising 'TransportOsError' to avoid stopping `switch.accept` (#929) 2023-07-07 11:32:20 +02:00
diegomrsantos c45f9705ab
Gossipsub scoring improvements (#909) 2023-07-04 00:27:45 +02:00
Etan Kissling 81b861b34e
avoid `ProveField` warning in `crypto.init` (#915) 2023-06-29 15:28:25 +02:00
diegomrsantos f85d0f75ea
Handling Opt[PeerId] in logging (#923) 2023-06-28 17:00:33 +02:00
Tanguy 66f9dc9167
Remove all `Result.get()`s & `Option` -> `Opt` (#902)
Co-authored-by: Ludovic Chenut <ludovic@status.im>
Co-authored-by: Diego <diego@status.im>
2023-06-28 16:44:58 +02:00
Tanguy 1c4d0832ce
Add GossipSub ping (#912) 2023-06-21 10:40:10 +02:00
Tanguy 224f92e172
Fix #916 regression causing accept loop lockup (#919) 2023-06-20 14:18:49 +00:00
Tanguy 5efa089196
TCP transport: handle getObservedAddr errors (#918) 2023-06-20 10:25:29 +02:00
Tanguy 49dfa84c6f
Transports: handle TransportAbortedError properly (#916) 2023-06-14 15:55:56 +00:00
Tanguy a65b7b028f
GossipSub: remove peer if we can't establish sendConn (#886) 2023-06-14 17:23:39 +02:00
diegomrsantos 67711478ce
Consider dns as public address (#913) 2023-06-13 17:58:41 +02:00
Tanguy c28d8bb353
WS Transport: handle 'tls/ws' (#914) 2023-06-12 15:45:53 +00:00
Vaclav Pavlin 3725f6a95b
chore: add basic metrics for rendezvous (#905) 2023-06-07 15:45:06 +02:00
diegomrsantos 3640b4dd89
Autonat and HP changes (#899) 2023-06-07 15:26:58 +02:00
Tanguy 32085ca88a
Allow to override TCP connection timeouts (#903) 2023-06-07 14:27:32 +02:00
Tanguy c76d1e18ef
Remove nim 1.2 support (#907) 2023-06-07 11:12:49 +00:00
diegomrsantos 67102873ba
Fail only if all addresses in PeerRecord are invalid (#898)
Fixes https://github.com/waku-org/nwaku/issues/1768
2023-05-31 08:59:50 +02:00
diegomrsantos d40d324160
fix missing import (#897) 2023-05-26 10:36:39 +02:00
diegomrsantos a677b06273
Try a direct connection only if there isn't one already (#891) 2023-05-25 15:48:22 +02:00
diegomrsantos 6050cdef7e
Refinement of Hole Punching Service (#892) 2023-05-25 15:47:00 +02:00
Tanguy 225accd11b
Less warnings (#813)
Co-authored-by: Diego <diego@status.im>
2023-05-18 10:24:17 +02:00
diegomrsantos 7d6bc545e0
Handle dns addrs in HP service (#890) 2023-05-16 14:59:02 +02:00
Tanguy a1eb53b181
Fix gossipsub dOut handling (#883) 2023-04-26 13:44:45 +02:00
Tanguy db629dca25
Fix network protocol metrics typo (#874) 2023-04-26 09:52:06 +02:00
diegomrsantos a5666789b0
Hole Punching (#806)
Co-authored-by: Tanguy <tanguy@status.im>
2023-04-18 12:50:21 +02:00
diegomrsantos b7726bf68f
Dcutr (#824)
Co-authored-by: Tanguy <tanguy@status.im>
2023-04-14 16:23:19 +02:00
diegomrsantos 0221affe98
Invalid MA is ignored (#881) 2023-04-14 12:05:32 +00:00
diegomrsantos 80cca0ecac
Does not allow an empty MA (#877) 2023-04-06 14:19:01 +00:00
diegomrsantos 0041ed4cf8
Transport hole punching (#873)
Co-authored-by: Tanguy <tanguy@status.im>
2023-04-06 15:23:35 +02:00
Tanguy 95e98e8c51
Fix traffic metrics (#879) 2023-04-03 12:37:23 +00:00
Tanguy 4aa615c44c
GossipSub: TimedEntry & shortAgent fixes (#858) 2023-04-03 11:05:01 +02:00
Tanguy 6b61ce8c91
GossipSub: Better IWANT handling (#875) 2023-04-03 10:56:20 +02:00