Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
e0781b9
Initial Commit - Basic Identity Challenge Passing
AlgoAxel Oct 20, 2022
3988f26
Add round trip data signing for ID Challenges
AlgoAxel Oct 24, 2022
a3c3632
Remove identity mappings on peer disconnect
AlgoAxel Oct 25, 2022
38a063f
Add Websocket based final Identification Challenge Verification
AlgoAxel Oct 25, 2022
80c8758
Address linting, tests, initial comments
AlgoAxel Oct 31, 2022
64c08dc
Add Protocol Version branching to Identity Challenge Exchange
AlgoAxel Oct 31, 2022
0ae8dbd
Merge branch 'master' into feature/connection-deduplication
AlgoAxel Oct 31, 2022
22041a1
Fix Merge and cleanup
AlgoAxel Oct 31, 2022
e191df9
Add Unit Tests for Identity Challenges
AlgoAxel Oct 31, 2022
29c18da
Change string format to %s
AlgoAxel Oct 31, 2022
8cb84b0
Fix Warnf for lint
AlgoAxel Oct 31, 2022
0a76944
Enforce Identity Challenge Verification and return if it fails
AlgoAxel Oct 31, 2022
507bb1f
Fix lint
AlgoAxel Oct 31, 2022
f2d1d96
Refactor Locking; Refactor B64 Challenge Header Creation
AlgoAxel Nov 1, 2022
b49d4e2
Change Protocol Tag Name for Network Identity Challenge
AlgoAxel Nov 9, 2022
c4929a1
Address Shant's comments pt 1
AlgoAxel Dec 8, 2022
871a8bc
Merge remote-tracking branch 'origin/master' into feature/connection-…
AlgoAxel Jan 10, 2023
f1db433
Redesign: Optimistic Identity; Refactor
AlgoAxel Jan 18, 2023
47e309e
Add Config value "ConnectionDeduplicationName"
AlgoAxel Jan 18, 2023
c84066f
comment fixup
AlgoAxel Jan 18, 2023
f7f0dd5
Remove unused unverifiedPeersByID
AlgoAxel Jan 18, 2023
65b20d6
comment fixup
AlgoAxel Jan 18, 2023
f2817ba
comment fixup
AlgoAxel Jan 18, 2023
3e00de6
comment fixup
AlgoAxel Jan 18, 2023
a1dd736
comment fixup
AlgoAxel Jan 18, 2023
9818f14
comment fixup
AlgoAxel Jan 18, 2023
4c38928
Fix Lock Usage
AlgoAxel Jan 18, 2023
23ee484
Corrections from Manual Testing
AlgoAxel Jan 18, 2023
b5ec229
Improve config comment
AlgoAxel Jan 18, 2023
9d8fe0d
Unit Tests and Related Fixes
AlgoAxel Jan 18, 2023
b735407
Spelling fix
AlgoAxel Jan 18, 2023
28a9135
Add partitionTest to new tests
AlgoAxel Jan 18, 2023
56da467
Add addPeerLockless for consistent peersByID checking
AlgoAxel Jan 19, 2023
87ac231
Use Lock instead of RLock
AlgoAxel Jan 19, 2023
09d045d
Add wsNetwork Unit Tests for IdentityChallenge
AlgoAxel Jan 19, 2023
5d9da11
Split Start() to allow tests to inject overloaded values to wsNetwork
AlgoAxel Jan 19, 2023
321ebbe
Move ConnectionDeduplicationName to v27 config
AlgoAxel Jan 19, 2023
8ea163f
Rearrange use of startListener and startRoutines in unit tests
AlgoAxel Jan 19, 2023
cb33262
Add delay after tryConnect in unit tests
AlgoAxel Jan 19, 2023
31e593c
Add Counters for Identity Challenge Disconnect
AlgoAxel Jan 20, 2023
9192b6d
Remove unintended files
AlgoAxel Jan 20, 2023
aa7ed0f
Address Comments from cce
AlgoAxel Jan 20, 2023
6f7916c
Move Identity Tracking into an identityTracker struct
AlgoAxel Jan 20, 2023
0e102aa
Change Identity Challenge "Address" field to use addr
AlgoAxel Jan 20, 2023
0d48753
call init before addPeer and peer.Close if addPeer fails
AlgoAxel Jan 20, 2023
462ca38
Refactor: Move Identity management into a scheme
AlgoAxel Jan 20, 2023
c828cc0
Reviewdog fix
AlgoAxel Jan 20, 2023
7c1aa66
Reviewdog fix
AlgoAxel Jan 20, 2023
35d7c79
Add explainer comment
AlgoAxel Jan 20, 2023
b4a6255
Move comment
AlgoAxel Jan 20, 2023
14b33f5
Add more unit tests
AlgoAxel Jan 23, 2023
0fabd8a
Change ConnectionDeduplication config check to use PublicAddress
AlgoAxel Jan 24, 2023
8785251
Merge remote-tracking branch 'origin/master' into feature/connection-…
AlgoAxel Jan 25, 2023
e7f9e74
Add msgp to network directory; Add autoconfig for PublicAddress
AlgoAxel Jan 26, 2023
775de78
Make IdentityChallengeScheme an interface
AlgoAxel Jan 26, 2023
a9bb175
emit errors from IdentityChallengeScheme when verification fails
AlgoAxel Jan 26, 2023
de504c7
Exapnd Code Coverage; Add Better Package Comment; Add Disconnect to
AlgoAxel Jan 26, 2023
6cfafe9
make msgp
AlgoAxel Jan 26, 2023
8183555
Expand Test Coverage
AlgoAxel Jan 26, 2023
49a1135
Fix expanded test coverage
AlgoAxel Jan 26, 2023
e8227fa
Testing cleanup
AlgoAxel Jan 26, 2023
b671728
A little more testing
AlgoAxel Jan 26, 2023
976594c
Add Disconnect after Unverified Timeout
AlgoAxel Jan 26, 2023
66ad453
Reviewdog fix; Extend wait for TryConnect
AlgoAxel Jan 27, 2023
1777e6c
Remove flaky test assert
AlgoAxel Jan 27, 2023
5e9cb35
Remove Redundant Copyright Headers
AlgoAxel Jan 30, 2023
a9182f5
Use host:port format for auto PublicAddress
AlgoAxel Jan 30, 2023
84b776d
Fix AutoPublicAddress Test
AlgoAxel Jan 30, 2023
4237762
Update network/netidentity.go
AlgoAxel Feb 1, 2023
ce56938
Merge branch 'master' into feature/connection-deduplication
AlgoAxel Feb 1, 2023
beffba4
Fix lint from merge
AlgoAxel Feb 1, 2023
2c76fe3
Fix for newly merged Unit Test
AlgoAxel Feb 1, 2023
95c274f
use protocol/hash prefixes and MsgSigned structs for netidentity
cce Feb 3, 2023
75f308d
Merge branch 'feature/connection-deduplication' into conn-dedup-hashids
cce Feb 3, 2023
d5891f6
Expand logging, use .With()
AlgoAxel Feb 3, 2023
f1b9657
Improve Logging
AlgoAxel Feb 3, 2023
bcef256
Fix double defined localAddr
AlgoAxel Feb 3, 2023
da93fcb
add extra case to TestPeeringWithBadIdentityVerification
cce Feb 3, 2023
74a99b0
incorporate closeEarly; Amend tests
AlgoAxel Feb 6, 2023
fea7d63
rename VerifyRequestAndAttachResponse and update a few comments
cce Feb 8, 2023
240b11f
Update network/netidentity.go
cce Feb 9, 2023
0dcdac3
Update network/netidentity.go
cce Feb 9, 2023
ef353bb
Address comments
AlgoAxel Feb 9, 2023
9950d72
like prioScheme, only initialize identityScheme if it is enabled
cce Feb 9, 2023
2f81650
Move metric increments
AlgoAxel Feb 9, 2023
a8cba7d
Merge branch 'feature/connection-deduplication' into nil-identityScheme
cce Feb 9, 2023
95d487f
Merge pull request #3 from cce/nil-identityScheme
AlgoAxel Feb 9, 2023
b67c1dd
rename parameter attach to attachTo
AlgoAxel Feb 13, 2023
74bf8ee
have mockIdentityTracker wrap real identityTracker
cce Feb 13, 2023
f3afd4a
flip meaning of isOccupied
cce Feb 13, 2023
b565751
Merge pull request #4 from cce/test-real-tracker
AlgoAxel Feb 13, 2023
97d4c80
correct mocked identityTracker isOccupied behavior
AlgoAxel Feb 14, 2023
60a1f2b
Increase identity peering test timeouts
AlgoAxel Feb 15, 2023
3b40e63
touch gitignore
AlgoAxel Feb 15, 2023
c26f448
restore gitignore
AlgoAxel Feb 15, 2023
5d9c380
add disconnectBadIdentityData
cce Feb 16, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ crypto/libs
*~
*.swp
*.swo
*.swn

