From 3f012b6021520eed8bef9aa90bcea789719d3945 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 7 Apr 2024 13:57:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=8EIP=E5=90=8D=E5=8D=95=E4=B8=AD=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2IP=E6=97=B6=E5=A2=9E=E5=8A=A0=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A3=80=E6=9F=A5=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?GC=E9=80=9F=E5=BA=A6=E6=85=A2=E6=97=B6=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E6=9C=891=E7=A7=92=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/iplibrary/ip_list.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/iplibrary/ip_list.go b/internal/iplibrary/ip_list.go index 1f171bb..15786ae 100644 --- a/internal/iplibrary/ip_list.go +++ b/internal/iplibrary/ip_list.go @@ -267,7 +267,7 @@ func (this *IPList) sortRangeItems(force bool) { func (this *IPList) lookupIP(ipBytes []byte) *IPItem { { item, ok := this.ipMap[ToHex(ipBytes)] - if ok { + if ok && (item.ExpiredAt == 0 || item.ExpiredAt > fasttime.Now().Unix()) { return item } } @@ -297,7 +297,11 @@ func (this *IPList) lookupIP(ipBytes []byte) *IPItem { return nil } - return this.sortedRangeItems[resultIndex] + var item = this.sortedRangeItems[resultIndex] + if item.ExpiredAt == 0 || item.ExpiredAt > fasttime.Now().Unix() { + return item + } + return nil } // 在不加锁的情况下删除某个Item