Remove unimplemented Keyrelay feature

Closes #715
This commit is contained in:
Artur Beljajev 2019-09-17 14:52:21 +03:00
parent 0893d5b6f2
commit fc71bf93e7
46 changed files with 21 additions and 1487 deletions

View file

@ -1,13 +0,0 @@
module Admin
class KeyrelaysController < BaseController
load_and_authorize_resource
def index
@q = Keyrelay.includes(:requester, :accepter).search(params[:q])
@keyrelays = @q.result.page(params[:page])
end
def show;
end
end
end

View file

@ -58,7 +58,7 @@ module Epp
end
def validate_against_schema
return if ['hello', 'error', 'keyrelay'].include?(params[:action])
return if %w[hello error].include?(params[:action])
schema.validate(params[:nokogiri_frame]).each do |error|
epp_errors << {
code: 2001,

View file

@ -1,63 +0,0 @@
module Epp
class KeyrelaysController < BaseController
skip_authorization_check # TODO: move authorization under ability
def keyrelay
# keyrelay temp turned off
@domain = find_domain
handle_errors(@domain) and return unless @domain
handle_errors(@domain) and return unless @domain.authenticate(params[:parsed_frame].css('pw').text)
handle_errors(@domain) and return unless @domain.keyrelay(params[:parsed_frame], current_user.registrar)
render_epp_response '/epp/shared/success'
end
private
def validate_keyrelay
@prefix = 'keyrelay >'
requires(
'name',
'keyData', 'keyData > pubKey', 'keyData > flags', 'keyData > protocol', 'keyData > alg',
'authInfo', 'authInfo > pw'
)
optional 'expiry > relative', duration_iso8601: true
optional 'expiry > absolute', date_time_iso8601: true
exactly_one_of 'expiry > relative', 'expiry > absolute'
end
def find_domain
domain_name = params[:parsed_frame].css('name').text.strip.downcase
# keyrelay temp turned off
epp_errors << {
code: '2307',
msg: I18n.t(:unimplemented_object_service),
value: { obj: 'name', val: domain_name }
}
nil
# end of keyrelay temp turned off
# domain = Epp::Domain.includes(:registrant).find_by(name: domain_name)
# unless domain
# epp_errors << {
# code: '2303',
# msg: I18n.t('errors.messages.epp_domain_not_found'),
# value: { obj: 'name', val: domain_name }
# }
# return nil
# end
# domain
end
def resource
@domain
end
end
end

View file

@ -29,11 +29,7 @@ module Epp
end
end
if @notification.attached_obj_type == 'Keyrelay'
render_epp_response 'epp/poll/poll_keyrelay'
else
render_epp_response 'epp/poll/poll_req'
end
render_epp_response 'epp/poll/poll_req'
end
def ack_poll

View file

@ -1,20 +0,0 @@
class Registrar
class KeyrelaysController < DeppController
def show
authorize! :view, Depp::Keyrelay
end
def create
authorize! :create, Depp::Keyrelay
keyrelay = Depp::Keyrelay.new(current_user: depp_current_user)
@data = keyrelay.keyrelay(params)
if response_ok?
flash[:epp_results] = [{ 'code' => '1000', 'msg' => 'Command completed successfully', 'show' => true }]
redirect_to registrar_keyrelay_path
else
render 'show'
end
end
end
end

View file

@ -26,21 +26,6 @@ class Registrar
render 'show'
end
# TODO: Keyrelay is disabled for now
# def confirm_keyrelay
# authorize! :confirm, :keyrelay
# domain_params = params[:domain]
# @data = @domain.confirm_keyrelay(domain_params)
# if response_ok?
# redirect_to info_registrar_domains_url(domain_name: domain_params[:name])
# else
# @results = @data.css('result')
# @data = depp_current_user.request(@ex.poll)
# render 'show'
# end
# end
def confirm_transfer
domain_params = params[:domain]
@data = @domain.confirm_transfer(domain_params)

View file

@ -34,8 +34,6 @@ class Ability
if @user.registrar.api_ip_white?(@ip)
can :manage, :poll
can :manage, Depp::Contact
# can :manage, Depp::Keyrelay # TODO: Keyrelay is disabled for now
# can :confirm, :keyrelay # TODO: Keyrelay is disabled for now
can :manage, :xml_console
can :manage, Depp::Domain
end
@ -95,7 +93,6 @@ class Ability
can :manage, ApiUser
can :manage, AdminUser
can :manage, Certificate
can :manage, Keyrelay
can :manage, LegalDocument
can :manage, BankStatement
can :manage, BankTransaction

View file

@ -121,16 +121,6 @@ module Depp
}, op, Domain.construct_custom_params_hash(params)))
end
def confirm_keyrelay(domain_params)
xml = epp_xml.update({
name: { value: domain_params[:name] }
}, {
add: Domain.create_dnskeys_hash(domain_params)
})
current_user.request(xml)
end
def confirm_transfer(domain_params)
data = current_user.request(epp_xml.info(name: { value: domain_params[:name] }))
pw = data.css('pw').text

View file

@ -1,45 +0,0 @@
module Depp
class Keyrelay
attr_accessor :current_user, :epp_xml
def initialize(args = {})
self.current_user = args[:current_user]
self.epp_xml = EppXml::Keyrelay.new(cl_trid_prefix: current_user.tag)
end
def keyrelay(params)
custom_params = {}
if params[:legal_document].present?
type = params[:legal_document].original_filename.split('.').last.downcase
custom_params = {
_anonymus: [
legalDocument: { value: Base64.encode64(params[:legal_document].read), attrs: { type: type } }
]
}
end
xml = epp_xml.keyrelay({
name: { value: params['domain_name'] },
keyData: {
flags: { value: params['key_data_flags'] },
protocol: { value: params['key_data_protocol'] },
alg: { value: params['key_data_alg'] },
pubKey: { value: params['key_data_public_key'] }
},
authInfo: {
pw: { value: params['password'] }
},
expiry: expiry(params['expiry'])
}, custom_params)
current_user.request(xml)
end
def expiry(value)
ISO8601::Duration.new(value)
{ relative: { value: value } }
rescue => _e
{ absolute: { value: value } }
end
end
end

View file

@ -51,7 +51,6 @@ class Domain < ActiveRecord::Base
has_many :dnskeys, dependent: :destroy
has_many :keyrelays
has_one :whois_record # destroyment will be done in after_commit
accepts_nested_attributes_for :dnskeys, allow_destroy: true

View file

@ -691,52 +691,6 @@ class Epp::Domain < Domain
pt
end
def keyrelay(parsed_frame, requester)
if registrar == requester
errors.add(:base, :domain_already_belongs_to_the_querying_registrar) and return false
end
abs_datetime = parsed_frame.css('absolute').text
abs_datetime = DateTime.zone.parse(abs_datetime) if abs_datetime.present?
transaction do
kr = keyrelays.build(
pa_date: Time.zone.now,
key_data_flags: parsed_frame.css('flags').text,
key_data_protocol: parsed_frame.css('protocol').text,
key_data_alg: parsed_frame.css('alg').text,
key_data_public_key: parsed_frame.css('pubKey').text,
auth_info_pw: parsed_frame.css('pw').text,
expiry_relative: parsed_frame.css('relative').text,
expiry_absolute: abs_datetime,
requester: requester,
accepter: registrar
)
legal_document_data = self.class.parse_legal_document_from_frame(parsed_frame)
if legal_document_data
kr.legal_documents.build(
document_type: legal_document_data[:type],
body: legal_document_data[:body]
)
end
kr.save
return false unless valid?
registrar.notifications.create!(
text: 'Key Relay action completed successfully.',
attached_obj_type: kr.class.to_s,
attached_obj_id: kr.id
)
end
true
end
### VALIDATIONS ###
def validate_exp_dates(cur_exp_date)
begin
return if cur_exp_date.to_date == valid_to.to_date

View file

@ -1,61 +0,0 @@
class Keyrelay < ActiveRecord::Base
include Versions # version/keyrelay_version.rb
include EppErrors
belongs_to :domain
belongs_to :requester, class_name: 'Registrar'
belongs_to :accepter, class_name: 'Registrar'
has_many :legal_documents, as: :documentable
delegate :name, to: :domain, prefix: true
validates :domain, :key_data_public_key, :key_data_flags, :key_data_protocol,
:key_data_alg, :auth_info_pw, presence: true
validates :expiry_relative, duration_iso8601: true
validate :validate_expiry_relative_xor_expiry_absolute
after_save :touch_domain_version
def epp_code_map
{
'2005' => [
[:expiry_relative, :unknown_pattern, { value: { obj: 'relative', val: expiry_relative } }]
],
'2003' => [
# TODO: Remove only_one_parameter_allowed and other params that are validated in controller?
[:base, :only_one_parameter_allowed, { param_1: 'relative', param_2: 'absolute' }],
[:key_data_public_key, :blank],
[:key_data_flags, :blank],
[:key_data_protocol, :blank],
[:key_data_alg, :blank],
[:auth_info_pw, :blank]
]
}
end
def expiry
if expiry_relative.present?
pa_date + ISO8601::Duration.new(expiry_relative).to_seconds
elsif expiry_absolute
expiry_absolute
end
end
def status
if Time.zone.now > expiry
return 'expired'
else
return 'pending'
end
end
private
def validate_expiry_relative_xor_expiry_absolute
return if expiry_relative.blank? ^ expiry_absolute.blank?
errors.add(:base, I18n.t(:only_one_parameter_allowed, param_1: 'relative', param_2: 'absolute'))
end
end

View file

@ -1,5 +0,0 @@
class KeyrelayVersion < PaperTrail::Version
include VersionSession
self.table_name = :log_keyrelays
self.sequence_name = :log_keyrelays_id_seq
end

View file

@ -6,8 +6,6 @@
%li= link_to t(:contacts), admin_contacts_path
- if can? :show, Registrar
%li= link_to t(:registrars), admin_registrars_path
- if can? :show, Keyrelay
%li= link_to t(:keyrelays), admin_keyrelays_path
- if can?(:access, :settings_menu)
%li.dropdown
%a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}

View file

