|
|
@@ -20,7 +20,6 @@ import (
|
|
|
"sync/atomic"
|
|
|
"time"
|
|
|
|
|
|
- "golang.org/x/crypto/poly1305"
|
|
|
xmaps "golang.org/x/exp/maps"
|
|
|
"golang.org/x/net/ipv4"
|
|
|
"golang.org/x/net/ipv6"
|
|
|
@@ -1067,9 +1066,14 @@ func (de *endpoint) removeSentDiscoPingLocked(txid stun.TxID, sp sentPing, resul
|
|
|
delete(de.sentPing, txid)
|
|
|
}
|
|
|
|
|
|
+// poly1305AuthenticatorSize is the size, in bytes, of a poly1305 authenticator.
|
|
|
+// It's the same as golang.org/x/crypto/poly1305.TagSize, but that
|
|
|
+// page is deprecated and we only need this one constant, so we copy it.
|
|
|
+const poly1305AuthenticatorSize = 16
|
|
|
+
|
|
|
// discoPingSize is the size of a complete disco ping packet, without any padding.
|
|
|
const discoPingSize = len(disco.Magic) + key.DiscoPublicRawLen + disco.NonceLen +
|
|
|
- poly1305.TagSize + disco.MessageHeaderLen + disco.PingLen
|
|
|
+ poly1305AuthenticatorSize + disco.MessageHeaderLen + disco.PingLen
|
|
|
|
|
|
// sendDiscoPing sends a ping with the provided txid to ep using de's discoKey. size
|
|
|
// is the desired disco message size, including all disco headers but excluding IP/UDP
|