From f2d9652fad23064b8ea23a2ad45195fa45d2a9f6 Mon Sep 17 00:00:00 2001 From: r888888888 Date: Tue, 18 Aug 2015 14:18:27 -0700 Subject: [PATCH] addresses #2498: include private addresses --- config/danbooru_default_config.rb | 32 +++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index df03b6845..fd0900de6 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -364,14 +364,30 @@ module Danbooru def banned_ip_for_download?(ip_addr) raise ArgumentError unless ip_addr.is_a?(IPAddr) - if IPAddr.new("127.0.0.1") == ip_addr - true - elsif IPAddr.new("169.254.0.0/16").include?(ip_addr) - true - elsif IPAddr.new("::1") == ip_addr - true - elsif IPAddr.new("fe80::/10").include?(ip_addr) - true + if ip_addr.ipv4? + if IPAddr.new("127.0.0.1") == ip_addr + true + elsif IPAddr.new("169.254.0.0/16").include?(ip_addr) + true + elsif IPAddr.new("10.0.0.0/8").include?(ip_addr) + 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 false end