@ -1,20 +0,0 @@
.panel{class: 'panel-default'}
.panel-heading.clearfix
= t(:keyrelays)
.table-responsive
%table.table.table-hover.table-bordered.table-condensed
%thead
%tr
%th{class: 'col-xs-4'}= t(:uploaded_at)
%th{class: 'col-xs-3'}= t(:expiry)
%th{class: 'col-xs-2'}= t(:requester)
%th{class: 'col-xs-2'}= t(:accepter)
%th{class: 'col-xs-1'}= t(:status)
%tbody
- @domain.keyrelays.includes([:requester, :accepter]).order(pa_date: :desc).each do |x|
%tr
%td= link_to(x.pa_date, [:admin, x])
%td= x.expiry
%td= link_to(x.requester, [:admin, x.requester])
%td= link_to(x.accepter, [:admin, x.accepter])
%td= x.status

View file

@ -57,12 +57,6 @@
</div>
</div>
<div class="row">
<div class="col-md-12">
<%= render 'admin/domains/partials/keyrelays' %>
</div>
</div>
<div class="row">
<div class="col-md-12">
<%= render 'admin/domains/partials/legal_documents', legal_documents:

View file

@ -8,10 +8,10 @@
.col-md-3
.form-group
= f.label :request_command
= f.select :request_command_eq, [[t(:choose),''], 'hello', 'login', 'logout', 'info', 'create', 'update', 'delete', 'check', 'renew', 'transfer', 'poll', 'keyrelay'], {}, class: 'form-control selectize', placeholder: t(:choose)
= f.select :request_command_eq, [[t(:choose),''], 'hello', 'login', 'logout', 'info', 'create', 'update', 'delete', 'check', 'renew', 'transfer', 'poll'], {}, class: 'form-control selectize', placeholder: t(:choose)
.col-md-3
.form-group
- opts = [[t(:choose),''], 'contact', 'domain', 'poll', 'keyrelay']
- opts = [[t(:choose),''], 'contact', 'domain', 'poll']
- opts += [params[:q][:request_object_cont]] if params[:q].present? && params[:q][:request_object_cont].present?
= f.label :request_object
= f.select :request_object_cont, opts, {}, class: 'form-control selectize_create', placeholder: t(:choose)

View file

@ -1,42 +0,0 @@
= render 'shared/title', name: t(:keyrelays)
.row
.col-md-12
= search_form_for [:admin, @q], html: { class: 'form-horizontal' } do |f|
.col-md-11
.form-group
= f.search_field :domain_name_cont, class: 'form-control', placeholder: t(:domain_name)
.col-md-1.text-right.text-center-xs
.form-group
%button.btn.btn-primary
&nbsp;
%span.glyphicon.glyphicon-search
&nbsp;
%hr
.row
.col-md-12
.table-responsive
%table.table.table-hover.table-bordered.table-condensed
%thead
%tr
%th{class: 'col-xs-4'}
= sort_link(@q, 'pa_date', t(:uploaded_at))
%th{class: 'col-xs-3'}
= t(:expiry)
%th{class: 'col-xs-2'}
= sort_link(@q, 'requester_name', t(:requester))
%th{class: 'col-xs-2'}
= sort_link(@q, 'accepter_name', t(:accepter))
%th{class: 'col-xs-1'}
= t(:status)
%tbody
- @keyrelays.each do |x|
%tr
%td= link_to(x.pa_date, [:admin, x])
%td= x.expiry
%td= link_to(x.requester, [:admin, x.requester])
%td= link_to(x.accepter, [:admin, x.accepter])
%td= x.status
.row
.col-md-12
= paginate @keyrelays

View file

@ -1,61 +0,0 @@
= render 'shared/title', name: t(:keyrelay_details)
.row
.col-md-12
.panel.panel-default
.panel-heading
%h3.panel-title= t(:keyrelay)
.panel-body{style: 'word-wrap: break-word;'}
%dl.dl-horizontal
%dt= t(:uploaded_at)
%dd= @keyrelay.pa_date
%dt= t(:domain)
%dd= link_to(@keyrelay.domain, [:admin, @keyrelay.domain])
%dt= t(:status)
%dd= @keyrelay.status
%dt= t(:flag)
%dd= @keyrelay.key_data_flags
%dt= t(:protocol)
%dd= @keyrelay.key_data_protocol
%dt= t(:algorithm)
%dd= @keyrelay.key_data_alg
%dt= t(:public_key)
%dd= @keyrelay.key_data_public_key
%dt= t(:authinfo_pw)
%dd= @keyrelay.auth_info_pw
%dt= t(:expiry_relative)
%dd= @keyrelay.expiry_relative
%dt= t(:expiry_absolute)
%dd= @keyrelay.expiry_absolute
%dt= t(:requester)
%dd= link_to(@keyrelay.requester, [:admin, @keyrelay.requester])
%dt= t(:accepter)
%dd= link_to(@keyrelay.accepter, [:admin, @keyrelay.accepter])
.row
.col-md-12
.panel.panel-default
.panel-heading.clearfix
= t(:legal_documents)
.table-responsive
%table.table.table-hover.table-bordered.table-condensed
%thead
%tr
%th{class: 'col-xs-8'}= t(:created_at)
%th{class: 'col-xs-4'}= t(:type)
%tbody
- @keyrelay.legal_documents.each do |x|
%tr
%td= link_to(x.created_at, [:admin, x])
%td= x.document_type

View file

@ -1,49 +0,0 @@
xml.instruct!(:xml, standalone: 'no')
xml.epp(
'xmlns' => 'https://epp.tld.ee/schema/epp-ee-1.0.xsd',
'xmlns:secDNS' => 'urn:ietf:params:xml:ns:secDNS-1.1',
'xmlns:domain' => 'https://epp.tld.ee/schema/domain-eis-1.0.xsd',
'xmlns:keyrelay' => 'urn:ietf:params:xml:ns:keyrelay-1.0'
) do
xml.response do
xml.result('code' => '1301') do
xml.msg 'Command completed successfully; ack to dequeue'
end
xml.tag!('msgQ', 'count' => current_user.unread_notifications.count, 'id' => @notification.id) do
xml.qDate @notification.created_at.try(:iso8601)
xml.msg @notification.text
end
xml.resData do
xml.tag!('keyrelay:response') do
xml.tag!('keyrelay:panData') do
xml.tag!('keyrelay:name', @object.domain_name)
xml.tag!('keyrelay:paDate', @object.pa_date.try(:iso8601))
xml.tag!('keyrelay:keyData') do
xml.tag!('secDNS:flags', @object.key_data_flags)
xml.tag!('secDNS:protocol', @object.key_data_protocol)
xml.tag!('secDNS:alg', @object.key_data_alg)
xml.tag!('secDNS:pubKey', @object.key_data_public_key)
end
xml.tag!('keyrelay:authInfo') do
xml.tag!('domain:pw', @object.auth_info_pw)
end
xml.tag!('keyrelay:expiry') do
xml.tag!('keyrelay:relative', @object.expiry_relative)
xml.tag!('keyrelay:absolute', @object.expiry_absolute)
end
xml.tag!('keyrelay:reID', @object.requester)
xml.tag!('keyrelay:acID', @object.accepter)
end
end
end
render('epp/shared/trID', builder: xml)
end
end

View file

@ -8,7 +8,6 @@ xml.epp_head do
xml.objURI 'https://epp.tld.ee/schema/domain-eis-1.0.xsd'
xml.objURI 'https://epp.tld.ee/schema/contact-ee-1.1.xsd'
xml.objURI 'urn:ietf:params:xml:ns:host-1.0'
xml.objURI 'urn:ietf:params:xml:ns:keyrelay-1.0'
xml.svcExtension do
xml.extURI 'urn:ietf:params:xml:ns:secDNS-1.1'
xml.extURI 'https://epp.tld.ee/schema/eis-1.0.xsd'

View file

@ -41,7 +41,7 @@
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav public-nav">
<% if can? :view, Depp::Domain %>
<% active_class = %w(registrant/domains registrant/check registrant/renew registrant/tranfer registrant/keyrelays).include?(params[:controller]) ? 'active' :nil %>
<% active_class = %w(registrant/domains registrant/check registrant/renew registrant/tranfer).include?(params[:controller]) ? 'active' :nil %>
<li class="<%= active_class %>">
<%= link_to t(:domains), registrant_domains_path %>
</li>

View file

@ -1,20 +0,0 @@
.panel{class: 'panel-default'}
.panel-heading.clearfix
= t(:keyrelays)
.table-responsive
%table.table.table-hover.table-bordered.table-condensed
%thead
%tr
%th{class: 'col-xs-4'}= t(:uploaded_at)
%th{class: 'col-xs-3'}= t(:expiry)
%th{class: 'col-xs-2'}= t(:requester)
%th{class: 'col-xs-2'}= t(:accepter)
%th{class: 'col-xs-1'}= t(:status)
%tbody
- @domain.keyrelays.includes([:requester, :accepter]).order(pa_date: :desc).each do |x|
%tr
%td= link_to(x.pa_date, [:registrar, x])
%td= x.expiry
%td= link_to(x.requester, [:registrar, x.requester])
%td= link_to(x.accepter, [:registrar, x.accepter])
%td= x.status

View file

@ -50,9 +50,3 @@
<%= render 'registrant/domains/partials/dnskeys' %>
</div>
</div>
<div class="row">
<div class="col-md-12">
<%= render 'registrant/domains/partials/keyrelays' %>
</div>
</div>

View file

@ -1,7 +1,7 @@
.navbar-collapse.collapse
%ul.nav.navbar-nav
- if can? :view, Depp::Domain
- active_class = %w(registrar/domains registrar/check registrar/renew registrar/tranfer registrar/keyrelays).include?(params[:controller]) ? 'active' :nil
- active_class = %w(registrar/domains registrar/check registrar/renew registrar/tranfer).include?(params[:controller]) ? 'active' :nil
%li{class: active_class}= link_to t(:domains), registrar_domains_path
- if can? :view, Depp::Contact

View file

