fix udp forward: use string as conn map key
This commit is contained in:
parent
f30de10a5d
commit
68f27a15d9
12
forward.go
12
forward.go
@ -412,17 +412,17 @@ func (l *udpDirectForwardListener) listenLoop() {
|
||||
return
|
||||
}
|
||||
|
||||
conn, ok := l.connMap.Get(raddr)
|
||||
conn, ok := l.connMap.Get(raddr.String())
|
||||
if !ok {
|
||||
conn = newUDPServerConn(l.ln, raddr, l.ttl)
|
||||
conn.onClose = func() {
|
||||
l.connMap.Delete(raddr)
|
||||
l.connMap.Delete(raddr.String())
|
||||
log.Logf("[udp] %s closed (%d)", raddr, l.connMap.Size())
|
||||
}
|
||||
|
||||
select {
|
||||
case l.connChan <- conn:
|
||||
l.connMap.Set(raddr, conn)
|
||||
l.connMap.Set(raddr.String(), conn)
|
||||
log.Logf("[udp] %s -> %s (%d)", raddr, l.Addr(), l.connMap.Size())
|
||||
default:
|
||||
conn.Close()
|
||||
@ -902,17 +902,17 @@ func (l *udpRemoteForwardListener) listenLoop() {
|
||||
break
|
||||
}
|
||||
|
||||
uc, ok := l.connMap.Get(raddr)
|
||||
uc, ok := l.connMap.Get(raddr.String())
|
||||
if !ok {
|
||||
uc = newUDPServerConn(conn, raddr, l.ttl)
|
||||
uc.onClose = func() {
|
||||
l.connMap.Delete(raddr)
|
||||
l.connMap.Delete(raddr.String())
|
||||
log.Logf("[rudp] %s closed (%d)", raddr, l.connMap.Size())
|
||||
}
|
||||
|
||||
select {
|
||||
case l.connChan <- uc:
|
||||
l.connMap.Set(raddr, uc)
|
||||
l.connMap.Set(raddr.String(), uc)
|
||||
log.Logf("[rudp] %s -> %s (%d)", raddr, l.Addr(), l.connMap.Size())
|
||||
default:
|
||||
uc.Close()
|
||||
|
6
ss.go
6
ss.go
@ -348,17 +348,17 @@ func (l *shadowUDPListener) listenLoop() {
|
||||
return
|
||||
}
|
||||
|
||||
conn, ok := l.connMap.Get(raddr)
|
||||
conn, ok := l.connMap.Get(raddr.String())
|
||||
if !ok {
|
||||
conn = newUDPServerConn(l.ln, raddr, l.ttl)
|
||||
conn.onClose = func() {
|
||||
l.connMap.Delete(raddr)
|
||||
l.connMap.Delete(raddr.String())
|
||||
log.Logf("[ssu] %s closed (%d)", raddr, l.connMap.Size())
|
||||
}
|
||||
|
||||
select {
|
||||
case l.connChan <- conn:
|
||||
l.connMap.Set(raddr, conn)
|
||||
l.connMap.Set(raddr.String(), conn)
|
||||
log.Logf("[ssu] %s -> %s (%d)", raddr, l.Addr(), l.connMap.Size())
|
||||
default:
|
||||
conn.Close()
|
||||
|
Loading…
Reference in New Issue
Block a user