-
Notifications
You must be signed in to change notification settings - Fork 71
Nat hole punching for discv5.2 #176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 98 commits
Commits
Show all changes
164 commits
Select commit
Hold shift + click to select a range
539aee9
Plug-in hole punching
emhane db81228
Notification message container
emhane fdc792c
Plug relaying into service
emhane 9d223e5
Move hole punch trait to extern crate
emhane 25a5cc5
Adjust impl of hole punch trait
emhane 9b8f821
fixup! Plug relaying into service
emhane f53f3f6
fixup! Plug-in hole punching
emhane 172d120
Update trait impl
emhane 3987108
Consolidate hole punching in Handler
emhane 410201a
fixup! Consolidate hole punching in Handler
emhane 396a595
fixup! Consolidate hole punching in Handler
emhane 32b812e
Add trace info
emhane 5a2bbc8
fixup! Consolidate hole punching in Handler
emhane 84b0561
Reinsert active request on hole punch attempt
emhane 85575f5
Update node address conversion
emhane f6872cd
RO access kbuckets from handler for hole punch target peer lookup
emhane 867fc04
Replace RO access to kbuckets with channels
emhane 8ef3df7
Add trace messages
emhane 8b03367
fixup! Add trace messages
emhane 2075d5e
Handle each realy init separately
emhane a8223e6
Receive responses in notification packets
emhane 8ac4618
Reset renaming of packet kind
emhane 7e4f9df
Send responses in notification
emhane 7043e66
fixup! Reset renaming of packet kind
emhane c6fcccb
fixup! Reinsert active request on hole punch attempt
emhane 6906ab9
Plug in mechanism for keeping hole punched for peer
a1c9754
Only give work of keeping hole punched to nodes that aren't WAN reach…
103c230
fixup! Only give work of keeping hole punched to nodes that aren't WA…
116d350
Correct comment
79da626
Include nodes that discover reachable address earlier in small networks
0eb62dc
fixup! Include nodes that discover reachable address earlier in small…
02c9a8e
Limit sessions with unreachable enrs
093f598
Set limit for sessions with peers with unreachable ENRs in config
bb0e597
Allow unlimited sessions with unreachable ENRs like in discv5.0
32a7eef
Clean up fs
e0522a8
Update naming to match wire
2442fa1
Lint fixes
b18b411
Doc links fix
36dcfee
Bug fix
eae9b14
Log messages fixes
39cd9a3
Updates from nat hole punch crate
5e88257
fixup! Updates from nat hole punch crate
b68beaa
Incorporate notification
afa637b
notif sep
2b0876a
Incorporate notification from nat_hole_punch crate
051921d
Move hole punch trait from nat_hole_punch crate into crate
e8bd067
fixup! Move hole punch trait from nat_hole_punch crate into crate
e75892f
Make log message more human readbable
dc772d5
Clean up
f3be2de
Fix merge conflicts
42714f3
Stop punching holes for disconnected peers
a005ce7
Fix session limiter constructor bug to not write to logs on no limit …
1031f37
Fix wrong comments on message types and collect message types
6ee4f7f
Check for unused deps in CI (#1262)
michaelsproul b82adc7
Cherry-pick 6ee4f7f9
8f3b17b
Update github CI to latest version
76f0953
Remove unused dependencies
37739a5
Remove unused varaiable assignment
3c820a0
Restore and improve config comments
0258cb2
Use derive From macro
67b5d59
fixup! Restore and improve config comments
01d111b
Restore drive-by commit to master
3eec2d5
Return earlier from enr unreachable check
101bd69
Replace parse display with dep used in lighthouse
fd62453
Safeguard with const evaluation
d9740f9
Fix typo
emhane d456f1a
Mark unreachable code
c651e2c
Allow assertions on constants
74c8404
Fix clippy warnings
1f7f86d
fixup! Allow assertions on constants
876c68a
fixup! Return earlier from enr unreachable check
a6998da
fixup! Fix session limiter constructor bug to not write to logs on no…
d13832a
fixup! Return earlier from enr unreachable check
fbf313f
Shorten debug message
9da9c1c
Correct comment correction
732bf7b
Revert symbol
8a8640b
Nitpick
emhane 709c514
Clarify comment
fdfddb4
Reinsert Cargo.lock in gitignore
207d096
Fix curly brace bug
14180f8
remove lockfile
divagant-martian 13f308a
reduce diff
divagant-martian 0e40463
clippy
divagant-martian a7ebf96
Fix typo
emhane 48f10d2
Check limit in config instead
386775d
Restore comment
72a9ecf
Simplify docs
3926fce
Drop notification already at service layer
d2612e9
Improve rust idiomacy
8961aae
fixup! Drop notification already at service layer
d68ce6b
Nitpick
e79df73
Remove hole punch trait
9753761
Simplify bind
emhane cae34a9
Expose unused ports range parameter in config
2a1bf45
Fix typo
emhane 099a6ae
Fix merge conflicts with remote
e398e6f
Merge remote-tracking branch 'remotes/origin/nat-hole-punch-discv5.2'…
5b75058
Fix ci for ipv6 tests
0f4d7b5
Name consistently with specs
emhane 789f3f0
Fix typo
emhane f46b964
Only track outgoing packets if node is behind nat
emhane 1b0e0dd
Only process relay messages if we are behind a nat
emhane 4750490
Catch malicious relay init
emhane 0477bdb
Clear hole punch tracker set for remaining entries
emhane 8852d93
Run lint
emhane f03662a
Introduce bound on relay store
emhane b5c0766
Remove redundant parameter
emhane 2c60235
Keep session but drop packet that could be spoofed
emhane 7cde68c
Add debug info
emhane 32321a7
Revert layout of hole punch code to use trait
emhane abe4225
Fix backwards compatibility of packet type Message
emhane fbb5a00
Remove duplicate guard
emhane b18e463
Use lru time cach for tracking sent packages
emhane 9241d03
Adjust visibility, handler not alone-standing crate
emhane 5583324
Add signature for using session limiter on cache insert
emhane 535ea0a
Only send expired entries on channel
emhane 58bbb0c
Remove duplicate code
emhane bf72841
Move assertion on constant outside of function
emhane 4038f35
no unreachables in session enr
divagant-martian 34e6a4c
Avoid breaking change to lru time cache api
emhane ac7fe9f
Change name 'session index' to name of session index type
emhane a0d09c1
Update docs
emhane 89a81ae
Update comment
emhane 7b521d7
Merge branch 'nat-hole-punch-discv5.2' of github.com:emhane/discv5 in…
emhane 35b4877
fixup! Update docs
emhane a729371
Lint fixes
emhane b8169fc
Lint fixes
emhane 75627a5
fixup! Lint fixes
emhane 421066b
Fix docs
emhane 12712c4
Fix merge conflicts
emhane 8c7c36e
Fix merge conflicts with discv5.2
emhane 1aed55d
Tweak incorporation of SessionLimiter
emhane a5ec452
Avoid clone
emhane defa9ed
Lint fixes
emhane 308d793
Enable ipv6 tests
emhane d22647b
fixup! Fix merge conflicts with discv5.2
emhane 43be184
fixup! Enable ipv6 tests
emhane d6550fb
Fix test parallelisation
emhane 07b0c02
Add relay test for handler
emhane c5f281c
Drive-by, fix param name
emhane c5d47bb
Drive-by, clean up test
emhane 9138018
Fix handler test parallelisation
emhane c94c7e1
Skip unnecessary interaction with service task
emhane 3620b37
Add test for target
emhane b32e750
Remove unnecessary memory re-allocation for sessions cache
emhane b947364
Reset previous commit
emhane e0a2d4a
Improve type safety for notifications
emhane 25077d4
Reset commit b32e7507 and check sequence of initiator's enr against k…
emhane 41f0ef6
Refactor initiator abbreviation
emhane 6187597
Trigger ping all peers on upgrade to reachable enr
emhane 8fd5434
Modify session management to inside the lrutimecache
AgeManning 2ecc61f
Merge to the latest
AgeManning 402c964
Add reviewers comments
AgeManning e50661c
Simplify the code, name changes group handler API
AgeManning 18e44f2
Old mate fmt
AgeManning 5c89f12
Merge pull request #5 from sigp/review-suggestions
emhane e3478c2
Fix bug broken invariant active-requests and hole punch attempts
emhane f0a1e51
Merge latest updates
AgeManning b42e677
Update src/handler/mod.rs
AgeManning bf4723d
Update src/service.rs
AgeManning 942661c
Update src/handler/mod.rs
AgeManning 08cd2b6
Complete the renaming
AgeManning fb54740
Fmt
AgeManning 21ea794
Merge pull request #6 from sigp/further-review
emhane File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.