From 9fc37646b624883373d16c3e9a394de0078e56f0 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 6 Jun 2020 20:51:01 +0800 Subject: [PATCH] Check replay only for AEAD connection --- proxy/vmess/aead/authid.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/proxy/vmess/aead/authid.go b/proxy/vmess/aead/authid.go index ff681fea5..1c4541a59 100644 --- a/proxy/vmess/aead/authid.go +++ b/proxy/vmess/aead/authid.go @@ -89,15 +89,17 @@ func (a *AuthIDDecoderHolder) RemoveUser(key [16]byte) { } func (a *AuthIDDecoderHolder) Match(AuthID [16]byte) (interface{}, error) { - if !a.apw.Check(AuthID[:]) { - return nil, ErrReplay - } for _, v := range a.aidhi { t, z, r, d := v.dec.Decode(AuthID) if z != crc32.ChecksumIEEE(d[:12]) { continue } + + if !a.apw.Check(AuthID[:]) { + return nil, ErrReplay + } + if math.Abs(float64(t-time.Now().Unix())) > 120 { continue }