@ -1,64 +0,0 @@
= render 'shared/title', name: t(:keyrelay)
.row
.col-md-8
= form_tag registrar_keyrelay_path, class: 'form-horizontal', method: :post, multipart: true do
.form-group
.col-md-3.control-label
= label_tag :domain_name, t(:domain_name), class: 'required'
.col-md-7
= text_field_tag :domain_name, params[:domain_name],
class: 'form-control', autocomplete: 'off', required: true
.form-group
.col-md-3.control-label
= label_tag :password, t(:password), class: 'required'
.col-md-7
= text_field_tag :password, params[:password],
class: 'form-control', autocomplete: 'off', required: true
.form-group
.col-md-3.control-label
= label_tag :expiry, t(:expiry), class: 'required'
.col-md-7
= text_field_tag :expiry, params[:expiry],
class: 'form-control', autocomplete: 'off', required: true
.form-group
.col-md-3.control-label
= label_tag :key_data_flags, t(:flag), class: 'required'
.col-md-7
= select_tag :key_data_flags,
options_for_select(Depp::Dnskey::FLAGS, params['key_data_flags']), {class: 'form-control'}
.form-group
.col-md-3.control-label
= label_tag :key_data_protocol, t(:protocol), class: 'required'
.col-md-7
= select_tag :key_data_protocol,
options_for_select(Depp::Dnskey::PROTOCOLS, params['key_data_protocol']),
{class: 'form-control'}
.form-group
.col-md-3.control-label
= label_tag :key_data_alg, t(:algorithm), class: 'required'
.col-md-7
= select_tag :key_data_alg,
options_for_select(Depp::Dnskey::ALGORITHMS, params['key_data_alg']), {class: 'form-control'}
.form-group
.col-md-3.control-label
= label_tag :key_data_public_key, t(:public_key), class: 'required'
.col-md-7
= text_field_tag :key_data_public_key, params['key_data_public_key'],
class: 'form-control', required: true
.form-group
.col-md-3.control-label
= label_tag :legal_document, t(:legal_document)
.col-md-7
= file_field_tag :legal_document
.form-group
.col-md-10.text-right
%button.btn.btn-warning= t(:upload_key)

View file

@ -10,8 +10,6 @@
.panel-heading.clearfix
.pull-left= t('message_no', id: msg_q['id'])
.pull-right
- if @data.css('panData').any? # this is a keyrelay request
= link_to(t(:confirm), 'javascript: void(0);', class: 'btn btn-warning btn-xs js-keyrelay-confirm')
- if @data.css('trnData trStatus').any? # this is a transfer request
- unless ['serverApproved', 'clientApproved'].include?(@data.css('trStatus').first.text)
= link_to(t(:confirm), 'javascript: void(0);', class: 'btn btn-warning btn-xs js-transfer-confirm')
@ -25,53 +23,14 @@
%dd= @data.css('qDate').text
%dl.dl-horizontal
/ keyrelay
- if @data.css('panData').any?
%dt= t(:domain_name)
%dd= @data.css('name').text
%dt= t(:authinfo_pw)
%dd= @data.css('pw').text
- if @data.css('relative').text.present?
%dt= t(:expiry_relative)
%dd= @data.css('relative').text
- if @data.css('absolute').text.present?
%dt= t(:expiry_absolute)
%dd= @data.css('absolute').text
%dt paDate
%dd= @data.css('paDate').text
%dt= t(:flag)
%dd= @data.css('flags').text
%dt= t(:protocol)
%dd= @data.css('protocol').text
%dt= t(:algorithm)
%dd= @data.css('alg').text
%dt= t(:public_key)
%dd= @data.css('pubKey').text
= form_tag confirm_keyrelay_registrar_poll_path, class: 'js-keyrelay-form' do
- if @data.css('trnData trStatus').any? # this is a transfer request
= form_tag confirm_transfer_registrar_poll_path, class: 'js-transfer-form' do
= hidden_field_tag 'domain[name]', @data.css('name').text
= hidden_field_tag 'domain[dnskeys_attributes][0][flags]', @data.css('flags').text
= hidden_field_tag 'domain[dnskeys_attributes][0][protocol]', @data.css('protocol').text
= hidden_field_tag 'domain[dnskeys_attributes][0][alg]', @data.css('alg').text
= hidden_field_tag 'domain[dnskeys_attributes][0][public_key]', @data.css('pubKey').text
- else
- if @data.css('trnData trStatus').any? # this is a transfer request
= form_tag confirm_transfer_registrar_poll_path, class: 'js-transfer-form' do
= hidden_field_tag 'domain[name]', @data.css('name').text
- @data.css('trnData').children.each do |x|
- next if x.blank?
%dt= t(x.name)
%dd= x.text
- @data.css('trnData').children.each do |x|
- next if x.blank?
%dt= t(x.name)
%dd= x.text
- else
.row
.col-sm-12
@ -83,9 +42,6 @@
:coffee
load_listener = ->
$(".js-keyrelay-confirm").on "click", ->
$(".js-keyrelay-form").submit()
$(".js-transfer-confirm").on "click", ->
$(".js-transfer-form").submit()
window.addEventListener 'load', load_listener

View file

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>example6.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>7521f360ae480e67c3096e4c046beb84</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>P1D</ext:relative>
</ext:expiry>
</ext:keyrelay>
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
<ext:clTRID>1422542244</ext:clTRID>
</command>
</epp>

View file

@ -150,22 +150,6 @@ en:
taken: 'Public key already exists'
blank: 'Public key is missing'
keyrelay:
attributes:
base:
only_one_parameter_allowed: 'Only one parameter allowed: %{param_1} or %{param_2}'
expiry_relative:
unknown_pattern: 'Expiry relative must be compatible to ISO 8601'
key_data_public_key:
blank: 'Public key is missing'
key_data_flags:
blank: 'Flag is missing'
key_data_protocol:
blank: 'Protocol is missing'
key_data_alg:
blank: 'Algorithm is missing'
auth_info_pw:
blank: 'Password is missing'
legal_document:
attributes:
body:
@ -338,13 +322,11 @@ en:
role: 'Role'
user: 'User'
customer_service: 'Customer service'
keyrelays: 'Keyrelays'
uploaded_at: 'Uploaded at'
expiry_relative: 'Expiry relative'
expiry_absolute: 'Expiry absolute'
requester: 'Requester'
accepter: 'Accepter'
keyrelay_details: 'Keyrelay details'
domain_name: 'Domain name'
created_at: 'Created at'
type: 'Type'
@ -455,7 +437,6 @@ en:
exDate: 'Valid to'
dequeue: 'Dequeue'
are_you_sure_you_want_to_delete_domain: 'Are you sure you want to delete domain %{domain}?'
keyrelay: 'Keyrelay'
upload_key: 'Upload key'
legal_document: 'Legal document'
legal_document_max_size: '(max. 8MB)'

View file

@ -117,13 +117,10 @@ Rails.application.routes.draw do
resource :poll, only: %i[show destroy] do
collection do
post 'confirm_keyrelay'
post 'confirm_transfer'
end
end
resource :keyrelay
resource :xml_console do
collection do
get 'load_xml'
@ -189,12 +186,9 @@ Rails.application.routes.draw do
root 'dashboard#show'
devise_for :users, path: '', class_name: 'AdminUser'
resources :keyrelays
resources :zonefiles
resources :zones, controller: 'dns/zones', except: %i[show destroy]
resources :legal_documents
resources :keyrelays
resources :prices, controller: 'billing/prices', except: %i[show destroy] do
member do
patch :expire

View file

@ -0,0 +1,6 @@
class DropKeyrelays < ActiveRecord::Migration
def change
drop_table :keyrelays
drop_table :log_keyrelays
end
end

View file

