From 5e0ded9850833cccc432fa23c19e55df20ae1f2a Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Wed, 9 Nov 2016 18:59:44 +0700 Subject: [PATCH] =?UTF-8?q?don=E2=80=99t=20reset=20remoteAddr=20for=20ever?= =?UTF-8?q?y=20packet=20as=20a=20client?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- session.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/session.go b/session.go index 7b6782638..b2ca2f3fe 100644 --- a/session.go +++ b/session.go @@ -311,8 +311,10 @@ func (s *Session) handlePacketImpl(p *receivedPacket) error { if quicErr, ok := err.(*qerr.QuicError); ok && quicErr.ErrorCode == qerr.DecryptionFailure { return err } - // update the remote address, even if unpacking failed for any other reason than a decryption error - s.conn.setCurrentRemoteAddr(p.remoteAddr) + if s.perspective == protocol.PerspectiveServer { + // update the remote address, even if unpacking failed for any other reason than a decryption error + s.conn.setCurrentRemoteAddr(p.remoteAddr) + } if err != nil { return err }