mirror of
https://github.com/internetee/registry.git
synced 2025-08-12 12:39:34 +02:00
Merge branch 'master' of github.com:internetee/registry
This commit is contained in:
commit
eeb315b630
5 changed files with 37 additions and 24 deletions
|
@ -245,13 +245,8 @@ class Epp::EppDomain < Domain
|
||||||
|
|
||||||
def detach_dnskeys(dnssec_data)
|
def detach_dnskeys(dnssec_data)
|
||||||
sg = SettingGroup.dnskeys
|
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
|
return false unless validate_dnssec_data(dnssec_data, sg)
|
||||||
errors.add(:base, :ds_data_not_allowed)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
to_delete = []
|
to_delete = []
|
||||||
dnssec_data[:ds_data].each do |x|
|
dnssec_data[:ds_data].each do |x|
|
||||||
|
@ -263,11 +258,6 @@ class Epp::EppDomain < Domain
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if dnssec_data[:key_data].any? && !key_data_allowed
|
|
||||||
errors.add(:base, :key_data_not_allowed)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
to_delete = []
|
to_delete = []
|
||||||
dnssec_data[:key_data].each do |x|
|
dnssec_data[:key_data].each do |x|
|
||||||
ds = dnskeys.where(public_key: x[:public_key])
|
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[: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|
|
parsed_frame.css('dsData').each do |x|
|
||||||
data = {
|
data = {
|
||||||
ds_key_tag: x.css('keyTag').first.try(:text),
|
ds_key_tag: x.css('keyTag').first.try(:text),
|
||||||
|
@ -474,15 +482,6 @@ class Epp::EppDomain < Domain
|
||||||
res[:ds_data] << data
|
res[:ds_data] << data
|
||||||
end
|
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
|
res
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -226,7 +226,12 @@ describe 'EPP Domain', epp: true do
|
||||||
flags: { value: '257' },
|
flags: { value: '257' },
|
||||||
protocol: { value: '3' },
|
protocol: { value: '3' },
|
||||||
alg: { value: '8' },
|
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=' }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,6 +2,11 @@ Fabricator(:dnskey) do
|
||||||
alg 8
|
alg 8
|
||||||
flags 257
|
flags 257
|
||||||
protocol 3
|
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
|
ds_digest_type 2
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,5 +4,6 @@ Fabricator(:user) do
|
||||||
email 'info@gitlab.eu'
|
email 'info@gitlab.eu'
|
||||||
identity_code '37810013108'
|
identity_code '37810013108'
|
||||||
admin true
|
admin true
|
||||||
|
country
|
||||||
registrar
|
registrar
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,12 +3,15 @@ require 'rails_helper'
|
||||||
feature 'Domain transfer', type: :feature do
|
feature 'Domain transfer', type: :feature do
|
||||||
let(:elkdata) { Fabricate(:registrar, { name: 'Elkdata', reg_no: '123' }) }
|
let(:elkdata) { Fabricate(:registrar, { name: 'Elkdata', reg_no: '123' }) }
|
||||||
let(:zone) { Fabricate(:registrar) }
|
let(:zone) { Fabricate(:registrar) }
|
||||||
let(:zone_user) { Fabricate(:user, registrar: zone, username: 'zone', 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) }
|
let(:elkdata_user) {
|
||||||
|
Fabricate(:user, registrar: elkdata, username: 'elkdata', admin: false, identity_code: '37810013261')
|
||||||
|
}
|
||||||
|
|
||||||
background do
|
background do
|
||||||
Fabricate(:domain_validation_setting_group)
|
Fabricate(:domain_validation_setting_group)
|
||||||
Fabricate(:domain_general_setting_group)
|
Fabricate(:domain_general_setting_group)
|
||||||
|
Fabricate(:dnskeys_setting_group)
|
||||||
Fabricate(:domain, registrar: zone)
|
Fabricate(:domain, registrar: zone)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue