Add reported internal and external port to Connection. New function peer.IsBehindNAT.

PeerlistAdd is now called on every incoming message. User Agent fixes.
This commit is contained in:
Kleissner
2021-05-04 01:13:11 +02:00
parent f3c9d5e17f
commit 0fe2ce60ec
5 changed files with 72 additions and 42 deletions

View File

@@ -495,12 +495,12 @@ createPacketLoop:
// only on initial announcement the User Agent must be provided according to the protocol spec
if sendUA {
if len(UserAgent) > 255 {
UserAgent = UserAgent[:255]
}
userAgentB := []byte(UserAgent)
if len(userAgentB) > 255 {
userAgentB = userAgentB[:255]
}
raw[15] = byte(len(userAgentB))
raw[19] = byte(len(userAgentB))
copy(raw[announcementPayloadHeaderSize:announcementPayloadHeaderSize+len(userAgentB)], userAgentB)
packetSize += len(userAgentB)
}
@@ -637,12 +637,12 @@ createPacketLoop:
// only on initial response the User Agent must be provided according to the protocol spec
if sendUA {
if len(UserAgent) > 255 {
UserAgent = UserAgent[:255]
}
userAgentB := []byte(UserAgent)
if len(userAgentB) > 255 {
userAgentB = userAgentB[:255]
}
raw[15] = byte(len(userAgentB))
raw[19] = byte(len(userAgentB))
copy(raw[announcementPayloadHeaderSize:announcementPayloadHeaderSize+len(userAgentB)], userAgentB)
packetSize += len(userAgentB)
}