# Mac
.DS_Store
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ GOLDFLAGS := $(GOLDFLAGS_BASE) \
UNIT_TEST_SOURCES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && go list ./... | grep -v /go-algorand/test/ ))
ALGOD_API_PACKAGES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && cd daemon/algod/api; go list ./... ))

MSGP_GENERATE := ./protocol ./protocol/test ./crypto ./crypto/merklearray ./crypto/merklesignature ./crypto/stateproof ./data/basics ./data/transactions ./data/stateproofmsg ./data/committee ./data/bookkeeping ./data/hashable ./agreement ./rpcs ./node ./ledger ./ledger/ledgercore ./ledger/store ./ledger/encoded ./stateproof ./data/account ./daemon/algod/api/spec/v2
MSGP_GENERATE := ./protocol ./protocol/test ./crypto ./crypto/merklearray ./crypto/merklesignature ./crypto/stateproof ./data/basics ./data/transactions ./data/stateproofmsg ./data/committee ./data/bookkeeping ./data/hashable ./agreement ./rpcs ./network ./node ./ledger ./ledger/ledgercore ./ledger/store ./ledger/encoded ./stateproof ./data/account ./daemon/algod/api/spec/v2

default: build

Expand Down
6 changes: 5 additions & 1 deletion config/localTemplate.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,11 @@ type Local struct {
// 1 * time.Minute = 60000000000 ns
ReconnectTime time.Duration `version[0]:"60" version[1]:"60000000000"`

// what we should tell people to connect to
// The public address to connect to that is advertised to other nodes.
// For MainNet relays, make sure this entry includes the full SRV host name
// plus the publicly-accessible port number.
// A valid entry will avoid "self-gossip" and is used for identity exchange
// to deduplicate redundant connections
PublicAddress string `version[0]:""`

MaxConnectionsPerIP int `version[3]:"30" version[27]:"15"`
Expand Down
1 change: 1 addition & 0 deletions network/connPerfMon.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"github.com/algorand/go-algorand/crypto"
)

//msgp:ignore pmStage
type pmStage int

const (
Expand Down
Loading