diff --git a/Gemfile b/Gemfile index e26af28b9..b2fd0f844 100644 --- a/Gemfile +++ b/Gemfile @@ -19,8 +19,8 @@ gem 'figaro', '~> 1.1.1' gem 'pg', '~> 0.18.0' gem 'ransack', '~> 1.5.1' # for searching # with polymorphic fix -gem 'paper_trail', - github: 'airblade/paper_trail', +gem 'paper_trail', + github: 'airblade/paper_trail', ref: 'a453811226ec4ea59753ba6b827e390ced2fc140' gem 'rails-settings-cached', '~> 0.4.1' # for settings @@ -82,7 +82,7 @@ gem 'digidoc_client', '~> 0.2.1' # epp gem 'epp', '~> 1.4.2', github: 'internetee/epp' -gem 'epp-xml', '~> 1.0.3' # EIS EPP XMLs +gem 'epp-xml', '~> 1.0.4' # EIS EPP XMLs gem 'uuidtools', '~> 2.1.4' # For unique IDs (used by the epp gem) # que @@ -144,13 +144,13 @@ group :development, :test do gem 'simplecov', '~> 0.10.0', require: false gem 'rubycritic', '~> 1.4.0' gem 'bullet', '~> 4.14.4' # for finding database optimizations - gem 'bundler-audit', + gem 'bundler-audit', github: 'rubysec/bundler-audit', ref: 'f89ef7fae1090bbad825ea76812d56d72b417055' # for finding future vulnerable gems gem 'brakeman', '~> 3.0.5', require: false # for security audit' # tmp, otherwise conflics with breakman # gem 'html2haml', github: 'haml/html2haml', ref: '6984f50bdbbd6291535027726a5697f28778ee8d' - gem 'html2haml', '~> 2.0.0' + gem 'html2haml', '~> 2.0.0' gem 'sdoc', '~> 0.4.0' # bundle exec rake doc:rails generates the API under doc/api. gem 'railroady', '~> 1.3.0' # to generate database diagrams diff --git a/Gemfile.lock b/Gemfile.lock index b6ac5c808..ee1c0ad36 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -177,7 +177,7 @@ GEM nokogiri (>= 1.4.0) savon (>= 2.4.0) docile (1.1.5) - epp-xml (1.0.3) + epp-xml (1.0.4) activesupport (~> 4.1) builder (~> 3.2) equalizer (0.0.11) @@ -564,7 +564,7 @@ DEPENDENCIES devise (~> 3.5.1) digidoc_client (~> 0.2.1) epp (~> 1.4.2)! - epp-xml (~> 1.0.3) + epp-xml (~> 1.0.4) fabrication (~> 2.13.2) faker (~> 1.4.3) figaro (~> 1.1.1) diff --git a/app/controllers/epp/sessions_controller.rb b/app/controllers/epp/sessions_controller.rb index 021011390..b877c01ce 100644 --- a/app/controllers/epp/sessions_controller.rb +++ b/app/controllers/epp/sessions_controller.rb @@ -75,8 +75,8 @@ class Epp::SessionsController < EppController end if success - if parsed_frame.css('newPW').first - unless @api_user.update(password: parsed_frame.css('newPW').first.text) + if params[:parsed_frame].css('newPW').first + unless @api_user.update(password: params[:parsed_frame].css('newPW').first.text) response.headers['X-EPP-Returncode'] = '2500' handle_errors(@api_user) and return end @@ -124,11 +124,8 @@ class Epp::SessionsController < EppController ### HELPER METHODS ### def login_params - ph = params_hash['epp']['command']['login'] - { username: ph[:clID], password: ph[:pw] } - end - - def parsed_frame - @parsed_frame ||= Nokogiri::XML(request.params[:raw_frame]).remove_namespaces! + user = params[:parsed_frame].css('clID').first.text + pw = params[:parsed_frame].css('pw').first.text + { username: user, password: pw } end end diff --git a/app/controllers/epp_controller.rb b/app/controllers/epp_controller.rb index f81a89ea6..f5133a74c 100644 --- a/app/controllers/epp_controller.rb +++ b/app/controllers/epp_controller.rb @@ -6,6 +6,20 @@ class EppController < ApplicationController before_action :generate_svtrid before_action :latin_only + + before_action :validate_against_schema + def validate_against_schema + return if ['hello', 'error', 'keyrelay'].include?(params[:action]) + schema.validate(params[:nokogiri_frame]).each do |error| + epp_errors << { + code: 2001, + msg: error + } + end + + handle_errors and return if epp_errors.any? + end + before_action :validate_request before_action :update_epp_session @@ -58,6 +72,13 @@ class EppController < ApplicationController render_epp_response '/epp/error' end + def schema + # TODO: Support multiple schemas + return DOMAIN_SCHEMA if params[:epp_object_type] == :domain + return CONTACT_SCHEMA if params[:epp_object_type] == :contact + EPP_SCHEMA + end + def generate_svtrid # rubocop: disable Style/VariableName @svTRID = "ccReg-#{format('%010d', rand(10**10))}" diff --git a/app/models/api_user.rb b/app/models/api_user.rb index 3d18ea181..51f4d54b9 100644 --- a/app/models/api_user.rb +++ b/app/models/api_user.rb @@ -3,7 +3,7 @@ require 'open3' class ApiUser < User include EppErrors - def epp_code_map + def epp_code_map { '2306' => [ # Parameter policy error [:password, :blank] @@ -16,6 +16,7 @@ class ApiUser < User has_many :certificates validates :username, :password, :registrar, :roles, presence: true + validates :password, length: { minimum: 6 } validates :username, uniqueness: true # TODO: probably cache, because it's requested on every EPP diff --git a/app/models/depp/contact.rb b/app/models/depp/contact.rb index 9af836d45..ceca67131 100644 --- a/app/models/depp/contact.rb +++ b/app/models/depp/contact.rb @@ -4,7 +4,7 @@ module Depp include DisableHtml5Validation attr_accessor :id, :name, :email, :phone, :org_name, - :ident, :ident_type, :ident_country_code, + :ident, :ident_type, :ident_country_code, :street, :city, :zip, :state, :country_code, :password, :legal_document, :statuses, :code @@ -68,7 +68,7 @@ module Depp zip: res.css('postalInfo addr pc').text, state: res.css('postalInfo addr sp').text, country_code: res.css('postalInfo addr cc').text, - + # authInfo password: res.css('authInfo pw').text, @@ -145,25 +145,26 @@ module Depp end def save - create_xml = Depp::Contact.epp_xml.create( - { - id: { value: code }, - email: { value: email }, - voice: { value: phone }, - postalInfo: { - name: { value: name }, - org: { value: org_name }, - addr: { - street: { value: street }, - city: { value: city }, - pc: { value: zip }, - sp: { value: state }, - cc: { value: country_code } - } + hash = { + id: { value: code }, + postalInfo: { + name: { value: name }, + org: { value: org_name }, + addr: { + street: { value: street }, + city: { value: city }, + sp: { value: state }, + pc: { value: zip }, + cc: { value: country_code } } - }, - extension_xml - ) + }, + voice: { value: phone }, + email: { value: email } + } + + hash[:id] = nil if code.blank? + create_xml = Depp::Contact.epp_xml.create(hash, extension_xml) + data = Depp::Contact.user.request(create_xml) self.id = data.css('id').text handle_errors(data) @@ -191,23 +192,23 @@ module Depp { id: { value: id }, chg: { - voice: { value: phone }, - email: { value: email }, postalInfo: { name: { value: name }, org: { value: org_name }, addr: { street: { value: street }, city: { value: city }, - pc: { value: zip }, sp: { value: state }, + pc: { value: zip }, cc: { value: country_code } } + }, + voice: { value: phone }, + email: { value: email }, + authInfo: { + pw: { value: password } } }, - authInfo: { - pw: { value: password } - } }, extension_xml ) @@ -250,7 +251,7 @@ module Depp return {} if legal_document.blank? type = legal_document.original_filename.split('.').last.downcase - { + { _anonymus: [ legalDocument: { value: Base64.encode64(legal_document.read), attrs: { type: type } } ] @@ -274,7 +275,7 @@ module Depp ident_type == 'priv' end - def persisted? + def persisted? id.present? end @@ -282,13 +283,13 @@ module Depp data.css('result').each do |x| success_codes = %(1000, 1300, 1301) next if success_codes.include?(x['code']) - + message = "#{x.css('msg').text} #{x.css('value').text}" attr = message.split('[').last.strip.sub(']', '') if message.include?('[') attr = :base if attr.nil? attr = 'phone' if attr == 'voice' attr = 'zip' if attr == 'pc' - errors.add(attr, message) + errors.add(attr, message) end errors.blank? end diff --git a/app/models/depp/domain.rb b/app/models/depp/domain.rb index fa252819e..7b366875a 100644 --- a/app/models/depp/domain.rb +++ b/app/models/depp/domain.rb @@ -36,15 +36,17 @@ module Depp end def create(domain_params) + dns_hash = {} + keys = Domain.create_dnskeys_hash(domain_params) + dns_hash[:_anonymus] = keys if keys.any? + xml = epp_xml.create({ name: { value: domain_params[:name] }, - registrant: { value: domain_params[:registrant] }, period: { value: domain_params[:period].to_s[0], attrs: { unit: domain_params[:period].to_s[1] } }, ns: Domain.create_nameservers_hash(domain_params), + registrant: { value: domain_params[:registrant] }, _anonymus: Domain.create_contacts_hash(domain_params) - }, { - _anonymus: Domain.create_dnskeys_hash(domain_params) - }, Domain.construct_custom_params_hash(domain_params)) + }, dns_hash, Domain.construct_custom_params_hash(domain_params)) current_user.request(xml) end @@ -205,6 +207,16 @@ module Depp contacts = array_difference(create_contacts_hash(old_domain_params), create_contacts_hash(domain_params)) rem_anon = contacts + add_arr = [] + add_ns = create_nameservers_hash(domain_params) - create_nameservers_hash(old_domain_params) + add_arr << { ns: add_ns } if add_ns.any? + add_arr << { _anonymus: add_anon } if add_anon.any? + + rem_arr = [] + rem_ns = create_nameservers_hash(old_domain_params) - create_nameservers_hash(domain_params) + rem_arr << { ns: rem_ns } if rem_ns.any? + rem_arr << { _anonymus: rem_anon } if rem_anon.any? + if domain_params[:registrant] != old_domain_params[:registrant] chg = [{ registrant: { value: domain_params[:registrant] } }] end @@ -212,22 +224,18 @@ module Depp { name: { value: domain_params[:name] }, chg: chg, - add: [ - { ns: create_nameservers_hash(domain_params) - create_nameservers_hash(old_domain_params) }, - { _anonymus: add_anon } - ], - rem: [ - { ns: create_nameservers_hash(old_domain_params) - create_nameservers_hash(domain_params) }, - { _anonymus: rem_anon } - ] + add: add_arr, + rem: rem_arr } end def construct_ext_edit_hash(domain_params, old_domain_params) - { - add: create_dnskeys_hash(domain_params) - create_dnskeys_hash(old_domain_params), - rem: create_dnskeys_hash(old_domain_params) - create_dnskeys_hash(domain_params) - } + rem_keys = create_dnskeys_hash(old_domain_params) - create_dnskeys_hash(domain_params) + add_keys = create_dnskeys_hash(domain_params) - create_dnskeys_hash(old_domain_params) + hash = {} + hash[:rem] = rem_keys if rem_keys.any? + hash[:add] = add_keys if add_keys.any? + hash end def create_nameservers_hash(domain_params) diff --git a/app/views/epp/contacts/check.xml.builder b/app/views/epp/contacts/check.xml.builder index f4dcdea82..4d342fad4 100644 --- a/app/views/epp/contacts/check.xml.builder +++ b/app/views/epp/contacts/check.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:chkData', 'xmlns:contact' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd') do + xml.tag!('contact:chkData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.0.xsd') do @results.each do |result| xml.tag!('contact:cd') do xml.tag! "contact:id", result[:code], avail: result[:avail] diff --git a/app/views/epp/contacts/create.xml.builder b/app/views/epp/contacts/create.xml.builder index 1a4da8473..2d2c40097 100644 --- a/app/views/epp/contacts/create.xml.builder +++ b/app/views/epp/contacts/create.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:creData', 'xmlns:contact' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd') do + xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.0.xsd') do xml.tag!('contact:id', @contact.code) xml.tag!('contact:crDate', @contact.created_at.try(:iso8601)) end diff --git a/app/views/epp/contacts/info.xml.builder b/app/views/epp/contacts/info.xml.builder index 30afc4196..ea6306839 100644 --- a/app/views/epp/contacts/info.xml.builder +++ b/app/views/epp/contacts/info.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:infData', 'xmlns:contact' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd') do + xml.tag!('contact:infData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.0.xsd') do xml.tag!('contact:id', @contact.code) xml.tag!('contact:roid', @contact.roid) @@ -55,7 +55,7 @@ xml.epp_head do end if can? :view_full_info, @contact, @password xml.tag!('extension') do - xml.tag!('eis:extdata', 'xmlns:eis' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd') do + xml.tag!('eis:extdata', 'xmlns:eis' => 'https://epp.tld.ee/schema/eis-1.0.xsd') do xml.tag!('eis:ident', @contact.ident, type: @contact.ident_type, cc: @contact.ident_country_code) end diff --git a/app/views/epp/contacts/update.xml.builder b/app/views/epp/contacts/update.xml.builder index 1a4da8473..2d2c40097 100644 --- a/app/views/epp/contacts/update.xml.builder +++ b/app/views/epp/contacts/update.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:creData', 'xmlns:contact' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd') do + xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.0.xsd') do xml.tag!('contact:id', @contact.code) xml.tag!('contact:crDate', @contact.created_at.try(:iso8601)) end diff --git a/app/views/epp/domains/check.xml.builder b/app/views/epp/domains/check.xml.builder index 8441f4118..903cee769 100644 --- a/app/views/epp/domains/check.xml.builder +++ b/app/views/epp/domains/check.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('domain:chkData', 'xmlns:domain' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd') do + xml.tag!('domain:chkData', 'xmlns:domain' => 'https://epp.tld.ee/schema/domain-eis-1.0.xsd') do @domains.each do |x| xml.tag!('domain:cd') do xml.tag!('domain:name', x[:name], 'avail' => x[:avail]) diff --git a/app/views/epp/domains/create.xml.builder b/app/views/epp/domains/create.xml.builder index dd22fb0b8..213a2aa8f 100644 --- a/app/views/epp/domains/create.xml.builder +++ b/app/views/epp/domains/create.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('domain:creData', 'xmlns:domain' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd') do + xml.tag!('domain:creData', 'xmlns:domain' => 'https://epp.tld.ee/schema/domain-eis-1.0.xsd') do xml.tag!('domain:name', @domain.name) xml.tag!('domain:crDate', @domain.created_at.try(:iso8601)) xml.tag!('domain:exDate', @domain.valid_to.try(:iso8601)) diff --git a/app/views/epp/domains/info.xml.builder b/app/views/epp/domains/info.xml.builder index ebaf613d5..c4827f29f 100644 --- a/app/views/epp/domains/info.xml.builder +++ b/app/views/epp/domains/info.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('domain:infData', 'xmlns:domain' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd') do + xml.tag!('domain:infData', 'xmlns:domain' => 'https://epp.tld.ee/schema/domain-eis-1.0.xsd') do xml.tag!('domain:name', @domain.name) xml.tag!('domain:roid', @domain.roid) @domain.statuses.each do |s| diff --git a/app/views/epp/domains/partials/_transfer.xml.builder b/app/views/epp/domains/partials/_transfer.xml.builder index a98cf231e..13daf8014 100644 --- a/app/views/epp/domains/partials/_transfer.xml.builder +++ b/app/views/epp/domains/partials/_transfer.xml.builder @@ -1,4 +1,4 @@ -builder.tag!('domain:trnData', 'xmlns:domain' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd') do +builder.tag!('domain:trnData', 'xmlns:domain' => 'https://epp.tld.ee/schema/domain-eis-1.0.xsd') do builder.tag!('domain:name', dt.domain_name) builder.tag!('domain:trStatus', dt.status) builder.tag!('domain:reID', dt.transfer_to.code) diff --git a/app/views/epp/domains/renew.xml.builder b/app/views/epp/domains/renew.xml.builder index b970b322e..5d03c7128 100644 --- a/app/views/epp/domains/renew.xml.builder +++ b/app/views/epp/domains/renew.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('domain:renData', 'xmlns:domain' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd') do + xml.tag!('domain:renData', 'xmlns:domain' => 'https://epp.tld.ee/schema/domain-eis-1.0.xsd') do xml.tag!('domain:name', @domain[:name]) xml.tag!('domain:exDate', @domain.valid_to.try(:iso8601)) end diff --git a/app/views/epp/poll/poll_keyrelay.xml.builder b/app/views/epp/poll/poll_keyrelay.xml.builder index 9e245bd3e..a2fed7915 100644 --- a/app/views/epp/poll/poll_keyrelay.xml.builder +++ b/app/views/epp/poll/poll_keyrelay.xml.builder @@ -2,7 +2,7 @@ xml.instruct!(:xml, standalone: 'no') xml.epp( 'xmlns' => 'urn:ietf:params:xml:ns:epp-1.0', 'xmlns:secDNS' => 'urn:ietf:params:xml:ns:secDNS-1.1', - 'xmlns:domain' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd', + '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 diff --git a/app/views/epp/sessions/greeting.xml.builder b/app/views/epp/sessions/greeting.xml.builder index 34a983aca..308de3c59 100644 --- a/app/views/epp/sessions/greeting.xml.builder +++ b/app/views/epp/sessions/greeting.xml.builder @@ -5,13 +5,13 @@ xml.epp_head do xml.svcMenu do xml.version '1.0' xml.lang 'en' - xml.objURI 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd' - xml.objURI 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd' + xml.objURI 'https://epp.tld.ee/schema/domain-eis-1.0.xsd' + xml.objURI 'https://epp.tld.ee/schema/contact-eis-1.0.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://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd' + xml.extURI 'https://epp.tld.ee/schema/eis-1.0.xsd' end end diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/check.xml b/app/views/registrar/xml_consoles/epp_requests/contact/check.xml index 4bf1e6eb3..a0e02a3dc 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/check.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/check.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> sh8013 diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/check_multiple.xml b/app/views/registrar/xml_consoles/epp_requests/contact/check_multiple.xml index 67f9f266c..57f0ad279 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/check_multiple.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/check_multiple.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> sh8013 sh13 vsdfvq diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/create.xml b/app/views/registrar/xml_consoles/epp_requests/contact/create.xml index 8fa81d779..cab39ffe6 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/create.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/create.xml @@ -2,7 +2,7 @@ - + Sillius Soddus @@ -20,7 +20,7 @@ - + 123 JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml b/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml index 69dc8d3b8..d288df7a0 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> sh8013 wrong-one @@ -11,7 +11,7 @@ - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/info.xml b/app/views/registrar/xml_consoles/epp_requests/contact/info.xml index 19ad4de9d..3a2f195a6 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/info.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/info.xml @@ -2,7 +2,7 @@ - + sh8013 Aas34fq diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml b/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml index 49631d3a0..aec36cc92 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml @@ -2,7 +2,7 @@ - + sh8013 @@ -25,7 +25,7 @@ - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== diff --git a/app/views/registrar/xml_consoles/epp_requests/domain/check.xml b/app/views/registrar/xml_consoles/epp_requests/domain/check.xml index 94c765ab6..88dd550b6 100644 --- a/app/views/registrar/xml_consoles/epp_requests/domain/check.xml +++ b/app/views/registrar/xml_consoles/epp_requests/domain/check.xml @@ -3,7 +3,7 @@ + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> example.ee diff --git a/app/views/registrar/xml_consoles/epp_requests/domain/create.xml b/app/views/registrar/xml_consoles/epp_requests/domain/create.xml index e80c17cbf..3cb39cf0e 100644 --- a/app/views/registrar/xml_consoles/epp_requests/domain/create.xml +++ b/app/views/registrar/xml_consoles/epp_requests/domain/create.xml @@ -3,7 +3,7 @@ + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> example.ee 1 @@ -33,7 +33,7 @@ - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== diff --git a/app/views/registrar/xml_consoles/epp_requests/domain/delete.xml b/app/views/registrar/xml_consoles/epp_requests/domain/delete.xml index 1a97703f8..c1c7fd96f 100644 --- a/app/views/registrar/xml_consoles/epp_requests/domain/delete.xml +++ b/app/views/registrar/xml_consoles/epp_requests/domain/delete.xml @@ -3,12 +3,12 @@ + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> example.ee - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== diff --git a/app/views/registrar/xml_consoles/epp_requests/domain/info.xml b/app/views/registrar/xml_consoles/epp_requests/domain/info.xml index f7f0192c0..36204bba9 100644 --- a/app/views/registrar/xml_consoles/epp_requests/domain/info.xml +++ b/app/views/registrar/xml_consoles/epp_requests/domain/info.xml @@ -3,7 +3,7 @@ + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> example.ee 2fooBAR diff --git a/app/views/registrar/xml_consoles/epp_requests/domain/renew.xml b/app/views/registrar/xml_consoles/epp_requests/domain/renew.xml index 73070bfc4..512d88de5 100644 --- a/app/views/registrar/xml_consoles/epp_requests/domain/renew.xml +++ b/app/views/registrar/xml_consoles/epp_requests/domain/renew.xml @@ -3,7 +3,7 @@ + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> example.ee 2014-08-07 1 diff --git a/app/views/registrar/xml_consoles/epp_requests/domain/transfer.xml b/app/views/registrar/xml_consoles/epp_requests/domain/transfer.xml index 266b56e9c..55792a42c 100644 --- a/app/views/registrar/xml_consoles/epp_requests/domain/transfer.xml +++ b/app/views/registrar/xml_consoles/epp_requests/domain/transfer.xml @@ -3,7 +3,7 @@ + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> example.ee 2BARfoo @@ -11,7 +11,7 @@ - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== diff --git a/app/views/registrar/xml_consoles/epp_requests/domain/update.xml b/app/views/registrar/xml_consoles/epp_requests/domain/update.xml index 26df74165..bd1df68c6 100644 --- a/app/views/registrar/xml_consoles/epp_requests/domain/update.xml +++ b/app/views/registrar/xml_consoles/epp_requests/domain/update.xml @@ -3,7 +3,7 @@ + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> example.ee mak21 @@ -37,7 +37,7 @@ - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== diff --git a/app/views/registrar/xml_consoles/epp_requests/keyrelay/keyrelay.xml b/app/views/registrar/xml_consoles/epp_requests/keyrelay/keyrelay.xml index 54532f23a..f04b34969 100644 --- a/app/views/registrar/xml_consoles/epp_requests/keyrelay/keyrelay.xml +++ b/app/views/registrar/xml_consoles/epp_requests/keyrelay/keyrelay.xml @@ -1,5 +1,5 @@ - + example6.ee @@ -16,7 +16,7 @@ P1D - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== 1422542244 diff --git a/config/initializers/load_schemas.rb b/config/initializers/load_schemas.rb new file mode 100644 index 000000000..617022179 --- /dev/null +++ b/config/initializers/load_schemas.rb @@ -0,0 +1,3 @@ +EPP_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/epp-1.0.xsd")) +DOMAIN_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/domain-eis-1.0.xsd")) +CONTACT_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/contact-eis-1.0.xsd")) diff --git a/config/routes.rb b/config/routes.rb index bb1828c36..925947ea9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -2,15 +2,15 @@ require 'epp_constraint' Rails.application.routes.draw do namespace(:epp, defaults: { format: :xml }) do - match 'session/:action', controller: 'sessions', via: :all - match 'session/pki/:action', controller: 'sessions', via: :all + match 'session/:action', controller: 'sessions', via: :all, constraints: EppConstraint.new(:session) + match 'session/pki/:action', controller: 'sessions', via: :all, constraints: EppConstraint.new(:session) post 'command/:action', controller: 'domains', constraints: EppConstraint.new(:domain) post 'command/:action', controller: 'contacts', constraints: EppConstraint.new(:contact) post 'command/poll', to: 'polls#poll', constraints: EppConstraint.new(:poll) post 'command/keyrelay', to: 'keyrelays#keyrelay', constraints: EppConstraint.new(:keyrelay) - post 'command/:command', to: 'errors#not_found' # fallback route + post 'command/:command', to: 'errors#not_found', constraints: EppConstraint.new(:not_found) # fallback route get 'error/:command', to: 'errors#error' end diff --git a/doc/epp-doc.md b/doc/epp-doc.md index cf4a84d71..cf6ae2788 100644 --- a/doc/epp-doc.md +++ b/doc/epp-doc.md @@ -16,15 +16,11 @@ Our implementation supports following protocols: [RFC5910 - DNSSEC Mapping](http://tools.ietf.org/html/rfc5910) [RFC3735 - Guidelines for Extending the EPP](http://tools.ietf.org/html/rfc3735) -Related XML Schema Definitions (may differ from policies applied to registry): +EIS specific XML Schema Definitions (may differ from policies applied to registry): [contact-eis-1.0.xsd](schemas/contact-eis-1.0.xsd) [domain-eis-1.0.xsd](schemas/domain-eis-1.0.xsd) [eis-1.0.xsd](schemas/eis-1.0.xsd) -[epp-1.0.xsd](schemas/epp-1.0.xsd) -[eppcom-1.0.xsd](schemas/eppcom-1.0.xsd) -[host-1.0.xsd](schemas/host-1.0.xsd) -[secDNS-1.1.xsd](schemas/secDNS-1.1.xsd) More info about The Extensible Provisioning Protocol (EPP):
http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol diff --git a/doc/epp-examples.md b/doc/epp-examples.md index 1d7999cdc..ed44a83fd 100644 --- a/doc/epp-examples.md +++ b/doc/epp-examples.md @@ -19,13 +19,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -60,7 +60,7 @@ REQUEST: - + ABC-12345 @@ -114,7 +114,7 @@ REQUEST: - + John Doe @@ -129,7 +129,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -171,7 +171,7 @@ REQUEST: - + John Doe @@ -186,7 +186,7 @@ REQUEST: - + 1990-22-12 dGVzdCBmYWlsCg== @@ -228,7 +228,7 @@ REQUEST: - + John Doe @@ -243,7 +243,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -285,7 +285,7 @@ REQUEST: - + John Doe @@ -300,7 +300,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -342,7 +342,7 @@ REQUEST: - + abc12345 John Doe @@ -358,7 +358,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -400,7 +400,7 @@ REQUEST: - + abc:ABC:12345 John Doe @@ -416,7 +416,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -458,7 +458,7 @@ REQUEST: - + abc 123 John Doe @@ -474,7 +474,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -510,7 +510,7 @@ REQUEST: - + John Doe @@ -525,7 +525,7 @@ REQUEST: - + 1990-22-12 @@ -560,7 +560,7 @@ REQUEST: - + CID:FIRST0:abc:ABC:NEW:12345 John Doe @@ -576,7 +576,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -618,7 +618,7 @@ REQUEST: - + CID:FIRST0:abc:CID:ABC:NEW:12345 John Doe @@ -634,7 +634,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -676,7 +676,7 @@ REQUEST: - + FIRST0:abc22 John Doe @@ -692,7 +692,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -734,7 +734,7 @@ REQUEST: - + cid2:first0:abc:ABC:11111 John Doe @@ -750,7 +750,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -792,7 +792,7 @@ REQUEST: - + CID:FIRST0 John Doe @@ -808,7 +808,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -850,7 +850,7 @@ REQUEST: - + John Doe @@ -865,7 +865,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -907,7 +907,7 @@ REQUEST: - + John Doe @@ -922,7 +922,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -964,7 +964,7 @@ REQUEST: - + John Doe should not save @@ -980,7 +980,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -1016,7 +1016,7 @@ REQUEST: - + John Doe @@ -1032,7 +1032,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -1068,7 +1068,7 @@ REQUEST: - + ABC-12345 @@ -1104,7 +1104,7 @@ REQUEST: - + not-exists @@ -1119,7 +1119,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -1157,7 +1157,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1172,7 +1172,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -1213,7 +1213,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1266,13 +1266,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -1305,7 +1305,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1320,7 +1320,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -1366,13 +1366,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -1414,13 +1414,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -1453,7 +1453,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1498,13 +1498,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -1539,7 +1539,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1554,7 +1554,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -1592,7 +1592,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1608,7 +1608,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -1646,7 +1646,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1661,7 +1661,7 @@ REQUEST: - + 1990-22-12 dGVzdCBmYWlsCg== @@ -1697,7 +1697,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1713,7 +1713,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -1748,7 +1748,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1764,7 +1764,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -1799,7 +1799,7 @@ REQUEST: - + FIRST0:SH8013 Payment overdue. @@ -1838,7 +1838,7 @@ REQUEST: - + FIRST0:SH8013 +372.11111111 @@ -1885,7 +1885,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1930,7 +1930,7 @@ REQUEST: - + FIRST0:SH8013 +372.11111111111 @@ -1980,7 +1980,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2024,7 +2024,7 @@ REQUEST: - + FIRST0:SH8013 password @@ -2068,7 +2068,7 @@ REQUEST: - + FIRST0:SH8013 password @@ -2118,7 +2118,7 @@ REQUEST: - + FIRST0:SH8013 password @@ -2168,7 +2168,7 @@ REQUEST: - + FIRST0:SH8013 password @@ -2221,7 +2221,7 @@ REQUEST: - + FIRST0:SH8013 password @@ -2270,7 +2270,7 @@ REQUEST: - + FIRST0:SH8013 password @@ -2313,7 +2313,7 @@ REQUEST: - + FIRST0:SH8013 password @@ -2356,7 +2356,7 @@ REQUEST: - + ABC-12345 @@ -2389,7 +2389,7 @@ REQUEST: - + not-exists password @@ -2397,7 +2397,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -2436,7 +2436,7 @@ REQUEST: - + FIRST0:SH737607533 password @@ -2444,7 +2444,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -2480,7 +2480,7 @@ REQUEST: - + FIRST0:SH348236744 wrong password @@ -2488,7 +2488,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -2524,7 +2524,7 @@ REQUEST: - + FIRST0:SH982687135 @@ -2559,7 +2559,7 @@ REQUEST: - + FIRST0:SH648273286 password @@ -2567,7 +2567,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -2610,13 +2610,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -2649,7 +2649,7 @@ REQUEST: - + FIRST0:SH129859989 password @@ -2657,7 +2657,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -2698,13 +2698,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -2746,13 +2746,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -2785,7 +2785,7 @@ REQUEST: - + FIRST0:SH5773127110 @@ -2825,13 +2825,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -2873,13 +2873,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -2912,7 +2912,7 @@ REQUEST: - + FIRST0:SH8279968911 wrong password @@ -2920,7 +2920,7 @@ REQUEST: - + 37605030299 dGVzdCBmYWlsCg== @@ -2961,13 +2961,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -3002,7 +3002,7 @@ REQUEST: - + ABC-12345 @@ -3035,7 +3035,7 @@ REQUEST: - + FIXED:CHECK-1234 check-4321 @@ -3082,7 +3082,7 @@ REQUEST: - + FIXED:CHECK-LEGACY CID:FIXED:CHECK-LEGACY @@ -3129,7 +3129,7 @@ REQUEST: - + ABC-12345 @@ -3162,7 +3162,7 @@ REQUEST: - + no-contact password @@ -3203,7 +3203,7 @@ REQUEST: - + FIXED:INFO-4444 password @@ -3271,7 +3271,7 @@ REQUEST: - + FIXED:CID:FIXED:INFO-5555 password @@ -3339,7 +3339,7 @@ REQUEST: - + FIRST0:INFO-IDENT password @@ -3407,7 +3407,7 @@ REQUEST: - + FIRST0:SH025726680 wrong-pw @@ -3475,7 +3475,7 @@ REQUEST: - + FIXED:TEST:CUSTOM:CODE password @@ -3550,13 +3550,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -3589,7 +3589,7 @@ REQUEST: - + FIRST0:SH025726680 password @@ -3662,13 +3662,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -3710,13 +3710,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -3749,7 +3749,7 @@ REQUEST: - + FIRST0:SH025726680 wrong-pw @@ -3792,13 +3792,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -3840,13 +3840,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -3879,7 +3879,7 @@ REQUEST: - + FIRST0:SH025726680 @@ -3935,13 +3935,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -3981,13 +3981,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -4022,7 +4022,7 @@ REQUEST: - + example570502870390653.ee 1 @@ -4050,7 +4050,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4085,7 +4085,7 @@ REQUEST: - + example75362879070324119.ee 1 @@ -4113,7 +4113,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4157,7 +4157,7 @@ REQUEST: - + test.ee @@ -4201,7 +4201,7 @@ REQUEST: - + example33195882581021572.ee 1 @@ -4229,7 +4229,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4271,7 +4271,7 @@ REQUEST: - + example29083099037202800.ee 1 @@ -4291,7 +4291,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -4333,7 +4333,7 @@ REQUEST: - + example50220100704932421.ee 1 @@ -4359,7 +4359,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4394,7 +4394,7 @@ REQUEST: - + äääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää.ee 1 @@ -4422,7 +4422,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4457,7 +4457,7 @@ REQUEST: - + 1162.ee 1 @@ -4485,7 +4485,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4518,7 +4518,7 @@ REQUEST: - + 1162.ee 1 @@ -4546,7 +4546,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== wrong_pw @@ -4584,7 +4584,7 @@ REQUEST: - + 1162.ee 1 @@ -4612,7 +4612,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== abc @@ -4657,7 +4657,7 @@ REQUEST: - + ftp.ee 1 @@ -4685,7 +4685,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4723,7 +4723,7 @@ REQUEST: - + example60325525827762784.ee 1 @@ -4747,7 +4747,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4782,7 +4782,7 @@ REQUEST: - + example42884591161561847.ee 1 FIXED:CITIZEN_1234 @@ -4800,7 +4800,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4838,7 +4838,7 @@ REQUEST: - + example51822641645885173.ee 1 @@ -4900,7 +4900,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -4935,7 +4935,7 @@ REQUEST: - + example95701265975718561.ee 1 @@ -4961,7 +4961,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5005,7 +5005,7 @@ REQUEST: - + example79689508380822639.ee 1 @@ -5027,7 +5027,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5062,7 +5062,7 @@ REQUEST: - + example65830382884082211.ee 1 @@ -5085,7 +5085,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -5127,7 +5127,7 @@ REQUEST: - + example37104311749905114.ee 1 @@ -5150,7 +5150,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -5194,7 +5194,7 @@ REQUEST: - + example17283406877102608.ee 365 @@ -5222,7 +5222,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5264,7 +5264,7 @@ REQUEST: - + example42530658953623496.ee 2 @@ -5292,7 +5292,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5334,7 +5334,7 @@ REQUEST: - + example20254148699039299.ee 36 @@ -5362,7 +5362,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5404,7 +5404,7 @@ REQUEST: - + example41984719173309545.ee @@ -5431,7 +5431,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5473,7 +5473,7 @@ REQUEST: - + example85680911639912537.ee 367 @@ -5501,7 +5501,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5539,7 +5539,7 @@ REQUEST: - + example80718300051718809.ee 1 @@ -5567,7 +5567,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5600,7 +5600,7 @@ REQUEST: - + example53736479297046054.ee 1 @@ -5628,7 +5628,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -5663,7 +5663,7 @@ REQUEST: - + example18929120996156482.ee 1 @@ -5703,7 +5703,7 @@ REQUEST: 841936717ae427ace63c28d04918569a841936717ae427ace63c28d0 - + dGVzdCBmYWlsCg== @@ -5745,7 +5745,7 @@ REQUEST: - + example92492494814312141.ee 1 @@ -5785,7 +5785,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -5856,7 +5856,7 @@ REQUEST: - + example62629375729901991.ee 1 @@ -5890,7 +5890,7 @@ REQUEST: 700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f - + dGVzdCBmYWlsCg== @@ -5928,7 +5928,7 @@ REQUEST: - + example96324057439285023.ee 1 @@ -5962,7 +5962,7 @@ REQUEST: 700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f - + dGVzdCBmYWlsCg== @@ -5997,7 +5997,7 @@ REQUEST: - + example7613404788385072.ee 1 @@ -6025,7 +6025,7 @@ REQUEST: 49FD46E6C4B45C55D4AC - + dGVzdCBmYWlsCg==
@@ -6067,7 +6067,7 @@ REQUEST: - + example49277921871401732.ee 1 @@ -6101,7 +6101,7 @@ REQUEST: - + dGVzdCBmYWlsCg==
@@ -6143,7 +6143,7 @@ REQUEST: - + example56030289069030352.ee 1 @@ -6177,7 +6177,7 @@ REQUEST: - + dGVzdCBmYWlsCg==
@@ -6212,7 +6212,7 @@ REQUEST: - + example75160608584221394.ee 1 @@ -6240,7 +6240,7 @@ REQUEST: 700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f - + dGVzdCBmYWlsCg==
@@ -6275,7 +6275,7 @@ REQUEST: - + example3956990749578865.ee 1 @@ -6309,7 +6309,7 @@ REQUEST: 700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f - + dGVzdCBmYWlsCg==
@@ -6344,7 +6344,7 @@ REQUEST: - + example75024791554839013.ee 1 @@ -6370,7 +6370,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -6412,7 +6412,7 @@ REQUEST: - + example53305717298495096.ee 1 @@ -6438,7 +6438,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -6473,7 +6473,7 @@ REQUEST: - + example32384352982726855.ee 1 @@ -6499,7 +6499,7 @@ REQUEST: AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8 - + dGVzdCBmYWlsCg== @@ -6544,13 +6544,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -6583,7 +6583,7 @@ REQUEST: - + domain1.ee 42ae0ae9efbfe30e392c68f43868c156 @@ -6591,7 +6591,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -6642,13 +6642,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -6725,7 +6725,7 @@ REQUEST: - + domain1.ee 0e24645ded1d5674883359a3a6efc6d8 @@ -6733,7 +6733,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -6777,7 +6777,7 @@ REQUEST: - + domain1.ee 0e24645ded1d5674883359a3a6efc6d8 @@ -6785,7 +6785,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -6836,13 +6836,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -6926,13 +6926,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -6972,13 +6972,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7048,13 +7048,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7096,13 +7096,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7135,7 +7135,7 @@ REQUEST: - + domain2.ee cc8d4d0ec06659816e33ffa712bfcb96 @@ -7143,7 +7143,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -7194,13 +7194,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7240,13 +7240,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7279,7 +7279,7 @@ REQUEST: - + domain2.ee cc8d4d0ec06659816e33ffa712bfcb96 @@ -7287,7 +7287,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -7338,13 +7338,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7386,13 +7386,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7425,7 +7425,7 @@ REQUEST: - + domain3.ee 11a06f18e5e558f6b64753eaaa49173c @@ -7479,13 +7479,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7527,13 +7527,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7566,7 +7566,7 @@ REQUEST: - + domain4.ee fc66d69a22fd1bcdbf3be76be431b09d @@ -7620,13 +7620,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7668,13 +7668,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7707,7 +7707,7 @@ REQUEST: - + domain5.ee 4d5a71cc6c7d0ddcf59d2816b42e98d3 @@ -7761,13 +7761,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7809,13 +7809,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7848,7 +7848,7 @@ REQUEST: - + domain8.ee 2ec2e6c76768ad88df0dbeba38f710e6 @@ -7902,13 +7902,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7950,13 +7950,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -7989,7 +7989,7 @@ REQUEST: - + domain9.ee d36b447200a1aaac2bd7b5a878652bf5 @@ -8043,13 +8043,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8091,13 +8091,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8130,7 +8130,7 @@ REQUEST: - + domain11.ee cbb169bf8cd2f5ba0a3fcebaf7fa97fb @@ -8184,13 +8184,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8232,13 +8232,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8271,7 +8271,7 @@ REQUEST: - + domain14.ee 7590473cda31d3a0b3c2d8ffbf410b7c @@ -8325,13 +8325,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8373,13 +8373,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8412,7 +8412,7 @@ REQUEST: - + domain15.ee 91a1593675c6b62f498280dcff1613ae @@ -8466,13 +8466,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8514,13 +8514,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8553,7 +8553,7 @@ REQUEST: - + domain16.ee 98oiewslkfkd @@ -8596,13 +8596,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8637,7 +8637,7 @@ REQUEST: - + domain17.ee 66a79e8236d629c800bc4cddbb5b4b5f @@ -8645,7 +8645,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -8698,13 +8698,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8737,7 +8737,7 @@ REQUEST: - + domain18.ee 6d38dcddecdb6cd04201e5bffd7ac13d @@ -8745,7 +8745,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -8785,13 +8785,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8824,7 +8824,7 @@ REQUEST: - + domain18.ee 6d38dcddecdb6cd04201e5bffd7ac13d @@ -8832,7 +8832,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -8885,13 +8885,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -8924,7 +8924,7 @@ REQUEST: - + domain19.ee c39986ad356b45908b93934b9b531b3e @@ -8932,7 +8932,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -8972,13 +8972,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -9013,7 +9013,7 @@ REQUEST: - + domain20.ee test @@ -9021,7 +9021,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9056,7 +9056,7 @@ REQUEST: - + domain21.ee 97ffdf9ce35006bb804a90b0be86158f @@ -9064,7 +9064,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9099,7 +9099,7 @@ REQUEST: - + example23607638467376100.ee 98oiewslkfkd @@ -9144,13 +9144,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -9183,7 +9183,7 @@ REQUEST: - + domain22.ee ed362ab554eed93eef9ba15f47b3a86b @@ -9191,7 +9191,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9235,7 +9235,7 @@ REQUEST: - + domain22.ee ed362ab554eed93eef9ba15f47b3a86b @@ -9243,7 +9243,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9283,13 +9283,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -9324,7 +9324,7 @@ REQUEST: - + domain23.ee aefa0df0d6e304b99ae3c5ff5220feec @@ -9332,7 +9332,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9367,7 +9367,7 @@ REQUEST: - + domain24.ee 40bce48fe3a738128d78e17d37bf296b @@ -9412,13 +9412,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -9451,7 +9451,7 @@ REQUEST: - + domain25.ee 064c71aaa009061b95fba395d67df5c5 @@ -9459,7 +9459,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9503,7 +9503,7 @@ REQUEST: - + domain25.ee 064c71aaa009061b95fba395d67df5c5 @@ -9557,13 +9557,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -9596,7 +9596,7 @@ REQUEST: - + domain25.ee 064c71aaa009061b95fba395d67df5c5 @@ -9604,7 +9604,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9648,7 +9648,7 @@ REQUEST: - + domain25.ee 5bfe0b53635867fb9e51d987d686b95e @@ -9697,7 +9697,7 @@ REQUEST: - + domain26.ee FIXED:CITIZEN_1234 @@ -9706,7 +9706,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9741,7 +9741,7 @@ REQUEST: - + domain27.ee FIXED:CITIZEN_1234 @@ -9750,7 +9750,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9785,7 +9785,7 @@ REQUEST: - + domain28.ee @@ -9807,7 +9807,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9842,7 +9842,7 @@ REQUEST: - + domain29.ee FIXED:CITIZEN_1234 @@ -9851,7 +9851,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9886,7 +9886,7 @@ REQUEST: - + domain30.ee FIXED:CITIZEN_1234 @@ -9895,7 +9895,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -9930,7 +9930,7 @@ REQUEST: - + domain31.ee @@ -9997,7 +9997,7 @@ REQUEST: - + domain31.ee @@ -10061,7 +10061,7 @@ REQUEST: - + domain31.ee @@ -10154,7 +10154,7 @@ REQUEST: - + domain32.ee @@ -10191,7 +10191,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -10227,7 +10227,7 @@ REQUEST: - + domain32.ee @@ -10264,7 +10264,7 @@ REQUEST: - + dGVzdCBmYWlsCg== @@ -10299,7 +10299,7 @@ REQUEST: - + domain33.ee Payment overdue. @@ -10338,7 +10338,7 @@ REQUEST: - + domain34.ee @@ -10402,7 +10402,7 @@ REQUEST: - + domain34.ee @@ -10456,7 +10456,7 @@ REQUEST: - + domain34.ee @@ -10533,7 +10533,7 @@ REQUEST: - + domain35.ee @@ -10574,7 +10574,7 @@ REQUEST: - + domain36.ee @@ -10615,7 +10615,7 @@ REQUEST: - + domain36.ee @@ -10667,7 +10667,7 @@ REQUEST: - + domain37.ee FIXED:CITIZEN_1234 @@ -10705,7 +10705,7 @@ REQUEST: - + domain38.ee @@ -10746,7 +10746,7 @@ REQUEST: - + domain39.ee 2016-07-20 1 @@ -10789,7 +10789,7 @@ REQUEST: - + domain40.ee 2016-07-20 1 @@ -10832,7 +10832,7 @@ REQUEST: - + domain41.ee 2016-07-20 @@ -10874,7 +10874,7 @@ REQUEST: - + domain42.ee 2016-07-20 1 @@ -10909,7 +10909,7 @@ REQUEST: - + domain42.ee 2016-07-20 1 @@ -10946,7 +10946,7 @@ REQUEST: - + domain43.ee 2015-07-30 730 @@ -10989,7 +10989,7 @@ REQUEST: - + domain44.ee 2015-07-30 36 @@ -11032,7 +11032,7 @@ REQUEST: - + domain45.ee 2015-07-30 1 @@ -11069,7 +11069,7 @@ REQUEST: - + domain46.ee 2200-08-07 1 @@ -11112,7 +11112,7 @@ REQUEST: - + domain47.ee 2015-07-30 4 @@ -11152,7 +11152,7 @@ REQUEST: - + domain48.ee 2015-10-18 1 @@ -11187,7 +11187,7 @@ REQUEST: - + domain48.ee 2015-10-17 1 @@ -11230,7 +11230,7 @@ REQUEST: - + domain49.ee 2020-07-20 1 @@ -11273,7 +11273,7 @@ REQUEST: - + domain50.ee 2015-07-30 1 @@ -11319,13 +11319,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -11358,7 +11358,7 @@ REQUEST: - + domain52.ee 2016-07-20 1 @@ -11400,13 +11400,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -11441,7 +11441,7 @@ REQUEST: - + domain53.ee 2fooBAR @@ -11539,7 +11539,7 @@ REQUEST: - + domain53.ee 2fooBAR @@ -11639,7 +11639,7 @@ REQUEST: - + domain54.ee 2fooBAR @@ -11673,7 +11673,7 @@ REQUEST: - + domain54.ee 2fooBAR @@ -11736,7 +11736,7 @@ REQUEST: - + domain54.ee 2fooBAR @@ -11794,7 +11794,7 @@ REQUEST: - + domain54.ee 2fooBAR @@ -11845,7 +11845,7 @@ REQUEST: - + domain54.ee 2fooBAR @@ -11915,7 +11915,7 @@ REQUEST: - + test.ee 2fooBAR @@ -11954,7 +11954,7 @@ REQUEST: - + domain55.ee 2fooBAR @@ -12028,13 +12028,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -12067,7 +12067,7 @@ REQUEST: - + domain56.ee 2fooBAR @@ -12108,13 +12108,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -12156,13 +12156,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -12195,7 +12195,7 @@ REQUEST: - + domain57.ee @@ -12261,13 +12261,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -12309,13 +12309,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -12348,7 +12348,7 @@ REQUEST: - + domain58.ee 6247f0cbf6ef99c7803d68f9604ef0b0 @@ -12420,13 +12420,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -12461,12 +12461,12 @@ REQUEST: - + domain59.ee - + dGVzdCBmYWlsCg== @@ -12501,12 +12501,12 @@ REQUEST: - + domain60.ee - + dGVzdCBmYWlsCg== @@ -12541,12 +12541,12 @@ REQUEST: - + domain61.ee - + dGVzdCBmYWlsCg== @@ -12581,7 +12581,7 @@ REQUEST: - + example.ee @@ -12616,7 +12616,7 @@ REQUEST: - + one.ee @@ -12656,7 +12656,7 @@ REQUEST: - + domain62.ee @@ -12699,7 +12699,7 @@ REQUEST: - + one.ee two.ee three.ee @@ -12749,7 +12749,7 @@ REQUEST: - + one.ee notcorrectdomain @@ -12803,13 +12803,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -12841,7 +12841,7 @@ REQUEST: ```xml - + domain63.ee @@ -12889,7 +12889,7 @@ REQUEST: ```xml - + domain63.ee @@ -12939,7 +12939,7 @@ REQUEST: ```xml - + domain63.ee @@ -12987,7 +12987,7 @@ REQUEST: ```xml - + domain63.ee @@ -13035,7 +13035,7 @@ REQUEST: ```xml - + domain63.ee @@ -13052,7 +13052,7 @@ REQUEST: P1D - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== 1437394918 @@ -13086,7 +13086,7 @@ REQUEST: ```xml - + domain63.ee @@ -13103,7 +13103,7 @@ REQUEST: P1D - + JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== 1437394919 @@ -13142,13 +13142,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -13221,13 +13221,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -13296,13 +13296,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -13375,13 +13375,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -13453,13 +13453,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -13811,13 +13811,13 @@ RESPONSE: 1.0 en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -13857,13 +13857,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -13905,13 +13905,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -13946,7 +13946,7 @@ REQUEST: - + test.ee @@ -13988,13 +13988,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -14034,13 +14034,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -14082,13 +14082,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -14130,13 +14130,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -14176,13 +14176,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -14224,13 +14224,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -14302,13 +14302,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd @@ -14351,13 +14351,13 @@ REQUEST: en - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-eis-1.0.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 urn:ietf:params:xml:ns:secDNS-1.1 - https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd + https://epp.tld.ee/schema/eis-1.0.xsd diff --git a/doc/epp/contact.md b/doc/epp/contact.md index 8d0045506..b8a0be47d 100644 --- a/doc/epp/contact.md +++ b/doc/epp/contact.md @@ -12,7 +12,7 @@ Contact Mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" 0-1 Contact id, optional, string, no spaces, max 100 characters, generated automatically if missing 1 Postal information container @@ -27,7 +27,7 @@ Contact Mapping protocol short version: 1 Phone number in format \+ddd.d+ 1 E-mail 1 - 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" + 1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd" 1 Contact identificator Attribute: "type" "bic" # Business registry code @@ -46,7 +46,7 @@ Contact Mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" 1 Contact id, required 1 Change container 1 Postal information container @@ -63,7 +63,7 @@ Contact Mapping protocol short version: 0-1 Required if registrar is not the owner of the contact. 1 Contact password. Attribute: roid="String" 0-1 - 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" + 0-1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd" 0-1 Contact identificator Attribute: "type" "bic" # Business registry code @@ -83,12 +83,12 @@ Contact Mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" 1 Contact id 0-1 Required if registrar is not the owner of the contact. 1 Contact password. Attribute: roid="String" 0-1 - 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" + 0-1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd" 0-1 Base64 encoded document. Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" 0-1 Client transaction id @@ -101,7 +101,7 @@ Contact Mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" 1-n Contact id 0-1 Client transaction id @@ -113,7 +113,7 @@ Contact Mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" 1-n Contact id 0-1 Required if registrar is not the owner of the contact. 1 Contact password. Attribute: roid="String" diff --git a/doc/epp/domain.md b/doc/epp/domain.md index f3a45c8da..e609b934e 100644 --- a/doc/epp/domain.md +++ b/doc/epp/domain.md @@ -13,7 +13,7 @@ Domain name mapping protocol short version: Field name Min-max Field description ------------------------- ------- ----------------- 1 - 1 Attribute: xmlns:domain="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd" + 1 Attribute: xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" 1 Domain name. Can contain unicode characters. 0-1 Registration period for domain. Must add up to 1 / 2 / 3 years. @@ -36,7 +36,7 @@ Domain name mapping protocol short version: 1 Allowed values: 3 1 Allowed values: 3, 5, 6, 7, 8, 252, 253, 254, 255 1 Public key - 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" + 1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd" 1 Base64 encoded document. Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" 0-1 @@ -50,7 +50,7 @@ Domain name mapping protocol short version: Field name Min-max Field description ------------------------ -------- ----------------- 1 - 1 Attribute: xmlns:domain="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd" + 1 Attribute: xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" 1 Domain name. Can contain unicode characters. 0-1 Attributes to change 0-1 Contact reference to the registrant @@ -85,7 +85,7 @@ Domain name mapping protocol short version: 0-1 1-n 1 Public key - 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" + 0-1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd" 0-1 Base64 encoded document. Required if registrant is changing. Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" 0-1 Client transaction id @@ -97,11 +97,11 @@ Domain name mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:domain="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd" + 1 Attribute: xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" Optional attribute: verified="yes/no" 1 Domain name. Can contain unicode characters. 1 - 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" + 1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd" 1 Base64 encoded document. Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" 0-1 Client transaction id @@ -113,7 +113,7 @@ Domain name mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:domain="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd" + 1 Attribute: xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" 1 Domain name. Can contain unicode characters. Attribute: hosts="all / del / sub / none" 0-1 Required if registrar is not the owner of the domain. @@ -127,14 +127,14 @@ Domain name mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:domain="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd" + 1 Attribute: xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" 1 Domain name. Can contain unicode characters. 1 Current expiry date (ISO8601 format) 0-1 Registration period for domain. Must add up to 1 / 2 / 3 years. Attribute: unit="y/m/d" Default value is 1 year. 0-1 - 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" + 0-1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd" 0-1 Base64 encoded document. Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" 0-1 Client transaction id @@ -146,12 +146,12 @@ Domain name mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 Attribute: op="request/query/approve/reject/cancel" - 1 Attribute: xmlns:domain="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd" + 1 Attribute: xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" 1 Domain name. Can contain unicode characters. 1 1 Domain password. Attribute: roid="String" 0-1 - 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" + 0-1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd" 0-1 Base64 encoded document. Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" 0-1 Client transaction id @@ -163,7 +163,7 @@ Domain name mapping protocol short version: Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:domain="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd" + 1 Attribute: xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" 1 Domain name. Can contain unicode characters. 0-1 Client transaction id diff --git a/doc/schemas/contact-eis-1.0.xsd b/doc/schemas/contact-eis-1.0.xsd index 341888e47..e1fb084a5 100644 --- a/doc/schemas/contact-eis-1.0.xsd +++ b/doc/schemas/contact-eis-1.0.xsd @@ -1,7 +1,7 @@ - - - - + + + diff --git a/doc/schemas/domain-eis-1.0.xsd b/doc/schemas/domain-eis-1.0.xsd index a0b89c0c6..62da465fe 100644 --- a/doc/schemas/domain-eis-1.0.xsd +++ b/doc/schemas/domain-eis-1.0.xsd @@ -1,7 +1,7 @@ - - - - - - + + + + + diff --git a/doc/schemas/eis-1.0.xsd b/doc/schemas/eis-1.0.xsd index 2612b5e57..a8b7221a3 100644 --- a/doc/schemas/eis-1.0.xsd +++ b/doc/schemas/eis-1.0.xsd @@ -1,7 +1,7 @@ diff --git a/lib/epp_constraint.rb b/lib/epp_constraint.rb index 02bf285d9..06cf3d45a 100644 --- a/lib/epp_constraint.rb +++ b/lib/epp_constraint.rb @@ -1,7 +1,7 @@ class EppConstraint OBJECT_TYPES = { - domain: { domain: 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/domain-eis-1.0.xsd' }, - contact: { contact: 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/contact-eis-1.0.xsd' } + domain: { domain: 'https://epp.tld.ee/schema/domain-eis-1.0.xsd' }, + contact: { contact: 'https://epp.tld.ee/schema/contact-eis-1.0.xsd' } } def initialize(type) @@ -10,14 +10,15 @@ class EppConstraint # creates parsed_frame, detects epp request object def matches?(request) - parsed_frame = Nokogiri::XML(request.params[:raw_frame]) + # TODO: Maybe move this to controller to keep params clean + request.params[:nokogiri_frame] ||= Nokogiri::XML(request.params[:raw_frame]) + request.params[:parsed_frame] ||= request.params[:nokogiri_frame].dup.remove_namespaces! - unless [:keyrelay, :poll].include?(@type) + unless [:keyrelay, :poll, :session, :not_found].include?(@type) element = "//#{@type}:#{request.params[:action]}" - return false if parsed_frame.xpath("#{element}", OBJECT_TYPES[@type]).none? + return false if request.params[:nokogiri_frame].xpath("#{element}", OBJECT_TYPES[@type]).none? end - request.params[:parsed_frame] = parsed_frame.remove_namespaces! request.params[:epp_object_type] = @type true end diff --git a/doc/schemas/contact-1.0.xsd b/lib/schemas/contact-eis-1.0.xsd similarity index 84% rename from doc/schemas/contact-1.0.xsd rename to lib/schemas/contact-eis-1.0.xsd index 3ed0eb6d8..ed0596c96 100644 --- a/doc/schemas/contact-1.0.xsd +++ b/lib/schemas/contact-eis-1.0.xsd @@ -1,388 +1,366 @@ - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - contact provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + contact provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/schemas/domain-1.0.xsd b/lib/schemas/domain-eis-1.0.xsd similarity index 90% rename from doc/schemas/domain-1.0.xsd rename to lib/schemas/domain-eis-1.0.xsd index db650414e..222d3d6f4 100644 --- a/doc/schemas/domain-1.0.xsd +++ b/lib/schemas/domain-eis-1.0.xsd @@ -1,7 +1,7 @@ - - - - + + + + + @@ -46,7 +48,7 @@ minOccurs="0"/> - + @@ -62,7 +64,7 @@ - + @@ -70,6 +72,7 @@ + @@ -89,6 +92,7 @@ @@ -237,12 +241,28 @@ Allow the registrant value to be nullified by changing the minLength restriction to "0". --> - + + + + + + + + + + - - + + + + + + + + + diff --git a/lib/schemas/eis-1.0.xsd b/lib/schemas/eis-1.0.xsd new file mode 100644 index 000000000..a8b7221a3 --- /dev/null +++ b/lib/schemas/eis-1.0.xsd @@ -0,0 +1,102 @@ + + + + + + EIS Extensible Provisioning Protocol v1.0 extension schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/schemas/epp-1.0.xsd b/lib/schemas/epp-1.0.xsd similarity index 99% rename from doc/schemas/epp-1.0.xsd rename to lib/schemas/epp-1.0.xsd index 1efc25947..448b9ae25 100644 --- a/doc/schemas/epp-1.0.xsd +++ b/lib/schemas/epp-1.0.xsd @@ -9,7 +9,7 @@ - + diff --git a/doc/schemas/eppcom-1.0.xsd b/lib/schemas/eppcom-1.0.xsd similarity index 100% rename from doc/schemas/eppcom-1.0.xsd rename to lib/schemas/eppcom-1.0.xsd diff --git a/doc/schemas/host-1.0.xsd b/lib/schemas/host-1.0.xsd similarity index 100% rename from doc/schemas/host-1.0.xsd rename to lib/schemas/host-1.0.xsd diff --git a/doc/schemas/secDNS-1.1.xsd b/lib/schemas/secDNS-1.1.xsd similarity index 100% rename from doc/schemas/secDNS-1.1.xsd rename to lib/schemas/secDNS-1.1.xsd diff --git a/spec/epp/contact_spec.rb b/spec/epp/contact_spec.rb index 166ce8659..047a2a67e 100644 --- a/spec/epp/contact_spec.rb +++ b/spec/epp/contact_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' describe 'EPP Contact', epp: true do before :all do - @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/contact-eis-1.0.xsd')) + @xsd = Nokogiri::XML::Schema(File.read('lib/schemas/contact-eis-1.0.xsd')) @registrar1 = Fabricate(:registrar1) @registrar2 = Fabricate(:registrar2) @epp_xml = EppXml::Contact.new(cl_trid: 'ABC-12345') @@ -58,34 +58,10 @@ describe 'EPP Contact', epp: true do end it 'fails if request xml is missing' do - response = epp_plain_request(@epp_xml.create, validate_input: false) - response[:results][0][:msg].should == - 'Required parameter missing: create > create > postalInfo > name [name]' - response[:results][1][:msg].should == - 'Required parameter missing: create > create > postalInfo > addr > street [street]' - response[:results][2][:msg].should == - 'Required parameter missing: create > create > postalInfo > addr > city [city]' - response[:results][3][:msg].should == - 'Required parameter missing: create > create > postalInfo > addr > pc [pc]' - response[:results][4][:msg].should == - 'Required parameter missing: create > create > postalInfo > addr > cc [cc]' - response[:results][5][:msg].should == - 'Required parameter missing: create > create > voice [voice]' - response[:results][6][:msg].should == - 'Required parameter missing: create > create > email [email]' - response[:results][7][:msg].should == - 'Required parameter missing: extension > extdata > ident [ident]' + response = epp_plain_request(@epp_xml.create) - response[:results][0][:result_code].should == '2003' - response[:results][1][:result_code].should == '2003' - response[:results][2][:result_code].should == '2003' - response[:results][3][:result_code].should == '2003' - response[:results][4][:result_code].should == '2003' - response[:results][5][:result_code].should == '2003' - response[:results][6][:result_code].should == '2003' - response[:results][7][:result_code].should == '2003' - - response[:results].count.should == 8 + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}create': Missing child element(s). Expected is one of ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id, {https://epp.tld.ee/schema/contact-eis-1.0.xsd}postalInfo )." + response[:results][0][:result_code].should == '2001' end it 'successfully creates a contact' do @@ -196,10 +172,9 @@ describe 'EPP Contact', epp: true do attrs: { type: 'birthday', cc: 'WRONG' } } } - response = create_request({}, extension, validate_input: false) - response[:msg].should == - 'Ident country code is not valid, should be in ISO_3166-1 alpha 2 format [ident]' - response[:result_code].should == '2005' + response = create_request({}, extension) + response[:msg].should == "Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident', attribute 'cc': [facet 'maxLength'] The value 'WRONG' has a length of '5'; this exceeds the allowed maximum length of '2'." + response[:result_code].should == '2001' end it 'should return country missing' do @@ -209,10 +184,9 @@ describe 'EPP Contact', epp: true do attrs: { type: 'birthday' } } } - response = create_request({}, extension, validate_input: false) - response[:msg].should == - 'Required ident attribute missing: cc' - response[:result_code].should == '2003' + response = create_request({}, extension) + response[:msg].should == "Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident': The attribute 'cc' is required but missing." + response[:result_code].should == '2001' end it 'should return country missing' do @@ -221,10 +195,9 @@ describe 'EPP Contact', epp: true do value: '1990-22-12' } } - response = create_request({}, extension, validate_input: false) - response[:msg].should == - 'Required ident attribute missing: type' - response[:result_code].should == '2003' + response = create_request({}, extension) + response[:msg].should == "Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident': The attribute 'type' is required but missing." + response[:result_code].should == '2001' end it 'should add registrar prefix for code when legacy prefix present' do @@ -335,15 +308,8 @@ describe 'EPP Contact', epp: true do end it 'fails if request is invalid' do - response = epp_plain_request(@epp_xml.update, validate_input: false) - - response[:results][0][:msg].should == - 'Required parameter missing: add, rem or chg' - response[:results][0][:result_code].should == '2003' - response[:results][1][:msg].should == - 'Required parameter missing: update > update > id [id]' - response[:results][1][:result_code].should == '2003' - response[:results].count.should == 2 + response = epp_plain_request(@epp_xml.update) + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}update': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id )." end it 'returns error if obj doesnt exist' do @@ -429,11 +395,11 @@ describe 'EPP Contact', epp: true do chg: { id: { value: 'notpossibletoupdate' } } - }, {}, { validate_input: false } + }, {} ) - response[:msg].should == 'Object does not exist' - response[:result_code].should == '2303' + response[:msg].should == "Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}id': This element is not expected." + response[:result_code].should == '2001' @contact.reload.code.should == 'FIRST0:SH8013' end @@ -492,16 +458,16 @@ describe 'EPP Contact', epp: true do id: { value: 'FIRST0:SH8013' }, add: [{ _anonymus: [ - { status: { value: 'Payment overdue.', attrs: { s: 'clientHold', lang: 'en' } } }, + { status: { value: 'Payment overdue.', attrs: { s: 'clientDeleteProhibited', lang: 'en' } } }, { status: { value: '', attrs: { s: 'clientUpdateProhibited' } } } ] }] }) - response = epp_plain_request(xml, validate_input: false) - response[:results][0][:result_code].should == '2306' + response = epp_plain_request(xml) response[:results][0][:msg].should == "Parameter value policy error. Client-side object status "\ "management not supported: status [status]" + response[:results][0][:result_code].should == '2306' Setting.client_status_editing_enabled = true end @@ -543,6 +509,7 @@ describe 'EPP Contact', epp: true do end it 'should honor chg value over add value when both changes same attribute' do + pending 'It should not be possible to add voice (in add)' xml = @epp_xml.update({ id: { value: 'FIRST0:SH8013' }, add: { @@ -554,7 +521,7 @@ describe 'EPP Contact', epp: true do } }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) response[:results][0][:msg].should == 'Command completed successfully' response[:results][0][:result_code].should == '1000' @@ -585,8 +552,10 @@ describe 'EPP Contact', epp: true do # TODO: Update request rem block must be analyzed it 'should not allow to remove required attribute' do + pending 'It should not be possible to remove or add voice (in add and rem)' contact = Contact.find_by(code: 'FIRST0:SH8013') phone = contact.phone + # TODO: Refactor authInfo under chg block xml = @epp_xml.update({ id: { value: 'FIRST0:SH8013' }, authInfo: { pw: { value: 'password' } }, @@ -595,7 +564,7 @@ describe 'EPP Contact', epp: true do } }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) response[:results][0][:msg].should == 'Required parameter missing - phone [phone]' response[:results][0][:result_code].should == '2003' @@ -604,6 +573,8 @@ describe 'EPP Contact', epp: true do end it 'should honor add over rem' do + pending 'It should not be possible to remove or add voice (in add and rem)' + # TODO: Refactor authInfo under chg block xml = @epp_xml.update({ id: { value: 'FIRST0:SH8013' }, authInfo: { pw: { value: 'password' } }, @@ -615,7 +586,7 @@ describe 'EPP Contact', epp: true do } }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) response[:results][0][:msg].should == 'Command completed successfully' response[:results][0][:result_code].should == '1000' @@ -626,6 +597,8 @@ describe 'EPP Contact', epp: true do end it 'should honor chg over rem' do + pending 'It should not be possible to remove or add voice (in add and rem)' + # TODO: Refactor authInfo under chg block xml = @epp_xml.update({ id: { value: 'FIRST0:SH8013' }, authInfo: { pw: { value: 'password' } }, @@ -637,7 +610,7 @@ describe 'EPP Contact', epp: true do } }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) response[:results][0][:msg].should == 'Command completed successfully' response[:results][0][:result_code].should == '1000' @@ -648,6 +621,8 @@ describe 'EPP Contact', epp: true do end it 'should honor chg over rem and add' do + pending 'It should not be possible to remove or add voice (in add and rem)' + # TODO: Refactor authInfo under chg block xml = @epp_xml.update({ id: { value: 'FIRST0:SH8013' }, authInfo: { pw: { value: 'password' } }, @@ -662,7 +637,7 @@ describe 'EPP Contact', epp: true do } }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) response[:results][0][:msg].should == 'Command completed successfully' response[:results][0][:result_code].should == '1000' @@ -673,6 +648,7 @@ describe 'EPP Contact', epp: true do end it 'should not remove password' do + pending 'There should be no possibility to remove pw' xml = @epp_xml.update({ id: { value: 'FIRST0:SH8013' }, authInfo: { pw: { value: 'password' } }, @@ -681,7 +657,7 @@ describe 'EPP Contact', epp: true do } }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) response[:results][0][:msg].should == 'Command completed successfully' response[:results][0][:result_code].should == '1000' @@ -690,21 +666,26 @@ describe 'EPP Contact', epp: true do end it 'should return general policy error when removing org' do + pending 'Test says it should throw error when removing org, it does not do it when removing it with chg block' xml = @epp_xml.update({ id: { value: 'FIRST0:SH8013' }, - authInfo: { pw: { value: 'password' } }, - rem: { - postalInfo: { org: { value: 'not important' } } + chg: { + postalInfo: { + org: { value: '' } + }, + authInfo: { pw: { value: 'password' } } } }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) response[:results][0][:msg].should == 'Parameter value policy error. Org must be blank: postalInfo > org [org]' response[:results][0][:result_code].should == '2306' end it 'should return error when removing street' do + pending 'Test says it tests removing street, but actually street is not removed' + # TODO: Refactor authInfo under chg block xml = @epp_xml.update({ id: { value: 'FIRST0:SH8013' }, authInfo: { pw: { value: 'password' } }, @@ -715,7 +696,7 @@ describe 'EPP Contact', epp: true do } }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) response[:results][0][:msg].should == "Required parameter missing - name [name]" response[:results][0][:result_code].should == '2003' end @@ -736,11 +717,10 @@ describe 'EPP Contact', epp: true do end it 'fails if request is invalid' do - response = epp_plain_request(@epp_xml.delete, validate_input: false) + response = epp_plain_request(@epp_xml.delete) - response[:results][0][:msg].should == - 'Required parameter missing: delete > delete > id [id]' - response[:results][0][:result_code].should == '2003' + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}delete': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id )." + response[:results][0][:result_code].should == '2001' response[:results].count.should == 1 end @@ -832,10 +812,10 @@ describe 'EPP Contact', epp: true do end it 'fails if request is invalid' do - response = epp_plain_request(@epp_xml.check, validate_input: false) + response = epp_plain_request(@epp_xml.check) - response[:results][0][:msg].should == 'Required parameter missing: check > check > id [id]' - response[:results][0][:result_code].should == '2003' + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}check': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id )." + response[:results][0][:result_code].should == '2001' response[:results].count.should == 1 end @@ -887,10 +867,9 @@ describe 'EPP Contact', epp: true do end it 'fails if request invalid' do - response = epp_plain_request(@epp_xml.info, validate_input: false) - response[:results][0][:msg].should == - 'Required parameter missing: info > info > id [id]' - response[:results][0][:result_code].should == '2003' + response = epp_plain_request(@epp_xml.info) + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}info': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id )." + response[:results][0][:result_code].should == '2001' response[:results].count.should == 1 end @@ -1013,7 +992,7 @@ describe 'EPP Contact', epp: true do + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> FIXED:CHECK-1234 check-4321 @@ -1029,7 +1008,7 @@ describe 'EPP Contact', epp: true do + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> FIXED:CHECK-LEGACY CID:FIXED:CHECK-LEGACY diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index 6d7ab9fb5..81ba7e08a 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' describe 'EPP Domain', epp: true do before(:all) do - @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/domain-eis-1.0.xsd')) + @xsd = Nokogiri::XML::Schema(File.read('lib/schemas/domain-eis-1.0.xsd')) @epp_xml = EppXml.new(cl_trid: 'ABC-12345') @registrar1 = Fabricate(:registrar1, code: 'REGDOMAIN1') @registrar1.credit!({ sum: 10000 }) @@ -473,17 +473,17 @@ describe 'EPP Domain', epp: true do period: { value: '1', attrs: { unit: '' } } }) - response = epp_plain_request(xml, validate_input: false) - response[:results][0][:msg].should == 'Attribute is invalid: unit' - response[:results][0][:result_code].should == '2306' + response = epp_plain_request(xml) + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value '' is not an element of the set {'y', 'm', 'd'}." + response[:results][0][:result_code].should == '2001' xml = domain_create_xml({ period: { value: '1', attrs: { unit: 'bla' } } }) - response = epp_plain_request(xml, validate_input: false) - response[:results][0][:msg].should == 'Attribute is invalid: unit' - response[:results][0][:result_code].should == '2306' + response = epp_plain_request(xml) + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value 'bla' is not an element of the set {'y', 'm', 'd'}." + response[:results][0][:result_code].should == '2001' end it 'creates a domain with multiple dnskeys' do @@ -542,7 +542,6 @@ describe 'EPP Domain', epp: true do end it 'does not create a domain when dnskeys are invalid' do - xml = domain_create_xml({}, { _anonymus: [ { keyData: { @@ -571,7 +570,40 @@ describe 'EPP Domain', epp: true do ] }) - response = epp_plain_request(xml, validate_input: false) + response = epp_plain_request(xml) + + response[:results][0][:msg].should == "Element '{urn:ietf:params:xml:ns:secDNS-1.1}pubKey': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '1'." + response[:results][1][:msg].should == "Element '{urn:ietf:params:xml:ns:secDNS-1.1}pubKey': '' is not a valid value of the atomic type '{urn:ietf:params:xml:ns:secDNS-1.1}keyType'." + + xml = domain_create_xml({}, { + _anonymus: [ + { keyData: { + flags: { value: '250' }, + protocol: { value: '4' }, + alg: { value: '9' }, + pubKey: { value: 'AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8' } + } + }, + { + keyData: { + flags: { value: '1' }, + protocol: { value: '3' }, + alg: { value: '10' }, + pubKey: { value: '700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f' } + } + }, + { + keyData: { + flags: { value: '256' }, + protocol: { value: '5' }, + alg: { value: '254' }, + pubKey: { value: 'AwEAAbuFiHS4jZL7ZQKvEPBmsbceNHTVYpEVMdxz2A6YCjlZTEoAH3qK' } + } + } + ] + }) + + response = epp_plain_request(xml) response[:results][0][:msg].should == 'Valid algorithms are: 3, 5, 6, 7, 8, 252, 253, 254, 255 [alg]' @@ -589,10 +621,8 @@ describe 'EPP Domain', epp: true do response[:results][4][:msg].should == 'Valid flags are: 0, 256, 257 [flags]' response[:results][4][:value].should == '1' - response[:results][5][:msg].should == 'Public key is missing [public_key]' - - response[:results][6][:msg].should == 'Valid protocols are: 3 [protocol]' - response[:results][6][:value].should == '5' + response[:results][5][:msg].should == 'Valid protocols are: 3 [protocol]' + response[:results][5][:value].should == '5' end it 'does not create a domain with two identical dnskeys' do @@ -805,10 +835,9 @@ describe 'EPP Domain', epp: true do }] }) - response = epp_plain_request(xml, validate_input: false) - response[:msg].should == 'Mutually exclusive parameters: extension > create > keyData, '\ - 'extension > create > dsData' - response[:result_code].should == '2306' + response = epp_plain_request(xml) + response[:msg].should == "Element '{urn:ietf:params:xml:ns:secDNS-1.1}keyData': This element is not expected. Expected is ( {urn:ietf:params:xml:ns:secDNS-1.1}dsData )." + response[:result_code].should == '2001' end end @@ -1475,9 +1504,9 @@ describe 'EPP Domain', epp: true do end it 'returns an error for incorrect op attribute' do - response = epp_plain_request(domain_transfer_xml({}, 'bla'), validate_input: false) - response[:msg].should == 'Parameter value range error: op' - response[:result_code].should == '2004' + response = epp_plain_request(domain_transfer_xml({}, 'bla')) + response[:msg].should == "Element '{urn:ietf:params:xml:ns:epp-1.0}transfer', attribute 'op': [facet 'enumeration'] The value 'bla' is not an element of the set {'approve', 'cancel', 'query', 'reject', 'request'}." + response[:result_code].should == '2001' end it 'creates new pw after successful transfer' do @@ -2213,10 +2242,9 @@ describe 'EPP Domain', epp: true do ] }) - response = epp_plain_request(xml, validate_input: false) - response[:results][0][:result_code].should == '2303' - response[:results][0][:msg].should == 'Status was not found' - response[:results][0][:value].should == 'invalidStatus' + response = epp_plain_request(xml) + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}status', attribute 's': [facet 'enumeration'] The value 'invalidStatus' is not an element of the set {'clientDeleteProhibited', 'clientHold', 'clientRenewProhibited', 'clientTransferProhibited', 'clientUpdateProhibited', 'inactive', 'ok', 'pendingCreate', 'pendingDelete', 'pendingRenew', 'pendingTransfer', 'pendingUpdate', 'serverDeleteProhibited', 'serverHold', 'serverRenewProhibited', 'serverTransferProhibited', 'serverUpdateProhibited'}." + response[:results][0][:result_code].should == '2001' end ### RENEW ### @@ -2327,9 +2355,9 @@ describe 'EPP Domain', epp: true do period: { value: '1', attrs: { unit: '' } } ) - response = epp_plain_request(xml, validate_input: false) - response[:results][0][:msg].should == 'Attribute is invalid: unit' - response[:results][0][:result_code].should == '2306' + response = epp_plain_request(xml) + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value '' is not an element of the set {'y', 'm', 'd'}." + response[:results][0][:result_code].should == '2001' xml = @epp_xml.domain.renew( name: { value: domain.name }, @@ -2337,9 +2365,9 @@ describe 'EPP Domain', epp: true do period: { value: '1', attrs: { unit: 'bla' } } ) - response = epp_plain_request(xml, validate_input: false) - response[:results][0][:msg].should == 'Attribute is invalid: unit' - response[:results][0][:result_code].should == '2306' + response = epp_plain_request(xml) + response[:results][0][:msg].should == "Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value 'bla' is not an element of the set {'y', 'm', 'd'}." + response[:results][0][:result_code].should == '2001' Setting.days_to_renew_domain_before_expire = 90 end @@ -2692,9 +2720,9 @@ describe 'EPP Domain', epp: true do domain.save xml = domain_info_xml(name: { value: domain.name, attrs: { hosts: 'invalid' } }) - response = epp_plain_request(xml, validate_input: false) - response[:msg].should == 'Attribute is invalid: hosts' - response[:result_code].should == '2306' + response = epp_plain_request(xml) + response[:msg].should == "Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}name', attribute 'hosts': [facet 'enumeration'] The value 'invalid' is not an element of the set {'all', 'del', 'none', 'sub'}." + response[:result_code].should == '2001' xml = domain_info_xml(name: { value: domain.name, attrs: { hosts: 'sub' } }) response = epp_plain_request(xml) diff --git a/spec/epp/epp_helper_spec.rb b/spec/epp/epp_helper_spec.rb index 7b85a1ab1..006baf171 100644 --- a/spec/epp/epp_helper_spec.rb +++ b/spec/epp/epp_helper_spec.rb @@ -12,7 +12,7 @@ describe 'EPP Helper', epp: true do + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> ' + dn + ' 98oiewslkfkd @@ -32,7 +32,7 @@ describe 'EPP Helper', epp: true do + xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"> one.ee test diff --git a/spec/epp/poll_spec.rb b/spec/epp/poll_spec.rb index aceb22c3b..b26121aca 100644 --- a/spec/epp/poll_spec.rb +++ b/spec/epp/poll_spec.rb @@ -12,7 +12,7 @@ describe 'EPP Poll', epp: true do end before(:all) do - @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/epp-1.0.xsd')) + @xsd = Nokogiri::XML::Schema(File.read('lib/schemas/epp-1.0.xsd')) Fabricate(:api_user, username: 'registrar1', registrar: registrar1) Fabricate(:api_user, username: 'registrar2', registrar: registrar2) @@ -87,8 +87,8 @@ describe 'EPP Poll', epp: true do }) response = epp_plain_request(xml, validate_input: false) - response[:msg].should == 'Parameter value range error: op' - response[:result_code].should == '2004' + response[:msg].should == "Element '{urn:ietf:params:xml:ns:epp-1.0}poll', attribute 'op': [facet 'enumeration'] The value 'bla' is not an element of the set {'ack', 'req'}." + response[:result_code].should == '2001' end it 'dequeues multiple messages' do diff --git a/spec/epp/requests/contacts/create_with_two_addresses.xml b/spec/epp/requests/contacts/create_with_two_addresses.xml index 74ff6486d..640febf34 100644 --- a/spec/epp/requests/contacts/create_with_two_addresses.xml +++ b/spec/epp/requests/contacts/create_with_two_addresses.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> loc_int John Doe Int diff --git a/spec/epp/requests/contacts/delete.xml b/spec/epp/requests/contacts/delete.xml index 230edfb0d..004090aa2 100644 --- a/spec/epp/requests/contacts/delete.xml +++ b/spec/epp/requests/contacts/delete.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> dwa1234 diff --git a/spec/epp/requests/contacts/delete_missing_attr.xml b/spec/epp/requests/contacts/delete_missing_attr.xml index 2817bb75e..b3502252b 100644 --- a/spec/epp/requests/contacts/delete_missing_attr.xml +++ b/spec/epp/requests/contacts/delete_missing_attr.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> ABC-12345 diff --git a/spec/epp/requests/contacts/info.xml b/spec/epp/requests/contacts/info.xml index 0f0b3d657..58fb2efee 100644 --- a/spec/epp/requests/contacts/info.xml +++ b/spec/epp/requests/contacts/info.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> info-4444 2fooBAR diff --git a/spec/epp/requests/contacts/info_missing_attr.xml b/spec/epp/requests/contacts/info_missing_attr.xml index baaea80c5..1b42c56f2 100644 --- a/spec/epp/requests/contacts/info_missing_attr.xml +++ b/spec/epp/requests/contacts/info_missing_attr.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> ABC-12345 diff --git a/spec/epp/requests/contacts/update.xml b/spec/epp/requests/contacts/update.xml index 2b7e34226..3dcf17374 100644 --- a/spec/epp/requests/contacts/update.xml +++ b/spec/epp/requests/contacts/update.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> sh8013 diff --git a/spec/epp/requests/contacts/update_missing_attr.xml b/spec/epp/requests/contacts/update_missing_attr.xml index 05222ff76..74590aa25 100644 --- a/spec/epp/requests/contacts/update_missing_attr.xml +++ b/spec/epp/requests/contacts/update_missing_attr.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> ABC-12345 diff --git a/spec/epp/requests/contacts/update_with_errors.xml b/spec/epp/requests/contacts/update_with_errors.xml index d3e147c54..ac6426a21 100644 --- a/spec/epp/requests/contacts/update_with_errors.xml +++ b/spec/epp/requests/contacts/update_with_errors.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd"> sh8013 123456798 diff --git a/spec/epp/session_spec.rb b/spec/epp/session_spec.rb index d5438ad7a..44d59e25b 100644 --- a/spec/epp/session_spec.rb +++ b/spec/epp/session_spec.rb @@ -5,7 +5,7 @@ describe 'EPP Session', epp: true do @api_user = Fabricate(:gitlab_api_user) @epp_xml = EppXml.new(cl_trid: 'ABC-12345') @login_xml_cache = @epp_xml.session.login(clID: { value: 'gitlab' }, pw: { value: 'ghyt9e4fu' }) - @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/epp-1.0.xsd')) + @xsd = Nokogiri::XML::Schema(File.read('lib/schemas/epp-1.0.xsd')) end context 'when not connected' do @@ -51,7 +51,7 @@ describe 'EPP Session', epp: true do end it 'prohibits further actions unless logged in' do - @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/domain-eis-1.0.xsd')) + @xsd = Nokogiri::XML::Schema(File.read('lib/schemas/domain-eis-1.0.xsd')) response = epp_plain_request(@epp_xml.domain.info(name: { value: 'test.ee' })) response[:msg].should == 'You need to login first.' response[:result_code].should == '2002' @@ -142,8 +142,8 @@ describe 'EPP Session', epp: true do newPW: { value: '' } ), validate_input: false) - response[:msg].should == 'Password is missing [password]' - response[:result_code].should == '2306' + response[:msg].should == "Element '{urn:ietf:params:xml:ns:epp-1.0}newPW': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '6'." + response[:result_code].should == '2001' @api_user.reload @api_user.password.should == 'ghyt9e4fu' diff --git a/spec/features/registrar/contact_spec.rb b/spec/features/registrar/contact_spec.rb index 150103559..bf0ebcda4 100644 --- a/spec/features/registrar/contact_spec.rb +++ b/spec/features/registrar/contact_spec.rb @@ -45,7 +45,13 @@ feature 'Contact', type: :feature do visit '/registrar/contacts/new' current_path.should == '/registrar/contacts/new' - fill_in 'depp_contact_ident', with: 'bic-ident' + fill_in 'depp_contact_ident', with: '' + fill_in 'depp_contact_name', with: 'Business Name Ltd' + fill_in 'depp_contact_email', with: 'example@example.com' + fill_in 'depp_contact_street', with: 'Example street 12' + fill_in 'depp_contact_city', with: 'Example City' + fill_in 'depp_contact_zip', with: '123456' + fill_in 'depp_contact_phone', with: '+372.12345678' click_button 'Create' current_path.should == '/registrar/contacts' diff --git a/spec/models/api_user_spec.rb b/spec/models/api_user_spec.rb index 62dd07364..8e46d0c6e 100644 --- a/spec/models/api_user_spec.rb +++ b/spec/models/api_user_spec.rb @@ -12,6 +12,7 @@ describe ApiUser do @api_user.valid? @api_user.errors.full_messages.should match_array([ "Password Password is missing", + "Password is too short (minimum is 6 characters)", "Registrar Registrar is missing", "Username Username is missing", "Roles is missing" diff --git a/spec/support/epp.rb b/spec/support/epp.rb index 698284735..8ec87c576 100644 --- a/spec/support/epp.rb +++ b/spec/support/epp.rb @@ -67,15 +67,15 @@ module Epp def epp_plain_request(data, *args) options = args.extract_options! - validate_input = options[:validate_input] != false # true by default + # validate_input = options[:validate_input] != false # true by default validate_output = options[:validate_output] != false # true by default - if validate_input && @xsd - xml = Nokogiri::XML(data) - @xsd.validate(xml).each do |error| - fail Exception.new, error.to_s - end - end + # if validate_input && @xsd + # xml = Nokogiri::XML(data) + # @xsd.validate(xml).each do |error| + # fail Exception.new, error.to_s + # end + # end res = parse_response(server.send_request(data)) if res