@ -993,49 +993,6 @@ CREATE SEQUENCE public.invoices_id_seq
ALTER SEQUENCE public.invoices_id_seq OWNED BY public.invoices.id;
--
-- Name: keyrelays; Type: TABLE; Schema: public; Owner: -; Tablespace:
--
CREATE TABLE public.keyrelays (
id integer NOT NULL,
domain_id integer,
pa_date timestamp without time zone,
key_data_flags character varying,
key_data_protocol character varying,
key_data_alg character varying,
key_data_public_key text,
auth_info_pw character varying,
expiry_relative character varying,
expiry_absolute timestamp without time zone,
requester_id integer,
accepter_id integer,
created_at timestamp without time zone,
updated_at timestamp without time zone,
creator_str character varying,
updator_str character varying
);
--
-- Name: keyrelays_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.keyrelays_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: keyrelays_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.keyrelays_id_seq OWNED BY public.keyrelays.id;
--
-- Name: legal_documents; Type: TABLE; Schema: public; Owner: -; Tablespace:
--
@ -1566,44 +1523,6 @@ CREATE SEQUENCE public.log_invoices_id_seq
ALTER SEQUENCE public.log_invoices_id_seq OWNED BY public.log_invoices.id;
--
-- Name: log_keyrelays; Type: TABLE; Schema: public; Owner: -; Tablespace:
--
CREATE TABLE public.log_keyrelays (
id integer NOT NULL,
item_type character varying NOT NULL,
item_id integer NOT NULL,
event character varying NOT NULL,
whodunnit character varying,
object json,
object_changes json,
created_at timestamp without time zone,
session character varying,
children json,
uuid character varying
);
--
-- Name: log_keyrelays_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.log_keyrelays_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: log_keyrelays_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.log_keyrelays_id_seq OWNED BY public.log_keyrelays.id;
--
-- Name: log_nameservers; Type: TABLE; Schema: public; Owner: -; Tablespace:
--
@ -2514,13 +2433,6 @@ ALTER TABLE ONLY public.invoice_items ALTER COLUMN id SET DEFAULT nextval('publi
ALTER TABLE ONLY public.invoices ALTER COLUMN id SET DEFAULT nextval('public.invoices_id_seq'::regclass);
--
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.keyrelays ALTER COLUMN id SET DEFAULT nextval('public.keyrelays_id_seq'::regclass);
--
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
--
@ -2619,13 +2531,6 @@ ALTER TABLE ONLY public.log_invoice_items ALTER COLUMN id SET DEFAULT nextval('p
ALTER TABLE ONLY public.log_invoices ALTER COLUMN id SET DEFAULT nextval('public.log_invoices_id_seq'::regclass);
--
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.log_keyrelays ALTER COLUMN id SET DEFAULT nextval('public.log_keyrelays_id_seq'::regclass);
--
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
--
@ -2902,14 +2807,6 @@ ALTER TABLE ONLY public.invoices
ADD CONSTRAINT invoices_pkey PRIMARY KEY (id);
--
-- Name: keyrelays_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
--
ALTER TABLE ONLY public.keyrelays
ADD CONSTRAINT keyrelays_pkey PRIMARY KEY (id);
--
-- Name: legal_documents_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
--
@ -3022,14 +2919,6 @@ ALTER TABLE ONLY public.log_invoices
ADD CONSTRAINT log_invoices_pkey PRIMARY KEY (id);
--
-- Name: log_keyrelays_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
--
ALTER TABLE ONLY public.log_keyrelays
ADD CONSTRAINT log_keyrelays_pkey PRIMARY KEY (id);
--
-- Name: log_nameservers_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
--
@ -3469,27 +3358,6 @@ CREATE INDEX index_invoice_items_on_invoice_id ON public.invoice_items USING btr
CREATE INDEX index_invoices_on_buyer_id ON public.invoices USING btree (buyer_id);
--
-- Name: index_keyrelays_on_accepter_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
--
CREATE INDEX index_keyrelays_on_accepter_id ON public.keyrelays USING btree (accepter_id);
--
-- Name: index_keyrelays_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
--
CREATE INDEX index_keyrelays_on_domain_id ON public.keyrelays USING btree (domain_id);
--
-- Name: index_keyrelays_on_requester_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
--
CREATE INDEX index_keyrelays_on_requester_id ON public.keyrelays USING btree (requester_id);
--
-- Name: index_legal_documents_on_checksum; Type: INDEX; Schema: public; Owner: -; Tablespace:
--
@ -3672,20 +3540,6 @@ CREATE INDEX index_log_invoices_on_item_type_and_item_id ON public.log_invoices
CREATE INDEX index_log_invoices_on_whodunnit ON public.log_invoices USING btree (whodunnit);
--
-- Name: index_log_keyrelays_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
--
CREATE INDEX index_log_keyrelays_on_item_type_and_item_id ON public.log_keyrelays USING btree (item_type, item_id);
--
-- Name: index_log_keyrelays_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
--
CREATE INDEX index_log_keyrelays_on_whodunnit ON public.log_keyrelays USING btree (whodunnit);
--
-- Name: index_log_nameservers_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
--
@ -4862,6 +4716,8 @@ INSERT INTO schema_migrations (version) VALUES ('20190811202711');
INSERT INTO schema_migrations (version) VALUES ('20190811205406');
INSERT INTO schema_migrations (version) VALUES ('20190917114907');
INSERT INTO schema_migrations (version) VALUES ('20191004095229');
INSERT INTO schema_migrations (version) VALUES ('20191004103144');

View file

@ -27,11 +27,6 @@
<ellipse fill="none" stroke="black" cx="-322" cy="-150" rx="98.2828" ry="18"/>
<text text-anchor="middle" x="-322" y="-146.3" font-family="Times,serif" font-size="14.00">Epp::DomainsController</text>
</g>
<!-- Epp::KeyrelaysController -->
<g id="node4" class="node"><title>Epp::KeyrelaysController</title>
<ellipse fill="none" stroke="black" cx="-283" cy="-402" rx="101.282" ry="18"/>
<text text-anchor="middle" x="-283" y="-398.3" font-family="Times,serif" font-size="14.00">Epp::KeyrelaysController</text>
</g>
<!-- Epp::SessionsController -->
<g id="node5" class="node"><title>Epp::SessionsController</title>
<ellipse fill="none" stroke="black" cx="24" cy="-450" rx="96.3833" ry="18"/>
@ -87,11 +82,6 @@
<ellipse fill="none" stroke="black" cx="110" cy="366" rx="109.681" ry="18"/>
<text text-anchor="middle" x="110" y="369.7" font-family="Times,serif" font-size="14.00">Admin::ApiUsersController</text>
</g>
<!-- Admin::KeyrelaysController -->
<g id="node18" class="node"><title>Admin::KeyrelaysController</title>
<ellipse fill="none" stroke="black" cx="-152" cy="246" rx="112.38" ry="18"/>
<text text-anchor="middle" x="-152" y="249.7" font-family="Times,serif" font-size="14.00">Admin::KeyrelaysController</text>
</g>
<!-- Admin::SessionsController -->
<g id="node19" class="node"><title>Admin::SessionsController</title>
<ellipse fill="none" stroke="black" cx="347" cy="366" rx="106.681" ry="18"/>
@ -172,11 +162,6 @@
<ellipse fill="none" stroke="black" cx="-196" cy="-330" rx="116.18" ry="18"/>
<text text-anchor="middle" x="-196" y="-326.3" font-family="Times,serif" font-size="14.00">Registrar::DomainsController</text>
</g>
<!-- Registrar::KeyrelaysController -->
<g id="node36" class="node"><title>Registrar::KeyrelaysController</title>
<ellipse fill="none" stroke="black" cx="-144" cy="66" rx="119.679" ry="18"/>
<text text-anchor="middle" x="-144" y="69.7" font-family="Times,serif" font-size="14.00">Registrar::KeyrelaysController</text>
</g>
<!-- Registrar::SessionsController -->
<g id="node37" class="node"><title>Registrar::SessionsController</title>
<ellipse fill="none" stroke="black" cx="114" cy="306" rx="114.28" ry="18"/>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After

View file

@ -54,18 +54,6 @@
<text text-anchor="start" x="108.5" y="76.2" font-family="Times,serif" font-size="14.00">validate_transfer</text>
<text text-anchor="start" x="108.5" y="91.2" font-family="Times,serif" font-size="14.00">validate_update</text>
</g>
<!-- Epp::KeyrelaysController -->
<g id="node4" class="node"><title>Epp::KeyrelaysController</title>
<path fill="none" stroke="black" d="M-688,-380.5C-688,-380.5 -556,-380.5 -556,-380.5 -550,-380.5 -544,-386.5 -544,-392.5 -544,-392.5 -544,-491.5 -544,-491.5 -544,-497.5 -550,-503.5 -556,-503.5 -556,-503.5 -688,-503.5 -688,-503.5 -694,-503.5 -700,-497.5 -700,-491.5 -700,-491.5 -700,-392.5 -700,-392.5 -700,-386.5 -694,-380.5 -688,-380.5"/>
<text text-anchor="middle" x="-622" y="-488.3" font-family="Times,serif" font-size="14.00">Epp::KeyrelaysController</text>
<polyline fill="none" stroke="black" points="-700,-480.5 -544,-480.5 "/>
<text text-anchor="start" x="-692" y="-465.3" font-family="Times,serif" font-size="14.00">keyrelay</text>
<polyline fill="none" stroke="black" points="-700,-457.5 -544,-457.5 "/>
<polyline fill="none" stroke="black" points="-700,-433.5 -544,-433.5 "/>
<text text-anchor="start" x="-692" y="-418.3" font-family="Times,serif" font-size="14.00">_layout</text>
<text text-anchor="start" x="-692" y="-403.3" font-family="Times,serif" font-size="14.00">find_domain</text>
<text text-anchor="start" x="-692" y="-388.3" font-family="Times,serif" font-size="14.00">validate_keyrelay</text>
</g>
<!-- Epp::SessionsController -->
<g id="node5" class="node"><title>Epp::SessionsController</title>
<path fill="none" stroke="black" d="M532,-320.5C532,-320.5 656,-320.5 656,-320.5 662,-320.5 668,-326.5 668,-332.5 668,-332.5 668,-491.5 668,-491.5 668,-497.5 662,-503.5 656,-503.5 656,-503.5 532,-503.5 532,-503.5 526,-503.5 520,-497.5 520,-491.5 520,-491.5 520,-332.5 520,-332.5 520,-326.5 526,-320.5 532,-320.5"/>
@ -226,17 +214,6 @@
<text text-anchor="start" x="107.5" y="-323.3" font-family="Times,serif" font-size="14.00">api_user_params</text>
<text text-anchor="start" x="107.5" y="-308.3" font-family="Times,serif" font-size="14.00">set_api_user</text>
</g>
<!-- Admin::KeyrelaysController -->
<g id="node18" class="node"><title>Admin::KeyrelaysController</title>
<path fill="none" stroke="black" d="M-627.5,379C-627.5,379 -478.5,379 -478.5,379 -472.5,379 -466.5,373 -466.5,367 -466.5,367 -466.5,283 -466.5,283 -466.5,277 -472.5,271 -478.5,271 -478.5,271 -627.5,271 -627.5,271 -633.5,271 -639.5,277 -639.5,283 -639.5,283 -639.5,367 -639.5,367 -639.5,373 -633.5,379 -627.5,379"/>
<text text-anchor="middle" x="-553" y="286.2" font-family="Times,serif" font-size="14.00">Admin::KeyrelaysController</text>
<polyline fill="none" stroke="black" points="-639.5,294 -466.5,294 "/>
<text text-anchor="start" x="-631.5" y="309.2" font-family="Times,serif" font-size="14.00">index</text>
<text text-anchor="start" x="-631.5" y="324.2" font-family="Times,serif" font-size="14.00">show</text>
<polyline fill="none" stroke="black" points="-639.5,332 -466.5,332 "/>
<polyline fill="none" stroke="black" points="-639.5,356 -466.5,356 "/>
<text text-anchor="start" x="-631.5" y="371.2" font-family="Times,serif" font-size="14.00">_layout</text>
</g>
<!-- Admin::SessionsController -->
<g id="node19" class="node"><title>Admin::SessionsController</title>
<path fill="none" stroke="black" d="M-688,-101C-688,-101 -548,-101 -548,-101 -542,-101 -536,-107 -536,-113 -536,-113 -536,-197 -536,-197 -536,-203 -542,-209 -548,-209 -548,-209 -688,-209 -688,-209 -694,-209 -700,-203 -700,-197 -700,-197 -700,-113 -700,-113 -700,-107 -694,-101 -688,-101"/>
@ -458,17 +435,6 @@
<text text-anchor="start" x="288.5" y="256.7" font-family="Times,serif" font-size="14.00">init_contacts_autocomplete_map</text>
<text text-anchor="start" x="288.5" y="271.7" font-family="Times,serif" font-size="14.00">init_domain</text>
</g>
<!-- Registrar::KeyrelaysController -->
<g id="node36" class="node"><title>Registrar::KeyrelaysController</title>
<path fill="none" stroke="black" d="M712,499C712,499 872,499 872,499 878,499 884,493 884,487 884,487 884,403 884,403 884,397 878,391 872,391 872,391 712,391 712,391 706,391 700,397 700,403 700,403 700,487 700,487 700,493 706,499 712,499"/>
<text text-anchor="middle" x="792" y="406.2" font-family="Times,serif" font-size="14.00">Registrar::KeyrelaysController</text>
<polyline fill="none" stroke="black" points="700,414 884,414 "/>
<text text-anchor="start" x="708" y="429.2" font-family="Times,serif" font-size="14.00">create</text>
<text text-anchor="start" x="708" y="444.2" font-family="Times,serif" font-size="14.00">show</text>
<polyline fill="none" stroke="black" points="700,452 884,452 "/>
<polyline fill="none" stroke="black" points="700,476 884,476 "/>
<text text-anchor="start" x="708" y="491.2" font-family="Times,serif" font-size="14.00">_layout</text>
</g>
<!-- Registrar::SessionsController -->
<g id="node37" class="node"><title>Registrar::SessionsController</title>
<path fill="none" stroke="black" d="M-288,-301C-288,-301 -136,-301 -136,-301 -130,-301 -124,-307 -124,-313 -124,-313 -124,-517 -124,-517 -124,-523 -130,-529 -136,-529 -136,-529 -288,-529 -288,-529 -294,-529 -300,-523 -300,-517 -300,-517 -300,-313 -300,-313 -300,-307 -294,-301 -288,-301"/>
@ -490,7 +456,6 @@
<path fill="none" stroke="black" d="M-288,619.5C-288,619.5 -156,619.5 -156,619.5 -150,619.5 -144,613.5 -144,607.5 -144,607.5 -144,478.5 -144,478.5 -144,472.5 -150,466.5 -156,466.5 -156,466.5 -288,466.5 -288,466.5 -294,466.5 -300,472.5 -300,478.5 -300,478.5 -300,607.5 -300,607.5 -300,613.5 -294,619.5 -288,619.5"/>
<text text-anchor="middle" x="-222" y="481.7" font-family="Times,serif" font-size="14.00">Registrar::PollsController</text>
<polyline fill="none" stroke="black" points="-300,489.5 -144,489.5 "/>
<text text-anchor="start" x="-292" y="504.7" font-family="Times,serif" font-size="14.00">confirm_keyrelay</text>
<text text-anchor="start" x="-292" y="519.7" font-family="Times,serif" font-size="14.00">confirm_transfer</text>
<text text-anchor="start" x="-292" y="534.7" font-family="Times,serif" font-size="14.00">destroy</text>
<text text-anchor="start" x="-292" y="549.7" font-family="Times,serif" font-size="14.00">show</text>

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Before After
Before After

View file

@ -5,7 +5,6 @@
[Session related functions](session.md)
[Contact related functions](contact.md)
[Domain related functions](domain.md)
[Keyrelay related functions](keyrelay.md)
## Supported protocols
@ -25,7 +24,6 @@
* [epp-1.0.xsd](/lib/schemas/epp-1.0.xsd)
* [eppcom-1.0.xsd](/lib/schemas/eppcom-1.0.xsd)
* [host-1.0.xsd](/lib/schemas/host-1.0.xsd)
* [keyrelay-1.0.xsd](/lib/schemas/keyrelay-1.0.xsd)
* [secDNS-1.1.xsd](/lib/schemas/secDNS-1.1.xsd)
* [changePoll-1.0.xsd](/lib/schemas/changePoll-1.0.xsd)

View file

@ -1,25 +0,0 @@
## Keyrelay related functions
### Keyrelay
NB! Keyrelay not implemented.
Field name Min-max Field description
--------------------- ------- -----------------
<ext:keyrelay> 1
<ext:name> 1 Domain name
<ext:keyData> 1
<secDNS:flags> 1 Allowed values: 0, 256, 257
<secDNS:protocol> 1 Allowed values: 3
<secDNS:alg> 1 Allowed values: 3, 5, 6, 7, 8, 10, 13, 14
<secDNS:pubKey> 1 Public key
<ext:authInfo> 1
<domain:pw> 1 Domain transfer code. Attribute: roid="String"
<ext:expiry> 1
<ext:relative> 0-1 Relative expiry duration (ISO8601).
Required if ext:absolute is not specified
<ext:absolute> 0-1 Absolute expiry date (ISO8601).
Required if ext:relative is not specified
<clTRID> 0-1 Client transaction id
[EXAMPLE REQUEST AND RESPONSE](/doc/epp_examples.md#epp-keyrelay-makes-a-keyrelay-request)

View file

@ -22,7 +22,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -1617,7 +1616,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -1717,7 +1715,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -1765,7 +1762,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -1849,7 +1845,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -2753,7 +2748,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -2841,7 +2835,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -2889,7 +2882,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -2968,7 +2960,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -3016,7 +3007,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -3104,7 +3094,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -3693,7 +3682,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -3805,7 +3793,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -3853,7 +3840,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -3935,7 +3921,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -3983,7 +3968,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -4078,7 +4062,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -4124,7 +4107,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -6839,7 +6821,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -6937,7 +6918,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7059,7 +7039,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7157,7 +7136,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7203,7 +7181,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7290,7 +7267,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7338,7 +7314,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7431,7 +7406,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7479,7 +7453,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7572,7 +7545,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7620,7 +7592,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7713,7 +7684,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7761,7 +7731,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7854,7 +7823,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7902,7 +7870,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -7995,7 +7962,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8043,7 +8009,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8136,7 +8101,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8184,7 +8148,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8277,7 +8240,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8325,7 +8287,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8418,7 +8379,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8466,7 +8426,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8545,7 +8504,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8647,7 +8605,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8734,7 +8691,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8834,7 +8790,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -8921,7 +8876,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -9093,7 +9047,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -9232,7 +9185,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -9399,7 +9351,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -9485,7 +9436,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -11279,7 +11229,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -11360,7 +11309,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -11991,7 +11939,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -12071,7 +12018,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -12119,7 +12065,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -12224,7 +12169,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -12272,7 +12216,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -12383,7 +12326,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -12844,7 +12786,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -12873,299 +12814,6 @@ RESPONSE:
</epp>
```
### EPP Keyrelay makes a keyrelay request
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain67.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>98oiewslkfkd</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>P1M13D</ext:relative>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1441791739</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="lib/schemas/epp-ee-1.0.xsd">
<response>
<result code="2307">
<msg lang="en">Unimplemented object service</msg>
<value xmlns:obj="urn:ietf:params:xml:ns:obj">
<obj:name>domain67.ee</obj:name>
</value>
</result>
<trID>
<clTRID>1441791739</clTRID>
<svTRID>ccReg-2567540489</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay returns an error when parameters are missing
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain67.ee</ext:name>
<ext:keyData>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>98oiewslkfkd</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>Invalid Expiry</ext:relative>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1441791740</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="lib/schemas/epp-ee-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: keyrelay &gt; keyData &gt; flags [flags]</msg>
</result>
<result code="2005">
<msg lang="en">Expiry relative must be compatible to ISO 8601</msg>
<value xmlns:obj="urn:ietf:params:xml:ns:obj">
<obj:relative>Invalid Expiry</obj:relative>
</value>
</result>
<trID>
<clTRID>1441791740</clTRID>
<svTRID>ccReg-3316296442</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay returns an error on invalid relative expiry
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain67.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>98oiewslkfkd</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>Invalid Expiry</ext:relative>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1441791741</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="lib/schemas/epp-ee-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Expiry relative must be compatible to ISO 8601</msg>
<value xmlns:obj="urn:ietf:params:xml:ns:obj">
<obj:relative>Invalid Expiry</obj:relative>
</value>
</result>
<trID>
<clTRID>1441791741</clTRID>
<svTRID>ccReg-5440105260</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay returns an error on invalid absolute expiry
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain67.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>98oiewslkfkd</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:absolute>Invalid Absolute</ext:absolute>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1441791742</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="lib/schemas/epp-ee-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Expiry absolute must be compatible to ISO 8601</msg>
<value xmlns:obj="urn:ietf:params:xml:ns:obj">
<obj:absolute>Invalid Absolute</obj:absolute>
</value>
</result>
<trID>
<clTRID>1441791742</clTRID>
<svTRID>ccReg-3004275558</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay saves legal document with keyrelay
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain67.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>98oiewslkfkd</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>P1D</ext:relative>
</ext:expiry>
</ext:keyrelay>
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
<ext:clTRID>1441791743</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="lib/schemas/epp-ee-1.0.xsd">
<response>
<result code="2307">
<msg lang="en">Unimplemented object service</msg>
<value xmlns:obj="urn:ietf:params:xml:ns:obj">
<obj:name>domain67.ee</obj:name>
</value>
</result>
<trID>
<clTRID>1441791743</clTRID>
<svTRID>ccReg-5428813077</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay validates legal document types
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain67.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>98oiewslkfkd</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>P1D</ext:relative>
</ext:expiry>
</ext:keyrelay>
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
<eis:legalDocument type="jpg">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
<ext:clTRID>1441791744</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="lib/schemas/epp-ee-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Attribute is invalid: type</msg>
</result>
<trID>
<clTRID>1441791744</clTRID>
<svTRID>ccReg-4758328068</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
@ -13183,7 +12831,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -13262,7 +12909,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -13337,7 +12983,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -13416,7 +13061,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -13494,7 +13138,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -13855,7 +13498,6 @@ RESPONSE:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -13901,7 +13543,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -13949,7 +13590,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -14032,7 +13672,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -14078,7 +13717,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -14126,7 +13764,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -14174,7 +13811,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -14220,7 +13856,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -14268,7 +13903,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -14346,7 +13980,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>
@ -14395,7 +14028,6 @@ REQUEST:
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>https://epp.tld.ee/schema/eis-1.0.xsd</extURI>

View file

@ -161,17 +161,6 @@
<ellipse fill="none" stroke="#bbf445" cx="3001.4" cy="-77.4839" rx="4.00001" ry="4.00001"/>
<polygon fill="#bbf445" stroke="#bbf445" points="1657.71,-21.4265 1647.84,-16.6485 1652.72,-21.2866 1647.72,-21.1467 1647.72,-21.1467 1647.72,-21.1467 1652.72,-21.2866 1647.59,-25.645 1657.71,-21.4265 1657.71,-21.4265"/>
</g>
<!-- KeyrelayVersion -->
<g id="node18" class="node"><title>KeyrelayVersion</title>
<ellipse fill="none" stroke="black" cx="2135.99" cy="-199" rx="70.6878" ry="18"/>
<text text-anchor="middle" x="2135.99" y="-195.3" font-family="Times,serif" font-size="14.00">KeyrelayVersion</text>
</g>
<!-- KeyrelayVersion&#45;&gt;VersionAssociation -->
<g id="edge16" class="edge"><title>KeyrelayVersion&#45;&gt;VersionAssociation</title>
<path fill="none" stroke="#abc034" d="M2104.91,-177.623C2080.96,-162.457 2046.7,-141.892 2014.99,-127 1917.54,-81.2198 1889.63,-74.8137 1783.99,-54 1737.72,-44.8826 1685.5,-36.3419 1644.12,-29.9798"/>
<ellipse fill="none" stroke="#abc034" cx="2108.31" cy="-179.795" rx="4.00002" ry="4.00002"/>
<polygon fill="#abc034" stroke="#abc034" points="1644,-29.9614 1634.79,-24.0031 1639.06,-29.2065 1634.11,-28.4515 1634.11,-28.4515 1634.11,-28.4515 1639.06,-29.2065 1633.43,-32.8999 1644,-29.9614 1644,-29.9614"/>
</g>
<!-- AccountActivityVersion -->
<g id="node19" class="node"><title>AccountActivityVersion</title>
<ellipse fill="none" stroke="black" cx="533.994" cy="-91" rx="96.6831" ry="18"/>
@ -867,35 +856,6 @@
<ellipse fill="none" stroke="#1a2478" cx="1951.24" cy="-397.034" rx="4.00002" ry="4.00002"/>
<polygon fill="#1a2478" stroke="#1a2478" points="2120.73,-324.466 2131.44,-326.837 2125.63,-323.449 2130.52,-322.431 2130.52,-322.431 2130.52,-322.431 2125.63,-323.449 2129.61,-318.025 2120.73,-324.466 2120.73,-324.466"/>
</g>
<!-- Keyrelay -->
<g id="node65" class="node"><title>Keyrelay</title>
<ellipse fill="none" stroke="black" cx="2283.99" cy="-307" rx="42.7926" ry="18"/>
<text text-anchor="middle" x="2283.99" y="-303.3" font-family="Times,serif" font-size="14.00">Keyrelay</text>
</g>
<!-- Domain&#45;&gt;Keyrelay -->
<g id="edge56" class="edge"><title>Domain&#45;&gt;Keyrelay</title>
<path fill="none" stroke="#adf8d3" d="M1933.81,-391.121C1952.32,-374.747 1986,-353.766 2018.99,-343 2097.95,-317.24 2123.7,-342.006 2204.99,-325 2214.39,-323.034 2224.47,-319.971 2234.89,-316.984"/>
<ellipse fill="none" stroke="#adf8d3" cx="1930.61" cy="-394.163" rx="4.00002" ry="4.00002"/>
<polygon fill="#adf8d3" stroke="#adf8d3" points="2234.92,-316.977 2245.76,-318.63 2239.73,-315.636 2244.55,-314.295 2244.55,-314.295 2244.55,-314.295 2239.73,-315.636 2243.34,-309.96 2234.92,-316.977 2234.92,-316.977"/>
</g>
<!-- Domain&#45;&gt;Keyrelay -->
<g id="edge96" class="edge"><title>Domain&#45;&gt;Keyrelay</title>
<path fill="none" stroke="#69199e" d="M1946.61,-392.681C1968.16,-376.101 2002.94,-354.111 2036.99,-343 2115.95,-317.24 2141.7,-342.006 2222.99,-325 2228.34,-323.882 2233.91,-322.408 2239.43,-320.795"/>
<ellipse fill="none" stroke="#69199e" cx="1943.23" cy="-395.365" rx="4.00002" ry="4.00002"/>
<polygon fill="#69199e" stroke="#69199e" points="2239.7,-320.713 2250.58,-322.092 2244.48,-319.251 2249.26,-317.788 2249.26,-317.788 2249.26,-317.788 2244.48,-319.251 2247.95,-313.485 2239.7,-320.713 2239.7,-320.713"/>
</g>
<!-- Domain&#45;&gt;Keyrelay -->
<g id="edge130" class="edge"><title>Domain&#45;&gt;Keyrelay</title>
<path fill="none" stroke="#4ab684" d="M1956.56,-395.717C1981.81,-378.888 2018.81,-354.804 2054.99,-343 2133.95,-317.24 2159.7,-342.006 2240.99,-325 2242.91,-324.599 2244.86,-324.152 2246.81,-323.669"/>
<ellipse fill="none" stroke="#4ab684" cx="1953.09" cy="-398.035" rx="4.00002" ry="4.00002"/>
<polygon fill="#4ab684" stroke="#4ab684" points="2246.89,-323.649 2257.72,-325.345 2251.71,-322.327 2256.53,-321.005 2256.53,-321.005 2256.53,-321.005 2251.71,-322.327 2255.34,-316.665 2246.89,-323.649 2246.89,-323.649"/>
</g>
<!-- Domain&#45;&gt;Keyrelay -->
<g id="edge167" class="edge"><title>Domain&#45;&gt;Keyrelay</title>
<path fill="none" stroke="#d96885" d="M1963.68,-399.494C1994.07,-382.7 2034.01,-355.72 2072.99,-343 2148.87,-318.246 2175.61,-340.148 2255.96,-325.35"/>
<ellipse fill="none" stroke="#d96885" cx="1960.09" cy="-401.429" rx="4.00002" ry="4.00002"/>
<polygon fill="#d96885" stroke="#d96885" points="2256.23,-325.298 2266.91,-327.772 2261.13,-324.328 2266.04,-323.358 2266.04,-323.358 2266.04,-323.358 2261.13,-324.328 2265.16,-318.943 2256.23,-325.298 2256.23,-325.298"/>
</g>
<!-- Domain&#45;&gt;LegalDocument -->
<g id="edge58" class="edge"><title>Domain&#45;&gt;LegalDocument</title>
<path fill="none" stroke="#850687" d="M1969.97,-405.941C2004.91,-400.398 2053.2,-391.708 2094.99,-379 2133.07,-367.42 2138.33,-352.466 2176.99,-343 2235.4,-328.699 2398.85,-361.026 2446.99,-325 2477.97,-301.826 2488.1,-255.566 2498.94,-226.285"/>
@ -1278,32 +1238,6 @@
<ellipse fill="none" stroke="#cefc8d" cx="3808.21" cy="-500.768" rx="4" ry="4"/>
<polygon fill="#cefc8d" stroke="#cefc8d" points="2596.45,-203.847 2587.03,-198.242 2591.48,-203.28 2586.52,-202.713 2586.52,-202.713 2586.52,-202.713 2591.48,-203.28 2586.01,-207.184 2596.45,-203.847 2596.45,-203.847"/>
</g>
<!-- Keyrelay&#45;&gt;KeyrelayVersion -->
<g id="edge170" class="edge"><title>Keyrelay&#45;&gt;KeyrelayVersion</title>
<path fill="none" stroke="#c80bd7" d="M2256.81,-286.123C2237.19,-271.821 2210.03,-252.117 2185.99,-235 2180,-230.732 2173.58,-226.204 2167.41,-221.872"/>
<ellipse fill="none" stroke="#c80bd7" cx="2260.18" cy="-288.586" rx="4.00002" ry="4.00002"/>
<polygon fill="#c80bd7" stroke="#c80bd7" points="2167.39,-221.862 2161.78,-212.441 2163.3,-218.995 2159.2,-216.127 2159.2,-216.127 2159.2,-216.127 2163.3,-218.995 2156.62,-219.814 2167.39,-221.862 2167.39,-221.862"/>
<text text-anchor="middle" x="2256.99" y="-249.3" font-family="Times,serif" font-size="14.00">versions</text>
</g>
<!-- Keyrelay&#45;&gt;KeyrelayVersion -->
<g id="edge175" class="edge"><title>Keyrelay&#45;&gt;KeyrelayVersion</title>
<path fill="none" stroke="#fa8d75" d="M2244.2,-292.404C2240.1,-291.18 2235.98,-290.019 2231.99,-289 2189.94,-278.232 2163.72,-304.405 2135.99,-271 2126.05,-259.017 2125.92,-241.569 2128.34,-226.97"/>
<ellipse fill="none" stroke="#fa8d75" cx="2248.19" cy="-293.638" rx="4.00001" ry="4.00001"/>
<polygon fill="#fa8d75" stroke="#fa8d75" points="2128.39,-226.746 2134.85,-217.889 2129.42,-221.853 2130.45,-216.961 2130.45,-216.961 2130.45,-216.961 2129.42,-221.853 2126.05,-216.033 2128.39,-226.746 2128.39,-226.746"/>
<text text-anchor="middle" x="2158.99" y="-249.3" font-family="Times,serif" font-size="14.00">versions</text>
</g>
<!-- Keyrelay&#45;&gt;LegalDocument -->
<g id="edge171" class="edge"><title>Keyrelay&#45;&gt;LegalDocument</title>
<path fill="none" stroke="#a18ee4" d="M2316.93,-288.907C2357.88,-269.557 2427.75,-238.154 2473.97,-218.314"/>
<ellipse fill="none" stroke="#a18ee4" cx="2313.27" cy="-290.643" rx="4.00002" ry="4.00002"/>
<polygon fill="#a18ee4" stroke="#a18ee4" points="2474.25,-218.192 2485.22,-218.403 2478.85,-216.228 2483.45,-214.265 2483.45,-214.265 2483.45,-214.265 2478.85,-216.228 2481.68,-210.126 2474.25,-218.192 2474.25,-218.192"/>
</g>
<!-- Keyrelay&#45;&gt;LegalDocument -->
<g id="edge176" class="edge"><title>Keyrelay&#45;&gt;LegalDocument</title>
<path fill="none" stroke="#84dd57" d="M2322.14,-291.054C2366.01,-272.392 2437.38,-240.414 2481.42,-219.749"/>
<ellipse fill="none" stroke="#84dd57" cx="2318.27" cy="-292.692" rx="4.00002" ry="4.00002"/>
<polygon fill="#84dd57" stroke="#84dd57" points="2481.61,-219.661 2492.57,-219.463 2486.13,-217.527 2490.65,-215.393 2490.65,-215.393 2490.65,-215.393 2486.13,-217.527 2488.73,-211.323 2481.61,-219.661 2481.61,-219.661"/>
</g>
<!-- WhiteIp&#45;&gt;WhiteIpVersion -->
<g id="edge172" class="edge"><title>WhiteIp&#45;&gt;WhiteIpVersion</title>
<path fill="none" stroke="#ef418a" d="M541.919,-389.454C552.581,-360.579 574.426,-313.483 609.994,-289 646.112,-264.139 664.089,-280.041 706.994,-271 711.426,-270.066 716.004,-269.067 720.602,-268.038"/>

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Before After
Before After

View file

@ -312,28 +312,6 @@
<ellipse fill="none" stroke="#996400" cx="3118.41" cy="-75.8258" rx="4.00002" ry="4.00002"/>
<polygon fill="#996400" stroke="#996400" points="1846.51,-20.6629 1836.6,-15.9651 1841.51,-20.5636 1836.51,-20.4642 1836.51,-20.4642 1836.51,-20.4642 1841.51,-20.5636 1836.43,-24.9633 1846.51,-20.6629 1846.51,-20.6629"/>
</g>
<!-- KeyrelayVersion -->
<g id="node18" class="node"><title>KeyrelayVersion</title>
<path fill="none" stroke="black" d="M2384,-503.5C2384,-503.5 2490,-503.5 2490,-503.5 2496,-503.5 2502,-509.5 2502,-515.5 2502,-515.5 2502,-672.5 2502,-672.5 2502,-678.5 2496,-684.5 2490,-684.5 2490,-684.5 2384,-684.5 2384,-684.5 2378,-684.5 2372,-678.5 2372,-672.5 2372,-672.5 2372,-515.5 2372,-515.5 2372,-509.5 2378,-503.5 2384,-503.5"/>
<text text-anchor="middle" x="2437" y="-669.3" font-family="Times,serif" font-size="14.00">KeyrelayVersion</text>
<polyline fill="none" stroke="black" points="2372,-661.5 2502,-661.5 "/>
<text text-anchor="start" x="2380" y="-646.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2380" y="-631.3" font-family="Times,serif" font-size="14.00">item_type :string</text>
<text text-anchor="start" x="2380" y="-616.3" font-family="Times,serif" font-size="14.00">item_id :integer</text>
<text text-anchor="start" x="2380" y="-601.3" font-family="Times,serif" font-size="14.00">event :string</text>
<text text-anchor="start" x="2380" y="-586.3" font-family="Times,serif" font-size="14.00">whodunnit :string</text>
<text text-anchor="start" x="2380" y="-571.3" font-family="Times,serif" font-size="14.00">object :json</text>
<text text-anchor="start" x="2380" y="-556.3" font-family="Times,serif" font-size="14.00">object_changes :json</text>
<text text-anchor="start" x="2380" y="-541.3" font-family="Times,serif" font-size="14.00">created_at :datetime</text>
<text text-anchor="start" x="2380" y="-526.3" font-family="Times,serif" font-size="14.00">session :string</text>
<text text-anchor="start" x="2380" y="-511.3" font-family="Times,serif" font-size="14.00">children :json</text>
</g>
<!-- KeyrelayVersion&#45;&gt;VersionAssociation -->
<g id="edge16" class="edge"><title>KeyrelayVersion&#45;&gt;VersionAssociation</title>
<path fill="none" stroke="#b67884" d="M2381.98,-496.116C2374.23,-482.334 2366.39,-468.322 2359,-455 2261.65,-279.444 2286.74,-181.74 2118,-73 2073.91,-44.5865 1935.88,-30.3397 1843.85,-23.8191"/>
<ellipse fill="none" stroke="#b67884" cx="2384.06" cy="-499.811" rx="4.00002" ry="4.00002"/>
<polygon fill="#b67884" stroke="#b67884" points="1843.68,-23.8072 1834.01,-18.6287 1838.69,-23.4626 1833.7,-23.118 1833.7,-23.118 1833.7,-23.118 1838.69,-23.4626 1833.39,-27.6073 1843.68,-23.8072 1843.68,-23.8072"/>
</g>
<!-- AccountActivityVersion -->
<g id="node19" class="node"><title>AccountActivityVersion</title>
<path fill="none" stroke="black" d="M535.5,-73.5C535.5,-73.5 660.5,-73.5 660.5,-73.5 666.5,-73.5 672.5,-79.5 672.5,-85.5 672.5,-85.5 672.5,-242.5 672.5,-242.5 672.5,-248.5 666.5,-254.5 660.5,-254.5 660.5,-254.5 535.5,-254.5 535.5,-254.5 529.5,-254.5 523.5,-248.5 523.5,-242.5 523.5,-242.5 523.5,-85.5 523.5,-85.5 523.5,-79.5 529.5,-73.5 535.5,-73.5"/>
@ -1384,52 +1362,6 @@
<ellipse fill="none" stroke="#16b86e" cx="2070.49" cy="-1809.5" rx="4" ry="4"/>
<polygon fill="#16b86e" stroke="#16b86e" points="2429.04,-1349.7 2432.74,-1339.38 2428.65,-1344.72 2428.25,-1339.74 2428.25,-1339.74 2428.25,-1339.74 2428.65,-1344.72 2423.76,-1340.09 2429.04,-1349.7 2429.04,-1349.7"/>
</g>
<!-- Keyrelay -->
<g id="node65" class="node"><title>Keyrelay</title>
<path fill="none" stroke="black" d="M2517,-1136C2517,-1136 2653,-1136 2653,-1136 2659,-1136 2665,-1142 2665,-1148 2665,-1148 2665,-1395 2665,-1395 2665,-1401 2659,-1407 2653,-1407 2653,-1407 2517,-1407 2517,-1407 2511,-1407 2505,-1401 2505,-1395 2505,-1395 2505,-1148 2505,-1148 2505,-1142 2511,-1136 2517,-1136"/>
<text text-anchor="middle" x="2585" y="-1391.8" font-family="Times,serif" font-size="14.00">Keyrelay</text>
<polyline fill="none" stroke="black" points="2505,-1384 2665,-1384 "/>
<text text-anchor="start" x="2513" y="-1368.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2513" y="-1353.8" font-family="Times,serif" font-size="14.00">domain_id :integer</text>
<text text-anchor="start" x="2513" y="-1338.8" font-family="Times,serif" font-size="14.00">pa_date :datetime</text>
<text text-anchor="start" x="2513" y="-1323.8" font-family="Times,serif" font-size="14.00">key_data_flags :string</text>
<text text-anchor="start" x="2513" y="-1308.8" font-family="Times,serif" font-size="14.00">key_data_protocol :string</text>
<text text-anchor="start" x="2513" y="-1293.8" font-family="Times,serif" font-size="14.00">key_data_alg :string</text>
<text text-anchor="start" x="2513" y="-1278.8" font-family="Times,serif" font-size="14.00">key_data_public_key :text</text>
<text text-anchor="start" x="2513" y="-1263.8" font-family="Times,serif" font-size="14.00">auth_info_pw :string</text>
<text text-anchor="start" x="2513" y="-1248.8" font-family="Times,serif" font-size="14.00">expiry_relative :string</text>
<text text-anchor="start" x="2513" y="-1233.8" font-family="Times,serif" font-size="14.00">expiry_absolute :datetime</text>
<text text-anchor="start" x="2513" y="-1218.8" font-family="Times,serif" font-size="14.00">requester_id :integer</text>
<text text-anchor="start" x="2513" y="-1203.8" font-family="Times,serif" font-size="14.00">accepter_id :integer</text>
<text text-anchor="start" x="2513" y="-1188.8" font-family="Times,serif" font-size="14.00">created_at :datetime</text>
<text text-anchor="start" x="2513" y="-1173.8" font-family="Times,serif" font-size="14.00">updated_at :datetime</text>
<text text-anchor="start" x="2513" y="-1158.8" font-family="Times,serif" font-size="14.00">creator_str :string</text>
<text text-anchor="start" x="2513" y="-1143.8" font-family="Times,serif" font-size="14.00">updator_str :string</text>
</g>
<!-- Domain&#45;&gt;Keyrelay -->
<g id="edge56" class="edge"><title>Domain&#45;&gt;Keyrelay</title>
<path fill="none" stroke="#9c8885" d="M2091.44,-1805.22C2109.35,-1726.79 2135.37,-1652.28 2166,-1628 2218.86,-1586.1 2416.81,-1652.74 2469,-1610 2525.42,-1563.8 2548.46,-1486.47 2559.84,-1417.47"/>
<ellipse fill="none" stroke="#9c8885" cx="2090.5" cy="-1809.41" rx="4.00001" ry="4.00001"/>
<polygon fill="#9c8885" stroke="#9c8885" points="2559.88,-1417.23 2565.89,-1408.06 2560.66,-1412.3 2561.44,-1407.36 2561.44,-1407.36 2561.44,-1407.36 2560.66,-1412.3 2557,-1406.66 2559.88,-1417.23 2559.88,-1417.23"/>
</g>
<!-- Domain&#45;&gt;Keyrelay -->
<g id="edge96" class="edge"><title>Domain&#45;&gt;Keyrelay</title>
<path fill="none" stroke="#cb1994" d="M2108.12,-1805.22C2127.35,-1726.79 2153.37,-1652.28 2184,-1628 2236.86,-1586.1 2434.81,-1652.74 2487,-1610 2543.42,-1563.8 2566.46,-1486.47 2575.97,-1417.47"/>
<ellipse fill="none" stroke="#cb1994" cx="2107.1" cy="-1809.42" rx="4.00001" ry="4.00001"/>
<polygon fill="#cb1994" stroke="#cb1994" points="2576,-1417.27 2581.74,-1407.93 2576.64,-1412.32 2577.28,-1407.36 2577.28,-1407.36 2577.28,-1407.36 2576.64,-1412.32 2572.82,-1406.78 2576,-1417.27 2576,-1417.27"/>
</g>
<!-- Domain&#45;&gt;Keyrelay -->
<g id="edge130" class="edge"><title>Domain&#45;&gt;Keyrelay</title>
<path fill="none" stroke="#9a035d" d="M2124.79,-1805.22C2145.35,-1726.79 2171.37,-1652.28 2202,-1628 2254.86,-1586.1 2452.81,-1652.74 2505,-1610 2561.42,-1563.8 2584.46,-1486.47 2592.1,-1417.47"/>
<ellipse fill="none" stroke="#9a035d" cx="2123.7" cy="-1809.44" rx="4.00001" ry="4.00001"/>
<polygon fill="#9a035d" stroke="#9a035d" points="2592.12,-1417.31 2597.6,-1407.81 2592.62,-1412.33 2593.12,-1407.36 2593.12,-1407.36 2593.12,-1407.36 2592.62,-1412.33 2588.65,-1406.91 2592.12,-1417.31 2592.12,-1417.31"/>
</g>
<!-- Domain&#45;&gt;Keyrelay -->
<g id="edge167" class="edge"><title>Domain&#45;&gt;Keyrelay</title>
<path fill="none" stroke="#79311d" d="M2141.47,-1805.22C2163.35,-1726.79 2189.37,-1652.28 2220,-1628 2272.86,-1586.1 2470.81,-1652.74 2523,-1610 2579.42,-1563.8 2602.46,-1486.47 2608.23,-1417.47"/>
<ellipse fill="none" stroke="#79311d" cx="2140.3" cy="-1809.46" rx="4.00001" ry="4.00001"/>
<polygon fill="#79311d" stroke="#79311d" points="2608.24,-1417.33 2613.45,-1407.68 2608.6,-1412.34 2608.96,-1407.36 2608.96,-1407.36 2608.96,-1407.36 2608.6,-1412.34 2604.48,-1407.03 2608.24,-1417.33 2608.24,-1417.33"/>
</g>
<!-- Domain&#45;&gt;LegalDocument -->
<g id="edge58" class="edge"><title>Domain&#45;&gt;LegalDocument</title>
<path fill="none" stroke="#9aa482" d="M2200.54,-1853.91C2215.1,-1834.5 2229.26,-1814.65 2242,-1795 2286.99,-1725.62 2254.66,-1673.05 2324,-1628 2368.1,-1599.34 2759.68,-1647.05 2797,-1610 2924.76,-1483.17 2878.03,-913.337 2867.53,-687.557"/>
@ -1995,32 +1927,6 @@
<ellipse fill="none" stroke="#ac2e35" cx="3953.55" cy="-2297.48" rx="4" ry="4"/>
<polygon fill="#ac2e35" stroke="#ac2e35" points="2951.05,-683.859 2946.53,-673.872 2947.3,-680.553 2943.55,-677.248 2943.55,-677.248 2943.55,-677.248 2947.3,-680.553 2940.58,-680.624 2951.05,-683.859 2951.05,-683.859"/>
</g>
<!-- Keyrelay&#45;&gt;KeyrelayVersion -->
<g id="edge170" class="edge"><title>Keyrelay&#45;&gt;KeyrelayVersion</title>
<path fill="none" stroke="#050edc" d="M2565.61,-1127.64C2549.2,-1018.49 2522.64,-864.878 2487,-733 2483.61,-720.454 2479.58,-707.43 2475.31,-694.616"/>
<ellipse fill="none" stroke="#050edc" cx="2566.23" cy="-1131.8" rx="4.00001" ry="4.00001"/>
<polygon fill="#050edc" stroke="#050edc" points="2475.22,-694.339 2476.27,-683.424 2473.61,-689.605 2472.01,-684.87 2472.01,-684.87 2472.01,-684.87 2473.61,-689.605 2467.75,-686.316 2475.22,-694.339 2475.22,-694.339"/>
<text text-anchor="middle" x="2550" y="-820.3" font-family="Times,serif" font-size="14.00">versions</text>
</g>
<!-- Keyrelay&#45;&gt;KeyrelayVersion -->
<g id="edge175" class="edge"><title>Keyrelay&#45;&gt;KeyrelayVersion</title>
<path fill="none" stroke="#11d40d" d="M2578.63,-1127.67C2568.53,-1060.81 2545.77,-984.71 2496,-933 2476.99,-913.247 2453.31,-937.033 2437,-915 2390.84,-852.655 2395.03,-763.12 2408.39,-694.603"/>
<ellipse fill="none" stroke="#11d40d" cx="2579.23" cy="-1131.81" rx="4.00001" ry="4.00001"/>
<polygon fill="#11d40d" stroke="#11d40d" points="2408.42,-694.45 2414.83,-685.552 2409.42,-689.551 2410.42,-684.652 2410.42,-684.652 2410.42,-684.652 2409.42,-689.551 2406.01,-683.752 2408.42,-694.45 2408.42,-694.45"/>
<text text-anchor="middle" x="2460" y="-820.3" font-family="Times,serif" font-size="14.00">versions</text>
</g>
<!-- Keyrelay&#45;&gt;LegalDocument -->
<g id="edge171" class="edge"><title>Keyrelay&#45;&gt;LegalDocument</title>
<path fill="none" stroke="#b41498" d="M2606.08,-1127.43C2620.12,-1066.32 2640.4,-994.948 2666,-933 2702.36,-845.04 2757.54,-751.827 2801.42,-685.618"/>
<ellipse fill="none" stroke="#b41498" cx="2605.11" cy="-1131.7" rx="4.00001" ry="4.00001"/>
<polygon fill="#b41498" stroke="#b41498" points="2801.44,-685.592 2810.73,-679.77 2804.21,-681.433 2806.99,-677.273 2806.99,-677.273 2806.99,-677.273 2804.21,-681.433 2803.24,-674.776 2801.44,-685.592 2801.44,-685.592"/>
</g>
<!-- Keyrelay&#45;&gt;LegalDocument -->
<g id="edge176" class="edge"><title>Keyrelay&#45;&gt;LegalDocument</title>
<path fill="none" stroke="#b6c2f7" d="M2622.53,-1127.81C2638.04,-1066.61 2658.34,-995.075 2684,-933 2720.28,-845.219 2775.31,-752.207 2816.19,-686.023"/>
<ellipse fill="none" stroke="#b6c2f7" cx="2621.55" cy="-1131.72" rx="4.00001" ry="4.00001"/>
<polygon fill="#b6c2f7" stroke="#b6c2f7" points="2816.35,-685.775 2825.44,-679.642 2818.98,-681.524 2821.61,-677.273 2821.61,-677.273 2821.61,-677.273 2818.98,-681.524 2817.79,-674.904 2816.35,-685.775 2816.35,-685.775"/>
</g>
<!-- WhiteIp&#45;&gt;WhiteIpVersion -->
<g id="edge172" class="edge"><title>WhiteIp&#45;&gt;WhiteIpVersion</title>
<path fill="none" stroke="#4803f7" d="M531.746,-1940.36C541.799,-1896.65 560.441,-1846.5 595,-1813 614.38,-1794.21 636.479,-1816.34 653,-1795 682.345,-1757.09 665.763,-971.746 694,-933 705.532,-917.176 719.173,-925.274 736.787,-917.416"/>

Before

Width:  |  Height:  |  Size: 219 KiB

After

Width:  |  Height:  |  Size: 209 KiB

Before After
Before After

View file

@ -15,7 +15,7 @@ class EppConstraint
request.params[:nokogiri_frame] ||= Nokogiri::XML(request.params[:raw_frame] || request.params[:frame])
request.params[:parsed_frame] ||= request.params[:nokogiri_frame].dup.remove_namespaces!
unless [:keyrelay, :poll, :session].include?(@type)
unless %i[poll session].include?(@type)
element = "//#{@type}:#{request.params[:action]}"
return false if request.params[:nokogiri_frame].xpath("#{element}", OBJECT_TYPES[@type]).none?
end

View file

@ -23,9 +23,6 @@
<!-- EPP protocol extension: DNSSEC -->
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"
schemaLocation="lib/schemas/secDNS-1.1.xsd"/>
<!-- EPP protocol extension: DNSSEC keyrelay -->
<import namespace="urn:ietf:params:xml:ns:keyrelay-1.0"
schemaLocation="lib/schemas/keyrelay-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:host-1.0"
schemaLocation="lib/schemas/host-1.0.xsd"/>
<!-- EPP protocol extension: .ee specific -->

View file

@ -23,9 +23,6 @@
<!-- EPP protocol extension: DNSSEC -->
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"
schemaLocation="lib/schemas/secDNS-1.1.xsd"/>
<!-- EPP protocol extension: DNSSEC keyrelay -->
<import namespace="urn:ietf:params:xml:ns:keyrelay-1.0"
schemaLocation="lib/schemas/keyrelay-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:host-1.0"
schemaLocation="lib/schemas/host-1.0.xsd"/>
<!-- EPP protocol extension: .ee specific -->

View file

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:keyrelay-1.0"
xmlns:keyrelay="urn:ietf:params:xml:ns:keyrelay-1.0"
xmlns:epp="https://epp.tld.ee/schema/epp-ee-1.0.xsd"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<annotation>
<documentation>
Extensible Provisioning Protocol v1.0 protocol
extension schema for relaying DNSSEC key material.
</documentation>
</annotation>
<import namespace="https://epp.tld.ee/schema/epp-ee-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"/>
<import namespace="urn:ietf:params:xml:ns:domain-1.0"/>
<element name="keyRelayData" type="keyrelay:keyRelayDataType" />
<element name="infData" type="keyrelay:infDataType" />
<element name="create" type="keyrelay:createType" />
<complexType name="createType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<!-- <element name="authInfo" type="domain:authInfoType"/> -->
<element name="keyRelayData" type="keyrelay:keyRelayDataType"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="infDataType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<!-- <element name="authInfo" type="domain:authInfoType"/> -->
<element name="keyRelayData" type="keyrelay:keyRelayDataType"
maxOccurs="unbounded"/>
<element name="crDate" type="dateTime"/>
<element name="reID" type="eppcom:clIDType" />
<element name="acID" type="eppcom:clIDType" />
</sequence>
</complexType>
<complexType name="keyRelayDataType">
<sequence>
<element name="keyData" type="secDNS:keyDataType" />
<element name="expiry" type="keyrelay:keyRelayExpiryType"
minOccurs="0" />
</sequence>
</complexType>
<complexType name="keyRelayExpiryType">
<choice>
<element name="absolute" type="dateTime" />
<element name="relative" type="duration" />
</choice>
</complexType>
</schema>

View file

@ -17,7 +17,6 @@ class EppLoginCredentialsTest < EppTestCase
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
</svcs>
</login>
</command>
@ -50,7 +49,6 @@ class EppLoginCredentialsTest < EppTestCase
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
</svcs>
</login>
</command>

View file

@ -18,7 +18,6 @@ class EppLoginPasswordChangeTest < EppTestCase
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
</svcs>
</login>
</command>

View file

@ -50,7 +50,6 @@ class EppLoginSessionLimitTest < EppTestCase
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
</svcs>
</login>
</command>