mirror of
https://github.com/netbirdio/netbird.git
synced 2024-12-15 19:31:06 +01:00
Fix sonar issue and fix conn id handling
This commit is contained in:
parent
5dbe5d0d49
commit
08022dca10
@ -97,7 +97,8 @@ type Conn struct {
|
|||||||
workerICE *WorkerICE
|
workerICE *WorkerICE
|
||||||
workerRelay *WorkerRelay
|
workerRelay *WorkerRelay
|
||||||
|
|
||||||
connID nbnet.ConnectionID
|
connIDRelay nbnet.ConnectionID
|
||||||
|
connIDICE nbnet.ConnectionID
|
||||||
beforeAddPeerHooks []nbnet.AddHookFunc
|
beforeAddPeerHooks []nbnet.AddHookFunc
|
||||||
afterRemovePeerHooks []nbnet.RemoveHookFunc
|
afterRemovePeerHooks []nbnet.RemoveHookFunc
|
||||||
|
|
||||||
@ -234,14 +235,7 @@ func (conn *Conn) Close() {
|
|||||||
conn.log.Errorf("failed to remove wg endpoint: %v", err)
|
conn.log.Errorf("failed to remove wg endpoint: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if conn.connID != "" {
|
conn.freeUpConnID()
|
||||||
for _, hook := range conn.afterRemovePeerHooks {
|
|
||||||
if err := hook(conn.connID); err != nil {
|
|
||||||
conn.log.Errorf("After remove peer hook failed: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
conn.connID = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
if conn.evalStatus() == StatusConnected && conn.onDisconnected != nil {
|
if conn.evalStatus() == StatusConnected && conn.onDisconnected != nil {
|
||||||
conn.onDisconnected(conn.config.WgConfig.RemoteKey, conn.config.WgConfig.AllowedIps)
|
conn.onDisconnected(conn.config.WgConfig.RemoteKey, conn.config.WgConfig.AllowedIps)
|
||||||
@ -443,9 +437,9 @@ func (conn *Conn) iCEConnectionIsReady(priority ConnPriority, iceConnInfo ICECon
|
|||||||
endpointUdpAddr, _ := net.ResolveUDPAddr(endpoint.Network(), endpoint.String())
|
endpointUdpAddr, _ := net.ResolveUDPAddr(endpoint.Network(), endpoint.String())
|
||||||
conn.log.Debugf("Conn resolved IP is %s for endopint %s", endpoint, endpointUdpAddr.IP)
|
conn.log.Debugf("Conn resolved IP is %s for endopint %s", endpoint, endpointUdpAddr.IP)
|
||||||
|
|
||||||
conn.connID = nbnet.GenerateConnID()
|
conn.connIDICE = nbnet.GenerateConnID()
|
||||||
for _, hook := range conn.beforeAddPeerHooks {
|
for _, hook := range conn.beforeAddPeerHooks {
|
||||||
if err := hook(conn.connID, endpointUdpAddr.IP); err != nil {
|
if err := hook(conn.connIDICE, endpointUdpAddr.IP); err != nil {
|
||||||
conn.log.Errorf("Before add peer hook failed: %v", err)
|
conn.log.Errorf("Before add peer hook failed: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -541,9 +535,9 @@ func (conn *Conn) relayConnectionIsReady(rci RelayConnInfo) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
conn.connID = nbnet.GenerateConnID()
|
conn.connIDRelay = nbnet.GenerateConnID()
|
||||||
for _, hook := range conn.beforeAddPeerHooks {
|
for _, hook := range conn.beforeAddPeerHooks {
|
||||||
if err := hook(conn.connID, endpointUdpAddr.IP); err != nil {
|
if err := hook(conn.connIDRelay, endpointUdpAddr.IP); err != nil {
|
||||||
conn.log.Errorf("Before add peer hook failed: %v", err)
|
conn.log.Errorf("Before add peer hook failed: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -728,6 +722,26 @@ func (conn *Conn) isConnected() bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (conn *Conn) freeUpConnID() {
|
||||||
|
if conn.connIDRelay != "" {
|
||||||
|
for _, hook := range conn.afterRemovePeerHooks {
|
||||||
|
if err := hook(conn.connIDRelay); err != nil {
|
||||||
|
conn.log.Errorf("After remove peer hook failed: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conn.connIDRelay = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
if conn.connIDICE != "" {
|
||||||
|
for _, hook := range conn.afterRemovePeerHooks {
|
||||||
|
if err := hook(conn.connIDICE); err != nil {
|
||||||
|
conn.log.Errorf("After remove peer hook failed: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conn.connIDICE = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func isRosenpassEnabled(remoteRosenpassPubKey []byte) bool {
|
func isRosenpassEnabled(remoteRosenpassPubKey []byte) bool {
|
||||||
return remoteRosenpassPubKey != nil
|
return remoteRosenpassPubKey != nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user