~cytrogen/masto-fe

ffb3fef7dba2f7ca2d927bc8432731962d2ee4f9 — Daniel M Brasil 2 years ago aec486b
Fix uncaught `ActiveRecord::StatementInvalid` in Mastodon::IpBlocksCLI (#24861)

1 files changed, 19 insertions(+), 0 deletions(-)

M lib/mastodon/ip_blocks_cli.rb
M lib/mastodon/ip_blocks_cli.rb => lib/mastodon/ip_blocks_cli.rb +19 -0
@@ 36,6 36,12 @@ module Mastodon
      failed    = 0

      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)

        if ip_block.present? && !options[:force]


@@ 79,6 85,12 @@ module Mastodon
      skipped   = 0

      addresses.each do |address|
        unless valid_ip_address?(address)
          say("#{address} is invalid", :yellow)
          skipped += 1
          next
        end

        ip_blocks = if options[:force]
                      IpBlock.where('ip >>= ?', address)
                    else


@@ 126,5 138,12 @@ module Mastodon
        :red
      end
    end

    def valid_ip_address?(ip_address)
      IPAddr.new(ip_address)
      true
    rescue IPAddr::InvalidAddressError
      false
    end
  end
end