From 3943628716d97f4d043c3ffb35dece36b903fabe Mon Sep 17 00:00:00 2001 From: Alex Sherman Date: Mon, 23 Nov 2020 18:07:01 +0500 Subject: [PATCH] Add some debug messages --- app/models/authorization/restricted_ip.rb | 2 ++ app/models/registrar.rb | 3 ++- app/models/white_ip.rb | 13 +++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/models/authorization/restricted_ip.rb b/app/models/authorization/restricted_ip.rb index b3c7b7cdb..0149814d5 100644 --- a/app/models/authorization/restricted_ip.rb +++ b/app/models/authorization/restricted_ip.rb @@ -14,7 +14,9 @@ module Authorization end def can_access_registrar_area_sign_in_page? + Rails.logger.info "Checking if Auth::RestrictedIp.enabled: #{self.class.enabled?}" return true unless self.class.enabled? + Rails.logger.info "Checking if registrar area accessible, result: #{WhiteIp.registrar_area.include_ip?(ip)}" WhiteIp.registrar_area.include_ip?(ip) end diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 040c7886b..4503bedd0 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -137,7 +137,8 @@ class Registrar < ApplicationRecord def api_ip_white?(ip) return true unless Setting.api_ip_whitelist_enabled - white_ips.api.pluck(:ipv4, :ipv6).flatten.include?(ip) + # white_ips.api.pluck(:ipv4, :ipv6).flatten.include?(ip) + white_ips.api.include_ip?(ip) end # Audit log is needed, therefore no raw SQL diff --git a/app/models/white_ip.rb b/app/models/white_ip.rb index 7198c225f..1d3379de5 100644 --- a/app/models/white_ip.rb +++ b/app/models/white_ip.rb @@ -41,21 +41,26 @@ class WhiteIp < ApplicationRecord class << self # rubocop:disable Style/CaseEquality def include_ip?(ip) - Rails.logger.info "Checking if whitelist includes ip:#{ip}" + Rails.logger.info "Checking if whitelist includes ip: #{ip}" return false if ip.blank? - where(id: ids_including(ip)).any? + result = where(id: ids_including(ip)).any? + Rails.logger.info "Result is: #{result}" + result end def ids_including(ip) + Rails.logger.info "Checking ip #{ip}" ipv4 = ipv6 = [] if check_ip4(ip).present? ipv4 = select { |white_ip| IPAddr.new(white_ip.ipv4, Socket::AF_INET) === check_ip4(ip) } end if check_ip6(ip).present? - ipv6 = select { |white_ip| IPAddr.new(white_ip.ipv6, Socket::AF_INET6) === check_ip6 } + ipv6 = select { |white_ip| IPAddr.new(white_ip.ipv6, Socket::AF_INET6) === check_ip6(ip) } end - (ipv4 + ipv6).pluck(:id).flatten.uniq + result = (ipv4 + ipv6).pluck(:id).flatten.uniq + Rails.logger.info "Result is #{result}" + result end # rubocop:enable Style/CaseEquality