use IsLoopback (#19477)

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
tokarchuk/v1.17
6543 3 years ago committed by GitHub
parent 5e4134b117
commit 2ec2baf248
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 24
      modules/validation/helpers.go

@ -13,32 +13,10 @@ import (
"code.gitea.io/gitea/modules/setting"
)
var loopbackIPBlocks []*net.IPNet
var externalTrackerRegex = regexp.MustCompile(`({?)(?:user|repo|index)+?(}?)`)
func init() {
for _, cidr := range []string{
"127.0.0.0/8", // IPv4 loopback
"::1/128", // IPv6 loopback
} {
if _, block, err := net.ParseCIDR(cidr); err == nil {
loopbackIPBlocks = append(loopbackIPBlocks, block)
}
}
}
func isLoopbackIP(ip string) bool {
pip := net.ParseIP(ip)
if pip == nil {
return false
}
for _, block := range loopbackIPBlocks {
if block.Contains(pip) {
return true
}
}
return false
return net.ParseIP(ip).IsLoopback()
}
// IsValidURL checks if URL is valid

Loading…
Cancel
Save