Merge branch 'master' of github.com:internetee/registry

This commit is contained in:
Andres Keskküla 2014-10-15 14:55:59 +03:00
commit eeb315b630
5 changed files with 37 additions and 24 deletions

View file

@ -245,13 +245,8 @@ class Epp::EppDomain < Domain
def detach_dnskeys(dnssec_data)
sg = SettingGroup.dnskeys
ds_data_allowed = sg.setting(Setting::ALLOW_DS_DATA).value == '0' ? false : true
key_data_allowed = sg.setting(Setting::ALLOW_KEY_DATA).value == '0' ? false : true
if dnssec_data[:ds_data].any? && !ds_data_allowed
errors.add(:base, :ds_data_not_allowed)
return
end
return false unless validate_dnssec_data(dnssec_data, sg)
to_delete = []
dnssec_data[:ds_data].each do |x|
@ -263,11 +258,6 @@ class Epp::EppDomain < Domain
end
end
if dnssec_data[:key_data].any? && !key_data_allowed
errors.add(:base, :key_data_not_allowed)
return
end
to_delete = []
dnssec_data[:key_data].each do |x|
ds = dnskeys.where(public_key: x[:public_key])
@ -455,6 +445,24 @@ class Epp::EppDomain < Domain
res[:max_sig_life] = parsed_frame.css('maxSigLife').first.try(:text)
res = parse_ds_data_from_frame(parsed_frame, res)
parse_key_data_from_frame(parsed_frame, res)
end
def parse_key_data_from_frame(parsed_frame, res)
parsed_frame.xpath('keyData').each do |x|
res[:key_data] << {
flags: x.css('flags').first.try(:text),
protocol: x.css('protocol').first.try(:text),
alg: x.css('alg').first.try(:text),
public_key: x.css('pubKey').first.try(:text)
}
end
res
end
def parse_ds_data_from_frame(parsed_frame, res)
parsed_frame.css('dsData').each do |x|
data = {
ds_key_tag: x.css('keyTag').first.try(:text),
@ -474,15 +482,6 @@ class Epp::EppDomain < Domain
res[:ds_data] << data
end
parsed_frame.xpath('keyData').each do |x|
res[:key_data] << {
flags: x.css('flags').first.try(:text),
protocol: x.css('protocol').first.try(:text),
alg: x.css('alg').first.try(:text),
public_key: x.css('pubKey').first.try(:text)
}
end
res
end

View file

@ -226,7 +226,12 @@ describe 'EPP Domain', epp: true do
flags: { value: '257' },
protocol: { value: '3' },
alg: { value: '8' },
pubKey: { value: 'AwEAAaOf5+lz3ftsL+0CCvfJbhUF/NVsNh8BKo61oYs5fXVbuWDiH872 LC8uKDO92TJy7Q4TF9XMAKMMlf1GMAxlRspD749SOCTN00sqfWx1OMTu a28L1PerwHq7665oDJDKqR71btcGqyLKhe2QDvCdA0mENimF1NudX1BJ DDFi6oOZ0xE/0CuveB64I3ree7nCrwLwNs56kXC4LYoX3XdkOMKiJLL/ MAhcxXa60CdZLoRtTEW3z8/oBq4hEAYMCNclpbd6y/exScwBxFTdUfFk KsdNcmvai1lyk9vna0WQrtpYpHKMXvY9LFHaJxCOLR4umfeQ42RuTd82 lqfU6ClMeXs=' }
pubKey: { value: 'AwEAAaOf5+lz3ftsL+0CCvfJbhUF/NVsNh8BKo61oYs5fXVbuWDiH872 '\
'LC8uKDO92TJy7Q4TF9XMAKMMlf1GMAxlRspD749SOCTN00sqfWx1OMTu '\
'a28L1PerwHq7665oDJDKqR71btcGqyLKhe2QDvCdA0mENimF1NudX1BJ '\
'DDFi6oOZ0xE/0CuveB64I3ree7nCrwLwNs56kXC4LYoX3XdkOMKiJLL/ '\
'MAhcxXa60CdZLoRtTEW3z8/oBq4hEAYMCNclpbd6y/exScwBxFTdUfFk '\
'KsdNcmvai1lyk9vna0WQrtpYpHKMXvY9LFHaJxCOLR4umfeQ42RuTd82 lqfU6ClMeXs=' }
}
}
]

View file

@ -2,6 +2,11 @@ Fabricator(:dnskey) do
alg 8
flags 257
protocol 3
public_key 'AwEAAaOf5+lz3ftsL+0CCvfJbhUF/NVsNh8BKo61oYs5fXVbuWDiH872 LC8uKDO92TJy7Q4TF9XMAKMMlf1GMAxlRspD749SOCTN00sqfWx1OMTu a28L1PerwHq7665oDJDKqR71btcGqyLKhe2QDvCdA0mENimF1NudX1BJ DDFi6oOZ0xE/0CuveB64I3ree7nCrwLwNs56kXC4LYoX3XdkOMKiJLL/ MAhcxXa60CdZLoRtTEW3z8/oBq4hEAYMCNclpbd6y/exScwBxFTdUfFk KsdNcmvai1lyk9vna0WQrtpYpHKMXvY9LFHaJxCOLR4umfeQ42RuTd82 lqfU6ClMeXs='
public_key 'AwEAAaOf5+lz3ftsL+0CCvfJbhUF/NVsNh8BKo61oYs5fXVbuWDiH872 '\
'LC8uKDO92TJy7Q4TF9XMAKMMlf1GMAxlRspD749SOCTN00sqfWx1OMTu '\
'a28L1PerwHq7665oDJDKqR71btcGqyLKhe2QDvCdA0mENimF1NudX1BJ '\
'DDFi6oOZ0xE/0CuveB64I3ree7nCrwLwNs56kXC4LYoX3XdkOMKiJLL/ '\
'MAhcxXa60CdZLoRtTEW3z8/oBq4hEAYMCNclpbd6y/exScwBxFTdUfFk '\
'KsdNcmvai1lyk9vna0WQrtpYpHKMXvY9LFHaJxCOLR4umfeQ42RuTd82 lqfU6ClMeXs='
ds_digest_type 2
end

View file

@ -4,5 +4,6 @@ Fabricator(:user) do
email 'info@gitlab.eu'
identity_code '37810013108'
admin true
country
registrar
end

View file

@ -3,12 +3,15 @@ require 'rails_helper'
feature 'Domain transfer', type: :feature do
let(:elkdata) { Fabricate(:registrar, { name: 'Elkdata', reg_no: '123' }) }
let(:zone) { Fabricate(:registrar) }
let(:zone_user) { Fabricate(:user, registrar: zone, username: 'zone', admin: false) }
let(:elkdata_user) { Fabricate(:user, registrar: elkdata, username: 'elkdata', admin: false) }
let(:zone_user) { Fabricate(:user, registrar: zone, username: 'zone', admin: false, identity_code: '37810013087') }
let(:elkdata_user) {
Fabricate(:user, registrar: elkdata, username: 'elkdata', admin: false, identity_code: '37810013261')
}
background do
Fabricate(:domain_validation_setting_group)
Fabricate(:domain_general_setting_group)
Fabricate(:dnskeys_setting_group)
Fabricate(:domain, registrar: zone)
end