MCPcopy
hub / github.com/tinyauthapp/tinyauth / FilterIP

Function FilterIP

internal/utils/security_utils.go:49–76  ·  view source on GitHub ↗
(filter string, ip string)

Source from the content-addressed store, hash-verified

47}
48
49func FilterIP(filter string, ip string) (bool, error) {
50 ipAddr := net.ParseIP(ip)
51
52 if ipAddr == nil {
53 return false, errors.New("invalid IP address")
54 }
55
56 filter = strings.Replace(filter, "-", "/", -1)
57
58 if strings.Contains(filter, "/") {
59 _, cidr, err := net.ParseCIDR(filter)
60 if err != nil {
61 return false, err
62 }
63 return cidr.Contains(ipAddr), nil
64 }
65
66 ipFilter := net.ParseIP(filter)
67 if ipFilter == nil {
68 return false, errors.New("invalid IP address in filter")
69 }
70
71 if ipFilter.Equal(ipAddr) {
72 return true, nil
73 }
74
75 return false, nil
76}
77
78func CheckFilter(filter string, str string) bool {
79 if len(strings.TrimSpace(filter)) == 0 {

Callers 3

TestFilterIPFunction · 0.92
CheckIPMethod · 0.92
IsBypassedIPMethod · 0.92

Calls

no outgoing calls

Tested by 1

TestFilterIPFunction · 0.74