更好地支持IPv6

This commit is contained in:
GoEdgeLab
2024-04-06 10:21:52 +08:00
parent 3418749f36
commit 511f248473
10 changed files with 63 additions and 57 deletions

View File

@@ -2,6 +2,7 @@ package services
import (
"context"
"encoding/binary"
"github.com/TeaOSLab/EdgeAPI/internal/db/models"
"github.com/TeaOSLab/EdgeAPI/internal/errors"
rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils"
@@ -484,14 +485,17 @@ func (this *IPItemService) CheckIPItemStatus(ctx context.Context, req *pb.CheckI
}
// 校验IP
ip := net.ParseIP(req.Ip)
var ip = net.ParseIP(req.Ip)
if len(ip) == 0 {
return &pb.CheckIPItemStatusResponse{
IsOk: false,
Error: "请输入正确的IP",
}, nil
}
ipLong := utils.IP2Long(req.Ip)
var ipLong uint64
if ip.To4() != nil {
ipLong = uint64(binary.BigEndian.Uint32(ip.To4()))
}
var tx = this.NullTx()