|
|
@ -36,6 +36,12 @@ module Mastodon |
|
|
|
failed = 0 |
|
|
|
failed = 0 |
|
|
|
|
|
|
|
|
|
|
|
addresses.each do |address| |
|
|
|
addresses.each do |address| |
|
|
|
|
|
|
|
unless valid_ip_address?(address) |
|
|
|
|
|
|
|
say("#{address} is invalid", :red) |
|
|
|
|
|
|
|
failed += 1 |
|
|
|
|
|
|
|
next |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
ip_block = IpBlock.find_by(ip: address) |
|
|
|
ip_block = IpBlock.find_by(ip: address) |
|
|
|
|
|
|
|
|
|
|
|
if ip_block.present? && !options[:force] |
|
|
|
if ip_block.present? && !options[:force] |
|
|
@ -79,6 +85,12 @@ module Mastodon |
|
|
|
skipped = 0 |
|
|
|
skipped = 0 |
|
|
|
|
|
|
|
|
|
|
|
addresses.each do |address| |
|
|
|
addresses.each do |address| |
|
|
|
|
|
|
|
unless valid_ip_address?(address) |
|
|
|
|
|
|
|
say("#{address} is invalid", :yellow) |
|
|
|
|
|
|
|
skipped += 1 |
|
|
|
|
|
|
|
next |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
ip_blocks = if options[:force] |
|
|
|
ip_blocks = if options[:force] |
|
|
|
IpBlock.where('ip >>= ?', address) |
|
|
|
IpBlock.where('ip >>= ?', address) |
|
|
|
else |
|
|
|
else |
|
|
@ -126,5 +138,12 @@ module Mastodon |
|
|
|
:red |
|
|
|
:red |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def valid_ip_address?(ip_address) |
|
|
|
|
|
|
|
IPAddr.new(ip_address) |
|
|
|
|
|
|
|
true |
|
|
|
|
|
|
|
rescue IPAddr::InvalidAddressError |
|
|
|
|
|
|
|
false |
|
|
|
|
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|