Pump SimpleIDN gem version, add check/test to block punicode IDN domains

Closes #1142
This commit is contained in:
Alex Sherman 2020-02-03 13:47:33 +05:00
parent 362c3c603c
commit 89cdfe20fc
5 changed files with 10 additions and 4 deletions

View file

@ -37,7 +37,7 @@ gem 'grape'
# registry specfic # registry specfic
gem 'isikukood' # for EE-id validation gem 'isikukood' # for EE-id validation
gem 'simpleidn', '0.0.7' # For punycode gem 'simpleidn', '0.0.9' # For punycode
gem 'money-rails' gem 'money-rails'
gem 'data_migrate' gem 'data_migrate'
gem 'whenever', '0.9.4', require: false gem 'whenever', '0.9.4', require: false

View file

@ -382,7 +382,7 @@ GEM
json (>= 1.8, < 3) json (>= 1.8, < 3)
simplecov-html (~> 0.10.0) simplecov-html (~> 0.10.0)
simplecov-html (0.10.2) simplecov-html (0.10.2)
simpleidn (0.0.7) simpleidn (0.0.9)
sinatra (2.0.7) sinatra (2.0.7)
mustermann (~> 1.0) mustermann (~> 1.0)
rack (~> 2.0) rack (~> 2.0)
@ -491,7 +491,7 @@ DEPENDENCIES
select2-rails (= 3.5.9.3) select2-rails (= 3.5.9.3)
selectize-rails (= 0.12.1) selectize-rails (= 0.12.1)
simplecov simplecov
simpleidn (= 0.0.7) simpleidn (= 0.0.9)
uglifier uglifier
validates_email_format_of (= 1.6.3) validates_email_format_of (= 1.6.3)
webdrivers webdrivers

View file

@ -60,7 +60,8 @@ module DNS
end end
def blocked? def blocked?
BlockedDomain.where(name: name).any? BlockedDomain.where(name: name).any? ||
BlockedDomain.where(name: SimpleIDN.to_unicode(name)).any?
end end
def reserved? def reserved?

View file

@ -1,2 +1,4 @@
one: one:
name: blocked.test name: blocked.test
idn:
name: blockedäöüõ.test

View file

@ -131,7 +131,10 @@ class DNS::DomainNameTest < ActiveSupport::TestCase
def test_blocked def test_blocked
assert_equal 'blocked.test', blocked_domains(:one).name assert_equal 'blocked.test', blocked_domains(:one).name
assert_equal 'blockedäöüõ.test', blocked_domains(:idn).name
assert DNS::DomainName.new('blocked.test').blocked? assert DNS::DomainName.new('blocked.test').blocked?
assert DNS::DomainName.new('blockedäöüõ.test').blocked?
assert DNS::DomainName.new(SimpleIDN.to_ascii('blockedäöüõ.test')).blocked?
assert_not DNS::DomainName.new('nonblocked .test').blocked? assert_not DNS::DomainName.new('nonblocked .test').blocked?
end end