mirror of
https://github.com/internetee/registry.git
synced 2025-07-01 16:53:37 +02:00
Story #107192666 - refactor to add stricter inclusion rules
reformatted block, white space changes, indent for surounding if any? pull up find_all? if *_allowed then check if allowed.any?
This commit is contained in:
parent
334179fae9
commit
9ca17e6b4a
1 changed files with 34 additions and 29 deletions
|
@ -60,39 +60,44 @@ xml.epp_head do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
xml.extension do
|
if @domain.dnskeys.any?
|
||||||
def tag_key_data(xml, key)
|
ds_data = Setting.ds_data_allowed ? @domain.dnskeys.find_all { |key| key.ds_digest.present? } : []
|
||||||
xml.tag!('secDNS:keyData') do
|
key_data = Setting.key_data_allowed ? @domain.dnskeys.find_all { |key| key.ds_digest.blank? } : []
|
||||||
xml.tag!('secDNS:flags', key.flags)
|
|
||||||
xml.tag!('secDNS:protocol', key.protocol)
|
|
||||||
xml.tag!('secDNS:alg', key.alg)
|
|
||||||
xml.tag!('secDNS:pubKey', key.public_key)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def tag_ds_data(xml, key)
|
# is there any reason to include <extension> without <secDNS:infData>
|
||||||
xml.tag!('secDNS:dsData') do
|
xml.extension do
|
||||||
xml.tag!('secDNS:keyTag', key.ds_key_tag)
|
def tag_key_data(xml, key)
|
||||||
xml.tag!('secDNS:alg', key.ds_alg)
|
xml.tag!('secDNS:keyData') do
|
||||||
xml.tag!('secDNS:digestType', key.ds_digest_type)
|
xml.tag!('secDNS:flags', key.flags)
|
||||||
xml.tag!('secDNS:digest', key.ds_digest)
|
xml.tag!('secDNS:protocol', key.protocol)
|
||||||
tag_key_data(xml, key) if key.public_key.present?
|
xml.tag!('secDNS:alg', key.alg)
|
||||||
end
|
xml.tag!('secDNS:pubKey', key.public_key)
|
||||||
end
|
|
||||||
|
|
||||||
xml.tag!('secDNS:infData', 'xmlns:secDNS' => 'urn:ietf:params:xml:ns:secDNS-1.1') do
|
|
||||||
if Setting.ds_data_allowed
|
|
||||||
(@domain.dnskeys.find_all { |key| key.ds_digest.present? }).sort.each do |key|
|
|
||||||
tag_ds_data(xml, key)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
(@domain.dnskeys.find_all { |key| key.ds_digest.blank? }).sort.each do |key|
|
|
||||||
tag_key_data(xml, key)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end if @domain.dnskeys.any? && (Setting.ds_data_allowed ? @domain.dnskeys.any? { |key| key.ds_digest.present? } : Setting.key_data_allowed)
|
|
||||||
|
|
||||||
|
def tag_ds_data(xml, key)
|
||||||
|
xml.tag!('secDNS:dsData') do
|
||||||
|
xml.tag!('secDNS:keyTag', key.ds_key_tag)
|
||||||
|
xml.tag!('secDNS:alg', key.ds_alg)
|
||||||
|
xml.tag!('secDNS:digestType', key.ds_digest_type)
|
||||||
|
xml.tag!('secDNS:digest', key.ds_digest)
|
||||||
|
tag_key_data(xml, key) if key.public_key.present?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
xml.tag!('secDNS:infData', 'xmlns:secDNS' => 'urn:ietf:params:xml:ns:secDNS-1.1') do
|
||||||
|
if Setting.ds_data_allowed
|
||||||
|
ds_data.sort.each do |key|
|
||||||
|
tag_ds_data(xml, key)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
key_data.sort.each do |key|
|
||||||
|
tag_key_data(xml, key)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end if key_data.present? || ds_data.present?
|
||||||
|
end
|
||||||
render('epp/shared/trID', builder: xml)
|
render('epp/shared/trID', builder: xml)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue