addresses #2498: include private addresses
This commit is contained in:
@@ -364,14 +364,30 @@ module Danbooru
|
|||||||
def banned_ip_for_download?(ip_addr)
|
def banned_ip_for_download?(ip_addr)
|
||||||
raise ArgumentError unless ip_addr.is_a?(IPAddr)
|
raise ArgumentError unless ip_addr.is_a?(IPAddr)
|
||||||
|
|
||||||
if IPAddr.new("127.0.0.1") == ip_addr
|
if ip_addr.ipv4?
|
||||||
true
|
if IPAddr.new("127.0.0.1") == ip_addr
|
||||||
elsif IPAddr.new("169.254.0.0/16").include?(ip_addr)
|
true
|
||||||
true
|
elsif IPAddr.new("169.254.0.0/16").include?(ip_addr)
|
||||||
elsif IPAddr.new("::1") == ip_addr
|
true
|
||||||
true
|
elsif IPAddr.new("10.0.0.0/8").include?(ip_addr)
|
||||||
elsif IPAddr.new("fe80::/10").include?(ip_addr)
|
true
|
||||||
true
|
elsif IPAddr.new("172.16.0.0/12").include?(ip_addr)
|
||||||
|
true
|
||||||
|
elsif IPAddr.new("192.168.0.0/16").include?(ip_addr)
|
||||||
|
true
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
|
elsif ip_addr.ipv6?
|
||||||
|
if IPAddr.new("::1") == ip_addr
|
||||||
|
true
|
||||||
|
elsif IPAddr.new("fe80::/10").include?(ip_addr)
|
||||||
|
true
|
||||||
|
elsif IPAddr.new("fd00::/8").include?(ip_addr)
|
||||||
|
true
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
else
|
else
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user