Skip to content

Commit 487849b

Browse files
wwqgtxxnekohasekai
authored andcommitted
Dynamic fetch remoteAddr in service
1 parent 2f51675 commit 487849b

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed

hysteria2/service.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@ func (s *Service[U]) handleConnection(connection quic.Connection) {
156156
Service: s,
157157
ctx: s.ctx,
158158
quicConn: connection,
159-
source: M.SocksaddrFromNet(connection.RemoteAddr()).Unwrap(),
160159
connDone: make(chan struct{}),
161160
udpConnMap: make(map[uint32]*udpPacketConn),
162161
}
@@ -172,7 +171,6 @@ type serverSession[U comparable] struct {
172171
*Service[U]
173172
ctx context.Context
174173
quicConn quic.Connection
175-
source M.Socksaddr
176174
connAccess sync.Mutex
177175
connDone chan struct{}
178176
connErr error
@@ -270,7 +268,7 @@ func (s *serverSession[U]) handleStream(stream quic.Stream) error {
270268
if err != nil {
271269
return E.New("read TCP request")
272270
}
273-
s.handler.NewConnectionEx(auth.ContextWithUser(s.ctx, s.authUser), &serverConn{Stream: stream}, s.source, M.ParseSocksaddr(destinationString), nil)
271+
s.handler.NewConnectionEx(auth.ContextWithUser(s.ctx, s.authUser), &serverConn{Stream: stream}, M.SocksaddrFromNet(s.quicConn.RemoteAddr()), M.ParseSocksaddr(destinationString), nil)
274272
return nil
275273
}
276274

hysteria2/service_packet.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func (s *serverSession[U]) handleUDPMessage(message *udpMessage) {
4949
s.udpConnMap[message.sessionID] = udpConn
5050
s.udpAccess.Unlock()
5151
newCtx, newConn := canceler.NewPacketConn(udpConn.ctx, udpConn, s.udpTimeout)
52-
go s.handler.NewPacketConnectionEx(newCtx, newConn, s.source, M.ParseSocksaddr(message.destination), nil)
52+
go s.handler.NewPacketConnectionEx(newCtx, newConn, M.SocksaddrFromNet(s.quicConn.RemoteAddr()), M.ParseSocksaddr(message.destination), nil)
5353
}
5454
udpConn.inputPacket(message)
5555
}

0 commit comments

Comments
 (0)